]> git.sur5r.net Git - cc65/commitdiff
Removed (pretty inconsistently used) tab chars from source code base.
authorOliver Schmidt <ol.sc@web.de>
Thu, 9 May 2013 11:56:54 +0000 (13:56 +0200)
committerOliver Schmidt <ol.sc@web.de>
Thu, 9 May 2013 11:57:12 +0000 (13:57 +0200)
1773 files changed:
asminc/apple2.inc
asminc/atari.inc
asminc/c128.inc
asminc/c64.inc
asminc/cbm510.inc
asminc/cbm610.inc
asminc/ctype.inc
asminc/em-kernel.inc
asminc/errno.inc
asminc/fcntl.inc
asminc/joy-kernel.inc
asminc/modload.inc
asminc/mouse-kernel.inc
asminc/nes.inc
asminc/o65.inc
asminc/pet.inc
asminc/plus4.inc
asminc/ser-kernel.inc
asminc/smc.inc
asminc/stdio.inc
asminc/tgi-error.inc
asminc/tgi-kernel.inc
asminc/time.inc
asminc/vic20.inc
include/6502.h
include/_6522.h
include/_6525.h
include/_6526.h
include/_6545.h
include/_6551.h
include/_gtia.h
include/_heap.h
include/_mikey.h
include/_pbi.h
include/_pia.h
include/_pokey.h
include/_sid.h
include/_suzy.h
include/_ted.h
include/_vdc.h
include/_vic.h
include/ace.h
include/apple2.h
include/apple2enh.h
include/assert.h
include/atari.h
include/atmos.h
include/c128.h
include/c16.h
include/c64.h
include/cbm.h
include/cbm264.h
include/cbm510.h
include/cbm610.h
include/cc65.h
include/conio.h
include/ctype.h
include/dbg.h
include/dirent.h
include/em.h
include/em/em-kernel.h
include/errno.h
include/fcntl.h
include/geos.h
include/geos/gconst.h
include/geos/gdisk.h
include/geos/gdlgbox.h
include/geos/gfile.h
include/geos/ggraph.h
include/geos/gmemory.h
include/geos/gmenu.h
include/geos/gprocess.h
include/geos/gsprite.h
include/geos/gstruct.h
include/geos/gsym.h
include/geos/gsys.h
include/iso646.h
include/joystick.h
include/joystick/joy-kernel.h
include/limits.h
include/locale.h
include/lynx.h
include/mouse.h
include/mouse/mouse-kernel.h
include/nes.h
include/o65.h
include/pet.h
include/plus4.h
include/serial.h
include/setjmp.h
include/stdarg.h
include/stdbool.h
include/stddef.h
include/stdio.h
include/stdlib.h
include/string.h
include/supervision.h
include/sys/types.h
include/sys/utsname.h
include/tgi.h
include/tgi/tgi-error.h
include/tgi/tgi-kernel.h
include/tgi/tgi-vectorfont.h
include/time.h
include/unistd.h
include/vic20.h
libsrc/apple2/_scrsize.s
libsrc/apple2/break.s
libsrc/apple2/cclear.s
libsrc/apple2/cgetc.s
libsrc/apple2/chline.s
libsrc/apple2/close.s
libsrc/apple2/closedir.c
libsrc/apple2/clrscr.s
libsrc/apple2/color.s
libsrc/apple2/cout.s
libsrc/apple2/cputc.s
libsrc/apple2/ctype.s
libsrc/apple2/cvline.s
libsrc/apple2/devicedir.s
libsrc/apple2/dioclose.s
libsrc/apple2/diocommon.s
libsrc/apple2/dioopen.s
libsrc/apple2/dioread.s
libsrc/apple2/diosectcount.s
libsrc/apple2/diosectsize.s
libsrc/apple2/diowrite.s
libsrc/apple2/dir.h
libsrc/apple2/dosdetect.s
libsrc/apple2/emd/a2.auxmem.s
libsrc/apple2/exec.s
libsrc/apple2/exehdr.s
libsrc/apple2/extra/iobuf-0800.s
libsrc/apple2/filedes.s
libsrc/apple2/filename.s
libsrc/apple2/get_ostype.s
libsrc/apple2/gotoxy.s
libsrc/apple2/gotoy.s
libsrc/apple2/home.s
libsrc/apple2/initcwd.s
libsrc/apple2/iobuf.s
libsrc/apple2/joy/a2.stdjoy.s
libsrc/apple2/joy_stat_stddrv.s
libsrc/apple2/joy_stddrv.s
libsrc/apple2/mainargs.s
libsrc/apple2/mcbdefault.s
libsrc/apple2/mli.inc
libsrc/apple2/mli.s
libsrc/apple2/mou/a2.stdmou.s
libsrc/apple2/mouse_stat_stddrv.s
libsrc/apple2/mouse_stddrv.s
libsrc/apple2/open.s
libsrc/apple2/opendir.c
libsrc/apple2/oserrlist.s
libsrc/apple2/oserror.s
libsrc/apple2/randomize.s
libsrc/apple2/rdkey.s
libsrc/apple2/read.s
libsrc/apple2/readdir.c
libsrc/apple2/revers.s
libsrc/apple2/rewinddir.c
libsrc/apple2/rwcommon.s
libsrc/apple2/ser/a2.ssc.s
libsrc/apple2/syschdir.s
libsrc/apple2/sysmkdir.s
libsrc/apple2/sysremove.s
libsrc/apple2/sysrename.s
libsrc/apple2/sysrmdir.s
libsrc/apple2/systime.s
libsrc/apple2/targetutil/loader.cfg
libsrc/apple2/targetutil/loader.s
libsrc/apple2/textframe.s
libsrc/apple2/tgi/a2.hi.s
libsrc/apple2/tgi/a2.lo.s
libsrc/apple2/tgi_colors.s
libsrc/apple2/tgi_stat_stddrv.s
libsrc/apple2/tgi_stddrv.s
libsrc/apple2/toascii.s
libsrc/apple2/videomode.s
libsrc/apple2/vtabz.s
libsrc/apple2/wherex.s
libsrc/apple2/wherey.s
libsrc/apple2/write.s
libsrc/atari/_scrsize.s
libsrc/atari/break.s
libsrc/atari/cclear.s
libsrc/atari/cgetc.s
libsrc/atari/chline.s
libsrc/atari/clock.s
libsrc/atari/close.s
libsrc/atari/clrscr.s
libsrc/atari/color.s
libsrc/atari/cputc.s
libsrc/atari/crt0.s
libsrc/atari/ctype.s
libsrc/atari/cvline.s
libsrc/atari/dio_cts.s
libsrc/atari/dio_stc.s
libsrc/atari/diopncls.s
libsrc/atari/dioqsize.s
libsrc/atari/dioread.s
libsrc/atari/diowrite.s
libsrc/atari/diowritev.s
libsrc/atari/do_oserr.s
libsrc/atari/dosdetect.s
libsrc/atari/emd/atr130xe.s
libsrc/atari/fd.inc
libsrc/atari/fdtab.s
libsrc/atari/fdtable.s
libsrc/atari/fdtoiocb.s
libsrc/atari/getargs.s
libsrc/atari/getdefdev.s
libsrc/atari/getfd.s
libsrc/atari/gotox.s
libsrc/atari/gotoxy.s
libsrc/atari/gotoy.s
libsrc/atari/graphics.s
libsrc/atari/initcwd.s
libsrc/atari/inviocb.s
libsrc/atari/irq.s
libsrc/atari/joy/atarimj8.s
libsrc/atari/joy/ataristd.s
libsrc/atari/joy_stat_stddrv.s
libsrc/atari/joy_stddrv.s
libsrc/atari/kbhit.s
libsrc/atari/lseek.s
libsrc/atari/mul40.s
libsrc/atari/open.s
libsrc/atari/oserrlist.s
libsrc/atari/oserror.s
libsrc/atari/ostype.s
libsrc/atari/posixdirent.s
libsrc/atari/randomize.s
libsrc/atari/read.s
libsrc/atari/revers.s
libsrc/atari/rs232.s_
libsrc/atari/rwcommon.s
libsrc/atari/savevec.s
libsrc/atari/scroll.s
libsrc/atari/setcolor.s
libsrc/atari/siocall.s
libsrc/atari/syschdir.s
libsrc/atari/sysmkdir.s
libsrc/atari/sysremove.s
libsrc/atari/sysrmdir.s
libsrc/atari/systime.s
libsrc/atari/tgi/atari10.s
libsrc/atari/tgi/atari11.s
libsrc/atari/tgi/atari14.s
libsrc/atari/tgi/atari15.s
libsrc/atari/tgi/atari3.s
libsrc/atari/tgi/atari4.s
libsrc/atari/tgi/atari5.s
libsrc/atari/tgi/atari6.s
libsrc/atari/tgi/atari7.s
libsrc/atari/tgi/atari8.s
libsrc/atari/tgi/atari9.s
libsrc/atari/tgi/atari_tgi_common.inc
libsrc/atari/tgi/atr10p2.s
libsrc/atari/tgi/atr15p2.s
libsrc/atari/tgi/atr8p2.s
libsrc/atari/tgi/atr9p2.s
libsrc/atari/tgi_colors.s
libsrc/atari/tgi_stat_stddrv.s
libsrc/atari/tgi_stddrv.s
libsrc/atari/toascii.s
libsrc/atari/tvtype.s
libsrc/atari/ucase_fn.s
libsrc/atari/wherex.s
libsrc/atari/wherey.s
libsrc/atari/write.s
libsrc/atmos/_scrsize.s
libsrc/atmos/atmos_load.s
libsrc/atmos/atmos_save.s
libsrc/atmos/cclear.s
libsrc/atmos/cgetc.s
libsrc/atmos/chline.s
libsrc/atmos/clock.s
libsrc/atmos/clrscr.s
libsrc/atmos/color.s
libsrc/atmos/cputc.s
libsrc/atmos/crt0.s
libsrc/atmos/ctype.s
libsrc/atmos/cvline.s
libsrc/atmos/gotox.s
libsrc/atmos/gotoxy.s
libsrc/atmos/gotoy.s
libsrc/atmos/irq.s
libsrc/atmos/joy/atmos-pase.s
libsrc/atmos/joy_stat_stddrv.s
libsrc/atmos/joy_stddrv.s
libsrc/atmos/kbhit.s
libsrc/atmos/mainargs.s
libsrc/atmos/oserrlist.s
libsrc/atmos/oserror.s
libsrc/atmos/revers.s
libsrc/atmos/ser/atmos-acia.s
libsrc/atmos/store_filename.s
libsrc/atmos/systime.s
libsrc/atmos/sysuname.s
libsrc/atmos/tgi/atmos-228-200-3.s
libsrc/atmos/tgi/atmos-240-200-2.s
libsrc/atmos/tgi_colors.s
libsrc/atmos/tgi_stat_stddrv.s
libsrc/atmos/tgi_stddrv.s
libsrc/atmos/toascii.s
libsrc/atmos/wherex.s
libsrc/atmos/wherey.s
libsrc/atmos/write.s
libsrc/c128/_scrsize.s
libsrc/c128/break.s
libsrc/c128/c64mode.s
libsrc/c128/cgetc.s
libsrc/c128/clrscr.s
libsrc/c128/color.s
libsrc/c128/conio.s
libsrc/c128/cputc.s
libsrc/c128/crt0.s
libsrc/c128/dbgbreak.s_
libsrc/c128/devnum.s
libsrc/c128/emd/c128-georam.s
libsrc/c128/emd/c128-ram.s
libsrc/c128/emd/c128-ram2.s
libsrc/c128/emd/c128-ramcart.s
libsrc/c128/emd/c128-reu.s
libsrc/c128/emd/c128-vdc.s
libsrc/c128/fast.s
libsrc/c128/get_tv.s
libsrc/c128/irq.s
libsrc/c128/joy/c128-ptvjoy.s
libsrc/c128/joy/c128-stdjoy.s
libsrc/c128/joy_stat_stddrv.s
libsrc/c128/joy_stddrv.s
libsrc/c128/kbhit.s
libsrc/c128/kernal.s
libsrc/c128/mainargs.s
libsrc/c128/mcbdefault.s
libsrc/c128/mou/c128-1351.s
libsrc/c128/mou/c128-joy.s
libsrc/c128/mou/c128-pot.s
libsrc/c128/mouse_stat_stddrv.s
libsrc/c128/mouse_stddrv.s
libsrc/c128/randomize.s
libsrc/c128/revers.s
libsrc/c128/ser/c128-swlink.s
libsrc/c128/slow.s
libsrc/c128/status.s
libsrc/c128/systime.s
libsrc/c128/tgi/c128-vdc.s
libsrc/c128/tgi/c128-vdc2.s
libsrc/c128/tgi_colors.s
libsrc/c128/tgi_stat_stddrv.s
libsrc/c128/tgi_stddrv.s
libsrc/c128/toggle_videomode.s
libsrc/c128/videomode.s
libsrc/c16/_scrsize.s
libsrc/c16/break.s
libsrc/c16/cgetc.s
libsrc/c16/clrscr.s
libsrc/c16/color.s
libsrc/c16/conio.s
libsrc/c16/cputc.s
libsrc/c16/crt0.s
libsrc/c16/devnum.s
libsrc/c16/emd/c16-ram.s
libsrc/c16/get_tv.s
libsrc/c16/irq.s
libsrc/c16/joy/c16-stdjoy.s
libsrc/c16/joy_stat_stddrv.s
libsrc/c16/joy_stddrv.s
libsrc/c16/kbhit.s
libsrc/c16/kclose.s
libsrc/c16/kernal.s
libsrc/c16/mainargs.s
libsrc/c16/randomize.s
libsrc/c16/revers.s
libsrc/c16/status.s
libsrc/c16/systime.s
libsrc/c64/_scrsize.s
libsrc/c64/break.s
libsrc/c64/cgetc.s
libsrc/c64/clrscr.s
libsrc/c64/color.s
libsrc/c64/conio.s
libsrc/c64/cputc.s
libsrc/c64/crt0.s
libsrc/c64/devnum.s
libsrc/c64/emd/c64-c256k.s
libsrc/c64/emd/c64-dqbb.s
libsrc/c64/emd/c64-georam.s
libsrc/c64/emd/c64-isepic.s
libsrc/c64/emd/c64-ram.s
libsrc/c64/emd/c64-ramcart.s
libsrc/c64/emd/c64-reu.s
libsrc/c64/emd/c64-vdc.s
libsrc/c64/emd/dtv-himem.s
libsrc/c64/get_ostype.s
libsrc/c64/get_tv.s
libsrc/c64/irq.s
libsrc/c64/joy/c64-hitjoy.s
libsrc/c64/joy/c64-numpad.s
libsrc/c64/joy/c64-ptvjoy.s
libsrc/c64/joy/c64-stdjoy.s
libsrc/c64/joy_stat_stddrv.s
libsrc/c64/joy_stddrv.s
libsrc/c64/kbhit.s
libsrc/c64/kernal.s
libsrc/c64/mainargs.s
libsrc/c64/mcbdefault.s
libsrc/c64/mou/c64-1351.s
libsrc/c64/mou/c64-joy.s
libsrc/c64/mou/c64-pot.s
libsrc/c64/mouse_stat_stddrv.s
libsrc/c64/mouse_stddrv.s
libsrc/c64/randomize.s
libsrc/c64/revers.s
libsrc/c64/ser/c64-swlink.s
libsrc/c64/status.s
libsrc/c64/systime.s
libsrc/c64/tgi/c64-hi.s
libsrc/c64/tgi_colors.s
libsrc/c64/tgi_stat_stddrv.s
libsrc/c64/tgi_stddrv.s
libsrc/cbm/c_acptr.s
libsrc/cbm/c_basin.s
libsrc/cbm/c_bsout.s
libsrc/cbm/c_chkin.s
libsrc/cbm/c_ciout.s
libsrc/cbm/c_ckout.s
libsrc/cbm/c_clall.s
libsrc/cbm/c_close.s
libsrc/cbm/c_clrch.s
libsrc/cbm/c_getin.s
libsrc/cbm/c_iobase.s
libsrc/cbm/c_listen.s
libsrc/cbm/c_load.s
libsrc/cbm/c_open.s
libsrc/cbm/c_readst.s
libsrc/cbm/c_save.s
libsrc/cbm/c_setlfs.s
libsrc/cbm/c_setnam.s
libsrc/cbm/c_talk.s
libsrc/cbm/c_unlsn.s
libsrc/cbm/c_untlk.s
libsrc/cbm/cbm.inc
libsrc/cbm/cbm_dir.c
libsrc/cbm/cbm_open.s
libsrc/cbm/cbm_read.s
libsrc/cbm/cbm_write.s
libsrc/cbm/cclear.s
libsrc/cbm/chline.s
libsrc/cbm/clock.s
libsrc/cbm/ctype.s
libsrc/cbm/cvline.s
libsrc/cbm/dir.h
libsrc/cbm/filename.s
libsrc/cbm/gotox.s
libsrc/cbm/gotoxy.s
libsrc/cbm/gotoy.s
libsrc/cbm/initcwd.s
libsrc/cbm/open.s
libsrc/cbm/oserrlist.s
libsrc/cbm/oserror.s
libsrc/cbm/toascii.s
libsrc/cbm/wherex.s
libsrc/cbm/wherey.s
libsrc/cbm510/_scrsize.s
libsrc/cbm510/banking.s
libsrc/cbm510/break.s
libsrc/cbm510/cgetc.s
libsrc/cbm510/clrscr.s
libsrc/cbm510/color.s
libsrc/cbm510/cputc.s
libsrc/cbm510/crt0.s
libsrc/cbm510/devnum.s
libsrc/cbm510/emd/cbm510-ram.s
libsrc/cbm510/extzp.s
libsrc/cbm510/irq.s
libsrc/cbm510/joy/cbm510-std.s
libsrc/cbm510/joy_stat_stddrv.s
libsrc/cbm510/joy_stddrv.s
libsrc/cbm510/kbhit.s
libsrc/cbm510/kernal.s
libsrc/cbm510/kiobase.s
libsrc/cbm510/krdtim.s
libsrc/cbm510/kscnkey.s
libsrc/cbm510/kscreen.s
libsrc/cbm510/ksetnam.s
libsrc/cbm510/ksettim.s
libsrc/cbm510/kudtim.s
libsrc/cbm510/mainargs.s
libsrc/cbm510/peeksys.s
libsrc/cbm510/pokesys.s
libsrc/cbm510/randomize.s
libsrc/cbm510/revers.s
libsrc/cbm510/ser/cbm510-std.s
libsrc/cbm510/systime.s
libsrc/cbm610/_scrsize.s
libsrc/cbm610/banking.s
libsrc/cbm610/break.s
libsrc/cbm610/cgetc.s
libsrc/cbm610/clrscr.s
libsrc/cbm610/color.s
libsrc/cbm610/cputc.s
libsrc/cbm610/crt0.s
libsrc/cbm610/crtc.s
libsrc/cbm610/devnum.s
libsrc/cbm610/emd/cbm610-ram.s
libsrc/cbm610/extzp.s
libsrc/cbm610/get_tv.s
libsrc/cbm610/irq.s
libsrc/cbm610/kbhit.s
libsrc/cbm610/kernal.s
libsrc/cbm610/kiobase.s
libsrc/cbm610/krdtim.s
libsrc/cbm610/kscnkey.s
libsrc/cbm610/kscreen.s
libsrc/cbm610/ksetnam.s
libsrc/cbm610/ksettim.s
libsrc/cbm610/kudtim.s
libsrc/cbm610/mainargs.s
libsrc/cbm610/peeksys.s
libsrc/cbm610/pokesys.s
libsrc/cbm610/randomize.s
libsrc/cbm610/revers.s
libsrc/cbm610/ser/cbm610-std.s
libsrc/cbm610/systime.s
libsrc/common/_cwd.s
libsrc/common/_environ.s
libsrc/common/_fdesc.s
libsrc/common/_file.h
libsrc/common/_file.s
libsrc/common/_heap.s
libsrc/common/_heapadd.s
libsrc/common/_heapblocksize.s
libsrc/common/_heapmaxavail.s
libsrc/common/_heapmemavail.s
libsrc/common/_oserror.s
libsrc/common/_printf.h
libsrc/common/_printf.s
libsrc/common/_scanf.c
libsrc/common/_scanf.h
libsrc/common/_seterrno.s
libsrc/common/_swap.s
libsrc/common/_sys.s
libsrc/common/abs.s
libsrc/common/atexit.s
libsrc/common/atoi.s
libsrc/common/bsearch.c
libsrc/common/calloc.s
libsrc/common/cc65_idiv32by16r16.s
libsrc/common/cc65_udiv32by16r16.s
libsrc/common/copydata.s
libsrc/common/ctime.s
libsrc/common/divt.s
libsrc/common/errno.s
libsrc/common/fdopen.c
libsrc/common/fgetc.c
libsrc/common/fgetpos.c
libsrc/common/fgets.c
libsrc/common/fmisc.s
libsrc/common/fprintf.s
libsrc/common/fputc.c
libsrc/common/fputs.c
libsrc/common/fread.s
libsrc/common/free.s
libsrc/common/freopen.c
libsrc/common/fscanf.s
libsrc/common/fseek.c
libsrc/common/fsetpos.c
libsrc/common/ftell.c
libsrc/common/fwrite.s
libsrc/common/getchar.c
libsrc/common/getcpu.s
libsrc/common/gets.c
libsrc/common/interrupt.s
libsrc/common/isalnum.s
libsrc/common/isalpha.s
libsrc/common/isblank.s
libsrc/common/iscntrl.s
libsrc/common/isdigit.s
libsrc/common/isgraph.s
libsrc/common/islower.s
libsrc/common/isprint.s
libsrc/common/ispunct.s
libsrc/common/isspace.s
libsrc/common/isupper.s
libsrc/common/isxdigit.s
libsrc/common/itoa.s
libsrc/common/labs.s
libsrc/common/locale.c
libsrc/common/longjmp.s
libsrc/common/ltoa.s
libsrc/common/malloc.s
libsrc/common/memchr.s
libsrc/common/memcmp.s
libsrc/common/memcpy.s
libsrc/common/memmove.s
libsrc/common/memset.s
libsrc/common/mkdir.s
libsrc/common/modfree.s
libsrc/common/pmemalign.c
libsrc/common/printf.s
libsrc/common/putchar.s
libsrc/common/putenv.s
libsrc/common/puts.c
libsrc/common/qsort.c
libsrc/common/rand.s
libsrc/common/realloc.c
libsrc/common/rewind.c
libsrc/common/scanf.s
libsrc/common/searchenv.s
libsrc/common/setjmp.s
libsrc/common/signal.s
libsrc/common/snprintf.s
libsrc/common/sprintf.s
libsrc/common/sscanf.s
libsrc/common/strcat.s
libsrc/common/strchr.s
libsrc/common/strcmp.s
libsrc/common/strcoll.s
libsrc/common/strcpy.s
libsrc/common/strcspn.s
libsrc/common/strdup.s
libsrc/common/strerror.s
libsrc/common/strftime.c
libsrc/common/stricmp.s
libsrc/common/strlen.s
libsrc/common/strlower.s
libsrc/common/strncat.s
libsrc/common/strncmp.s
libsrc/common/strncpy.s
libsrc/common/strnicmp.s
libsrc/common/stroserr.s
libsrc/common/strpbrk.s
libsrc/common/strrchr.s
libsrc/common/strspn.s
libsrc/common/strstr.s
libsrc/common/strtoimax.s
libsrc/common/strtok.c
libsrc/common/strtoumax.s
libsrc/common/strupper.s
libsrc/common/time.s
libsrc/common/tolower.s
libsrc/common/toupper.s
libsrc/common/ungetc.s
libsrc/common/vfprintf.s
libsrc/common/vfscanf.s
libsrc/common/vprintf.s
libsrc/common/vscanf.s
libsrc/common/vsnprintf.s
libsrc/common/vsprintf.s
libsrc/common/vsscanf.s
libsrc/common/zerobss.s
libsrc/conio/_cursor.s
libsrc/conio/cprintf.s
libsrc/conio/cputhex.s
libsrc/conio/cputs.s
libsrc/conio/cscanf.s
libsrc/conio/cursor.s
libsrc/conio/scrsize.s
libsrc/conio/vcprintf.s
libsrc/conio/vcscanf.s
libsrc/dbg/asmtab.s
libsrc/dbg/dbg.c
libsrc/dbg/dbgdasm.s
libsrc/dbg/dbgdump.s
libsrc/dbg/dbgisram.s
libsrc/dbg/dbgsupp.s
libsrc/em/em-kernel.s
libsrc/em/em_commit.s
libsrc/em/em_copyfrom.s
libsrc/em/em_copyto.s
libsrc/em/em_map.s
libsrc/em/em_pagecount.s
libsrc/em/em_unload.s
libsrc/em/em_use.s
libsrc/geos-apple/disk/enterturbo.s
libsrc/geos-apple/disk/exitturbo.s
libsrc/geos-apple/disk/purgeturbo.s
libsrc/geos-apple/diskdrv.inc
libsrc/geos-apple/geossym.inc
libsrc/geos-apple/jumptab.inc
libsrc/geos-cbm/dio.inc
libsrc/geos-cbm/disk/changediskdevice.s
libsrc/geos-cbm/disk/chkdkgeos.s
libsrc/geos-cbm/disk/dio_cts.s
libsrc/geos-cbm/disk/dio_openclose.s
libsrc/geos-cbm/disk/dio_params.s
libsrc/geos-cbm/disk/dio_qcount.s
libsrc/geos-cbm/disk/dio_qsize.s
libsrc/geos-cbm/disk/dio_read.s
libsrc/geos-cbm/disk/dio_stc.s
libsrc/geos-cbm/disk/dio_write.s
libsrc/geos-cbm/disk/dio_writev.s
libsrc/geos-cbm/disk/enterturbo.s
libsrc/geos-cbm/disk/exitturbo.s
libsrc/geos-cbm/disk/findbambit.s
libsrc/geos-cbm/disk/newdisk.s
libsrc/geos-cbm/disk/purgeturbo.s
libsrc/geos-cbm/disk/readblock.s
libsrc/geos-cbm/disk/readbuff.s
libsrc/geos-cbm/disk/setgeosdisk.s
libsrc/geos-cbm/disk/verwriteblock.s
libsrc/geos-cbm/disk/writeblock.s
libsrc/geos-cbm/disk/writebuff.s
libsrc/geos-cbm/diskdrv.inc
libsrc/geos-cbm/emd/geos-vdc.s
libsrc/geos-cbm/file/followchain.s
libsrc/geos-cbm/geossym.inc
libsrc/geos-cbm/geossym2.inc
libsrc/geos-cbm/inputdrv.inc
libsrc/geos-cbm/joy/geos-stdjoy.s
libsrc/geos-cbm/jumptab.inc
libsrc/geos-cbm/memory/fetchram.s
libsrc/geos-cbm/memory/reuregs.s
libsrc/geos-cbm/memory/stashram.s
libsrc/geos-cbm/memory/swapram.s
libsrc/geos-cbm/memory/verifyram.s
libsrc/geos-cbm/printdrv.inc
libsrc/geos-cbm/system/get_ostype.s
libsrc/geos-cbm/system/getserialnumber.s
libsrc/geos-cbm/system/initdoneio.s
libsrc/geos-cbm/system/setdevice.s
libsrc/geos-cbm/system/tobasic.s
libsrc/geos-cbm/tgi/geos-tgi.s
libsrc/geos-common/common/_poserror.c
libsrc/geos-common/common/copydata.s
libsrc/geos-common/common/memcpy.s
libsrc/geos-common/common/memmove.s
libsrc/geos-common/common/memset.s
libsrc/geos-common/common/perror.c
libsrc/geos-common/common/sleep.c
libsrc/geos-common/common/zerobss.s
libsrc/geos-common/conio/_scrsize.s
libsrc/geos-common/conio/cclear.s
libsrc/geos-common/conio/cgetc.s
libsrc/geos-common/conio/chline.s
libsrc/geos-common/conio/clrscr.s
libsrc/geos-common/conio/cputc.s
libsrc/geos-common/conio/cvline.s
libsrc/geos-common/conio/dummies.s
libsrc/geos-common/conio/gotoxy.s
libsrc/geos-common/conio/kbhit.s
libsrc/geos-common/conio/where.s
libsrc/geos-common/const.inc
libsrc/geos-common/disk/blkalloc.s
libsrc/geos-common/disk/calcblksfree.s
libsrc/geos-common/disk/freeblock.s
libsrc/geos-common/disk/getblock.s
libsrc/geos-common/disk/getdirhead.s
libsrc/geos-common/disk/getptrcurdknm.s
libsrc/geos-common/disk/gettrse.s
libsrc/geos-common/disk/nxtblkalloc.s
libsrc/geos-common/disk/opendisk.s
libsrc/geos-common/disk/putblock.s
libsrc/geos-common/disk/putdirhead.s
libsrc/geos-common/disk/setnextfree.s
libsrc/geos-common/dlgbox/dbget2lines.s
libsrc/geos-common/dlgbox/dlgboxfileselect.s
libsrc/geos-common/dlgbox/dlgboxgetstring.s
libsrc/geos-common/dlgbox/dlgboxok.s
libsrc/geos-common/dlgbox/dlgboxokcancel.s
libsrc/geos-common/dlgbox/dlgboxyesno.s
libsrc/geos-common/dlgbox/dodlgbox.s
libsrc/geos-common/dlgbox/messagebox.c
libsrc/geos-common/dlgbox/rstrfrmdialogue.s
libsrc/geos-common/drivers/fio_module.s
libsrc/geos-common/drivers/geos-stdmou.s
libsrc/geos-common/drivers/mcbdefault.s
libsrc/geos-common/drivers/mouse_stddrv.s
libsrc/geos-common/file/appendrecord.s
libsrc/geos-common/file/closerecordfile.s
libsrc/geos-common/file/deletefile.s
libsrc/geos-common/file/deleterecord.s
libsrc/geos-common/file/findfile.s
libsrc/geos-common/file/findftypes.s
libsrc/geos-common/file/freefile.s
libsrc/geos-common/file/get1stdirentry.s
libsrc/geos-common/file/getfhdrinfo.s
libsrc/geos-common/file/getfile.s
libsrc/geos-common/file/getnxtdirentry.s
libsrc/geos-common/file/insertrecord.s
libsrc/geos-common/file/nextrecord.s
libsrc/geos-common/file/openrecordfile.s
libsrc/geos-common/file/pointrecord.s
libsrc/geos-common/file/previousrecord.s
libsrc/geos-common/file/readbyte.s
libsrc/geos-common/file/readfile.s
libsrc/geos-common/file/readrecord.s
libsrc/geos-common/file/renamefile.s
libsrc/geos-common/file/savefile.s
libsrc/geos-common/file/sysremove.s
libsrc/geos-common/file/sysrename.s
libsrc/geos-common/file/updaterecordfile.s
libsrc/geos-common/file/writerecord.s
libsrc/geos-common/geosmac.inc
libsrc/geos-common/graph/bitmapclip.s
libsrc/geos-common/graph/bitmapregs.s
libsrc/geos-common/graph/bitmapup.s
libsrc/geos-common/graph/bitotherclip.s
libsrc/geos-common/graph/drawline.s
libsrc/geos-common/graph/drawpoint.s
libsrc/geos-common/graph/framerectangle.s
libsrc/geos-common/graph/getcharwidth.s
libsrc/geos-common/graph/getintcharint.s
libsrc/geos-common/graph/graphicsstring.s
libsrc/geos-common/graph/hlineregs.s
libsrc/geos-common/graph/horizontalline.s
libsrc/geos-common/graph/imprintrectangle.s
libsrc/geos-common/graph/initdrawwindow.s
libsrc/geos-common/graph/invertline.s
libsrc/geos-common/graph/invertrectangle.s
libsrc/geos-common/graph/loadcharset.s
libsrc/geos-common/graph/pointregs.s
libsrc/geos-common/graph/put_char.s
libsrc/geos-common/graph/putdecimal.s
libsrc/geos-common/graph/putstring.s
libsrc/geos-common/graph/recoverline.s
libsrc/geos-common/graph/recoverrectangle.s
libsrc/geos-common/graph/rectangle.s
libsrc/geos-common/graph/setpattern.s
libsrc/geos-common/graph/testpoint.s
libsrc/geos-common/graph/usesystemfont.s
libsrc/geos-common/graph/verticalline.s
libsrc/geos-common/memory/clearram.s
libsrc/geos-common/memory/cmpfstring.s
libsrc/geos-common/memory/cmpstring.s
libsrc/geos-common/memory/copyfstring.s
libsrc/geos-common/memory/copystring.s
libsrc/geos-common/memory/crc.s
libsrc/geos-common/memory/doublepop.s
libsrc/geos-common/memory/doublespop.s
libsrc/geos-common/memory/fillram.s
libsrc/geos-common/memory/initram.s
libsrc/geos-common/memory/movedata.s
libsrc/geos-common/menuicon/doicons.s
libsrc/geos-common/menuicon/domenu.s
libsrc/geos-common/menuicon/dopreviousmenu.s
libsrc/geos-common/menuicon/gotofirstmenu.s
libsrc/geos-common/menuicon/recoverallmenus.s
libsrc/geos-common/menuicon/recovermenu.s
libsrc/geos-common/menuicon/redomenu.s
libsrc/geos-common/mousesprite/clearmousemode.s
libsrc/geos-common/mousesprite/disablsprite.s
libsrc/geos-common/mousesprite/drawsprite.s
libsrc/geos-common/mousesprite/enablsprite.s
libsrc/geos-common/mousesprite/getnextchar.s
libsrc/geos-common/mousesprite/inittextprompt.s
libsrc/geos-common/mousesprite/ismseinregion.s
libsrc/geos-common/mousesprite/mouseoff.s
libsrc/geos-common/mousesprite/mouseup.s
libsrc/geos-common/mousesprite/possprite.s
libsrc/geos-common/mousesprite/promptoff.s
libsrc/geos-common/mousesprite/prompton.s
libsrc/geos-common/mousesprite/startmousemode.s
libsrc/geos-common/process/processblock.s
libsrc/geos-common/process/processfreeze.s
libsrc/geos-common/process/processinitrestartenable.s
libsrc/geos-common/process/processsleep.s
libsrc/geos-common/runtime/call.s
libsrc/geos-common/system/callroutine.s
libsrc/geos-common/system/crt0.s
libsrc/geos-common/system/ctype.s
libsrc/geos-common/system/enterdesktop.s
libsrc/geos-common/system/extzp.s
libsrc/geos-common/system/firstinit.s
libsrc/geos-common/system/getrandom.s
libsrc/geos-common/system/joy_stddrv.s
libsrc/geos-common/system/mainargs.s
libsrc/geos-common/system/mainloop.s
libsrc/geos-common/system/oserrlist.s
libsrc/geos-common/system/oserror.s
libsrc/geos-common/system/panic.s
libsrc/geos-common/system/randomize.s
libsrc/geos-common/system/setoserror.s
libsrc/geos-common/system/systime.c
libsrc/geos-common/system/sysuname.s
libsrc/geos-common/system/tgi_colors.s
libsrc/geos-common/system/tgi_stddrv.s
libsrc/joystick/joy-kernel.s
libsrc/joystick/joy_count.s
libsrc/joystick/joy_read.s
libsrc/joystick/joy_unload.s
libsrc/lynx/bllhdr.s
libsrc/lynx/bootldr.s
libsrc/lynx/cgetc.s
libsrc/lynx/clock.s
libsrc/lynx/crt0.s
libsrc/lynx/ctype.s
libsrc/lynx/defdir.s
libsrc/lynx/eeprom.s
libsrc/lynx/eeprom46.s
libsrc/lynx/eeprom66.s
libsrc/lynx/eeprom86.s
libsrc/lynx/exec.s
libsrc/lynx/exehdr.s
libsrc/lynx/extzp.inc
libsrc/lynx/extzp.s
libsrc/lynx/irq.s
libsrc/lynx/joy/lynx-stdjoy.s
libsrc/lynx/joy_stat_stddrv.s
libsrc/lynx/joy_stddrv.s
libsrc/lynx/kbhit.s
libsrc/lynx/load.s
libsrc/lynx/lseek.s
libsrc/lynx/lynx-cart.s
libsrc/lynx/lynx-snd.s
libsrc/lynx/mainargs.s
libsrc/lynx/open.s
libsrc/lynx/oserror.s
libsrc/lynx/read.s
libsrc/lynx/ser/lynx-comlynx.s
libsrc/lynx/tgi/lynx-160-102-16.s
libsrc/lynx/tgi_colors.s
libsrc/lynx/tgi_stat_stddrv.s
libsrc/lynx/tgi_stddrv.s
libsrc/lynx/toascii.s
libsrc/lynx/uploader.s
libsrc/mouse/mouse-kernel.s
libsrc/mouse/mouse_hide.s
libsrc/mouse/mouse_setbox.s
libsrc/mouse/mouse_show.s
libsrc/mouse/mouse_unload.s
libsrc/nes/Makefile.inc
libsrc/nes/_scrsize.s
libsrc/nes/cclear.s
libsrc/nes/chline.s
libsrc/nes/clock.s
libsrc/nes/clrscr.s
libsrc/nes/color.s
libsrc/nes/cputc.s
libsrc/nes/crt0.s
libsrc/nes/ctype.s
libsrc/nes/cvline.s
libsrc/nes/get_tv.s
libsrc/nes/gotox.s
libsrc/nes/gotoxy.s
libsrc/nes/gotoy.s
libsrc/nes/joy/nes-stdjoy.s
libsrc/nes/joy_stat_stddrv.s
libsrc/nes/joy_stddrv.s
libsrc/nes/mainargs.s
libsrc/nes/neschar.inc
libsrc/nes/ppu.s
libsrc/nes/ppubuf.s
libsrc/nes/randomize.s
libsrc/nes/revers.s
libsrc/nes/setcursor.s
libsrc/nes/tgi/nes-64-56-2.s
libsrc/nes/tgi_colors.s
libsrc/nes/tgi_stat_stddrv.s
libsrc/nes/tgi_stddrv.s
libsrc/nes/waitvblank.s
libsrc/nes/wherex.s
libsrc/nes/wherey.s
libsrc/pet/_scrsize.s
libsrc/pet/break.s
libsrc/pet/cgetc.s
libsrc/pet/clrscr.s
libsrc/pet/color.s
libsrc/pet/conio.s
libsrc/pet/cputc.s
libsrc/pet/crt0.s
libsrc/pet/devnum.s
libsrc/pet/get_tv.s
libsrc/pet/irq.s
libsrc/pet/joy/pet-ptvjoy.s
libsrc/pet/joy/pet-stdjoy.s
libsrc/pet/joy_stat_stddrv.s
libsrc/pet/joy_stddrv.s
libsrc/pet/kbhit.s
libsrc/pet/kernal.s
libsrc/pet/mainargs.s
libsrc/pet/randomize.s
libsrc/pet/revers.s
libsrc/pet/status.s
libsrc/plus4/_scrsize.s
libsrc/plus4/break.s
libsrc/plus4/cgetc.s
libsrc/plus4/clrscr.s
libsrc/plus4/color.s
libsrc/plus4/conio.s
libsrc/plus4/cputc.s
libsrc/plus4/crt0.s
libsrc/plus4/devnum.s
libsrc/plus4/get_tv.s
libsrc/plus4/irq.s
libsrc/plus4/joy/plus4-stdjoy.s
libsrc/plus4/joy_stat_stddrv.s
libsrc/plus4/joy_stddrv.s
libsrc/plus4/kbhit.s
libsrc/plus4/kclose.s
libsrc/plus4/ksetnam.s
libsrc/plus4/mainargs.s
libsrc/plus4/randomize.s
libsrc/plus4/revers.s
libsrc/plus4/ser/plus4-stdser.s
libsrc/plus4/status.s
libsrc/plus4/systime.s
libsrc/runtime/add.s
libsrc/runtime/addeqsp.s
libsrc/runtime/addysp.s
libsrc/runtime/along.s
libsrc/runtime/and.s
libsrc/runtime/aslax1.s
libsrc/runtime/aslax2.s
libsrc/runtime/aslax3.s
libsrc/runtime/aslax4.s
libsrc/runtime/asleax1.s
libsrc/runtime/asleax2.s
libsrc/runtime/asleax3.s
libsrc/runtime/asleax4.s
libsrc/runtime/asr.s
libsrc/runtime/asrax1.s
libsrc/runtime/asrax2.s
libsrc/runtime/asrax3.s
libsrc/runtime/asrax4.s
libsrc/runtime/asreax1.s
libsrc/runtime/asreax2.s
libsrc/runtime/asreax3.s
libsrc/runtime/asreax4.s
libsrc/runtime/axlong.s
libsrc/runtime/bneg.s
libsrc/runtime/bpushbsp.s
libsrc/runtime/call.s
libsrc/runtime/callmain.s
libsrc/runtime/compl.s
libsrc/runtime/condes.s
libsrc/runtime/decax1.s
libsrc/runtime/decax2.s
libsrc/runtime/decax3.s
libsrc/runtime/decax4.s
libsrc/runtime/decax5.s
libsrc/runtime/decax6.s
libsrc/runtime/decax7.s
libsrc/runtime/decax8.s
libsrc/runtime/decaxy.s
libsrc/runtime/decsp1.s
libsrc/runtime/decsp2.s
libsrc/runtime/decsp3.s
libsrc/runtime/decsp4.s
libsrc/runtime/decsp5.s
libsrc/runtime/decsp6.s
libsrc/runtime/decsp7.s
libsrc/runtime/decsp8.s
libsrc/runtime/div.s
libsrc/runtime/enter.s
libsrc/runtime/eq.s
libsrc/runtime/ge.s
libsrc/runtime/gt.s
libsrc/runtime/icmp.s
libsrc/runtime/idiv32by16r16.s
libsrc/runtime/incax1.s
libsrc/runtime/incax2.s
libsrc/runtime/incax3.s
libsrc/runtime/incax5.s
libsrc/runtime/incax6.s
libsrc/runtime/incax7.s
libsrc/runtime/incax8.s
libsrc/runtime/incaxy.s
libsrc/runtime/incsp1.s
libsrc/runtime/incsp2.s
libsrc/runtime/incsp3.s
libsrc/runtime/incsp4.s
libsrc/runtime/incsp5.s
libsrc/runtime/incsp6.s
libsrc/runtime/incsp7.s
libsrc/runtime/incsp8.s
libsrc/runtime/jmpvec.s
libsrc/runtime/ladd.s
libsrc/runtime/laddeq.s
libsrc/runtime/laddeqsp.s
libsrc/runtime/land.s
libsrc/runtime/lasr.s
libsrc/runtime/lbneg.s
libsrc/runtime/lcmp.s
libsrc/runtime/lcompl.s
libsrc/runtime/ldai.s
libsrc/runtime/ldau0sp.s
libsrc/runtime/ldaui.s
libsrc/runtime/ldauisp.s
libsrc/runtime/ldaxi.s
libsrc/runtime/ldaxsp.s
libsrc/runtime/ldeaxi.s
libsrc/runtime/ldeaxysp.s
libsrc/runtime/ldec.s
libsrc/runtime/ldiv.s
libsrc/runtime/le.s
libsrc/runtime/leaaxsp.s
libsrc/runtime/leave.s
libsrc/runtime/leq.s
libsrc/runtime/lge.s
libsrc/runtime/lgt.s
libsrc/runtime/linc.s
libsrc/runtime/lle.s
libsrc/runtime/llt.s
libsrc/runtime/lmod.s
libsrc/runtime/lmul.s
libsrc/runtime/lne.s
libsrc/runtime/lneg.s
libsrc/runtime/lor.s
libsrc/runtime/lpop.s
libsrc/runtime/lpush.s
libsrc/runtime/lrsub.s
libsrc/runtime/lsave.s
libsrc/runtime/lshelp.s
libsrc/runtime/lshl.s
libsrc/runtime/lshr.s
libsrc/runtime/lsub.s
libsrc/runtime/lsubeq.s
libsrc/runtime/lsubeqsp.s
libsrc/runtime/lt.s
libsrc/runtime/ltest.s
libsrc/runtime/ludiv.s
libsrc/runtime/luge.s
libsrc/runtime/lugt.s
libsrc/runtime/lule.s
libsrc/runtime/lult.s
libsrc/runtime/lumod.s
libsrc/runtime/lxor.s
libsrc/runtime/makebool.s
libsrc/runtime/mod.s
libsrc/runtime/mul.s
libsrc/runtime/mul8.s
libsrc/runtime/mulax10.s
libsrc/runtime/mulax3.s
libsrc/runtime/mulax5.s
libsrc/runtime/mulax6.s
libsrc/runtime/mulax7.s
libsrc/runtime/mulax9.s
libsrc/runtime/ne.s
libsrc/runtime/neg.s
libsrc/runtime/or.s
libsrc/runtime/popa.s
libsrc/runtime/popsreg.s
libsrc/runtime/push1.s
libsrc/runtime/push2.s
libsrc/runtime/push3.s
libsrc/runtime/push4.s
libsrc/runtime/push5.s
libsrc/runtime/push6.s
libsrc/runtime/push7.s
libsrc/runtime/pusha.s
libsrc/runtime/pushaff.s
libsrc/runtime/pushax.s
libsrc/runtime/pushb.s
libsrc/runtime/pushbsp.s
libsrc/runtime/pushc0.s
libsrc/runtime/pushc1.s
libsrc/runtime/pushc2.s
libsrc/runtime/pushlysp.s
libsrc/runtime/pushw.s
libsrc/runtime/pushwsp.s
libsrc/runtime/regswap.s
libsrc/runtime/regswap1.s
libsrc/runtime/regswap2.s
libsrc/runtime/return0.s
libsrc/runtime/return1.s
libsrc/runtime/rsub.s
libsrc/runtime/shelp.s
libsrc/runtime/shr.s
libsrc/runtime/shrax1.s
libsrc/runtime/shrax2.s
libsrc/runtime/shrax3.s
libsrc/runtime/shrax4.s
libsrc/runtime/shreax1.s
libsrc/runtime/shreax2.s
libsrc/runtime/shreax3.s
libsrc/runtime/shreax4.s
libsrc/runtime/staspidx.s
libsrc/runtime/staxsp.s
libsrc/runtime/staxspi.s
libsrc/runtime/steaxsp.s
libsrc/runtime/steaxspi.s
libsrc/runtime/stkchk.s
libsrc/runtime/sub.s
libsrc/runtime/subeqsp.s
libsrc/runtime/subysp.s
libsrc/runtime/swap.s
libsrc/runtime/tosint.s
libsrc/runtime/toslong.s
libsrc/runtime/udiv.s
libsrc/runtime/udiv32by16r16.s
libsrc/runtime/uge.s
libsrc/runtime/ugt.s
libsrc/runtime/ule.s
libsrc/runtime/ult.s
libsrc/runtime/umod.s
libsrc/runtime/umul16x16r32.s
libsrc/runtime/umul8x16r24.s
libsrc/runtime/umul8x8r16.s
libsrc/runtime/xor.s
libsrc/runtime/zeropage.s
libsrc/serial/ser-kernel.s
libsrc/serial/ser_unload.s
libsrc/supervision/crt0.s
libsrc/supervision/ctype.s
libsrc/tgi/tgi-kernel.s
libsrc/tgi/tgi_init.s
libsrc/tgi/tgidrv_line.inc
libsrc/vic20/_scrsize.s
libsrc/vic20/break.s
libsrc/vic20/cgetc.s
libsrc/vic20/clrscr.s
libsrc/vic20/color.s
libsrc/vic20/conio.s
libsrc/vic20/cputc.s
libsrc/vic20/crt0.s
libsrc/vic20/devnum.s
libsrc/vic20/get_tv.s
libsrc/vic20/irq.s
libsrc/vic20/joy/vic20-ptvjoy.s
libsrc/vic20/joy/vic20-stdjoy.s
libsrc/vic20/joy_stat_stddrv.s
libsrc/vic20/joy_stddrv.s
libsrc/vic20/kbhit.s
libsrc/vic20/kernal.s
libsrc/vic20/mainargs.s
libsrc/vic20/randomize.s
libsrc/vic20/revers.s
libsrc/vic20/status.s
libsrc/zlib/adler32.s
libsrc/zlib/crc32.s
libsrc/zlib/inflatemem.s
libsrc/zlib/uncompress.c
samples/README
samples/ascii.c
samples/fire.c
samples/geos/hello1.c
samples/geos/hello2.c
samples/gunzip65.c
samples/hello.c
samples/mandelbrot.c
samples/mousedemo.c
samples/nachtm.c
samples/plasma.c
samples/sieve.c
samples/tgidemo.c
samples/tutorial/hello.c
samples/tutorial/text.s
src/ar65/add.c
src/ar65/add.h
src/ar65/del.c
src/ar65/del.h
src/ar65/error.c
src/ar65/error.h
src/ar65/exports.c
src/ar65/exports.h
src/ar65/extract.c
src/ar65/extract.h
src/ar65/fileio.c
src/ar65/fileio.h
src/ar65/global.c
src/ar65/global.h
src/ar65/library.c
src/ar65/library.h
src/ar65/list.c
src/ar65/list.h
src/ar65/main.c
src/ar65/objdata.c
src/ar65/objdata.h
src/ar65/objfile.c
src/ar65/objfile.h
src/ca65/anonname.c
src/ca65/anonname.h
src/ca65/asserts.c
src/ca65/asserts.h
src/ca65/condasm.c
src/ca65/condasm.h
src/ca65/dbginfo.c
src/ca65/dbginfo.h
src/ca65/ea.h
src/ca65/ea65.c
src/ca65/ea65.h
src/ca65/easw16.c
src/ca65/easw16.h
src/ca65/enum.c
src/ca65/enum.h
src/ca65/error.c
src/ca65/error.h
src/ca65/expr.c
src/ca65/expr.h
src/ca65/feature.c
src/ca65/feature.h
src/ca65/filetab.c
src/ca65/filetab.h
src/ca65/fragment.c
src/ca65/fragment.h
src/ca65/global.c
src/ca65/global.h
src/ca65/incpath.c
src/ca65/incpath.h
src/ca65/instr.c
src/ca65/instr.h
src/ca65/istack.c
src/ca65/istack.h
src/ca65/lineinfo.c
src/ca65/lineinfo.h
src/ca65/listing.c
src/ca65/listing.h
src/ca65/macro.c
src/ca65/macro.h
src/ca65/main.c
src/ca65/nexttok.c
src/ca65/nexttok.h
src/ca65/objcode.c
src/ca65/objcode.h
src/ca65/objfile.c
src/ca65/objfile.h
src/ca65/options.c
src/ca65/options.h
src/ca65/pseudo.c
src/ca65/pseudo.h
src/ca65/repeat.c
src/ca65/repeat.h
src/ca65/scanner.c
src/ca65/scanner.h
src/ca65/segdef.c
src/ca65/segdef.h
src/ca65/segment.c
src/ca65/segment.h
src/ca65/sizeof.c
src/ca65/sizeof.h
src/ca65/span.h
src/ca65/spool.c
src/ca65/spool.h
src/ca65/struct.c
src/ca65/struct.h
src/ca65/studyexpr.c
src/ca65/studyexpr.h
src/ca65/symbol.c
src/ca65/symbol.h
src/ca65/symentry.c
src/ca65/symentry.h
src/ca65/symtab.c
src/ca65/symtab.h
src/ca65/token.c
src/ca65/token.h
src/ca65/toklist.c
src/ca65/toklist.h
src/ca65/ulabel.c
src/ca65/ulabel.h
src/ca65html/ca65html
src/cc65/anonname.c
src/cc65/anonname.h
src/cc65/asmcode.c
src/cc65/asmcode.h
src/cc65/asmlabel.c
src/cc65/asmlabel.h
src/cc65/asmstmt.c
src/cc65/asmstmt.h
src/cc65/assignment.c
src/cc65/assignment.h
src/cc65/casenode.c
src/cc65/casenode.h
src/cc65/codeent.c
src/cc65/codeent.h
src/cc65/codegen.c
src/cc65/codegen.h
src/cc65/codeinfo.c
src/cc65/codeinfo.h
src/cc65/codelab.c
src/cc65/codelab.h
src/cc65/codeopt.c
src/cc65/codeopt.h
src/cc65/codeseg.c
src/cc65/codeseg.h
src/cc65/compile.c
src/cc65/compile.h
src/cc65/coptadd.c
src/cc65/coptadd.h
src/cc65/coptc02.c
src/cc65/coptc02.h
src/cc65/coptcmp.c
src/cc65/coptcmp.h
src/cc65/coptind.c
src/cc65/coptind.h
src/cc65/coptneg.c
src/cc65/coptneg.h
src/cc65/coptptrload.c
src/cc65/coptptrload.h
src/cc65/coptptrstore.c
src/cc65/coptptrstore.h
src/cc65/coptpush.c
src/cc65/coptpush.h
src/cc65/coptshift.c
src/cc65/coptshift.h
src/cc65/coptsize.c
src/cc65/coptsize.h
src/cc65/coptstop.c
src/cc65/coptstop.h
src/cc65/coptstore.c
src/cc65/coptstore.h
src/cc65/coptsub.c
src/cc65/coptsub.h
src/cc65/copttest.c
src/cc65/copttest.h
src/cc65/dataseg.c
src/cc65/dataseg.h
src/cc65/datatype.c
src/cc65/datatype.h
src/cc65/declare.c
src/cc65/declare.h
src/cc65/declattr.c
src/cc65/declattr.h
src/cc65/error.c
src/cc65/error.h
src/cc65/expr.c
src/cc65/expr.h
src/cc65/exprdesc.c
src/cc65/exprdesc.h
src/cc65/funcdesc.c
src/cc65/funcdesc.h
src/cc65/function.c
src/cc65/function.h
src/cc65/global.c
src/cc65/global.h
src/cc65/goto.c
src/cc65/goto.h
src/cc65/hexval.c
src/cc65/hexval.h
src/cc65/ident.c
src/cc65/ident.h
src/cc65/incpath.c
src/cc65/incpath.h
src/cc65/input.c
src/cc65/input.h
src/cc65/lineinfo.c
src/cc65/lineinfo.h
src/cc65/litpool.c
src/cc65/litpool.h
src/cc65/loadexpr.c
src/cc65/loadexpr.h
src/cc65/locals.c
src/cc65/locals.h
src/cc65/loop.c
src/cc65/loop.h
src/cc65/macrotab.c
src/cc65/macrotab.h
src/cc65/main.c
src/cc65/opcodes.c
src/cc65/opcodes.h
src/cc65/output.c
src/cc65/output.h
src/cc65/pragma.c
src/cc65/pragma.h
src/cc65/preproc.c
src/cc65/preproc.h
src/cc65/reginfo.c
src/cc65/reginfo.h
src/cc65/scanner.c
src/cc65/scanner.h
src/cc65/scanstrbuf.c
src/cc65/scanstrbuf.h
src/cc65/segments.c
src/cc65/segments.h
src/cc65/shiftexpr.c
src/cc65/shiftexpr.h
src/cc65/stackptr.c
src/cc65/stackptr.h
src/cc65/standard.c
src/cc65/standard.h
src/cc65/stdfunc.c
src/cc65/stdfunc.h
src/cc65/stdnames.c
src/cc65/stdnames.h
src/cc65/stmt.c
src/cc65/stmt.h
src/cc65/swstmt.c
src/cc65/swstmt.h
src/cc65/symentry.c
src/cc65/symentry.h
src/cc65/symtab.c
src/cc65/symtab.h
src/cc65/testexpr.c
src/cc65/testexpr.h
src/cc65/textseg.c
src/cc65/textseg.h
src/cc65/typecmp.c
src/cc65/typecmp.h
src/cc65/typeconv.c
src/cc65/typeconv.h
src/cc65/util.c
src/cc65/util.h
src/chrcvt/error.c
src/chrcvt/error.h
src/chrcvt/main.c
src/cl65/error.c
src/cl65/error.h
src/cl65/global.c
src/cl65/global.h
src/cl65/main.c
src/cl65/spawn-amiga.inc
src/cl65/spawn-unix.inc
src/cl65/spawn.h
src/co65/convert.c
src/co65/convert.h
src/co65/error.c
src/co65/error.h
src/co65/fileio.c
src/co65/fileio.h
src/co65/global.c
src/co65/global.h
src/co65/main.c
src/co65/model.c
src/co65/model.h
src/co65/o65.c
src/co65/o65.h
src/common/abend.c
src/common/abend.h
src/common/addrsize.c
src/common/addrsize.h
src/common/attrib.h
src/common/bitops.c
src/common/bitops.h
src/common/cddefs.h
src/common/chartype.c
src/common/chartype.h
src/common/check.c
src/common/check.h
src/common/cmdline.c
src/common/cmdline.h
src/common/coll.c
src/common/coll.h
src/common/cpu.c
src/common/cpu.h
src/common/debugflag.c
src/common/debugflag.h
src/common/exprdefs.c
src/common/exprdefs.h
src/common/fileid.c
src/common/fileid.h
src/common/filepos.c
src/common/filepos.h
src/common/filestat.c
src/common/filestat.h
src/common/filetime.c
src/common/filetime.h
src/common/filetype.c
src/common/filetype.h
src/common/fname.c
src/common/fname.h
src/common/fp.c
src/common/fp.h
src/common/fragdefs.h
src/common/gentype.h
src/common/hashfunc.c
src/common/hashfunc.h
src/common/hashtab.h
src/common/hlldbgsym.h
src/common/inline.h
src/common/libdefs.h
src/common/lidefs.h
src/common/matchpat.c
src/common/matchpat.h
src/common/mmodel.c
src/common/mmodel.h
src/common/objdefs.h
src/common/optdefs.h
src/common/print.c
src/common/print.h
src/common/scopedefs.h
src/common/searchpath.c
src/common/searchpath.h
src/common/segdefs.h
src/common/segnames.c
src/common/segnames.h
src/common/shift.c
src/common/shift.h
src/common/strbuf.c
src/common/strbuf.h
src/common/strutil.c
src/common/strutil.h
src/common/symdefs.h
src/common/target.c
src/common/target.h
src/common/tgttrans.c
src/common/tgttrans.h
src/common/version.c
src/common/version.h
src/common/xmalloc.c
src/common/xmalloc.h
src/common/xsprintf.c
src/common/xsprintf.h
src/da65/asminc.c
src/da65/asminc.h
src/da65/attrtab.c
src/da65/attrtab.h
src/da65/code.c
src/da65/code.h
src/da65/comments.c
src/da65/comments.h
src/da65/data.c
src/da65/data.h
src/da65/error.c
src/da65/error.h
src/da65/global.c
src/da65/global.h
src/da65/handler.c
src/da65/handler.h
src/da65/infofile.c
src/da65/infofile.h
src/da65/labels.c
src/da65/labels.h
src/da65/main.c
src/da65/opc6502.c
src/da65/opc6502.h
src/da65/opc6502x.c
src/da65/opc6502x.h
src/da65/opc65816.c
src/da65/opc65816.h
src/da65/opc65c02.c
src/da65/opc65c02.h
src/da65/opc65sc02.c
src/da65/opc65sc02.h
src/da65/opcdesc.h
src/da65/opchuc6280.c
src/da65/opchuc6280.h
src/da65/opcm740.c
src/da65/opcm740.h
src/da65/opctable.c
src/da65/opctable.h
src/da65/output.c
src/da65/output.h
src/da65/scanner.c
src/da65/scanner.h
src/da65/segment.c
src/da65/segment.h
src/dbginfo/dbginfo.c
src/dbginfo/dbginfo.h
src/ld65/asserts.c
src/ld65/asserts.h
src/ld65/bin.c
src/ld65/bin.h
src/ld65/binfmt.c
src/ld65/binfmt.h
src/ld65/cfgexpr.c
src/ld65/cfgexpr.h
src/ld65/condes.c
src/ld65/condes.h
src/ld65/config.c
src/ld65/config.h
src/ld65/dbgfile.c
src/ld65/dbgfile.h
src/ld65/dbgsyms.c
src/ld65/dbgsyms.h
src/ld65/error.c
src/ld65/error.h
src/ld65/exports.c
src/ld65/exports.h
src/ld65/expr.c
src/ld65/expr.h
src/ld65/extsyms.c
src/ld65/extsyms.h
src/ld65/fileinfo.c
src/ld65/fileinfo.h
src/ld65/fileio.c
src/ld65/fileio.h
src/ld65/filepath.c
src/ld65/filepath.h
src/ld65/fragment.c
src/ld65/fragment.h
src/ld65/global.c
src/ld65/global.h
src/ld65/library.c
src/ld65/library.h
src/ld65/lineinfo.c
src/ld65/lineinfo.h
src/ld65/main.c
src/ld65/mapfile.c
src/ld65/mapfile.h
src/ld65/memarea.c
src/ld65/memarea.h
src/ld65/o65.c
src/ld65/o65.h
src/ld65/objdata.c
src/ld65/objdata.h
src/ld65/objfile.c
src/ld65/objfile.h
src/ld65/scanner.c
src/ld65/scanner.h
src/ld65/scopes.c
src/ld65/scopes.h
src/ld65/segments.c
src/ld65/segments.h
src/ld65/span.c
src/ld65/span.h
src/ld65/spool.c
src/ld65/spool.h
src/ld65/tpool.c
src/ld65/tpool.h
src/od65/dump.c
src/od65/dump.h
src/od65/error.c
src/od65/error.h
src/od65/fileio.c
src/od65/fileio.h
src/od65/global.c
src/od65/global.h
src/od65/main.c
src/sim65/addrspace.c
src/sim65/addrspace.h
src/sim65/callback.c
src/sim65/callback.h
src/sim65/cfgdata.c
src/sim65/cfgdata.h
src/sim65/chip.c
src/sim65/chip.h
src/sim65/chipdata.h
src/sim65/chipif.h
src/sim65/chippath.c
src/sim65/chippath.h
src/sim65/chips/console.c
src/sim65/chips/ram.c
src/sim65/chips/rom.c
src/sim65/chips/stdio.c
src/sim65/chips/vic2.c
src/sim65/config.c
src/sim65/config.h
src/sim65/cpucore.c
src/sim65/cpucore.h
src/sim65/cpudata.h
src/sim65/cpus/6502.c
src/sim65/cputype.c
src/sim65/cputype.h
src/sim65/error.c
src/sim65/error.h
src/sim65/global.c
src/sim65/global.h
src/sim65/location.c
src/sim65/location.h
src/sim65/main.c
src/sim65/memory.c
src/sim65/memory.h
src/sim65/scanner.c
src/sim65/scanner.h
src/sim65/simdata.h
src/sim65/system.c
src/sim65/system.h
src/sp65/error.c
src/sp65/error.h
src/sp65/fileio.c
src/sp65/fileio.h
src/sp65/main.c
testcode/compiler/pptest1.c
testcode/compiler/pptest2.c
testcode/compiler/pptest3.c
testcode/compiler/pptest4.c
testcode/compiler/pptest5.c
testcode/grc/vlir0.s
testcode/grc/vlir1.s
testcode/grc/vlir2.s
testcode/lib/atari/defdev.c
testcode/lib/atari/scrcode.s
testcode/lib/cprintf.c
testcode/lib/cursor.c
testcode/lib/dir-test.c
testcode/lib/div-test.c
testcode/lib/em-test.c
testcode/lib/getsp.s
testcode/lib/heaptest.c
testcode/lib/joy-test.c
testcode/lib/mul-test.c
testcode/lib/rename-test.c
testcode/lib/scanf-test.c
testcode/lib/ser-test.c
testcode/lib/strchr-test.c
testcode/lib/strdup-test.c
testcode/lib/strncmp-test.c
util/atari/ataricvt.c
util/cbm/cbmcvt.c
util/zlib/deflater.c

index 3ef6a37250c6f6c2d3b20f33fd8f8799318cbca8..536a1d8512ce7718defcacced0845de36c4b70e1 100644 (file)
@@ -2,39 +2,39 @@
 ;-----------------------------------------------------------------------------
 ; Zero page stuff
 
-WNDLFT  :=      $20    ; Text window left
-WNDWDTH :=      $21    ; Text window width
-WNDTOP  :=      $22    ; Text window top
-WNDBTM  :=      $23    ; Text window bottom+1
-CH      :=      $24    ; Cursor horizontal position
-CV      :=      $25    ; Cursor vertical position
-BASL    :=      $28    ; Text base address low
-BASH    :=      $29    ; Text base address high
-INVFLG  :=      $32    ; Normal/inverse(/flash)
-PROMPT  :=      $33    ; Used by GETLN
-RNDL    :=      $4E    ; Random counter low
-RNDH    :=      $4F    ; Random counter high
-HIMEM   :=      $73    ; Highest available memory address+1
+WNDLFT  :=      $20     ; Text window left
+WNDWDTH :=      $21     ; Text window width
+WNDTOP  :=      $22     ; Text window top
+WNDBTM  :=      $23     ; Text window bottom+1
+CH      :=      $24     ; Cursor horizontal position
+CV      :=      $25     ; Cursor vertical position
+BASL    :=      $28     ; Text base address low
+BASH    :=      $29     ; Text base address high
+INVFLG  :=      $32     ; Normal/inverse(/flash)
+PROMPT  :=      $33     ; Used by GETLN
+RNDL    :=      $4E     ; Random counter low
+RNDH    :=      $4F     ; Random counter high
+HIMEM   :=      $73     ; Highest available memory address+1
 
 ;-----------------------------------------------------------------------------
 ; Vectors
 
-DOSWARM :=      $03D0  ; DOS warmstart vector
-BRKVec  :=      $03F0  ; Break vector
-SOFTEV  :=      $03F2  ; Vector for warm start
-PWREDUP :=      $03F4  ; This must be = EOR #$A5 of SOFTEV+1
+DOSWARM :=      $03D0   ; DOS warmstart vector
+BRKVec  :=      $03F0   ; Break vector
+SOFTEV  :=      $03F2   ; Vector for warm start
+PWREDUP :=      $03F4   ; This must be = EOR #$A5 of SOFTEV+1
 
 ;-----------------------------------------------------------------------------
 ; Hardware
 
 ; Keyboard input
-KBD     :=      $C000  ; Read keyboard
-KBDSTRB :=      $C010  ; Clear keyboard strobe
+KBD     :=      $C000   ; Read keyboard
+KBDSTRB :=      $C010   ; Clear keyboard strobe
 
 ; 80 column video switches
-CLR80COL:=      $C000  ; Disable 80 column store
-SET80COL:=      $C001  ; Enable 80 column store
-RD80COL        :=      $C018   ; >127 if 80 column store enabled
+CLR80COL:=      $C000   ; Disable 80 column store
+SET80COL:=      $C001   ; Enable 80 column store
+RD80COL :=      $C018   ; >127 if 80 column store enabled
 RD80VID :=      $C01F   ; >127 if 80 column video enabled
 
 ; Character set switches
@@ -43,22 +43,22 @@ SETALTCHAR :=   $C00F   ; Norm/inv LC, no flash
 ALTCHARSET :=   $C01E   ; >127 if alt charset switched in
 
 ; Language card switches
-RDLCBNK2:=     $C011   ; >127 if LC bank 2 in use
-RDLCRAM        :=      $C012   ; >127 if LC is read enabled
-ROMIN  :=      $C081   ; Swap in D000-FFFF ROM
-LCBANK2        :=      $C083   ; Swap in LC bank 2
-LCBANK1        :=      $C08B   ; Swap in LC bank 1
+RDLCBNK2:=      $C011   ; >127 if LC bank 2 in use
+RDLCRAM :=      $C012   ; >127 if LC is read enabled
+ROMIN   :=      $C081   ; Swap in D000-FFFF ROM
+LCBANK2 :=      $C083   ; Swap in LC bank 2
+LCBANK1 :=      $C08B   ; Swap in LC bank 1
 
 ; Video mode switches
-TXTCLR :=      $C050   ; Display graphics
-TXTSET :=      $C051   ; Display text
-MIXCLR  :=      $C052  ; Disable 4 lines of text
-MIXSET  :=      $C053  ; Enable 4 lines of text
-LOWSCR  :=      $C054  ; Page 1
-HISCR   :=      $C055  ; Page 2
-LORES   :=     $C056   ; Lores graphics
-HIRES   :=     $C057   ; Hires graphics
+TXTCLR  :=      $C050   ; Display graphics
+TXTSET  :=      $C051   ; Display text
+MIXCLR  :=      $C052   ; Disable 4 lines of text
+MIXSET  :=      $C053   ; Enable 4 lines of text
+LOWSCR  :=      $C054   ; Page 1
+HISCR   :=      $C055   ; Page 2
+LORES   :=      $C056   ; Lores graphics
+HIRES   :=      $C057   ; Hires graphics
 
 ; Game controller
-BUTN0   :=      $C061  ; Open-Apple Key
-BUTN1   :=      $C062  ; Closed-Apple Key
+BUTN0   :=      $C061   ; Open-Apple Key
+BUTN1   :=      $C062   ; Closed-Apple Key
index 912da1b54f1c82c8209afd7f6c55d428d2b66c44..29159a177471f47325096256e77b586ce1c6d7c3 100644 (file)
 ; - Atari XL/XE rev.2 source code, Atari 1984
 ; - Mapping the Atari - revised edition, Ian Chadwick 1985
 ;
-; ##old##      old OS rev.B label - moved or deleted
-; ##1200xl##   new label introduced in 1200XL OS (rev.10/11)
-; ##rev2##     new label introduced in XL/XE OS rev.2
+; ##old##       old OS rev.B label - moved or deleted
+; ##1200xl##    new label introduced in 1200XL OS (rev.10/11)
+; ##rev2##      new label introduced in XL/XE OS rev.2
 ;-------------------------------------------------------------------------
 
 ;-------------------------------------------------------------------------
 ; Configuration Equates
 ;-------------------------------------------------------------------------
 
-MAXDEV = 33            ;offset to last possible entry of HATABS
-IOCBSZ = 16            ;length of IOCB
+MAXDEV  = 33            ;offset to last possible entry of HATABS
+IOCBSZ  = 16            ;length of IOCB
 
-SEIOCB = 0*IOCBSZ      ;##rev2## screen editor IOCB index
-MAXIOC = 8*IOCBSZ      ;first invalid IOCB index
+SEIOCB  = 0*IOCBSZ      ;##rev2## screen editor IOCB index
+MAXIOC  = 8*IOCBSZ      ;first invalid IOCB index
 
-DSCTSZ = 128           ;##rev2## disk sector size
+DSCTSZ  = 128           ;##rev2## disk sector size
 
-LEDGE  = 2             ;left edge
-REDGE  = 39            ;right edge
+LEDGE   = 2             ;left edge
+REDGE   = 39            ;right edge
 
-INIML  = $0700         ;##rev2## initial MEMLO
+INIML   = $0700         ;##rev2## initial MEMLO
 
-ICSORG = $CC00         ;##rev2## international character set origin
-DCSORG = $E000         ;##rev2## domestic character set origin
+ICSORG  = $CC00         ;##rev2## international character set origin
+DCSORG  = $E000         ;##rev2## domestic character set origin
 
 ; IOCB Command Code Equates
 
-OPEN   = $03           ;open
-GETREC = $05           ;get record
-GETCHR = $07           ;get character(s)
-PUTREC = $09           ;put record
-PUTCHR = $0B           ;put character(s)
-CLOSE  = $0C           ;close
-STATIS = $0D           ;status
-SPECIL = $0E           ;special
+OPEN    = $03           ;open
+GETREC  = $05           ;get record
+GETCHR  = $07           ;get character(s)
+PUTREC  = $09           ;put record
+PUTCHR  = $0B           ;put character(s)
+CLOSE   = $0C           ;close
+STATIS  = $0D           ;status
+SPECIL  = $0E           ;special
 
 ; Special Entry Command Equates
 
 ; Screen Commands
 
-DRAWLN = $11           ;draw line
-FILLIN = $12           ;draw line with right fill
+DRAWLN  = $11           ;draw line
+FILLIN  = $12           ;draw line with right fill
 
 ; ICAX1 Auxiliary Byte 1 Equates
 
-APPEND = $01           ;open write append (D:)
-DIRECT = $02           ;open for directory access (D:)
-OPNIN  = $04           ;open for input (all devices)
-OPNOT  = $08           ;open for output (all devices)
-MXDMOD = $10           ;open for mixed mode (E:, S:)
-INSCLR = $20           ;open for input without clearing screen
+APPEND  = $01           ;open write append (D:)
+DIRECT  = $02           ;open for directory access (D:)
+OPNIN   = $04           ;open for input (all devices)
+OPNOT   = $08           ;open for output (all devices)
+MXDMOD  = $10           ;open for mixed mode (E:, S:)
+INSCLR  = $20           ;open for input without clearing screen
 
 ; Device Code Equates
 
-CASSET = 'C'           ;cassette
-DISK   = 'D'           ;disk
-SCREDT = 'E'           ;screen editor
-KBD    = 'K'           ;keyboard
-PRINTR = 'P'           ;printer
-DISPLY = 'S'           ;screen display
+CASSET  = 'C'           ;cassette
+DISK    = 'D'           ;disk
+SCREDT  = 'E'           ;screen editor
+KBD     = 'K'           ;keyboard
+PRINTR  = 'P'           ;printer
+DISPLY  = 'S'           ;screen display
 
 ; SIO Command Code Equates
 
-SIO_FORMAT   = $21     ;format disk (default density)
-SIO_FORMATS  = $22     ;1050: format medium density
-SIO_CONFIG   = $44     ;configure drive
-SIO_CONFIGSF = $4B     ;slow/fast configure drive??
-SIO_WRITE    = $50     ;write sector
-SIO_READ     = $52     ;read sector
-SIO_STAT     = $53     ;get status information
-SIO_VERIFY   = $56     ;verify sector 
-SIO_WRITEV   = $57     ;write sector with verify
+SIO_FORMAT   = $21      ;format disk (default density)
+SIO_FORMATS  = $22      ;1050: format medium density
+SIO_CONFIG   = $44      ;configure drive
+SIO_CONFIGSF = $4B      ;slow/fast configure drive??
+SIO_WRITE    = $50      ;write sector
+SIO_READ     = $52      ;read sector
+SIO_STAT     = $53      ;get status information
+SIO_VERIFY   = $56      ;verify sector 
+SIO_WRITEV   = $57      ;write sector with verify
 
 ; Character and Key Code Equates
 
-CLS    = $7D           ;##rev2## clear screen
-EOL    = $9B           ;end of line (RETURN)
+CLS     = $7D           ;##rev2## clear screen
+EOL     = $9B           ;end of line (RETURN)
 
-HELP   = $11           ;##1200xl## key code for HELP
-CNTLF1 = $83           ;##1200xl## key code for CTRL-F1
-CNTLF2 = $84           ;##1200xl## key code for CTRL-F2
-CNTLF3 = $93           ;##1200xl## key code for CTRL-F3
-CNTLF4 = $94           ;##1200xl## key code for CTRL-F4
-CNTL1  = $9F           ;##1200xl## key code for CTRL-1
+HELP    = $11           ;##1200xl## key code for HELP
+CNTLF1  = $83           ;##1200xl## key code for CTRL-F1
+CNTLF2  = $84           ;##1200xl## key code for CTRL-F2
+CNTLF3  = $93           ;##1200xl## key code for CTRL-F3
+CNTLF4  = $94           ;##1200xl## key code for CTRL-F4
+CNTL1   = $9F           ;##1200xl## key code for CTRL-1
 
 ; Status Code Equates
 
-SUCCES = 1             ;($01) succesful operation
-
-BRKABT = 128           ;($80) BREAK key abort
-PRVOPN = 129           ;($81) IOCB already open error
-NONDEV = 130           ;($82) nonexistent device error
-WRONLY = 131           ;($83) IOCB opened for write only error
-NVALID = 132           ;($84) invalid command error
-NOTOPN = 133           ;($85) device/file not open error
-BADIOC = 134           ;($86) invalid IOCB index error
-RDONLY = 135           ;($87) IOCB opened for read only error
-EOFERR = 136           ;($88) end of file error
-TRNRCD = 137           ;($89) truncated record error
-TIMOUT = 138           ;($8A) peripheral device timeout error
-DNACK  = 139           ;($8B) device does not acknowledge command
-FRMERR = 140           ;($8C) serial bus framing error
-CRSROR = 141           ;($8D) cursor overrange error
-OVRRUN = 142           ;($8E) serial bus data overrun error
-CHKERR = 143           ;($8F) serial bus checksum error
-DERROR = 144           ;($90) device done (operation incomplete)
-BADMOD = 145           ;($91) bad screen mode number error
-FNCNOT = 146           ;($92) function not implemented in handler
-SCRMEM = 147           ;($93) insufficient memory for screen mode
-
-DSKFMT = 148           ;($94) SpartaDOS: unrecognized disk format
-INCVER = 149           ;($95) SpartaDOS: disk was made with incompat. version
-DIRNFD = 150           ;($96) SpartaDOS: directory not found
-FEXIST = 151           ;($97) SpartaDOS: file exists
-NOTBIN = 152           ;($98) SpartaDOS: file not binary
-LSYMND = 154           ;($9A) SDX: loader symbol not defined
-BADPRM = 156           ;($9C) SDX: bad parameter
-OUTOFM = 158           ;($9E) SDX: out of memory
-INVDEV = 160           ;($A0) invalid device number
-TMOF   = 161           ;($A1) too many open files
-DSKFLL = 162           ;($A2) disk full
-FATLIO = 163           ;($A3) fatal I/O error
-FNMSMT = 164           ;($A4) internal file number mismatch
-INVFNM = 165           ;($A5) invalid file name
-PDLERR = 166           ;($A6) point data length error
-EPERM  = 167           ;($A7) permission denied
-DINVCM = 168           ;($A8) command invalid for disk
-DIRFLL = 169           ;($A9) directory full
-FNTFND = 170           ;($AA) file not found
-PNTINV = 171           ;($AB) point invalid
-BADDSK = 173           ;($AD) bad disk
-INCFMT = 176           ;($B0) DOS 3: incompatible file system
+SUCCES  = 1             ;($01) succesful operation
+
+BRKABT  = 128           ;($80) BREAK key abort
+PRVOPN  = 129           ;($81) IOCB already open error
+NONDEV  = 130           ;($82) nonexistent device error
+WRONLY  = 131           ;($83) IOCB opened for write only error
+NVALID  = 132           ;($84) invalid command error
+NOTOPN  = 133           ;($85) device/file not open error
+BADIOC  = 134           ;($86) invalid IOCB index error
+RDONLY  = 135           ;($87) IOCB opened for read only error
+EOFERR  = 136           ;($88) end of file error
+TRNRCD  = 137           ;($89) truncated record error
+TIMOUT  = 138           ;($8A) peripheral device timeout error
+DNACK   = 139           ;($8B) device does not acknowledge command
+FRMERR  = 140           ;($8C) serial bus framing error
+CRSROR  = 141           ;($8D) cursor overrange error
+OVRRUN  = 142           ;($8E) serial bus data overrun error
+CHKERR  = 143           ;($8F) serial bus checksum error
+DERROR  = 144           ;($90) device done (operation incomplete)
+BADMOD  = 145           ;($91) bad screen mode number error
+FNCNOT  = 146           ;($92) function not implemented in handler
+SCRMEM  = 147           ;($93) insufficient memory for screen mode
+
+DSKFMT  = 148           ;($94) SpartaDOS: unrecognized disk format
+INCVER  = 149           ;($95) SpartaDOS: disk was made with incompat. version
+DIRNFD  = 150           ;($96) SpartaDOS: directory not found
+FEXIST  = 151           ;($97) SpartaDOS: file exists
+NOTBIN  = 152           ;($98) SpartaDOS: file not binary
+LSYMND  = 154           ;($9A) SDX: loader symbol not defined
+BADPRM  = 156           ;($9C) SDX: bad parameter
+OUTOFM  = 158           ;($9E) SDX: out of memory
+INVDEV  = 160           ;($A0) invalid device number
+TMOF    = 161           ;($A1) too many open files
+DSKFLL  = 162           ;($A2) disk full
+FATLIO  = 163           ;($A3) fatal I/O error
+FNMSMT  = 164           ;($A4) internal file number mismatch
+INVFNM  = 165           ;($A5) invalid file name
+PDLERR  = 166           ;($A6) point data length error
+EPERM   = 167           ;($A7) permission denied
+DINVCM  = 168           ;($A8) command invalid for disk
+DIRFLL  = 169           ;($A9) directory full
+FNTFND  = 170           ;($AA) file not found
+PNTINV  = 171           ;($AB) point invalid
+BADDSK  = 173           ;($AD) bad disk
+INCFMT  = 176           ;($B0) DOS 3: incompatible file system
 
 ; DCB Device Bus Equates
 
-DISKID = $31           ;##rev2## disk bus ID
-PDEVN  = $40           ;##rev2## printer bus ID
-CASET  = $60           ;##rev2## cassette bus ID
+DISKID  = $31           ;##rev2## disk bus ID
+PDEVN   = $40           ;##rev2## printer bus ID
+CASET   = $60           ;##rev2## cassette bus ID
 
 ; Bus Command Equates
 
-FOMAT  = '!'           ;##rev2## format command
-PUTSEC = 'P'           ;##rev2## put sector command
-READ   = 'R'           ;##rev2## read command
-STATC  = 'S'           ;##rev2## status command
-WRITE  = 'W'           ;##rev2## write command
+FOMAT   = '!'           ;##rev2## format command
+PUTSEC  = 'P'           ;##rev2## put sector command
+READ    = 'R'           ;##rev2## read command
+STATC   = 'S'           ;##rev2## status command
+WRITE   = 'W'           ;##rev2## write command
 
 ; Command Auxiliary Byte Equates
 
-DOUBLE = 'D'           ;##rev2## print 20 characters double width
-NORMAL = 'N'           ;##rev2## print 40 characters normally
-PLOT   = 'P'           ;##rev2## plot
-SIDWAY = 'S'           ;##rev2## print 16 characters sideways
+DOUBLE  = 'D'           ;##rev2## print 20 characters double width
+NORMAL  = 'N'           ;##rev2## print 40 characters normally
+PLOT    = 'P'           ;##rev2## plot
+SIDWAY  = 'S'           ;##rev2## print 16 characters sideways
 
 ; Bus Response Equates
 
-ACK    = 'A'           ;##rev2## device acknowledged
-COMPLT = 'C'           ;##rev2## device succesfully completed operation
-ERROR  = 'E'           ;##rev2## device incurred error
-NACK   = 'N'           ;##rev2## device did not understand
+ACK     = 'A'           ;##rev2## device acknowledged
+COMPLT  = 'C'           ;##rev2## device succesfully completed operation
+ERROR   = 'E'           ;##rev2## device incurred error
+NACK    = 'N'           ;##rev2## device did not understand
 
 ; Floating Point Miscellaneous Equates
 
-FPREC  = 6             ;precision
+FPREC   = 6             ;precision
 
-FMPREC = FPREC-1       ;##rev2## length of mantissa
+FMPREC  = FPREC-1       ;##rev2## length of mantissa
 
 ; Cassette Record Type Equates
 
-HDR    = $FB           ;##rev2## header
-DTA    = $FC           ;##rev2## data record
-DT1    = $FA           ;##rev2## last data record
-EOT    = $FE           ;##rev2## end of tape (file)
+HDR     = $FB           ;##rev2## header
+DTA     = $FC           ;##rev2## data record
+DT1     = $FA           ;##rev2## last data record
+EOT     = $FE           ;##rev2## end of tape (file)
 
-TONE1  = 2             ;##rev2## record
-TONE2  = 1             ;##rev2## playback
+TONE1   = 2             ;##rev2## record
+TONE2   = 1             ;##rev2## playback
 
 ; Cassette Timing Equates
 
-WLEADN = 1152          ;##rev2## NTSC 19.2 second WRITE file leader
-RLEADN = 576           ;##rev2## NTSC 9.6 second READ file leader
-WIRGLN = 180           ;##rev2## NTSC 3.0 second WRITE IRG
-RIRGLN = 120           ;##rev2## NTSC 2.0 second READ IRG
-WSIRGN = 15            ;##rev2## NTSC 0.25 second WRITE short IRG
-RSIRGN = 10            ;##rev2## NTSC 0.16 second READ short IRG
-BEEPNN = 30            ;##rev2## NTSC 0.5 second beep duration
-BEEPFN = 10            ;##rev2## NTSC 0.16 seconrd beep duration
-
-WLEADP = 960           ;##rev2## PAL 19.2 second WRITE file leader
-RLEADP = 480           ;##rev2## PAL 9.6 second READ file leader
-WIRGLP = 150           ;##rev2## PAL 3.0 second WRITE IRG
-RIRGLP = 100           ;##rev2## PAL 2.0 second READ IRG
-WSIRGP = 13            ;##rev2## PAL 0.25 second WRITE short IRG
-RSIRGP = 8             ;##rev2## PAL 0.16 second READ short IRG
-BEEPNP = 25            ;##rev2## PAL 0.5 second beep duration
-BEEPFP = 8             ;##rev2## PAL 0.16 seconrd beep duration
-
-WIRGHI = 0             ;##rev2## high WRITE IRG
-RIRGHI = 0             ;##rev2## high READ IRG
+WLEADN  = 1152          ;##rev2## NTSC 19.2 second WRITE file leader
+RLEADN  = 576           ;##rev2## NTSC 9.6 second READ file leader
+WIRGLN  = 180           ;##rev2## NTSC 3.0 second WRITE IRG
+RIRGLN  = 120           ;##rev2## NTSC 2.0 second READ IRG
+WSIRGN  = 15            ;##rev2## NTSC 0.25 second WRITE short IRG
+RSIRGN  = 10            ;##rev2## NTSC 0.16 second READ short IRG
+BEEPNN  = 30            ;##rev2## NTSC 0.5 second beep duration
+BEEPFN  = 10            ;##rev2## NTSC 0.16 seconrd beep duration
+
+WLEADP  = 960           ;##rev2## PAL 19.2 second WRITE file leader
+RLEADP  = 480           ;##rev2## PAL 9.6 second READ file leader
+WIRGLP  = 150           ;##rev2## PAL 3.0 second WRITE IRG
+RIRGLP  = 100           ;##rev2## PAL 2.0 second READ IRG
+WSIRGP  = 13            ;##rev2## PAL 0.25 second WRITE short IRG
+RSIRGP  = 8             ;##rev2## PAL 0.16 second READ short IRG
+BEEPNP  = 25            ;##rev2## PAL 0.5 second beep duration
+BEEPFP  = 8             ;##rev2## PAL 0.16 seconrd beep duration
+
+WIRGHI  = 0             ;##rev2## high WRITE IRG
+RIRGHI  = 0             ;##rev2## high READ IRG
 
 ; Power-up Validation Byte Value Equates
 
-PUPVL1 = $5C           ;##rev2## power-up validation value 1
-PUPVL2 = $93           ;##rev2## power-up validation value 2
-PUPVL3 = $25           ;##rev2## power-up validation value 3
+PUPVL1  = $5C           ;##rev2## power-up validation value 1
+PUPVL2  = $93           ;##rev2## power-up validation value 2
+PUPVL3  = $25           ;##rev2## power-up validation value 3
 
 ; Relocating Loader Miscellaneous Equates
 
-DATAER = 156           ;##rev2## end of record appears before END
-MEMERR = 157           ;##rev2## memory insufficient for load error
+DATAER  = 156           ;##rev2## end of record appears before END
+MEMERR  = 157           ;##rev2## memory insufficient for load error
 
 ; Miscellaneous Equates
 
-IOCFRE = $FF           ;IOCB free indication
+IOCFRE  = $FF           ;IOCB free indication
 
-B19200 = $0028         ;##rev2## 19200 baud POKEY counter value
-B00600 = $05CC         ;##rev2## 600 baud POKEY counter value
+B19200  = $0028         ;##rev2## 19200 baud POKEY counter value
+B00600  = $05CC         ;##rev2## 600 baud POKEY counter value
 
-HITONE = $05           ;##rev2## FSK high freq. POKEY counter value
-LOTONE = $07           ;##rev2## FSK low freq. POKEY counter value
+HITONE  = $05           ;##rev2## FSK high freq. POKEY counter value
+LOTONE  = $07           ;##rev2## FSK low freq. POKEY counter value
 
-NCOMLO = $34           ;##rev2## PIA lower NOT COMMAND line command
-NCOMHI = $3C           ;##rev2## PIA raise NOT COMMAND line command
+NCOMLO  = $34           ;##rev2## PIA lower NOT COMMAND line command
+NCOMHI  = $3C           ;##rev2## PIA raise NOT COMMAND line command
 
-MOTRGO = $34           ;##rev2## PIA cassette motor ON command
-MOTRST = $3C           ;##rev2## PIA cassette motor OFF command
+MOTRGO  = $34           ;##rev2## PIA cassette motor ON command
+MOTRST  = $3C           ;##rev2## PIA cassette motor OFF command
 
-NODAT  = $00           ;##rev2## SIO immediate operation
-GETDAT = $40           ;##rev2## SIO read data frame
-PUTDAT = $80           ;##rev2## SIO write data frame
+NODAT   = $00           ;##rev2## SIO immediate operation
+GETDAT  = $40           ;##rev2## SIO read data frame
+PUTDAT  = $80           ;##rev2## SIO write data frame
 
-CRETRI = 13            ;##rev2## number of command frame retries
-DRETRI = 1             ;##rev2## number of device retries
-CTIM   = 2             ;##rev2## command frame ACK timeout
+CRETRI  = 13            ;##rev2## number of command frame retries
+DRETRI  = 1             ;##rev2## number of device retries
+CTIM    = 2             ;##rev2## command frame ACK timeout
 
-NBUFSZ = 40            ;##rev2## print normal buffer size
-DBUFSZ = 20            ;##rev2## print double buffer size
-SBUFSZ = 29            ;##rev2## print sideways buffer size
+NBUFSZ  = 40            ;##rev2## print normal buffer size
+DBUFSZ  = 20            ;##rev2## print double buffer size
+SBUFSZ  = 29            ;##rev2## print sideways buffer size
 
 ;-------------------------------------------------------------------------
 ; Page Zero Address Equates
 ;-------------------------------------------------------------------------
 
-LINZBS = $00           ;LINBUG RAM (WILL BE REPLACED BY MONITOR RAM)
-LNFLG  = $00           ;##1200xl## 1-byte LNBUG flag (0 = not LNBUG)
-NGFLAG = $01           ;##1200xl## 1-byte memory status (0 = failure)
+LINZBS  = $00           ;LINBUG RAM (WILL BE REPLACED BY MONITOR RAM)
+LNFLG   = $00           ;##1200xl## 1-byte LNBUG flag (0 = not LNBUG)
+NGFLAG  = $01           ;##1200xl## 1-byte memory status (0 = failure)
 
 ; Not Cleared
 
-CASINI = $02           ;CASSETTE INIT LOCATION
-RAMLO  = $04           ;RAM POINTER FOR MEMORY TEST
-TRAMSZ = $06           ;TEMPORARY REGISTER FOR RAM SIZE
-;TSTDAT        = $07           ;##old## RAM TEST DATA REGISTER
-CMCMD  = $07           ;##rev2## 1-byte command communications
+CASINI  = $02           ;CASSETTE INIT LOCATION
+RAMLO   = $04           ;RAM POINTER FOR MEMORY TEST
+TRAMSZ  = $06           ;TEMPORARY REGISTER FOR RAM SIZE
+;TSTDAT = $07           ;##old## RAM TEST DATA REGISTER
+CMCMD   = $07           ;##rev2## 1-byte command communications
 
 ; Cleared upon Coldstart only
 
-WARMST = $08           ;WARM START FLAG
-BOOTQ  = $09           ;SUCCESSFUL BOOT FLAG
-DOSVEC = $0A           ;DISK SOFTWARE START VECTOR
-DOSINI = $0C           ;DISK SOFTWARE INIT ADDRESS
-APPMHI = $0E           ;APPLICATIONS MEMORY HI LIMIT
+WARMST  = $08           ;WARM START FLAG
+BOOTQ   = $09           ;SUCCESSFUL BOOT FLAG
+DOSVEC  = $0A           ;DISK SOFTWARE START VECTOR
+DOSINI  = $0C           ;DISK SOFTWARE INIT ADDRESS
+APPMHI  = $0E           ;APPLICATIONS MEMORY HI LIMIT
 
 ; Cleared upon Coldstart or Warmstart
 
-INTZBS = $10           ;INTERRUPT HANDLER
-
-POKMSK = $10           ;SYSTEM MASK FOR POKEY IRG ENABLE
-BRKKEY = $11           ;BREAK KEY FLAG
-RTCLOK = $12           ;REAL TIME CLOCK (IN 16 MSEC UNITS>
-BUFADR = $15           ;INDIRECT BUFFER ADDRESS REGISTER
-ICCOMT = $17           ;COMMAND FOR VECTOR
-DSKFMS = $18           ;DISK FILE MANAGER POINTER
-DSKUTL = $1A           ;DISK UTILITIES POINTER
-ABUFPT = $1C           ;##1200xl## 4-byte ACMI buffer pointer area
-
-;PTIMOT        = $1C           ;##old## PRINTER TIME OUT REGISTER
-;PBPNT = $1D           ;##old## PRINT BUFFER POINTER
-;PBUFSZ        = $1E           ;##old## PRINT BUFFER SIZE
-;PTEMP = $1F           ;##old## TEMPORARY REGISTER
-
-ZIOCB  = $20           ;ZERO PAGE I/O CONTROL BLOCK
-IOCBAS = $20           ;16-byte page zero IOCB
-ICHIDZ = $20           ;HANDLER INDEX NUMBER (FF = IOCB FREE)
-ICDNOZ = $21           ;DEVICE NUMBER (DRIVE NUMBER)
-ICCOMZ = $22           ;COMMAND CODE
-ICSTAZ = $23           ;STATUS OF LAST IOCB ACTION
-ICBALZ = $24           ;BUFFER ADDRESS LOW BYTE
-ICBAHZ = $25           ;1-byte high buffer address
-ICPTLZ = $26           ;PUT BYTE ROUTINE ADDRESS -1
-ICPTHZ = $27           ;1-byte high PUT-BYTE routine address
-ICBLLZ = $28           ;BUFFER LENGTH LOW BYTE
-ICBLHZ = $29           ;1-byte high buffer length
-ICAX1Z = $2A           ;AUXILIARY INFORMATION FIRST BYTE
-ICAX2Z = $2B           ;1-byte second auxiliary information
-ICSPRZ = $2C           ;4-byte spares
-
-ENTVEC = $2C           ;##rev2## 2-byte (not used)
-ICIDNO = $2E           ;IOCB NUMBER X 16
-CIOCHR = $2F           ;CHARACTER BYTE FOR CURRENT OPERATION
-
-STATUS = $30           ;INTERNAL STATUS STORAGE
-CHKSUM = $31           ;CHECKSUM (SINGLE BYTE SUM WITH CARRY)
-BUFRLO = $32           ;POINTER TO DATA BUFFER (LO BYTE)
-BUFRHI = $33           ;POINTER TO DATA BUFFER (HI BYTE)
-BFENLO = $34           ;NEXT BYTE PAST END OF THE DATA BUFFER LO
-BFENHI = $35           ;NEXT BYTE PAST END OF THE DATA BUFFER HI
-;CRETRY        = $36           ;##old## NUMBER OF COMMAND FRAME RETRIES
-;DRETRY        = $37           ;##old## NUMBER OF DEVICE RETRIES
-LTEMP  = $36           ;##1200xl## 2-byte loader temporary
-BUFRFL = $38           ;DATA BUFFER FULL FLAG
-RECVDN = $39           ;RECEIVE DONE FLAG
-XMTDON = $3A           ;TRANSMISSION DONE FLAG
-CHKSNT = $3B           ;CHECKSUM SENT FLAG
-NOCKSM = $3C           ;NO CHECKSUM FOLLOWS DATA FLAG
-BPTR   = $3D           ;1-byte cassette buffer pointer
-FTYPE  = $3E           ;1-byte cassette IRG type
-FEOF   = $3F           ;1-byte cassette EOF flag (0 = quiet)
-FREQ   = $40           ;1-byte cassette beep counter
-SOUNDR = $41           ;NOISY I/0 FLAG. (ZERO IS QUIET)
-
-CRITIC = $42           ;DEFINES CRITICAL SECTION (CRITICAL IF NON-Z)
-
-FMSZPG = $43           ;DISK FILE MANAGER SYSTEM ZERO PAGE
-
-;CKEY  = $4A           ;##old## FLAG SET WHEN GAME START PRESSED
-ZCHAIN = $4A           ;##1200xl## 2-byte handler linkage chain pointer
-;CASSBT        = $4B           ;##old## CASSETTE BOOT FLAG
-DSTAT  = $4C           ;DISPLAY STATUS
-ATRACT = $4D           ;ATRACT FLAG
-DRKMSK = $4E           ;DARK ATRACT MASK
-COLRSH = $4F           ;ATRACT COLOR SHIFTER (EOR'ED WITH PLAYFIELD
-
-
-TMPCHR = $50           ;1-byte temporary character
-HOLD1  = $51           ;1-byte temporary
-LMARGN = $52           ;left margin (normally 2, cc65 C startup code sets it to 0)
-RMARGN = $53           ;right margin (normally 39 if no XEP80 is used)
-ROWCRS = $54           ;1-byte cursor row
-COLCRS = $55           ;2-byte cursor column
-DINDEX = $57           ;1-byte display mode
-SAVMSC = $58           ;2-byte saved memory scan counter
-OLDROW = $5A           ;1-byte prior row
-OLDCOL = $5B           ;2-byte prior column
-OLDCHR = $5D           ;DATA UNDER CURSOR
-OLDADR = $5E           ;2-byte saved cursor memory address
-FKDEF  = $60           ;##1200xl## 2-byte function key definition table
-;NEWROW        = $60           ;##old## POINT DRAW GOES TO
-;NEWCOL        = $61           ;##old##
-PALNTS = $62           ;##1200xl## 1-byte PAL/NTSC indicator (0 = NTSC)
-LOGCOL = $63           ;POINTS AT COLUMN IN LOGICAL LINE
-ADRESS = $64           ;2-byte temporary address
-
-MLTTMP = $66           ;1-byte temporary
-OPNTMP = $66           ;FIRST BYTE IS USED IN OPEN AS TEMP
-TOADR  = $66           ;##rev2## 2-byte destination address
-
-SAVADR = $68           ;2-byte saved address
-FRMADR = $68           ;##rev2## 2-byte source address
-
-RAMTOP = $6A           ;RAM SIZE DEFINED BY POWER ON LOGIC
-BUFCNT = $6B           ;BUFFER COUNT
-BUFSTR = $6C           ;EDITOR GETCH POINTER
-BITMSK = $6E           ;BIT MASK
-SHFAMT = $6F           ;1-byte shift amount for pixel justifucation
-ROWAC  = $70           ;2-byte draw working row
-COLAC  = $72           ;2-byte draw working column
-ENDPT  = $74           ;2-byte end point
-DELTAR = $76           ;1-byte row difference
-DELTAC = $77           ;2-byte column difference
-KEYDEF = $79           ;##1200xl## 2-byte key definition table address
-;ROWINC        = $79           ;##old##
-;COLINC        = $7A           ;##old##
-SWPFLG = $7B           ;NON-0 1F TXT AND REGULAR RAM IS SWAPPED
-HOLDCH = $7C           ;CH IS MOVED HERE IN KGETCH BEFORE CNTL & SH
-INSDAT = $7D           ;1-byte temporary
-COUNTR = $7E           ;2-byte draw iteration count
+INTZBS  = $10           ;INTERRUPT HANDLER
+
+POKMSK  = $10           ;SYSTEM MASK FOR POKEY IRG ENABLE
+BRKKEY  = $11           ;BREAK KEY FLAG
+RTCLOK  = $12           ;REAL TIME CLOCK (IN 16 MSEC UNITS>
+BUFADR  = $15           ;INDIRECT BUFFER ADDRESS REGISTER
+ICCOMT  = $17           ;COMMAND FOR VECTOR
+DSKFMS  = $18           ;DISK FILE MANAGER POINTER
+DSKUTL  = $1A           ;DISK UTILITIES POINTER
+ABUFPT  = $1C           ;##1200xl## 4-byte ACMI buffer pointer area
+
+;PTIMOT = $1C           ;##old## PRINTER TIME OUT REGISTER
+;PBPNT  = $1D           ;##old## PRINT BUFFER POINTER
+;PBUFSZ = $1E           ;##old## PRINT BUFFER SIZE
+;PTEMP  = $1F           ;##old## TEMPORARY REGISTER
+
+ZIOCB   = $20           ;ZERO PAGE I/O CONTROL BLOCK
+IOCBAS  = $20           ;16-byte page zero IOCB
+ICHIDZ  = $20           ;HANDLER INDEX NUMBER (FF = IOCB FREE)
+ICDNOZ  = $21           ;DEVICE NUMBER (DRIVE NUMBER)
+ICCOMZ  = $22           ;COMMAND CODE
+ICSTAZ  = $23           ;STATUS OF LAST IOCB ACTION
+ICBALZ  = $24           ;BUFFER ADDRESS LOW BYTE
+ICBAHZ  = $25           ;1-byte high buffer address
+ICPTLZ  = $26           ;PUT BYTE ROUTINE ADDRESS -1
+ICPTHZ  = $27           ;1-byte high PUT-BYTE routine address
+ICBLLZ  = $28           ;BUFFER LENGTH LOW BYTE
+ICBLHZ  = $29           ;1-byte high buffer length
+ICAX1Z  = $2A           ;AUXILIARY INFORMATION FIRST BYTE
+ICAX2Z  = $2B           ;1-byte second auxiliary information
+ICSPRZ  = $2C           ;4-byte spares
+
+ENTVEC  = $2C           ;##rev2## 2-byte (not used)
+ICIDNO  = $2E           ;IOCB NUMBER X 16
+CIOCHR  = $2F           ;CHARACTER BYTE FOR CURRENT OPERATION
+
+STATUS  = $30           ;INTERNAL STATUS STORAGE
+CHKSUM  = $31           ;CHECKSUM (SINGLE BYTE SUM WITH CARRY)
+BUFRLO  = $32           ;POINTER TO DATA BUFFER (LO BYTE)
+BUFRHI  = $33           ;POINTER TO DATA BUFFER (HI BYTE)
+BFENLO  = $34           ;NEXT BYTE PAST END OF THE DATA BUFFER LO
+BFENHI  = $35           ;NEXT BYTE PAST END OF THE DATA BUFFER HI
+;CRETRY = $36           ;##old## NUMBER OF COMMAND FRAME RETRIES
+;DRETRY = $37           ;##old## NUMBER OF DEVICE RETRIES
+LTEMP   = $36           ;##1200xl## 2-byte loader temporary
+BUFRFL  = $38           ;DATA BUFFER FULL FLAG
+RECVDN  = $39           ;RECEIVE DONE FLAG
+XMTDON  = $3A           ;TRANSMISSION DONE FLAG
+CHKSNT  = $3B           ;CHECKSUM SENT FLAG
+NOCKSM  = $3C           ;NO CHECKSUM FOLLOWS DATA FLAG
+BPTR    = $3D           ;1-byte cassette buffer pointer
+FTYPE   = $3E           ;1-byte cassette IRG type
+FEOF    = $3F           ;1-byte cassette EOF flag (0 = quiet)
+FREQ    = $40           ;1-byte cassette beep counter
+SOUNDR  = $41           ;NOISY I/0 FLAG. (ZERO IS QUIET)
+
+CRITIC  = $42           ;DEFINES CRITICAL SECTION (CRITICAL IF NON-Z)
+
+FMSZPG  = $43           ;DISK FILE MANAGER SYSTEM ZERO PAGE
+
+;CKEY   = $4A           ;##old## FLAG SET WHEN GAME START PRESSED
+ZCHAIN  = $4A           ;##1200xl## 2-byte handler linkage chain pointer
+;CASSBT = $4B           ;##old## CASSETTE BOOT FLAG
+DSTAT   = $4C           ;DISPLAY STATUS
+ATRACT  = $4D           ;ATRACT FLAG
+DRKMSK  = $4E           ;DARK ATRACT MASK
+COLRSH  = $4F           ;ATRACT COLOR SHIFTER (EOR'ED WITH PLAYFIELD
+
+
+TMPCHR  = $50           ;1-byte temporary character
+HOLD1   = $51           ;1-byte temporary
+LMARGN  = $52           ;left margin (normally 2, cc65 C startup code sets it to 0)
+RMARGN  = $53           ;right margin (normally 39 if no XEP80 is used)
+ROWCRS  = $54           ;1-byte cursor row
+COLCRS  = $55           ;2-byte cursor column
+DINDEX  = $57           ;1-byte display mode
+SAVMSC  = $58           ;2-byte saved memory scan counter
+OLDROW  = $5A           ;1-byte prior row
+OLDCOL  = $5B           ;2-byte prior column
+OLDCHR  = $5D           ;DATA UNDER CURSOR
+OLDADR  = $5E           ;2-byte saved cursor memory address
+FKDEF   = $60           ;##1200xl## 2-byte function key definition table
+;NEWROW = $60           ;##old## POINT DRAW GOES TO
+;NEWCOL = $61           ;##old##
+PALNTS  = $62           ;##1200xl## 1-byte PAL/NTSC indicator (0 = NTSC)
+LOGCOL  = $63           ;POINTS AT COLUMN IN LOGICAL LINE
+ADRESS  = $64           ;2-byte temporary address
+
+MLTTMP  = $66           ;1-byte temporary
+OPNTMP  = $66           ;FIRST BYTE IS USED IN OPEN AS TEMP
+TOADR   = $66           ;##rev2## 2-byte destination address
+
+SAVADR  = $68           ;2-byte saved address
+FRMADR  = $68           ;##rev2## 2-byte source address
+
+RAMTOP  = $6A           ;RAM SIZE DEFINED BY POWER ON LOGIC
+BUFCNT  = $6B           ;BUFFER COUNT
+BUFSTR  = $6C           ;EDITOR GETCH POINTER
+BITMSK  = $6E           ;BIT MASK
+SHFAMT  = $6F           ;1-byte shift amount for pixel justifucation
+ROWAC   = $70           ;2-byte draw working row
+COLAC   = $72           ;2-byte draw working column
+ENDPT   = $74           ;2-byte end point
+DELTAR  = $76           ;1-byte row difference
+DELTAC  = $77           ;2-byte column difference
+KEYDEF  = $79           ;##1200xl## 2-byte key definition table address
+;ROWINC = $79           ;##old##
+;COLINC = $7A           ;##old##
+SWPFLG  = $7B           ;NON-0 1F TXT AND REGULAR RAM IS SWAPPED
+HOLDCH  = $7C           ;CH IS MOVED HERE IN KGETCH BEFORE CNTL & SH
+INSDAT  = $7D           ;1-byte temporary
+COUNTR  = $7E           ;2-byte draw iteration count
 
 ; Floating Point Package Page Zero Address Equates
 
-FR0    = $D4           ;6-byte register 0
-FR0M   = $D5           ;##rev2## 5-byte register 0 mantissa
-QTEMP  = $D9           ;##rev2## 1-byte temporary
+FR0     = $D4           ;6-byte register 0
+FR0M    = $D5           ;##rev2## 5-byte register 0 mantissa
+QTEMP   = $D9           ;##rev2## 1-byte temporary
 
-FRE    = $DA           ;6-byte (internal) register E
+FRE     = $DA           ;6-byte (internal) register E
 
-FR1    = $E0           ;FP REG1
-FR1M   = $E1           ;##rev2## 5-byte register 1 mantissa
+FR1     = $E0           ;FP REG1
+FR1M    = $E1           ;##rev2## 5-byte register 1 mantissa
 
-FR2    = $E6           ;6-byte (internal) register 2
+FR2     = $E6           ;6-byte (internal) register 2
 
-FRX    = $EC           ;1-byte temporary
+FRX     = $EC           ;1-byte temporary
 
-EEXP   = $ED           ;VALUE OF E
+EEXP    = $ED           ;VALUE OF E
 
-FRSIGN = $EE           ;##rev2## 1-byte floating point sign
-NSIGN  = $EE           ;SIGN OF #
+FRSIGN  = $EE           ;##rev2## 1-byte floating point sign
+NSIGN   = $EE           ;SIGN OF #
 
-PLYCNT = $EF           ;##rev2## 1-byte polynomial degree
-ESIGN  = $EF           ;SIGN OF EXPONENT
+PLYCNT  = $EF           ;##rev2## 1-byte polynomial degree
+ESIGN   = $EF           ;SIGN OF EXPONENT
 
-SGNFLG = $F0           ;##rev2## 1-byte sign flag
-FCHRFLG        = $F0           ;1ST CHAR FLAG
+SGNFLG  = $F0           ;##rev2## 1-byte sign flag
+FCHRFLG = $F0           ;1ST CHAR FLAG
 
-XFMFLG = $F1           ;##rev2## 1-byte transform flag
-DIGRT  = $F1           ;# OF DIGITS RIGHT OF DECIMAL
+XFMFLG  = $F1           ;##rev2## 1-byte transform flag
+DIGRT   = $F1           ;# OF DIGITS RIGHT OF DECIMAL
 
-CIX    = $F2           ;CURRENT INPUT INDEX
-INBUFF = $F3           ;POINTS TO USER'S LINE INPUT BUFFER
+CIX     = $F2           ;CURRENT INPUT INDEX
+INBUFF  = $F3           ;POINTS TO USER'S LINE INPUT BUFFER
 
-ZTEMP1 = $F5           ;2-byte temporary
-ZTEMP4 = $F7           ;2-byte temporary
-ZTEMP3 = $F9           ;2-byte temporary
+ZTEMP1  = $F5           ;2-byte temporary
+ZTEMP4  = $F7           ;2-byte temporary
+ZTEMP3  = $F9           ;2-byte temporary
 
-;DEGFLG        = $FB           ;##old## same as RADFLG
-;RADFLG        = $FB           ;##old## 0=RADIANS, 6=DEGREES
+;DEGFLG = $FB           ;##old## same as RADFLG
+;RADFLG = $FB           ;##old## 0=RADIANS, 6=DEGREES
 
-FLPTR  = $FC           ;2-byte floating point number pointer
-FPTR2  = $FE           ;2-byte floating point number pointer
+FLPTR   = $FC           ;2-byte floating point number pointer
+FPTR2   = $FE           ;2-byte floating point number pointer
 
 ;-------------------------------------------------------------------------
 ; Page Two Address Equates
 ;-------------------------------------------------------------------------
 
-INTABS = $0200         ;INTERRUPT RAM
-
-VDSLST = $0200         ;DISPLAY LIST NMI VECTOR
-VPRCED = $0202         ;PROCEED LINE IRQ VECTOR
-VINTER = $0204         ;INTERRUPT LINE IRQ VECTOR
-VBREAK = $0206         ;SOFTWARE BREAK (00) INSTRUCTION IRQ VECTOR
-VKEYBD = $0208         ;POKEY KEYBOARD IRQ VECTOR
-VSERIN = $020A         ;POKEY SERIAL INPUT READY IRQ
-VSEROR = $020C         ;POKEY SERIAL OUTPUT READY IRQ
-VSEROC = $020E         ;POKEY SERIAL OUTPUT COMPLETE IRQ
-VTIMR1 = $0210         ;POKEY TIMER 1 IRG
-VTIMR2 = $0212         ;POKEY TIMER 2 IRG
-VTIMR4 = $0214         ;POKEY TIMER 4 IRG
-VIMIRQ = $0216         ;IMMEDIATE IRG VECTOR
-CDTMV1 = $0218         ;COUNT DOWN TIMER 1
-CDTMV2 = $021A         ;COUNT DOWN TIMER 2
-CDTMV3 = $021C         ;COUNT DOWN TIMER 3
-CDTMV4 = $021E         ;COUNT DOWN TIMER 4
-CDTMV5 = $0220         ;COUNT DOWN TIMER 5
-VVBLKI = $0222         ;IMMEDIATE VERTICAL BLANK NMI VECTOR
-VVBLKD = $0224         ;DEFERRED VERTICAL BLANK NMI VECTOR
-CDTMA1 = $0226         ;COUNT DOWN TIMER 1 JSR ADDRESS
-CDTMA2 = $0228         ;COUNT DOWN TIMER 2 JSR ADDRESS
-CDTMF3 = $022A         ;COUNT DOWN TIMER 3 FLAG
-SRTIMR = $022B         ;SOFTWARE REPEAT TIMER
-CDTMF4 = $022C         ;COUNT DOWN TIMER 4 FLAG
-INTEMP = $022D         ;IAN'S TEMP
-CDTMF5 = $022E         ;COUNT DOWN TIMER FLAG 5
-SDMCTL = $022F         ;SAVE DMACTL REGISTER
-SDLSTL = $0230         ;SAVE DISPLAY LIST LOW BYTE
-SDLSTH = $0231         ;SAVE DISPLAY LIST HI BYTE
-SSKCTL = $0232         ;SKCTL REGISTER RAM
-LCOUNT = $0233         ;##1200xl## 1-byte relocating loader record
-LPENH  = $0234         ;LIGHT PEN HORIZONTAL VALUE
-LPENV  = $0235         ;LIGHT PEN VERTICAL VALUE
-BRKKY  = $0236         ;BREAK KEY VECTOR
-;RELADR        = $0238         ;##1200xl## 2-byte relocatable loader address
-VPIRQ  = $0238         ;##rev2## 2-byte parallel device IRQ vector
-CDEVIC = $023A         ;COMMAND FRAME BUFFER - DEVICE
-CCOMND = $023B         ;COMMAND
-CAUX1  = $023C         ;COMMAND AUX BYTE 1
-CAUX2  = $023D         ;COMMAND AUX BYTE 2
-
-TEMP   = $023E         ;TEMPORARY RAM CELL
-
-ERRFLG = $023F         ;ERROR FLAG - ANY DEVICE ERROR EXCEPT TIME OUT
-
-DFLAGS = $0240         ;DISK FLAGS FROM SECTOR ONE
-DBSECT = $0241         ;NUMBER OF DISK BOOT SECTORS
-BOOTAD = $0242         ;ADDRESS WHERE DISK BOOT LOADER WILL BE PUT
-COLDST = $0244         ;COLDSTART FLAG (1=IN MIDDLE OF COLDSTART>
-RECLEN = $0245         ;##1200xl## 1-byte relocating loader record length
-DSKTIM = $0246         ;DISK TIME OUT REGISTER
-;LINBUF        = $0247         ;##old## CHAR LINE BUFFER
-PDVMSK = $0247         ;##rev2## 1-byte parallel device selection mask
-SHPDVS = $0248         ;##rev2## 1-byte PDVS (parallel device select)
-PDIMSK = $0249         ;##rev2## 1-byte parallel device IRQ selection
-RELADR = $024A         ;##rev2## 2-byte relocating loader relative adr.
-PPTMPA = $024C         ;##rev2## 1-byte parallel device handler temporary
-PPTMPX = $024D         ;##rev2## 1-byte parallel device handler temporary
-
-CHSALT = $026B         ;##1200xl## 1-byte character set alternate
-VSFLAG = $026C         ;##1200xl## 1-byte fine vertical scroll count
-KEYDIS = $026D         ;##1200xl## 1-byte keyboard disable
-FINE   = $026E         ;##1200xl## 1-byte fine scrolling mode
-GPRIOR = $026F         ;GLOBAL PRIORITY CELL
-
-PADDL0 = $0270         ;1-byte potentiometer 0
-PADDL1 = $0271         ;1-byte potentiometer 1
-PADDL2 = $0272         ;1-byte potentiometer 2
-PADDL3 = $0273         ;1-byte potentiometer 3
-PADDL4 = $0274         ;1-byte potentiometer 4
-PADDL5 = $0275         ;1-byte potentiometer 5
-PADDL6 = $0276         ;1-byte potentiometer 6
-PADDL7 = $0277         ;1-byte potentiometer 7
-
-STICK0 = $0278         ;1-byte joystick 0
-STICK1 = $0279         ;1-byte joystick 1
-STICK2 = $027A         ;1-byte joystick 2
-STICK3 = $027B         ;1-byte joystick 3
-
-PTRIG0 = $027C         ;1-byte paddle trigger 0
-PTRIG1 = $027D         ;1-byte paddle trigger 1
-PTRIG2 = $027E         ;1-byte paddle trigger 2
-PTRIG3 = $027F         ;1-byte paddle trigger 3
-PTRIG4 = $0280         ;1-byte paddle trigger 4
-PTRIG5 = $0281         ;1-byte paddle trigger 5
-PTRIG6 = $0281         ;1-byte paddle trigger 6
-PTRIG7 = $0283         ;1-byte paddle trigger 7
-
-STRIG0 = $0284         ;1-byte joystick trigger 0
-STRIG1 = $0285         ;1-byte joystick trigger 1
-STRIG2 = $0286         ;1-byte joystick trigger 2
-STRIG3 = $0287         ;1-byte joystick trigger 3
-
-;CSTAT = $0288         ;##old## cassette status register
-HIBYTE = $0288         ;##1200xl## 1-byte relocating loader high byte
-WMODE  = $0289         ;1-byte cassette WRITE mode
-BLIM   = $028A         ;1-byte cassette buffer limit
-IMASK  = $028B         ;##rev2## (not used)
-JVECK  = $028C         ;2-byte jump vector or temporary
-NEWADR = $028E         ;##1200xl## 2-byte relocating address
-TXTROW = $0290         ;TEXT ROWCRS
-TXTCOL = $0291         ;TEXT COLCRS
-TINDEX = $0293         ;TEXT INDEX
-TXTMSC = $0294         ;FOOLS CONVRT INTO NEW MSC
-TXTOLD = $0296         ;OLDROW & OLDCOL FOR TEXT (AND THEN SOME)
-;TMPX1 = $029C         ;##old## 1-byte temporary register
-CRETRY = $029C         ;##1200xl## 1-byte number of command frame retries
-HOLD3  = $029D         ;1-byte temporary
-SUBTMP = $029E         ;1-byte temporary
-HOLD2  = $029F         ;1-byte (not used)
-DMASK  = $02A0         ;1-byte display (pixel location) mask
-TMPLBT = $02A1         ;1-byte (not used)
-ESCFLG = $02A2         ;ESCAPE FLAG
-TABMAP = $02A3         ;15-byte (120 bit) tab stop bit map
-LOGMAP = $02B2         ;LOGICAL LINE START BIT MAP
-INVFLG = $02B6         ;INVERSE VIDEO FLAG (TOGGLED BY ATARI KEY)
-FILFLG = $02B7         ;RIGHT FILL FLAG FOR DRAW
-TMPROW = $02B8         ;1-byte temporary row
-TMPCOL = $02B9         ;2-byte temporary column
-SCRFLG = $02BB         ;SET IF SCROLL OCCURS
-HOLD4  = $02BC         ;TEMP CELL USED IN DRAW ONLY
-;HOLD5 = $02BD         ;##old## DITTO
-DRETRY = $02BD         ;##1200xl## 1-byte number of device retries
-SHFLOK = $02BE         ;1-byte shift/control lock flags
-BOTSCR = $02BF         ;BOTTOM OF SCREEN   24 NORM 4 SPLIT
-
-PCOLR0 = $02C0         ;1-byte player-missile 0 color/luminance
-PCOLR1 = $02C1         ;1-byte player-missile 1 color/luminance
-PCOLR2 = $02C2         ;1-byte player-missile 2 color/luminance
-PCOLR3 = $02C3         ;1-byte player-missile 3 color/luminance
-
-COLOR0 = $02C4         ;1-byte playfield 0 color/luminance
-COLOR1 = $02C5         ;1-byte playfield 1 color/luminance
-COLOR2 = $02C6         ;1-byte playfield 2 color/luminance
-COLOR3 = $02C7         ;1-byte playfield 3 color/luminance
-
-COLOR4 = $02C8         ;1-byte background color/luminance
-
-PARMBL = $02C9         ;##rev2## 6-byte relocating loader parameter
-RUNADR = $02C9         ;##1200xl## 2-byte run address
-HIUSED = $02CB         ;##1200xl## 2-byte highest non-zero page address
-ZHIUSE = $02CD         ;##1200xl## 2-byte highest zero page address
-
-OLDPAR = $02CF         ;##rev2## 6-byte relocating loader parameter
-GBYTEA = $02CF         ;##1200xl## 2-byte GET-BYTE routine address
-LOADAD = $02D1         ;##1200xl## 2-byte non-zero page load address
-ZLOADA = $02D3         ;##1200xl## 2-byte zero page load address
-
-DSCTLN = $02D5         ;##1200xl## 2-byte disk sector length
-ACMISR = $02D7         ;##1200xl## 2-byte ACMI interrupt service routine
-KRPDEL = $02D9         ;##1200xl## 1-byte auto-repeat delay
-KEYREP = $02DA         ;##1200xl## 1-byte auto-repeat rate
-NOCLIK = $02DB         ;##1200xl## 1-byte key click disable
-HELPFG = $02DC         ;##1200xl## 1-byte HELP key flag (0 = no HELP)
-DMASAV = $02DD         ;##1200xl## 1-byte SDMCTL save/restore
-PBPNT  = $02DE         ;##1200xl## 1-byte printer buffer pointer
-PBUFSZ = $02DF         ;##1200xl## 1-byte printer buffer size
-
-GLBABS = $02E0         ;4-byte global variables for non-DOS users
-RUNAD  = $02E0         ;##map## 2-byte binary file run address
-INITAD = $02E2         ;##map## 2-byte binary file initialization address
-
-RAMSIZ = $02E4         ;RAM SIZE (HI BYTE ONLY)
-MEMTOP = $02E5         ;TOP OF AVAILABLE USER MEMORY
-MEMLO  = $02E7         ;BOTTOM OF AVAILABLE USER MEMORY
-HNDLOD = $02E9         ;##1200xl## 1-byte user load flag
-DVSTAT = $02EA         ;STATUS BUFFER
-CBAUDL = $02EE         ;1-byte low cassette baud rate
-CBAUDH = $02EF         ;1-byte high cassette baud rate
-CRSINH = $02F0         ;CURSOR INHIBIT (00 = CURSOR ON)
-KEYDEL = $02F1         ;KEY DELAY
-CH1    = $02F2         ;1-byte prior keyboard character
-CHACT  = $02F3         ;CHACTL REGISTER RAM
-CHBAS  = $02F4         ;CHBAS REGISTER RAM
-
-NEWROW = $02F5         ;##1200xl## 1-byte draw destination row
-NEWCOL = $02F6         ;##1200xl## 2-byte draw destination column
-ROWINC = $02F8         ;##1200xl## 1-byte draw row increment
-COLINC = $02F9         ;##1200xl## 1-byte draw column increment
-
-CHAR   = $02FA         ;1-byte internal character
-ATACHR = $02FB         ;ATASCII CHARACTER
-CH     = $02FC         ;GLOBAL VARIABLE FOR KEYBOARD
-FILDAT = $02FD         ;RIGHT FILL DATA <DRAW>
-DSPFLG = $02FE         ;DISPLAY FLAG   DISPLAY CNTLS IF NON-ZERO
-SSFLAG = $02FF         ;START/STOP FLAG FOR PAGING (CNTL 1). CLEARE
+INTABS  = $0200         ;INTERRUPT RAM
+
+VDSLST  = $0200         ;DISPLAY LIST NMI VECTOR
+VPRCED  = $0202         ;PROCEED LINE IRQ VECTOR
+VINTER  = $0204         ;INTERRUPT LINE IRQ VECTOR
+VBREAK  = $0206         ;SOFTWARE BREAK (00) INSTRUCTION IRQ VECTOR
+VKEYBD  = $0208         ;POKEY KEYBOARD IRQ VECTOR
+VSERIN  = $020A         ;POKEY SERIAL INPUT READY IRQ
+VSEROR  = $020C         ;POKEY SERIAL OUTPUT READY IRQ
+VSEROC  = $020E         ;POKEY SERIAL OUTPUT COMPLETE IRQ
+VTIMR1  = $0210         ;POKEY TIMER 1 IRG
+VTIMR2  = $0212         ;POKEY TIMER 2 IRG
+VTIMR4  = $0214         ;POKEY TIMER 4 IRG
+VIMIRQ  = $0216         ;IMMEDIATE IRG VECTOR
+CDTMV1  = $0218         ;COUNT DOWN TIMER 1
+CDTMV2  = $021A         ;COUNT DOWN TIMER 2
+CDTMV3  = $021C         ;COUNT DOWN TIMER 3
+CDTMV4  = $021E         ;COUNT DOWN TIMER 4
+CDTMV5  = $0220         ;COUNT DOWN TIMER 5
+VVBLKI  = $0222         ;IMMEDIATE VERTICAL BLANK NMI VECTOR
+VVBLKD  = $0224         ;DEFERRED VERTICAL BLANK NMI VECTOR
+CDTMA1  = $0226         ;COUNT DOWN TIMER 1 JSR ADDRESS
+CDTMA2  = $0228         ;COUNT DOWN TIMER 2 JSR ADDRESS
+CDTMF3  = $022A         ;COUNT DOWN TIMER 3 FLAG
+SRTIMR  = $022B         ;SOFTWARE REPEAT TIMER
+CDTMF4  = $022C         ;COUNT DOWN TIMER 4 FLAG
+INTEMP  = $022D         ;IAN'S TEMP
+CDTMF5  = $022E         ;COUNT DOWN TIMER FLAG 5
+SDMCTL  = $022F         ;SAVE DMACTL REGISTER
+SDLSTL  = $0230         ;SAVE DISPLAY LIST LOW BYTE
+SDLSTH  = $0231         ;SAVE DISPLAY LIST HI BYTE
+SSKCTL  = $0232         ;SKCTL REGISTER RAM
+LCOUNT  = $0233         ;##1200xl## 1-byte relocating loader record
+LPENH   = $0234         ;LIGHT PEN HORIZONTAL VALUE
+LPENV   = $0235         ;LIGHT PEN VERTICAL VALUE
+BRKKY   = $0236         ;BREAK KEY VECTOR
+;RELADR = $0238         ;##1200xl## 2-byte relocatable loader address
+VPIRQ   = $0238         ;##rev2## 2-byte parallel device IRQ vector
+CDEVIC  = $023A         ;COMMAND FRAME BUFFER - DEVICE
+CCOMND  = $023B         ;COMMAND
+CAUX1   = $023C         ;COMMAND AUX BYTE 1
+CAUX2   = $023D         ;COMMAND AUX BYTE 2
+
+TEMP    = $023E         ;TEMPORARY RAM CELL
+
+ERRFLG  = $023F         ;ERROR FLAG - ANY DEVICE ERROR EXCEPT TIME OUT
+
+DFLAGS  = $0240         ;DISK FLAGS FROM SECTOR ONE
+DBSECT  = $0241         ;NUMBER OF DISK BOOT SECTORS
+BOOTAD  = $0242         ;ADDRESS WHERE DISK BOOT LOADER WILL BE PUT
+COLDST  = $0244         ;COLDSTART FLAG (1=IN MIDDLE OF COLDSTART>
+RECLEN  = $0245         ;##1200xl## 1-byte relocating loader record length
+DSKTIM  = $0246         ;DISK TIME OUT REGISTER
+;LINBUF = $0247         ;##old## CHAR LINE BUFFER
+PDVMSK  = $0247         ;##rev2## 1-byte parallel device selection mask
+SHPDVS  = $0248         ;##rev2## 1-byte PDVS (parallel device select)
+PDIMSK  = $0249         ;##rev2## 1-byte parallel device IRQ selection
+RELADR  = $024A         ;##rev2## 2-byte relocating loader relative adr.
+PPTMPA  = $024C         ;##rev2## 1-byte parallel device handler temporary
+PPTMPX  = $024D         ;##rev2## 1-byte parallel device handler temporary
+
+CHSALT  = $026B         ;##1200xl## 1-byte character set alternate
+VSFLAG  = $026C         ;##1200xl## 1-byte fine vertical scroll count
+KEYDIS  = $026D         ;##1200xl## 1-byte keyboard disable
+FINE    = $026E         ;##1200xl## 1-byte fine scrolling mode
+GPRIOR  = $026F         ;GLOBAL PRIORITY CELL
+
+PADDL0  = $0270         ;1-byte potentiometer 0
+PADDL1  = $0271         ;1-byte potentiometer 1
+PADDL2  = $0272         ;1-byte potentiometer 2
+PADDL3  = $0273         ;1-byte potentiometer 3
+PADDL4  = $0274         ;1-byte potentiometer 4
+PADDL5  = $0275         ;1-byte potentiometer 5
+PADDL6  = $0276         ;1-byte potentiometer 6
+PADDL7  = $0277         ;1-byte potentiometer 7
+
+STICK0  = $0278         ;1-byte joystick 0
+STICK1  = $0279         ;1-byte joystick 1
+STICK2  = $027A         ;1-byte joystick 2
+STICK3  = $027B         ;1-byte joystick 3
+
+PTRIG0  = $027C         ;1-byte paddle trigger 0
+PTRIG1  = $027D         ;1-byte paddle trigger 1
+PTRIG2  = $027E         ;1-byte paddle trigger 2
+PTRIG3  = $027F         ;1-byte paddle trigger 3
+PTRIG4  = $0280         ;1-byte paddle trigger 4
+PTRIG5  = $0281         ;1-byte paddle trigger 5
+PTRIG6  = $0281         ;1-byte paddle trigger 6
+PTRIG7  = $0283         ;1-byte paddle trigger 7
+
+STRIG0  = $0284         ;1-byte joystick trigger 0
+STRIG1  = $0285         ;1-byte joystick trigger 1
+STRIG2  = $0286         ;1-byte joystick trigger 2
+STRIG3  = $0287         ;1-byte joystick trigger 3
+
+;CSTAT  = $0288         ;##old## cassette status register
+HIBYTE  = $0288         ;##1200xl## 1-byte relocating loader high byte
+WMODE   = $0289         ;1-byte cassette WRITE mode
+BLIM    = $028A         ;1-byte cassette buffer limit
+IMASK   = $028B         ;##rev2## (not used)
+JVECK   = $028C         ;2-byte jump vector or temporary
+NEWADR  = $028E         ;##1200xl## 2-byte relocating address
+TXTROW  = $0290         ;TEXT ROWCRS
+TXTCOL  = $0291         ;TEXT COLCRS
+TINDEX  = $0293         ;TEXT INDEX
+TXTMSC  = $0294         ;FOOLS CONVRT INTO NEW MSC
+TXTOLD  = $0296         ;OLDROW & OLDCOL FOR TEXT (AND THEN SOME)
+;TMPX1  = $029C         ;##old## 1-byte temporary register
+CRETRY  = $029C         ;##1200xl## 1-byte number of command frame retries
+HOLD3   = $029D         ;1-byte temporary
+SUBTMP  = $029E         ;1-byte temporary
+HOLD2   = $029F         ;1-byte (not used)
+DMASK   = $02A0         ;1-byte display (pixel location) mask
+TMPLBT  = $02A1         ;1-byte (not used)
+ESCFLG  = $02A2         ;ESCAPE FLAG
+TABMAP  = $02A3         ;15-byte (120 bit) tab stop bit map
+LOGMAP  = $02B2         ;LOGICAL LINE START BIT MAP
+INVFLG  = $02B6         ;INVERSE VIDEO FLAG (TOGGLED BY ATARI KEY)
+FILFLG  = $02B7         ;RIGHT FILL FLAG FOR DRAW
+TMPROW  = $02B8         ;1-byte temporary row
+TMPCOL  = $02B9         ;2-byte temporary column
+SCRFLG  = $02BB         ;SET IF SCROLL OCCURS
+HOLD4   = $02BC         ;TEMP CELL USED IN DRAW ONLY
+;HOLD5  = $02BD         ;##old## DITTO
+DRETRY  = $02BD         ;##1200xl## 1-byte number of device retries
+SHFLOK  = $02BE         ;1-byte shift/control lock flags
+BOTSCR  = $02BF         ;BOTTOM OF SCREEN   24 NORM 4 SPLIT
+
+PCOLR0  = $02C0         ;1-byte player-missile 0 color/luminance
+PCOLR1  = $02C1         ;1-byte player-missile 1 color/luminance
+PCOLR2  = $02C2         ;1-byte player-missile 2 color/luminance
+PCOLR3  = $02C3         ;1-byte player-missile 3 color/luminance
+
+COLOR0  = $02C4         ;1-byte playfield 0 color/luminance
+COLOR1  = $02C5         ;1-byte playfield 1 color/luminance
+COLOR2  = $02C6         ;1-byte playfield 2 color/luminance
+COLOR3  = $02C7         ;1-byte playfield 3 color/luminance
+
+COLOR4  = $02C8         ;1-byte background color/luminance
+
+PARMBL  = $02C9         ;##rev2## 6-byte relocating loader parameter
+RUNADR  = $02C9         ;##1200xl## 2-byte run address
+HIUSED  = $02CB         ;##1200xl## 2-byte highest non-zero page address
+ZHIUSE  = $02CD         ;##1200xl## 2-byte highest zero page address
+
+OLDPAR  = $02CF         ;##rev2## 6-byte relocating loader parameter
+GBYTEA  = $02CF         ;##1200xl## 2-byte GET-BYTE routine address
+LOADAD  = $02D1         ;##1200xl## 2-byte non-zero page load address
+ZLOADA  = $02D3         ;##1200xl## 2-byte zero page load address
+
+DSCTLN  = $02D5         ;##1200xl## 2-byte disk sector length
+ACMISR  = $02D7         ;##1200xl## 2-byte ACMI interrupt service routine
+KRPDEL  = $02D9         ;##1200xl## 1-byte auto-repeat delay
+KEYREP  = $02DA         ;##1200xl## 1-byte auto-repeat rate
+NOCLIK  = $02DB         ;##1200xl## 1-byte key click disable
+HELPFG  = $02DC         ;##1200xl## 1-byte HELP key flag (0 = no HELP)
+DMASAV  = $02DD         ;##1200xl## 1-byte SDMCTL save/restore
+PBPNT   = $02DE         ;##1200xl## 1-byte printer buffer pointer
+PBUFSZ  = $02DF         ;##1200xl## 1-byte printer buffer size
+
+GLBABS  = $02E0         ;4-byte global variables for non-DOS users
+RUNAD   = $02E0         ;##map## 2-byte binary file run address
+INITAD  = $02E2         ;##map## 2-byte binary file initialization address
+
+RAMSIZ  = $02E4         ;RAM SIZE (HI BYTE ONLY)
+MEMTOP  = $02E5         ;TOP OF AVAILABLE USER MEMORY
+MEMLO   = $02E7         ;BOTTOM OF AVAILABLE USER MEMORY
+HNDLOD  = $02E9         ;##1200xl## 1-byte user load flag
+DVSTAT  = $02EA         ;STATUS BUFFER
+CBAUDL  = $02EE         ;1-byte low cassette baud rate
+CBAUDH  = $02EF         ;1-byte high cassette baud rate
+CRSINH  = $02F0         ;CURSOR INHIBIT (00 = CURSOR ON)
+KEYDEL  = $02F1         ;KEY DELAY
+CH1     = $02F2         ;1-byte prior keyboard character
+CHACT   = $02F3         ;CHACTL REGISTER RAM
+CHBAS   = $02F4         ;CHBAS REGISTER RAM
+
+NEWROW  = $02F5         ;##1200xl## 1-byte draw destination row
+NEWCOL  = $02F6         ;##1200xl## 2-byte draw destination column
+ROWINC  = $02F8         ;##1200xl## 1-byte draw row increment
+COLINC  = $02F9         ;##1200xl## 1-byte draw column increment
+
+CHAR    = $02FA         ;1-byte internal character
+ATACHR  = $02FB         ;ATASCII CHARACTER
+CH      = $02FC         ;GLOBAL VARIABLE FOR KEYBOARD
+FILDAT  = $02FD         ;RIGHT FILL DATA <DRAW>
+DSPFLG  = $02FE         ;DISPLAY FLAG   DISPLAY CNTLS IF NON-ZERO
+SSFLAG  = $02FF         ;START/STOP FLAG FOR PAGING (CNTL 1). CLEARE
 
 ;-------------------------------------------------------------------------
 ; Page Three Address Equates
 ;-------------------------------------------------------------------------
 
-DCB    = $0300         ;DEVICE CONTROL BLOCK
-DDEVIC = $0300         ;PERIPHERAL UNIT 1 BUS I.D. NUMBER
-DUNIT  = $0301         ;UNIT NUMBER
-DCOMND = $0302         ;BUS COMMAND
-DSTATS = $0303         ;COMMAND TYPE/STATUS RETURN
-DBUFLO = $0304         ;1-byte low data buffer address
-DBUFHI = $0305         ;1-byte high data buffer address
-DTIMLO = $0306         ;DEVICE TIME OUT IN 1 SECOND UNITS
-DUNUSE = $0307         ;UNUSED BYTE
-DBYTLO = $0308         ;1-byte low number of bytes to transfer
-DBYTHI = $0309         ;1-byte high number of bytes to transfer
-DAUX1  = $030A         ;1-byte first command auxiliary
-DAUX2  = $030B         ;1-byte second command auxiliary
-
-TIMER1 = $030C         ;INITIAL TIMER VALUE
-;ADDCOR        = $030E         ;##old## ADDITION CORRECTION
-JMPERS = $030E         ;##1200xl## 1-byte jumper options
-CASFLG = $030F         ;CASSETTE MODE WHEN SET
-TIMER2 = $0310         ;2-byte final baud rate timer value
-TEMP1  = $0312         ;TEMPORARY STORAGE REGISTER
-;TEMP2 = $0314         ;##old## TEMPORARY STORAGE REGISTER
-TEMP2  = $0313         ;##1200xl## 1-byte temporary 
-PTIMOT = $0314         ;##1200xl## 1-byte printer timeout
-TEMP3  = $0315         ;TEMPORARY STORAGE REGISTER
-SAVIO  = $0316         ;SAVE SERIAL IN DATA PORT
-TIMFLG = $0317         ;TIME OUT FLAG FOR BAUD RATE CORRECTION
-STACKP = $0318         ;SIO STACK POINTER SAVE CELL
-TSTAT  = $0319         ;TEMPORARY STATUS HOLDER
-
-HATABS = $031A         ;35-byte handler address table (was 38 bytes)
-PUPBT1 = $033D         ;##1200xl## 1-byte power-up validation byte 1
-PUPBT2 = $033E         ;##1200xl## 1-byte power-up validation byte 2
-PUPBT3 = $033F         ;##1200xl## 1-byte power-up validation byte 3
-
-IOCB   = $0340         ;I/O CONTROL BLOCKS
-ICHID  = $0340         ;HANDLER INDEX NUMBER (FF=IOCB FREE)
-ICDNO  = $0341         ;DEVICE NUMBER (DRIVE NUMBER)
-ICCOM  = $0342         ;COMMAND CODE
-ICSTA  = $0343         ;STATUS OF LAST IOCB ACTION
-ICBAL  = $0344         ;1-byte low buffer address
-ICBAH  = $0345         ;1-byte high buffer address
-ICPTL  = $0346         ;1-byte low PUT-BYTE routine address - 1
-ICPTH  = $0347         ;1-byte high PUT-BYTE routine address - 1
-ICBLL  = $0348         ;1-byte low buffer length
-ICBLH  = $0349         ;1-byte high buffer length
-ICAX1  = $034A         ;1-byte first auxiliary information
-ICAX2  = $034B         ;1-byte second auxiliary information
-ICAX3  = $034C         ;1-byte third auxiliary information
-ICAX4  = $034D         ;1-byte fourth auxiliary information
-ICAX5  = $034E         ;1-byte fifth auxiliary information
-ICSPR  = $034F         ;SPARE BYTE
-
-PRNBUF = $03C0         ;PRINTER BUFFER
-SUPERF = $03E8         ;##1200xl## 1-byte editor super function flag
-CKEY   = $03E9         ;##1200xl## 1-byte cassette boot request flag
-CASSBT = $03EA         ;##1200xl## 1-byte cassette boot flag
-CARTCK = $03EB         ;##1200xl## 1-byte cartridge equivalence check
-DERRF  = $03EC         ;##rev2## 1-byte screen OPEN error flag
+DCB     = $0300         ;DEVICE CONTROL BLOCK
+DDEVIC  = $0300         ;PERIPHERAL UNIT 1 BUS I.D. NUMBER
+DUNIT   = $0301         ;UNIT NUMBER
+DCOMND  = $0302         ;BUS COMMAND
+DSTATS  = $0303         ;COMMAND TYPE/STATUS RETURN
+DBUFLO  = $0304         ;1-byte low data buffer address
+DBUFHI  = $0305         ;1-byte high data buffer address
+DTIMLO  = $0306         ;DEVICE TIME OUT IN 1 SECOND UNITS
+DUNUSE  = $0307         ;UNUSED BYTE
+DBYTLO  = $0308         ;1-byte low number of bytes to transfer
+DBYTHI  = $0309         ;1-byte high number of bytes to transfer
+DAUX1   = $030A         ;1-byte first command auxiliary
+DAUX2   = $030B         ;1-byte second command auxiliary
+
+TIMER1  = $030C         ;INITIAL TIMER VALUE
+;ADDCOR = $030E         ;##old## ADDITION CORRECTION
+JMPERS  = $030E         ;##1200xl## 1-byte jumper options
+CASFLG  = $030F         ;CASSETTE MODE WHEN SET
+TIMER2  = $0310         ;2-byte final baud rate timer value
+TEMP1   = $0312         ;TEMPORARY STORAGE REGISTER
+;TEMP2  = $0314         ;##old## TEMPORARY STORAGE REGISTER
+TEMP2   = $0313         ;##1200xl## 1-byte temporary 
+PTIMOT  = $0314         ;##1200xl## 1-byte printer timeout
+TEMP3   = $0315         ;TEMPORARY STORAGE REGISTER
+SAVIO   = $0316         ;SAVE SERIAL IN DATA PORT
+TIMFLG  = $0317         ;TIME OUT FLAG FOR BAUD RATE CORRECTION
+STACKP  = $0318         ;SIO STACK POINTER SAVE CELL
+TSTAT   = $0319         ;TEMPORARY STATUS HOLDER
+
+HATABS  = $031A         ;35-byte handler address table (was 38 bytes)
+PUPBT1  = $033D         ;##1200xl## 1-byte power-up validation byte 1
+PUPBT2  = $033E         ;##1200xl## 1-byte power-up validation byte 2
+PUPBT3  = $033F         ;##1200xl## 1-byte power-up validation byte 3
+
+IOCB    = $0340         ;I/O CONTROL BLOCKS
+ICHID   = $0340         ;HANDLER INDEX NUMBER (FF=IOCB FREE)
+ICDNO   = $0341         ;DEVICE NUMBER (DRIVE NUMBER)
+ICCOM   = $0342         ;COMMAND CODE
+ICSTA   = $0343         ;STATUS OF LAST IOCB ACTION
+ICBAL   = $0344         ;1-byte low buffer address
+ICBAH   = $0345         ;1-byte high buffer address
+ICPTL   = $0346         ;1-byte low PUT-BYTE routine address - 1
+ICPTH   = $0347         ;1-byte high PUT-BYTE routine address - 1
+ICBLL   = $0348         ;1-byte low buffer length
+ICBLH   = $0349         ;1-byte high buffer length
+ICAX1   = $034A         ;1-byte first auxiliary information
+ICAX2   = $034B         ;1-byte second auxiliary information
+ICAX3   = $034C         ;1-byte third auxiliary information
+ICAX4   = $034D         ;1-byte fourth auxiliary information
+ICAX5   = $034E         ;1-byte fifth auxiliary information
+ICSPR   = $034F         ;SPARE BYTE
+
+PRNBUF  = $03C0         ;PRINTER BUFFER
+SUPERF  = $03E8         ;##1200xl## 1-byte editor super function flag
+CKEY    = $03E9         ;##1200xl## 1-byte cassette boot request flag
+CASSBT  = $03EA         ;##1200xl## 1-byte cassette boot flag
+CARTCK  = $03EB         ;##1200xl## 1-byte cartridge equivalence check
+DERRF   = $03EC         ;##rev2## 1-byte screen OPEN error flag
 
 ; Remainder of Page Three Not Cleared upon Reset
 
-ACMVAR = $03ED         ;##1200xl## 11 bytes reserved for ACMI
-BASICF = $03F8         ;##rev2## 1-byte BASIC switch flag
-MINTLK = $03F9         ;##1200xl## 1-byte ACMI module interlock
-GINTLK = $03FA         ;##1200xl## 1-byte cartridge interlock
-CHLINK = $03FB         ;##1200xl## 2-byte loaded handler chain link
-CASBUF = $03FD         ;CASSETTE BUFFER
+ACMVAR  = $03ED         ;##1200xl## 11 bytes reserved for ACMI
+BASICF  = $03F8         ;##rev2## 1-byte BASIC switch flag
+MINTLK  = $03F9         ;##1200xl## 1-byte ACMI module interlock
+GINTLK  = $03FA         ;##1200xl## 1-byte cartridge interlock
+CHLINK  = $03FB         ;##1200xl## 2-byte loaded handler chain link
+CASBUF  = $03FD         ;CASSETTE BUFFER
 
 ;-------------------------------------------------------------------------
 ; Page Four/Five Address Equates
 ;-------------------------------------------------------------------------
 
 ; USER AREA STARTS HERE AND GOES TO END OF PAGE FIVE
-USAREA = $0480         ;128 bytes reserved for application
+USAREA  = $0480         ;128 bytes reserved for application
 
-LBPR1  = $057E         ;LBUFF PREFIX 1
-LBPR2  = $057F         ;LBUFF PREFIX 2
-LBUFF  = $0580         ;128-byte line buffer
+LBPR1   = $057E         ;LBUFF PREFIX 1
+LBPR2   = $057F         ;LBUFF PREFIX 2
+LBUFF   = $0580         ;128-byte line buffer
 
-PLYARG = $05E0         ;6-byte floating point polynomial argument
-FPSCR  = $05E6         ;6-byte floating point temporary
-FPSCR1 = $05EC         ;6-byte floating point temporary
+PLYARG  = $05E0         ;6-byte floating point polynomial argument
+FPSCR   = $05E6         ;6-byte floating point temporary
+FPSCR1  = $05EC         ;6-byte floating point temporary
 
-;LBFEND        = $05FF         ;##old## END OF LBUFF
+;LBFEND = $05FF         ;##old## END OF LBUFF
 
 ;-------------------------------------------------------------------------
 ; Cartridge Address Equates
 ;-------------------------------------------------------------------------
 
-CARTCS = $BFFA         ;##rev2## 2-byte cartridge coldstart address
-CART   = $BFFC         ;##rev2## 1-byte cartridge present indicator
-CARTFG = $BFFD         ;##rev2## 1-byte cartridge flags
-CARTAD = $BFFE         ;##rev2## 2-byte cartridge start vector
+CARTCS  = $BFFA         ;##rev2## 2-byte cartridge coldstart address
+CART    = $BFFC         ;##rev2## 1-byte cartridge present indicator
+CARTFG  = $BFFD         ;##rev2## 1-byte cartridge flags
+CARTAD  = $BFFE         ;##rev2## 2-byte cartridge start vector
 
 ;-------------------------------------------------------------------------
 ; CTIA/GTIA Address Equates
 ;-------------------------------------------------------------------------
 
-GTIA   = $D000         ;CTIA/GTIA area
+GTIA    = $D000         ;CTIA/GTIA area
 
 ; Read/Write Addresses
 
-CONSOL = $D01F         ;console switches and speaker control
+CONSOL  = $D01F         ;console switches and speaker control
 
 ; Read Addresses
 
-M0PF   = $D000         ;missile 0 and playfield collision
-M1PF   = $D001         ;missile 1 and playfield collision
-M2PF   = $D002         ;missile 2 and playfield collision
-M3PF   = $D003         ;missile 3 and playfield collision
+M0PF    = $D000         ;missile 0 and playfield collision
+M1PF    = $D001         ;missile 1 and playfield collision
+M2PF    = $D002         ;missile 2 and playfield collision
+M3PF    = $D003         ;missile 3 and playfield collision
 
-P0PF   = $D004         ;player 0 and playfield collision
-P1PF   = $D005         ;player 1 and playfield collision
-P2PF   = $D006         ;player 2 and playfield collision
-P3PF   = $D007         ;player 3 and playfield collision
+P0PF    = $D004         ;player 0 and playfield collision
+P1PF    = $D005         ;player 1 and playfield collision
+P2PF    = $D006         ;player 2 and playfield collision
+P3PF    = $D007         ;player 3 and playfield collision
 
-M0PL   = $D008         ;missile 0 and player collision
-M1PL   = $D009         ;missile 1 and player collision
-M2PL   = $D00A         ;missile 2 and player collision
-M3PL   = $D00B         ;missile 3 and player collision
+M0PL    = $D008         ;missile 0 and player collision
+M1PL    = $D009         ;missile 1 and player collision
+M2PL    = $D00A         ;missile 2 and player collision
+M3PL    = $D00B         ;missile 3 and player collision
 
-P0PL   = $D00C         ;player 0 and player collision
-P1PL   = $D00D         ;player 1 and player collision
-P2PL   = $D00E         ;player 2 and player collision
-P3PL   = $D00F         ;player 3 and player collision
+P0PL    = $D00C         ;player 0 and player collision
+P1PL    = $D00D         ;player 1 and player collision
+P2PL    = $D00E         ;player 2 and player collision
+P3PL    = $D00F         ;player 3 and player collision
 
-TRIG0  = $D010         ;joystick trigger 0
-TRIG1  = $D011         ;joystick trigger 1
+TRIG0   = $D010         ;joystick trigger 0
+TRIG1   = $D011         ;joystick trigger 1
 
-TRIG2  = $D012         ;cartridge interlock
-TRIG3  = $D013         ;ACMI module interlock
+TRIG2   = $D012         ;cartridge interlock
+TRIG3   = $D013         ;ACMI module interlock
 
-PAL    = $D014         ;##rev2## PAL/NTSC indicator
+PAL     = $D014         ;##rev2## PAL/NTSC indicator
 
 ; Write Addresses
 
-HPOSP0 = $D000         ;player 0 horizontal position
-HPOSP1 = $D001         ;player 1 horizontal position
-HPOSP2 = $D002         ;player 2 horizontal position
-HPOSP3 = $D003         ;player 3 horizontal position
+HPOSP0  = $D000         ;player 0 horizontal position
+HPOSP1  = $D001         ;player 1 horizontal position
+HPOSP2  = $D002         ;player 2 horizontal position
+HPOSP3  = $D003         ;player 3 horizontal position
 
-HPOSM0 = $D004         ;missile 0 horizontal position
-HPOSM1 = $D005         ;missile 1 horizontal position
-HPOSM2 = $D006         ;missile 2 horizontal position
-HPOSM3 = $D007         ;missile 3 horizontal position
+HPOSM0  = $D004         ;missile 0 horizontal position
+HPOSM1  = $D005         ;missile 1 horizontal position
+HPOSM2  = $D006         ;missile 2 horizontal position
+HPOSM3  = $D007         ;missile 3 horizontal position
 
-SIZEP0 = $D008         ;player 0 size
-SIZEP1 = $D009         ;player 1 size
-SIZEP2 = $D00A         ;player 2 size
-SIZEP3 = $D00B         ;player 3 size
+SIZEP0  = $D008         ;player 0 size
+SIZEP1  = $D009         ;player 1 size
+SIZEP2  = $D00A         ;player 2 size
+SIZEP3  = $D00B         ;player 3 size
 
-SIZEM  = $D00C         ;missile sizes
+SIZEM   = $D00C         ;missile sizes
 
-GRAFP0 = $D00D         ;player 0 graphics
-GRAFP1 = $D00E         ;player 1 graphics
-GRAFP2 = $D00F         ;player 2 graphics
-GRAFP3 = $D010         ;player 3 graphics
+GRAFP0  = $D00D         ;player 0 graphics
+GRAFP1  = $D00E         ;player 1 graphics
+GRAFP2  = $D00F         ;player 2 graphics
+GRAFP3  = $D010         ;player 3 graphics
 
-GRAFM  = $D011         ;missile graphics
+GRAFM   = $D011         ;missile graphics
 
-COLPM0 = $D012         ;player-missile 0 color/luminance
-COLPM1 = $D013         ;player-missile 1 color/luminance
-COLPM2 = $D014         ;player-missile 2 color/luminance
-COLPM3 = $D015         ;player-missile 3 color/luminance
+COLPM0  = $D012         ;player-missile 0 color/luminance
+COLPM1  = $D013         ;player-missile 1 color/luminance
+COLPM2  = $D014         ;player-missile 2 color/luminance
+COLPM3  = $D015         ;player-missile 3 color/luminance
 
-COLPF0 = $D016         ;playfield 0 color/luminance
-COLPF1 = $D017         ;playfield 1 color/luminance
-COLPF2 = $D018         ;playfield 2 color/luminance
-COLPF3 = $D019         ;playfield 3 color/luminance
+COLPF0  = $D016         ;playfield 0 color/luminance
+COLPF1  = $D017         ;playfield 1 color/luminance
+COLPF2  = $D018         ;playfield 2 color/luminance
+COLPF3  = $D019         ;playfield 3 color/luminance
 
-COLBK  = $D01A         ;background color/luminance
+COLBK   = $D01A         ;background color/luminance
 
-PRIOR  = $D01B         ;priority select
-VDELAY = $D01C         ;vertical delay
-GRACTL = $D01D         ;graphic control
-HITCLR = $D01E         ;collision clear
+PRIOR   = $D01B         ;priority select
+VDELAY  = $D01C         ;vertical delay
+GRACTL  = $D01D         ;graphic control
+HITCLR  = $D01E         ;collision clear
 
 ;-------------------------------------------------------------------------
 ; PBI Address Equates
 ;-------------------------------------------------------------------------
 
-PBI    = $D100         ;##rev2## parallel bus interface area
+PBI     = $D100         ;##rev2## parallel bus interface area
 
 ; Read Addresses
 
-PDVI   = $D1FF         ;##rev2## parallel device IRQ status
+PDVI    = $D1FF         ;##rev2## parallel device IRQ status
 
 ; Write Addresses
 
-PDVS   = $D1FF         ;##rev2## parallel device select
+PDVS    = $D1FF         ;##rev2## parallel device select
 
 ; PBI RAM Address Equates
 
-PBIRAM = $D600         ;##rev2## parallel bus interface RAM area
+PBIRAM  = $D600         ;##rev2## parallel bus interface RAM area
 
 ; Parallel Device Address Equates
 
-PDID1  = $D803         ;##rev2## parallel device ID 1
-PDIDV  = $D805         ;##rev2## parallel device I/O vector
-PDIRQV = $D808         ;##rev2## parallel device IRQ vector
-PDID2  = $D80B         ;##rev2## parallel device ID 2
-PDVV   = $D80D         ;##rev2## parallel device vector table
+PDID1   = $D803         ;##rev2## parallel device ID 1
+PDIDV   = $D805         ;##rev2## parallel device I/O vector
+PDIRQV  = $D808         ;##rev2## parallel device IRQ vector
+PDID2   = $D80B         ;##rev2## parallel device ID 2
+PDVV    = $D80D         ;##rev2## parallel device vector table
 
 ;-------------------------------------------------------------------------
 ; POKEY Address Equates
 ;-------------------------------------------------------------------------
 
-POKEY  = $D200         ;POKEY area
+POKEY   = $D200         ;POKEY area
 
 ; Read Addresses
 
-POT0   = $D200         ;potentiometer 0
-POT1   = $D201         ;potentiometer 1
-POT2   = $D202         ;potentiometer 2
-POT3   = $D203         ;potentiometer 3
-POT4   = $D204         ;potentiometer 4
-POT5   = $D205         ;potentiometer 5
-POT6   = $D206         ;potentiometer 6
-POT7   = $D207         ;potentiometer 7
-
-ALLPOT = $D208         ;potentiometer port status
-KBCODE = $D209         ;keyboard code
-RANDOM = $D20A         ;random number generator
-SERIN  = $D20D         ;serial port input
-IRQST  = $D20E         ;IRQ interrupt status
-SKSTAT = $D20F         ;serial port and keyboard status
+POT0    = $D200         ;potentiometer 0
+POT1    = $D201         ;potentiometer 1
+POT2    = $D202         ;potentiometer 2
+POT3    = $D203         ;potentiometer 3
+POT4    = $D204         ;potentiometer 4
+POT5    = $D205         ;potentiometer 5
+POT6    = $D206         ;potentiometer 6
+POT7    = $D207         ;potentiometer 7
+
+ALLPOT  = $D208         ;potentiometer port status
+KBCODE  = $D209         ;keyboard code
+RANDOM  = $D20A         ;random number generator
+SERIN   = $D20D         ;serial port input
+IRQST   = $D20E         ;IRQ interrupt status
+SKSTAT  = $D20F         ;serial port and keyboard status
 
 ; Write Addresses
 
-AUDF1  = $D200         ;channel 1 audio frequency
-AUDC1  = $D201         ;channel 1 audio control
+AUDF1   = $D200         ;channel 1 audio frequency
+AUDC1   = $D201         ;channel 1 audio control
 
-AUDF2  = $D202         ;channel 2 audio frequency
-AUDC2  = $D203         ;channel 2 audio control
+AUDF2   = $D202         ;channel 2 audio frequency
+AUDC2   = $D203         ;channel 2 audio control
 
-AUDF3  = $D204         ;channel 3 audio frequency
-AUDC3  = $D205         ;channel 3 audio control
+AUDF3   = $D204         ;channel 3 audio frequency
+AUDC3   = $D205         ;channel 3 audio control
 
-AUDF4  = $D206         ;channel 4 audio frequency
-AUDC4  = $D207         ;channel 4 audio control
+AUDF4   = $D206         ;channel 4 audio frequency
+AUDC4   = $D207         ;channel 4 audio control
 
-AUDCTL = $D208         ;audio control
-STIMER = $D209         ;start timers
-SKRES  = $D20A         ;reset SKSTAT status
-POTGO  = $D20B         ;start potentiometer scan sequence
-SEROUT = $D20D         ;serial port output
-IRQEN  = $D20E         ;IRQ interrupt enable
-SKCTL  = $D20F         ;serial port and keyboard control
+AUDCTL  = $D208         ;audio control
+STIMER  = $D209         ;start timers
+SKRES   = $D20A         ;reset SKSTAT status
+POTGO   = $D20B         ;start potentiometer scan sequence
+SEROUT  = $D20D         ;serial port output
+IRQEN   = $D20E         ;IRQ interrupt enable
+SKCTL   = $D20F         ;serial port and keyboard control
 
 ;-------------------------------------------------------------------------
 ; PIA Address Equates
 ;-------------------------------------------------------------------------
 
-PIA    = $D300         ;PIA area
+PIA     = $D300         ;PIA area
 
-PORTA  = $D300         ;port A direction register or jacks one/two
-PORTB  = $D301         ;port B direction register or memory management
+PORTA   = $D300         ;port A direction register or jacks one/two
+PORTB   = $D301         ;port B direction register or memory management
 
-PACTL  = $D302         ;port A control
-PBCTL  = $D303         ;port B control
+PACTL   = $D302         ;port A control
+PBCTL   = $D303         ;port B control
 
 ;-------------------------------------------------------------------------
 ; ANTIC Address Equates
 ;-------------------------------------------------------------------------
 
-ANTIC  = $D400         ;ANTIC area
+ANTIC   = $D400         ;ANTIC area
 
 ; Read Addresses
 
-VCOUNT = $D40B         ;vertical line counter
-PENH   = $D40C         ;light pen horizontal position
-PENV   = $D40D         ;light pen vertical position
-NMIST  = $D40F         ;NMI interrupt status
+VCOUNT  = $D40B         ;vertical line counter
+PENH    = $D40C         ;light pen horizontal position
+PENV    = $D40D         ;light pen vertical position
+NMIST   = $D40F         ;NMI interrupt status
 
 ; Write Addresses
 
-DMACTL = $D400         ;DMA control
-CHACTL = $D401         ;character control
-DLISTL = $D402         ;low display list address
-DLISTH = $D403         ;high display list address
-HSCROL = $D404         ;horizontal scroll
-VSCROL = $D405         ;vertical scroll
-PMBASE = $D407         ;player-missile base address
-CHBASE = $D409         ;character base address
-WSYNC  = $D40A         ;wait for HBLANK synchronization
-NMIEN  = $D40E         ;NMI enable
-NMIRES = $D40F         ;NMI interrupt reset
+DMACTL  = $D400         ;DMA control
+CHACTL  = $D401         ;character control
+DLISTL  = $D402         ;low display list address
+DLISTH  = $D403         ;high display list address
+HSCROL  = $D404         ;horizontal scroll
+VSCROL  = $D405         ;vertical scroll
+PMBASE  = $D407         ;player-missile base address
+CHBASE  = $D409         ;character base address
+WSYNC   = $D40A         ;wait for HBLANK synchronization
+NMIEN   = $D40E         ;NMI enable
+NMIRES  = $D40F         ;NMI interrupt reset
 
 ;-------------------------------------------------------------------------
 ; Floating Point Package Address Equates
 ;-------------------------------------------------------------------------
 
-AFP    = $D800         ;convert ASCII to floating point
-FASC   = $D8E6         ;convert floating point to ASCII
-IFP    = $D9AA         ;convert integer to floating point
-FPI    = $D9D2         ;convert floating point to integer
-ZFR0   = $DA44         ;zero FR0
-ZF1    = $DA46         ;zero floating point number
-FSUB   = $DA60         ;subtract floating point numbers
-FADD   = $DA66         ;add floating point numbers
-FMUL   = $DADB         ;multiply floating point numbers
-FDIV   = $DB28         ;divide floating point numbers
-PLYEVL = $DD40         ;evaluate floating point polynomial
-FLD0R  = $DD89         ;load floating point number
-FLD0P  = $DD8D         ;load floating point number
-FLD1R  = $DD98         ;load floating point number
-PLD1P  = $DD9C         ;load floating point number
-FST0R  = $DDA7         ;store floating point number
-FST0P  = $DDAB         ;store floating point number
-FMOVE  = $DDB6         ;move floating point number
-LOG    = $DECD         ;calculate floating point logarithm
-LOG10  = $DED1         ;calculate floating point base 10 logarithm
-EXP    = $DDC0         ;calculate floating point exponential
-EXP10  = $DDCC         ;calculate floating point base 10 exponential
+AFP     = $D800         ;convert ASCII to floating point
+FASC    = $D8E6         ;convert floating point to ASCII
+IFP     = $D9AA         ;convert integer to floating point
+FPI     = $D9D2         ;convert floating point to integer
+ZFR0    = $DA44         ;zero FR0
+ZF1     = $DA46         ;zero floating point number
+FSUB    = $DA60         ;subtract floating point numbers
+FADD    = $DA66         ;add floating point numbers
+FMUL    = $DADB         ;multiply floating point numbers
+FDIV    = $DB28         ;divide floating point numbers
+PLYEVL  = $DD40         ;evaluate floating point polynomial
+FLD0R   = $DD89         ;load floating point number
+FLD0P   = $DD8D         ;load floating point number
+FLD1R   = $DD98         ;load floating point number
+PLD1P   = $DD9C         ;load floating point number
+FST0R   = $DDA7         ;store floating point number
+FST0P   = $DDAB         ;store floating point number
+FMOVE   = $DDB6         ;move floating point number
+LOG     = $DECD         ;calculate floating point logarithm
+LOG10   = $DED1         ;calculate floating point base 10 logarithm
+EXP     = $DDC0         ;calculate floating point exponential
+EXP10   = $DDCC         ;calculate floating point base 10 exponential
 
 ;-------------------------------------------------------------------------
 ; Device Handler Vector Table Address Equates
 ;-------------------------------------------------------------------------
 
-EDITRV = $E400         ;editor handler vector table
-SCRENV = $E410         ;screen handler vector table
-KEYBDV = $E420         ;keyboard handler vector table
-PRINTV = $E430         ;printer handler vector table
-CASETV = $E440         ;cassette handler vector table
+EDITRV  = $E400         ;editor handler vector table
+SCRENV  = $E410         ;screen handler vector table
+KEYBDV  = $E420         ;keyboard handler vector table
+PRINTV  = $E430         ;printer handler vector table
+CASETV  = $E440         ;cassette handler vector table
 
 ;-------------------------------------------------------------------------
 ; Jump Vector Address Equates
 ;-------------------------------------------------------------------------
 
-DISKIV = $E450         ;vector to initialize DIO
-DSKINV = $E453         ;vector to DIO
-CIOV   = $E456         ;vector to CIO
-SIOV   = $E459         ;vector to SIO
-SETVBV = $E45C         ;vector to set VBLANK parameters
-SYSVBV = $E45F         ;vector to process immediate VBLANK
-XITVBV = $E462         ;vector to process deferred VBLANK
-SIOINV = $E465         ;vector to initialize SIO
-SENDEV = $E468         ;vector to enable SEND
-INTINV = $E46B         ;vector to initialize interrupt handler
-CIOINV = $E46E         ;vector to initialize CIO
-BLKBDV = $E471         ;vector to power-up display
-WARMSV = $E474         ;vector to warmstart
-COLDSV = $E477         ;vector to coldstart
-RBLOKV = $E47A         ;vector to read cassette block
-CSOPIV = $E47D         ;vector to open cassette for input
-VCTABL = $E480         ;RAM vector initial value table
-PUPDIV = $E480         ;##rev2## vector to power-up display
-SLFTSV = $E483         ;##rev2## vector to self-test
-PHENTV = $E486         ;##rev2## vector to enter peripheral handler
-PHUNLV = $E489         ;##rev2## vector to unlink peripheral handler
-PHINIV = $E48C         ;##rev2## vector to initialize peripheral handler
-GPDVV  = $E48F         ;##rev2## generic parallel device handler vector
+DISKIV  = $E450         ;vector to initialize DIO
+DSKINV  = $E453         ;vector to DIO
+CIOV    = $E456         ;vector to CIO
+SIOV    = $E459         ;vector to SIO
+SETVBV  = $E45C         ;vector to set VBLANK parameters
+SYSVBV  = $E45F         ;vector to process immediate VBLANK
+XITVBV  = $E462         ;vector to process deferred VBLANK
+SIOINV  = $E465         ;vector to initialize SIO
+SENDEV  = $E468         ;vector to enable SEND
+INTINV  = $E46B         ;vector to initialize interrupt handler
+CIOINV  = $E46E         ;vector to initialize CIO
+BLKBDV  = $E471         ;vector to power-up display
+WARMSV  = $E474         ;vector to warmstart
+COLDSV  = $E477         ;vector to coldstart
+RBLOKV  = $E47A         ;vector to read cassette block
+CSOPIV  = $E47D         ;vector to open cassette for input
+VCTABL  = $E480         ;RAM vector initial value table
+PUPDIV  = $E480         ;##rev2## vector to power-up display
+SLFTSV  = $E483         ;##rev2## vector to self-test
+PHENTV  = $E486         ;##rev2## vector to enter peripheral handler
+PHUNLV  = $E489         ;##rev2## vector to unlink peripheral handler
+PHINIV  = $E48C         ;##rev2## vector to initialize peripheral handler
+GPDVV   = $E48F         ;##rev2## generic parallel device handler vector
 
 ; NOTE: OS rom self-test labels are not included in this file
 
@@ -985,105 +985,105 @@ GPDVV   = $E48F         ;##rev2## generic parallel device handler vector
 ;-------------------------------------------------------------------------
 
 ; THE FOLLOWING ARE IN BASIC CARTRIDGE:
-SIN    = $BD81         ;FR0 <- SIN (FR0) DEGFLG (0=RAD,6=DEG) CARRY
-COS    = $BD73         ;FR0 <- COS (FR0) CARRY
-ATAN   = $BE43         ;FR0 <- ATAN(FR0) CARRY
-SQR    = $BEB1         ;FR0 <- ROOT(FR0) CARRY
+SIN     = $BD81         ;FR0 <- SIN (FR0) DEGFLG (0=RAD,6=DEG) CARRY
+COS     = $BD73         ;FR0 <- COS (FR0) CARRY
+ATAN    = $BE43         ;FR0 <- ATAN(FR0) CARRY
+SQR     = $BEB1         ;FR0 <- ROOT(FR0) CARRY
 
-RADON  = 0             ;INDICATES RADIANS
-DEGON  = 6             ;INDICATES DEGREES
+RADON   = 0             ;INDICATES RADIANS
+DEGON   = 6             ;INDICATES DEGREES
 
-ASCZER = '0'           ;ASCII ZERO
-COLON  = $3A           ;ASCII COLON 
-CR     = $9B           ;SYSTEM EOL (CARRIAGE RETURN)
+ASCZER  = '0'           ;ASCII ZERO
+COLON   = $3A           ;ASCII COLON 
+CR      = $9B           ;SYSTEM EOL (CARRIAGE RETURN)
 
 ;-------------------------------------------------------------------------
 ; 6502
 ;-------------------------------------------------------------------------
 
-NMIVEC = $FFFA
-RESVEC = $FFFC
-IRQVEC = $FFFE
+NMIVEC  = $FFFA
+RESVEC  = $FFFC
+IRQVEC  = $FFFE
 
 ;-------------------------------------------------------------------------
 ; BASIC
 ;-------------------------------------------------------------------------
 
-LOMEM  = $80           ;2-byte low memory pointer
-VNTP   = $82           ;2-byte variable name table address
-VNTD   = $84           ;2-byte variable name table end + 1
-VVTP   = $86           ;2-byte variable value table
-STMTAB = $88           ;2-byte statement table address
-STMCUR = $8A           ;2-byte current statement pointer
-STARP  = $8C           ;2-byte string and array table pointer
-RUNSTK = $8E           ;2-byte runtime stack address
-BMEMTOP        = $90           ;2-byte top of memory pointer
-STOPLN = $BA           ;2-byte stopped line number
-ERRSAVE        = $C3           ;1-byte error code
-PTABW  = $C9           ;1-byte tab width
+LOMEM   = $80           ;2-byte low memory pointer
+VNTP    = $82           ;2-byte variable name table address
+VNTD    = $84           ;2-byte variable name table end + 1
+VVTP    = $86           ;2-byte variable value table
+STMTAB  = $88           ;2-byte statement table address
+STMCUR  = $8A           ;2-byte current statement pointer
+STARP   = $8C           ;2-byte string and array table pointer
+RUNSTK  = $8E           ;2-byte runtime stack address
+BMEMTOP = $90           ;2-byte top of memory pointer
+STOPLN  = $BA           ;2-byte stopped line number
+ERRSAVE = $C3           ;1-byte error code
+PTABW   = $C9           ;1-byte tab width
 
 ;-------------------------------------------------------------------------
 ; DOS
 ;-------------------------------------------------------------------------
 
-DOS    = $0700
+DOS     = $0700
 
-RENAME = $20           ;RENAME DISK FILE
-DELETE = $21           ;DELETE DISK FILE
-LOCKFL = $23           ;LOCK FILE TO READ ONLY
-UNLOCK = $24           ;UNLOCK LOCKED FILE
-POINT  = $25           ;POINT SECTOR
-NOTE   = $26           ;NOTE SECTOR
-FORMAT = $FE           ;FORMAT
+RENAME  = $20           ;RENAME DISK FILE
+DELETE  = $21           ;DELETE DISK FILE
+LOCKFL  = $23           ;LOCK FILE TO READ ONLY
+UNLOCK  = $24           ;UNLOCK LOCKED FILE
+POINT   = $25           ;POINT SECTOR
+NOTE    = $26           ;NOTE SECTOR
+FORMAT  = $FE           ;FORMAT
 
 ; Command line table, Index values for (DOSVEC),Y -- COMTAB
 ; Compatible with OS/A+, DOS XL and SpartaDOS
 
-COMTAB = 0             ;DOS entry jump vector
-ZCRNAME        = 3             ;file name crunch routine jump vector
-BUFOFF = 10            ;next parameter buffer offset
-COMFNAM        = 33            ;destination buffer for crunch routine
-LBUF   = 63            ;command line input buffer
+COMTAB  = 0             ;DOS entry jump vector
+ZCRNAME = 3             ;file name crunch routine jump vector
+BUFOFF  = 10            ;next parameter buffer offset
+COMFNAM = 33            ;destination buffer for crunch routine
+LBUF    = 63            ;command line input buffer
 
 ;-------------------------------------------------------------------------
 ; ATASCII CHARACTER DEFS
 ;-------------------------------------------------------------------------
 
-ATCLR  = $7D           ;CLEAR SCREEN CHARACTER
-ATRUB  = $7E           ;BACK SPACE (RUBOUT)
-ATTAB  = $7F           ;TAB
-ATEOL  = $9B           ;END-OF-LINE
-ATDELL = $9C           ;delete line
-ATINSL = $9D           ;insert line
-ATCTAB = $9E           ;clear TAB
-ATSTAB = $9F           ;set TAB
-ATBEL  = $FD           ;CONSOLE BELL
-ATDEL  = $FE           ;delete char.
-ATINS  = $FF           ;insert char.
-ATURW  = $1C           ;UP-ARROW
-ATDRW  = $1D           ;DOWN-ARROW
-ATLRW  = $1E           ;LEFT-ARROW
-ATRRW  = $1F           ;RIGHT-ARROW
-ATESC  = $1B           ;ESCAPE
+ATCLR   = $7D           ;CLEAR SCREEN CHARACTER
+ATRUB   = $7E           ;BACK SPACE (RUBOUT)
+ATTAB   = $7F           ;TAB
+ATEOL   = $9B           ;END-OF-LINE
+ATDELL  = $9C           ;delete line
+ATINSL  = $9D           ;insert line
+ATCTAB  = $9E           ;clear TAB
+ATSTAB  = $9F           ;set TAB
+ATBEL   = $FD           ;CONSOLE BELL
+ATDEL   = $FE           ;delete char.
+ATINS   = $FF           ;insert char.
+ATURW   = $1C           ;UP-ARROW
+ATDRW   = $1D           ;DOWN-ARROW
+ATLRW   = $1E           ;LEFT-ARROW
+ATRRW   = $1F           ;RIGHT-ARROW
+ATESC   = $1B           ;ESCAPE
 
 ;-------------------------------------------------------------------------
 ; OFFSETS INTO SECTSIZETAB (DIO functions)
 ;-------------------------------------------------------------------------
 
-sst_flag     = 0       ; length 1
-sst_sectsize = 1       ;        2
-sst_driveno  = 3       ;        1  (drive #)
-sst_size     = 4       ; size of one entry
-                       ; if changed, adapt diopncls.s
+sst_flag     = 0        ; length 1
+sst_sectsize = 1        ;        2
+sst_driveno  = 3        ;        1  (drive #)
+sst_size     = 4        ; size of one entry
+                        ; if changed, adapt diopncls.s
 
 ;-------------------------------------------------------------------------
 ; OFFSETS INTO dio_phys_pos
 ;-------------------------------------------------------------------------
 
-diopp_head   = 0       ; head
-diopp_track  = 1       ; track / cylinder
-diopp_sector = 3       ; sector
-diopp_size   = 5       ; size of structure
+diopp_head   = 0        ; head
+diopp_track  = 1        ; track / cylinder
+diopp_sector = 3        ; sector
+diopp_size   = 5        ; size of structure
 
 ;-------------------------------------------------------------------------
 ; VALUES for dos_type
@@ -1091,7 +1091,7 @@ diopp_size   = 5  ; size of structure
 
 ATARIDOS     = 0
 SPARTADOS    = 1
-OSADOS       = 2       ; OS/A+
+OSADOS       = 2        ; OS/A+
 MYDOS        = 3
 XDOS         = 4
 NODOS        = 255
@@ -1103,28 +1103,28 @@ NODOS        = 255
 ; usage example:
 ;
 ; ScreenDL:
-; .byte        DL_BLK8
-; .byte        DL_BLK8
+; .byte DL_BLK8
+; .byte DL_BLK8
 ; .byte DL_CHR40x8x1 + DL_LMS + DL_DLI
-; .word        ScreenAlignment
-; .byte        DL_BLK1 + DL_DLI
-; .byte        DL_MAP320x1x1 + DL_LMS
-; .word        Screen
+; .word ScreenAlignment
+; .byte DL_BLK1 + DL_DLI
+; .byte DL_MAP320x1x1 + DL_LMS
+; .word Screen
 ;
 ; .repeat 99
-; .byte        DL_MAP320x1x1
+; .byte DL_MAP320x1x1
 ; .endrepeat
-; .byte        DL_MAP320x1x1 + DL_LMS
-; .word        Screen + 40 * 100       ; 100 lines a 40 byte, 'Screen' has to be aligned correctly!
+; .byte DL_MAP320x1x1 + DL_LMS
+; .word Screen + 40 * 100       ; 100 lines a 40 byte, 'Screen' has to be aligned correctly!
 ; .repeat 92
-; .byte        DL_MAP320x1x1
+; .byte DL_MAP320x1x1
 ; .endrepeat
 ;
-; .byte        DL_JVB
+; .byte DL_JVB
 
 ; absolute instructions (non mode lines)
 
-DL_JMP = 1
+DL_JMP  = 1
 DL_JVB  = 65
 
 DL_BLK1  = 0
@@ -1138,21 +1138,21 @@ DL_BLK8  = 112
 
 ; absolute instructions (mode lines)
 
-DL_CHR40x8x1  = 2              ; monochrome, 40 character & 8 scanlines per mode line (GR. 0)
-DL_CHR40x10x1 = 3              ; monochrome, 40 character & 10 scanlines per mode line
-DL_CHR40x8x4  = 4              ; colour, 40 character & 8 scanlines per mode line (GR. 12)
-DL_CHR40x16x4 = 5              ; colour, 40 character & 16 scanlines per mode line (GR. 13)
-DL_CHR20x8x2  = 6              ; colour (duochrome per character), 20 character & 8 scanlines per mode line (GR. 1)
-DL_CHR20x16x2 = 7              ; colour (duochrome per character), 20 character & 16 scanlines per mode line (GR. 2)
-
-DL_MAP40x8x4  = 8              ; colour, 40 pixel & 8 scanlines per mode line (GR. 3)
-DL_MAP80x4x2  = 9              ; 'duochrome', 80 pixel & 4 scanlines per mode line (GR.4) 
-DL_MAP80x4x4  = 10             ; colour, 80 pixel & 4 scanlines per mode line (GR.5) 
-DL_MAP160x2x2 = 11             ; 'duochrome', 160 pixel & 2 scanlines per mode line (GR.6) 
-DL_MAP160x1x2 = 12             ; 'duochrome', 160 pixel & 1 scanline per mode line (GR.14) 
-DL_MAP160x2x4 = 13             ; 4 colours, 160 pixel & 2 scanlines per mode line (GR.7) 
-DL_MAP160x1x4 = 14             ; 4 colours, 160 pixel & 1 scanline per mode line (GR.15) 
-DL_MAP320x1x1 = 15             ; monochrome, 320 pixel & 1 scanline per mode line (GR.8) 
+DL_CHR40x8x1  = 2               ; monochrome, 40 character & 8 scanlines per mode line (GR. 0)
+DL_CHR40x10x1 = 3               ; monochrome, 40 character & 10 scanlines per mode line
+DL_CHR40x8x4  = 4               ; colour, 40 character & 8 scanlines per mode line (GR. 12)
+DL_CHR40x16x4 = 5               ; colour, 40 character & 16 scanlines per mode line (GR. 13)
+DL_CHR20x8x2  = 6               ; colour (duochrome per character), 20 character & 8 scanlines per mode line (GR. 1)
+DL_CHR20x16x2 = 7               ; colour (duochrome per character), 20 character & 16 scanlines per mode line (GR. 2)
+
+DL_MAP40x8x4  = 8               ; colour, 40 pixel & 8 scanlines per mode line (GR. 3)
+DL_MAP80x4x2  = 9               ; 'duochrome', 80 pixel & 4 scanlines per mode line (GR.4) 
+DL_MAP80x4x4  = 10              ; colour, 80 pixel & 4 scanlines per mode line (GR.5) 
+DL_MAP160x2x2 = 11              ; 'duochrome', 160 pixel & 2 scanlines per mode line (GR.6) 
+DL_MAP160x1x2 = 12              ; 'duochrome', 160 pixel & 1 scanline per mode line (GR.14) 
+DL_MAP160x2x4 = 13              ; 4 colours, 160 pixel & 2 scanlines per mode line (GR.7) 
+DL_MAP160x1x4 = 14              ; 4 colours, 160 pixel & 1 scanline per mode line (GR.15) 
+DL_MAP320x1x1 = 15              ; monochrome, 320 pixel & 1 scanline per mode line (GR.8) 
 
 ; modifiers on mode lines...
 
@@ -1162,7 +1162,7 @@ DL_LMS    = 64
 
 ; general modifier...
 
-DL_DLI   = 128
+DL_DLI    = 128
 
 ;-------------------------------------------------------------------------
 ; End of atari.inc
index 079c4b4da65e5a204036ffb140daf5384eb5a538..8ec72a1728416ea0e449b404868d58c41e190d77 100644 (file)
 ; Zero page, Commodore stuff
 
 TIME            := $A0          ; 60HZ clock
-FNAM_LEN               := $B7          ; Length of filename
-SECADR                 := $B9          ; Secondary address
-DEVNUM                 := $BA          ; Device number
-FNAM           := $BB          ; Address of filename
-FNAM_BANK              := $C7          ; Bank for filename
-KEY_COUNT              := $D0          ; Number of keys in input buffer
-FKEY_COUNT             := $D1          ; Characters for function key
-MODE                   := $D7          ; 40/80 column mode flag
-CURS_X                 := $EC          ; Cursor column
-CURS_Y                 := $EB          ; Cursor row
-SCREEN_PTR             := $E0          ; Pointer to current char in text screen
-CRAM_PTR               := $E2          ; Pointer to current char in color RAM
+FNAM_LEN        := $B7          ; Length of filename
+SECADR          := $B9          ; Secondary address
+DEVNUM          := $BA          ; Device number
+FNAM            := $BB          ; Address of filename
+FNAM_BANK       := $C7          ; Bank for filename
+KEY_COUNT       := $D0          ; Number of keys in input buffer
+FKEY_COUNT      := $D1          ; Characters for function key
+MODE            := $D7          ; 40/80 column mode flag
+CURS_X          := $EC          ; Cursor column
+CURS_Y          := $EB          ; Cursor row
+SCREEN_PTR      := $E0          ; Pointer to current char in text screen
+CRAM_PTR        := $E2          ; Pointer to current char in color RAM
 
 CHARCOLOR       := $F1
 RVS             := $F3          ; Reverse output flag
-SCROLL                 := $F8          ; Disable scrolling flag
+SCROLL          := $F8          ; Disable scrolling flag
 
-BASIC_BUF              := $200         ; Location of command-line
-BASIC_BUF_LEN          = 162           ; Maximum length of command-line
+BASIC_BUF       := $200         ; Location of command-line
+BASIC_BUF_LEN   = 162           ; Maximum length of command-line
 
 FETCH           := $2A2         ; Fetch subroutine in RAM
 FETVEC          := $2AA         ; Vector patch location for FETCH
 STASH           := $2AF         ; Stash routine in RAM
 STAVEC          := $2B9         ; Vector patch location for STASH
 PALFLAG         := $A03         ; $FF=PAL, $00=NTSC
-INIT_STATUS    := $A04         ; Flag: Reset/NMI Status
-FKEY_LEN       := $1000        ; Function key lengths
-FKEY_TEXT      := $100A        ; Function key texts
+INIT_STATUS     := $A04         ; Flag: Reset/NMI Status
+FKEY_LEN        := $1000        ; Function key lengths
+FKEY_TEXT       := $100A        ; Function key texts
 
 ; ---------------------------------------------------------------------------
 ; Kernal routines
 
 ; Direct entries
-CURS_SET               := $CD57
-CURS_ON                := $CD6F
+CURS_SET        := $CD57
+CURS_ON         := $CD6F
 CURS_OFF        := $CD9F
-CLRSCR                 := $C142
-KBDREAD                := $C006
-NEWLINE                := $C363
-PRINT                  := $C322
+CLRSCR          := $C142
+KBDREAD         := $C006
+NEWLINE         := $C363
+PRINT           := $C322
 NMIEXIT         := $FF33
 INDFET          := $FF74
 
 ; ---------------------------------------------------------------------------
 ; Vectors
 
-IRQVec                 := $0314
-BRKVec                 := $0316
-NMIVec                 := $0318
-KeyStoreVec            := $033C
+IRQVec          := $0314
+BRKVec          := $0316
+NMIVec          := $0318
+KeyStoreVec     := $033C
 
 ; ---------------------------------------------------------------------------
 ; I/O: VIC
 
-VIC                    := $D000
-VIC_SPR0_X             := $D000
-VIC_SPR0_Y             := $D001
-VIC_SPR1_X             := $D002
-VIC_SPR1_Y             := $D003
-VIC_SPR2_X             := $D004
-VIC_SPR2_Y             := $D005
-VIC_SPR3_X             := $D006
-VIC_SPR3_Y             := $D007
-VIC_SPR4_X             := $D008
-VIC_SPR4_Y             := $D009
-VIC_SPR5_X             := $D00A
-VIC_SPR5_Y             := $D00B
-VIC_SPR6_X             := $D00C
-VIC_SPR6_Y             := $D00D
-VIC_SPR7_X             := $D00E
-VIC_SPR7_Y             := $D00F
-VIC_SPR_HI_X           := $D010
-VIC_SPR_ENA            := $D015
-VIC_SPR_EXP_Y          := $D017
-VIC_SPR_EXP_X          := $D01D
-VIC_SPR_MCOLOR         := $D01C
+VIC             := $D000
+VIC_SPR0_X      := $D000
+VIC_SPR0_Y      := $D001
+VIC_SPR1_X      := $D002
+VIC_SPR1_Y      := $D003
+VIC_SPR2_X      := $D004
+VIC_SPR2_Y      := $D005
+VIC_SPR3_X      := $D006
+VIC_SPR3_Y      := $D007
+VIC_SPR4_X      := $D008
+VIC_SPR4_Y      := $D009
+VIC_SPR5_X      := $D00A
+VIC_SPR5_Y      := $D00B
+VIC_SPR6_X      := $D00C
+VIC_SPR6_Y      := $D00D
+VIC_SPR7_X      := $D00E
+VIC_SPR7_Y      := $D00F
+VIC_SPR_HI_X    := $D010
+VIC_SPR_ENA     := $D015
+VIC_SPR_EXP_Y   := $D017
+VIC_SPR_EXP_X   := $D01D
+VIC_SPR_MCOLOR  := $D01C
 VIC_SPR_BG_PRIO := $D01B
 
 VIC_SPR_MCOLOR0 := $D025
 VIC_SPR_MCOLOR1 := $D026
 
-VIC_SPR0_COLOR         := $D027
-VIC_SPR1_COLOR         := $D028
-VIC_SPR2_COLOR         := $D029
-VIC_SPR3_COLOR         := $D02A
-VIC_SPR4_COLOR         := $D02B
-VIC_SPR5_COLOR         := $D02C
-VIC_SPR6_COLOR         := $D02D
-VIC_SPR7_COLOR         := $D02E
+VIC_SPR0_COLOR  := $D027
+VIC_SPR1_COLOR  := $D028
+VIC_SPR2_COLOR  := $D029
+VIC_SPR3_COLOR  := $D02A
+VIC_SPR4_COLOR  := $D02B
+VIC_SPR5_COLOR  := $D02C
+VIC_SPR6_COLOR  := $D02D
+VIC_SPR7_COLOR  := $D02E
 
-VIC_CTRL1              := $D011
-VIC_CTRL2              := $D016
+VIC_CTRL1       := $D011
+VIC_CTRL2       := $D016
 
-VIC_HLINE              := $D012
+VIC_HLINE       := $D012
 
-VIC_VIDEO_ADR          := $D018
+VIC_VIDEO_ADR   := $D018
 
-VIC_IRR                := $D019        ; Interrupt request register
-VIC_IMR                := $D01A        ; Interrupt mask register
+VIC_IRR         := $D019        ; Interrupt request register
+VIC_IMR         := $D01A        ; Interrupt mask register
 
 VIC_BORDERCOLOR := $D020
-VIC_BG_COLOR0          := $D021
-VIC_BG_COLOR1          := $D022
-VIC_BG_COLOR2          := $D023
-VIC_BG_COLOR3          := $D024
+VIC_BG_COLOR0   := $D021
+VIC_BG_COLOR1   := $D022
+VIC_BG_COLOR2   := $D023
+VIC_BG_COLOR3   := $D024
 
 ; 128 stuff:
-VIC_KBD_128            := $D02F        ; Extended kbd bits (visible in 64 mode)
-VIC_CLK_128            := $D030        ; Clock rate register (visible in 64 mode)
+VIC_KBD_128     := $D02F        ; Extended kbd bits (visible in 64 mode)
+VIC_CLK_128     := $D030        ; Clock rate register (visible in 64 mode)
 
 
 ; ---------------------------------------------------------------------------
 ; I/O: SID
 
-SID                    := $D400
-SID_S1Lo               := $D400
-SID_S1Hi               := $D401
-SID_PB1Lo              := $D402
-SID_PB1Hi              := $D403
-SID_Ctl1               := $D404
-SID_AD1                := $D405
-SID_SUR1               := $D406
-
-SID_S2Lo               := $D407
-SID_S2Hi               := $D408
-SID_PB2Lo              := $D409
-SID_PB2Hi              := $D40A
-SID_Ctl2               := $D40B
-SID_AD2                := $D40C
-SID_SUR2               := $D40D
-
-SID_S3Lo               := $D40E
-SID_S3Hi               := $D40F
-SID_PB3Lo              := $D410
-SID_PB3Hi              := $D411
-SID_Ctl3               := $D412
-SID_AD3                := $D413
-SID_SUR3               := $D414
-
-SID_FltLo              := $D415
-SID_FltHi              := $D416
-SID_FltCtl             := $D417
-SID_Amp                := $D418
-SID_ADConv1            := $D419
-SID_ADConv2            := $D41A
-SID_Noise              := $D41B
-SID_Read3              := $D41C
+SID             := $D400
+SID_S1Lo        := $D400
+SID_S1Hi        := $D401
+SID_PB1Lo       := $D402
+SID_PB1Hi       := $D403
+SID_Ctl1        := $D404
+SID_AD1         := $D405
+SID_SUR1        := $D406
+
+SID_S2Lo        := $D407
+SID_S2Hi        := $D408
+SID_PB2Lo       := $D409
+SID_PB2Hi       := $D40A
+SID_Ctl2        := $D40B
+SID_AD2         := $D40C
+SID_SUR2        := $D40D
+
+SID_S3Lo        := $D40E
+SID_S3Hi        := $D40F
+SID_PB3Lo       := $D410
+SID_PB3Hi       := $D411
+SID_Ctl3        := $D412
+SID_AD3         := $D413
+SID_SUR3        := $D414
+
+SID_FltLo       := $D415
+SID_FltHi       := $D416
+SID_FltCtl      := $D417
+SID_Amp         := $D418
+SID_ADConv1     := $D419
+SID_ADConv2     := $D41A
+SID_Noise       := $D41B
+SID_Read3       := $D41C
 
 ; ---------------------------------------------------------------------------
 ; I/O: VDC (128 only)
 
-VDC_INDEX              := $D600
-VDC_DATA               := $D601
+VDC_INDEX       := $D600
+VDC_DATA        := $D601
 
 ; ---------------------------------------------------------------------------
 ; I/O: CIAs
 
-CIA1                   := $DC00
-CIA1_PRA               := $DC00
-CIA1_PRB               := $DC01
-CIA1_DDRA              := $DC02
-CIA1_DDRB              := $DC03
+CIA1            := $DC00
+CIA1_PRA        := $DC00
+CIA1_PRB        := $DC01
+CIA1_DDRA       := $DC02
+CIA1_DDRB       := $DC03
 CIA1_TOD10      := $DC08
 CIA1_TODSEC     := $DC09
 CIA1_TODMIN     := $DC0A
 CIA1_TODHR      := $DC0B
-CIA1_ICR               := $DC0D
-CIA1_CRA               := $DC0E
-CIA1_CRB               := $DC0F
-
-CIA2                   := $DD00
-CIA2_PRA               := $DD00
-CIA2_PRB               := $DD01
-CIA2_DDRA              := $DD02
-CIA2_DDRB              := $DD03
+CIA1_ICR        := $DC0D
+CIA1_CRA        := $DC0E
+CIA1_CRB        := $DC0F
+
+CIA2            := $DD00
+CIA2_PRA        := $DD00
+CIA2_PRB        := $DD01
+CIA2_DDRA       := $DD02
+CIA2_DDRB       := $DD03
 CIA2_TOD10      := $DD08
 CIA2_TODSEC     := $DD09
 CIA2_TODMIN     := $DD0A
 CIA2_TODHR      := $DD0B
-CIA2_ICR               := $DD0D
-CIA2_CRA               := $DD0E
-CIA2_CRB               := $DD0F
+CIA2_ICR        := $DD0D
+CIA2_CRA        := $DD0E
+CIA2_CRB        := $DD0F
 
 ; ---------------------------------------------------------------------------
 ; I/O: MMU
 
-MMU_CR                 := $FF00
+MMU_CR          := $FF00
 MMU_CFG_CC65    := %00001110    ; Bank 0 with kernal ROM
 MMU_CFG_RAM0    := %00111111    ; Bank 0 full RAM
 MMU_CFG_RAM1    := %01111111    ; Bank 1 full RAM
@@ -203,9 +203,9 @@ MMU_CFG_RAM3    := %11111111    ; Bank 3 full RAM
 ; ---------------------------------------------------------------------------
 ; Super CPU
 
-SCPU_VIC_Bank1         := $D075
-SCPU_Slow              := $D07A
-SCPU_Fast              := $D07B
+SCPU_VIC_Bank1  := $D075
+SCPU_Slow       := $D07A
+SCPU_Fast       := $D07B
 SCPU_EnableRegs := $D07E
 SCPU_DisableRegs:= $D07F
-SCPU_Detect            := $D0BC
+SCPU_Detect     := $D0BC
index 710c5b273e936ee8eca8aedd987f7df20ea5e3a0..6823403c5fb4752af4f8c957974ed3d46b7e14dc 100644 (file)
@@ -7,43 +7,43 @@
 ; Zero page, Commodore stuff
 
 TIME            := $A0          ; 60 HZ clock
-FNAM_LEN               := $B7          ; Length of filename
-SECADR                 := $B9          ; Secondary address
-DEVNUM                 := $BA          ; Device number
+FNAM_LEN        := $B7          ; Length of filename
+SECADR          := $B9          ; Secondary address
+DEVNUM          := $BA          ; Device number
 FNAM            := $BB          ; Pointer to filename
-KEY_COUNT              := $C6          ; Number of keys in input buffer
+KEY_COUNT       := $C6          ; Number of keys in input buffer
 RVS             := $C7          ; Reverse flag
-CURS_FLAG              := $CC          ; 1 = cursor off
-CURS_BLINK             := $CD          ; Blink counter
-CURS_CHAR              := $CE          ; Character under the cursor
-CURS_STATE             := $CF          ; Cursor blink state
-SCREEN_PTR             := $D1          ; Pointer to current char in text screen
-CURS_X                 := $D3          ; Cursor column
-CURS_Y                 := $D6          ; Cursor row
-CRAM_PTR               := $F3          ; Pointer to current char in color RAM
-
-BASIC_BUF              := $200         ; Location of command-line
-BASIC_BUF_LEN  = 89            ; Maximum length of command-line
+CURS_FLAG       := $CC          ; 1 = cursor off
+CURS_BLINK      := $CD          ; Blink counter
+CURS_CHAR       := $CE          ; Character under the cursor
+CURS_STATE      := $CF          ; Cursor blink state
+SCREEN_PTR      := $D1          ; Pointer to current char in text screen
+CURS_X          := $D3          ; Cursor column
+CURS_Y          := $D6          ; Cursor row
+CRAM_PTR        := $F3          ; Pointer to current char in color RAM
+
+BASIC_BUF       := $200         ; Location of command-line
+BASIC_BUF_LEN   = 89            ; Maximum length of command-line
 
 CHARCOLOR       := $286
-CURS_COLOR      := $287                ; Color under the cursor
-PALFLAG                := $2A6         ; $01 = PAL, $00 = NTSC
+CURS_COLOR      := $287         ; Color under the cursor
+PALFLAG         := $2A6         ; $01 = PAL, $00 = NTSC
 
 
 ; ---------------------------------------------------------------------------
 ; Kernal routines
 
 ; Direct entries
-CLRSCR                 := $E544
-KBDREAD                := $E5B4
+CLRSCR          := $E544
+KBDREAD         := $E5B4
 NMIEXIT         := $FEBC
 
 ; ---------------------------------------------------------------------------
 ; Vector and other locations
 
-IRQVec                 := $0314
-BRKVec                 := $0316
-NMIVec                 := $0318
+IRQVec          := $0314
+BRKVec          := $0316
+NMIVec          := $0318
 
 ; ---------------------------------------------------------------------------
 ; Screen size
@@ -54,157 +54,157 @@ YSIZE           = 25
 ; ---------------------------------------------------------------------------
 ; I/O: VIC
 
-VIC                    := $D000
-VIC_SPR0_X             := $D000
-VIC_SPR0_Y             := $D001
-VIC_SPR1_X             := $D002
-VIC_SPR1_Y             := $D003
-VIC_SPR2_X             := $D004
-VIC_SPR2_Y             := $D005
-VIC_SPR3_X             := $D006
-VIC_SPR3_Y             := $D007
-VIC_SPR4_X             := $D008
-VIC_SPR4_Y             := $D009
-VIC_SPR5_X             := $D00A
-VIC_SPR5_Y             := $D00B
-VIC_SPR6_X             := $D00C
-VIC_SPR6_Y             := $D00D
-VIC_SPR7_X             := $D00E
-VIC_SPR7_Y             := $D00F
-VIC_SPR_HI_X           := $D010
-VIC_SPR_ENA            := $D015
-VIC_SPR_EXP_Y          := $D017
-VIC_SPR_EXP_X          := $D01D
-VIC_SPR_MCOLOR         := $D01C
+VIC             := $D000
+VIC_SPR0_X      := $D000
+VIC_SPR0_Y      := $D001
+VIC_SPR1_X      := $D002
+VIC_SPR1_Y      := $D003
+VIC_SPR2_X      := $D004
+VIC_SPR2_Y      := $D005
+VIC_SPR3_X      := $D006
+VIC_SPR3_Y      := $D007
+VIC_SPR4_X      := $D008
+VIC_SPR4_Y      := $D009
+VIC_SPR5_X      := $D00A
+VIC_SPR5_Y      := $D00B
+VIC_SPR6_X      := $D00C
+VIC_SPR6_Y      := $D00D
+VIC_SPR7_X      := $D00E
+VIC_SPR7_Y      := $D00F
+VIC_SPR_HI_X    := $D010
+VIC_SPR_ENA     := $D015
+VIC_SPR_EXP_Y   := $D017
+VIC_SPR_EXP_X   := $D01D
+VIC_SPR_MCOLOR  := $D01C
 VIC_SPR_BG_PRIO := $D01B
 
 VIC_SPR_MCOLOR0 := $D025
 VIC_SPR_MCOLOR1 := $D026
 
-VIC_SPR0_COLOR         := $D027
-VIC_SPR1_COLOR         := $D028
-VIC_SPR2_COLOR         := $D029
-VIC_SPR3_COLOR         := $D02A
-VIC_SPR4_COLOR         := $D02B
-VIC_SPR5_COLOR         := $D02C
-VIC_SPR6_COLOR         := $D02D
-VIC_SPR7_COLOR         := $D02E
+VIC_SPR0_COLOR  := $D027
+VIC_SPR1_COLOR  := $D028
+VIC_SPR2_COLOR  := $D029
+VIC_SPR3_COLOR  := $D02A
+VIC_SPR4_COLOR  := $D02B
+VIC_SPR5_COLOR  := $D02C
+VIC_SPR6_COLOR  := $D02D
+VIC_SPR7_COLOR  := $D02E
 
-VIC_CTRL1              := $D011
-VIC_CTRL2              := $D016
+VIC_CTRL1       := $D011
+VIC_CTRL2       := $D016
 
-VIC_HLINE              := $D012
+VIC_HLINE       := $D012
 
-VIC_VIDEO_ADR          := $D018
+VIC_VIDEO_ADR   := $D018
 
-VIC_IRR                := $D019        ; Interrupt request register
-VIC_IMR                := $D01A        ; Interrupt mask register
+VIC_IRR         := $D019        ; Interrupt request register
+VIC_IMR         := $D01A        ; Interrupt mask register
 
 VIC_BORDERCOLOR := $D020
-VIC_BG_COLOR0          := $D021
-VIC_BG_COLOR1          := $D022
-VIC_BG_COLOR2          := $D023
-VIC_BG_COLOR3          := $D024
+VIC_BG_COLOR0   := $D021
+VIC_BG_COLOR1   := $D022
+VIC_BG_COLOR2   := $D023
+VIC_BG_COLOR3   := $D024
 
 ; 128 stuff:
-VIC_KBD_128            := $D02F        ; Extended kbd bits (visible in 64 mode)
-VIC_CLK_128            := $D030        ; Clock rate register (visible in 64 mode)
+VIC_KBD_128     := $D02F        ; Extended kbd bits (visible in 64 mode)
+VIC_CLK_128     := $D030        ; Clock rate register (visible in 64 mode)
 
 
 ; ---------------------------------------------------------------------------
 ; I/O: SID
 
-SID                    := $D400
-SID_S1Lo               := $D400
-SID_S1Hi               := $D401
-SID_PB1Lo              := $D402
-SID_PB1Hi              := $D403
-SID_Ctl1               := $D404
-SID_AD1                := $D405
-SID_SUR1               := $D406
-
-SID_S2Lo               := $D407
-SID_S2Hi               := $D408
-SID_PB2Lo              := $D409
-SID_PB2Hi              := $D40A
-SID_Ctl2               := $D40B
-SID_AD2                := $D40C
-SID_SUR2               := $D40D
-
-SID_S3Lo               := $D40E
-SID_S3Hi               := $D40F
-SID_PB3Lo              := $D410
-SID_PB3Hi              := $D411
-SID_Ctl3               := $D412
-SID_AD3                := $D413
-SID_SUR3               := $D414
-
-SID_FltLo              := $D415
-SID_FltHi              := $D416
-SID_FltCtl             := $D417
-SID_Amp                := $D418
-SID_ADConv1            := $D419
-SID_ADConv2            := $D41A
-SID_Noise              := $D41B
-SID_Read3              := $D41C
+SID             := $D400
+SID_S1Lo        := $D400
+SID_S1Hi        := $D401
+SID_PB1Lo       := $D402
+SID_PB1Hi       := $D403
+SID_Ctl1        := $D404
+SID_AD1         := $D405
+SID_SUR1        := $D406
+
+SID_S2Lo        := $D407
+SID_S2Hi        := $D408
+SID_PB2Lo       := $D409
+SID_PB2Hi       := $D40A
+SID_Ctl2        := $D40B
+SID_AD2         := $D40C
+SID_SUR2        := $D40D
+
+SID_S3Lo        := $D40E
+SID_S3Hi        := $D40F
+SID_PB3Lo       := $D410
+SID_PB3Hi       := $D411
+SID_Ctl3        := $D412
+SID_AD3         := $D413
+SID_SUR3        := $D414
+
+SID_FltLo       := $D415
+SID_FltHi       := $D416
+SID_FltCtl      := $D417
+SID_Amp         := $D418
+SID_ADConv1     := $D419
+SID_ADConv2     := $D41A
+SID_Noise       := $D41B
+SID_Read3       := $D41C
 
 ; ---------------------------------------------------------------------------
 ; I/O: VDC (128 only)
 
-VDC_INDEX              := $D600
-VDC_DATA               := $D601
+VDC_INDEX       := $D600
+VDC_DATA        := $D601
 
 ; ---------------------------------------------------------------------------
 ; I/O: CIAs
 
-CIA1                   := $DC00
-CIA1_PRA               := $DC00
-CIA1_PRB               := $DC01
-CIA1_DDRA              := $DC02
-CIA1_DDRB              := $DC03
+CIA1            := $DC00
+CIA1_PRA        := $DC00
+CIA1_PRB        := $DC01
+CIA1_DDRA       := $DC02
+CIA1_DDRB       := $DC03
 CIA1_TOD10      := $DC08
 CIA1_TODSEC     := $DC09
 CIA1_TODMIN     := $DC0A
 CIA1_TODHR      := $DC0B
-CIA1_ICR               := $DC0D
-CIA1_CRA               := $DC0E
-CIA1_CRB               := $DC0F
-
-CIA2                   := $DD00
-CIA2_PRA               := $DD00
-CIA2_PRB               := $DD01
-CIA2_DDRA              := $DD02
-CIA2_DDRB              := $DD03
+CIA1_ICR        := $DC0D
+CIA1_CRA        := $DC0E
+CIA1_CRB        := $DC0F
+
+CIA2            := $DD00
+CIA2_PRA        := $DD00
+CIA2_PRB        := $DD01
+CIA2_DDRA       := $DD02
+CIA2_DDRB       := $DD03
 CIA2_TOD10      := $DD08
 CIA2_TODSEC     := $DD09
 CIA2_TODMIN     := $DD0A
 CIA2_TODHR      := $DD0B
-CIA2_ICR               := $DD0D
-CIA2_CRA               := $DD0E
-CIA2_CRB               := $DD0F
+CIA2_ICR        := $DD0D
+CIA2_CRA        := $DD0E
+CIA2_CRB        := $DD0F
 
 ; ---------------------------------------------------------------------------
 ; Super CPU
 
-SCPU_VIC_Bank1         := $D075
-SCPU_Slow              := $D07A
-SCPU_Fast              := $D07B
+SCPU_VIC_Bank1  := $D075
+SCPU_Slow       := $D07A
+SCPU_Fast       := $D07B
 SCPU_EnableRegs := $D07E
 SCPU_DisableRegs:= $D07F
-SCPU_Detect            := $D0BC
+SCPU_Detect     := $D0BC
 
 
 ; ---------------------------------------------------------------------------
 ; Processor Port at $01
 
-LORAM          = $01           ; Enable the basic rom
-HIRAM          = $02           ; Enable the kernal rom
-IOEN           = $04           ; Enable I/O
-CASSDATA       = $08           ; Cassette data
-CASSPLAY       = $10           ; Cassette: Play
-CASSMOT                = $20           ; Cassette motor on
-TP_FAST                = $80           ; Switch Rossmoeller TurboProcess to fast mode
+LORAM           = $01           ; Enable the basic rom
+HIRAM           = $02           ; Enable the kernal rom
+IOEN            = $04           ; Enable I/O
+CASSDATA        = $08           ; Cassette data
+CASSPLAY        = $10           ; Cassette: Play
+CASSMOT         = $20           ; Cassette motor on
+TP_FAST         = $80           ; Switch Rossmoeller TurboProcess to fast mode
 
-RAMONLY                = $F8           ; (~(LORAM | HIRAM | IOEN)) & $FF
+RAMONLY         = $F8           ; (~(LORAM | HIRAM | IOEN)) & $FF
 
 
index c4476c2e14b6a0353020e7ff8a40a116a84759f9..827c507fc097a59fd97d1f557963ebc354a30101 100644 (file)
@@ -9,8 +9,8 @@
 ;-----------------------------------------------------------------------------
 ; Zeropage stuff
 
-ExecReg                = $00
-IndReg         = $01
+ExecReg         = $00
+IndReg          = $01
 
 ; ---------------------------------------------------------------------------
 ; Screen size
@@ -23,93 +23,93 @@ YSIZE           = 25
 
 ; I/O  $d800: VIC
 
-VIC_SPR0_X             = $00
-VIC_SPR0_Y             = $01
-VIC_SPR1_X             = $02
-VIC_SPR1_Y             = $03
-VIC_SPR2_X             = $04
-VIC_SPR2_Y             = $05
-VIC_SPR3_X             = $06
-VIC_SPR3_Y             = $07
-VIC_SPR4_X             = $08
-VIC_SPR4_Y             = $09
-VIC_SPR5_X             = $0A
-VIC_SPR5_Y             = $0B
-VIC_SPR6_X             = $0C
-VIC_SPR6_Y             = $0D
-VIC_SPR7_X             = $0E
-VIC_SPR7_Y             = $0F
-VIC_SPR_HI_X           = $10
-VIC_SPR_ENA            = $15
-VIC_SPR_EXP_Y          = $17
-VIC_SPR_EXP_X          = $1D
-VIC_SPR_MCOLOR         = $1C
+VIC_SPR0_X      = $00
+VIC_SPR0_Y      = $01
+VIC_SPR1_X      = $02
+VIC_SPR1_Y      = $03
+VIC_SPR2_X      = $04
+VIC_SPR2_Y      = $05
+VIC_SPR3_X      = $06
+VIC_SPR3_Y      = $07
+VIC_SPR4_X      = $08
+VIC_SPR4_Y      = $09
+VIC_SPR5_X      = $0A
+VIC_SPR5_Y      = $0B
+VIC_SPR6_X      = $0C
+VIC_SPR6_Y      = $0D
+VIC_SPR7_X      = $0E
+VIC_SPR7_Y      = $0F
+VIC_SPR_HI_X    = $10
+VIC_SPR_ENA     = $15
+VIC_SPR_EXP_Y   = $17
+VIC_SPR_EXP_X   = $1D
+VIC_SPR_MCOLOR  = $1C
 VIC_SPR_BG_PRIO = $1B
 
 VIC_SPR_MCOLOR0 = $25
 VIC_SPR_MCOLOR1 = $26
 
-VIC_SPR0_COLOR         = $27
-VIC_SPR1_COLOR         = $28
-VIC_SPR2_COLOR         = $29
-VIC_SPR3_COLOR         = $2A
-VIC_SPR4_COLOR         = $2B
-VIC_SPR5_COLOR         = $2C
-VIC_SPR6_COLOR         = $2D
-VIC_SPR7_COLOR         = $2E
+VIC_SPR0_COLOR  = $27
+VIC_SPR1_COLOR  = $28
+VIC_SPR2_COLOR  = $29
+VIC_SPR3_COLOR  = $2A
+VIC_SPR4_COLOR  = $2B
+VIC_SPR5_COLOR  = $2C
+VIC_SPR6_COLOR  = $2D
+VIC_SPR7_COLOR  = $2E
 
-VIC_CTRL1              = $11
-VIC_CTRL2              = $16
+VIC_CTRL1       = $11
+VIC_CTRL2       = $16
 
-VIC_HLINE              = $12
+VIC_HLINE       = $12
 
-VIC_VIDEO_ADR          = $18
+VIC_VIDEO_ADR   = $18
 
-VIC_IRR                = $19           ; Interrupt request register
-VIC_IMR                = $1A           ; Interrupt mask register
+VIC_IRR         = $19           ; Interrupt request register
+VIC_IMR         = $1A           ; Interrupt mask register
 
 VIC_BORDERCOLOR = $20
-VIC_BG_COLOR0          = $21
-VIC_BG_COLOR1          = $22
-VIC_BG_COLOR2          = $23
-VIC_BG_COLOR3          = $24
+VIC_BG_COLOR0   = $21
+VIC_BG_COLOR1   = $22
+VIC_BG_COLOR2   = $23
+VIC_BG_COLOR3   = $24
 
 
 
 ; I/O  $da00: SID 6581
 
-SID_S1Lo               = $00
-SID_S1Hi               = $01
-SID_PB1Lo              = $02
-SID_PB1Hi              = $03
-SID_Ctl1               = $04
-SID_AD1                = $05
-SID_SUR1               = $06
-
-SID_S2Lo               = $07
-SID_S2Hi               = $08
-SID_PB2Lo              = $09
-SID_PB2Hi              = $0A
-SID_Ctl2               = $0B
-SID_AD2                = $0C
-SID_SUR2               = $0D
-
-SID_S3Lo               = $0E
-SID_S3Hi               = $0F
-SID_PB3Lo              = $10
-SID_PB3Hi              = $11
-SID_Ctl3               = $12
-SID_AD3                = $13
-SID_SUR3               = $14
-
-SID_FltLo              = $15
-SID_FltHi              = $16
-SID_FltCtl             = $17
-SID_Amp                = $18
-SID_ADConv1            = $19
-SID_ADConv2            = $1A
-SID_Noise              = $1B
-SID_Read3              = $1C
+SID_S1Lo        = $00
+SID_S1Hi        = $01
+SID_PB1Lo       = $02
+SID_PB1Hi       = $03
+SID_Ctl1        = $04
+SID_AD1         = $05
+SID_SUR1        = $06
+
+SID_S2Lo        = $07
+SID_S2Hi        = $08
+SID_PB2Lo       = $09
+SID_PB2Hi       = $0A
+SID_Ctl2        = $0B
+SID_AD2         = $0C
+SID_SUR2        = $0D
+
+SID_S3Lo        = $0E
+SID_S3Hi        = $0F
+SID_PB3Lo       = $10
+SID_PB3Hi       = $11
+SID_Ctl3        = $12
+SID_AD3         = $13
+SID_SUR3        = $14
+
+SID_FltLo       = $15
+SID_FltHi       = $16
+SID_FltCtl      = $17
+SID_Amp         = $18
+SID_ADConv1     = $19
+SID_ADConv2     = $1A
+SID_Noise       = $1B
+SID_Read3       = $1C
 
 
 ; I/O  $db00: CIA 6526 Inter Process Communication
@@ -178,5 +178,5 @@ SID_Read3           = $1C
 
 ; Out video memory address
 
-COLOR_RAM   = $D400                    ; System bank
+COLOR_RAM   = $D400                     ; System bank
 
index 14bbb3d6952c696a89453d2802cc724ae337e1ff..94256eeb1a360c0ea0387f8080bf479ef300b965 100644 (file)
@@ -9,8 +9,8 @@
 ; ---------------------------------------------------------------------------
 ; Zeropage stuff
 
-ExecReg                = $00
-IndReg         = $01
+ExecReg         = $00
+IndReg          = $01
 
 ; ---------------------------------------------------------------------------
 ; Screen size
@@ -25,13 +25,13 @@ YSIZE           = 25
 ; I/O  $d800: CRTC 6545
 
 .struct CRTC
-        ADDR           .byte
-        DATA           .byte
+        ADDR    .byte
+        DATA    .byte
 .endstruct
 
 ; I/O  $db00: CIA 6526 Inter Process Communication
 ;
-;      IPCcia          =       $db00
+;       IPCcia          =       $db00
 
 .struct CIA
         PRA     .byte
@@ -65,13 +65,13 @@ YSIZE           = 25
 
 ; I/O  $dc00: CIA 6526
 ;
-;      cia             =       $dc00
+;       cia             =       $dc00
 
 
 
 ; I/O  $dd00: ACIA 6551
 ;
-;      acia            =       $dd00
+;       acia            =       $dd00
 
 .struct ACIA
         DATA    .byte
@@ -83,7 +83,7 @@ YSIZE           = 25
 
 ; I/O  $de00: Triport #1 6525
 ;
-;      tpi1            =       $de00
+;       tpi1            =       $de00
 
 .struct TPI
         PRA     .byte
@@ -105,6 +105,6 @@ YSIZE           = 25
 
 ; I/O  $df00: Triport #2 6525
 
-;      tpi2            =       $df00
+;       tpi2            =       $df00
 
 
index 2e29c7293c92ca81ea54a4f79238831c8eb5d59f..d6b0ccf46eca68e1beb2ee5a6b7f52656601e0d1 100644 (file)
@@ -6,24 +6,24 @@
 
 ; Make the __ctype table an exported/imported symbol
 
-        .global           __ctype
+        .global    __ctype
 
 ; Define bitmapped constants for the table entries
 
 CT_NONE         = $00           ; Nothing special
-CT_LOWER       = $01           ; 0 - Lower case char
-CT_UPPER       = $02           ; 1 - Upper case char
-CT_DIGIT       = $04           ; 2 - Numeric digit
-CT_XDIGIT      = $08           ; 3 - Hex digit (both, lower and upper)
-CT_CTRL                = $10           ; 4 - Control character
-CT_SPACE       = $20           ; 5 - The space character itself
-CT_OTHER_WS    = $40           ; 6 - Other whitespace ('\f', '\n', '\r', '\t' and '\v')
-CT_SPACE_TAB   = $80           ; 7 - Space or tab character
+CT_LOWER        = $01           ; 0 - Lower case char
+CT_UPPER        = $02           ; 1 - Upper case char
+CT_DIGIT        = $04           ; 2 - Numeric digit
+CT_XDIGIT       = $08           ; 3 - Hex digit (both, lower and upper)
+CT_CTRL         = $10           ; 4 - Control character
+CT_SPACE        = $20           ; 5 - The space character itself
+CT_OTHER_WS     = $40           ; 6 - Other whitespace ('\f', '\n', '\r', '\t' and '\v')
+CT_SPACE_TAB    = $80           ; 7 - Space or tab character
 
 ; Combined stuff
-CT_ALNUM       = (CT_LOWER | CT_UPPER | CT_DIGIT)
-CT_ALPHA       = (CT_LOWER | CT_UPPER)
-CT_CTRL_SPACE  = (CT_CTRL | CT_SPACE)
-CT_NOT_PUNCT   = (CT_SPACE | CT_CTRL | CT_DIGIT | CT_UPPER | CT_LOWER)
+CT_ALNUM        = (CT_LOWER | CT_UPPER | CT_DIGIT)
+CT_ALPHA        = (CT_LOWER | CT_UPPER)
+CT_CTRL_SPACE   = (CT_CTRL | CT_SPACE)
+CT_NOT_PUNCT    = (CT_SPACE | CT_CTRL | CT_DIGIT | CT_UPPER | CT_LOWER)
 
 
index e17b9c6befc13042d575a46a0f464155d203091d..1df969225f55ae5337ea0e1f888250ba15b8773b 100644 (file)
 ;------------------------------------------------------------------------------
 ; The driver header
 
-.struct        EMD_HDR
-       ID      .byte   3       ; Contains 0x65, 0x6d, 0x64 ("emd")
-       VERSION .byte   1       ; Interface version
-       JUMPTAB .struct
-           INSTALL     .word   ; INSTALL routine
-           UNINSTALL   .word   ; UNINSTALL routine
-           PAGECOUNT   .word   ; PAGECOUNT routine
-           MAP .word   ; MAP routine
-           USE .word   ; USE routine
-           MAPCLEAN    .word   ; MAPCLEAN routine
-           COPYFROM    .word   ; COPYFROM routine
-           COPYTO      .word   ; COPYTO routine
-       .endstruct
+.struct EMD_HDR
+        ID      .byte   3       ; Contains 0x65, 0x6d, 0x64 ("emd")
+        VERSION .byte   1       ; Interface version
+        JUMPTAB .struct
+            INSTALL     .word   ; INSTALL routine
+            UNINSTALL   .word   ; UNINSTALL routine
+            PAGECOUNT   .word   ; PAGECOUNT routine
+            MAP .word   ; MAP routine
+            USE .word   ; USE routine
+            MAPCLEAN    .word   ; MAPCLEAN routine
+            COPYFROM    .word   ; COPYFROM routine
+            COPYTO      .word   ; COPYTO routine
+        .endstruct
 .endstruct
 
 ;------------------------------------------------------------------------------
@@ -59,18 +59,18 @@ EMD_API_VERSION         = $00
 ;------------------------------------------------------------------------------
 ; The asm equivalent to the C em_copy structure
 
-.struct        EM_COPY
-       BUF     .word           ; Memory buffer to copy from or to
-       OFFS    .byte           ; Offset into page
-       PAGE    .word           ; Starting page to copy from or to
-       COUNT   .word           ; Number of bytes to copy
-       UNUSED  .byte           ; Make the size 8 bytes
+.struct EM_COPY
+        BUF     .word           ; Memory buffer to copy from or to
+        OFFS    .byte           ; Offset into page
+        PAGE    .word           ; Starting page to copy from or to
+        COUNT   .word           ; Number of bytes to copy
+        UNUSED  .byte           ; Make the size 8 bytes
 .endstruct
 
 ;------------------------------------------------------------------------------
 ; Variables
 
-               .global _em_drv                         ; Pointer to driver
+        .global _em_drv                         ; Pointer to driver
 
 ;------------------------------------------------------------------------------
 ; Driver entry points
@@ -81,25 +81,25 @@ EMD_API_VERSION         = $00
         .global emd_map
         .global emd_use
         .global emd_commit
-       .global emd_copyfrom
+        .global emd_copyfrom
         .global emd_copyto
 
 ;------------------------------------------------------------------------------
 ; ASM functions
 
-               .global em_clear_ptr
+        .global em_clear_ptr
 
 ;------------------------------------------------------------------------------
 ; C callable functions
 
-       .global _em_load_driver
-       .global _em_unload
-       .global _em_install
-       .global _em_uninstall
-       .global _em_pagecount
-       .global _em_map
-       .global _em_use
-       .global _em_commit
-       .global _em_copyfrom
-       .global _em_copyto
+        .global _em_load_driver
+        .global _em_unload
+        .global _em_install
+        .global _em_uninstall
+        .global _em_pagecount
+        .global _em_map
+        .global _em_use
+        .global _em_commit
+        .global _em_copyfrom
+        .global _em_copyto
 
index 7336719737ad5c6c0fe0e7b0327208102b1fac45..83cd9a75d785db39a5af88fd34e820fd5800fac9 100644 (file)
 ; Error codes, must match the values in the C headers
 .enum
         EOK                     ; No error
-        ENOENT                         ; No such file or directory
-        ENOMEM                         ; Out of memory
-        EACCES                         ; Permission denied
-        ENODEV                         ; No such device
-        EMFILE                         ; Too many open files
-        EBUSY                          ; Device or resource busy
-        EINVAL                         ; Invalid argument
-        ENOSPC                         ; No space left on device
-        EEXIST                         ; File exists
-        EAGAIN                         ; Try again
-        EIO                            ; I/O error
-        EINTR                          ; Interrupted system call
-        ENOSYS                         ; Function not implemented
-        ESPIPE                         ; Illegal seek
+        ENOENT                  ; No such file or directory
+        ENOMEM                  ; Out of memory
+        EACCES                  ; Permission denied
+        ENODEV                  ; No such device
+        EMFILE                  ; Too many open files
+        EBUSY                   ; Device or resource busy
+        EINVAL                  ; Invalid argument
+        ENOSPC                  ; No space left on device
+        EEXIST                  ; File exists
+        EAGAIN                  ; Try again
+        EIO                     ; I/O error
+        EINTR                   ; Interrupted system call
+        ENOSYS                  ; Function not implemented
+        ESPIPE                  ; Illegal seek
         ERANGE                  ; Range error
         EBADF                   ; Bad file number
-        EUNKNOWN                       ; Unknown OS specific error - must be last!
+        EUNKNOWN                ; Unknown OS specific error - must be last!
 
         EMAX    = EUNKNOWN      ; Highest error code
 .endenum
index 49c11a9b59bef1f84a0ee14f9dcd327c3a2b636d..5e6333d91c1740757168838822ad18a560bf2379 100644 (file)
@@ -8,12 +8,12 @@ STDOUT_FILENO   = 1
 STDERR_FILENO   = 2
 
 ; File mode constants, must match the values in the C headers
-O_RDONLY       = $01
-O_WRONLY       = $02
-O_RDWR         = $03
-O_CREAT                = $10
-O_TRUNC                = $20
-O_APPEND       = $40
+O_RDONLY        = $01
+O_WRONLY        = $02
+O_RDWR          = $03
+O_CREAT         = $10
+O_TRUNC         = $20
+O_APPEND        = $40
 O_EXCL          = $80
 
 
index 8f890f141fbc1dff9ace2ec1282f3ff3b3e767b3..6c360dd43b363bc92d6dfb207c5247652d988287 100644 (file)
 ; Driver header stuff
 
 .struct JOY_HDR
-       ID      .byte   3       ; $6A, $6F, $79 ("joy")
-       VERSION .byte   1       ; Interface version
-       MASKS   .byte   8       ; Joystick state mask array
-       JUMPTAB .struct
-           INSTALL     .word   ; INSTALL routine
-           UNINSTALL   .word   ; UNINSTALL routine
-           COUNT       .word   ; COUNT routine
-           READ        .word   ; READ routine
+        ID      .byte   3       ; $6A, $6F, $79 ("joy")
+        VERSION .byte   1       ; Interface version
+        MASKS   .byte   8       ; Joystick state mask array
+        JUMPTAB .struct
+            INSTALL     .word   ; INSTALL routine
+            UNINSTALL   .word   ; UNINSTALL routine
+            COUNT       .word   ; COUNT routine
+            READ        .word   ; READ routine
             IRQ         .word   ; IRQ routine
-       .endstruct
+        .endstruct
 .endstruct
 
 ;------------------------------------------------------------------------------
@@ -60,7 +60,7 @@ JOY_API_VERSION         = $01
 ;------------------------------------------------------------------------------
 ; Variables
 
-               .global _joy_drv                        ; Pointer to driver
+        .global _joy_drv                        ; Pointer to driver
         .global _joy_masks
 
 ;------------------------------------------------------------------------------
@@ -76,10 +76,10 @@ JOY_API_VERSION         = $01
 
         .global _joy_load_driver
         .global _joy_unload
-               .global _joy_install
-               .global _joy_uninstall
-               .global _joy_count
-               .global _joy_read
+        .global _joy_install
+        .global _joy_uninstall
+        .global _joy_count
+        .global _joy_read
 
         .global _joy_clear_ptr
 
index 07c052c08c6c5e59055fb377101e1f73b4e8f7ec..168dd679d5f6fda50fd9f2cf17611c802aab23eb 100644 (file)
@@ -63,7 +63,7 @@
 ; /* Free a loaded module. Note: The given pointer is the pointer to the
 ;  * module memory, not a pointer to a control structure.
 ;  */
-.global                _mod_free
+.global         _mod_free
 
 ; Errors
 .enum
index 91d84e06e19e31f03753f153f91076d4dca13949..24a9f7632131886a1212e3897199265e448edecb 100644 (file)
@@ -2,7 +2,7 @@
 ;/*                                                                           */
 ;/*                            mouse-kernel.inc                               */
 ;/*                                                                           */
-;/*                               Mouse API                                  */
+;/*                                Mouse API                                  */
 ;/*                                                                           */
 ;/*                                                                           */
 ;/*                                                                           */
 ;------------------------------------------------------------------------------
 ; The driver header
 
-.struct        MOUSE_HDR
-       ID              .byte   3       ; Contains 0x6D, 0x6F, 0x75 ("mou")
-       VERSION         .byte   1       ; Interface version
-       JUMPTAB         .struct
-           INSTALL     .addr
-           UNINSTALL   .addr
-                   HIDE        .addr
-           SHOW        .addr
-                   SETBOX      .addr
-           GETBOX      .addr
-           MOVE        .addr
-           BUTTONS     .addr
-           POS         .addr
+.struct MOUSE_HDR
+        ID              .byte   3       ; Contains 0x6D, 0x6F, 0x75 ("mou")
+        VERSION         .byte   1       ; Interface version
+        JUMPTAB         .struct
+            INSTALL     .addr
+            UNINSTALL   .addr
+            HIDE        .addr
+            SHOW        .addr
+            SETBOX      .addr
+            GETBOX      .addr
+            MOVE        .addr
+            BUTTONS     .addr
+            POS         .addr
             INFO        .addr
             IOCTL       .addr
-           IRQ         .addr
-       .endstruct
+            IRQ         .addr
+        .endstruct
         FLAGS           .byte           ; Mouse driver flags
         CALLBACKS .struct               ; Jump instructions
                         .byte           ; JMP opcode
 ;------------------------------------------------------------------------------
 ; The mouse callback structure
 
-.struct        MOUSE_CALLBACKS
-       HIDE    .addr                   ; Hide the mouse cursor
-       SHOW    .addr                   ; Show the mouse cursor
-               MOVEX   .addr                   ; Move the mouse cursor
+.struct MOUSE_CALLBACKS
+        HIDE    .addr                   ; Hide the mouse cursor
+        SHOW    .addr                   ; Show the mouse cursor
+        MOVEX   .addr                   ; Move the mouse cursor
         MOVEY   .addr                   ; Dito for Y
 .endstruct
 
@@ -112,7 +112,7 @@ MOUSE_FLAG_LATE_IRQ     = $80           ; Enable IRQ *after* calling INSTALL
 ;------------------------------------------------------------------------------
 ; Mouse button definitions
 
-MOUSE_BTN_LEFT                 = $10
+MOUSE_BTN_LEFT          = $10
 MOUSE_BTN_RIGHT         = $01
 
 ;------------------------------------------------------------------------------
@@ -129,16 +129,16 @@ MOUSE_BTN_RIGHT         = $01
 .endstruct
 
 .struct MOUSE_BOX
-       MINX    .word
-       MINY    .word
-       MAXX    .word
-       MAXY    .word
+        MINX    .word
+        MINY    .word
+        MAXX    .word
+        MAXY    .word
 .endstruct
 
 ;------------------------------------------------------------------------------
 ; Variables
 
-               .global _mouse_drv              ; Pointer to driver
+        .global _mouse_drv              ; Pointer to driver
         .global _mouse_hidden           ; Counter, 0 = mouse is visible
 
 ;------------------------------------------------------------------------------
@@ -152,14 +152,14 @@ MOUSE_BTN_RIGHT         = $01
         .global _mouse_hide
         .global _mouse_show
         .global _mouse_setbox
-       .global _mouse_getbox
+        .global _mouse_getbox
         .global _mouse_move
         .global _mouse_buttons
         .global _mouse_pos
         .global _mouse_info
         .global _mouse_ioctl
 
-       .global _mouse_clear_ptr
+        .global _mouse_clear_ptr
 
 ;------------------------------------------------------------------------------
 ; Driver entry points (asm callable)
@@ -168,8 +168,8 @@ MOUSE_BTN_RIGHT         = $01
         .global mouse_uninstall
         .global mouse_hide
         .global mouse_show
-        .global mouse_setbox                    
-       .global mouse_getbox
+        .global mouse_setbox                     
+        .global mouse_getbox
         .global mouse_move
         .global mouse_buttons
         .global mouse_pos
index 1ee5ebc8f8b937a979042423926ca47f1857a8b6..cc83d7cea77ae56790a3778b04286d4cf40a19dc 100644 (file)
@@ -5,17 +5,17 @@
 
 ;; FIXME: optimize zeropage usage
 
-SCREEN_PTR     = $62           ;2
+SCREEN_PTR      = $62           ;2
 CRAM_PTR        = $64           ;2
-CHARCOLOR      = $66
-BGCOLOR                = $67
-RVS            = $68
-CURS_X         = $69
-CURS_Y         = $6a
+CHARCOLOR       = $66
+BGCOLOR         = $67
+RVS             = $68
+CURS_X          = $69
+CURS_Y          = $6a
 
 tickcount       = $6b           ;2
 
-VBLANK_FLAG    = $70
+VBLANK_FLAG     = $70
 
 ringbuff        = $0200
 ringwrite       = $71
@@ -26,20 +26,20 @@ ppuhi           = $74
 ppulo           = $75
 ppuval          = $76
 
-screenrows     = (30-1)
+screenrows      = (30-1)
 charsperline    = 32
 xsize           = charsperline
 
 ;; PPU defines
 
-PPU_CTRL1              = $2000
-PPU_CTRL2      = $2001
-PPU_STATUS     = $2002
-PPU_SPR_ADDR   = $2003
-PPU_SPR_IO     = $2004
-PPU_VRAM_ADDR1 = $2005
-PPU_VRAM_ADDR2 = $2006
-PPU_VRAM_IO    = $2007
+PPU_CTRL1       = $2000
+PPU_CTRL2       = $2001
+PPU_STATUS      = $2002
+PPU_SPR_ADDR    = $2003
+PPU_SPR_IO      = $2004
+PPU_VRAM_ADDR1  = $2005
+PPU_VRAM_ADDR2  = $2006
+PPU_VRAM_IO     = $2007
 
 ;; APU defines
 
@@ -63,30 +63,30 @@ APU_MODCTRL     = $4010         ; Delta Modulation Control Register (W)
 APU_MODDA       = $4011         ; Delta Modulation D/A Register (W)
 APU_MODADDR     = $4012         ; Delta Modulation Address Register (W)
 APU_MODLEN      = $4013         ; Delta Modulation Data Length Register (W)
-APU_SPR_DMA            = $4014         ; Sprite DMA Register (W)
-APU_CHANCTRL           = $4015         ; Sound/Vertical Clock Signal Register (R)
-APU_PAD1               = $4016         ; Joypad #1 (RW)
-APU_PAD2       = $4017         ; Joypad #2/SOFTCLK (RW)
+APU_SPR_DMA     = $4014         ; Sprite DMA Register (W)
+APU_CHANCTRL    = $4015         ; Sound/Vertical Clock Signal Register (R)
+APU_PAD1        = $4016         ; Joypad #1 (RW)
+APU_PAD2        = $4017         ; Joypad #2/SOFTCLK (RW)
 
 
-CH_HLINE       = 11
-CH_VLINE       = 14
-CH_ULCORNER    = 176
-CH_URCORNER    = 174
-CH_LLCORNER    = 173
-CH_LRCORNER    = 189
-CH_TTEE                = 178
-CH_RTEE                = 179
-CH_BTEE                = 177
-CH_LTEE                = 171
-CH_CROSS       = 123
-CH_CURS_UP             = 145
-CH_CURS_DOWN   = 17
-CH_CURS_LEFT   = 157
-CH_CURS_RIGHT  = 29
-CH_PI          = 126
-CH_DEL         = 20
-CH_INS         = 148
+CH_HLINE        = 11
+CH_VLINE        = 14
+CH_ULCORNER     = 176
+CH_URCORNER     = 174
+CH_LLCORNER     = 173
+CH_LRCORNER     = 189
+CH_TTEE         = 178
+CH_RTEE         = 179
+CH_BTEE         = 177
+CH_LTEE         = 171
+CH_CROSS        = 123
+CH_CURS_UP      = 145
+CH_CURS_DOWN    = 17
+CH_CURS_LEFT    = 157
+CH_CURS_RIGHT   = 29
+CH_PI           = 126
+CH_DEL          = 20
+CH_INS          = 148
 CH_ENTER        = 10
 CH_STOP         = 3
 CH_ESC          = 27
index 5bdbe05cb59fba0f2f858f582f0989d78addfd78..6e0caa76b001cf9912cda73d2d181e3901d1de68 100644 (file)
@@ -1,8 +1,8 @@
 ;*****************************************************************************/
 ;*                                                                           */
-;*                                         o65.inc                                  */
+;*                                  o65.inc                                  */
 ;*                                                                           */
-;*                   Definitions for the o65 file format                    */
+;*                    Definitions for the o65 file format                    */
 ;*                                                                           */
 ;*                                                                           */
 ;*                                                                           */
@@ -64,7 +64,7 @@ O65_MAGIC_2             =       $35     ; '5'
 O65_VERSION             =       $00
 
 ; Defines for the mode word
-O65_CPU_65816           =       $8000          ; Executable is for 65816
+O65_CPU_65816           =       $8000   ; Executable is for 65816
 O65_CPU_6502            =       $0000   ; Executable is for the 6502
 O65_CPU_MASK            =       $8000   ; Mask to extract CPU type
 
@@ -91,7 +91,7 @@ O65_BSSZERO             =       $0200   ; BSS segment must be zeroed
 O65_BSSZERO_MASK        =       $0200   ; Mask to extract bss zero flag
 
 ; The following is used if O65_CPU == 6502
-O65_CPU2_6502                  =       $0000   ; Executable is for 6502
+O65_CPU2_6502           =       $0000   ; Executable is for 6502
 O65_CPU2_65C02          =       $0010   ; Executable is for 65C02
 O65_CPU2_65SC02         =       $0020   ; Executable is for 65SC02
 O65_CPU2_65CE02         =       $0030   ; Executable is for 65CE02
@@ -127,14 +127,14 @@ O65_SEGID_MASK          =       $07
 
 ; Option tags
 O65_OPT_FILENAME        =       0
-O65_OPT_OS                     =       1
-O65_OPT_ASM                    =       2
-O65_OPT_AUTHOR                 =       3
-O65_OPT_TIMESTAMP              =       4
+O65_OPT_OS              =       1
+O65_OPT_ASM             =       2
+O65_OPT_AUTHOR          =       3
+O65_OPT_TIMESTAMP       =       4
 
 ; Operating system codes for O65_OPT_OS
-O65_OS_OSA65                   =       1
-O65_OS_LUNIX                   =       2
+O65_OS_OSA65            =       1
+O65_OS_LUNIX            =       2
 O65_OS_CC65             =       3
 O65_OS_OPENCBM          =       4
 
index 1950046cc4b84e064de3ecad3f67c80e643b8d12..a3dadf48dab0bc38558d886ac452fe713942263d 100644 (file)
@@ -6,25 +6,25 @@
 ; ---------------------------------------------------------------------------
 ; Zero page, Commodore stuff
 
-MEMSIZE                := $34          ; Size of memory installed
+MEMSIZE         := $34          ; Size of memory installed
 TIME            := $8D          ; 60HZ clock
-KEY_COUNT              := $9E          ; Number of keys in input buffer
-RVS            := $9F          ; Reverse flag
-CURS_FLAG      := $A7          ; 1 = cursor off
-CURS_BLINK     := $A8          ; Blink counter
-CURS_CHAR      := $A9          ; Character under the cursor
-CURS_STATE             := $AA          ; Cursor blink state
-SCREEN_PTR             := $C4          ; Pointer to current char in text screen
-CURS_X                 := $C6          ; Cursor column
+KEY_COUNT       := $9E          ; Number of keys in input buffer
+RVS             := $9F          ; Reverse flag
+CURS_FLAG       := $A7          ; 1 = cursor off
+CURS_BLINK      := $A8          ; Blink counter
+CURS_CHAR       := $A9          ; Character under the cursor
+CURS_STATE      := $AA          ; Cursor blink state
+SCREEN_PTR      := $C4          ; Pointer to current char in text screen
+CURS_X          := $C6          ; Cursor column
 FNLEN           := $D1          ; Length of filename
 LFN             := $D2          ; Current Logical File Number
-SECADR         := $D3          ; Secondary address
-DEVNUM         := $D4          ; Device number
-SCR_LINELEN    := $D5          ; Screen line length
-CURS_Y                 := $D8          ; Cursor row
+SECADR          := $D3          ; Secondary address
+DEVNUM          := $D4          ; Device number
+SCR_LINELEN     := $D5          ; Screen line length
+CURS_Y          := $D8          ; Cursor row
 FNADR           := $DA          ; Pointer to file name
 
-KEY_BUF                := $26F         ; Keyboard buffer
+KEY_BUF         := $26F         ; Keyboard buffer
 
 ;----------------------------------------------------------------------------
 ; PET ROM type detection
@@ -38,17 +38,17 @@ PET_4000        = $FD
 ;----------------------------------------------------------------------------
 ; Vector and other locations
 
-IRQVec         := $0090
-BRKVec         := $0092
-NMIVec         := $0094
+IRQVec          := $0090
+BRKVec          := $0092
+NMIVec          := $0094
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6522 VIA2
 
-VIA            := $E840
+VIA             := $E840
 VIA_PRB         := $E840
 VIA_PRA         := $E841
-VIA_DDRB       := $E842
-VIA_DDRA       := $E843
+VIA_DDRB        := $E842
+VIA_DDRA        := $E843
 
 
index 8d07731b22eddd2f19e4f083925a4a153186cc51..014c18e602e77bb7cc11708da3bf83bb1e3a4eed 100644 (file)
@@ -8,41 +8,41 @@
 
 TMPPTR          := $22          ; Temporary ptr used by BASIC
 TIME            := $A3          ; 60HZ clock
-FNAM_LEN               := $AB          ; Length of filename
+FNAM_LEN        := $AB          ; Length of filename
 LFN             := $AC          ; Logical file number
-SECADR                 := $AD          ; Secondary address
-DEVNUM                 := $AE          ; Device number
+SECADR          := $AD          ; Secondary address
+DEVNUM          := $AE          ; Device number
 FNAM            := $AF          ; Pointer to filename for OPEN
-KEY_COUNT              := $EF          ; Number of keys in input buffer
+KEY_COUNT       := $EF          ; Number of keys in input buffer
 RVS             := $C2          ; Reverse flag
-CURS_X                 := $CA          ; Cursor column
-CURS_Y                 := $CD          ; Cursor row
-SCREEN_PTR             := $C8          ; Pointer to current char in text screen
-CRAM_PTR               := $EA          ; Pointer to current char in color RAM
+CURS_X          := $CA          ; Cursor column
+CURS_Y          := $CD          ; Cursor row
+SCREEN_PTR      := $C8          ; Pointer to current char in text screen
+CRAM_PTR        := $EA          ; Pointer to current char in color RAM
 
-BASIC_BUF              := $200         ; Location of command-line
-BASIC_BUF_LEN  = 89            ; Maximum length of command-line
+BASIC_BUF       := $200         ; Location of command-line
+BASIC_BUF_LEN   = 89            ; Maximum length of command-line
 
-FNBUF                  := $25E         ; Buffer for filename
+FNBUF           := $25E         ; Buffer for filename
 FETCH           := $494         ; lda (zp),y from RAM
 CHARCOLOR       := $53B
-FKEY_COUNT             := $55D         ; Characters for function key
-FKEY_SPACE             := $55F         ; Function key definitions
-FKEY_ORIG              := $F3D2        ; Original definitions
+FKEY_COUNT      := $55D         ; Characters for function key
+FKEY_SPACE      := $55F         ; Function key definitions
+FKEY_ORIG       := $F3D2        ; Original definitions
 
 ; ---------------------------------------------------------------------------
 ; Kernal routines
 
 ; Direct entries
-CLRSCR                 := $D88B
-KBDREAD                := $D8C1
+CLRSCR          := $D88B
+KBDREAD         := $D8C1
 
 ; ---------------------------------------------------------------------------
 ; Vector and other locations
 
-IRQVec                 := $0314
-BRKVec                 := $0316
-NMIVec                 := $0318
+IRQVec          := $0314
+BRKVec          := $0316
+NMIVec          := $0318
 
 ; ---------------------------------------------------------------------------
 ; Screen size
@@ -53,29 +53,29 @@ YSIZE           = 25
 ; ---------------------------------------------------------------------------
 ; I/O
 
-TED_T1LO               := $FF00
-TED_T1HI               := $FF01
-TED_T2LO               := $FF02
-TED_T2HI               := $FF03
-TED_T3LO               := $FF04
-TED_T4HI               := $FF05
+TED_T1LO        := $FF00
+TED_T1HI        := $FF01
+TED_T2LO        := $FF02
+TED_T2HI        := $FF03
+TED_T3LO        := $FF04
+TED_T4HI        := $FF05
 TED_MULTI1      := $FF07
-TED_KBD                := $FF08
-TED_CURSHI             := $FF0C
-TED_CURSLO             := $FF0D
-TED_V1FRQLO            := $FF0E
-TED_V2FRQLO            := $FF0F
-TED_V2FRQHI            := $FF10
-TED_BGCOLOR            := $FF15
-TED_COLOR1             := $FF16
-TED_COLOR2             := $FF17
-TED_COLOR3             := $FF18
-TED_BORDERCOLOR        := $FF19
-TED_VLINEHI            := $FF1C
-TED_VLINELO            := $FF1D
-TED_HPOS               := $FF1E
-TED_ROMSEL             := $FF3E
-TED_RAMSEL             := $FF3F
+TED_KBD         := $FF08
+TED_CURSHI      := $FF0C
+TED_CURSLO      := $FF0D
+TED_V1FRQLO     := $FF0E
+TED_V2FRQLO     := $FF0F
+TED_V2FRQHI     := $FF10
+TED_BGCOLOR     := $FF15
+TED_COLOR1      := $FF16
+TED_COLOR2      := $FF17
+TED_COLOR3      := $FF18
+TED_BORDERCOLOR := $FF19
+TED_VLINEHI     := $FF1C
+TED_VLINELO     := $FF1D
+TED_HPOS        := $FF1E
+TED_ROMSEL      := $FF3E
+TED_RAMSEL      := $FF3F
 
 ; ---------------------------------------------------------------------------
 ; RAM/ROM selection addresses
index c8eab707ad407c0670cb09c31fd8fcb83aefa177..7fc5bf9c299f48d06d8367dfc3c672f6cba86d3f 100644 (file)
@@ -48,7 +48,7 @@
             PUT         .word   ; PUT routine
             STATUS      .word   ; STATUS routine
             IOCTL       .word   ; IOCTL routine
-           IRQ         .word   ; IRQ routine
+            IRQ         .word   ; IRQ routine
         .endstruct
 .endstruct
 
@@ -74,44 +74,44 @@ SER_API_VERSION         = $00
 
 ; Baudrate
 SER_BAUD_45_5           =       $00
-SER_BAUD_50                    =       $01
+SER_BAUD_50             =       $01
 SER_BAUD_75             =       $02
-SER_BAUD_110                   =       $03
-SER_BAUD_134_5                 =       $04
+SER_BAUD_110            =       $03
+SER_BAUD_134_5          =       $04
 SER_BAUD_150            =       $05
-SER_BAUD_300                   =       $06
-SER_BAUD_600                   =       $07
-SER_BAUD_1200                  =       $08
+SER_BAUD_300            =       $06
+SER_BAUD_600            =       $07
+SER_BAUD_1200           =       $08
 SER_BAUD_1800           =       $09
-SER_BAUD_2400                  =       $0A
+SER_BAUD_2400           =       $0A
 SER_BAUD_3600           =       $0B
-SER_BAUD_4800                  =       $0C
+SER_BAUD_4800           =       $0C
 SER_BAUD_7200           =       $0D
-SER_BAUD_9600                  =       $0E
-SER_BAUD_19200                 =       $0F
-SER_BAUD_38400                 =       $10
-SER_BAUD_57600                 =       $11
-SER_BAUD_115200                =       $12
-SER_BAUD_230400                =       $13
-SER_BAUD_31250         =       $14
-SER_BAUD_62500         =       $15
+SER_BAUD_9600           =       $0E
+SER_BAUD_19200          =       $0F
+SER_BAUD_38400          =       $10
+SER_BAUD_57600          =       $11
+SER_BAUD_115200         =       $12
+SER_BAUD_230400         =       $13
+SER_BAUD_31250          =       $14
+SER_BAUD_62500          =       $15
 
 ; Data bit settings
-SER_BITS_5                     =       $00
-SER_BITS_6                     =       $01
-SER_BITS_7                     =       $02
-SER_BITS_8                     =       $03
+SER_BITS_5              =       $00
+SER_BITS_6              =       $01
+SER_BITS_7              =       $02
+SER_BITS_8              =       $03
 
 ; Stop bit settings
-SER_STOP_1                     =       $00
-SER_STOP_2                     =       $01
+SER_STOP_1              =       $00
+SER_STOP_2              =       $01
 
 ; Parity
-SER_PAR_NONE                   =       $00
-SER_PAR_ODD                    =       $01
-SER_PAR_EVEN                   =       $02
-SER_PAR_MARK                   =       $03
-SER_PAR_SPACE                  =       $04
+SER_PAR_NONE            =       $00
+SER_PAR_ODD             =       $01
+SER_PAR_EVEN            =       $02
+SER_PAR_MARK            =       $03
+SER_PAR_SPACE           =       $04
 
 ; Handshake
 SER_HS_NONE             =       $00    ; No handshake
@@ -119,16 +119,16 @@ SER_HS_HW               =       $01    ; Hardware (RTS/CTS) handshake
 SER_HS_SW               =       $02    ; Software handshake
 
 ; Bit masks to mask out things from the status returned by ser_status
-SER_STATUS_PE                  =       $01     ; Parity error
-SER_STATUS_FE                  =       $02     ; Framing error
-SER_STATUS_OE           =       $04    ; Overrun error
-SER_STATUS_DCD                 =       $20     ; NOT data carrier detect
-SER_STATUS_DSR                 =       $40     ; NOT data set ready
+SER_STATUS_PE           =       $01     ; Parity error
+SER_STATUS_FE           =       $02     ; Framing error
+SER_STATUS_OE           =       $04     ; Overrun error
+SER_STATUS_DCD          =       $20     ; NOT data carrier detect
+SER_STATUS_DSR          =       $40     ; NOT data set ready
 
 ;------------------------------------------------------------------------------
 ; Variables
 
-               .global _ser_drv                         ; Pointer to driver
+        .global _ser_drv                         ; Pointer to driver
 
 ;------------------------------------------------------------------------------
 ; Driver entry points
@@ -141,7 +141,7 @@ SER_STATUS_DSR              =       $40     ; NOT data set ready
         .global ser_put
         .global ser_status
         .global ser_ioctl
-       .global ser_irq
+        .global ser_irq
 
 ;------------------------------------------------------------------------------
 ; C callable functions
index ef710a30eecf11d2fcb33ca14e2065eb4267cac7..383417c3d2f0ee8a772b5ac08853fcf8645c7cb6 100644 (file)
 ;    distribution.\r
 ;\r
 \r
-.define _SMCDesignator .mid(0, .tcount(label) - 1, label) .ident(.concat(.string(.right(1, label)), "_SMC"))\r
-.define _SMCAlias .mid(0, .tcount(alias) - 1, alias) .ident(.concat(.string(.right(1, alias)), "_SMC"))\r
+.define _SMCDesignator  .mid(0, .tcount(label) - 1, label) .ident(.concat(.string(.right(1, label)), "_SMC"))\r
+.define _SMCAlias       .mid(0, .tcount(alias) - 1, alias) .ident(.concat(.string(.right(1, alias)), "_SMC"))\r
 .define SMC_AbsAdr      $FADE\r
-.define SMC_ZpAdr               $00\r
+.define SMC_ZpAdr       $00\r
 .define SMC_Opcode      nop\r
-.define SMC_Value               $42\r
+.define SMC_Value       $42\r
 \r
 .macro SMC_OperateOnValue opcode, label\r
         opcode _SMCDesignator+1\r
 .export _SMCAlias := _SMCDesignator\r
 .endmacro\r
 \r
-.macro  SMC    label, statement\r
+.macro  SMC     label, statement\r
 _SMCDesignator: statement\r
 .endmacro\r
 \r
 .macro SMC_TransferOpcode       label, opcode, register\r
 .if .paramcount = 2 .or .match ({register}, a)\r
-                        lda #opcode\r
-                        sta _SMCDesignator\r
+        lda #opcode\r
+        sta _SMCDesignator\r
 .elseif .match ({register}, x)\r
-                        ldx #opcode\r
-                        stx _SMCDesignator\r
+        ldx #opcode\r
+        stx _SMCDesignator\r
 .elseif .match ({register}, y)\r
-                        ldy #opcode\r
-                        sty _SMCDesignator\r
+        ldy #opcode\r
+        sty _SMCDesignator\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_LoadOpcode   label, register\r
 .if .paramcount = 1 .or .match ({register}, a)\r
-                        lda _SMCDesignator\r
+        lda _SMCDesignator\r
 .elseif .match ({register}, x)\r
-                        ldx _SMCDesignator\r
+        ldx _SMCDesignator\r
 .elseif .match ({register}, y)\r
-                        ldy _SMCDesignator\r
+        ldy _SMCDesignator\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_StoreOpcode  label, register\r
 .if .paramcount = 1 .or .match ({register}, a)\r
-                        sta _SMCDesignator\r
+        sta _SMCDesignator\r
 .elseif .match ({register}, x)\r
-                        stx _SMCDesignator\r
+        stx _SMCDesignator\r
 .elseif .match ({register}, y)\r
-                        sty _SMCDesignator\r
+        sty _SMCDesignator\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_ChangeBranch         label, destination, register\r
 .if .paramcount = 2 .or .match ({register}, a)\r
-                        lda #(destination - _SMCDesignator -2)\r
-                        sta _SMCDesignator+1\r
+        lda #(destination - _SMCDesignator -2)\r
+        sta _SMCDesignator+1\r
 .elseif .match ({register}, x)\r
-                        ldx #(destination - _SMCDesignator - 2)\r
-                        stx _SMCDesignator+1\r
+        ldx #(destination - _SMCDesignator - 2)\r
+        stx _SMCDesignator+1\r
 .elseif .match ({register}, y)\r
-                        ldy #(destination - _SMCDesignator - 2)\r
-                        sty _SMCDesignator+1\r
+        ldy #(destination - _SMCDesignator - 2)\r
+        sty _SMCDesignator+1\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_TransferValue        label, value, register\r
 .if .paramcount = 2 .or .match ({register}, a)\r
-                        lda value\r
-                        sta _SMCDesignator+1\r
+        lda value\r
+        sta _SMCDesignator+1\r
 .elseif .match ({register}, x)\r
-                        ldx value\r
-                        stx _SMCDesignator+1\r
+        ldx value\r
+        stx _SMCDesignator+1\r
 .elseif .match ({register}, y)\r
-                        ldy value\r
-                        sty _SMCDesignator+1\r
+        ldy value\r
+        sty _SMCDesignator+1\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_LoadValue    label, register\r
 .if .paramcount = 1 .or .match ({register}, a)\r
-                        lda _SMCDesignator+1\r
+        lda _SMCDesignator+1\r
 .elseif .match ({register}, x)\r
-                        ldx _SMCDesignator+1\r
+        ldx _SMCDesignator+1\r
 .elseif .match ({register}, y)\r
-                        ldy _SMCDesignator+1\r
+        ldy _SMCDesignator+1\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_StoreValue   label, register\r
 .if .paramcount = 1 .or .match ({register}, a)\r
-                        sta _SMCDesignator+1\r
+        sta _SMCDesignator+1\r
 .elseif .match ({register}, x)\r
-                        stx _SMCDesignator+1\r
+        stx _SMCDesignator+1\r
 .elseif .match ({register}, y)\r
-                        sty _SMCDesignator+1\r
+        sty _SMCDesignator+1\r
 .endif\r
 .endmacro\r
 \r
@@ -146,49 +146,48 @@ SMC_StoreValue label, register
 \r
 .macro SMC_TransferHighByte     label, value, register\r
 .if .paramcount = 2 .or .match ({register}, a)\r
-                        lda    value\r
-                        sta _SMCDesignator+2\r
+        lda value\r
+        sta _SMCDesignator+2\r
 .elseif .match ({register}, x)\r
-                        ldx value\r
-                        stx _SMCDesignator+2\r
+        ldx value\r
+        stx _SMCDesignator+2\r
 .elseif .match ({register}, y)\r
-                        ldy value\r
-                        sty _SMCDesignator+2\r
+        ldy value\r
+        sty _SMCDesignator+2\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_LoadHighByte label, register\r
 .if .paramcount = 1 .or .match ({register}, a)\r
-                        lda _SMCDesignator+2\r
+        lda _SMCDesignator+2\r
 .elseif .match ({register}, x)\r
-                        ldx _SMCDesignator+2\r
+        ldx _SMCDesignator+2\r
 .elseif .match ({register}, y)\r
-                        ldy _SMCDesignator+2\r
+        ldy _SMCDesignator+2\r
 .endif\r
 .endmacro\r
 \r
 .macro SMC_StoreHighByte        label, register\r
 .if .paramcount = 1 .or .match ({register}, a)\r
-                        sta _SMCDesignator+2\r
+        sta _SMCDesignator+2\r
 .elseif .match ({register}, x)\r
-                        stx _SMCDesignator+2\r
+        stx _SMCDesignator+2\r
 .elseif .match ({register}, y)\r
-                        sty _SMCDesignator+2\r
+        sty _SMCDesignator+2\r
 .endif\r
 .endmacro\r
 \r
-\r
 .macro SMC_TransferAddressSingle        label, address, register\r
 .if .paramcount = 2 .or .match ((register), a)\r
         .if (.match (.left (1, {address}), #))\r
                 ; immediate mode\r
-        lda     #<(.right (.tcount ({address})-1, {address}))\r
+                lda #<(.right (.tcount ({address})-1, {address}))\r
                 sta _SMCDesignator+1\r
-        lda #>(.right (.tcount ({address})-1, {address}))\r
+                lda #>(.right (.tcount ({address})-1, {address}))\r
                 sta _SMCDesignator+2\r
-    .else\r
-        ; assume absolute or zero page\r
-                lda    address\r
+        .else\r
+                ; assume absolute or zero page\r
+                lda address\r
                 sta _SMCDesignator+1\r
                 lda 1+(address)\r
                 sta _SMCDesignator+2\r
@@ -196,13 +195,13 @@ SMC_StoreValue label, register
 .elseif .match ((register), x)\r
         .if (.match (.left (1, {address}), #))\r
                 ; immediate mode\r
-        ldx     #<(.right (.tcount ({address})-1, {address}))\r
+                ldx #<(.right (.tcount ({address})-1, {address}))\r
                 stx _SMCDesignator+1\r
-        ldx #>(.right (.tcount ({address})-1, {address}))\r
+                ldx #>(.right (.tcount ({address})-1, {address}))\r
                 stx _SMCDesignator+2\r
-    .else\r
-        ; assume absolute or zero page\r
-                ldx    address\r
+        .else\r
+                ; assume absolute or zero page\r
+                ldx address\r
                 stx _SMCDesignator+1\r
                 ldx 1+(address)\r
                 stx _SMCDesignator+2\r
@@ -210,13 +209,13 @@ SMC_StoreValue label, register
 .elseif .match ((register), y)\r
         .if (.match (.left (1, {address}), #))\r
                 ; immediate mode\r
-        ldy     #<(.right (.tcount ({address})-1, {address}))\r
+                ldy #<(.right (.tcount ({address})-1, {address}))\r
                 sty _SMCDesignator+1\r
-        ldy #>(.right (.tcount ({address})-1, {address}))\r
+                ldy #>(.right (.tcount ({address})-1, {address}))\r
                 sty _SMCDesignator+2\r
-    .else\r
-        ; assume absolute or zero page\r
-                ldy    address\r
+        .else\r
+                ; assume absolute or zero page\r
+                ldy address\r
                 sty _SMCDesignator+1\r
                 ldy 1+(address)\r
                 sty _SMCDesignator+2\r
@@ -224,17 +223,16 @@ SMC_StoreValue label, register
 .endif\r
 .endmacro\r
 \r
-\r
 .macro SMC_TransferAddress      label, address\r
 .if (.match (.left (1, {address}), #))\r
         ; immediate mode\r
-        lda    #<(.right (.tcount ({address})-1, {address}))\r
+        lda #<(.right (.tcount ({address})-1, {address}))\r
         sta _SMCDesignator+1\r
         ldx #>(.right (.tcount ({address})-1, {address}))\r
         stx _SMCDesignator+2\r
 .else\r
         ; assume absolute or zero page\r
-        lda    {address}\r
+        lda {address}\r
         sta _SMCDesignator+1\r
         ldx 1+{address}\r
         stx _SMCDesignator)+2\r
@@ -242,8 +240,6 @@ SMC_StoreValue label, register
 .endmacro\r
 \r
 .macro SMC_StoreAddress label\r
-                sta _SMCDesignator+1\r
-                stx _SMCDesignator+2\r
+        sta _SMCDesignator+1\r
+        stx _SMCDesignator+2\r
 .endmacro\r
-\r
-\r
index ab9d86d2cf649940492e6995305fb0f41767f343..fc75238cff5500f0689aa3f11d6060a3e0c82c36 100644 (file)
 ;----------------------------------------------------------------------------
 ; Constants
 
-_IOFBF         = 0
-_IOLBF         = 1
-_IONBF         = 2
-BUFSIZ         = 256
-EOF            = -1
+_IOFBF          = 0
+_IOLBF          = 1
+_IONBF          = 2
+BUFSIZ          = 256
+EOF             = -1
 .if .defined(__APPLE2__) .or .defined(__APPLE2ENH__)
-FILENAME_MAX   = 64+1
+FILENAME_MAX    = 64+1
 .elseif .defined(__ATARI__)
-FILENAME_MAX   = 12+1
+FILENAME_MAX    = 12+1
 .elseif .defined(__LUNIX__)
 FILENAME_MAX    = 80+1
 .else
-FILENAME_MAX   = 16+1
+FILENAME_MAX    = 16+1
 .endif
-L_tmpnam       = FILENAME_MAX
-SEEK_CUR       = 0
-SEEK_END       = 1
-SEEK_SET       = 2
-TMP_MAX                = 256
+L_tmpnam        = FILENAME_MAX
+SEEK_CUR        = 0
+SEEK_END        = 1
+SEEK_SET        = 2
+TMP_MAX         = 256
 
 ; Maximum number of open files (size of the file table)
 FOPEN_MAX       = 8
index 0e026ee1b3debd2e0aaf6502984442d7aa208404..a4559bb2a97a9ac7fd91395e1b173e8c58774db6 100644 (file)
@@ -41,7 +41,7 @@
         TGI_ERR_INV_DRIVER      ; Invalid driver
         TGI_ERR_INV_MODE        ; Mode not supported by driver
         TGI_ERR_INV_ARG         ; Invalid function argument
-        TGI_ERR_INV_FUNC               ; Function not supported
+        TGI_ERR_INV_FUNC        ; Function not supported
         TGI_ERR_INV_FONT        ; Font file is invalid
         TGI_ERR_NO_RES          ; Out of resources (memory, handles, ...)
         TGI_ERR_UNKNOWN         ; Unknown error
index 9061fe9af861b72c11fb662cb7156d478794ed21..c1182d3710eac15cb3f9cdb4152b5f1c45388d0c 100644 (file)
@@ -54,7 +54,7 @@
             UNINSTALL       .addr       ; UNINSTALL routine
             INIT            .addr       ; INIT routine
             DONE            .addr       ; DONE routine
-            GETERROR               .addr       ; GETERROR routine
+            GETERROR        .addr       ; GETERROR routine
             CONTROL         .addr       ; CONTROL routine
             CLEAR           .addr       ; CLEAR routine
             SETVIEWPAGE     .addr       ; SETVIEWPAGE routine
@@ -106,14 +106,14 @@ TGI_CLIP_TOP            = $08
 ;------------------------------------------------------------------------------
 ; ASM accessible color constants
 
-       .global tgi_color_black:zp      ; Target-specific value for black
-       .global tgi_color_white:zp      ; Target-specific value for white
+        .global tgi_color_black:zp      ; Target-specific value for black
+        .global tgi_color_white:zp      ; Target-specific value for white
 
 ;------------------------------------------------------------------------------
 ; C accessible variables
 
-       .global _tgi_drv                ; Pointer to driver
-       .global _tgi_error              ; Last error code
+        .global _tgi_drv                ; Pointer to driver
+        .global _tgi_error              ; Last error code
         .global _tgi_gmode              ; Flag: graphics mode active
         .global _tgi_curx               ; Current drawing cursor X
         .global _tgi_cury               ; Current drawing cursor Y
@@ -139,10 +139,10 @@ TGI_CLIP_TOP            = $08
 ;------------------------------------------------------------------------------
 ; ASM accessible variables
 
-               .global tgi_clip_x1             ; Coordinate for line clipper
-               .global tgi_clip_y1             ; Coordinate for line clipper
-               .global tgi_clip_x2             ; Coordinate for line clipper
-               .global tgi_clip_y2             ; Coordinate for line clipper
+        .global tgi_clip_x1             ; Coordinate for line clipper
+        .global tgi_clip_y1             ; Coordinate for line clipper
+        .global tgi_clip_x2             ; Coordinate for line clipper
+        .global tgi_clip_y2             ; Coordinate for line clipper
 
 ;------------------------------------------------------------------------------
 ; Driver entry points
@@ -151,7 +151,7 @@ TGI_CLIP_TOP            = $08
         .global tgi_uninstall
         .global tgi_init
         .global tgi_done
-       .global tgi_geterror
+        .global tgi_geterror
         .global tgi_control
         .global tgi_clear
         .global tgi_setviewpage
@@ -192,7 +192,7 @@ TGI_CLIP_TOP            = $08
         .global _tgi_clear
         .global _tgi_done
         .global _tgi_ellipse
-       .global _tgi_getaspectratio
+        .global _tgi_getaspectratio
         .global _tgi_getcolor
         .global _tgi_getcolorcount
         .global _tgi_getdefpalette
@@ -220,7 +220,7 @@ TGI_CLIP_TOP            = $08
         .global _tgi_outtext
         .global _tgi_outtextxy
         .global _tgi_pieslice
-       .global _tgi_setaspectratio
+        .global _tgi_setaspectratio
         .global _tgi_setcolor
         .global _tgi_setdrawpage
         .global _tgi_setpalette
index dcc4877aa5d4ed78cfe7c130db8a86208940db9e..16858471d10811c81b8deb9b9bf5ea43274208f6 100644 (file)
@@ -2,7 +2,7 @@
 ;/*                                                                           */
 ;/*                                 time.inc                                  */
 ;/*                                                                           */
-;/*                              Date and time                               */
+;/*                              Date and time                                */
 ;/*                                                                           */
 ;/*                                                                           */
 ;/*                                                                           */
index 3331b95f6a00f71b6d91d33c62f348378f9efd96..6780d067d3d6a55337e659ad15da27c27764eeab 100644 (file)
@@ -7,26 +7,26 @@
 ; Zero page, Commodore stuff
 
 TIME            := $A0          ; 60HZ clock
-FNAM_LEN               := $B7          ; Length of filename
-SECADR                 := $B9          ; Secondary address
-DEVNUM                 := $BA          ; Device number
+FNAM_LEN        := $B7          ; Length of filename
+SECADR          := $B9          ; Secondary address
+DEVNUM          := $BA          ; Device number
 FNAM            := $BB          ; Pointer to filename
-KEY_COUNT              := $C6          ; Number of keys in input buffer
-RVS                    := $C7          ; Reverse flag
-CURS_FLAG              := $CC          ; 1 = cursor off
-CURS_BLINK             := $CD          ; Blink counter
-CURS_CHAR              := $CE          ; Character under the cursor
-CURS_STATE             := $CF          ; Cursor blink state
-SCREEN_PTR             := $D1          ; Pointer to current char in text screen
-CURS_X                 := $D3          ; Cursor column
-CURS_Y                 := $D6          ; Cursor row
-CRAM_PTR               := $F3          ; Pointer to current char in color RAM
-
-BASIC_BUF              := $200         ; Location of command-line
-BASIC_BUF_LEN  = 89            ; Maximum length of command-line
+KEY_COUNT       := $C6          ; Number of keys in input buffer
+RVS             := $C7          ; Reverse flag
+CURS_FLAG       := $CC          ; 1 = cursor off
+CURS_BLINK      := $CD          ; Blink counter
+CURS_CHAR       := $CE          ; Character under the cursor
+CURS_STATE      := $CF          ; Cursor blink state
+SCREEN_PTR      := $D1          ; Pointer to current char in text screen
+CURS_X          := $D3          ; Cursor column
+CURS_Y          := $D6          ; Cursor row
+CRAM_PTR        := $F3          ; Pointer to current char in color RAM
+
+BASIC_BUF       := $200         ; Location of command-line
+BASIC_BUF_LEN   = 89            ; Maximum length of command-line
 
 CHARCOLOR       := $286
-CURS_COLOR      := $287                ; Color under the cursor
+CURS_COLOR      := $287         ; Color under the cursor
 
 
 ; ---------------------------------------------------------------------------
@@ -39,37 +39,37 @@ YSIZE           = 23
 ; Kernal routines
 
 ; Direct entries
-CLRSCR                 := $E55F
-KBDREAD                := $E5CF
+CLRSCR          := $E55F
+KBDREAD         := $E5CF
 
 ; ---------------------------------------------------------------------------
 ; Vector and other locations
 
-IRQVec                 := $0314
-BRKVec                 := $0316
-NMIVec                 := $0318
+IRQVec          := $0314
+BRKVec          := $0316
+NMIVec          := $0318
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6560 VIC
 
-VIC                    := $9000
+VIC             := $9000
 VIC_LINES       := $9003        ; Screen lines, bit 7 is bit 0 from VIC_HLINE
 VIC_HLINE       := $9004        ; Rasterline, bits 1-8
-VIC_COLOR              := $900F        ; Border and background color
+VIC_COLOR       := $900F        ; Border and background color
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6522 VIA1
 
-VIA1                   := $9110
-VIA1_JOY               := $9111
-VIA1_DDRB              := $9112
-VIA1_DDRA              := $9113
+VIA1            := $9110
+VIA1_JOY        := $9111
+VIA1_DDRB       := $9112
+VIA1_DDRA       := $9113
 
 ; ---------------------------------------------------------------------------
 ; I/O: 6522 VIA2
 
-VIA2                   := $9120
-VIA2_JOY               := $9120
-VIA2_DDRB              := $9122
-VIA2_DDRA              := $9123
+VIA2            := $9120
+VIA2_JOY        := $9120
+VIA2_DDRB       := $9122
+VIA2_DDRA       := $9123
 
index 99014ffb551de89b07c25778df48961a413cc0fb..70641851644e31081289111e9c889191e014e851 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 6502.h                                   */
+/*                                  6502.h                                   */
 /*                                                                           */
-/*                       6502 specific declarations                         */
+/*                        6502 specific declarations                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,9 +47,9 @@ typedef unsigned size_t;
 
 
 /* Possible returns of getcpu() */
-#define CPU_6502       0
-#define CPU_65C02      1
-#define CPU_65816      2
+#define CPU_6502        0
+#define CPU_65C02       1
+#define CPU_65816       2
 
 unsigned char getcpu (void);
 /* Detect the CPU the program is running on */
@@ -57,29 +57,29 @@ unsigned char getcpu (void);
 
 
 /* Macros for CPU instructions */
-#define        BRK()   __asm__ ("brk")
-#define CLI()  __asm__ ("cli")
-#define SEI()  __asm__ ("sei")
+#define BRK()   __asm__ ("brk")
+#define CLI()   __asm__ ("cli")
+#define SEI()   __asm__ ("sei")
 
 
 
 /* Struct that holds the registers for the sys function */
 struct regs {
-    unsigned char a;           /* A register value */
-    unsigned char x;           /* X register value */
-    unsigned char y;           /* Y register value */
-    unsigned char flags;       /* Flags value */
-    unsigned      pc;          /* Program counter */
+    unsigned char a;            /* A register value */
+    unsigned char x;            /* X register value */
+    unsigned char y;            /* Y register value */
+    unsigned char flags;        /* Flags value */
+    unsigned      pc;           /* Program counter */
 };
 
 /* Defines for the flags in the regs structure */
-#define F6502_N                0x80    /* N flag */
-#define F6502_V                0x40    /* V flag */
-#define F6502_B        0x10    /* B flag */
-#define F6502_D        0x08    /* D flag */
-#define F6502_I        0x04    /* I flag */
-#define F6502_Z        0x02    /* Z flag */
-#define F6502_C         0x01   /* C flag */
+#define F6502_N         0x80    /* N flag */
+#define F6502_V         0x40    /* V flag */
+#define F6502_B         0x10    /* B flag */
+#define F6502_D         0x08    /* D flag */
+#define F6502_I         0x04    /* I flag */
+#define F6502_Z         0x02    /* Z flag */
+#define F6502_C         0x01    /* C flag */
 
 /* Function to call any machine language subroutine. All registers in the
  * regs structure are passed into the routine and the results are passed
@@ -98,11 +98,11 @@ void __fastcall__ _sys (struct regs* r);
  * vector if the program ends.
  */
 
-extern unsigned char brk_a;    /* A register value */
-extern unsigned char brk_x;    /* X register value */
-extern unsigned char brk_y;    /* Y register value */
-extern unsigned char brk_sr;   /* Status register */
-extern unsigned brk_pc;                /* PC value */
+extern unsigned char brk_a;     /* A register value */
+extern unsigned char brk_x;     /* X register value */
+extern unsigned char brk_y;     /* Y register value */
+extern unsigned char brk_sr;    /* Status register */
+extern unsigned brk_pc;         /* PC value */
 
 typedef void (*brk_handler) (void);
 /* Type of the break handler */
@@ -116,8 +116,8 @@ void reset_brk (void);
 
 
 /* Possible returns for irq_handler() */
-#define IRQ_NOT_HANDLED        0
-#define IRQ_HANDLED    1
+#define IRQ_NOT_HANDLED 0
+#define IRQ_HANDLED     1
 
 typedef unsigned char (*irq_handler) (void);
 /* Type of the C level interrupt request handler */
index d5dbc5f75d448ed4474cd8b74dfb5d0b5298db73..1072e677931b092081edd0c51bced4342db40003 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                  _6522.h                                  */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
  * the compiler doesn't guarantee any order when writing 16 bit values.
  */
 struct __6522 {
-    unsigned char      prb;            /* Port register B */
-    unsigned char      pra;            /* Port register A */
-    unsigned char      ddrb;           /* Data direction register B */
-    unsigned char      ddra;           /* Data direction register A */
-    unsigned char      t1_lo;          /* Timer 1, low byte */
-    unsigned char      t1_hi;          /* Timer 1, high byte */
-    unsigned char      t1l_lo;         /* Timer 1 latch, low byte */
-    unsigned char      t1l_hi;         /* Timer 1 latch, high byte */
-    unsigned char      t2_lo;          /* Timer 2, low byte */
-    unsigned char      t2_hi;          /* Timer 2, high byte */
-    unsigned char      sr;             /* Shift register */
-    unsigned char      acr;            /* Auxiliary control register */
-    unsigned char      pcr;            /* Peripheral control register */
-    unsigned char      ifr;            /* Interrupt flag register */
-    unsigned char      ier;            /* Interrupt enable register */
-    unsigned char      pra2;           /* Port register A w/o handshake */
+    unsigned char       prb;            /* Port register B */
+    unsigned char       pra;            /* Port register A */
+    unsigned char       ddrb;           /* Data direction register B */
+    unsigned char       ddra;           /* Data direction register A */
+    unsigned char       t1_lo;          /* Timer 1, low byte */
+    unsigned char       t1_hi;          /* Timer 1, high byte */
+    unsigned char       t1l_lo;         /* Timer 1 latch, low byte */
+    unsigned char       t1l_hi;         /* Timer 1 latch, high byte */
+    unsigned char       t2_lo;          /* Timer 2, low byte */
+    unsigned char       t2_hi;          /* Timer 2, high byte */
+    unsigned char       sr;             /* Shift register */
+    unsigned char       acr;            /* Auxiliary control register */
+    unsigned char       pcr;            /* Peripheral control register */
+    unsigned char       ifr;            /* Interrupt flag register */
+    unsigned char       ier;            /* Interrupt enable register */
+    unsigned char       pra2;           /* Port register A w/o handshake */
 };
 
 
index e4f539478f80354a034374f86d87806dbd7efb66..dee0ba4590a1e391242429e01f3a5e76c71f585b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _6525.h                                  */
+/*                                  _6525.h                                  */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
  * union to do that, however that would introduce an additional name.
  */
 struct __6525 {
-    unsigned char      pra;            /* Port register A */
-    unsigned char      prb;            /* Port register B */
-    unsigned char              prc;            /* Port register C */
-    unsigned char      ddra;           /* Data direction register A */
-    unsigned char      ddrb;           /* Data direction register B */
-    unsigned char      ddrc;           /* Data direction register C */
-    unsigned char      cr;             /* Control register */
-    unsigned char      air;            /* Active interrupt register */
+    unsigned char       pra;            /* Port register A */
+    unsigned char       prb;            /* Port register B */
+    unsigned char       prc;            /* Port register C */
+    unsigned char       ddra;           /* Data direction register A */
+    unsigned char       ddrb;           /* Data direction register B */
+    unsigned char       ddrc;           /* Data direction register C */
+    unsigned char       cr;             /* Control register */
+    unsigned char       air;            /* Active interrupt register */
 };
 
 
index c04b26d682193dd5646bd88e2c4b9959b6c8dcb8..5f8cb7d106b5211a56e9748d7ad3b62f05a9a947 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _6526.h                                  */
+/*                                  _6526.h                                  */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
  * the compiler doesn't guarantee any order when writing 16 bit values.
  */
 struct __6526 {
-    unsigned char      pra;            /* Port register A */
-    unsigned char      prb;            /* Port register B */
-    unsigned char      ddra;           /* Data direction register A */
-    unsigned char      ddrb;           /* Data direction register B */
-    unsigned char      ta_lo;          /* Timer A, low byte */
-    unsigned char      ta_hi;          /* Timer A, high byte */
-    unsigned char              tb_lo;          /* Timer B, low byte */
-    unsigned char      tb_hi;          /* Timer B, high byte */
-    unsigned char              tod_10;         /* TOD, 1/10 sec. */
-    unsigned char      tod_sec;        /* TOD, seconds */
-    unsigned char      tod_min;        /* TOD, minutes */
-    unsigned char      tod_hour;       /* TOD, hours */
-    unsigned char      sdr;            /* Serial data register */
-    unsigned char      icr;            /* Interrupt control register */
-    unsigned char      cra;            /* Control register A */
-    unsigned char      crb;            /* Control register B */
+    unsigned char       pra;            /* Port register A */
+    unsigned char       prb;            /* Port register B */
+    unsigned char       ddra;           /* Data direction register A */
+    unsigned char       ddrb;           /* Data direction register B */
+    unsigned char       ta_lo;          /* Timer A, low byte */
+    unsigned char       ta_hi;          /* Timer A, high byte */
+    unsigned char       tb_lo;          /* Timer B, low byte */
+    unsigned char       tb_hi;          /* Timer B, high byte */
+    unsigned char       tod_10;         /* TOD, 1/10 sec. */
+    unsigned char       tod_sec;        /* TOD, seconds */
+    unsigned char       tod_min;        /* TOD, minutes */
+    unsigned char       tod_hour;       /* TOD, hours */
+    unsigned char       sdr;            /* Serial data register */
+    unsigned char       icr;            /* Interrupt control register */
+    unsigned char       cra;            /* Control register A */
+    unsigned char       crb;            /* Control register B */
 };
 
 
index 7dc79a37138dacd51d29d4a7066898ba40413437..ea7c8597bf0b6fd1bb2d32f987fbc50e649583f7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _6545.h                                  */
+/*                                  _6545.h                                  */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -40,8 +40,8 @@
 
 /* Define a structure with the 6545 register offsets */
 struct __6545 {
-    unsigned char              ctrl;           /* Control register */
-    unsigned char      data;           /* Data register */
+    unsigned char       ctrl;           /* Control register */
+    unsigned char       data;           /* Data register */
 };
 
 
index 73a82243d26517883396f8456bd12e401c8b7c0a..cdf766d60f24d142bf12643525cebc9c4c46d5d0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _6551.h                                  */
+/*                                  _6551.h                                  */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 /* Define a structure with the 6551 register offsets */
 struct __6551 {
-    unsigned char              data;           /* Data register */
-    unsigned char              status;         /* Status register */
-    unsigned char              cmd;            /* Command register */
-    unsigned char      ctrl;           /* Control register */
+    unsigned char       data;           /* Data register */
+    unsigned char       status;         /* Status register */
+    unsigned char       cmd;            /* Command register */
+    unsigned char       ctrl;           /* Control register */
 };
 
 
index f3257e32fc5e6063e4091667623f0726e8a4a91d..424628f19531e7de18c5a5c0a0030c2ce73ade22 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                _gtia.h                                   */
+/*                                 _gtia.h                                   */
 /*                                                                           */
-/*                 Internal include file, do not use directly               */
+/*                  Internal include file, do not use directly               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index 8ac9064c3dcb82050890eeb16d228b1ef3c11901..76bad35c369373a277dd0640890227a2c67e54a4 100644 (file)
@@ -29,19 +29,19 @@ struct usedblock {
  * Beware: Field order is significant!
  */                                                      
 struct freeblock {
-    unsigned           size;
-    struct freeblock*          next;
-    struct freeblock*          prev;
+    unsigned            size;
+    struct freeblock*   next;
+    struct freeblock*   prev;
 };
 
 
 
 /* Variables that describe the heap */
-extern unsigned*                 _heaporg;     /* Bottom of heap */
-extern unsigned*         _heapptr;     /* Current top */
-extern unsigned*         _heapend;     /* Upper limit */
-extern struct freeblock*  _heapfirst;  /* First free block in list */
-extern struct freeblock*  _heaplast;   /* Last free block in list */
+extern unsigned*          _heaporg;     /* Bottom of heap */
+extern unsigned*          _heapptr;     /* Current top */
+extern unsigned*          _heapend;     /* Upper limit */
+extern struct freeblock*  _heapfirst;   /* First free block in list */
+extern struct freeblock*  _heaplast;    /* Last free block in list */
 
 
 
index 2e7ef12c5ad935cdd5da350a5ce7f8be630b077f..b9b7f6906521e939591f245048e270475100dcbc 100644 (file)
@@ -98,7 +98,7 @@ struct __mikey {
   unsigned char     mtest2;         // 0xFD9E
   unsigned char     unused5;        // 0xFD9F  not used
   unsigned char     palette[32];    // 0xFDA0 - 0xFDBF  palette 32 bytes
-                                                               // 0xFDC0 - 0xFDFF  not used
+                                    // 0xFDC0 - 0xFDFF  not used
 };
 
 
index 4bc3314dbe06431c2e2a45b4f60bdce38b0e03c4..f74262f4cc881e522f6e7ce1cb7459c9b6358249 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _pbi.h                                   */
+/*                                  _pbi.h                                   */
 /*                                                                           */
-/*                 Internal include file, do not use directly               */
+/*                  Internal include file, do not use directly               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 #define __PBI_H
 
 /* parallel bus interface area */
-#define PBI            ((unsigned char*)0xD100)
+#define PBI             ((unsigned char*)0xD100)
 
 /* parallel device IRQ status */
-#define PDVI           ((unsigned char*)0xD1FF)
+#define PDVI            ((unsigned char*)0xD1FF)
 
 /* parallel device select */
-#define PDVS           ((unsigned char*)0xD1FF)
+#define PDVS            ((unsigned char*)0xD1FF)
 
 /* parallel bus interface RAM area */
-#define PBIRAM         ((unsigned char*)0xD600)
+#define PBIRAM          ((unsigned char*)0xD600)
 
 /* parallel device ID 1 */
-#define PDID1          ((unsigned char*)0xD803)
+#define PDID1           ((unsigned char*)0xD803)
 
 /* parallel device I/O vector */
-#define PDIDV          ((unsigned char*)0xD805)
+#define PDIDV           ((unsigned char*)0xD805)
 
 /* parallel device IRQ vector */
-#define PDIRQV         ((unsigned char*)0xD808)
+#define PDIRQV          ((unsigned char*)0xD808)
 
 /* parallel device ID 2 */
-#define PDID2          ((unsigned char*)0xD80B)
+#define PDID2           ((unsigned char*)0xD80B)
 
 /* parallel device vector table */
-#define PDVV           ((unsigned char*)0xD80D)
+#define PDVV            ((unsigned char*)0xD80D)
 
 /* End of _pbi.h */
 #endif /* #ifndef __PBI_H */
index 582b842754094ea1fd970c87d12fca81e4d961e4..867c8f8a51cdb52b8cda0c4e224e74fcc365e665 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _pia.h                                   */
+/*                                  _pia.h                                   */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index a6a0338f8e5ef44742ce6a302cb2ef7f34fd65b7..df10eac3f022a860282e0f4cbadf600599d9629c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                _pokey.h                                  */
+/*                                 _pokey.h                                  */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index b7978ac1a68432477a00d34f4a1e04c5cad6dcb1..0aa61b2948f957b0e501e9d84e666036a6e83aff 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _sid.h                                   */
+/*                                  _sid.h                                   */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 /* Define a structure with the sid register offsets */
 struct __sid_voice {
-    unsigned                   freq;           /* Frequency */
-    unsigned           pw;             /* Pulse width */
-    unsigned char      ctrl;           /* Control register */
-    unsigned char      ad;             /* Attack/decay */
-    unsigned char      sr;             /* Sustain/release */
+    unsigned            freq;           /* Frequency */
+    unsigned            pw;             /* Pulse width */
+    unsigned char       ctrl;           /* Control register */
+    unsigned char       ad;             /* Attack/decay */
+    unsigned char       sr;             /* Sustain/release */
 };
 struct __sid {
-    struct __sid_voice v1;             /* Voice 1 */
-    struct __sid_voice         v2;             /* Voice 2 */
-    struct __sid_voice v3;             /* Voice 3 */
-    unsigned           flt_freq;       /* Filter frequency */
-    unsigned char      flt_ctrl;       /* Filter control register */
-    unsigned char      amp;            /* Amplitude */
-    unsigned char      ad1;            /* A/D converter 1 */
-    unsigned char              ad2;            /* A/D converter 2 */
-    unsigned char      noise;          /* Noise generator */
-    unsigned char      read3;          /* Value of voice 3 */
+    struct __sid_voice  v1;             /* Voice 1 */
+    struct __sid_voice  v2;             /* Voice 2 */
+    struct __sid_voice  v3;             /* Voice 3 */
+    unsigned            flt_freq;       /* Filter frequency */
+    unsigned char       flt_ctrl;       /* Filter control register */
+    unsigned char       amp;            /* Amplitude */
+    unsigned char       ad1;            /* A/D converter 1 */
+    unsigned char       ad2;            /* A/D converter 2 */
+    unsigned char       noise;          /* Noise generator */
+    unsigned char       read3;          /* Value of voice 3 */
 };
 
 
index 3bdf9c7083a36a7c85c3e1ee14a9f8d81ed0638d..8ab7f68dd92ad075eeba4c6aef5a78b1859f8aa7 100644 (file)
@@ -310,7 +310,7 @@ struct __suzy {
   unsigned char parstat;        // 0xFCC2  parallel port status
   unsigned char pardata;        // 0xFCC3  parallel port data
   unsigned char howie;          // 0xFCC4  howie (?)
-                                                               // 0xFCC5 - 0xFCFF  unused
+                                // 0xFCC5 - 0xFCFF  unused
 };
 
 
index d4401a4adab6d0b83562ed5eb608ea4875546257..68b59d706bfb7fef215c0976435a2c8d814462d7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _ted.h                                   */
+/*                                  _ted.h                                   */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index adabe01e5be1e0d966edea63b6ca2bc96e76507f..161721d7a6b996453c574d064b69c386bd1a78b0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _vdc.h                                   */
+/*                                  _vdc.h                                   */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -40,8 +40,8 @@
 
 /* Define a structure with the vdc register offsets */
 struct __vdc {
-    unsigned char              ctrl;           /* Control register */
-    unsigned char      data;           /* Data register */
+    unsigned char       ctrl;           /* Control register */
+    unsigned char       data;           /* Data register */
 };
 
 
index 7074aedba38d5c4e3e2a820675536b1a62840562..ac4d8a2ca5db1ce2cef23be7f6ceddc45b101279 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 _vic.h                                   */
+/*                                  _vic.h                                   */
 /*                                                                           */
-/*               Internal include file, do not use directly                 */
+/*                Internal include file, do not use directly                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 /* Define a structure with the vic register offsets */
 struct __vic {
-    unsigned char              leftborder;
-    unsigned char      upperborder;
-    unsigned char              charsperline;   /* Characters per line */
-    unsigned char      linecount;      /* Number of lines */
-    unsigned char      rasterline;     /* Current raster line */
-    unsigned char      addr;           /* Address of chargen and video ram */
-    unsigned char      strobe_x;       /* Light pen, X position */
-    unsigned char      strobe_y;       /* Light pen, Y position */
-    unsigned char              analog_x;       /* Analog input X */
-    unsigned char      analog_y;       /* Analog input Y */
-    unsigned char      voice1;         /* Sound generator #1 */
-    unsigned char              voice2;         /* Sound generator #2 */
-    unsigned char      voice3;         /* Sound generator #3 */
-    unsigned char      noise;          /* Noise generator */
-    unsigned char              volume_color;   /* Bits 0..3: volume, 4..7: color */
+    unsigned char       leftborder;
+    unsigned char       upperborder;
+    unsigned char       charsperline;   /* Characters per line */
+    unsigned char       linecount;      /* Number of lines */
+    unsigned char       rasterline;     /* Current raster line */
+    unsigned char       addr;           /* Address of chargen and video ram */
+    unsigned char       strobe_x;       /* Light pen, X position */
+    unsigned char       strobe_y;       /* Light pen, Y position */
+    unsigned char       analog_x;       /* Analog input X */
+    unsigned char       analog_y;       /* Analog input Y */
+    unsigned char       voice1;         /* Sound generator #1 */
+    unsigned char       voice2;         /* Sound generator #2 */
+    unsigned char       voice3;         /* Sound generator #3 */
+    unsigned char       noise;          /* Noise generator */
+    unsigned char       volume_color;   /* Bits 0..3: volume, 4..7: color */
     unsigned char       bg_border_color;/* Background and border color */
 };
 
index cb5df1f69dec802ab22f52841958a67bb47e1a55..8d91300852742dc17d3da43aefb433fcaf270eba 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  ace.h                                   */
+/*                                   ace.h                                   */
 /*                                                                           */
-/*                     ACE system specific definitions                      */
+/*                      ACE system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 struct aceDirentBuf {
-    unsigned long   ad_size;                   /* Size in bytes */
-    unsigned char   ad_date [8];       /* YY:YY:MM:DD:HH:MM:SS:TW */
-    char            ad_type [4];       /* File type as ASCIIZ string */
-    unsigned char   ad_flags;          /* File flags */
+    unsigned long   ad_size;            /* Size in bytes */
+    unsigned char   ad_date [8];        /* YY:YY:MM:DD:HH:MM:SS:TW */
+    char            ad_type [4];        /* File type as ASCIIZ string */
+    unsigned char   ad_flags;           /* File flags */
     unsigned char   ad_usage;           /* More flags */
     unsigned char   ad_namelen;         /* Length of name */
     char            ad_name [17];       /* Name itself, ASCIIZ */
@@ -69,27 +69,27 @@ int aceDirRead (int handle, struct aceDirentBuf* buf);
 typedef unsigned int aceKey;
 
 /* #defines for the shift mask returned by aceConGetKey */
-#define aceSH_KEY              0x00FF  /* Mask key itself */
-#define aceSH_MASK             0xFF00  /* Mask shift mask */
-#define aceSH_EXT              0x2000  /* Extended key */
-#define aceSH_CAPS             0x1000  /* Caps lock key */
-#define aceSH_ALT              0x0800  /* Alternate key */
-#define aceSH_CTRL             0x0400  /* Ctrl key */
-#define aceSH_CBM              0x0200  /* Commodore key */
-#define aceSH_SHIFT            0x0100  /* Shift key */
+#define aceSH_KEY               0x00FF  /* Mask key itself */
+#define aceSH_MASK              0xFF00  /* Mask shift mask */
+#define aceSH_EXT               0x2000  /* Extended key */
+#define aceSH_CAPS              0x1000  /* Caps lock key */
+#define aceSH_ALT               0x0800  /* Alternate key */
+#define aceSH_CTRL              0x0400  /* Ctrl key */
+#define aceSH_CBM               0x0200  /* Commodore key */
+#define aceSH_SHIFT             0x0100  /* Shift key */
 
 /* #defines for the options in aceConSetOpt/aceConGetOpt */
-#define aceOP_PUTMASK          1       /* Console put mask */
-#define        aceOP_CHARCOLOR         2       /* Character color */
-#define aceOP_CHARATTR         3       /* Character attribute */
-#define aceOP_FILLCOLOR                4       /* Fill color */
-#define aceOP_FILLATTR         5       /* Fill attribute */
-#define aceOP_CRSCOLOR         6       /* Cursor color */
-#define aceOP_CRSWRAP          7       /* Force cursor wrap */
-#define aceOP_SHSCROLL         8       /* Shift keys for scrolling */
-#define aceOP_MOUSCALE         9       /* Mouse scaling */
-#define aceOP_RPTDELAY         10      /* Key repeat delay */
-#define aceOP_RPTRATE          11      /* Key repeat rate */
+#define aceOP_PUTMASK           1       /* Console put mask */
+#define aceOP_CHARCOLOR         2       /* Character color */
+#define aceOP_CHARATTR          3       /* Character attribute */
+#define aceOP_FILLCOLOR         4       /* Fill color */
+#define aceOP_FILLATTR          5       /* Fill attribute */
+#define aceOP_CRSCOLOR          6       /* Cursor color */
+#define aceOP_CRSWRAP           7       /* Force cursor wrap */
+#define aceOP_SHSCROLL          8       /* Shift keys for scrolling */
+#define aceOP_MOUSCALE          9       /* Mouse scaling */
+#define aceOP_RPTDELAY          10      /* Key repeat delay */
+#define aceOP_RPTRATE           11      /* Key repeat rate */
 
 /* Console functions */
 void aceConWrite (char* buf, size_t count);
index f5dcff0aee175afdc42c86a3e8b9e238bcf7cb76..177159e46447069a741cf06cc7e8953ba365cce6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 apple2.h                                 */
+/*                                 apple2.h                                  */
 /*                                                                           */
-/*                   Apple ][ system specific definitions                   */
+/*                   Apple ][ system specific definitions                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                   Data                                   */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -154,7 +154,7 @@ extern void a2_lo_tgi[];
 
 
 /*****************************************************************************/
-/*                                   Code                                   */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 11252211772988fa551620feeca8a9740022ad50..9fb093b4577eda61c425673d90166d2bc86b5bb3 100644 (file)
@@ -1,31 +1,31 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                               apple2enh.h                                */
-/*                                                                          */
-/*              enhanced Apple //e system specific definitions              */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                apple2enh.h                                */
+/*                                                                           */
+/*               enhanced Apple //e system specific definitions              */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 2004  Oliver Schmidt, <ol.sc@web.de>                                  */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                     */
-/* 3. This notice may not be removed or altered from any source             */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -73,8 +73,8 @@
 #define CH_F10  0xB0
 
 /* Styles for textframe */
-#define TEXTFRAME_WIDE 0x00
-#define TEXTFRAME_TALL 0x04
+#define TEXTFRAME_WIDE  0x00
+#define TEXTFRAME_TALL  0x04
 
 /* Video modes */
 #define VIDEOMODE_40x24  0x0011
@@ -101,7 +101,7 @@ extern void a2e_lo_tgi[];
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index bd58e20680ffb9ff02827934950c86c77af14ed7..87bc4ff02dcc459a6ef6c1ce38a9828f68aae1ed 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                assert.h                                  */
+/*                                 assert.h                                  */
 /*                                                                           */
-/*                               Diagnostics                                */
+/*                                Diagnostics                                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 #  define assert(expr)
 #else
 extern void _afailed (const char*, unsigned);
-#  define assert(expr)         ((expr)? (void)0 : _afailed(__FILE__, __LINE__))
+#  define assert(expr)  ((expr)? (void)0 : _afailed(__FILE__, __LINE__))
 #endif
 
 
index 555dc9a936fd17e2a2cfd467553b9f939634b92f..26c555cc4d9e2175e437aff7b82ae985da928fdc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                atari.h                                   */
+/*                                 atari.h                                   */
 /*                                                                           */
-/*                     Atari system specific definitions                    */
+/*                      Atari system specific definitions                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /* Character codes */
-#define CH_DELCHR      0xFE   /* delete char under the cursor */
-#define CH_ENTER       0x9B
-#define CH_ESC                 0x1B
-#define CH_CURS_UP     28
-#define CH_CURS_DOWN   29
+#define CH_DELCHR       0xFE   /* delete char under the cursor */
+#define CH_ENTER        0x9B
+#define CH_ESC          0x1B
+#define CH_CURS_UP      28
+#define CH_CURS_DOWN    29
 #define CH_CURS_LEFT    30
 #define CH_CURS_RIGHT   31
 
 #define CH_INSLINE      0x9D   /* insert line */
 
 /* These are defined to be Atari + NumberKey */
-#define CH_F1          177
-#define CH_F2          178
-#define CH_F3          179
-#define CH_F4          180
-#define CH_F5          181
-#define CH_F6          182
-#define CH_F7          183
-#define CH_F8          184
-#define CH_F9          185
-#define CH_F10                 176
-
-#define CH_ULCORNER    0x11
-#define CH_URCORNER    0x05
-#define CH_LLCORNER    0x1A
-#define CH_LRCORNER    0x03
-#define CH_TTEE        0x17
-#define CH_BTEE        0x18
-#define CH_LTEE        0x01
-#define CH_RTEE        0x04
-#define CH_CROSS       0x13
+#define CH_F1           177
+#define CH_F2           178
+#define CH_F3           179
+#define CH_F4           180
+#define CH_F5           181
+#define CH_F6           182
+#define CH_F7           183
+#define CH_F8           184
+#define CH_F9           185
+#define CH_F10          176
+
+#define CH_ULCORNER     0x11
+#define CH_URCORNER     0x05
+#define CH_LLCORNER     0x1A
+#define CH_LRCORNER     0x03
+#define CH_TTEE         0x17
+#define CH_BTEE         0x18
+#define CH_LTEE         0x01
+#define CH_RTEE         0x04
+#define CH_CROSS        0x13
 #define CH_HLINE        0x12
 #define CH_VLINE        0x7C
 
 /* Color defines, similar to c64 colors (untested) */
 /* Note that the conio color implementation is monochrome (bgcolor and textcolor are only placeholders) */
 /* Use the defines with the setcolor() or _atari_xxxcolor() functions */
-#define COLOR_BLACK            _gtia_mkcolor(HUE_GREY,0)
-#define COLOR_WHITE            _gtia_mkcolor(HUE_GREY,7)
-#define COLOR_RED              _gtia_mkcolor(HUE_REDORANGE,1)
-#define COLOR_CYAN             _gtia_mkcolor(HUE_CYAN,3)
-#define COLOR_VIOLET           _gtia_mkcolor(HUE_PURPLE,4)
-#define COLOR_GREEN            _gtia_mkcolor(HUE_GREEN,2)
-#define COLOR_BLUE             _gtia_mkcolor(HUE_BLUE,2)
-#define COLOR_YELLOW           _gtia_mkcolor(HUE_YELLOW,7)
-#define COLOR_ORANGE           _gtia_mkcolor(HUE_ORANGE,5)
-#define COLOR_BROWN            _gtia_mkcolor(HUE_YELLOW,2)
-#define COLOR_LIGHTRED         _gtia_mkcolor(HUE_REDORANGE,6)
-#define COLOR_GRAY1            _gtia_mkcolor(HUE_GREY,2)
-#define COLOR_GRAY2            _gtia_mkcolor(HUE_GREY,3)
-#define COLOR_LIGHTGREEN       _gtia_mkcolor(HUE_GREEN,6)
-#define COLOR_LIGHTBLUE        _gtia_mkcolor(HUE_BLUE,6)
-#define COLOR_GRAY3            _gtia_mkcolor(HUE_GREY,5)
+#define COLOR_BLACK             _gtia_mkcolor(HUE_GREY,0)
+#define COLOR_WHITE             _gtia_mkcolor(HUE_GREY,7)
+#define COLOR_RED               _gtia_mkcolor(HUE_REDORANGE,1)
+#define COLOR_CYAN              _gtia_mkcolor(HUE_CYAN,3)
+#define COLOR_VIOLET            _gtia_mkcolor(HUE_PURPLE,4)
+#define COLOR_GREEN             _gtia_mkcolor(HUE_GREEN,2)
+#define COLOR_BLUE              _gtia_mkcolor(HUE_BLUE,2)
+#define COLOR_YELLOW            _gtia_mkcolor(HUE_YELLOW,7)
+#define COLOR_ORANGE            _gtia_mkcolor(HUE_ORANGE,5)
+#define COLOR_BROWN             _gtia_mkcolor(HUE_YELLOW,2)
+#define COLOR_LIGHTRED          _gtia_mkcolor(HUE_REDORANGE,6)
+#define COLOR_GRAY1             _gtia_mkcolor(HUE_GREY,2)
+#define COLOR_GRAY2             _gtia_mkcolor(HUE_GREY,3)
+#define COLOR_LIGHTGREEN        _gtia_mkcolor(HUE_GREEN,6)
+#define COLOR_LIGHTBLUE         _gtia_mkcolor(HUE_BLUE,6)
+#define COLOR_GRAY3             _gtia_mkcolor(HUE_GREY,5)
 
 /* color register functions */
 extern void __fastcall__ _setcolor     (unsigned char color_reg, unsigned char hue, unsigned char luminace);
index e4c2af9b26b42d892c278bf9863aed69327dcd11..eed6d75646c760701f003fe197bd87b6b243e108 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                atmos.h                                   */
+/*                                 atmos.h                                   */
 /*                                                                           */
-/*                  Oric Atmos system-specific definitions                  */
+/*                   Oric Atmos system-specific definitions                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /* Color defines */
-#define COLOR_BLACK    0x00
-#define COLOR_RED      0x01
-#define COLOR_GREEN    0x02
-#define COLOR_YELLOW   0x03
-#define COLOR_BLUE     0x04
-#define COLOR_MAGENTA  0x05
-#define COLOR_CYAN     0x06
-#define COLOR_WHITE    0x07
+#define COLOR_BLACK     0x00
+#define COLOR_RED       0x01
+#define COLOR_GREEN     0x02
+#define COLOR_YELLOW    0x03
+#define COLOR_BLUE      0x04
+#define COLOR_MAGENTA   0x05
+#define COLOR_CYAN      0x06
+#define COLOR_WHITE     0x07
 
 /* TGI color defines */
 /* White and red are swapped, so that the pallete
 ** driver is compatible with black-and-white drivers.
 */
-#define TGI_COLOR_BLACK                COLOR_BLACK
-#define TGI_COLOR_WHITE                1
-#define TGI_COLOR_GREEN                COLOR_GREEN
-#define TGI_COLOR_YELLOW       COLOR_YELLOW
-#define TGI_COLOR_BLUE         COLOR_BLUE
-#define TGI_COLOR_MAGENTA      COLOR_MAGENTA
-#define TGI_COLOR_CYAN         COLOR_CYAN
-#define TGI_COLOR_RED          7
+#define TGI_COLOR_BLACK         COLOR_BLACK
+#define TGI_COLOR_WHITE         1
+#define TGI_COLOR_GREEN         COLOR_GREEN
+#define TGI_COLOR_YELLOW        COLOR_YELLOW
+#define TGI_COLOR_BLUE          COLOR_BLUE
+#define TGI_COLOR_MAGENTA       COLOR_MAGENTA
+#define TGI_COLOR_CYAN          COLOR_CYAN
+#define TGI_COLOR_RED           7
 
 
 
 /* Define hardware */
 #include <_6522.h>
-#define VIA    (*(struct __6522*)0x300)
+#define VIA     (*(struct __6522*)0x300)
 
 
 
 /* These are defined to be FUNCT + NumberKey */
-#define CH_F1          0xB1
-#define CH_F2          0xB2
-#define CH_F3          0xB3
-#define CH_F4          0xB4
-#define CH_F5          0xB5
-#define CH_F6          0xB6
-#define CH_F7          0xB7
-#define CH_F8          0xB8
-#define CH_F9          0xB9
-#define CH_F10         0xB0
+#define CH_F1           0xB1
+#define CH_F2           0xB2
+#define CH_F3           0xB3
+#define CH_F4           0xB4
+#define CH_F5           0xB5
+#define CH_F6           0xB6
+#define CH_F7           0xB7
+#define CH_F8           0xB8
+#define CH_F9           0xB9
+#define CH_F10          0xB0
 
 
 
 /* Character codes */
-#define CH_ULCORNER    '+'
-#define CH_URCORNER    '+'
-#define CH_LLCORNER    '+'
-#define CH_LRCORNER    '+'
-#define CH_TTEE                '+'
-#define CH_BTEE                '+'
-#define CH_LTEE                '+'
-#define CH_RTEE                '+'
-#define CH_CROSS       '+'
-#define CH_CURS_UP      11
-#define CH_CURS_DOWN    10
-#define CH_CURS_LEFT     8
-#define CH_CURS_RIGHT    9
-#define CH_DEL         127
-#define CH_ENTER        13
-#define CH_STOP                  3
-#define CH_LIRA                 95
-#define CH_ESC          27
+#define CH_ULCORNER     '+'
+#define CH_URCORNER     '+'
+#define CH_LLCORNER     '+'
+#define CH_LRCORNER     '+'
+#define CH_TTEE         '+'
+#define CH_BTEE         '+'
+#define CH_LTEE         '+'
+#define CH_RTEE         '+'
+#define CH_CROSS        '+'
+#define CH_CURS_UP       11
+#define CH_CURS_DOWN     10
+#define CH_CURS_LEFT      8
+#define CH_CURS_RIGHT     9
+#define CH_DEL          127
+#define CH_ENTER         13
+#define CH_STOP           3
+#define CH_LIRA          95
+#define CH_ESC           27
 
 
 
 /* No support for dynamically loadable drivers */
-#define DYN_DRV                0
+#define DYN_DRV         0
 
 
 
 /* The addresses of the static drivers */
-extern void atmos_pase_joy[];          /* Referred to by joy_static_stddrv[] */
+extern void atmos_pase_joy[];           /* Referred to by joy_static_stddrv[] */
 extern void atmos_acia_ser[];
 extern void atmos_228_200_3_tgi[];
-extern void atmos_240_200_2_tgi[];     /* Referred to by tgi_static_stddrv[] */
+extern void atmos_240_200_2_tgi[];      /* Referred to by tgi_static_stddrv[] */
 
 
 
index 26fb2527435b8325d116481f519d7c1c25f43cfd..0b005bce0ea34d7775021a28132af6813524ae2c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 c128.h                                   */
+/*                                  c128.h                                   */
 /*                                                                           */
-/*                    C128 system specific definitions                      */
+/*                     C128 system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /* Additional key defines */
-#define CH_F1                  133
-#define CH_F2                  137
-#define CH_F3                  134
-#define CH_F4                  138
-#define CH_F5                  135
-#define CH_F6                  139
-#define CH_F7                  136
-#define CH_F8                  140
+#define CH_F1                   133
+#define CH_F2                   137
+#define CH_F3                   134
+#define CH_F4                   138
+#define CH_F5                   135
+#define CH_F6                   139
+#define CH_F7                   136
+#define CH_F8                   140
 
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
-#define COLOR_RED              0x02
-#define COLOR_CYAN             0x03
-#define COLOR_VIOLET           0x04
-#define COLOR_GREEN            0x05
-#define COLOR_BLUE             0x06
-#define COLOR_YELLOW           0x07
-#define COLOR_ORANGE           0x08
-#define COLOR_BROWN            0x09
-#define COLOR_LIGHTRED         0x0A
-#define COLOR_GRAY1            0x0B
-#define COLOR_GRAY2            0x0C
-#define COLOR_LIGHTGREEN       0x0D
-#define COLOR_LIGHTBLUE        0x0E
-#define COLOR_GRAY3            0x0F
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
+#define COLOR_RED               0x02
+#define COLOR_CYAN              0x03
+#define COLOR_VIOLET            0x04
+#define COLOR_GREEN             0x05
+#define COLOR_BLUE              0x06
+#define COLOR_YELLOW            0x07
+#define COLOR_ORANGE            0x08
+#define COLOR_BROWN             0x09
+#define COLOR_LIGHTRED          0x0A
+#define COLOR_GRAY1             0x0B
+#define COLOR_GRAY2             0x0C
+#define COLOR_LIGHTGREEN        0x0D
+#define COLOR_LIGHTBLUE         0x0E
+#define COLOR_GRAY3             0x0F
 
 /* TGI color defines */
-#define TGI_COLOR_BLACK        COLOR_BLACK
-#define TGI_COLOR_WHITE        COLOR_WHITE
-#define TGI_COLOR_RED          COLOR_RED
-#define TGI_COLOR_CYAN         COLOR_CYAN
-#define TGI_COLOR_VIOLET       COLOR_VIOLET
-#define TGI_COLOR_GREEN        COLOR_GREEN
-#define TGI_COLOR_BLUE         COLOR_BLUE
-#define TGI_COLOR_YELLOW       COLOR_YELLOW
-#define TGI_COLOR_ORANGE       COLOR_ORANGE
-#define TGI_COLOR_BROWN        COLOR_BROWN
+#define TGI_COLOR_BLACK         COLOR_BLACK
+#define TGI_COLOR_WHITE         COLOR_WHITE
+#define TGI_COLOR_RED           COLOR_RED
+#define TGI_COLOR_CYAN          COLOR_CYAN
+#define TGI_COLOR_VIOLET        COLOR_VIOLET
+#define TGI_COLOR_GREEN         COLOR_GREEN
+#define TGI_COLOR_BLUE          COLOR_BLUE
+#define TGI_COLOR_YELLOW        COLOR_YELLOW
+#define TGI_COLOR_ORANGE        COLOR_ORANGE
+#define TGI_COLOR_BROWN         COLOR_BROWN
 #define TGI_COLOR_LIGHTRED      COLOR_LIGHTRED
-#define TGI_COLOR_GRAY1        COLOR_GRAY1
-#define TGI_COLOR_GRAY2        COLOR_GRAY2
+#define TGI_COLOR_GRAY1         COLOR_GRAY1
+#define TGI_COLOR_GRAY2         COLOR_GRAY2
 #define TGI_COLOR_LIGHTGREEN    COLOR_LIGHTGREEN
 #define TGI_COLOR_LIGHTBLUE     COLOR_LIGHTBLUE
-#define TGI_COLOR_GRAY3        COLOR_GRAY3
+#define TGI_COLOR_GRAY3         COLOR_GRAY3
 
 /* Video mode defines */
 #define VIDEOMODE_40x25         0x00
 
 /* Define hardware */
 #include <_vic2.h>
-#define VIC            (*(struct __vic2*)0xD000)
+#define VIC     (*(struct __vic2*)0xD000)
 
 #include <_sid.h>
-#define        SID     (*(struct __sid*)0xD400)
+#define SID     (*(struct __sid*)0xD400)
 
 #include <_vdc.h>
 #define VDC     (*(struct __vdc*)0xD600)
 
 #include <_6526.h>
-#define CIA1   (*(struct __6526*)0xDC00)
-#define CIA2   (*(struct __6526*)0xDD00)
+#define CIA1    (*(struct __6526*)0xDC00)
+#define CIA2    (*(struct __6526*)0xDD00)
 
 
 
 /* Define special memory areas */
-#define COLOR_RAM      ((unsigned char*)0xD800)
+#define COLOR_RAM       ((unsigned char*)0xD800)
 
 
 
@@ -128,12 +128,12 @@ extern void c128_ramcart_emd[];
 extern void c128_reu_emd[];
 extern void c128_vdc_emd[];
 extern void c128_ptvjoy_joy[];
-extern void c128_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */
-extern void c128_1351_mous[];  /* Referred to by mouse_static_stddrv[] */
+extern void c128_stdjoy_joy[];  /* Referred to by joy_static_stddrv[] */
+extern void c128_1351_mous[];   /* Referred to by mouse_static_stddrv[] */
 extern void c128_joy_mou[];
 extern void c128_pot_mou[];
 extern void c128_swlink_ser[];
-extern void c128_vdc_tgi[];    /* Referred to by tgi_static_stddrv[] */
+extern void c128_vdc_tgi[];     /* Referred to by tgi_static_stddrv[] */
 extern void c128_vdc2_tgi[];
 
 
index 35124a709fd4526cf6e7b39ae0c0d33a774e7ec9..d49ca6fd4d59b2730f03073098d9730c266a331a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  c16.h                                   */
+/*                                   c16.h                                   */
 /*                                                                           */
-/*                             C16 system specific definitions                      */
+/*                      C16 system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index 5cc2bd08e24d31fb0155dd22573884fbc5170b6f..0a4ebaf971c5dc9082f0d930235a8814ae7d777d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  c64.h                                   */
+/*                                   c64.h                                   */
 /*                                                                           */
-/*                     C64 system specific definitions                      */
+/*                      C64 system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Additional key defines */
-#define CH_F1                  133
-#define CH_F2                  137
-#define CH_F3                  134
-#define CH_F4                  138
-#define CH_F5                  135
-#define CH_F6                  139
-#define CH_F7                  136
-#define CH_F8                  140
+#define CH_F1                   133
+#define CH_F2                   137
+#define CH_F3                   134
+#define CH_F4                   138
+#define CH_F5                   135
+#define CH_F6                   139
+#define CH_F7                   136
+#define CH_F8                   140
 
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
-#define COLOR_RED              0x02
-#define COLOR_CYAN             0x03
-#define COLOR_VIOLET           0x04
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
+#define COLOR_RED               0x02
+#define COLOR_CYAN              0x03
+#define COLOR_VIOLET            0x04
 #define COLOR_PURPLE            COLOR_VIOLET
-#define COLOR_GREEN            0x05
-#define COLOR_BLUE             0x06
-#define COLOR_YELLOW           0x07
-#define COLOR_ORANGE           0x08
-#define COLOR_BROWN            0x09
-#define COLOR_LIGHTRED         0x0A
-#define COLOR_GRAY1            0x0B
-#define COLOR_GRAY2            0x0C
-#define COLOR_LIGHTGREEN       0x0D
-#define COLOR_LIGHTBLUE        0x0E
-#define COLOR_GRAY3            0x0F
+#define COLOR_GREEN             0x05
+#define COLOR_BLUE              0x06
+#define COLOR_YELLOW            0x07
+#define COLOR_ORANGE            0x08
+#define COLOR_BROWN             0x09
+#define COLOR_LIGHTRED          0x0A
+#define COLOR_GRAY1             0x0B
+#define COLOR_GRAY2             0x0C
+#define COLOR_LIGHTGREEN        0x0D
+#define COLOR_LIGHTBLUE         0x0E
+#define COLOR_GRAY3             0x0F
 
 /* TGI color defines */
-#define TGI_COLOR_BLACK        COLOR_BLACK
-#define TGI_COLOR_WHITE        COLOR_WHITE
-#define TGI_COLOR_RED          COLOR_RED
-#define TGI_COLOR_CYAN         COLOR_CYAN
-#define TGI_COLOR_VIOLET       COLOR_VIOLET
-#define TGI_COLOR_PURPLE       COLOR_PURPLE
-#define TGI_COLOR_GREEN        COLOR_GREEN
-#define TGI_COLOR_BLUE         COLOR_BLUE
-#define TGI_COLOR_YELLOW       COLOR_YELLOW
-#define TGI_COLOR_ORANGE       COLOR_ORANGE
-#define TGI_COLOR_BROWN        COLOR_BROWN
-#define TGI_COLOR_LIGHTRED     COLOR_LIGHTRED
-#define TGI_COLOR_GRAY1        COLOR_GRAY1
-#define TGI_COLOR_GRAY2        COLOR_GRAY2
-#define TGI_COLOR_LIGHTGREEN   COLOR_LIGHTGREEN
-#define TGI_COLOR_LIGHTBLUE    COLOR_LIGHTBLUE
-#define TGI_COLOR_GRAY3        COLOR_GRAY3
+#define TGI_COLOR_BLACK         COLOR_BLACK
+#define TGI_COLOR_WHITE         COLOR_WHITE
+#define TGI_COLOR_RED           COLOR_RED
+#define TGI_COLOR_CYAN          COLOR_CYAN
+#define TGI_COLOR_VIOLET        COLOR_VIOLET
+#define TGI_COLOR_PURPLE        COLOR_PURPLE
+#define TGI_COLOR_GREEN         COLOR_GREEN
+#define TGI_COLOR_BLUE          COLOR_BLUE
+#define TGI_COLOR_YELLOW        COLOR_YELLOW
+#define TGI_COLOR_ORANGE        COLOR_ORANGE
+#define TGI_COLOR_BROWN         COLOR_BROWN
+#define TGI_COLOR_LIGHTRED      COLOR_LIGHTRED
+#define TGI_COLOR_GRAY1         COLOR_GRAY1
+#define TGI_COLOR_GRAY2         COLOR_GRAY2
+#define TGI_COLOR_LIGHTGREEN    COLOR_LIGHTGREEN
+#define TGI_COLOR_LIGHTBLUE     COLOR_LIGHTBLUE
+#define TGI_COLOR_GRAY3         COLOR_GRAY3
 
 /* Define hardware */
 #include <_vic2.h>
-#define VIC            (*(struct __vic2*)0xD000)
+#define VIC     (*(struct __vic2*)0xD000)
 
 #include <_sid.h>
-#define        SID     (*(struct __sid*)0xD400)
+#define SID     (*(struct __sid*)0xD400)
 
 #include <_6526.h>
-#define CIA1   (*(struct __6526*)0xDC00)
-#define CIA2   (*(struct __6526*)0xDD00)
+#define CIA1    (*(struct __6526*)0xDC00)
+#define CIA2    (*(struct __6526*)0xDD00)
 
 /* Define special memory areas */
-#define COLOR_RAM      ((unsigned char*)0xD800)
+#define COLOR_RAM       ((unsigned char*)0xD800)
 
 /* Return codes for get_ostype */
 #define C64_OS_US       0xAA            /* US version */
@@ -152,7 +152,7 @@ extern void c64_hi_tgi[];               /* Referred to by tgi_static_stddrv[] */
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5a422806a1c18fc95b231af32c20eccf34ba4393..ed7397849637ccd24cbc73ebac54f08f7ec6e4b9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  cbm.h                                   */
+/*                                   cbm.h                                   */
 /*                                                                           */
-/*                     CBM system-specific definitions                      */
+/*                      CBM system-specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -94,29 +94,29 @@ extern char _filetype;          /* Defaults to 's' */
 
 
 
-#define CH_HLINE       192
-#define CH_VLINE       221
-#define CH_ULCORNER    176
-#define CH_URCORNER    174
-#define CH_LLCORNER    173
-#define CH_LRCORNER    189
-#define CH_TTEE                178
-#define CH_BTEE                177
-#define CH_LTEE                171
-#define CH_RTEE                179
-#define CH_CROSS       219
-#define CH_CURS_UP     145
-#define CH_CURS_DOWN    17
-#define CH_CURS_LEFT   157
-#define CH_CURS_RIGHT   29
-#define CH_PI          222
-#define CH_HOME                 19
-#define CH_DEL          20
-#define CH_INS         148
-#define CH_ENTER        13
-#define CH_STOP                  3
-#define CH_LIRA                 92
-#define CH_ESC          27
+#define CH_HLINE        192
+#define CH_VLINE        221
+#define CH_ULCORNER     176
+#define CH_URCORNER     174
+#define CH_LLCORNER     173
+#define CH_LRCORNER     189
+#define CH_TTEE         178
+#define CH_BTEE         177
+#define CH_LTEE         171
+#define CH_RTEE         179
+#define CH_CROSS        219
+#define CH_CURS_UP      145
+#define CH_CURS_DOWN     17
+#define CH_CURS_LEFT    157
+#define CH_CURS_RIGHT    29
+#define CH_PI           222
+#define CH_HOME          19
+#define CH_DEL           20
+#define CH_INS          148
+#define CH_ENTER         13
+#define CH_STOP           3
+#define CH_LIRA          92
+#define CH_ESC           27
 
 
 
@@ -166,9 +166,9 @@ unsigned char get_tv (void);
  *
  * e.g., cbm_open(2, 8, CBM_READ, "0:data,s");
  */
-#define CBM_READ       0       /* default is ",p" */
-#define CBM_WRITE      1       /* ditto */
-#define CBM_SEQ                2       /* default is ",r" -- or ",s" when writing */
+#define CBM_READ        0       /* default is ",p" */
+#define CBM_WRITE       1       /* ditto */
+#define CBM_SEQ         2       /* default is ",r" -- or ",s" when writing */
 
 /* Kernal-level functions */
 unsigned char cbm_k_acptr (void);
@@ -204,20 +204,20 @@ void cbm_k_unlsn (void);
 /* The cbm_* I/O functions below set _oserror (see errno.h),
  * in case of an error.
  *
- * error-code  BASIC error
- * ----------  -----------
- *      1  =   too many files
- *      2  =   file open
- *      3  =   file not open
- *      4  =   file not found
- *      5  =   device not present
- *      6  =   not input-file
- *      7  =   not output-file
- *      8  =   missing file-name
- *      9  =   illegal device-number
+ * error-code   BASIC error
+ * ----------   -----------
+ *       1  =   too many files
+ *       2  =   file open
+ *       3  =   file not open
+ *       4  =   file not found
+ *       5  =   device not present
+ *       6  =   not input-file
+ *       7  =   not output-file
+ *       8  =   missing file-name
+ *       9  =   illegal device-number
  *
- *     10  =   STOP-key pushed
- *     11  =   general I/O-error
+ *      10  =   STOP-key pushed
+ *      11  =   general I/O-error
  */
 
 
index 961701700a11c1ad461f1fe0ecc94271369a1f7f..9ede10f4776472f4bb36892b1f7b9a2f55210181 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Additional key defines */
-#define CH_F1                          133
-#define CH_F2                          137
-#define CH_F3                          134
-#define CH_F4                          138
-#define CH_F5                          135
-#define CH_F6                          139
-#define CH_F7                          136
-#define CH_F8                          140
+#define CH_F1                   133
+#define CH_F2                   137
+#define CH_F3                   134
+#define CH_F4                   138
+#define CH_F5                   135
+#define CH_F6                   139
+#define CH_F7                   136
+#define CH_F8                   140
 
 
 
 /* Color attributes */
-#define CATTR_LUMA0            0x00
-#define CATTR_LUMA1            0x10
-#define CATTR_LUMA2            0x20
-#define CATTR_LUMA3            0x30
-#define CATTR_LUMA4            0x40
-#define CATTR_LUMA5            0x50
-#define CATTR_LUMA6            0x60
-#define CATTR_LUMA7            0x70
-#define CATTR_BLINK            0x80
+#define CATTR_LUMA0             0x00
+#define CATTR_LUMA1             0x10
+#define CATTR_LUMA2             0x20
+#define CATTR_LUMA3             0x30
+#define CATTR_LUMA4             0x40
+#define CATTR_LUMA5             0x50
+#define CATTR_LUMA6             0x60
+#define CATTR_LUMA7             0x70
+#define CATTR_BLINK             0x80
 
 /* Base colors */
-#define BCOLOR_BLACK           0x00
-#define BCOLOR_WHITE           0x01
-#define BCOLOR_RED             0x02
-#define BCOLOR_CYAN                    0x03
-#define BCOLOR_VIOLET          0x04
+#define BCOLOR_BLACK            0x00
+#define BCOLOR_WHITE            0x01
+#define BCOLOR_RED              0x02
+#define BCOLOR_CYAN             0x03
+#define BCOLOR_VIOLET           0x04
 #define BCOLOR_PURPLE           BCOLOR_VIOLET
-#define BCOLOR_GREEN           0x05
-#define BCOLOR_BLUE            0x06
-#define BCOLOR_YELLOW          0x07
-#define BCOLOR_ORANGE          0x08
-#define BCOLOR_BROWN           0x09
-#define BCOLOR_LEMON           0x0A    /* What's that color? */
-#define BCOLOR_LIGHTVIOLET     0x0B
-#define BCOLOR_BLUEGREEN       0x0C
-#define BCOLOR_LIGHTBLUE       0x0D
-#define BCOLOR_DARKBLUE                0x0E
-#define BCOLOR_LIGHTGREEN      0x0F
+#define BCOLOR_GREEN            0x05
+#define BCOLOR_BLUE             0x06
+#define BCOLOR_YELLOW           0x07
+#define BCOLOR_ORANGE           0x08
+#define BCOLOR_BROWN            0x09
+#define BCOLOR_LEMON            0x0A    /* What's that color? */
+#define BCOLOR_LIGHTVIOLET      0x0B
+#define BCOLOR_BLUEGREEN        0x0C
+#define BCOLOR_LIGHTBLUE        0x0D
+#define BCOLOR_DARKBLUE         0x0E
+#define BCOLOR_LIGHTGREEN       0x0F
 
 /* Now try to mix up a C64/C128 compatible palette */
-#define COLOR_BLACK            (BCOLOR_BLACK)
-#define COLOR_WHITE            (BCOLOR_WHITE | CATTR_LUMA7)
-#define COLOR_RED              (BCOLOR_RED | CATTR_LUMA4)
-#define COLOR_CYAN             (BCOLOR_CYAN | CATTR_LUMA7)
-#define COLOR_VIOLET           (BCOLOR_VIOLET | CATTR_LUMA7)
+#define COLOR_BLACK             (BCOLOR_BLACK)
+#define COLOR_WHITE             (BCOLOR_WHITE | CATTR_LUMA7)
+#define COLOR_RED               (BCOLOR_RED | CATTR_LUMA4)
+#define COLOR_CYAN              (BCOLOR_CYAN | CATTR_LUMA7)
+#define COLOR_VIOLET            (BCOLOR_VIOLET | CATTR_LUMA7)
 #define COLOR_PURPLE            COLOR_VIOLET
-#define COLOR_GREEN            (BCOLOR_GREEN | CATTR_LUMA7)
-#define COLOR_BLUE             (BCOLOR_BLUE | CATTR_LUMA7)
-#define COLOR_YELLOW           (BCOLOR_YELLOW | CATTR_LUMA7)
-#define COLOR_ORANGE           (BCOLOR_ORANGE | CATTR_LUMA7)
-#define COLOR_BROWN            (BCOLOR_BROWN | CATTR_LUMA7)
-#define COLOR_LIGHTRED         (BCOLOR_RED | CATTR_LUMA7)
-#define COLOR_GRAY1            (BCOLOR_WHITE | CATTR_LUMA1)
-#define COLOR_GRAY2            (BCOLOR_WHITE | CATTR_LUMA3)
-#define COLOR_LIGHTGREEN       (BCOLOR_LIGHTGREEN | CATTR_LUMA7)
-#define COLOR_LIGHTBLUE        (BCOLOR_LIGHTBLUE | CATTR_LUMA7)
-#define COLOR_GRAY3            (BCOLOR_WHITE | CATTR_LUMA5)
+#define COLOR_GREEN             (BCOLOR_GREEN | CATTR_LUMA7)
+#define COLOR_BLUE              (BCOLOR_BLUE | CATTR_LUMA7)
+#define COLOR_YELLOW            (BCOLOR_YELLOW | CATTR_LUMA7)
+#define COLOR_ORANGE            (BCOLOR_ORANGE | CATTR_LUMA7)
+#define COLOR_BROWN             (BCOLOR_BROWN | CATTR_LUMA7)
+#define COLOR_LIGHTRED          (BCOLOR_RED | CATTR_LUMA7)
+#define COLOR_GRAY1             (BCOLOR_WHITE | CATTR_LUMA1)
+#define COLOR_GRAY2             (BCOLOR_WHITE | CATTR_LUMA3)
+#define COLOR_LIGHTGREEN        (BCOLOR_LIGHTGREEN | CATTR_LUMA7)
+#define COLOR_LIGHTBLUE         (BCOLOR_LIGHTBLUE | CATTR_LUMA7)
+#define COLOR_GRAY3             (BCOLOR_WHITE | CATTR_LUMA5)
 
 /* Define hardware */
 #include <_ted.h>
 #define TED             (*(struct __ted*)0xFF00)
 
 /* Define special memory areas */
-#define COLOR_RAM      ((unsigned char*)0x0800)
+#define COLOR_RAM       ((unsigned char*)0x0800)
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 19370d8185dd9f29479dab9c5f567145092647e5..350527c89f0ca095d102a399df57bc0d5f77256b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cbm510.h                                  */
+/*                                 cbm510.h                                  */
 /*                                                                           */
-/*            System specific definitions for the CBM5x0 / P500             */
+/*             System specific definitions for the CBM5x0 / P500             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                   Data                                   */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Additional key defines */
-#define CH_F1                  224
-#define CH_F2                  225
-#define CH_F3                  226
-#define CH_F4                  227
-#define CH_F5                  228
-#define CH_F6                  229
-#define CH_F7                  230
-#define CH_F8                  231
-#define CH_F9                  232
-#define CH_F10                 233
-#define CH_F11                 234
-#define CH_F12                 235
-#define CH_F13                 236
-#define CH_F14                 237
-#define CH_F15                 238
-#define CH_F16                 239
-#define CH_F17                 240
-#define CH_F18                 241
-#define CH_F19                 242
-#define CH_F20                 243
+#define CH_F1                   224
+#define CH_F2                   225
+#define CH_F3                   226
+#define CH_F4                   227
+#define CH_F5                   228
+#define CH_F6                   229
+#define CH_F7                   230
+#define CH_F8                   231
+#define CH_F9                   232
+#define CH_F10                  233
+#define CH_F11                  234
+#define CH_F12                  235
+#define CH_F13                  236
+#define CH_F14                  237
+#define CH_F15                  238
+#define CH_F16                  239
+#define CH_F17                  240
+#define CH_F18                  241
+#define CH_F19                  242
+#define CH_F20                  243
 
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
-#define COLOR_RED              0x02
-#define COLOR_CYAN             0x03
-#define COLOR_VIOLET           0x04
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
+#define COLOR_RED               0x02
+#define COLOR_CYAN              0x03
+#define COLOR_VIOLET            0x04
 #define COLOR_PURPLE            COLOR_VIOLET
-#define COLOR_GREEN            0x05
-#define COLOR_BLUE             0x06
-#define COLOR_YELLOW           0x07
-#define COLOR_ORANGE           0x08
-#define COLOR_BROWN            0x09
-#define COLOR_LIGHTRED         0x0A
-#define COLOR_GRAY1            0x0B
-#define COLOR_GRAY2            0x0C
-#define COLOR_LIGHTGREEN       0x0D
-#define COLOR_LIGHTBLUE        0x0E
-#define COLOR_GRAY3            0x0F
+#define COLOR_GREEN             0x05
+#define COLOR_BLUE              0x06
+#define COLOR_YELLOW            0x07
+#define COLOR_ORANGE            0x08
+#define COLOR_BROWN             0x09
+#define COLOR_LIGHTRED          0x0A
+#define COLOR_GRAY1             0x0B
+#define COLOR_GRAY2             0x0C
+#define COLOR_LIGHTGREEN        0x0D
+#define COLOR_LIGHTBLUE         0x0E
+#define COLOR_GRAY3             0x0F
 
 /* Define hardware */
 #include <_vic2.h>
-#define VIC            (*(struct __vic2*)0xD800)
+#define VIC     (*(struct __vic2*)0xD800)
 
 #include <_sid.h>
-#define        SID     (*(struct __sid*)0xDA00)
+#define SID     (*(struct __sid*)0xDA00)
 
 #include <_6526.h>
-#define CIA    (*(struct __6526*)0xDC00)
+#define CIA     (*(struct __6526*)0xDC00)
 
 #include <_6551.h>
-#define ACIA   (*(struct __6551*)0xDD00)
+#define ACIA    (*(struct __6551*)0xDD00)
 
 #include <_6525.h>
-#define TPI1   (*(struct __6525*)0xDE00)
-#define TPI2   (*(struct __6525*)0xDF00)
+#define TPI1    (*(struct __6525*)0xDE00)
+#define TPI2    (*(struct __6525*)0xDF00)
 
 
 
 
 /* The addresses of the static drivers */
 extern void cbm510_ram_emd[];
-extern void cbm510_std_joy[];  /* Referred to by joy_static_stddrv[] */
+extern void cbm510_std_joy[];   /* Referred to by joy_static_stddrv[] */
 extern void cbm510_std_ser[];
 
 
 
 /*****************************************************************************/
-/*                                   Code                                   */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 523b49577d8f71e852846edcb9a1ad836015843e..84ea12eceb445e67430c1ebc24e5d9e8e751981b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 cbm610.h                                 */
+/*                                 cbm610.h                                  */
 /*                                                                           */
-/*                    CBM610 system specific definitions                    */
+/*                    CBM610 system specific definitions                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                   Data                                   */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 #define CH_F20                  243
 
 /* Color defines */
-#define COLOR_BLACK                    0x00
-#define COLOR_WHITE                    0x01
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
 
 /* Define hardware */
 #include <_6545.h>
 #define CRTC    (*(struct __6545)0xD800)
 
 #include <_sid.h>
-#define SID    (*(struct __sid*)0xDA00)
+#define SID     (*(struct __sid*)0xDA00)
 
 #include <_6526.h>
 #define CIA     (*(struct __6526*)0xDC00)
@@ -109,7 +109,7 @@ extern void cbm610_std_ser[];
 
 
 /*****************************************************************************/
-/*                                   Code                                   */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e1c23e1bcfd6e58e4492eb18039ae5df5d77be42..5607eab7bf340e7176ebbd609955e3a9b461735f 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 21a0c1ea7907a6ab826c6bed70a3c5db03e21946..ab446ad4211845f1a2a8238bed4ed90b23d228ea 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  conio.h                                 */
+/*                                  conio.h                                  */
 /*                                                                           */
-/*                            Direct console I/O                            */
+/*                            Direct console I/O                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -82,7 +82,7 @@
 
 
 /*****************************************************************************/
-/*                                Functions                                 */
+/*                                 Functions                                 */
 /*****************************************************************************/
 
 
index 8437e2c2c0c14494e0e306d1bee725419b27fd22..4c7f976d2a7d6e47790eeda5117ff9d2e718c6ec 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 ctype.h                                  */
+/*                                  ctype.h                                  */
 /*                                                                           */
-/*                           Character handling                             */
+/*                            Character handling                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 extern unsigned char _ctype[256];
 
 /* Bits used to specify character classes */
-#define _CT_LOWER              0x01    /* 0 - Lower case char */
-#define _CT_UPPER      0x02    /* 1 - Upper case char */
-#define _CT_DIGIT      0x04    /* 2 - Numeric digit */
-#define _CT_XDIGIT             0x08    /* 3 - Hex digit (both lower and upper) */
-#define _CT_CNTRL              0x10    /* 4 - Control character */
-#define _CT_SPACE      0x20    /* 5 - The space character itself */
-#define _CT_OTHER_WS   0x40    /* 6 - Other whitespace ('\f', '\n', '\r', '\t', and '\v') */
-#define _CT_SPACE_TAB  0x80    /* 7 - Space or tab character */
+#define _CT_LOWER       0x01    /* 0 - Lower case char */
+#define _CT_UPPER       0x02    /* 1 - Upper case char */
+#define _CT_DIGIT       0x04    /* 2 - Numeric digit */
+#define _CT_XDIGIT      0x08    /* 3 - Hex digit (both lower and upper) */
+#define _CT_CNTRL       0x10    /* 4 - Control character */
+#define _CT_SPACE       0x20    /* 5 - The space character itself */
+#define _CT_OTHER_WS    0x40    /* 6 - Other whitespace ('\f', '\n', '\r', '\t', and '\v') */
+#define _CT_SPACE_TAB   0x80    /* 7 - Space or tab character */
 
 /* Bit combinations */
-#define _CT_ALNUM              (_CT_LOWER | _CT_UPPER | _CT_DIGIT)
-#define _CT_ALPHA      (_CT_LOWER | _CT_UPPER)
-#define _CT_NOT_GRAPH  (_CT_CNTRL | _CT_SPACE)
+#define _CT_ALNUM       (_CT_LOWER | _CT_UPPER | _CT_DIGIT)
+#define _CT_ALPHA       (_CT_LOWER | _CT_UPPER)
+#define _CT_NOT_GRAPH   (_CT_CNTRL | _CT_SPACE)
 #define _CT_NOT_PRINT   (_CT_CNTRL)
-#define _CT_NOT_PUNCT  (_CT_SPACE | _CT_CNTRL | _CT_DIGIT | _CT_UPPER | _CT_LOWER)
+#define _CT_NOT_PUNCT   (_CT_SPACE | _CT_CNTRL | _CT_DIGIT | _CT_UPPER | _CT_LOWER)
 #define _CT_WS          (_CT_SPACE | _CT_OTHER_WS)
 
 /* Character classification functions */
@@ -71,11 +71,11 @@ int __fastcall__ isspace (int c);
 int __fastcall__ isupper (int c);
 int __fastcall__ isxdigit (int c);
 #if __CC65_STD__ >= __CC65_STD_C99__
-int __fastcall__ isblank (int c);              /* New in C99 */
+int __fastcall__ isblank (int c);       /* New in C99 */
 #endif
 
-int __fastcall__ toupper (int c);      /* Always external */
-int __fastcall__ tolower (int c);      /* Always external */
+int __fastcall__ toupper (int c);       /* Always external */
+int __fastcall__ tolower (int c);       /* Always external */
 
 #if __CC65_STD__ >= __CC65_STD_CC65__
 unsigned char __fastcall__ toascii (unsigned char c);
@@ -95,83 +95,83 @@ unsigned char __fastcall__ toascii (unsigned char c);
 
 #define isalnum(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_ALNUM),     \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_ALNUM),     \
                     __AX__)
 
 #define isalpha(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_ALPHA),     \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_ALPHA),     \
                     __AX__)
 
 #if __CC65_STD__ >= __CC65_STD_C99__
 #define isblank(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_SPACE_TAB), \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_SPACE_TAB), \
                     __AX__)
 #endif
 
 #define iscntrl(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_CNTRL),     \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_CNTRL),     \
                     __AX__)
 
 #define isdigit(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_DIGIT),     \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_DIGIT),     \
                     __AX__)
 
 #define isgraph(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_NOT_GRAPH), \
-                   __asm__ ("cmp #1"),                 \
-                   __asm__ ("lda #1"),                 \
-                   __asm__ ("sbc #1"),                 \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_NOT_GRAPH), \
+                    __asm__ ("cmp #1"),                 \
+                    __asm__ ("lda #1"),                 \
+                    __asm__ ("sbc #1"),                 \
                     __AX__)
 
 #define islower(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_LOWER),     \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_LOWER),     \
                     __AX__)
 
 #define isprint(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_NOT_PRINT), \
-                   __asm__ ("eor #%b", _CT_NOT_PRINT), \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_NOT_PRINT), \
+                    __asm__ ("eor #%b", _CT_NOT_PRINT), \
                     __AX__)
 
 #define ispunct(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_NOT_PUNCT), \
-                   __asm__ ("cmp #1"),                 \
-                   __asm__ ("lda #1"),                 \
-                   __asm__ ("sbc #1"),                 \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_NOT_PUNCT), \
+                    __asm__ ("cmp #1"),                 \
+                    __asm__ ("lda #1"),                 \
+                    __asm__ ("sbc #1"),                 \
                     __AX__)
 
 #define isspace(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_WS),        \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_WS),        \
                     __AX__)
 
 #define isupper(c)  (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_UPPER),     \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_UPPER),     \
                     __AX__)
 
 #define isxdigit(c) (__AX__ = (c),                      \
                     __asm__ ("tay"),                    \
-                   __asm__ ("lda %v,y", _ctype),       \
-                   __asm__ ("and #%b", _CT_XDIGIT),    \
+                    __asm__ ("lda %v,y", _ctype),       \
+                    __asm__ ("and #%b", _CT_XDIGIT),    \
                     __AX__)
 
 #endif
index 4749b18be5422d6a0bd63fe23890e863d3f7fc59..5156658f0a1a0fc7d70eb5382a3cc948bec4a7b7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  dbg.h                                   */
+/*                                   dbg.h                                   */
 /*                                                                           */
-/*                        Debugger module interface                         */
+/*                         Debugger module interface                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -61,7 +61,7 @@
 
 
 /*****************************************************************************/
-/*                                    Utility functions                             */
+/*                             Utility functions                             */
 /*****************************************************************************/
 
 
@@ -101,7 +101,7 @@ char* DbgMemDump (unsigned Addr, char* Buf, unsigned char Len);
 
 
 /*****************************************************************************/
-/*                        High level user interface                         */
+/*                         High level user interface                         */
 /*****************************************************************************/
 
 
@@ -111,7 +111,7 @@ void __fastcall__ DbgInit (unsigned unused);
  * next brk encountered.
  */
 
-#define BREAK()                __asm__ ("brk")
+#define BREAK()         __asm__ ("brk")
 /* Use this to insert breakpoints into your code */
 
 
index 010db6a117cefbe858d8ff75aecccf2a27997c79..993036a1bb4c2135a4080bf1d1d333d67e1e51d6 100644 (file)
@@ -36,7 +36,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -113,11 +113,11 @@ struct dirent {
 #elif defined(__LYNX__)
 
 struct dirent {
-    unsigned char      d_blocks;
-    unsigned int       d_offset;
-    char               d_type;
-    void               *d_address;
-    unsigned int       d_size;
+    unsigned char       d_blocks;
+    unsigned int        d_offset;
+    char                d_type;
+    void                *d_address;
+    unsigned int        d_size;
 };
 
 extern struct dirent FileEntry;
@@ -144,7 +144,7 @@ struct dirent {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8b409cac2d1845f162f14d36937a1f6947a9a188..28836f2b159604b1e77832a2f44549c1388001a3 100644 (file)
@@ -71,7 +71,7 @@ struct em_copy {
 
 
 /*****************************************************************************/
-/*                                Functions                                 */
+/*                                 Functions                                 */
 /*****************************************************************************/
 
 
index 04757499c43eb0e4db571db53f10b30213085c81..48cbbe8f7606d32d934ed22452178c3d9e089e76 100644 (file)
@@ -60,7 +60,7 @@ typedef struct {
     void*               map;            /* MAP routine */
     void*               use;            /* USE routine */
     void*               mapclean;       /* MAPCLEAN routine */
-    void*              copyfrom;       /* COPYFROM routine */
+    void*               copyfrom;       /* COPYFROM routine */
     void*               copyto;         /* COPYTO routine */
 
 } em_drv_header;
@@ -68,7 +68,7 @@ typedef struct {
 
 
 /* EM kernel variables */
-extern em_drv_header*          em_drv;         /* Pointer to driver */
+extern em_drv_header*   em_drv;         /* Pointer to driver */
 
 
 
index 60f069dac1ec1b88a209125dd5c568f685d7c531..468e7d4eaca9e5ce7400ef4d308484fa0de13f9b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 errno.h                                  */
+/*                                  errno.h                                  */
 /*                                                                           */
-/*                               Error codes                                */
+/*                                Error codes                                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -56,23 +56,23 @@ extern int _errno;
 
 
 /* Possible error codes */
-#define        ENOENT          1       /* No such file or directory */
-#define ENOMEM         2       /* Out of memory */
-#define EACCES         3       /* Permission denied */
-#define ENODEV         4       /* No such device */
-#define EMFILE         5       /* Too many open files */
-#define EBUSY          6       /* Device or resource busy */
-#define EINVAL         7       /* Invalid argument */
-#define ENOSPC         8       /* No space left on device */
-#define EEXIST         9       /* File exists */
-#define EAGAIN         10      /* Try again */
-#define EIO            11      /* I/O error */
-#define EINTR          12      /* Interrupted system call */
-#define ENOSYS         13      /* Function not implemented */
-#define ESPIPE         14      /* Illegal seek */
+#define ENOENT          1       /* No such file or directory */
+#define ENOMEM          2       /* Out of memory */
+#define EACCES          3       /* Permission denied */
+#define ENODEV          4       /* No such device */
+#define EMFILE          5       /* Too many open files */
+#define EBUSY           6       /* Device or resource busy */
+#define EINVAL          7       /* Invalid argument */
+#define ENOSPC          8       /* No space left on device */
+#define EEXIST          9       /* File exists */
+#define EAGAIN          10      /* Try again */
+#define EIO             11      /* I/O error */
+#define EINTR           12      /* Interrupted system call */
+#define ENOSYS          13      /* Function not implemented */
+#define ESPIPE          14      /* Illegal seek */
 #define ERANGE          15      /* Range error */
 #define EBADF           16      /* Bad file number */
-#define EUNKNOWN               17      /* Unknown OS specific error */
+#define EUNKNOWN        17      /* Unknown OS specific error */
 
 
 
index fd86c7a194d4eb8319b4eb2efba174d1be640a92..0d2398315659c2d83c557a44b2ce9c0f04464e8a 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 fcntl.h                                  */
+/*                                  fcntl.h                                  */
 /*                                                                           */
 /*                            File control operations                        */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 /* Functions */
-int open (const char* name, int flags, ...);   /* May take a mode argument */
+int open (const char* name, int flags, ...);    /* May take a mode argument */
 int __fastcall__ close (int fd);
 int __fastcall__ creat (const char* name, unsigned mode);
 
index 2491d2f098d4a3c7eac64b7c472efef78821364c..65b85cd595631199136b967ae8913f6f0c8fc8eb 100644 (file)
 #endif
 
 
-#define CH_ULCORNER            '+'
-#define CH_URCORNER            '+'
-#define CH_LLCORNER            '+'
-#define CH_LRCORNER            '+'
-#define CH_TTEE                        '+'
-#define CH_RTEE                        '+'
-#define CH_BTEE                        '+'
-#define CH_LTEE                        '+'
-#define CH_CROSS               '+'
-
-#define CH_F1                  KEY_F1
-#define CH_F2                  KEY_F2
-#define CH_F3                  KEY_F3
-#define CH_F4                  KEY_F4
-#define CH_F5                  KEY_F5
-#define CH_F6                  KEY_F6
-#define CH_F7                  KEY_F7
-#define CH_F8                  KEY_F8
-
-#define CH_CURS_UP             KEY_UP
-#define CH_CURS_DOWN           KEY_DOWN
-#define CH_CURS_LEFT           KEY_LEFT
-#define CH_CURS_RIGHT          KEY_RIGHT
-#define CH_DEL                 KEY_DELETE
-#define CH_INS                 KEY_INSERT
-#define CH_ENTER               KEY_ENTER
-#define CH_STOP                        KEY_STOP
-#define CH_ESC                 KEY_ESC
-
-#define COLOR_BLACK            BLACK
-#define COLOR_WHITE            WHITE
-#define COLOR_RED              RED
-#define COLOR_CYAN             CYAN
-#define COLOR_VIOLET           PURPLE
-#define COLOR_PURPLE           PURPLE
-#define COLOR_GREEN            GREEN
-#define COLOR_BLUE             BLUE
-#define COLOR_YELLOW           YELLOW
-#define COLOR_ORANGE           ORANGE
-#define COLOR_BROWN            BROWN
-#define COLOR_LIGHTRED         LTRED
-#define COLOR_GRAY1            DKGREY
-#define COLOR_GRAY2            MEDGREY
-#define COLOR_LIGHTGREEN       LTGREEN
-#define COLOR_LIGHTBLUE                LTBLUE
-#define COLOR_GRAY3            LTGREY
-
-#define TGI_COLOR_BLACK                COLOR_BLACK
-#define TGI_COLOR_WHITE                COLOR_WHITE
-#define TGI_COLOR_RED          COLOR_RED
-#define TGI_COLOR_CYAN         COLOR_CYAN
-#define TGI_COLOR_VIOLET       COLOR_VIOLET
-#define TGI_COLOR_PURPLE       COLOR_PURPLE
-#define TGI_COLOR_GREEN                COLOR_GREEN
-#define TGI_COLOR_BLUE         COLOR_BLUE
-#define TGI_COLOR_YELLOW       COLOR_YELLOW
-#define TGI_COLOR_ORANGE       COLOR_ORANGE
-#define TGI_COLOR_BROWN                COLOR_BROWN
-#define TGI_COLOR_LIGHTRED     COLOR_LIGHTRED
-#define TGI_COLOR_GRAY1                COLOR_GRAY1
-#define TGI_COLOR_GRAY2                COLOR_GRAY2
-#define TGI_COLOR_LIGHTGREEN   COLOR_LIGHTGREEN
-#define TGI_COLOR_LIGHTBLUE    COLOR_LIGHTBLUE
-#define TGI_COLOR_GRAY3                COLOR_GRAY3
+#define CH_ULCORNER             '+'
+#define CH_URCORNER             '+'
+#define CH_LLCORNER             '+'
+#define CH_LRCORNER             '+'
+#define CH_TTEE                 '+'
+#define CH_RTEE                 '+'
+#define CH_BTEE                 '+'
+#define CH_LTEE                 '+'
+#define CH_CROSS                '+'
+
+#define CH_F1                   KEY_F1
+#define CH_F2                   KEY_F2
+#define CH_F3                   KEY_F3
+#define CH_F4                   KEY_F4
+#define CH_F5                   KEY_F5
+#define CH_F6                   KEY_F6
+#define CH_F7                   KEY_F7
+#define CH_F8                   KEY_F8
+
+#define CH_CURS_UP              KEY_UP
+#define CH_CURS_DOWN            KEY_DOWN
+#define CH_CURS_LEFT            KEY_LEFT
+#define CH_CURS_RIGHT           KEY_RIGHT
+#define CH_DEL                  KEY_DELETE
+#define CH_INS                  KEY_INSERT
+#define CH_ENTER                KEY_ENTER
+#define CH_STOP                 KEY_STOP
+#define CH_ESC                  KEY_ESC
+
+#define COLOR_BLACK             BLACK
+#define COLOR_WHITE             WHITE
+#define COLOR_RED               RED
+#define COLOR_CYAN              CYAN
+#define COLOR_VIOLET            PURPLE
+#define COLOR_PURPLE            PURPLE
+#define COLOR_GREEN             GREEN
+#define COLOR_BLUE              BLUE
+#define COLOR_YELLOW            YELLOW
+#define COLOR_ORANGE            ORANGE
+#define COLOR_BROWN             BROWN
+#define COLOR_LIGHTRED          LTRED
+#define COLOR_GRAY1             DKGREY
+#define COLOR_GRAY2             MEDGREY
+#define COLOR_LIGHTGREEN        LTGREEN
+#define COLOR_LIGHTBLUE         LTBLUE
+#define COLOR_GRAY3             LTGREY
+
+#define TGI_COLOR_BLACK         COLOR_BLACK
+#define TGI_COLOR_WHITE         COLOR_WHITE
+#define TGI_COLOR_RED           COLOR_RED
+#define TGI_COLOR_CYAN          COLOR_CYAN
+#define TGI_COLOR_VIOLET        COLOR_VIOLET
+#define TGI_COLOR_PURPLE        COLOR_PURPLE
+#define TGI_COLOR_GREEN         COLOR_GREEN
+#define TGI_COLOR_BLUE          COLOR_BLUE
+#define TGI_COLOR_YELLOW        COLOR_YELLOW
+#define TGI_COLOR_ORANGE        COLOR_ORANGE
+#define TGI_COLOR_BROWN         COLOR_BROWN
+#define TGI_COLOR_LIGHTRED      COLOR_LIGHTRED
+#define TGI_COLOR_GRAY1         COLOR_GRAY1
+#define TGI_COLOR_GRAY2         COLOR_GRAY2
+#define TGI_COLOR_LIGHTGREEN    COLOR_LIGHTGREEN
+#define TGI_COLOR_LIGHTBLUE     COLOR_LIGHTBLUE
+#define TGI_COLOR_GRAY3         COLOR_GRAY3
 
 
 /* End of geos.h */
index 4847c32861af69f28af9571048cfc27bc6409421..e70eb9304f973d494f87e095d9afd6cfc34bb22b 100644 (file)
@@ -9,59 +9,59 @@
 #ifndef _GCONST_H
 #define _GCONST_H
 
-#define        NULL            0
-#define        FALSE           NULL
-#define        TRUE            0xff
-#define        MOUSE_SPRNUM    0
-#define        DISK_DRV_LGH    0x0d80
+#define NULL            0
+#define FALSE           NULL
+#define TRUE            0xff
+#define MOUSE_SPRNUM    0
+#define DISK_DRV_LGH    0x0d80
 
 /* drivetypes */
-#define        DRV_NULL        0
-#define        DRV_1541        1
-#define        DRV_1571        2
-#define        DRV_1581        3
-#define        DRV_NETWORK     15
+#define DRV_NULL        0
+#define DRV_1541        1
+#define DRV_1571        2
+#define DRV_1581        3
+#define DRV_NETWORK     15
 
 /* various disk constants */
-#define        REL_FILE_NUM    9
-#define        CMND_FILE_NUM   15
-#define        MAX_CMND_STR    32
-#define        DIR_1581_TRACK  40
-#define        DIR_ACC_CHAN    13
-#define        DIR_TRACK       18
-#define        N_TRACKS        35
-#define        DK_NM_ID_LEN    18
-#define        TRACK           9
-#define        SECTOR          12
-#define        TOTAL_BLOCKS    664
+#define REL_FILE_NUM    9
+#define CMND_FILE_NUM   15
+#define MAX_CMND_STR    32
+#define DIR_1581_TRACK  40
+#define DIR_ACC_CHAN    13
+#define DIR_TRACK       18
+#define N_TRACKS        35
+#define DK_NM_ID_LEN    18
+#define TRACK           9
+#define SECTOR          12
+#define TOTAL_BLOCKS    664
 
 /* offset to something */
-#define        OFF_INDEX_PTR   1
+#define OFF_INDEX_PTR   1
 
 /* values for CPU_DATA memory config - C64 */
-#define        IO_IN           0x35
-#define        KRNL_IO_IN      0x36
-#define        KRNL_BAS_IO_IN  0x37
+#define IO_IN           0x35
+#define KRNL_IO_IN      0x36
+#define KRNL_BAS_IO_IN  0x37
 
 /* values for MMU config - C128 */
-#define        CIOIN           0x7E
-#define        CRAM64K         0x7F
-#define        CKRNLBASIOIN    0x40
-#define        CKRNLIOIN       0x4E
+#define CIOIN           0x7E
+#define CRAM64K         0x7F
+#define CKRNLBASIOIN    0x40
+#define CKRNLIOIN       0x4E
 
 /* alarmSetFlag */
-#define        ALARMMASK       4
+#define ALARMMASK       4
 
-#define        CLR_SAVE        0x40
-#define        CONSTRAINED     0x40
-#define        UN_CONSTRAINED  0
-#define        FG_SAVE         0x80
+#define CLR_SAVE        0x40
+#define CONSTRAINED     0x40
+#define UN_CONSTRAINED  0
+#define FG_SAVE         0x80
 
-#define        FUTURE1         7
-#define        FUTURE2         8
-#define        FUTURE3         9
-#define        FUTURE4         10
-#define        USELAST         127
-#define        SHORTCUT        128
+#define FUTURE1         7
+#define FUTURE2         8
+#define FUTURE3         9
+#define FUTURE4         10
+#define USELAST         127
+#define SHORTCUT        128
 
 #endif
index ac6438117132f885d1ff5275004ee9c4583e8ef5..f65d7d30188d71dfa5bd15b6868a8d0a10c2be90 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GDISK_H
+#ifndef _GDISK_H
 #define _GDISK_H
 
 #ifndef _GSTRUCT_H
@@ -29,7 +29,7 @@ char OpenDisk(void);
 char __fastcall__ FindBAMBit(struct tr_se *myTrSe);
 char __fastcall__ BlkAlloc(struct tr_se output[], unsigned length);
 char __fastcall__ NxtBlkAlloc(struct tr_se *startTrSe,
-                             struct tr_se output[], unsigned length);
+                              struct tr_se output[], unsigned length);
 char __fastcall__ FreeBlock(struct tr_se *myTrSe);
 struct tr_se __fastcall__ SetNextFree(struct tr_se *myTrSe);
 // above needs (unsigned) casts on both sides of '='
@@ -44,38 +44,38 @@ void PurgeTurbo(void);
 
 char __fastcall__ ChangeDiskDevice(char newdev);
 
-/* disk header offsets i.e. index curDirHead with these        */
-#define        OFF_TO_BAM      4
-#define        OFF_DISK_NAME   144
-#define        OFF_GS_DTYPE    189
-#define        OFF_OP_TR_SC    171
-#define        OFF_GS_ID       173
+/* disk header offsets i.e. index curDirHead with these */
+#define OFF_TO_BAM      4
+#define OFF_DISK_NAME   144
+#define OFF_GS_DTYPE    189
+#define OFF_OP_TR_SC    171
+#define OFF_GS_ID       173
 /* disk errors reported in _oserror */
-#define        ANY_FAULT       0xf0
-#define G_EOF          0
-#define        NO_BLOCKS       1
-#define        INV_TRACK       2
-#define        INSUFF_SPACE    3
-#define        FULL_DIRECTORY  4
-#define        FILE_NOT_FOUND  5
-#define        BAD_BAM         6
-#define        UNOPENED_VLIR   7
-#define        INV_RECORD      8
-#define        OUT_OF_RECORDS  9
-#define        STRUCT_MISMAT   10
-#define        BFR_OVERFLOW    11
-#define        CANCEL_ERR      12
-#define        DEV_NOT_FOUND   13
-#define        INCOMPATIBLE    14
-#define        HDR_NOT_THERE   0x20
-#define        NO_SYNC         0x21
-#define        DBLK_NOT_THERE  0x22
-#define        DAT_CHKSUM_ERR  0x23
-#define        WR_VER_ERR      0x25
-#define        WR_PR_ON        0x26
-#define        HDR_CHKSUM_ERR  0x27
-#define        DSK_ID_MISMAT   0x29
-#define        BYTE_DEC_ERR    0x2e
-#define        DOS_MISMATCH    0x73
+#define ANY_FAULT       0xf0
+#define G_EOF           0
+#define NO_BLOCKS       1
+#define INV_TRACK       2
+#define INSUFF_SPACE    3
+#define FULL_DIRECTORY  4
+#define FILE_NOT_FOUND  5
+#define BAD_BAM         6
+#define UNOPENED_VLIR   7
+#define INV_RECORD      8
+#define OUT_OF_RECORDS  9
+#define STRUCT_MISMAT   10
+#define BFR_OVERFLOW    11
+#define CANCEL_ERR      12
+#define DEV_NOT_FOUND   13
+#define INCOMPATIBLE    14
+#define HDR_NOT_THERE   0x20
+#define NO_SYNC         0x21
+#define DBLK_NOT_THERE  0x22
+#define DAT_CHKSUM_ERR  0x23
+#define WR_VER_ERR      0x25
+#define WR_PR_ON        0x26
+#define HDR_CHKSUM_ERR  0x27
+#define DSK_ID_MISMAT   0x29
+#define BYTE_DEC_ERR    0x2e
+#define DOS_MISMATCH    0x73
 
 #endif
index b1433fea452d39a595bb94828f1d424e0c603bee..bca89038399b09fe90857f200a70e0e02a75eb03 100644 (file)
@@ -4,22 +4,22 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GDLGBOX_H
+#ifndef _GDLGBOX_H
 #define _GDLGBOX_H
 
 char __fastcall__ DoDlgBox(const char *dboxstring);
 char RstrFrmDialogue(void);
 
 /* These are custom, predefined dialog boxes, I'm sure you'll find them usable
-   Most of them show 2 lines of text                                           */
+   Most of them show 2 lines of text */
 
 char __fastcall__ DlgBoxYesNo(const char *line1, const char *line2);
 char __fastcall__ DlgBoxOkCancel(const char *line1, const char *line2);
 void __fastcall__ DlgBoxOk(const char *line1, const char *line2);
 char __fastcall__ DlgBoxGetString(char *myString, char strLength,
-                                 const char *line1, const char *line2);
+                                  const char *line1, const char *line2);
 char __fastcall__ DlgBoxFileSelect(const char *classtxt, char ftype,
-                                  char *fname);
+                                   char *fname);
 
 /* This is a more general dialog box, works like printf in a window */
 char MessageBox(char mode, const char *format, ...);
@@ -40,8 +40,8 @@ typedef void dlgBoxStr;
 
 #define DB_DEFPOS(pattern) (char)(DEF_DB_POS | (pattern))
 #define DB_SETPOS(pattern,top,bot,left,right) \
-       (char)(SET_DB_POS | (pattern)), (char)(top), (char)(bot), \
-       (unsigned)(left), (unsigned)(right)
+        (char)(SET_DB_POS | (pattern)), (char)(top), (char)(bot), \
+        (unsigned)(left), (unsigned)(right)
 #define DB_ICON(i,x,y)  (char)(i), (char)(x), (char)(y)
 #define DB_TXTSTR(x,y,text) (char)DBTXTSTR, (char)(x), (char)(y), (text)
 #define DB_VARSTR(x,y,ptr) (char)DBVARSTR, (char)(x), (char)(y), (char)(ptr)
@@ -59,52 +59,52 @@ typedef void dlgBoxStr;
 */
 
 /* icons for DB_ICON */
-#define        OK              1
-#define        CANCEL          2
-#define        YES             3
-#define        NO              4
-#define        OPEN            5
-#define        DISK            6
+#define OK              1
+#define CANCEL          2
+#define YES             3
+#define NO              4
+#define OPEN            5
+#define DISK            6
 /* commands - internally used by command macros */
-#define        DBTXTSTR        11
-#define        DBVARSTR        12
-#define        DBGETSTRING     13
-#define        DBSYSOPV        14
-#define        DBGRPHSTR       15
-#define        DBGETFILES      16
-#define        DBOPVEC         17
-#define        DBUSRICON       18
-#define        DB_USR_ROUT     19
+#define DBTXTSTR        11
+#define DBVARSTR        12
+#define DBGETSTRING     13
+#define DBSYSOPV        14
+#define DBGRPHSTR       15
+#define DBGETFILES      16
+#define DBOPVEC         17
+#define DBUSRICON       18
+#define DB_USR_ROUT     19
 /* icons tabulation in standard window */
-#define        DBI_X_0         1
-#define        DBI_X_1         9
-#define        DBI_X_2         17
-#define        DBI_Y_0         8
-#define        DBI_Y_1         40
-#define        DBI_Y_2         72
+#define DBI_X_0         1
+#define DBI_X_1         9
+#define DBI_X_2         17
+#define DBI_Y_0         8
+#define DBI_Y_1         40
+#define DBI_Y_2         72
 /* standard window size defaults */
-#define        SET_DB_POS      0
-#define        DEF_DB_POS      0x80
-#define        DEF_DB_TOP      32
-#define        DEF_DB_BOT      127
-#define        DEF_DB_LEFT     64
-#define        DEF_DB_RIGHT    255
+#define SET_DB_POS      0
+#define DEF_DB_POS      0x80
+#define DEF_DB_TOP      32
+#define DEF_DB_BOT      127
+#define DEF_DB_LEFT     64
+#define DEF_DB_RIGHT    255
 /* text tabulation in standard window */
-#define        TXT_LN_1_Y      16
-#define        TXT_LN_2_Y      32
-#define        TXT_LN_3_Y      48
-#define        TXT_LN_4_Y      64
-#define        TXT_LN_5_Y      80
-#define        TXT_LN_X        16
+#define TXT_LN_1_Y      16
+#define TXT_LN_2_Y      32
+#define TXT_LN_3_Y      48
+#define TXT_LN_4_Y      64
+#define TXT_LN_5_Y      80
+#define TXT_LN_X        16
 /* system icons size */
-#define        SYSDBI_HEIGHT   16
-#define        SYSDBI_WIDTH    6
+#define SYSDBI_HEIGHT   16
+#define SYSDBI_WIDTH    6
 /* dialogbox string offsets */
-#define        OFF_DB_FORM     0
-#define        OFF_DB_TOP      1
-#define        OFF_DB_BOT      2
-#define        OFF_DB_LEFT     3
-#define        OFF_DB_RIGHT    5
-#define        OFF_DB_1STCMD   7
+#define OFF_DB_FORM     0
+#define OFF_DB_TOP      1
+#define OFF_DB_BOT      2
+#define OFF_DB_LEFT     3
+#define OFF_DB_RIGHT    5
+#define OFF_DB_1STCMD   7
 
 #endif
index e574e441803e9834d5a1243a660b8e2ba7ea78bb..d7667d8ec12b02b99133d5cc90e8d68b92c3e75a 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GFILE_H
+#ifndef _GFILE_H
 #define _GFILE_H
 
 #ifndef _GSTRUCT_H
@@ -43,32 +43,32 @@ char __fastcall__ WriteRecord(const char *buffer, unsigned flength);
 char UpdateRecordFile(void);
 
 /* GEOS filetypes */
-#define        NOT_GEOS        0
-#define        BASIC           1
-#define        ASSEMBLY        2
-#define        DATA            3
-#define        SYSTEM          4
-#define        DESK_ACC        5
-#define        APPLICATION     6
-#define        APPL_DATA       7
-#define        FONT            8
-#define        PRINTER         9
-#define        INPUT_DEVICE    10
-#define        DISK_DEVICE     11
-#define        SYSTEM_BOOT     12
-#define        TEMPORARY       13
-#define        AUTO_EXEC       14
-#define        INPUT_128       15
-#define        NUMFILETYPES    16
+#define NOT_GEOS        0
+#define BASIC           1
+#define ASSEMBLY        2
+#define DATA            3
+#define SYSTEM          4
+#define DESK_ACC        5
+#define APPLICATION     6
+#define APPL_DATA       7
+#define FONT            8
+#define PRINTER         9
+#define INPUT_DEVICE    10
+#define DISK_DEVICE     11
+#define SYSTEM_BOOT     12
+#define TEMPORARY       13
+#define AUTO_EXEC       14
+#define INPUT_128       15
+#define NUMFILETYPES    16
 /* supported structures */
-#define        SEQUENTIAL      0
-#define        VLIR            1
+#define SEQUENTIAL      0
+#define VLIR            1
 /* DOS filetypes */
-#define        DEL             0
-#define        SEQ             1
-#define        PRG             2
-#define        USR             3
-#define        REL             4
-#define        CBM             5
+#define DEL             0
+#define SEQ             1
+#define PRG             2
+#define USR             3
+#define REL             4
+#define CBM             5
 
 #endif
index 184ec4e1d1fd8da6a599f53a5dadf571a8128e35..961ec2d80b962096b57c2cd5b5be74eab39203ad 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GGRAPH_H
+#ifndef _GGRAPH_H
 #define _GGRAPH_H
 
 #ifndef _GSTRUCT_H
@@ -40,125 +40,125 @@ void UseSystemFont(void);
 
 void __fastcall__ BitmapUp(struct iconpic *myIcon);
 void __fastcall__ BitmapClip(char skipl, char skipr, unsigned skiptop,
-                            struct iconpic *myIcon);
+                             struct iconpic *myIcon);
 void __fastcall__ BitOtherClip(void *proc1, void *proc2, char skipl,
-                              char skipr, unsigned skiptop,
-                              struct iconpic *myIcon);
+                               char skipr, unsigned skiptop,
+                               struct iconpic *myIcon);
 
 void __fastcall__ GraphicsString(char *myGfxString);
 
 /* VIC colour constants */
-#define        BLACK           0
-#define        WHITE           1
-#define        RED             2
-#define        CYAN            3
-#define        PURPLE          4
-#define        GREEN           5
-#define        BLUE            6
-#define        YELLOW          7
-#define        ORANGE          8
-#define        BROWN           9
-#define        LTRED           10
-#define        DKGREY          11
-#define        GREY            12
-#define        MEDGREY         12
-#define        LTGREEN         13
-#define        LTBLUE          14
-#define        LTGREY          15
+#define BLACK           0
+#define WHITE           1
+#define RED             2
+#define CYAN            3
+#define PURPLE          4
+#define GREEN           5
+#define BLUE            6
+#define YELLOW          7
+#define ORANGE          8
+#define BROWN           9
+#define LTRED           10
+#define DKGREY          11
+#define GREY            12
+#define MEDGREY         12
+#define LTGREEN         13
+#define LTBLUE          14
+#define LTGREY          15
 /* VIC memory banks - lowest 2 bits of cia2base+0 */
-#define        GRBANK0         3
-#define        GRBANK1         2
-#define        GRBANK2         1
-#define        GRBANK3         0
+#define GRBANK0         3
+#define GRBANK1         2
+#define GRBANK2         1
+#define GRBANK3         0
 /* VIC screen sizes */
-#define        VIC_X_POS_OFF   24
-#define        VIC_Y_POS_OFF   50
+#define VIC_X_POS_OFF   24
+#define VIC_Y_POS_OFF   50
 #ifdef __GEOS_CBM__
-#define        SC_BYTE_WIDTH   40
-#define        SC_PIX_HEIGHT   200
-#define        SC_PIX_WIDTH    320
-#define        SC_SIZE         8000
+#define SC_BYTE_WIDTH   40
+#define SC_PIX_HEIGHT   200
+#define SC_PIX_WIDTH    320
+#define SC_SIZE         8000
 #else
-#define        SC_BYTE_WIDTH   70
-#define        SC_PIX_HEIGHT   192
-#define        SC_PIX_WIDTH    560
-#define        SC_SIZE         13440
+#define SC_BYTE_WIDTH   70
+#define SC_PIX_HEIGHT   192
+#define SC_PIX_WIDTH    560
+#define SC_SIZE         13440
 #endif
-/* VDC screen constants        */
-#define        SCREENBYTEWIDTH         80
-#define        SCREENPIXELWIDTH        640
+/* VDC screen constants */
+#define SCREENBYTEWIDTH         80
+#define SCREENPIXELWIDTH        640
 /* control characters for use as numbers, not characters */
-#define        BACKSPACE       8
-#define        FORWARDSPACE    9
-#define        TAB             9
-#define        LF              10
-#define        HOME            11
-#define        PAGE_BREAK      12
-#define        UPLINE          12
-#define        CR              13
-#define        ULINEON         14
-#define        ULINEOFF        15
-#define        ESC_GRAPHICS    16
-#define        ESC_RULER       17
-#define        REV_ON          18
-#define        REV_OFF         19
-#define        GOTOX           20
-#define        GOTOY           21
-#define        GOTOXY          22
-#define        NEWCARDSET      23
-#define        BOLDON          24
-#define        ITALICON        25
-#define        OUTLINEON       26
-#define        PLAINTEXT       27
+#define BACKSPACE       8
+#define FORWARDSPACE    9
+#define TAB             9
+#define LF              10
+#define HOME            11
+#define PAGE_BREAK      12
+#define UPLINE          12
+#define CR              13
+#define ULINEON         14
+#define ULINEOFF        15
+#define ESC_GRAPHICS    16
+#define ESC_RULER       17
+#define REV_ON          18
+#define REV_OFF         19
+#define GOTOX           20
+#define GOTOY           21
+#define GOTOXY          22
+#define NEWCARDSET      23
+#define BOLDON          24
+#define ITALICON        25
+#define OUTLINEON       26
+#define PLAINTEXT       27
 /* control characters for use in
    strings: eg: str[10]=CBOLDON "Hello"; */
-#define CCR            "\015"
-#define CULINEON       "\016"
-#define CULINEOFF      "\017"
-#define CREV_ON                "\022"
-#define CREV_OFF       "\023"
-#define CBOLDON                "\030"
-#define CITALICON      "\031"
-#define COUTLINEON     "\032"
-#define CPLAINTEXT     "\033"
-
-/*values of currentMode        */
+#define CCR             "\015"
+#define CULINEON        "\016"
+#define CULINEOFF       "\017"
+#define CREV_ON         "\022"
+#define CREV_OFF        "\023"
+#define CBOLDON         "\030"
+#define CITALICON       "\031"
+#define COUTLINEON      "\032"
+#define CPLAINTEXT      "\033"
+
+/*values of currentMode */
 /* bitNumbers */
-#define        UNDERLINE_BIT   7
-#define        BOLD_BIT        6
-#define        REVERSE_BIT     5
-#define        ITALIC_BIT      4
-#define        OUTLINE_BIT     3
-#define        SUPERSCRIPT_BIT 2
-#define        SUBSCRIPT_BIT   1
+#define UNDERLINE_BIT   7
+#define BOLD_BIT        6
+#define REVERSE_BIT     5
+#define ITALIC_BIT      4
+#define OUTLINE_BIT     3
+#define SUPERSCRIPT_BIT 2
+#define SUBSCRIPT_BIT   1
 /* bitMasks */
-#define        SET_UNDERLINE   0x80
-#define        SET_BOLD        0x40
-#define        SET_REVERSE     0x20
-#define        SET_ITALIC      0x10
-#define        SET_OUTLINE     0x08
-#define        SET_SUPERSCRIPT 0x04
-#define        SET_SUBSCRIPT   0x02
-#define        SET_PLAINTEXT   0
+#define SET_UNDERLINE   0x80
+#define SET_BOLD        0x40
+#define SET_REVERSE     0x20
+#define SET_ITALIC      0x10
+#define SET_OUTLINE     0x08
+#define SET_SUPERSCRIPT 0x04
+#define SET_SUBSCRIPT   0x02
+#define SET_PLAINTEXT   0
 /* values of dispBufferOn */
-#define        ST_WRGS_FORE    0x20
-#define        ST_WR_BACK      0x40
-#define        ST_WR_FORE      0x80
+#define ST_WRGS_FORE    0x20
+#define ST_WR_BACK      0x40
+#define ST_WR_FORE      0x80
 /* PutDecimal parameters */
 /* leading zeros? */
-#define        SET_NOSURPRESS  0
-#define        SET_SURPRESS    0x40
+#define SET_NOSURPRESS  0
+#define SET_SURPRESS    0x40
 /* justification */
-#define        SET_RIGHTJUST   0
-#define        SET_LEFTJUST    0x80
+#define SET_RIGHTJUST   0
+#define SET_LEFTJUST    0x80
 /* C128 x-extension flags */
-#define        ADD1_W          0x2000
-#define        DOUBLE_B        0x80
-#define        DOUBLE_W        0x8000
+#define ADD1_W          0x2000
+#define DOUBLE_B        0x80
+#define DOUBLE_W        0x8000
 /* DrawLine/DrawPoint mode values */
-#define DRAW_ERASE     0x00
-#define DRAW_DRAW      0x40
-#define DRAW_COPY      0x80
+#define DRAW_ERASE      0x00
+#define DRAW_DRAW       0x40
+#define DRAW_COPY       0x80
 
 typedef void graphicStr;
 
index 87be6c1e897b289845399cfe218355cb38508dab..3fba5cb5bb79d139a7b3942708d959ced29443e7 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GMEMORY_H
+#ifndef _GMEMORY_H
 #define _GMEMORY_H
 
 #ifndef _GSTRUCT_H
index b579aef5b46df1ee795b108e19856fdb7ad0d494..3175b6cf3690cc01105710604a40dbf64efde00d 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GMENU_H
+#ifndef _GMENU_H
 #define _GMENU_H
 
 #ifndef _GSTRUCT_H
@@ -21,35 +21,35 @@ void GotoFirstMenu(void);
 void __fastcall__ DoIcons(struct icontab *myIconTab);
 
 /* DoMenu - menutypes */
-#define        MENU_ACTION     0x00
-#define        DYN_SUB_MENU    0x40
-#define        SUB_MENU        0x80
-#define        HORIZONTAL      0x00
-#define        VERTICAL        0x80
+#define MENU_ACTION     0x00
+#define DYN_SUB_MENU    0x40
+#define SUB_MENU        0x80
+#define HORIZONTAL      0x00
+#define VERTICAL        0x80
 /* menu string offsets */
-#define        OFF_MY_TOP      0
-#define        OFF_MY_BOT      1
-#define        OFF_MX_LEFT     2
-#define        OFF_MX_RIGHT    4
-#define        OFF_NUM_M_ITEMS 6
-#define        OFF_1ST_M_ITEM  7
+#define OFF_MY_TOP      0
+#define OFF_MY_BOT      1
+#define OFF_MX_LEFT     2
+#define OFF_MX_RIGHT    4
+#define OFF_NUM_M_ITEMS 6
+#define OFF_1ST_M_ITEM  7
 /* icon string offsets */
-#define        OFF_NM_ICNS     0
-#define        OFF_IC_XMOUSE   1
-#define        OFF_IC_YMOUSE   3
-#define        OFF_PIC_ICON    0
-#define        OFF_X_ICON_POS  2
-#define        OFF_Y_ICON_POS  3
-#define        OFF_WDTH_ICON   4
-#define        OFF_HEIGHT_ICON 5
-#define        OFF_SRV_RT_ICON 6
-#define        OFF_NX_ICON     8
-/* icons, menus status flags   */
-#define        ST_FLASH        0x80
-#define        ST_INVERT       0x40
-#define        ST_LD_AT_ADDR   0x01
-#define        ST_LD_DATA      0x80
-#define        ST_PR_DATA      0x40
-#define        ST_WR_PR        0x40
+#define OFF_NM_ICNS     0
+#define OFF_IC_XMOUSE   1
+#define OFF_IC_YMOUSE   3
+#define OFF_PIC_ICON    0
+#define OFF_X_ICON_POS  2
+#define OFF_Y_ICON_POS  3
+#define OFF_WDTH_ICON   4
+#define OFF_HEIGHT_ICON 5
+#define OFF_SRV_RT_ICON 6
+#define OFF_NX_ICON     8
+/* icons, menus status flags    */
+#define ST_FLASH        0x80
+#define ST_INVERT       0x40
+#define ST_LD_AT_ADDR   0x01
+#define ST_LD_DATA      0x80
+#define ST_PR_DATA      0x40
+#define ST_WR_PR        0x40
 
 #endif
index d784a2cc658e6df9e1dc9f3018023b166d4dfabf..6fab2ecfae7bb5120b29454bf437048cc3358b5b 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GPROCESS_H
+#ifndef _GPROCESS_H
 #define _GPROCESS_H
 
 #ifndef _GSTRUCT_H
index 470cfb27bf5a48db6252bca8c3438200620cbf31..9679e9f5973c15771a162bdf85ca0ebe354e3e5a 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GSPRITE_H
+#ifndef _GSPRITE_H
 #define _GSPRITE_H
 
 void StartMouseMode(void);
@@ -24,73 +24,73 @@ void PromptOff(void);
 char GetNextChar(void);
 
 /* keyboard constants */
-#define        KEY_F1          1
-#define        KEY_F2          2
-#define        KEY_F3          3
-#define        KEY_F4          4
-#define        KEY_F5          5
-#define        KEY_F6          6
-#define        KEY_NOSCRL      7
-#define        KEY_ENTER       13
-#define        KEY_F7          14
-#define        KEY_F8          15
-#define        KEY_HOME        18
-#define        KEY_CLEAR       19
-#define        KEY_LARROW      20
-#define        KEY_UPARROW     21
-#define        KEY_STOP        22
-#define        KEY_RUN         23
-#define        KEY_BPS         24
-#define        KEY_HELP        25
-#define        KEY_ALT         26
-#define        KEY_ESC         27
-#define        KEY_INSERT      28
-#define        KEY_INVALID     31
-#define        KEY_LEFT        BACKSPACE
+#define KEY_F1          1
+#define KEY_F2          2
+#define KEY_F3          3
+#define KEY_F4          4
+#define KEY_F5          5
+#define KEY_F6          6
+#define KEY_NOSCRL      7
+#define KEY_ENTER       13
+#define KEY_F7          14
+#define KEY_F8          15
+#define KEY_HOME        18
+#define KEY_CLEAR       19
+#define KEY_LARROW      20
+#define KEY_UPARROW     21
+#define KEY_STOP        22
+#define KEY_RUN         23
+#define KEY_BPS         24
+#define KEY_HELP        25
+#define KEY_ALT         26
+#define KEY_ESC         27
+#define KEY_INSERT      28
+#define KEY_INVALID     31
+#define KEY_LEFT        BACKSPACE
 #ifdef __GEOS_CBM__
-#define        KEY_UP          16
-#define        KEY_DOWN        17
-#define        KEY_DELETE      29
-#define        KEY_RIGHT       30
+#define KEY_UP          16
+#define KEY_DOWN        17
+#define KEY_DELETE      29
+#define KEY_RIGHT       30
 #else
-#define        KEY_UP          11
-#define        KEY_DOWN        10
-#define        KEY_DELETE     127
-#define        KEY_RIGHT       21
+#define KEY_UP          11
+#define KEY_DOWN        10
+#define KEY_DELETE     127
+#define KEY_RIGHT       21
 #endif
 
 /* values of faultData - pointer position vs. mouseWindow */
 /* bit numbers */
-#define        OFFTOP_BIT      7
-#define        OFFBOTTOM_BIT   6
-#define        OFFLEFT_BIT     5
-#define        OFFRIGHT_BIT    4
-#define        OFFMENU_BIT     3
+#define OFFTOP_BIT      7
+#define OFFBOTTOM_BIT   6
+#define OFFLEFT_BIT     5
+#define OFFRIGHT_BIT    4
+#define OFFMENU_BIT     3
 /* bit masks */
-#define        SET_OFFTOP      0x80
-#define        SET_OFFBOTTOM   0x40
-#define        SET_OFFLEFT     0x20
-#define        SET_OFFRIGHT    0x10
-#define        SET_OFFMENU     0x08
+#define SET_OFFTOP      0x80
+#define SET_OFFBOTTOM   0x40
+#define SET_OFFLEFT     0x20
+#define SET_OFFRIGHT    0x10
+#define SET_OFFMENU     0x08
 
 /* mouseOn */
 /* bit numbers */
-#define        MOUSEON_BIT     7
-#define        MENUON_BIT      6
-#define        ICONSON_BIT     5
+#define MOUSEON_BIT     7
+#define MENUON_BIT      6
+#define ICONSON_BIT     5
 /* bit masks */
-#define        SET_MSE_ON      0x80
-#define        SET_MENUON      0x40
-#define        SET_ICONSON     0x20
+#define SET_MSE_ON      0x80
+#define SET_MENUON      0x40
+#define SET_ICONSON     0x20
 
 /* pressFlag */
 /* bit numbers */
-#define        KEYPRESS_BIT    7
-#define        INPUT_BIT       6
-#define        MOUSE_BIT       5
+#define KEYPRESS_BIT    7
+#define INPUT_BIT       6
+#define MOUSE_BIT       5
 /* bit masks */
-#define        SET_KEYPRESS    0x80
-#define        SET_INPUTCHG    0x40
-#define        SET_MOUSE       0x20
-                 
+#define SET_KEYPRESS    0x80
+#define SET_INPUTCHG    0x40
+#define SET_MOUSE       0x20
+
 #endif
index ecb2e7714d2c7aeef853e70afaa9e104771cb930..9e5f0ddda0212786cd7641089b45019b1fae5ef5 100644 (file)
 
 typedef void (*void_func) (void);
 
-struct s_date {                        /* system date & time */
-       char s_year;
-       char s_month;
-       char s_day;
-       char s_hour;
-       char s_minutes;
-       char s_seconds;
-};
-
-struct tr_se {                 /* track and sector */
-       char track;
-       char sector;
-};
-
-struct fileheader {            /* header block (like fileHeader) */
-       struct tr_se n_block;
-       char icon_desc[3];
-       char icon_pic[63];
-       char dostype;
-       char type;
-       char structure;
-       unsigned load_address;
-       unsigned end_address;
-       unsigned exec_address;
-       char class_name[19];
-       char column_flag;
-       char author[63];
-       char note[96];
+struct s_date {                 /* system date & time */
+        char s_year;
+        char s_month;
+        char s_day;
+        char s_hour;
+        char s_minutes;
+        char s_seconds;
+};
+
+struct tr_se {                  /* track and sector */
+        char track;
+        char sector;
+};
+
+struct fileheader {             /* header block (like fileHeader) */
+        struct tr_se n_block;
+        char icon_desc[3];
+        char icon_pic[63];
+        char dostype;
+        char type;
+        char structure;
+        unsigned load_address;
+        unsigned end_address;
+        unsigned exec_address;
+        char class_name[19];
+        char column_flag;
+        char author[63];
+        char note[96];
 };
 
 #ifdef __GEOS_CBM__
 
-struct f_date {                        /* date in filedesctiptor */
-       char f_year;
-       char f_month;
-       char f_day;
-       char f_hour;
-       char f_minute;
+struct f_date {                 /* date in filedesctiptor */
+        char f_year;
+        char f_month;
+        char f_day;
+        char f_hour;
+        char f_minute;
 };
 
-struct filehandle {            /* filehandle in directory sectors */
-       char dostype;           /* or in dirEntryBuf               */
-       struct tr_se n_block;
-       char name[16];
-       struct tr_se header;
-       char structure;
-       char type;
-       struct f_date date;
-       unsigned size;
+struct filehandle {             /* filehandle in directory sectors */
+        char dostype;           /* or in dirEntryBuf               */
+        struct tr_se n_block;
+        char name[16];
+        struct tr_se header;
+        char structure;
+        char type;
+        struct f_date date;
+        unsigned size;
 };
 
 #else /* #ifdef __GEOS_CBM__ */
 
-struct f_date {                        /* date in filedesctiptor */
-       unsigned f_day:5;
-       unsigned f_month:4;
-       unsigned f_year:7;
-       char f_minute;
-       char f_hour;
-};
-
-struct filehandle {            /* filehandle in directory sectors */
-       unsigned name_len:4;    /* or in dirEntryBuf               */
-       unsigned structure:4;
-       char name[15];
-       char type;
-       struct tr_se n_block;
-       unsigned size;
-       char byte_size[3];
-       struct f_date date;
-       char version;
-       char min_version;
-       char access;
-       struct tr_se header;
-       struct f_date mod_date;
-       struct tr_se dir_head;
+struct f_date {                 /* date in filedesctiptor */
+        unsigned f_day:5;
+        unsigned f_month:4;
+        unsigned f_year:7;
+        char f_minute;
+        char f_hour;
+};
+
+struct filehandle {             /* filehandle in directory sectors */
+        unsigned name_len:4;    /* or in dirEntryBuf               */
+        unsigned structure:4;
+        char name[15];
+        char type;
+        struct tr_se n_block;
+        unsigned size;
+        char byte_size[3];
+        struct f_date date;
+        char version;
+        char min_version;
+        char access;
+        struct tr_se header;
+        struct f_date mod_date;
+        struct tr_se dir_head;
 };
 
 #endif /* #ifdef __GEOS_CBM__ */
 
-struct pixel {                 /* describes point              */
-       unsigned x;
-       char y;
+struct pixel {                  /* describes point              */
+        unsigned x;
+        char y;
 };
 
-struct fontdesc {              /* describes font               */
-       char baseline;
-       char width;
-       char height;
-       char *index_tbl;
-       char *data_ptr;
+struct fontdesc {               /* describes font               */
+        char baseline;
+        char width;
+        char height;
+        char *index_tbl;
+        char *data_ptr;
 };
 
-struct window {                        /* describes screen region      */
-       char top;
-       char bot;
-       unsigned left;
-       unsigned right;
+struct window {                 /* describes screen region      */
+        char top;
+        char bot;
+        unsigned left;
+        unsigned right;
 };
 
-struct VLIR_info {             /* VLIR information             */
-       char curRecord;         /* currently only used in VLIR  */
-       char usedRecords;       /* as system info (curRecord is mainly of your interest */
-       char fileWritten;
-       unsigned fileSize;
+struct VLIR_info {              /* VLIR information             */
+        char curRecord;         /* currently only used in VLIR  */
+        char usedRecords;       /* as system info (curRecord is mainly of your interest */
+        char fileWritten;
+        unsigned fileSize;
 };
 
-struct process {               /* process info, declare table of that type */
-       unsigned pointer;       /* (like: struct process proctab[2]=...    */
-       unsigned jiffies;       /* last entry HAVE TO BE {0,0}              */
+struct process {                /* process info, declare table of that type */
+        unsigned pointer;       /* (like: struct process proctab[2]=...    */
+        unsigned jiffies;       /* last entry HAVE TO BE {0,0}              */
 };
 
-struct iconpic {               /* icon/encoded bitmap description          */
-       char *pic_ptr;          /* ptr to a photo scrap (or encoded bitmap) */
-       char x;                 /* position in cards (*8 pixels)            */
-       char y;
-       char width;             /* in cards                                 */
-       char heigth;            /* in lines (pixels)                        */
+struct iconpic {                /* icon/encoded bitmap description          */
+        char *pic_ptr;          /* ptr to a photo scrap (or encoded bitmap) */
+        char x;                 /* position in cards (*8 pixels)            */
+        char y;
+        char width;             /* in cards                                 */
+        char heigth;            /* in lines (pixels)                        */
 };
 
-struct icondef {               /* icon definition for DoIcons              */
-       char *pic_ptr;          /* ptr to a photo scrap (or encoded bitmap) */
-       char x;                 /* position in cards (*8 pixels)            */
-       char y;
-       char width;             /* of icon (in cards)                       */
-       char heigth;            /* of icon in lines (pixels)                */
-       unsigned proc_ptr;      /* pointer to function handling that icon   */
+struct icondef {                /* icon definition for DoIcons              */
+        char *pic_ptr;          /* ptr to a photo scrap (or encoded bitmap) */
+        char x;                 /* position in cards (*8 pixels)            */
+        char y;
+        char width;             /* of icon (in cards)                       */
+        char heigth;            /* of icon in lines (pixels)                */
+        unsigned proc_ptr;      /* pointer to function handling that icon   */
 };
 
 struct icontab {
-       char number;            /* number of declared icons                 */
-       struct pixel mousepos;  /* position of mouse after DoIcons          */
-       struct icondef tab[];   /* table of size declared by icontab.number */
+        char number;            /* number of declared icons                 */
+        struct pixel mousepos;  /* position of mouse after DoIcons          */
+        struct icondef tab[];   /* table of size declared by icontab.number */
 };
 
 struct menuitem {
-       char *name;
-       char type;
-       void *rest;             /* may be ptr to function, or ptr to struct menu (submenu) */
+        char *name;
+        char type;
+        void *rest;             /* may be ptr to function, or ptr to struct menu (submenu) */
 };
 
 struct menu {
-       struct window size;
-       char number;
-       struct menuitem items[];
+        struct window size;
+        char number;
+        struct menuitem items[];
 };
 
-struct inittab {               /* use struct inittab mytab[n] for initram              */
-       unsigned ptr;           /* ptr to 1st byte                                      */
-       char number;            /* number of following bytes                            */
-       char values[];          /* actual string of bytes                               */
+struct inittab {                /* use struct inittab mytab[n] for initram              */
+        unsigned ptr;           /* ptr to 1st byte                                      */
+        char number;            /* number of following bytes                            */
+        char values[];          /* actual string of bytes                               */
 };
 
 #endif
index 13a29f9dab2a87651ad6873074ce1ab70368dd1d..0850466748b92ee951f2e00b21de48e446ac0577 100644 (file)
 #include <geos/gstruct.h>
 #endif
 
-#define        r0              (*(unsigned*)(R_BASE + 0x00))
-#define        r0L             (*(char*)(R_BASE + 0x00))
-#define        r0H             (*(char*)(R_BASE + 0x01))
-#define        r1              (*(unsigned*)(R_BASE + 0x02))
-#define        r1L             (*(char*)(R_BASE + 0x02))
-#define        r1H             (*(char*)(R_BASE + 0x03))
-#define drawWindow     (*(struct window*)(R_BASE + 0x04))
-#define        r2              (*(unsigned*)(R_BASE + 0x04))
-#define        r2L             (*(char*)(R_BASE + 0x04))
-#define        r2H             (*(char*)(R_BASE + 0x05))
-#define        r3              (*(unsigned*)(R_BASE + 0x06))
-#define        r3L             (*(char*)(R_BASE + 0x06))
-#define        r3H             (*(char*)(R_BASE + 0x07))
-#define        r4              (*(unsigned*)(R_BASE + 0x08))
-#define        r4L             (*(char*)(R_BASE + 0x08))
-#define        r4H             (*(char*)(R_BASE + 0x09))
-#define        r5              (*(unsigned*)(R_BASE + 0x0a))
-#define        r5L             (*(char*)(R_BASE + 0x0a))
-#define        r5H             (*(char*)(R_BASE + 0x0b))
-#define        r6              (*(unsigned*)(R_BASE + 0x0c))
-#define        r6L             (*(char*)(R_BASE + 0x0c))
-#define        r6H             (*(char*)(R_BASE + 0x0d))
-#define        r7              (*(unsigned*)(R_BASE + 0x0e))
-#define        r7L             (*(char*)(R_BASE + 0x0e))
-#define        r7H             (*(char*)(R_BASE + 0x0f))
-#define        r8              (*(unsigned*)(R_BASE + 0x10))
-#define        r8L             (*(char*)(R_BASE + 0x10))
-#define        r8H             (*(char*)(R_BASE + 0x11))
-#define        r9              (*(unsigned*)(R_BASE + 0x12))
-#define        r9L             (*(char*)(R_BASE + 0x12))
-#define        r9H             (*(char*)(R_BASE + 0x13))
-#define        r10             (*(unsigned*)(R_BASE + 0x14))
-#define        r10L            (*(char*)(R_BASE + 0x14))
-#define        r10H            (*(char*)(R_BASE + 0x15))
-#define        r11             (*(unsigned*)(R_BASE + 0x16))
-#define        r11L            (*(char*)(R_BASE + 0x16))
-#define        r11H            (*(char*)(R_BASE + 0x17))
-#define        r12             (*(unsigned*)(R_BASE + 0x18))
-#define        r12L            (*(char*)(R_BASE + 0x18))
-#define        r12H            (*(char*)(R_BASE + 0x19))
-#define        r13             (*(unsigned*)(R_BASE + 0x1a))
-#define        r13L            (*(char*)(R_BASE + 0x1a))
-#define        r13H            (*(char*)(R_BASE + 0x1b))
-#define        r14             (*(unsigned*)(R_BASE + 0x1c))
-#define        r14L            (*(char*)(R_BASE + 0x1c))
-#define        r14H            (*(char*)(R_BASE + 0x1d))
-#define        r15             (*(unsigned*)(R_BASE + 0x1e))
-#define        r15L            (*(char*)(R_BASE + 0x1e))
-#define        r15H            (*(char*)(R_BASE + 0x1f))
+#define r0              (*(unsigned*)(R_BASE + 0x00))
+#define r0L             (*(char*)(R_BASE + 0x00))
+#define r0H             (*(char*)(R_BASE + 0x01))
+#define r1              (*(unsigned*)(R_BASE + 0x02))
+#define r1L             (*(char*)(R_BASE + 0x02))
+#define r1H             (*(char*)(R_BASE + 0x03))
+#define drawWindow      (*(struct window*)(R_BASE + 0x04))
+#define r2              (*(unsigned*)(R_BASE + 0x04))
+#define r2L             (*(char*)(R_BASE + 0x04))
+#define r2H             (*(char*)(R_BASE + 0x05))
+#define r3              (*(unsigned*)(R_BASE + 0x06))
+#define r3L             (*(char*)(R_BASE + 0x06))
+#define r3H             (*(char*)(R_BASE + 0x07))
+#define r4              (*(unsigned*)(R_BASE + 0x08))
+#define r4L             (*(char*)(R_BASE + 0x08))
+#define r4H             (*(char*)(R_BASE + 0x09))
+#define r5              (*(unsigned*)(R_BASE + 0x0a))
+#define r5L             (*(char*)(R_BASE + 0x0a))
+#define r5H             (*(char*)(R_BASE + 0x0b))
+#define r6              (*(unsigned*)(R_BASE + 0x0c))
+#define r6L             (*(char*)(R_BASE + 0x0c))
+#define r6H             (*(char*)(R_BASE + 0x0d))
+#define r7              (*(unsigned*)(R_BASE + 0x0e))
+#define r7L             (*(char*)(R_BASE + 0x0e))
+#define r7H             (*(char*)(R_BASE + 0x0f))
+#define r8              (*(unsigned*)(R_BASE + 0x10))
+#define r8L             (*(char*)(R_BASE + 0x10))
+#define r8H             (*(char*)(R_BASE + 0x11))
+#define r9              (*(unsigned*)(R_BASE + 0x12))
+#define r9L             (*(char*)(R_BASE + 0x12))
+#define r9H             (*(char*)(R_BASE + 0x13))
+#define r10             (*(unsigned*)(R_BASE + 0x14))
+#define r10L            (*(char*)(R_BASE + 0x14))
+#define r10H            (*(char*)(R_BASE + 0x15))
+#define r11             (*(unsigned*)(R_BASE + 0x16))
+#define r11L            (*(char*)(R_BASE + 0x16))
+#define r11H            (*(char*)(R_BASE + 0x17))
+#define r12             (*(unsigned*)(R_BASE + 0x18))
+#define r12L            (*(char*)(R_BASE + 0x18))
+#define r12H            (*(char*)(R_BASE + 0x19))
+#define r13             (*(unsigned*)(R_BASE + 0x1a))
+#define r13L            (*(char*)(R_BASE + 0x1a))
+#define r13H            (*(char*)(R_BASE + 0x1b))
+#define r14             (*(unsigned*)(R_BASE + 0x1c))
+#define r14L            (*(char*)(R_BASE + 0x1c))
+#define r14H            (*(char*)(R_BASE + 0x1d))
+#define r15             (*(unsigned*)(R_BASE + 0x1e))
+#define r15L            (*(char*)(R_BASE + 0x1e))
+#define r15H            (*(char*)(R_BASE + 0x1f))
 
 #ifdef __GEOS_CBM__
 
-#define nameBuf                char[17]
-#define blockBuf       char[256]
-
-#define        CPU_DDR         (*(char*)0x00)
-#define        CPU_DATA        (*(char*)0x01)
-
-#define R_BASE         0x02
-
-#define        curPattern      (*(unsigned*)0x22)
-#define        string          (*(unsigned*)0x24)
-#define curFontDesc    (*(struct fontdesc*)0x26)
-#define        currentMode     (*(char*)0x2e)
-#define        dispBufferOn    (*(char*)0x2f)
-#define        mouseOn         (*(char*)0x30)
-#define        msePicPtr       (*(unsigned*)0x31)
-#define curWindow      (*(struct window*)0x33)
-#define        pressFlag       (*(char*)0x39)
-#define mousePos       (*(struct pixel*)0x3a)
-#define        returnAddress   (*(unsigned*)0x3d)
-#define        graphMode       (*(char*)0x3f)
-#define        STATUS          (*(char*)0x90)
-#define        curDevice       (*(char*)0xba)
-
-#define        irqvec          (*(void_func*)0x0314)
-#define        bkvec           (*(void_func*)0x0316)
-#define        nmivec          (*(void_func*)0x0318)
-
-#define        APP_RAM         ((char*)0x0400)
-#define        BACK_SCR_BASE   ((char*)0x6000)
-#define        PRINTBASE       ((char*)0x7900)
-#define        OS_VARS         ((char*)0x8000)
-
-#define        diskBlkBuf      ((blockBuf)0x8000)
-#define fileHeader     (*(struct fileheader*)0x8100)
-#define curDirHead     ((blockBuf)0x8200)
-#define fileTrScTab    ((struct tr_se[128])0x8300)
-#define dirEntryBuf    (*(struct filehandle*)0x8400)
-
-#define DrACurDkNm     ((nameBuf)0x841e)
-#define DrBCurDkNm     ((nameBuf)0x8430)
-#define dataFileName   ((nameBuf)0x8442)
-#define dataDiskName   ((nameBuf)0x8453)
-#define PrntFileName   ((nameBuf)0x8465)
-#define PrntDiskName   ((nameBuf)0x8476)
-
-#define        curDrive        (*(char*)0x8489)
-#define        diskOpenFlg     (*(char*)0x848a)
-#define        isGEOS          (*(char*)0x848b)
-#define        interleave      (*(char*)0x848c)
-#define        NUMDRV          (*(char*)0x848d)
-
-#define driveType      ((char[4])0x848e)
-#define turboFlags     ((char[4])0x8492)
-
-#define        VLIRInfo        (*(struct VLIR_info*)0x8496)
-
-#define appMain                (*(void_func*)0x849b)
-#define intTopVector   (*(void_func*)0x849d)
-#define intBotVector   (*(void_func*)0x849f)
-#define mouseVector    (*(void_func*)0x84a1)
-#define keyVector      (*(void_func*)0x84a3)
-#define        inputVector     (*(void_func*)0x84a5)
-#define        mouseFaultVec   (*(void_func*)0x84a7)
-#define        otherPressVec   (*(void_func*)0x84a9)
-#define        StringFaultVec  (*(void_func*)0x84ab)
-#define        alarmTmtVector  (*(void_func*)0x84ad)
-#define        BRKVector       (*(void_func*)0x84af)
-#define        RecoverVector   (*(void_func*)0x84b1)
-
-#define        selectionFlash  (*(char*)0x84b3)
-#define        alphaFlag       (*(char*)0x84b4)
-#define        iconSelFlg      (*(char*)0x84b5)
-#define        faultData       (*(char*)0x84b6)
-#define        menuNumber      (*(char*)0x84b7)
-#define mouseWindow    (*(struct window*)0x84b8)
-#define stringXY       (*(struct pixel*)0x84be)
-#define        mousePicData    (*(char*)0x84c1)
-
-#define        maxMouseSpeed   (*(char*)0x8501)
-#define        minMouseSpeed   (*(char*)0x8502)
-#define        mouseAccel      (*(char*)0x8503)
-#define        keyData         (*(char*)0x8504)
-#define        mouseData       (*(char*)0x8505)
-#define        inputData       (*(char*)0x8506)
-#define        mouseSpeed      (*(char*)0x8507)
-#define        random          (*(char*)0x850a)
-#define        saveFontTab     (*(struct fontdesc*)0x850c)
-
-#define        dblClickCount   (*(char*)0x8515)
-#define system_date    (*(struct s_date*)0x8516)
-#define        alarmSetFlag    (*(char*)0x851c)
-#define        sysDBData       (*(char*)0x851d)
-#define        screencolors    (*(char*)0x851e)
-#define        dlgBoxRamBuf    (*(char*)0x851f)
-
-#define        savedmoby2      (*(char*)0x88bb)
-#define        scr80polar      (*(char*)0x88bc)
-#define        scr80colors     (*(char*)0x88bd)
-#define        vdcClrMode      (*(char*)0x88be)
-#define        driveData       ((char[4])0x88bf)
-#define        ramExpSize      (*(char*)0x88c3)
-#define        sysRAMFlg       (*(char*)0x88c4)
-#define        firstBoot       (*(char*)0x88c5)
-#define        curType         (*(char*)0x88c6)
-#define        ramBase         (*(char*)0x88c7)
-#define inputDevName   ((nameBuf)0x88cb)
-#define        DrCCurDkNm      ((nameBuf)0x88dc)
-#define        DrDCurDkNm      ((nameBuf)0x88ee)
-#define        dir2Head        ((blockBuf)0x8900)
-#define        SPRITE_PICS     ((char*)0x8a00)
-#define sprpic         ((char[8][64])0x8a00)
-#define COLOR_MATRIX   ((char[1000])0x8c00)
-#define objPointer     ((char[8])0x8ff8)
-
-#define        DISK_BASE       ((char*)0x9000)
-#define        SCREEN_BASE     ((char*)0xa000)
-#define        OS_ROM          ((char*)0xc000)
-#define        OS_JUMPTAB      ((char*)0xc100)
-#define        EXP_BASE        ((char*)0xdf00)
-#define        MOUSE_BASE_128  ((char*)0xfd00)
-#define        MOUSE_JMP_128   ((char*)0xfd00)
-#define        END_MOUSE_128   ((char*)0xfe80)
-#define        MOUSE_BASE      ((char*)0xfe80)
-#define        MOUSE_JMP       ((char*)0xfe80)
-
-#define        config          (*(char*)0xff00)
-#define        END_MOUSE       ((char*)0xfffa)
-
-#define        NMI_VECTOR      (*(void_func*)0xfffa)
-#define        RESET_VECTOR    (*(void_func*)0xfffc)
-#define        IRQ_VECTOR      (*(void_func*)0xfffe)
-
-#define        vicbase         ((char*)0xd000)
-#define        sidbase         ((char*)0xd400)
-#define        mmu             ((char*)0xd500)
-#define        VDC             ((char*)0xd600)
-#define        ctab            ((char*)0xd800)
-#define        cia1base        ((char*)0xdc00)
-#define        cia2base        ((char*)0xdd00)
-
-#define        mob0xpos        (*(char*)0xd000)
-#define        mob0ypos        (*(char*)0xd001)
-#define        mob1xpos        (*(char*)0xd002)
-#define        mob1ypos        (*(char*)0xd003)
-#define        mob2xpos        (*(char*)0xd004)
-#define        mob2ypos        (*(char*)0xd005)
-#define        mob3xpos        (*(char*)0xd006)
-#define        mob3ypos        (*(char*)0xd007)
-#define        mob4xpos        (*(char*)0xd008)
-#define        mob4ypos        (*(char*)0xd009)
-#define        mob5xpos        (*(char*)0xd00a)
-#define        mob5ypos        (*(char*)0xd00b)
-#define        mob6xpos        (*(char*)0xd00c)
-#define        mob6ypos        (*(char*)0xd00d)
-#define        mob7xpos        (*(char*)0xd00e)
-#define        mob7ypos        (*(char*)0xd00f)
-#define        msbxpos         (*(char*)0xd010)
-#define        grcntrl1        (*(char*)0xd011)
-#define        rasreg          (*(char*)0xd012)
-#define        lpxpos          (*(char*)0xd013)
-#define        lpypos          (*(char*)0xd014)
-#define        mobenble        (*(char*)0xd015)
-#define        grcntrl2        (*(char*)0xd016)
-#define        grmemptr        (*(char*)0xd018)
-#define        grirq           (*(char*)0xd019)
-#define        grirqen         (*(char*)0xd01a)
-#define        moby2           (*(char*)0xd017)
-#define        mobprior        (*(char*)0xd01b)
-#define        mobmcm          (*(char*)0xd01c)
-#define        mobx2           (*(char*)0xd01d)
-#define        mobmobcol       (*(char*)0xd01e)
-#define        mobbakcol       (*(char*)0xd01f)
-#define        extclr          (*(char*)0xd020)
-#define        bakclr0         (*(char*)0xd021)
-#define        bakclr1         (*(char*)0xd022)
-#define        bakclr2         (*(char*)0xd023)
-#define        bakclr3         (*(char*)0xd024)
-#define        mcmclr0         (*(char*)0xd025)
-#define        mcmclr1         (*(char*)0xd026)
-#define        mob0clr         (*(char*)0xd027)
-#define        mob1clr         (*(char*)0xd028)
-#define        mob2clr         (*(char*)0xd029)
-#define        mob3clr         (*(char*)0xd02a)
-#define        mob4clr         (*(char*)0xd02b)
-#define        mob5clr         (*(char*)0xd02c)
-#define        mob6clr         (*(char*)0xd02d)
-#define        mob7clr         (*(char*)0xd02e)
-#define        keyreg          (*(char*)0xd02f)
-#define        clkreg          (*(char*)0xd030)
-
-#define        vdcreg          (*(char*)0xd600)
-#define        vdcdata         (*(char*)0xd601)
+#define nameBuf         char[17]
+#define blockBuf        char[256]
+
+#define CPU_DDR         (*(char*)0x00)
+#define CPU_DATA        (*(char*)0x01)
+
+#define R_BASE          0x02
+
+#define curPattern      (*(unsigned*)0x22)
+#define string          (*(unsigned*)0x24)
+#define curFontDesc     (*(struct fontdesc*)0x26)
+#define currentMode     (*(char*)0x2e)
+#define dispBufferOn    (*(char*)0x2f)
+#define mouseOn         (*(char*)0x30)
+#define msePicPtr       (*(unsigned*)0x31)
+#define curWindow       (*(struct window*)0x33)
+#define pressFlag       (*(char*)0x39)
+#define mousePos        (*(struct pixel*)0x3a)
+#define returnAddress   (*(unsigned*)0x3d)
+#define graphMode       (*(char*)0x3f)
+#define STATUS          (*(char*)0x90)
+#define curDevice       (*(char*)0xba)
+
+#define irqvec          (*(void_func*)0x0314)
+#define bkvec           (*(void_func*)0x0316)
+#define nmivec          (*(void_func*)0x0318)
+
+#define APP_RAM         ((char*)0x0400)
+#define BACK_SCR_BASE   ((char*)0x6000)
+#define PRINTBASE       ((char*)0x7900)
+#define OS_VARS         ((char*)0x8000)
+
+#define diskBlkBuf      ((blockBuf)0x8000)
+#define fileHeader      (*(struct fileheader*)0x8100)
+#define curDirHead      ((blockBuf)0x8200)
+#define fileTrScTab     ((struct tr_se[128])0x8300)
+#define dirEntryBuf     (*(struct filehandle*)0x8400)
+
+#define DrACurDkNm      ((nameBuf)0x841e)
+#define DrBCurDkNm      ((nameBuf)0x8430)
+#define dataFileName    ((nameBuf)0x8442)
+#define dataDiskName    ((nameBuf)0x8453)
+#define PrntFileName    ((nameBuf)0x8465)
+#define PrntDiskName    ((nameBuf)0x8476)
+
+#define curDrive        (*(char*)0x8489)
+#define diskOpenFlg     (*(char*)0x848a)
+#define isGEOS          (*(char*)0x848b)
+#define interleave      (*(char*)0x848c)
+#define NUMDRV          (*(char*)0x848d)
+
+#define driveType       ((char[4])0x848e)
+#define turboFlags      ((char[4])0x8492)
+
+#define VLIRInfo        (*(struct VLIR_info*)0x8496)
+
+#define appMain         (*(void_func*)0x849b)
+#define intTopVector    (*(void_func*)0x849d)
+#define intBotVector    (*(void_func*)0x849f)
+#define mouseVector     (*(void_func*)0x84a1)
+#define keyVector       (*(void_func*)0x84a3)
+#define inputVector     (*(void_func*)0x84a5)
+#define mouseFaultVec   (*(void_func*)0x84a7)
+#define otherPressVec   (*(void_func*)0x84a9)
+#define StringFaultVec  (*(void_func*)0x84ab)
+#define alarmTmtVector  (*(void_func*)0x84ad)
+#define BRKVector       (*(void_func*)0x84af)
+#define RecoverVector   (*(void_func*)0x84b1)
+
+#define selectionFlash  (*(char*)0x84b3)
+#define alphaFlag       (*(char*)0x84b4)
+#define iconSelFlg      (*(char*)0x84b5)
+#define faultData       (*(char*)0x84b6)
+#define menuNumber      (*(char*)0x84b7)
+#define mouseWindow     (*(struct window*)0x84b8)
+#define stringXY        (*(struct pixel*)0x84be)
+#define mousePicData    (*(char*)0x84c1)
+
+#define maxMouseSpeed   (*(char*)0x8501)
+#define minMouseSpeed   (*(char*)0x8502)
+#define mouseAccel      (*(char*)0x8503)
+#define keyData         (*(char*)0x8504)
+#define mouseData       (*(char*)0x8505)
+#define inputData       (*(char*)0x8506)
+#define mouseSpeed      (*(char*)0x8507)
+#define random          (*(char*)0x850a)
+#define saveFontTab     (*(struct fontdesc*)0x850c)
+
+#define dblClickCount   (*(char*)0x8515)
+#define system_date     (*(struct s_date*)0x8516)
+#define alarmSetFlag    (*(char*)0x851c)
+#define sysDBData       (*(char*)0x851d)
+#define screencolors    (*(char*)0x851e)
+#define dlgBoxRamBuf    (*(char*)0x851f)
+
+#define savedmoby2      (*(char*)0x88bb)
+#define scr80polar      (*(char*)0x88bc)
+#define scr80colors     (*(char*)0x88bd)
+#define vdcClrMode      (*(char*)0x88be)
+#define driveData       ((char[4])0x88bf)
+#define ramExpSize      (*(char*)0x88c3)
+#define sysRAMFlg       (*(char*)0x88c4)
+#define firstBoot       (*(char*)0x88c5)
+#define curType         (*(char*)0x88c6)
+#define ramBase         (*(char*)0x88c7)
+#define inputDevName    ((nameBuf)0x88cb)
+#define DrCCurDkNm      ((nameBuf)0x88dc)
+#define DrDCurDkNm      ((nameBuf)0x88ee)
+#define dir2Head        ((blockBuf)0x8900)
+#define SPRITE_PICS     ((char*)0x8a00)
+#define sprpic          ((char[8][64])0x8a00)
+#define COLOR_MATRIX    ((char[1000])0x8c00)
+#define objPointer      ((char[8])0x8ff8)
+
+#define DISK_BASE       ((char*)0x9000)
+#define SCREEN_BASE     ((char*)0xa000)
+#define OS_ROM          ((char*)0xc000)
+#define OS_JUMPTAB      ((char*)0xc100)
+#define EXP_BASE        ((char*)0xdf00)
+#define MOUSE_BASE_128  ((char*)0xfd00)
+#define MOUSE_JMP_128   ((char*)0xfd00)
+#define END_MOUSE_128   ((char*)0xfe80)
+#define MOUSE_BASE      ((char*)0xfe80)
+#define MOUSE_JMP       ((char*)0xfe80)
+
+#define config          (*(char*)0xff00)
+#define END_MOUSE       ((char*)0xfffa)
+
+#define NMI_VECTOR      (*(void_func*)0xfffa)
+#define RESET_VECTOR    (*(void_func*)0xfffc)
+#define IRQ_VECTOR      (*(void_func*)0xfffe)
+
+#define vicbase         ((char*)0xd000)
+#define sidbase         ((char*)0xd400)
+#define mmu             ((char*)0xd500)
+#define VDC             ((char*)0xd600)
+#define ctab            ((char*)0xd800)
+#define cia1base        ((char*)0xdc00)
+#define cia2base        ((char*)0xdd00)
+
+#define mob0xpos        (*(char*)0xd000)
+#define mob0ypos        (*(char*)0xd001)
+#define mob1xpos        (*(char*)0xd002)
+#define mob1ypos        (*(char*)0xd003)
+#define mob2xpos        (*(char*)0xd004)
+#define mob2ypos        (*(char*)0xd005)
+#define mob3xpos        (*(char*)0xd006)
+#define mob3ypos        (*(char*)0xd007)
+#define mob4xpos        (*(char*)0xd008)
+#define mob4ypos        (*(char*)0xd009)
+#define mob5xpos        (*(char*)0xd00a)
+#define mob5ypos        (*(char*)0xd00b)
+#define mob6xpos        (*(char*)0xd00c)
+#define mob6ypos        (*(char*)0xd00d)
+#define mob7xpos        (*(char*)0xd00e)
+#define mob7ypos        (*(char*)0xd00f)
+#define msbxpos         (*(char*)0xd010)
+#define grcntrl1        (*(char*)0xd011)
+#define rasreg          (*(char*)0xd012)
+#define lpxpos          (*(char*)0xd013)
+#define lpypos          (*(char*)0xd014)
+#define mobenble        (*(char*)0xd015)
+#define grcntrl2        (*(char*)0xd016)
+#define grmemptr        (*(char*)0xd018)
+#define grirq           (*(char*)0xd019)
+#define grirqen         (*(char*)0xd01a)
+#define moby2           (*(char*)0xd017)
+#define mobprior        (*(char*)0xd01b)
+#define mobmcm          (*(char*)0xd01c)
+#define mobx2           (*(char*)0xd01d)
+#define mobmobcol       (*(char*)0xd01e)
+#define mobbakcol       (*(char*)0xd01f)
+#define extclr          (*(char*)0xd020)
+#define bakclr0         (*(char*)0xd021)
+#define bakclr1         (*(char*)0xd022)
+#define bakclr2         (*(char*)0xd023)
+#define bakclr3         (*(char*)0xd024)
+#define mcmclr0         (*(char*)0xd025)
+#define mcmclr1         (*(char*)0xd026)
+#define mob0clr         (*(char*)0xd027)
+#define mob1clr         (*(char*)0xd028)
+#define mob2clr         (*(char*)0xd029)
+#define mob3clr         (*(char*)0xd02a)
+#define mob4clr         (*(char*)0xd02b)
+#define mob5clr         (*(char*)0xd02c)
+#define mob6clr         (*(char*)0xd02d)
+#define mob7clr         (*(char*)0xd02e)
+#define keyreg          (*(char*)0xd02f)
+#define clkreg          (*(char*)0xd030)
+
+#define vdcreg          (*(char*)0xd600)
+#define vdcdata         (*(char*)0xd601)
 
 #else /* #ifdef __GEOS_CBM__ */
 
-#define nameBuf                char[16]
-#define blockBuf       char[512]
-
-#define R_BASE         0x00
-
-#define        curPattern      (*(unsigned*)0x022c)
-#define        string          (*(unsigned*)0x53)
-#define curFontDesc    (*(struct fontdesc*)0x0218)
-#define        currentMode     (*(char*)0x021c)
-#define        dispBufferOn    (*(char*)0x021d)
-#define        mouseOn         (*(char*)0x5d)
-#define curWindow      (*(struct window*)0x021e)
-#define        pressFlag       (*(char*)0x08fe)
-#define mousePos       (*(struct pixel*)0x0241)
-#define        returnAddress   (*(unsigned*)0x64)
-
-#define        diskBlkBuf      ((blockBuf)0xf659)
-#define fileHeader     (*(struct fileheader*)0xf859)
-#define curDirHead     ((char[39])0xfa80)
-#define dirEntryBuf    (*(struct filehandle*)0xfa59)
-
-#define DrACurDkNm     ((nameBuf)0xfaa7)
-#define DrBCurDkNm     ((nameBuf)0xfab7)
-#define dataFileName   ((nameBuf)0x02a4)
-#define dataDiskName   ((nameBuf)0x02b4)
-#define PrntFileName   ((nameBuf)0x08ac)
-
-#define        curDrive        (*(char*)0xf60d)
-#define        diskOpenFlg     (*(char*)0xf617)
-#define        NUMDRV          (*(char*)0xf60e)
-
-#define driveType      ((char[4])0xfaf3)
-
-#define        VLIRInfo        (*(struct VLIR_info*)0xf618)
-
-#define appMain                (*(void_func*)0x0200)
-#define intTopVector   (*(void_func*)0x0202)
-#define intBotVector   (*(void_func*)0x0204)
-#define mouseVector    (*(void_func*)0x0206)
-#define keyVector      (*(void_func*)0x0208)
-#define        inputVector     (*(void_func*)0x020a)
-#define        mouseFaultVec   (*(void_func*)0x020c)
-#define        otherPressVec   (*(void_func*)0x020e)
-#define        StringFaultVec  (*(void_func*)0x0210)
-#define        alarmTmtVector  (*(void_func*)0x0212)
-#define        BRKVector       (*(void_func*)0x0214)
-#define        RecoverVector   (*(void_func*)0x0216)
-
-#define        selectionFlash  (*(char*)0x0224)
-#define        alphaFlag       (*(char*)0x0225)
-#define        iconSelFlg      (*(char*)0x0226)
-#define        faultData       (*(char*)0x0227)
-#define        menuNumber      (*(char*)0x0228)
-#define mouseWindow    (*(struct window*)0x57)
-#define stringXY       (*(struct pixel*)0x022e)
-
-#define        maxMouseSpeed   (*(char*)0x027d)
-#define        minMouseSpeed   (*(char*)0x027e)
-#define        mouseAccel      (*(char*)0x027f)
-#define        keyData         (*(char*)0x0245)
-#define        mouseData       (*(char*)0x0246)
-#define        inputData       (*(char*)0x0247)
-#define        random          (*(char*)0x024c)
-#define        saveFontTab     (*(struct fontdesc*)0x024e)
-
-#define        dblClickCount   (*(char*)0x0258)
-#define system_date    (*(struct s_date*)0xf200)
-#define        sysDBData       (*(char*)0x0259)
-#define        dlgBoxRamBuf    (*(char*)0xf381)
-
-#define        firstBoot       (*(char*)0x0281)
-#define inputDevName   ((nameBuf)0x08cc)
-#define        DrCCurDkNm      ((nameBuf)0xfac7)
-#define        DrDCurDkNm      ((nameBuf)0xfad7)
-
-#define        mobenble        (*(char*)0x0818)
-#define        moby2           (*(char*)0x081a)
-#define        mobx2           (*(char*)0x0819)
+#define nameBuf         char[16]
+#define blockBuf        char[512]
+
+#define R_BASE          0x00
+
+#define curPattern      (*(unsigned*)0x022c)
+#define string          (*(unsigned*)0x53)
+#define curFontDesc     (*(struct fontdesc*)0x0218)
+#define currentMode     (*(char*)0x021c)
+#define dispBufferOn    (*(char*)0x021d)
+#define mouseOn         (*(char*)0x5d)
+#define curWindow       (*(struct window*)0x021e)
+#define pressFlag       (*(char*)0x08fe)
+#define mousePos        (*(struct pixel*)0x0241)
+#define returnAddress   (*(unsigned*)0x64)
+
+#define diskBlkBuf      ((blockBuf)0xf659)
+#define fileHeader      (*(struct fileheader*)0xf859)
+#define curDirHead      ((char[39])0xfa80)
+#define dirEntryBuf     (*(struct filehandle*)0xfa59)
+
+#define DrACurDkNm      ((nameBuf)0xfaa7)
+#define DrBCurDkNm      ((nameBuf)0xfab7)
+#define dataFileName    ((nameBuf)0x02a4)
+#define dataDiskName    ((nameBuf)0x02b4)
+#define PrntFileName    ((nameBuf)0x08ac)
+
+#define curDrive        (*(char*)0xf60d)
+#define diskOpenFlg     (*(char*)0xf617)
+#define NUMDRV          (*(char*)0xf60e)
+
+#define driveType       ((char[4])0xfaf3)
+
+#define VLIRInfo        (*(struct VLIR_info*)0xf618)
+
+#define appMain         (*(void_func*)0x0200)
+#define intTopVector    (*(void_func*)0x0202)
+#define intBotVector    (*(void_func*)0x0204)
+#define mouseVector     (*(void_func*)0x0206)
+#define keyVector       (*(void_func*)0x0208)
+#define inputVector     (*(void_func*)0x020a)
+#define mouseFaultVec   (*(void_func*)0x020c)
+#define otherPressVec   (*(void_func*)0x020e)
+#define StringFaultVec  (*(void_func*)0x0210)
+#define alarmTmtVector  (*(void_func*)0x0212)
+#define BRKVector       (*(void_func*)0x0214)
+#define RecoverVector   (*(void_func*)0x0216)
+
+#define selectionFlash  (*(char*)0x0224)
+#define alphaFlag       (*(char*)0x0225)
+#define iconSelFlg      (*(char*)0x0226)
+#define faultData       (*(char*)0x0227)
+#define menuNumber      (*(char*)0x0228)
+#define mouseWindow     (*(struct window*)0x57)
+#define stringXY        (*(struct pixel*)0x022e)
+
+#define maxMouseSpeed   (*(char*)0x027d)
+#define minMouseSpeed   (*(char*)0x027e)
+#define mouseAccel      (*(char*)0x027f)
+#define keyData         (*(char*)0x0245)
+#define mouseData       (*(char*)0x0246)
+#define inputData       (*(char*)0x0247)
+#define random          (*(char*)0x024c)
+#define saveFontTab     (*(struct fontdesc*)0x024e)
+
+#define dblClickCount   (*(char*)0x0258)
+#define system_date     (*(struct s_date*)0xf200)
+#define sysDBData       (*(char*)0x0259)
+#define dlgBoxRamBuf    (*(char*)0xf381)
+
+#define firstBoot       (*(char*)0x0281)
+#define inputDevName    ((nameBuf)0x08cc)
+#define DrCCurDkNm      ((nameBuf)0xfac7)
+#define DrDCurDkNm      ((nameBuf)0xfad7)
+
+#define mobenble        (*(char*)0x0818)
+#define moby2           (*(char*)0x081a)
+#define mobx2           (*(char*)0x0819)
 
 #endif /* #ifdef __GEOS_CBM__ */
 
index 493c2609f6afad28e3a5024faee0ef279612505b..284c38b633a056bef687486c2d053fb1e4c76880 100644 (file)
@@ -4,7 +4,7 @@
   by Maciej 'YTM/Elysium' Witkowiak
 */
 
-#ifndef        _GSYS_H
+#ifndef _GSYS_H
 #define _GSYS_H
 
 void FirstInit(void);
@@ -27,24 +27,24 @@ char get_ostype(void);
 /* possible return values of get_ostype, machine and version flags will
    be combined with OR */
   /* machine flags */
-#define GEOS64         0x00
+#define GEOS64          0x00
 #define GEOS4           0x04    /* plus4 geos is not or'ed with version */
-#define GEOS128                0x80
+#define GEOS128         0x80
   /* version flags */
-#define GEOS_V10       0x10
+#define GEOS_V10        0x10
 #define GEOS_V11        0x11
-#define GEOS_V12       0x12    /* ??? not sure */
-#define GEOS_V20       0x20
-#define WHEELS         0x40    /* only Wheels? */
+#define GEOS_V12        0x12    /* ??? not sure */
+#define GEOS_V20        0x20
+#define WHEELS          0x40    /* only Wheels? */
 
 char get_tv(void);
 
 /* possible return values of get_tv, these flags will be combined
    note that columns state can be changed during runtime and get_tv
    always returns the current state */
-#define COLUMNS40      0x00
-#define COLUMNS80      0x01
-#define TV_PAL         0x00
-#define TV_NTSC                0x80
+#define COLUMNS40       0x00
+#define COLUMNS80       0x01
+#define TV_PAL          0x00
+#define TV_NTSC         0x80
 
 #endif
index 287bddc3b23427ef59131550f5342fc8749a577b..18cf6e50d848f0a4242b85eeb35b61ba0d6163d9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                iso646.h                                  */
+/*                                 iso646.h                                  */
 /*                                                                           */
-/*                          Alternative spellings                           */
+/*                           Alternative spellings                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /* Operator tokens */
-#define        and     &&
-#define and_eq &=
-#define bitand &
-#define bitor  |
-#define compl  ~
-#define not    !
-#define not_eq !=
-#define or     ||
-#define or_eq  |=
-#define xor    ^
-#define xor_eq ^=
+#define and     &&
+#define and_eq  &=
+#define bitand  &
+#define bitor   |
+#define compl   ~
+#define not     !
+#define not_eq  !=
+#define or      ||
+#define or_eq   |=
+#define xor     ^
+#define xor_eq  ^=
 
 
 
index 2e6a3fefe0073db47fc11807d733da8c520611bf..18b552f08f81818e142148678a797640857f3845 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               joystick.h                                 */
+/*                                joystick.h                                 */
 /*                                                                           */
-/*              Read the joystick on systems that support it                */
+/*               Read the joystick on systems that support it                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -52,8 +52,8 @@
 #define JOY_ERR_NO_DEVICE       4       /* Device (hardware) not found */
 
 /* Argument for the joy_read function */
-#define JOY_1          0
-#define JOY_2          1
+#define JOY_1           0
+#define JOY_2           1
 
 /* The following codes are *indices* into the joy_masks array */
 #define JOY_UP          0
@@ -83,7 +83,7 @@ extern const void joy_static_stddrv[];
 
 
 /*****************************************************************************/
-/*                                Functions                                 */
+/*                                 Functions                                 */
 /*****************************************************************************/
 
 
index d57ad5dc76b8d12dfd1ccebee50ccfa9a0fe8461..e617a43c565a201f8ef17777b9b236051651446d 100644 (file)
@@ -68,7 +68,7 @@ typedef struct {
 
 
 /* JOY kernel variables */
-extern joy_drv_header*         joy_drv;        /* Pointer to driver */
+extern joy_drv_header*  joy_drv;        /* Pointer to driver */
 
 
 
index d02d52dca223bbfe1ae57e306463c8ad6595a10b..23474c78c1d7abaec225d8636675e9e9ba1b59c3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                limits.h                                  */
+/*                                 limits.h                                  */
 /*                                                                           */
-/*                         Sizes of integer types                           */
+/*                          Sizes of integer types                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 
-#define CHAR_BIT       8
+#define CHAR_BIT        8
 
-#define SCHAR_MIN      ((signed char) 0x80)
-#define SCHAR_MAX      127
+#define SCHAR_MIN       ((signed char) 0x80)
+#define SCHAR_MAX       127
 
-#define UCHAR_MAX      255
+#define UCHAR_MAX       255
 
-#define CHAR_MIN       0
-#define CHAR_MAX       255
+#define CHAR_MIN        0
+#define CHAR_MAX        255
 
-#define SHRT_MIN               ((short) 0x8000)
-#define SHRT_MAX       32767
+#define SHRT_MIN        ((short) 0x8000)
+#define SHRT_MAX        32767
 
-#define USHRT_MAX      65535U
+#define USHRT_MAX       65535U
 
-#define INT_MIN                ((int) 0x8000)
-#define INT_MAX                32767
+#define INT_MIN         ((int) 0x8000)
+#define INT_MAX         32767
 
-#define UINT_MAX       65535U
+#define UINT_MAX        65535U
 
-#define LONG_MAX       2147483647L
-#define LONG_MIN               ((long) 0x80000000)
+#define LONG_MAX        2147483647L
+#define LONG_MIN        ((long) 0x80000000)
 
-#define ULONG_MAX      4294967295UL
+#define ULONG_MAX       4294967295UL
 
 
 
index f099ad1d294bc6e59ea6155755228fe1ec17b253..4134dd5db20bcb13dcd7cf6d092543c46ac053f4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                locale.h                                  */
+/*                                 locale.h                                  */
 /*                                                                           */
-/*                         Localization <locale.h>                          */
+/*                          Localization <locale.h>                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 /* NULL pointer */
 #ifndef _HAVE_NULL
-#define NULL   0
+#define NULL    0
 #define _HAVE_NULL
 #endif
 
 /* Locale information constants */
-#define LC_ALL         0
-#define LC_COLLATE     1
-#define LC_CTYPE       2
-#define LC_MONETARY    3
-#define LC_NUMERIC     4
-#define LC_TIME                5
+#define LC_ALL          0
+#define LC_COLLATE      1
+#define LC_CTYPE        2
+#define LC_MONETARY     3
+#define LC_NUMERIC      4
+#define LC_TIME         5
 
 /* Struct containing locale settings */
 struct lconv {
-    char*      currency_symbol;
-    char*      decimal_point;
-    char*      grouping;
-    char*      int_curr_symbol;
-    char*      mon_decimal_point;
-    char*      mon_grouping;
-    char*      mon_thousands_sep;
-    char*      negative_sign;
-    char*      positive_sign;
-    char*      thousands_sep;
-    char       frac_digits;
-    char       int_frac_digits;
-    char       n_cs_precedes;
-    char       n_sep_by_space;
-    char       n_sign_posn;
-    char       p_cs_precedes;
-    char       p_sep_by_space;
-    char       p_sign_posn;
+    char*       currency_symbol;
+    char*       decimal_point;
+    char*       grouping;
+    char*       int_curr_symbol;
+    char*       mon_decimal_point;
+    char*       mon_grouping;
+    char*       mon_thousands_sep;
+    char*       negative_sign;
+    char*       positive_sign;
+    char*       thousands_sep;
+    char        frac_digits;
+    char        int_frac_digits;
+    char        n_cs_precedes;
+    char        n_sep_by_space;
+    char        n_sign_posn;
+    char        p_cs_precedes;
+    char        p_sep_by_space;
+    char        p_sign_posn;
 };
 
 /* Function prototypes */
index ec1a8c4646c5f5442c8cc4cc1a5f51b3f7142753..e9c7029940237ee15b062e0f7457c60d1c27fad1 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index bfb0acad38a1de8fed27271b985033429c865dc5..bc90263cf6c48ae11ecc612cceb18fce31c0d8e3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 mouse.h                                  */
+/*                                  mouse.h                                  */
 /*                                                                           */
-/*                                Mouse API                                 */
+/*                                 Mouse API                                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                               Definitions                                */
+/*                                Definitions                                */
 /*****************************************************************************/
 
 
 #define MOUSE_ERR_INV_IOCTL     5       /* Invalid ioctl code */
 
 /* Mouse button masks */
-#define MOUSE_BTN_LEFT      0x10
+#define MOUSE_BTN_LEFT       0x10
 #define MOUSE_BTN_RIGHT      0x01
 
 /* Structure containing the mouse coordinates */
 struct mouse_pos {
-    int                x;
-    int                y;
+    int                 x;
+    int                 y;
 };
 
 /* Structure containing information about the mouse */
@@ -72,10 +72,10 @@ struct mouse_info {
 
 /* Structure used for getbox/setbox */
 struct mouse_box {
-    int                minx;
-    int                miny;
-    int                maxx;
-    int                maxy;
+    int                 minx;
+    int                 miny;
+    int                 maxx;
+    int                 maxy;
 };
 
 /* Structure containing mouse callback functions. These functions are declared
@@ -113,7 +113,7 @@ extern const void mouse_static_stddrv[];
 
 
 /*****************************************************************************/
-/*                                Functions                                 */
+/*                                 Functions                                 */
 /*****************************************************************************/
 
 
@@ -150,10 +150,10 @@ void __fastcall__ mouse_setbox (const struct mouse_box* box);
  * NOTE: The function does *not* check if the mouse is currently inside the
  * given margins. The proper way to use this function therefore is:
  *
- *     - Hide the mouse
- *     - Set the bounding box
- *     - Place the mouse at the desired position
- *     - Show the mouse again.
+ *      - Hide the mouse
+ *      - Set the bounding box
+ *      - Place the mouse at the desired position
+ *      - Show the mouse again.
  *
  * NOTE2: When setting the box to something that is larger than the actual
  * screen, the positioning of the mouse cursor can fail. If such margins
index 1bcac64d5fe7ae95b68bb7fe365e4e79dd1c516b..f024b09265d86fa5dd2d1e2dd737c54fd236020a 100644 (file)
@@ -45,7 +45,7 @@
 
 
 /* Mouse kernel variables */
-extern void*           mouse_drv;              /* Pointer to driver */
+extern void*    mouse_drv;              /* Pointer to driver */
 
 
 
index 46219b3de063697c52341db1b26b56dfbe283594..3ad4422809a9eb05072b41329d4587fb04323733 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  nes.h                                   */
+/*                                   nes.h                                   */
 /*                                                                           */
-/*                     NES system specific definitions                      */
+/*                      NES system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index e33f98d97741f939f164a8cc32d9656f61ffa91b..2321cfe10b161ef98c8150fb44f6d8998980fe9c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  o65.h                                   */
+/*                                   o65.h                                   */
 /*                                                                           */
-/*                   Definitions for the o65 file format                    */
+/*                    Definitions for the o65 file format                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -57,9 +57,9 @@ typedef struct o65_header o65_header;
 struct o65_header {
     char        marker[2];      /* Non-C64 marker */
     char        magic[3];       /* o65 magic */
-    char        version;       /* Version number */
+    char        version;        /* Version number */
     unsigned    mode;           /* Mode word */
-    o65_size   tbase;          /* Original text (code) segment address */
+    o65_size    tbase;          /* Original text (code) segment address */
     o65_size    tlen;           /* Size of text (code) segment */
     o65_size    dbase;          /* Original data segment address */
     o65_size    dlen;           /* Size of data segment */
@@ -81,7 +81,7 @@ struct o65_header {
 #define O65_VERSION             0x00
 
 /* Defines for the mode word */
-#define O65_CPU_65816           0x8000         /* Executable is for 65816 */
+#define O65_CPU_65816           0x8000  /* Executable is for 65816 */
 #define O65_CPU_6502            0x0000  /* Executable is for the 6502 */
 #define O65_CPU_MASK            0x8000  /* Mask to extract CPU type */
 
@@ -89,7 +89,7 @@ struct o65_header {
 #define O65_RELOC_BYTE          0x0000  /* Byte wise relocation */
 #define O65_RELOC_MASK          0x4000  /* Mask to extract relocation type */
 
-#define O65_SIZE_32BIT          0x2000         /* All size words are 32bit */
+#define O65_SIZE_32BIT          0x2000  /* All size words are 32bit */
 #define O65_SIZE_16BIT          0x0000  /* All size words are 16bit */
 #define O65_SIZE_MASK           0x2000  /* Mask to extract size */
 
@@ -108,7 +108,7 @@ struct o65_header {
 #define O65_BSSZERO_MASK        0x0200  /* Mask to extract bss zero flag */
 
 /* The following is used if O65_CPU == 6502 */
-#define O65_CPU2_6502          0x0000  /* Executable is for 6502 */
+#define O65_CPU2_6502           0x0000  /* Executable is for 6502 */
 #define O65_CPU2_65C02          0x0010  /* Executable is for 65C02 */
 #define O65_CPU2_65SC02         0x0020  /* Executable is for 65SC02 */
 #define O65_CPU2_65CE02         0x0030  /* Executable is for 65CE02 */
@@ -131,12 +131,12 @@ struct o65_header {
                                  O65_ALIGN_1)
 
 /* The four o65 segment types. */
-#define O65_SEGID_UNDEF        0x00
-#define O65_SEGID_ABS          0x01
-#define O65_SEGID_TEXT         0x02
-#define O65_SEGID_DATA         0x03
-#define O65_SEGID_BSS          0x04
-#define O65_SEGID_ZP           0x05
+#define O65_SEGID_UNDEF         0x00
+#define O65_SEGID_ABS           0x01
+#define O65_SEGID_TEXT          0x02
+#define O65_SEGID_DATA          0x03
+#define O65_SEGID_BSS           0x04
+#define O65_SEGID_ZP            0x05
 #define O65_SEGID_MASK          0x07
 
 /* Relocation type codes */
@@ -158,14 +158,14 @@ struct o65_header {
 
 /* Option tags */
 #define O65_OPT_FILENAME        0
-#define O65_OPT_OS                     1
-#define O65_OPT_ASM            2
-#define O65_OPT_AUTHOR         3
-#define O65_OPT_TIMESTAMP      4
+#define O65_OPT_OS              1
+#define O65_OPT_ASM             2
+#define O65_OPT_AUTHOR          3
+#define O65_OPT_TIMESTAMP       4
 
 /* Operating system codes for O65_OPT_OS */
-#define O65_OS_OSA65           1
-#define O65_OS_LUNIX           2
+#define O65_OS_OSA65            1
+#define O65_OS_LUNIX            2
 #define O65_OS_CC65             3
 #define O65_OS_OPENCBM          4
 
index 24e937c5a66309d9640fa6952a69a14efe62e60d..0588ee8bfb2b950337ba2fa9ef06cbd8f63e6f69 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                   pet.h                                   */
 /*                                                                           */
-/*                      PET system specific definitions                             */
+/*                      PET system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -52,8 +52,8 @@
 
 
 /* Color defines */
-#define COLOR_BLACK                    0x00
-#define COLOR_WHITE                    0x01
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
 
 /* Define hardware */
 #include <_pia.h>
index 3a764b984ab64e963208de59d8bb055394933c04..840e8b342601d9421a9d1e05492566a8cb481ec7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 plus4.h                                  */
+/*                                  plus4.h                                  */
 /*                                                                           */
-/*                   Plus/4 system specific definitions                     */
+/*                    Plus/4 system specific definitions                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index b5601170e4166ba1ff2661f6d32983fe00c2eaf2..f88ab114eb116cdf1e30b249bfdf1c7b127e3733 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Baudrate settings */
 #define SER_BAUD_45_5           0x00
-#define SER_BAUD_50                    0x01
+#define SER_BAUD_50             0x01
 #define SER_BAUD_75             0x02
-#define SER_BAUD_110                   0x03
-#define SER_BAUD_134_5                 0x04
+#define SER_BAUD_110            0x03
+#define SER_BAUD_134_5          0x04
 #define SER_BAUD_150            0x05
-#define SER_BAUD_300                   0x06
-#define SER_BAUD_600                   0x07
-#define SER_BAUD_1200                  0x08
+#define SER_BAUD_300            0x06
+#define SER_BAUD_600            0x07
+#define SER_BAUD_1200           0x08
 #define SER_BAUD_1800           0x09
-#define SER_BAUD_2400                  0x0A
+#define SER_BAUD_2400           0x0A
 #define SER_BAUD_3600           0x0B
-#define SER_BAUD_4800                  0x0C
+#define SER_BAUD_4800           0x0C
 #define SER_BAUD_7200           0x0D
-#define SER_BAUD_9600                  0x0E
-#define SER_BAUD_19200                 0x0F
-#define SER_BAUD_38400                 0x10
-#define SER_BAUD_57600                 0x11
-#define SER_BAUD_115200                0x12
-#define SER_BAUD_230400                0x13
-#define SER_BAUD_31250         0x14
-#define SER_BAUD_62500         0x15
+#define SER_BAUD_9600           0x0E
+#define SER_BAUD_19200          0x0F
+#define SER_BAUD_38400          0x10
+#define SER_BAUD_57600          0x11
+#define SER_BAUD_115200         0x12
+#define SER_BAUD_230400         0x13
+#define SER_BAUD_31250          0x14
+#define SER_BAUD_62500          0x15
 
 /* Data bit settings */
-#define SER_BITS_5                     0x00
-#define SER_BITS_6                     0x01
-#define SER_BITS_7                     0x02
-#define SER_BITS_8                     0x03
+#define SER_BITS_5              0x00
+#define SER_BITS_6              0x01
+#define SER_BITS_7              0x02
+#define SER_BITS_8              0x03
 
 /* Stop bit settings */
-#define SER_STOP_1                     0x00    /* One stop bit */
-#define SER_STOP_2                     0x01    /* Two stop bits */
+#define SER_STOP_1              0x00    /* One stop bit */
+#define SER_STOP_2              0x01    /* Two stop bits */
 
 /* Parity settings */
-#define SER_PAR_NONE                   0x00
-#define SER_PAR_ODD                    0x01
-#define SER_PAR_EVEN                   0x02
-#define SER_PAR_MARK                   0x03
-#define SER_PAR_SPACE                  0x04
+#define SER_PAR_NONE            0x00
+#define SER_PAR_ODD             0x01
+#define SER_PAR_EVEN            0x02
+#define SER_PAR_MARK            0x03
+#define SER_PAR_SPACE           0x04
 
 /* Handshake settings. The latter two may be combined. */
 #define SER_HS_NONE             0x00    /* No handshake */
 /* Bit masks to mask out things from the status returned by ser_status.
  * These are 6551 specific and must be mapped by drivers for other chips.
  */
-#define SER_STATUS_PE                  0x01    /* Parity error */
-#define SER_STATUS_FE                  0x02    /* Framing error */
-#define SER_STATUS_OE           0x04   /* Overrun error */
-#define SER_STATUS_DCD                 0x20    /* NOT data carrier detect */
-#define SER_STATUS_DSR                 0x40    /* NOT data set ready */
+#define SER_STATUS_PE           0x01    /* Parity error */
+#define SER_STATUS_FE           0x02    /* Framing error */
+#define SER_STATUS_OE           0x04    /* Overrun error */
+#define SER_STATUS_DCD          0x20    /* NOT data carrier detect */
+#define SER_STATUS_DSR          0x40    /* NOT data set ready */
 
 /* Error codes returned by all functions */
-#define SER_ERR_OK                     0x00    /* Not an error - relax */
+#define SER_ERR_OK              0x00    /* Not an error - relax */
 #define SER_ERR_NO_DRIVER       0x01    /* No driver available */
 #define SER_ERR_CANNOT_LOAD     0x02    /* Error loading driver */
 #define SER_ERR_INV_DRIVER      0x03    /* Invalid driver */
 #define SER_ERR_NO_DEVICE       0x04    /* Device (hardware) not found */
-#define SER_ERR_BAUD_UNAVAIL           0x05    /* Baud rate not available */
-#define SER_ERR_NO_DATA                0x06    /* Nothing to read */
-#define SER_ERR_OVERFLOW               0x07    /* No room in send buffer */
-#define SER_ERR_INIT_FAILED     0x08           /* Initialization failed */
+#define SER_ERR_BAUD_UNAVAIL    0x05    /* Baud rate not available */
+#define SER_ERR_NO_DATA         0x06    /* Nothing to read */
+#define SER_ERR_OVERFLOW        0x07    /* No room in send buffer */
+#define SER_ERR_INIT_FAILED     0x08    /* Initialization failed */
 #define SER_ERR_INV_IOCTL       0x09    /* IOCTL not supported */
 #define SER_ERR_INSTALLED       0x0A    /* A driver is already installed */
 
@@ -123,7 +123,7 @@ struct ser_params {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0befe81638c863f9317a1c099a2caf19c9691f1a..460829e381ff4c9e41d54d52e38480a3ce41228a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                setjmp.h                                  */
+/*                                 setjmp.h                                  */
 /*                                                                           */
-/*                             Nonlocal jumps                               */
+/*                              Nonlocal jumps                               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@ typedef char jmp_buf [5];
 
 
 int __fastcall__ _setjmp (jmp_buf buf);
-#define setjmp _setjmp         /* ISO insists on a macro */
+#define setjmp  _setjmp         /* ISO insists on a macro */
 void __fastcall__ longjmp (jmp_buf buf, int retval) __attribute__((noreturn));
 
 
index 4fd822b2a3ba43a1d75f58bc03c9f60a01257ac7..adf73483ce8bbfd397e92d69a4c08ec8713bc1f5 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                stdarg.h                                  */
+/*                                 stdarg.h                                  */
 /*                                                                           */
-/*                           Variable arguments                             */
+/*                            Variable arguments                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 typedef unsigned char* va_list;
 
-#define va_start(ap, fix)              ap = ((va_list)&(fix))
-#define va_arg(ap,type)                (*(type*)(ap -= ((sizeof (type) + 1) & ~1)))
+#define va_start(ap, fix)       ap = ((va_list)&(fix))
+#define va_arg(ap,type)         (*(type*)(ap -= ((sizeof (type) + 1) & ~1)))
 #if __CC65_STD__ >= __CC65_STD_C99__
-#define va_copy(dest, src)     ((dest)=(src))
+#define va_copy(dest, src)      ((dest)=(src))
 #endif
 #define va_end(ap)
 
index 638d35a58e9bdafb4618b25415eb2b9c6f2e3d42..137dde7083915f7c906c3e89dec22a0903eca97a 100644 (file)
@@ -1,9 +1,9 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                stdbool.h                                 */
-/*                                                                          */
-/*                         C99 Boolean definitions                          */
-/*                                                                          */
+/*                                 stdbool.h                                 */
+/*                                                                           */
+/*                          C99 Boolean definitions                          */
+/*                                                                           */
 /*                                                                           */
 /*                                                                           */
 /* (C) 2002 Greg King                                                        */
 /*                                                                           */
 /* This software is provided "as-is," without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
-/* including commercial applications, and to alter and redistribute it      */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* including commercial applications, and to alter and redistribute it       */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software.  If you use this software  */
-/*    in a product, an acknowledgment, in the product's documentation,      */
-/*    would be appreciated, but is not required.                            */
-/* 2. Alterred source versions must be marked plainly as such,              */
-/*    and must not be misrepresented as being the original software.        */
-/* 3. This notice may not be removed or alterred                            */
-/*    from any source distribution.                                         */
+/*    in a product, an acknowledgment, in the product's documentation,       */
+/*    would be appreciated, but is not required.                             */
+/* 2. Alterred source versions must be marked plainly as such,               */
+/*    and must not be misrepresented as being the original software.         */
+/* 3. This notice may not be removed or alterred                             */
+/*    from any source distribution.                                          */
 /*****************************************************************************/
 
 
index eff0c55bd8d3390f4399e205d3dcba94d52ce32e..3230a32b072d42a355e4d9ebf15a9f62084ceb72 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                stddef.h                                  */
+/*                                 stddef.h                                  */
 /*                                                                           */
-/*                           Common definitions                             */
+/*                            Common definitions                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -54,12 +54,12 @@ typedef unsigned size_t;
 
 /* NULL pointer */
 #ifndef _HAVE_NULL
-#define NULL   0
+#define NULL    0
 #define _HAVE_NULL
 #endif
 
 /* offsetof macro */
-#define offsetof(type, member) (size_t) (&((type*) 0)->member)
+#define offsetof(type, member)  (size_t) (&((type*) 0)->member)
 
 
 
index c29fa4901261dc1a4c2ec7a14a88a5a0d1ace853..6f2f9c3f818cdc9ff93591a5eec8b1b5eaabbdaa 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 stdio.h                                  */
+/*                                  stdio.h                                  */
 /*                                                                           */
-/*                              Input/output                                */
+/*                               Input/output                                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -57,33 +57,33 @@ extern FILE* stdout;
 extern FILE* stderr;
 
 /* Standard defines */
-#define _IOFBF         0
-#define _IOLBF         1
-#define _IONBF         2
-#define BUFSIZ         256
-#define EOF            -1
-#define FOPEN_MAX      8
-#define SEEK_CUR       0
-#define SEEK_END       1
-#define SEEK_SET       2
-#define TMP_MAX                256
+#define _IOFBF          0
+#define _IOLBF          1
+#define _IONBF          2
+#define BUFSIZ          256
+#define EOF             -1
+#define FOPEN_MAX       8
+#define SEEK_CUR        0
+#define SEEK_END        1
+#define SEEK_SET        2
+#define TMP_MAX         256
 
 /* Standard defines that are platform dependent */
 #if defined(__APPLE2__) || defined(__APPLE2ENH__)
-#  define FILENAME_MAX (64+1)
+#  define FILENAME_MAX  (64+1)
 #elif defined(__ATARI__)
-#  define FILENAME_MAX (12+1)
+#  define FILENAME_MAX  (12+1)
 #elif defined(__LUNIX__)
 #  define FILENAME_MAX  (80+1)
 #else
 #  define FILENAME_MAX  (16+1)
 #endif
-#define L_tmpnam       FILENAME_MAX
+#define L_tmpnam        FILENAME_MAX
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -132,14 +132,14 @@ int __fastcall__ vsscanf (const char* s, const char* format, va_list ap);
 int __fastcall__ vfscanf (FILE* f, const char* format, va_list ap);
 
 #if __CC65_STD__ == __CC65_STD_CC65__
-FILE* __fastcall__ fdopen (int fd, const char* mode);  /* Unix */
-int __fastcall__ fileno (FILE* f);                     /* Unix */
+FILE* __fastcall__ fdopen (int fd, const char* mode);   /* Unix */
+int __fastcall__ fileno (FILE* f);                      /* Unix */
 #endif
-void __fastcall__ _poserror (const char* msg);         /* cc65 */
+void __fastcall__ _poserror (const char* msg);          /* cc65 */
 
 /* Masking macros for some functions */
-#define getc(f)                fgetc (f)               /* ANSI */
-#define putc(c, f)             fputc (c, f)            /* ANSI */
+#define getc(f)         fgetc (f)               /* ANSI */
+#define putc(c, f)      fputc (c, f)            /* ANSI */
 
 
 
index 57e7f6166c1ebb467d845e1836fd2a6958137157..026e19198b47e4928314d98e3240e9affb7f9128 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                stdlib.h                                  */
+/*                                 stdlib.h                                  */
 /*                                                                           */
-/*                            General utilities                             */
+/*                             General utilities                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,8 +45,8 @@ typedef unsigned size_t;
 #endif
 
 /* Standard exit codes */
-#define EXIT_SUCCESS   0
-#define EXIT_FAILURE   1
+#define EXIT_SUCCESS    0
+#define EXIT_FAILURE    1
 
 /* Return type of the div function */
 typedef struct {
@@ -94,7 +94,7 @@ size_t _heapmaxavail (void);
 
 
 /* Random numbers */
-#define        RAND_MAX        0x7FFF
+#define RAND_MAX        0x7FFF
 int rand (void);
 void __fastcall__ srand (unsigned seed);
 void _randomize (void);         /* Non-standard */
@@ -107,12 +107,12 @@ int __fastcall__ atoi (const char* s);
 long __fastcall__ atol (const char* s);
 int __fastcall__ atexit (void (*exitfunc) (void));
 void* __fastcall__ bsearch (const void* key, const void* base, size_t n,
-                           size_t size, int (*cmp) (const void*, const void*));
+                            size_t size, int (*cmp) (const void*, const void*));
 div_t __fastcall__ div (int numer, int denom);
 void __fastcall__ exit (int ret) __attribute__ ((noreturn));
 char* __fastcall__ getenv (const char* name);
 void __fastcall__ qsort (void* base, size_t count, size_t size,
-                        int (*compare) (const void*, const void*));
+                         int (*compare) (const void*, const void*));
 long __fastcall__ strtol (const char* nptr, char** endptr, int base);
 unsigned long __fastcall__ strtoul (const char* nptr, char** endptr, int base);
 int __fastcall__ system (const char* s);
index 7eb69959ce6beb6db25c25e98de89b26961efe34..19cfba27e5af2d0180e0e7aeef89666273ab3a0a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                string.h                                  */
+/*                                 string.h                                  */
 /*                                                                           */
-/*                             String handling                              */
+/*                              String handling                              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -72,7 +72,7 @@ void* __fastcall__ _bzero (void* ptr, size_t n);
 /* Non standard: */
 #if __CC65_STD__ == __CC65_STD_CC65__
 void __fastcall__ bzero (void* ptr, size_t n);                /* BSD */
-char* __fastcall__ strdup (const char* s);                   /* SYSV/BSD */
+char* __fastcall__ strdup (const char* s);                    /* SYSV/BSD */
 int __fastcall__ stricmp (const char* s1, const char* s2);    /* DOS/Windows */
 int __fastcall__ strcasecmp (const char* s1, const char* s2); /* Same for Unix */
 int __fastcall__ strnicmp (const char* s1, const char* s2, size_t count);     /* DOS/Windows */
index 85748e0a2948dea03fe64426f152625f1f5581eb..332fe973b5acc82929063ab8f775c4d15fea6547 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                               supervision.h                               */
 /*                                                                           */
-/*                    Supervision specific definitions                      */
+/*                     Supervision specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided "as-is," without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
-/* including commercial applications, and to alter and redistribute it      */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* including commercial applications, and to alter and redistribute it       */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software.  If you use this software  */
-/*    in a product, an acknowledgment, in the product's documentation,      */
-/*    would be appreciated, but is not required.                            */
-/* 2. Alterred source versions must be marked plainly as such,              */
-/*    and must not be misrepresented as being the original software.        */
-/* 3. This notice may not be removed or alterred                            */
-/*    from any source distribution.                                         */
+/*    in a product, an acknowledgment, in the product's documentation,       */
+/*    would be appreciated, but is not required.                             */
+/* 2. Alterred source versions must be marked plainly as such,               */
+/*    and must not be misrepresented as being the original software.         */
+/* 3. This notice may not be removed or alterred                             */
+/*    from any source distribution.                                          */
 /*                                                                           */
 /*****************************************************************************/
 
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -89,8 +89,8 @@ struct __sv_dma {
 
 #define SV_BANK  (*(unsigned char*)0x2026)
 #define SV_BANK_COMBINE(nmi,irq_timer,irq_dma,lcd_on, timer_prescale, bank) \
-       ((nmi)?1:0)|((irq_timer)?2:0)|((irq_dma)?4:0)|((lcd_on)?8:0) \
-       |((timer_prescale)?0x10:0)|((bank)<<5)
+        ((nmi)?1:0)|((irq_timer)?2:0)|((irq_dma)?4:0)|((lcd_on)?8:0) \
+        |((timer_prescale)?0x10:0)|((bank)<<5)
 
 #define SV_VIDEO ((unsigned char*)0x4000)
 #define SV_TIMER_COUNT (*(unsigned char*)0x2023)
index 087bff5d82bc3d6062c076b63700a94fef510dd5..9b1e9610fc185adc4b8fb4b632cba9dad2d70f85 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ typedef long int off_t;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0cf2cc4b41af5c2f2a40d6da80761bb7c7fb4fb9..28feecc4631eb38d2dcbabbd9ced370f9beba2a0 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
                    
 
@@ -80,7 +80,7 @@ struct utsname {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 661403370809059966f0af1b492c7c6891aca8fe..a43eb0cc32732f26a644dc301c8c981f67cf99ec 100644 (file)
@@ -70,7 +70,7 @@ typedef struct tgi_vectorfont tgi_vectorfont;
 
 
 /*****************************************************************************/
-/*                                Functions                                 */
+/*                                 Functions                                 */
 /*****************************************************************************/
 
 
index e8dd9c236f0b088e6f8d353aace23f7938d28b6a..334feaa1fc186fd9c8ab4c9c4313a780c34b02c0 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@
 #define TGI_ERR_INV_DRIVER      3       /* Invalid driver */
 #define TGI_ERR_INV_MODE        4       /* Mode not supported by driver */
 #define TGI_ERR_INV_ARG         5       /* Invalid function argument */
-#define TGI_ERR_INV_FUNC       6       /* Function not supported */
+#define TGI_ERR_INV_FUNC        6       /* Function not supported */
 #define TGI_ERR_INV_FONT        7       /* Font file is invalid */
 #define TGI_ERR_NO_RES          8       /* Out of resources */
 #define TGI_ERR_INSTALLED       9       /* A driver is already installed */
index 3d0bbda843ca215eb69f9c7518a01c83508eada1..8367e4453d7f73e14bca6b4f82a10419d0670da5 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* TGI kernel variables */
-extern void*                tgi_drv;           /* Pointer to driver */
+extern void*         tgi_drv;           /* Pointer to driver */
 extern unsigned char tgi_error;         /* Last error code */
 extern unsigned char tgi_gmode;         /* Flag: Graphics mode active */
 extern int           tgi_curx;          /* Current drawing cursor X */
index bf36f8b0bc239c42856f1ab048a259b12ab75421..82513b271cd17ebcf426366d74e0e5dc1243c144 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -71,7 +71,7 @@ struct tgi_vectorfont {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a38508000c02eba97f86f45fadcc65c4a721d001..507d7e29a34828f37ef18926980a602efe593076 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 time.h                                   */
+/*                                  time.h                                   */
 /*                                                                           */
-/*                              Date and time                               */
+/*                               Date and time                               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 /* NULL pointer */
 #ifndef _HAVE_NULL
-#define NULL   0
+#define NULL    0
 #define _HAVE_NULL
 #endif
 
@@ -55,7 +55,7 @@ typedef unsigned long clock_t;
 
 /* Structure for broken down time */
 struct tm {     
-    int            tm_sec;
+    int     tm_sec;
     int     tm_min;
     int     tm_hour;
     int     tm_mday;
@@ -79,32 +79,32 @@ extern struct _timezone {
 #if defined(__ATARI__)
 /* The clock depends on the video standard, so read it at runtime */
 unsigned _clocks_per_sec (void);
-#  define CLK_TCK              _clocks_per_sec()
-#  define CLOCKS_PER_SEC       _clocks_per_sec()
+#  define CLK_TCK               _clocks_per_sec()
+#  define CLOCKS_PER_SEC        _clocks_per_sec()
 #elif defined(__ATMOS__)
-#  define CLK_TCK                      100     /* POSIX */
-#  define CLOCKS_PER_SEC       100     /* ANSI */
+#  define CLK_TCK               100     /* POSIX */
+#  define CLOCKS_PER_SEC        100     /* ANSI */
 #elif defined(__CBM__)
 #  if defined(__CBM510__) || defined(__CBM610__)
 /* The 510/610 gets its clock from the AC current */
-#    define CLK_TCK                    50      /* POSIX */
-#    define CLOCKS_PER_SEC     50      /* ANSI */
+#    define CLK_TCK             50      /* POSIX */
+#    define CLOCKS_PER_SEC      50      /* ANSI */
 #  else
-#    define CLK_TCK            60      /* POSIX */
-#    define CLOCKS_PER_SEC     60      /* ANSI */
+#    define CLK_TCK             60      /* POSIX */
+#    define CLOCKS_PER_SEC      60      /* ANSI */
 #  endif
 #elif defined(__NES__)
-#  define CLK_TCK              50      /* POSIX */
-#  define CLOCKS_PER_SEC       50      /* ANSI */
+#  define CLK_TCK               50      /* POSIX */
+#  define CLOCKS_PER_SEC        50      /* ANSI */
 #elif  defined(__GEOS__)
-#  define CLK_TCK              1       /* POSIX */
-#  define CLOCKS_PER_SEC       1       /* ANSI */
+#  define CLK_TCK               1       /* POSIX */
+#  define CLOCKS_PER_SEC        1       /* ANSI */
 #elif defined(__LYNX__)
 /* The clock-rate depends on the video scan-rate;
 ** so, read it at run-time. */
 extern clock_t _clk_tck (void);
-#  define CLK_TCK              _clk_tck()
-#  define CLOCKS_PER_SEC       _clk_tck()
+#  define CLK_TCK               _clk_tck()
+#  define CLOCKS_PER_SEC        _clk_tck()
 #endif
 
 
index fb401be8945c03faa99977e31f29a2b0ef82c4cd..05b60f1fd710f143a6fcf34b4e3f8989cb059fe8 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Predefined file handles */
-#define STDIN_FILENO   0
-#define STDOUT_FILENO  1
-#define STDERR_FILENO  2
+#define STDIN_FILENO    0
+#define STDOUT_FILENO   1
+#define STDERR_FILENO   2
 
 /* WE need size_t */
 #ifndef _HAVE_size_t
@@ -68,7 +68,7 @@ extern int optind, opterr, optopt;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -77,12 +77,12 @@ extern int optind, opterr, optopt;
 int __fastcall__ write (int fd, const void* buf, unsigned count);
 int __fastcall__ read (int fd, void* buf, unsigned count);
 off_t __fastcall__ lseek (int fd, off_t offset, int whence);
-int __fastcall__ unlink (const char* name);    /* Same as remove() */
+int __fastcall__ unlink (const char* name);     /* Same as remove() */
 
 /* Directories */
 int __fastcall__ chdir (const char* name);
 char* __fastcall__ getcwd (char* buf, size_t size);
-int mkdir (const char* name, ...);             /* May take a mode argument */
+int mkdir (const char* name, ...);              /* May take a mode argument */
 int __fastcall__ rmdir (const char* name);
 
 /* Others */
index 378e32b4e614459c41ae52d75ef9a6296b7d81d0..c675de6d23cedea7eb2d4555d9843d10e6b676c6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  vic20.h                                 */
+/*                                   vic20.h                                 */
 /*                                                                           */
-/*                     vic20 system specific definitions                    */
+/*                      vic20 system specific definitions                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /* Additional key defines */
-#define CH_F1                  133
-#define CH_F2                  137
-#define CH_F3                  134
-#define CH_F4                  138
-#define CH_F5                  135
-#define CH_F6                  139
-#define CH_F7                  136
-#define CH_F8                  140
+#define CH_F1                   133
+#define CH_F2                   137
+#define CH_F3                   134
+#define CH_F4                   138
+#define CH_F5                   135
+#define CH_F6                   139
+#define CH_F7                   136
+#define CH_F8                   140
 
 
 
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
-#define COLOR_RED              0x02
-#define COLOR_CYAN             0x03
-#define COLOR_VIOLET           0x04
-#define COLOR_GREEN            0x05
-#define COLOR_BLUE             0x06
-#define COLOR_YELLOW           0x07
-#define COLOR_ORANGE           0x08
-#define COLOR_BROWN            0x09
-#define COLOR_LIGHTRED         0x0A
-#define COLOR_GRAY1            0x0B
-#define COLOR_GRAY2            0x0C
-#define COLOR_LIGHTGREEN       0x0D
-#define COLOR_LIGHTBLUE        0x0E
-#define COLOR_GRAY3            0x0F
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
+#define COLOR_RED               0x02
+#define COLOR_CYAN              0x03
+#define COLOR_VIOLET            0x04
+#define COLOR_GREEN             0x05
+#define COLOR_BLUE              0x06
+#define COLOR_YELLOW            0x07
+#define COLOR_ORANGE            0x08
+#define COLOR_BROWN             0x09
+#define COLOR_LIGHTRED          0x0A
+#define COLOR_GRAY1             0x0B
+#define COLOR_GRAY2             0x0C
+#define COLOR_LIGHTGREEN        0x0D
+#define COLOR_LIGHTBLUE         0x0E
+#define COLOR_GRAY3             0x0F
 
 
 
 /* Define hardware */
 #include <_vic.h>
-#define VIC            (*(struct __vic*)0x9000)
+#define VIC     (*(struct __vic*)0x9000)
 
 #include <_6522.h>
-#define VIA1           (*(struct __6522*)0x9110)
-#define VIA2   (*(struct __6522*)0x9120)
+#define VIA1    (*(struct __6522*)0x9110)
+#define VIA2    (*(struct __6522*)0x9120)
 
 
 
 /* Define special memory areas */
-#define COLOR_RAM      ((unsigned char*)0x9600)
+#define COLOR_RAM       ((unsigned char*)0x9600)
 
 
 
 /* The addresses of the static drivers */
 extern void vic20_ptvjoy_joy[];
-extern void vic20_stdjoy_joy[];                /* Referred to by joy_static_stddrv[] */
+extern void vic20_stdjoy_joy[];         /* Referred to by joy_static_stddrv[] */
 
 
 
index 62988ae16e8c47d29ff6c75a7ce5804c1ae170f8..7d1079e15c0ebb45b74014cd084a9e0ea63414ce 100644 (file)
@@ -4,14 +4,14 @@
 ; Screen size variables
 ;
 
-        .export                screensize
+        .export         screensize
 
         .include        "apple2.inc"
 
 screensize:
-        ldx    WNDWDTH
-        lda    WNDBTM
+        ldx     WNDWDTH
+        lda     WNDBTM
         sec
-        sbc    WNDTOP
+        sbc     WNDTOP
         tay
         rts
index e645bfde990243f59c6c3007209ef974e7e739af..9129dde96f638711997e4eb38002681e648cb2a5 100644 (file)
@@ -5,14 +5,14 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
 
         ; Be sure to export the following variables absolute
-               .export         _brk_a: abs, _brk_x: abs, _brk_y: abs
+        .export         _brk_a: abs, _brk_x: abs, _brk_y: abs
         .export         _brk_sr: abs, _brk_pc: abs
 
-       .include        "apple2.inc"
+        .include        "apple2.inc"
 
 _brk_a = $45
 _brk_x = $46
@@ -22,51 +22,51 @@ _brk_sp = $49
 _brk_pc = $3A
 
 .bss
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-               ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -74,39 +74,39 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
+.proc   brk_handler
 
-       sec
-       lda     _brk_pc
-       sbc     #$02            ; Point to start of brk
-       sta     _brk_pc
-       lda     _brk_pc+1
-       sbc     #$00
-       sta     _brk_pc+1
+        sec
+        lda     _brk_pc
+        sbc     #$02            ; Point to start of brk
+        sta     _brk_pc
+        lda     _brk_pc+1
+        sbc     #$00
+        sta     _brk_pc+1
 
-       clc
-       lda     _brk_sp
-       adc     #$04            ; Adjust stack pointer
-       sta     _brk_sp
+        clc
+        lda     _brk_sp
+        adc     #$04            ; Adjust stack pointer
+        sta     _brk_sp
 
-       lda     _brk_sr         ; Clear brk
-       and     #$EF
-       sta     _brk_sr
+        lda     _brk_sr         ; Clear brk
+        and     #$EF
+        sta     _brk_sr
 
-       jsr     uservec         ; Call the user's routine
+        jsr     uservec         ; Call the user's routine
 
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
 
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
 
-       rti                     ; Jump back...
+        rti                     ; Jump back...
 
 .endproc
 
index ca973686b3100e0d4ab109a32e9f052e9a1e9f87..c06cb0812f99fa97bbdc82a1fca6a712bd51f11b 100644 (file)
@@ -5,15 +5,15 @@
 ; void __fastcall__ cclear (unsigned char length);
 ;
 
-        .export                _cclearxy, _cclear
-        .import        popa, _gotoxy, chlinedirect
+        .export         _cclearxy, _cclear
+        .import         popa, _gotoxy, chlinedirect
 
 _cclearxy:
-        pha                    ; Save the length
-        jsr    popa            ; Get y
-        jsr            _gotoxy         ; Call this one, will pop params
-        pla                    ; Restore the length and run into _cclear
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cclear
 
 _cclear:
-        ldx    #' ' | $80      ; Blank, screen code
-        jmp    chlinedirect
+        ldx     #' ' | $80      ; Blank, screen code
+        jmp     chlinedirect
index 1a7091a9187016689c9ed46ecb33d1ecf70f6a62..511e434df089735e43d6e70d53d086be70318087 100644 (file)
 
 _cgetc:
         lda     KBD
-        bpl     _cgetc         ; If < 128, no key pressed
+        bpl     _cgetc          ; If < 128, no key pressed
 
         ; At this time, the high bit of the key pressed is set
-        bit     KBDSTRB        ; Clear keyboard strobe
+        bit     KBDSTRB         ; Clear keyboard strobe
         .ifdef __APPLE2ENH__
-        bit     BUTN0          ; Check if OpenApple is down
+        bit     BUTN0           ; Check if OpenApple is down
         bmi     done
         .endif
-        and     #$7F           ; If not down, then clear high bit
-done:   ldx    #$00
+        and     #$7F            ; If not down, then clear high bit
+done:   ldx     #$00
         rts
index a9a0c25861e886039641575d91cf8278633008a5..dba094365f60464093855eb8d4513ca6abd33d24 100644 (file)
@@ -5,33 +5,33 @@
 ; void __fastcall__ chline (unsigned char length);
 ;
 
-        .export        _chlinexy, _chline, chlinedirect
-        .import        popa, _gotoxy, cputdirect
+        .export         _chlinexy, _chline, chlinedirect
+        .import         popa, _gotoxy, cputdirect
 
-        .include       "zeropage.inc"
-        .include       "apple2.inc"
+        .include        "zeropage.inc"
+        .include        "apple2.inc"
 
 _chlinexy:
-        pha                    ; Save the length
-        jsr    popa            ; Get y
-        jsr            _gotoxy         ; Call this one, will pop params
-        pla                    ; Restore the length and run into _chline
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _chline
 
 _chline:
-        .ifdef __APPLE2ENH__
-        ldx    #'S'            ; MouseText character
-        ldy    INVFLG
-        cpy    #$FF            ; Normal character display mode?
-        beq    chlinedirect
+        .ifdef  __APPLE2ENH__
+        ldx     #'S'            ; MouseText character
+        ldy     INVFLG
+        cpy     #$FF            ; Normal character display mode?
+        beq     chlinedirect
         .endif
-        ldx    #'-' | $80      ; Horizontal line, screen code
+        ldx     #'-' | $80      ; Horizontal line, screen code
 
 chlinedirect:
-        cmp    #$00            ; Is the length zero?
-        beq    done            ; Jump if done
-        sta    tmp1
-:       txa                    ; Screen code
-        jsr    cputdirect      ; Direct output
-        dec    tmp1
-        bne    :-
+        cmp     #$00            ; Is the length zero?
+        beq     done            ; Jump if done
+        sta     tmp1
+:       txa                     ; Screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     :-
 done:   rts
index 18c4a14dd36bffce22dd84cf85c52bde8c4cb2b3..cef42b6f832fdc37170248e3e2b998a598ce0d57 100644 (file)
@@ -4,37 +4,37 @@
 ; int __fastcall__ close (int fd);
 ;
 
-        .export        _close
+        .export         _close
 
-        .import                closedirect, freebuffer
+        .import         closedirect, freebuffer
 
-        .include       "errno.inc"
-        .include       "filedes.inc"
+        .include        "errno.inc"
+        .include        "filedes.inc"
 
 _close:
         ; Process fd
-        jsr    getfd           ; Returns A, Y and C
-        bcs    errno
+        jsr     getfd           ; Returns A, Y and C
+        bcs     errno
 
         ; Check for device
-        bmi    zerofd
+        bmi     zerofd
 
         ; Close file
-        jsr    closedirect     ; Preserves Y
-        bcs    oserr
+        jsr     closedirect     ; Preserves Y
+        bcs     oserr
 
         ; Mark fdtab slot as free
-zerofd: lda    #$00
-        sta    fdtab + FD::REF_NUM,y
+zerofd: lda     #$00
+        sta     fdtab + FD::REF_NUM,y
 
         ; Cleanup I/O buffer
-        jsr    freebuffer
+        jsr     freebuffer
 
         ; Return success
-        lda    #$00
+        lda     #$00
 
         ; Set __oserror
-oserr:  jmp    __mappederrno
+oserr:  jmp     __mappederrno
 
         ; Set __errno
-errno:  jmp    __directerrno
+errno:  jmp     __directerrno
index 9b5bfa18acf0a6bf52e8fcb8a4b04271a8b65d80..d37d15bba7eb363b682082e6577e5068bdabd0e2 100644 (file)
@@ -38,7 +38,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index aee23e5ddbea3df9e83fb6c28ae4ddb4a6699f38..2fe54607af8a91fdddd6c381bf486c553f6c794e 100644 (file)
@@ -4,7 +4,7 @@
 ; void clrscr (void);
 ;
 
-        .export                _clrscr
-        .import                HOME
+        .export         _clrscr
+        .import         HOME
 
 _clrscr := HOME
index 8994ddf900802b2c85ac1e0d604c30bd682948d5..3b0c5b6d428b4e809d7d2ea65eff79c65a9ee4e1 100644 (file)
@@ -6,8 +6,8 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-        .export                _textcolor, _bgcolor, _bordercolor
-        .import                return0, return1
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         return0, return1
 
 _textcolor      := return1
 
index 62d2a08f003fd857b9aa121cc8dd85e6129c6407..0f8014a6d406eab5234f8f312646cf598091592c 100644 (file)
@@ -4,17 +4,17 @@
 ; COUT routine
 ;
 
-       .export         COUT
+        .export         COUT
 
-       .include        "apple2.inc"
+        .include        "apple2.inc"
 
-       .segment        "LOWCODE"
+        .segment        "LOWCODE"
 
 COUT:
-       ; Switch in ROM and call COUT
-       bit     $C082
-       jsr     $FDED           ; Vector to user output routine
+        ; Switch in ROM and call COUT
+        bit     $C082
+        jsr     $FDED           ; Vector to user output routine
 
-       ; Switch in LC bank 2 for R/O and return
-       bit     $C080
-       rts
+        ; Switch in LC bank 2 for R/O and return
+        bit     $C080
+        rts
index 1b9373e5fe17cf22c5416e2717d8cd35c36bdb48..1cadd1f1ca09ce04b0897cd0d040ddccc82b01d4 100644 (file)
@@ -19,7 +19,7 @@
         .ifdef  __APPLE2ENH__
 initconio:
         sta     SETALTCHAR      ; Switch in alternate charset
-        bit    LORES           ; Limit SET80COL-HISCR to text
+        bit     LORES           ; Limit SET80COL-HISCR to text
         rts
         .endif
 
index ebf170637a743b11b46d927c347b07938ee939b3..fa9a65c8b175e3029a842b3a30d40bef5e63f3c0 100644 (file)
@@ -4,7 +4,7 @@
 ; Character specification table.
 ;
 
-       .include        "ctype.inc"
+        .include        "ctype.inc"
 
 ; The tables are readonly, put them into the rodata segment
 
 
 __ctype:
         .repeat 2
-               .byte   CT_CTRL                 ;   0/00 ___ctrl_@___
-       .byte   CT_CTRL                 ;   1/01 ___ctrl_A___
-       .byte   CT_CTRL                 ;   2/02 ___ctrl_B___
-       .byte   CT_CTRL                 ;   3/03 ___ctrl_C___
-       .byte   CT_CTRL                 ;   4/04 ___ctrl_D___
-       .byte   CT_CTRL                 ;   5/05 ___ctrl_E___
-       .byte   CT_CTRL                 ;   6/06 ___ctrl_F___
-       .byte   CT_CTRL                 ;   7/07 ___ctrl_G___
-       .byte   CT_CTRL                 ;   8/08 ___ctrl_H___
-       .byte   CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB
-                                       ;   9/09 ___ctrl_I___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  10/0a ___ctrl_J___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  11/0b ___ctrl_K___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  12/0c ___ctrl_L___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  13/0d ___ctrl_M___
-       .byte   CT_CTRL                 ;  14/0e ___ctrl_N___
-       .byte   CT_CTRL                 ;  15/0f ___ctrl_O___
-       .byte   CT_CTRL                 ;  16/10 ___ctrl_P___
-       .byte   CT_CTRL                 ;  17/11 ___ctrl_Q___
-       .byte   CT_CTRL                 ;  18/12 ___ctrl_R___
-       .byte   CT_CTRL                 ;  19/13 ___ctrl_S___
-       .byte   CT_CTRL                 ;  20/14 ___ctrl_T___
-       .byte   CT_CTRL                 ;  21/15 ___ctrl_U___
-       .byte   CT_CTRL                 ;  22/16 ___ctrl_V___
-       .byte   CT_CTRL                 ;  23/17 ___ctrl_W___
-       .byte   CT_CTRL                 ;  24/18 ___ctrl_X___
-       .byte   CT_CTRL                 ;  25/19 ___ctrl_Y___
-       .byte   CT_CTRL                 ;  26/1a ___ctrl_Z___
-       .byte   CT_CTRL                 ;  27/1b ___ctrl_[___
-       .byte   CT_CTRL                 ;  28/1c ___ctrl_\___
-       .byte   CT_CTRL                 ;  29/1d ___ctrl_]___
-       .byte   CT_CTRL                 ;  30/1e ___ctrl_^___
-       .byte   CT_CTRL                 ;  31/1f ___ctrl_____
-       .byte   CT_SPACE | CT_SPACE_TAB ;  32/20 ___SPACE___
-               .byte   CT_NONE                 ;  33/21 _____!_____
-               .byte   CT_NONE                 ;  34/22 _____"_____
-               .byte   CT_NONE                 ;  35/23 _____#_____
-               .byte   CT_NONE                 ;  36/24 _____$_____
-               .byte   CT_NONE                 ;  37/25 _____%_____
-               .byte   CT_NONE                 ;  38/26 _____&_____
-               .byte   CT_NONE                 ;  39/27 _____'_____
-               .byte   CT_NONE                 ;  40/28 _____(_____
-               .byte   CT_NONE                 ;  41/29 _____)_____
-               .byte   CT_NONE                 ;  42/2a _____*_____
-               .byte   CT_NONE                 ;  43/2b _____+_____
-               .byte   CT_NONE                 ;  44/2c _____,_____
-               .byte   CT_NONE                 ;  45/2d _____-_____
-               .byte   CT_NONE                 ;  46/2e _____._____
-               .byte   CT_NONE                 ;  47/2f _____/_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  48/30 _____0_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  49/31 _____1_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  50/32 _____2_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  51/33 _____3_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  52/34 _____4_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  53/35 _____5_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  54/36 _____6_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  55/37 _____7_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  56/38 _____8_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  57/39 _____9_____
-               .byte   CT_NONE                 ;  58/3a _____:_____
-               .byte   CT_NONE                 ;  59/3b _____;_____
-               .byte   CT_NONE                 ;  60/3c _____<_____
-               .byte   CT_NONE                 ;  61/3d _____=_____
-               .byte   CT_NONE                 ;  62/3e _____>_____
-               .byte   CT_NONE                 ;  63/3f _____?_____
+        .byte   CT_CTRL                 ;   0/00 ___ctrl_@___
+        .byte   CT_CTRL                 ;   1/01 ___ctrl_A___
+        .byte   CT_CTRL                 ;   2/02 ___ctrl_B___
+        .byte   CT_CTRL                 ;   3/03 ___ctrl_C___
+        .byte   CT_CTRL                 ;   4/04 ___ctrl_D___
+        .byte   CT_CTRL                 ;   5/05 ___ctrl_E___
+        .byte   CT_CTRL                 ;   6/06 ___ctrl_F___
+        .byte   CT_CTRL                 ;   7/07 ___ctrl_G___
+        .byte   CT_CTRL                 ;   8/08 ___ctrl_H___
+        .byte   CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB
+                                        ;   9/09 ___ctrl_I___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  10/0a ___ctrl_J___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  11/0b ___ctrl_K___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  12/0c ___ctrl_L___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  13/0d ___ctrl_M___
+        .byte   CT_CTRL                 ;  14/0e ___ctrl_N___
+        .byte   CT_CTRL                 ;  15/0f ___ctrl_O___
+        .byte   CT_CTRL                 ;  16/10 ___ctrl_P___
+        .byte   CT_CTRL                 ;  17/11 ___ctrl_Q___
+        .byte   CT_CTRL                 ;  18/12 ___ctrl_R___
+        .byte   CT_CTRL                 ;  19/13 ___ctrl_S___
+        .byte   CT_CTRL                 ;  20/14 ___ctrl_T___
+        .byte   CT_CTRL                 ;  21/15 ___ctrl_U___
+        .byte   CT_CTRL                 ;  22/16 ___ctrl_V___
+        .byte   CT_CTRL                 ;  23/17 ___ctrl_W___
+        .byte   CT_CTRL                 ;  24/18 ___ctrl_X___
+        .byte   CT_CTRL                 ;  25/19 ___ctrl_Y___
+        .byte   CT_CTRL                 ;  26/1a ___ctrl_Z___
+        .byte   CT_CTRL                 ;  27/1b ___ctrl_[___
+        .byte   CT_CTRL                 ;  28/1c ___ctrl_\___
+        .byte   CT_CTRL                 ;  29/1d ___ctrl_]___
+        .byte   CT_CTRL                 ;  30/1e ___ctrl_^___
+        .byte   CT_CTRL                 ;  31/1f ___ctrl_____
+        .byte   CT_SPACE | CT_SPACE_TAB ;  32/20 ___SPACE___
+        .byte   CT_NONE                 ;  33/21 _____!_____
+        .byte   CT_NONE                 ;  34/22 _____"_____
+        .byte   CT_NONE                 ;  35/23 _____#_____
+        .byte   CT_NONE                 ;  36/24 _____$_____
+        .byte   CT_NONE                 ;  37/25 _____%_____
+        .byte   CT_NONE                 ;  38/26 _____&_____
+        .byte   CT_NONE                 ;  39/27 _____'_____
+        .byte   CT_NONE                 ;  40/28 _____(_____
+        .byte   CT_NONE                 ;  41/29 _____)_____
+        .byte   CT_NONE                 ;  42/2a _____*_____
+        .byte   CT_NONE                 ;  43/2b _____+_____
+        .byte   CT_NONE                 ;  44/2c _____,_____
+        .byte   CT_NONE                 ;  45/2d _____-_____
+        .byte   CT_NONE                 ;  46/2e _____._____
+        .byte   CT_NONE                 ;  47/2f _____/_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  48/30 _____0_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  49/31 _____1_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  50/32 _____2_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  51/33 _____3_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  52/34 _____4_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  53/35 _____5_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  54/36 _____6_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  55/37 _____7_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  56/38 _____8_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  57/39 _____9_____
+        .byte   CT_NONE                 ;  58/3a _____:_____
+        .byte   CT_NONE                 ;  59/3b _____;_____
+        .byte   CT_NONE                 ;  60/3c _____<_____
+        .byte   CT_NONE                 ;  61/3d _____=_____
+        .byte   CT_NONE                 ;  62/3e _____>_____
+        .byte   CT_NONE                 ;  63/3f _____?_____
 
-               .byte   CT_NONE                 ;  64/40 _____@_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  65/41 _____A_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  66/42 _____B_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  67/43 _____C_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  68/44 _____D_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  69/45 _____E_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  70/46 _____F_____
-       .byte   CT_UPPER                ;  71/47 _____G_____
-       .byte   CT_UPPER                ;  72/48 _____H_____
-       .byte   CT_UPPER                ;  73/49 _____I_____
-       .byte   CT_UPPER                ;  74/4a _____J_____
-       .byte   CT_UPPER                ;  75/4b _____K_____
-       .byte   CT_UPPER                ;  76/4c _____L_____
-       .byte   CT_UPPER                ;  77/4d _____M_____
-       .byte   CT_UPPER                ;  78/4e _____N_____
-       .byte   CT_UPPER                ;  79/4f _____O_____
-       .byte   CT_UPPER                ;  80/50 _____P_____
-       .byte   CT_UPPER                ;  81/51 _____Q_____
-       .byte   CT_UPPER                ;  82/52 _____R_____
-       .byte   CT_UPPER                ;  83/53 _____S_____
-       .byte   CT_UPPER                ;  84/54 _____T_____
-       .byte   CT_UPPER                ;  85/55 _____U_____
-       .byte   CT_UPPER                ;  86/56 _____V_____
-       .byte   CT_UPPER                ;  87/57 _____W_____
-       .byte   CT_UPPER                ;  88/58 _____X_____
-       .byte   CT_UPPER                ;  89/59 _____Y_____
-       .byte   CT_UPPER                ;  90/5a _____Z_____
-               .byte   CT_NONE                 ;  91/5b _____[_____
-               .byte   CT_NONE                 ;  92/5c _____\_____
-               .byte   CT_NONE                 ;  93/5d _____]_____
-               .byte   CT_NONE                 ;  94/5e _____^_____
-               .byte   CT_NONE                 ;  95/5f _UNDERLINE_
-               .byte   CT_NONE                 ;  96/60 ___grave___
-       .byte   CT_LOWER | CT_XDIGIT    ;  97/61 _____a_____
-       .byte   CT_LOWER | CT_XDIGIT    ;  98/62 _____b_____
-       .byte   CT_LOWER | CT_XDIGIT    ;  99/63 _____c_____
-       .byte   CT_LOWER | CT_XDIGIT    ; 100/64 _____d_____
-       .byte   CT_LOWER | CT_XDIGIT    ; 101/65 _____e_____
-       .byte   CT_LOWER | CT_XDIGIT    ; 102/66 _____f_____
-       .byte   CT_LOWER                ; 103/67 _____g_____
-       .byte   CT_LOWER                ; 104/68 _____h_____
-       .byte   CT_LOWER                ; 105/69 _____i_____
-       .byte   CT_LOWER                ; 106/6a _____j_____
-       .byte   CT_LOWER                ; 107/6b _____k_____
-       .byte   CT_LOWER                ; 108/6c _____l_____
-       .byte   CT_LOWER                ; 109/6d _____m_____
-       .byte   CT_LOWER                ; 110/6e _____n_____
-       .byte   CT_LOWER                ; 111/6f _____o_____
-       .byte   CT_LOWER                ; 112/70 _____p_____
-       .byte   CT_LOWER                ; 113/71 _____q_____
-       .byte   CT_LOWER                ; 114/72 _____r_____
-       .byte   CT_LOWER                ; 115/73 _____s_____
-       .byte   CT_LOWER                ; 116/74 _____t_____
-       .byte   CT_LOWER                ; 117/75 _____u_____
-       .byte   CT_LOWER                ; 118/76 _____v_____
-       .byte   CT_LOWER                ; 119/77 _____w_____
-       .byte   CT_LOWER                ; 120/78 _____x_____
-       .byte   CT_LOWER                ; 121/79 _____y_____
-       .byte   CT_LOWER                ; 122/7a _____z_____
-               .byte   CT_NONE                 ; 123/7b _____{_____
-               .byte   CT_NONE                 ; 124/7c _____|_____
-               .byte   CT_NONE                 ; 125/7d _____}_____
-               .byte   CT_NONE                 ; 126/7e _____~_____
-       .byte   CT_OTHER_WS             ; 127/7f ____DEL____
+        .byte   CT_NONE                 ;  64/40 _____@_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  65/41 _____A_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  66/42 _____B_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  67/43 _____C_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  68/44 _____D_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  69/45 _____E_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  70/46 _____F_____
+        .byte   CT_UPPER                ;  71/47 _____G_____
+        .byte   CT_UPPER                ;  72/48 _____H_____
+        .byte   CT_UPPER                ;  73/49 _____I_____
+        .byte   CT_UPPER                ;  74/4a _____J_____
+        .byte   CT_UPPER                ;  75/4b _____K_____
+        .byte   CT_UPPER                ;  76/4c _____L_____
+        .byte   CT_UPPER                ;  77/4d _____M_____
+        .byte   CT_UPPER                ;  78/4e _____N_____
+        .byte   CT_UPPER                ;  79/4f _____O_____
+        .byte   CT_UPPER                ;  80/50 _____P_____
+        .byte   CT_UPPER                ;  81/51 _____Q_____
+        .byte   CT_UPPER                ;  82/52 _____R_____
+        .byte   CT_UPPER                ;  83/53 _____S_____
+        .byte   CT_UPPER                ;  84/54 _____T_____
+        .byte   CT_UPPER                ;  85/55 _____U_____
+        .byte   CT_UPPER                ;  86/56 _____V_____
+        .byte   CT_UPPER                ;  87/57 _____W_____
+        .byte   CT_UPPER                ;  88/58 _____X_____
+        .byte   CT_UPPER                ;  89/59 _____Y_____
+        .byte   CT_UPPER                ;  90/5a _____Z_____
+        .byte   CT_NONE                 ;  91/5b _____[_____
+        .byte   CT_NONE                 ;  92/5c _____\_____
+        .byte   CT_NONE                 ;  93/5d _____]_____
+        .byte   CT_NONE                 ;  94/5e _____^_____
+        .byte   CT_NONE                 ;  95/5f _UNDERLINE_
+        .byte   CT_NONE                 ;  96/60 ___grave___
+        .byte   CT_LOWER | CT_XDIGIT    ;  97/61 _____a_____
+        .byte   CT_LOWER | CT_XDIGIT    ;  98/62 _____b_____
+        .byte   CT_LOWER | CT_XDIGIT    ;  99/63 _____c_____
+        .byte   CT_LOWER | CT_XDIGIT    ; 100/64 _____d_____
+        .byte   CT_LOWER | CT_XDIGIT    ; 101/65 _____e_____
+        .byte   CT_LOWER | CT_XDIGIT    ; 102/66 _____f_____
+        .byte   CT_LOWER                ; 103/67 _____g_____
+        .byte   CT_LOWER                ; 104/68 _____h_____
+        .byte   CT_LOWER                ; 105/69 _____i_____
+        .byte   CT_LOWER                ; 106/6a _____j_____
+        .byte   CT_LOWER                ; 107/6b _____k_____
+        .byte   CT_LOWER                ; 108/6c _____l_____
+        .byte   CT_LOWER                ; 109/6d _____m_____
+        .byte   CT_LOWER                ; 110/6e _____n_____
+        .byte   CT_LOWER                ; 111/6f _____o_____
+        .byte   CT_LOWER                ; 112/70 _____p_____
+        .byte   CT_LOWER                ; 113/71 _____q_____
+        .byte   CT_LOWER                ; 114/72 _____r_____
+        .byte   CT_LOWER                ; 115/73 _____s_____
+        .byte   CT_LOWER                ; 116/74 _____t_____
+        .byte   CT_LOWER                ; 117/75 _____u_____
+        .byte   CT_LOWER                ; 118/76 _____v_____
+        .byte   CT_LOWER                ; 119/77 _____w_____
+        .byte   CT_LOWER                ; 120/78 _____x_____
+        .byte   CT_LOWER                ; 121/79 _____y_____
+        .byte   CT_LOWER                ; 122/7a _____z_____
+        .byte   CT_NONE                 ; 123/7b _____{_____
+        .byte   CT_NONE                 ; 124/7c _____|_____
+        .byte   CT_NONE                 ; 125/7d _____}_____
+        .byte   CT_NONE                 ; 126/7e _____~_____
+        .byte   CT_OTHER_WS             ; 127/7f ____DEL____
         .endrepeat
 
 
index 280e4ced3d3afc8cd705e16feb651822b04c655d..1ac3fad748262ac41ade6f1217097c240a81c77b 100644 (file)
@@ -5,31 +5,31 @@
 ; void __fastcall__ cvline (unsigned char length);
 ;
 
-        .export        _cvlinexy, _cvline, cvlinedirect
-        .import                popa, _gotoxy, putchar, newline
+        .export         _cvlinexy, _cvline, cvlinedirect
+        .import         popa, _gotoxy, putchar, newline
 
-        .include       "zeropage.inc"
+        .include        "zeropage.inc"
 
 _cvlinexy:
-        pha                    ; Save the length
-        jsr    popa            ; Get y
-        jsr            _gotoxy         ; Call this one, will pop params
-        pla                    ; Restore the length and run into _cvline
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cvline
 
 _cvline:
-        .ifdef __APPLE2ENH__
-        ldx    #'|' | $80      ; Vertical line, screen code
+        .ifdef  __APPLE2ENH__
+        ldx     #'|' | $80      ; Vertical line, screen code
         .else
-        ldx    #'!' | $80      ; Vertical line, screen code
+        ldx     #'!' | $80      ; Vertical line, screen code
         .endif
 
 cvlinedirect:
-        cmp    #$00            ; Is the length zero?
-        beq    done            ; Jump if done
-        sta    tmp1
-:       txa                    ; Screen code
-        jsr    putchar         ; Write, no cursor advance
-        jsr    newline         ; Advance cursor to next line
-        dec    tmp1
-        bne    :-
+        cmp     #$00            ; Is the length zero?
+        beq     done            ; Jump if done
+        sta     tmp1
+:       txa                     ; Screen code
+        jsr     putchar         ; Write, no cursor advance
+        jsr     newline         ; Advance cursor to next line
+        dec     tmp1
+        bne     :-
 done:   rts
index b2a6382f8076eac8e9e2602a9ff26d4360ffe9af..dea2ba8c5aa46109c4fcd64984308b460ffcbcbe 100644 (file)
@@ -4,79 +4,79 @@
 ; char* __fastcall__ getdevicedir (unsigned char device, char* buf, size_t size);
 ;
 
-        .export                _getdevicedir
-        .import                popax, popa
+        .export         _getdevicedir
+        .import         popax, popa
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "mli.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "mli.inc"
 
 _getdevicedir:
         ; Save size
-        sta    ptr2
-        stx    ptr2+1
+        sta     ptr2
+        stx     ptr2+1
 
         ; Save buf
-        jsr    popax
-        sta    ptr1
-        stx    ptr1+1
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1
 
         ; Set buf
-        sta    mliparam + MLI::ON_LINE::DATA_BUFFER
-        stx    mliparam + MLI::ON_LINE::DATA_BUFFER+1
+        sta     mliparam + MLI::ON_LINE::DATA_BUFFER
+        stx     mliparam + MLI::ON_LINE::DATA_BUFFER+1
 
         ; Set device
-        jsr    popa
+        jsr     popa
         asl
         asl
         asl
         asl
-        sta    mliparam + MLI::ON_LINE::UNIT_NUM
+        sta     mliparam + MLI::ON_LINE::UNIT_NUM
 
         ; Check for valid slot
-        and    #$70
-        beq    erange
+        and     #$70
+        beq     erange
 
         ; Check for sufficient buf size
-        lda    ptr2+1
-        bne    :++             ; Buf >= 256
-        lda    ptr2
-        cmp    #17
-        bcs    :++             ; Buf >= 17
+        lda     ptr2+1
+        bne     :++             ; Buf >= 256
+        lda     ptr2
+        cmp     #17
+        bcs     :++             ; Buf >= 17
 
         ; Handle errors
-erange: lda    #<ERANGE
-        jsr    __directerrno
-        bne    :+              ; Branch always
-oserr:  jsr    __mappederrno
-:       lda    #$00            ; Return NULL
+erange: lda     #<ERANGE
+        jsr     __directerrno
+        bne     :+              ; Branch always
+oserr:  jsr     __mappederrno
+:       lda     #$00            ; Return NULL
         tax
         rts
 
         ; Get volume name
-:       lda    #ON_LINE_CALL
-        ldx    #ON_LINE_COUNT
-        jsr    callmli
-        bcs    oserr
+:       lda     #ON_LINE_CALL
+        ldx     #ON_LINE_COUNT
+        jsr     callmli
+        bcs     oserr
 
         ; Get volume name length
-        ldy    #$00
-        lda    (ptr1),y
-        and    #15             ; Max volume name length
-        sta    tmp1
+        ldy     #$00
+        lda     (ptr1),y
+        and     #15             ; Max volume name length
+        sta     tmp1
         
         ; Add leading slash
-        lda    #'/'
-        sta    (ptr1),y
+        lda     #'/'
+        sta     (ptr1),y
 
         ; Add terminating zero
-        ldy    tmp1
+        ldy     tmp1
         iny
-        lda    #$00
-        sta    (ptr1),y
-        sta    __oserror       ; Clear _oserror
+        lda     #$00
+        sta     (ptr1),y
+        sta     __oserror       ; Clear _oserror
 
         ; Success, return buf
-        lda    ptr1
-        ldx    ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
         rts
index 2353d3202ce5ab3027e045820e94845aa82ec3c7..59f576e3367188e783bc57dae61a7f7abd13f574 100644 (file)
@@ -4,9 +4,9 @@
 ; unsigned char __fastcall__ dio_close (dhandle_t handle);
 ;
 
-        .export        _dio_close
-        .import                dioepilog
+        .export         _dio_close
+        .import         dioepilog
 
 _dio_close:
-        lda    #$00
-        jmp    dioepilog
+        lda     #$00
+        jmp     dioepilog
index abfd979a406732aae4a06de198c9e10c703da297..4e8d7614709a3ce544def2e18325d3f51fcd6cd7 100644 (file)
@@ -2,34 +2,34 @@
 ; Oliver Schmidt, 24.03.2005
 ;
 
-        .export        dioprolog, diocommon, dioepilog
-        .import        popax
+        .export         dioprolog, diocommon, dioepilog
+        .import         popax
 
-        .include       "errno.inc"
-        .include       "mli.inc"
+        .include        "errno.inc"
+        .include        "mli.inc"
 
 dioprolog:
         ; Set buffer
-        sta    mliparam + MLI::RW_BLOCK::DATA_BUFFER
-        stx    mliparam + MLI::RW_BLOCK::DATA_BUFFER+1
+        sta     mliparam + MLI::RW_BLOCK::DATA_BUFFER
+        stx     mliparam + MLI::RW_BLOCK::DATA_BUFFER+1
 
         ; Get and set sect_num
-        jsr    popax
-        sta    mliparam + MLI::RW_BLOCK::BLOCK_NUM
-        stx    mliparam + MLI::RW_BLOCK::BLOCK_NUM+1
+        jsr     popax
+        sta     mliparam + MLI::RW_BLOCK::BLOCK_NUM
+        stx     mliparam + MLI::RW_BLOCK::BLOCK_NUM+1
 
         ; Get and set handle
-        jsr    popax
-        sta    mliparam + MLI::RW_BLOCK::UNIT_NUM
+        jsr     popax
+        sta     mliparam + MLI::RW_BLOCK::UNIT_NUM
         rts
 
 diocommon:
         ; Call read_block or write_block
-        ldx    #RW_BLOCK_COUNT
-        jsr    callmli         
+        ldx     #RW_BLOCK_COUNT
+        jsr     callmli         
 
 dioepilog:
         ; Return success or error
         sta     __oserror
-        ldx    #$00
+        ldx     #$00
         rts
index 4c07f0eb2e32254b46d8c6c0f24a90623338716f..62b2f06a38de7b958628b1a7ce6fd13f950eeb29 100644 (file)
@@ -4,28 +4,28 @@
 ; dhandle_t __fastcall__ dio_open (unsigned char device);
 ;
 
-        .export        _dio_open
-        .import        return0, __dos_type, isdevice
+        .export         _dio_open
+        .import         return0, __dos_type, isdevice
 
-        .include       "errno.inc"
-        .include       "mli.inc"
+        .include        "errno.inc"
+        .include        "mli.inc"
 
 _dio_open:
         ; Check for ProDOS 8
-        ldx    __dos_type
-        bne    :+
-        lda    #$01            ; "Bad system call number"
-        bne    oserr           ; Branch always
+        ldx     __dos_type
+        bne     :+
+        lda     #$01            ; "Bad system call number"
+        bne     oserr           ; Branch always
 
         ; Check for valid device
 :       tax
-        jsr    isdevice
-        beq    :+
-        lda    #$28            ; "No device connected"
+        jsr     isdevice
+        beq     :+
+        lda     #$28            ; "No device connected"
 
         ; Return oserror
-oserr:  sta    __oserror
-        jmp    return0
+oserr:  sta     __oserror
+        jmp     return0
 
         ; Return success
 :       txa
@@ -33,6 +33,6 @@ oserr:  sta   __oserror
         asl
         asl
         asl
-        ldx    #$00
-        stx    __oserror
+        ldx     #$00
+        stx     __oserror
         rts
index 62a831ba2cdfdde445b4ad779809798a31cb2ded..4e80261fca285b1bac45aee808152e6e595789d8 100644 (file)
@@ -4,12 +4,12 @@
 ; unsigned char __fastcall__ dio_read (dhandle_t handle, unsigned sect_num, void *buffer);
 ;
 
-        .export        _dio_read
-        .import        dioprolog, diocommon
+        .export         _dio_read
+        .import         dioprolog, diocommon
 
-        .include       "mli.inc"
+        .include        "mli.inc"
 
 _dio_read:
-        jsr    dioprolog
-        lda    #READ_BLOCK_CALL
-        jmp    diocommon
+        jsr     dioprolog
+        lda     #READ_BLOCK_CALL
+        jmp     diocommon
index f5cf1496132cf895a9b1163338b6737b1ad2115e..55f7e376c17c632b58fac5a526880e2bbe102bae 100644 (file)
@@ -4,39 +4,39 @@
 ; unsigned __fastcall__ dio_query_sectcount (dhandle_t handle);
 ;
 
-        .export        _dio_query_sectcount
-        .import        _dio_query_sectsize, _malloc, _free
+        .export         _dio_query_sectcount
+        .import         _dio_query_sectsize, _malloc, _free
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "mli.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "mli.inc"
 
 _dio_query_sectcount:
 
         ; Set handle
-        sta    mliparam + MLI::ON_LINE::UNIT_NUM
+        sta     mliparam + MLI::ON_LINE::UNIT_NUM
 
         ; Get ProDOS 8 block size (clears __oserror)
-        jsr    _dio_query_sectsize
+        jsr     _dio_query_sectsize
 
         ; Alloc buffer
-        jsr    _malloc
-        sta    ptr4
-        stx    ptr4+1
+        jsr     _malloc
+        sta     ptr4
+        stx     ptr4+1
 
         ; Set buffer
-        sta    mliparam + MLI::ON_LINE::DATA_BUFFER
-        stx    mliparam + MLI::ON_LINE::DATA_BUFFER+1
+        sta     mliparam + MLI::ON_LINE::DATA_BUFFER
+        stx     mliparam + MLI::ON_LINE::DATA_BUFFER+1
 
         ; Check buffer (hibyte is enough)
         txa
-        beq    nomem
+        beq     nomem
 
         ; Get device state
-        lda    #ON_LINE_CALL
-        ldx    #ON_LINE_COUNT
-        jsr    callmli
-        bcs    check
+        lda     #ON_LINE_CALL
+        ldx     #ON_LINE_COUNT
+        jsr     callmli
+        bcs     check
 
         ; UNIT_NUM already set
         .assert MLI::RW_BLOCK::UNIT_NUM = MLI::ON_LINE::UNIT_NUM, error
@@ -45,27 +45,27 @@ _dio_query_sectcount:
         .assert MLI::RW_BLOCK::DATA_BUFFER = MLI::ON_LINE::DATA_BUFFER, error
 
         ; Read volume directory key block
-        tax                    ; A = 0
-        lda    #$02
-        sta    mliparam + MLI::RW_BLOCK::BLOCK_NUM
-        stx    mliparam + MLI::RW_BLOCK::BLOCK_NUM+1
-        lda    #READ_BLOCK_CALL
-        ldx    #RW_BLOCK_COUNT
-        jsr    callmli
-        bcs    oserr
+        tax                     ; A = 0
+        lda     #$02
+        sta     mliparam + MLI::RW_BLOCK::BLOCK_NUM
+        stx     mliparam + MLI::RW_BLOCK::BLOCK_NUM+1
+        lda     #READ_BLOCK_CALL
+        ldx     #RW_BLOCK_COUNT
+        jsr     callmli
+        bcs     oserr
 
         ; Get and save total blocks from volume directory header
-        ldy    #$29
-        lda    (ptr4),y
+        ldy     #$29
+        lda     (ptr4),y
         pha
         iny
-        lda    (ptr4),y
+        lda     (ptr4),y
         pha
 
         ; Cleanup buffer
-done:   lda    ptr4
-        ldx    ptr4+1
-        jsr    _free
+done:   lda     ptr4
+        ldx     ptr4+1
+        jsr     _free
 
         ; Restore total blocks and return
         pla
@@ -73,23 +73,23 @@ done:   lda ptr4
         pla
         rts
 
-nomem:  lda    #$FF            ; Error code for sure not used by MLI
-oserr:  sta    __oserror
+nomem:  lda     #$FF            ; Error code for sure not used by MLI
+oserr:  sta     __oserror
 
         ; Save total blocks for failure
-        lda    #$00
+        lda     #$00
         pha
         pha
-        beq    done            ; Branch always
+        beq     done            ; Branch always
 
         ; Check for non-ProDOS disk
-check:  cmp    #$52            ; "Not a ProDOS volume"
-        bne    oserr
-        sta    __oserror
+check:  cmp     #$52            ; "Not a ProDOS volume"
+        bne     oserr
+        sta     __oserror
 
         ; Save total blocks for a 16-sector disk
-        lda    #<280
+        lda     #<280
         pha
-        lda    #>280
+        lda     #>280
         pha
-        bne    done            ; Branch always
+        bne     done            ; Branch always
index f9737cdd51514a755b025c38a67b013a57df6ad5..d3ece37791e215aa00d00c3d4fc7ae34fa50e34c 100644 (file)
@@ -4,15 +4,15 @@
 ; unsigned __fastcall__ dio_query_sectsize (dhandle_t handle);
 ;
 
-        .export        _dio_query_sectsize
+        .export         _dio_query_sectsize
 
-        .include       "errno.inc"
+        .include        "errno.inc"
 
 _dio_query_sectsize:
         ; Clear error
-        stx    __oserror       ; X = 0
+        stx     __oserror       ; X = 0
 
         ; Return ProDOS 8 block size
-        txa                    ; X = 0
-        ldx    #>512
+        txa                     ; X = 0
+        ldx     #>512
         rts
index 6deb754f2ff4b56997cb0b4deb2550092513ec5c..d031c49d0992fe48503fbad6b4ea19188b36c30b 100644 (file)
@@ -4,12 +4,12 @@
 ; unsigned char __fastcall__ dio_write (dhandle_t handle, unsigned sect_num, const void *buffer);
 ;
 
-        .export        _dio_write
-        .import        dioprolog, diocommon
+        .export         _dio_write
+        .import         dioprolog, diocommon
 
-        .include       "mli.inc"
+        .include        "mli.inc"
 
 _dio_write:
-        jsr    dioprolog
-        lda    #WRITE_BLOCK_CALL
-        jmp    diocommon
+        jsr     dioprolog
+        lda     #WRITE_BLOCK_CALL
+        jmp     diocommon
index 0faffd634e39162168aa00b012fd87f08b84c628..369080c47244afd632077cff97ba3e7b392f118f 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 struct DIR {
-    int                  fd;
+    int           fd;
     unsigned char entry_length;
     unsigned char entries_per_block;
     unsigned char current_entry;
     union {
-       unsigned char bytes[512];
-       struct {
-           unsigned      prev_block;
-           unsigned      next_block;
-           unsigned char entries[1];
-       } content;
+        unsigned char bytes[512];
+        struct {
+            unsigned      prev_block;
+            unsigned      next_block;
+            unsigned char entries[1];
+        } content;
     } block;
 };
 
index 5dcda07a91840fc46fc8c18442262bbad91f0140..68910e3da2485d072fc7fb856e5c805cb9d94766 100644 (file)
 
 initdostype:
         lda     $BF00
-        cmp     #$4C           ; Is MLI present? (JMP opcode)
+        cmp     #$4C            ; Is MLI present? (JMP opcode)
         bne     done
-        lda     KVERSION       ; ProDOS 8 kernel version
+        lda     KVERSION        ; ProDOS 8 kernel version
         cmp     #$10
         bcs     :+
-        ora     #$10           ; Make high nibble match major version
+        ora     #$10            ; Make high nibble match major version
 :       sta     __dos_type
 done:   rts
 
index 7a72cfc8577195ec2bc6fb80e75c2149042742c4..ecf78fc376a1b937183b143701839f6e4013e308 100644 (file)
@@ -5,48 +5,48 @@
 ; Ullrich von Bassewitz, 2002-12-02
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
-       .include        "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $65, $6d, $64           ; "emd"
-       .byte   EMD_API_VERSION         ; EM API version number
+        .byte   $65, $6d, $64           ; "emd"
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
-       .word   INSTALL
-       .word   DEINSTALL
-       .word   PAGECOUNT
-       .word   MAP
-       .word   USE
-       .word   COMMIT
-       .word   COPYFROM
-       .word   COPYTO
+        .word   INSTALL
+        .word   DEINSTALL
+        .word   PAGECOUNT
+        .word   MAP
+        .word   USE
+        .word   COMMIT
+        .word   COPYFROM
+        .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-BASE   = $0200
-AUXCARD        = $C30C                         ; Card signature
-AUXMOVE        = $C311                         ; Auxiliary move routine
-PAGES  = ($C000 - BASE) / 256
+BASE    = $0200
+AUXCARD = $C30C                         ; Card signature
+AUXMOVE = $C311                         ; Auxiliary move routine
+PAGES   = ($C000 - BASE) / 256
 
 ; ------------------------------------------------------------------------
 ; Data.
 
 .data
-curpage:       .byte   $FF             ; Current page number (invalid)
+curpage:        .byte   $FF             ; Current page number (invalid)
 
 .bss
-window:                .res    256             ; Memory "window"
+window:         .res    256             ; Memory "window"
 
 .code
 
@@ -58,15 +58,15 @@ window:             .res    256             ; Memory "window"
 ;
 
 INSTALL:
-       ldx     #0
-       lda     AUXCARD
-       and     #$f0
-       cmp     #$80
-       bne     @L1
-       lda     #EM_ERR_OK
-       rts
-@L1:   lda     #EM_ERR_NO_DEVICE
-;      rts
+        ldx     #0
+        lda     AUXCARD
+        and     #$f0
+        cmp     #$80
+        bne     @L1
+        lda     #EM_ERR_OK
+        rts
+@L1:    lda     #EM_ERR_NO_DEVICE
+;       rts
 
 ; ------------------------------------------------------------------------
 ; DEINSTALL routine. Is called before the driver is removed from memory.
@@ -74,7 +74,7 @@ INSTALL:
 ;
 
 DEINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -82,9 +82,9 @@ DEINSTALL:
 ;
 
 PAGECOUNT:
-       lda     #<PAGES
-       ldx     #>PAGES
-       rts
+        lda     #<PAGES
+        ldx     #>PAGES
+        rts
 
 ; ------------------------------------------------------------------------
 ; MAP: Map the page in a/x into memory and return a pointer to the page in
@@ -92,83 +92,83 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:   sta     curpage                 ; Remember the new page
+MAP:    sta     curpage                 ; Remember the new page
 
-       clc
-       adc     #>BASE
-       sta     ptr1+1
-       ldy     #$00
-       sty     ptr1
+        clc
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #$00
+        sty     ptr1
 
-       lda     #<window
-       sta     ptr2
-       lda     #>window
-       sta     ptr2+1
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
 ; Transfer one page
 
-       clc                             ; Direction flag
-       jsr     transfer                ; Transfer one page
+        clc                             ; Direction flag
+        jsr     transfer                ; Transfer one page
 
 ; Return the memory window
 
-       lda     #<window
-       ldx     #>window                ; Return the window address
+        lda     #<window
+        ldx     #>window                ; Return the window address
 
 ; Done
 
-done:  rts
+done:   rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
 
-USE:   sta     curpage                 ; Remember the page
-       lda     #<window
-       ldx     #>window                ; Return the window
-       rts
+USE:    sta     curpage                 ; Remember the page
+        lda     #<window
+        ldx     #>window                ; Return the window
+        rts
 
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
-COMMIT: lda    curpage                 ; Get the current page
-       cmp     #$FF
-       beq     done                    ; Jump if no page mapped
-
-       clc
-       adc     #>BASE
-       sta     ptr2+1
-       ldy     #$00
-       sty     ptr2
-
-       lda     #<window
-       sta     ptr1
-       lda     #>window
-       sta     ptr1+1
-       lda     #<$FF
-       sta     ptr4
-       lda     #>$FF
-       sta     ptr4+1
-       sec                             ; Direction flag
+COMMIT: lda     curpage                 ; Get the current page
+        cmp     #$FF
+        beq     done                    ; Jump if no page mapped
+
+        clc
+        adc     #>BASE
+        sta     ptr2+1
+        ldy     #$00
+        sty     ptr2
+
+        lda     #<window
+        sta     ptr1
+        lda     #>window
+        sta     ptr1+1
+        lda     #<$FF
+        sta     ptr4
+        lda     #>$FF
+        sta     ptr4+1
+        sec                             ; Direction flag
 
 ; Transfer one page/all bytes
 
 transfer:
-       php
-       clc
-       lda     ptr1
-       sta     $3C
-       adc     ptr4
-       sta     $3E
-       lda     ptr1+1
-       sta     $3D
-       adc     ptr4+1
-       sta     $3F
-       lda     ptr2
-       sta     $42
-       lda     ptr2+1
-       sta     $43
-       plp
-       jmp     AUXMOVE
+        php
+        clc
+        lda     ptr1
+        sta     $3C
+        adc     ptr4
+        sta     $3E
+        lda     ptr1+1
+        sta     $3D
+        adc     ptr4+1
+        sta     $3F
+        lda     ptr2
+        sta     $42
+        lda     ptr2+1
+        sta     $43
+        plp
+        jmp     AUXMOVE
 
 ; ------------------------------------------------------------------------
 ; COPYFROM: Copy from extended into linear memory. A pointer to a structure
@@ -177,34 +177,34 @@ transfer:
 ;
 
 COPYFROM:
-       sta     ptr3
-       stx     ptr3+1                  ; Save the passed em_copy pointer
-
-       ldy     #EM_COPY::OFFS
-       lda     (ptr3),y
-       sta     ptr1
-       ldy     #EM_COPY::PAGE
-       lda     (ptr3),y
-       clc
-       adc     #>BASE
-       sta     ptr1+1                  ; From
-
-       ldy     #EM_COPY::BUF
-       lda     (ptr3),y
-       sta     ptr2
-       iny
-       lda     (ptr3),y
-       sta     ptr2+1                  ; To
-       clc                             ; Direction flag
-
-common: ldy    #EM_COPY::COUNT
-       lda     (ptr3),y                ; Get bytes in last page
-       sta     ptr4
-       iny
-       lda     (ptr3),y                ; Get number of pages
-       sta     ptr4+1
-
-       jmp     transfer
+        sta     ptr3
+        stx     ptr3+1                  ; Save the passed em_copy pointer
+
+        ldy     #EM_COPY::OFFS
+        lda     (ptr3),y
+        sta     ptr1
+        ldy     #EM_COPY::PAGE
+        lda     (ptr3),y
+        clc
+        adc     #>BASE
+        sta     ptr1+1                  ; From
+
+        ldy     #EM_COPY::BUF
+        lda     (ptr3),y
+        sta     ptr2
+        iny
+        lda     (ptr3),y
+        sta     ptr2+1                  ; To
+        clc                             ; Direction flag
+
+common: ldy     #EM_COPY::COUNT
+        lda     (ptr3),y                ; Get bytes in last page
+        sta     ptr4
+        iny
+        lda     (ptr3),y                ; Get number of pages
+        sta     ptr4+1
+
+        jmp     transfer
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -212,24 +212,24 @@ common: ldy       #EM_COPY::COUNT
 ; The function must not return anything.
 ;
 
-COPYTO: sta    ptr3
-       stx     ptr3+1                  ; Save the passed em_copy pointer
-
-       ldy     #EM_COPY::OFFS
-       lda     (ptr3),y
-       sta     ptr2
-       ldy     #EM_COPY::PAGE
-       lda     (ptr3),y
-       clc
-       adc     #>BASE
-       sta     ptr2+1                  ; To
-
-       ldy     #EM_COPY::BUF
-       lda     (ptr3),y
-       sta     ptr1
-       iny
-       lda     (ptr3),y
-       sta     ptr1+1                  ; From
-
-       sec                             ; Direction flag
-       jmp     common
+COPYTO: sta     ptr3
+        stx     ptr3+1                  ; Save the passed em_copy pointer
+
+        ldy     #EM_COPY::OFFS
+        lda     (ptr3),y
+        sta     ptr2
+        ldy     #EM_COPY::PAGE
+        lda     (ptr3),y
+        clc
+        adc     #>BASE
+        sta     ptr2+1                  ; To
+
+        ldy     #EM_COPY::BUF
+        lda     (ptr3),y
+        sta     ptr1
+        iny
+        lda     (ptr3),y
+        sta     ptr1+1                  ; From
+
+        sec                             ; Direction flag
+        jmp     common
index 2660b6f86817a5a910ebb260ed4b86c06e4f5eed..914e10c50e0e70666dcd84ae770ac7d8c3ccf1cb 100644 (file)
 ; int __fastcall__ exec (const char* progname, const char* cmdline);
 ;
 
-        .export        _exec
-        .import                pushname, popname
-        .import                popax, done, _exit
+        .export         _exec
+        .import         pushname, popname
+        .import         popax, done, _exit
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "apple2.inc"
-        .include       "mli.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "apple2.inc"
+        .include        "mli.inc"
 
         ; Wrong file type
-typerr: lda    #$4A            ; "Incompatible file format"
+typerr: lda     #$4A            ; "Incompatible file format"
 
         ; Cleanup name
-oserr:  jsr    popname         ; Preserves A
+oserr:  jsr     popname         ; Preserves A
         
         ; Set __oserror
-        jmp    __mappederrno
+        jmp     __mappederrno
 
 _exec:
         ; Get and push name
-        jsr    popax
-        jsr    pushname
-        bne    oserr
+        jsr     popax
+        jsr     pushname
+        bne     oserr
 
         ; Set pushed name
-        lda    sp
-        ldx    sp+1
-        sta    mliparam + MLI::INFO::PATHNAME
-        stx    mliparam + MLI::INFO::PATHNAME+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::INFO::PATHNAME
+        stx     mliparam + MLI::INFO::PATHNAME+1
 
         ; Get file_type and aux_type
-        lda    #GET_INFO_CALL
-        ldx    #GET_INFO_COUNT
-        jsr    callmli
-        bcs    oserr
+        lda     #GET_INFO_CALL
+        ldx     #GET_INFO_COUNT
+        jsr     callmli
+        bcs     oserr
 
         ; If we get here the program file at least exists so we copy
         ; the loader stub right now and patch it later to set params
-        ldx    #size - 1
-:       lda    source,x
-        sta    target,x
+        ldx     #size - 1
+:       lda     source,x
+        sta     target,x
         dex
-        bpl    :-
+        bpl     :-
 
         ; Check program file type
-        lda    mliparam + MLI::INFO::FILE_TYPE
-        cmp    #$FF            ; SYS file?
-        bne    binary          ; No, check for BIN file
+        lda     mliparam + MLI::INFO::FILE_TYPE
+        cmp     #$FF            ; SYS file?
+        bne     binary          ; No, check for BIN file
 
         ; ProDOS TechRefMan, chapter 5.1.5.1:
         ; "The complete or partial pathname of the system program
         ;  is stored at $280, starting with a length byte."
-        ldy    #$00
-        lda    (sp),y
+        ldy     #$00
+        lda     (sp),y
         tay
-:       lda    (sp),y
-        sta    $0280,y
+:       lda     (sp),y
+        sta     $0280,y
         dey
-        bpl    :-
+        bpl     :-
         
         ; SYS programs replace BASIC.SYSTEM so set in the ProDOS system bit map
         ; protection for pages $80 - $BF just in case BASIC.SYSTEM is there now
-        ldx    #$0F            ; Start with protection for pages $B8 - $BF
-        lda    #%00000001      ; Protect only system global page
-:       sta    $BF60,x         ; Set protection for 8 pages
-        lda    #$00            ; Protect no page
+        ldx     #$0F            ; Start with protection for pages $B8 - $BF
+        lda     #%00000001      ; Protect only system global page
+:       sta     $BF60,x         ; Set protection for 8 pages
+        lda     #$00            ; Protect no page
         dex
-        bpl    :-
-        bmi    prodos          ; Branch always
+        bpl     :-
+        bmi     prodos          ; Branch always
 
-binary: cmp    #$06            ; BIN file?
-        bne    typerr          ; No, wrong file type
+binary: cmp     #$06            ; BIN file?
+        bne     typerr          ; No, wrong file type
 
         ; Set BIN program load addr
-        lda    mliparam + MLI::INFO::AUX_TYPE
-        ldx    mliparam + MLI::INFO::AUX_TYPE+1
-        sta    data_buffer
-        stx    data_buffer+1
+        lda     mliparam + MLI::INFO::AUX_TYPE
+        ldx     mliparam + MLI::INFO::AUX_TYPE+1
+        sta     data_buffer
+        stx     data_buffer+1
 
         ; Check ProDOS system bit map for presence of BASIC.SYSTEM
-        lda    $BF6F           ; Protection for pages $B8 - $BF
-        cmp    #%00000001      ; Exactly system global page is protected
-        beq    setvec
+        lda     $BF6F           ; Protection for pages $B8 - $BF
+        cmp     #%00000001      ; Exactly system global page is protected
+        beq     setvec
 
         ; Get highest available mem addr from BASIC.SYSTEM
-        ldx    HIMEM+1         ; High byte
-        bne    setbuf          ; Branch always
+        ldx     HIMEM+1         ; High byte
+        bne     setbuf          ; Branch always
 
         ; BIN programs are supposed to quit through one of the two DOS
         ; vectors so we set up those to point to the ProDOS dispatcher
-setvec: ldx    #$03 - 1        ; Size of JMP opcode
-:       lda    dosvec,x
-        sta    DOSWARM,x       ; DOS warm start
-        sta    DOSWARM + 3,x   ; DOS cold start
+setvec: ldx     #$03 - 1        ; Size of JMP opcode
+:       lda     dosvec,x
+        sta     DOSWARM,x       ; DOS warm start
+        sta     DOSWARM + 3,x   ; DOS cold start
         dex
-        bpl    :-
+        bpl     :-
 
         ; No BASIC.SYSTEM so use addr of ProDOS system global page
-prodos: ldx    #>$BF00         ; High byte
+prodos: ldx     #>$BF00         ; High byte
 
         ; The I/O buffer needs to be page aligned
-setbuf: lda    #$00            ; Low byte
+setbuf: lda     #$00            ; Low byte
 
         ; The I/O buffer needs four pages
         dex
@@ -114,109 +114,109 @@ setbuf: lda     #$00            ; Low byte
         dex
         
         ; Set I/O buffer
-        sta    mliparam + MLI::OPEN::IO_BUFFER
-        stx    mliparam + MLI::OPEN::IO_BUFFER+1
+        sta     mliparam + MLI::OPEN::IO_BUFFER
+        stx     mliparam + MLI::OPEN::IO_BUFFER+1
 
         ; PATHNAME already set
         .assert MLI::OPEN::PATHNAME = MLI::INFO::PATHNAME, error
 
         ; Lower file level to avoid program file
         ; being closed by C libary shutdown code
-        ldx    LEVEL
-        stx    level
-        beq    :+
-        dec    LEVEL
+        ldx     LEVEL
+        stx     level
+        beq     :+
+        dec     LEVEL
         
         ; Open file
-:       lda    #OPEN_CALL
-        ldx    #OPEN_COUNT
-        jsr    callmli
+:       lda     #OPEN_CALL
+        ldx     #OPEN_COUNT
+        jsr     callmli
 
         ; Restore file level
-        ldx    level
-        stx    LEVEL
-        bcc    :+
-        jmp    oserr
+        ldx     level
+        stx     LEVEL
+        bcc     :+
+        jmp     oserr
 
         ; Get and save fd
-:       lda    mliparam + MLI::OPEN::REF_NUM
-        sta    read_ref
-        sta    close_ref
+:       lda     mliparam + MLI::OPEN::REF_NUM
+        sta     read_ref
+        sta     close_ref
 
         .ifdef  __APPLE2ENH__
         ; Calling the 80 column firmware needs the ROM switched
         ; in, otherwise it copies the F8 ROM to the LC (@ $CEF4)
-        bit    $C082
+        bit     $C082
 
         ; ProDOS TechRefMan, chapter 5.3.1.3:
         ; "80-column text cards -- and other Apple IIe features -- can
         ;  be turned off using the following sequence of instructions:"
-        lda    #$15
-        jsr    $C300
+        lda     #$15
+        jsr     $C300
 
         ; Switch in LC bank 2 for R/O
-        bit    $C080
+        bit     $C080
         .endif
 
         ; Call loader stub after C libary shutdown
-        lda    #<target
-        ldx    #>target
-        sta    done
-        stx    done+1
+        lda     #<target
+        ldx     #>target
+        sta     done
+        stx     done+1
 
         ; Initiate C libary shutdown
-        jmp    _exit
+        jmp     _exit
 
         .bss
 
-level : .res   1
+level : .res    1
 
         .rodata
 
         ; Read whole program file
-source: jsr    $BF00
-        .byte  READ_CALL
-        .word  read_param
-        bcs    :+
+source: jsr     $BF00
+        .byte   READ_CALL
+        .word   read_param
+        bcs     :+
 
         ; Close program file
-        jsr    $BF00
-        .byte  CLOSE_CALL
-        .word  close_param
-        bcs    :+
+        jsr     $BF00
+        .byte   CLOSE_CALL
+        .word   close_param
+        bcs     :+
 
         ; Go for it ...
-        jmp    (data_buffer)
+        jmp     (data_buffer)
 
 read_param      = * - source + target
-        .byte  $04             ; PARAM_COUNT
+        .byte   $04             ; PARAM_COUNT
 read_ref        = * - source + target
-        .byte  $00             ; REF_NUM
+        .byte   $00             ; REF_NUM
 data_buffer     = * - source + target
-        .addr  $2000           ; DATA_BUFFER
-        .word  $FFFF           ; REQUEST_COUNT
-        .word  $0000           ; TRANS_COUNT
+        .addr   $2000           ; DATA_BUFFER
+        .word   $FFFF           ; REQUEST_COUNT
+        .word   $0000           ; TRANS_COUNT
 
 close_param     = * - source + target
-        .byte  $01             ; PARAM_COUNT
+        .byte   $01             ; PARAM_COUNT
 close_ref       = * - source + target
-        .byte  $00             ; REF_NUM
+        .byte   $00             ; REF_NUM
 
         ; Quit to ProDOS dispatcher
 quit            = * - source + target
-:       jsr    $BF00
-        .byte  $65             ; QUIT
-        .word  quit_param
+:       jsr     $BF00
+        .byte   $65             ; QUIT
+        .word   quit_param
 
 quit_param      = * - source + target
-        .byte  $04             ; PARAM_COUNT
-        .byte  $00             ; QUIT_TYPE
-        .word  $0000           ; RESERVED
-        .byte  $00             ; RESERVED
-        .word  $0000           ; RESERVED
+        .byte   $04             ; PARAM_COUNT
+        .byte   $00             ; QUIT_TYPE
+        .word   $0000           ; RESERVED
+        .byte   $00             ; RESERVED
+        .word   $0000           ; RESERVED
 
 size            = * - source
 
 target          = DOSWARM - size
 
-dosvec: jmp    quit
+dosvec: jmp     quit
index f66b14a5c8c6d9f3d3edfb6263d0e3b6c986abf3..eb05e66bee1e5080b2af7dd8a11e57efd29552de 100644 (file)
@@ -5,12 +5,12 @@
 ; containing the load address and load length.
 ;
 
-        .export         __EXEHDR__ : absolute = 1      ; Linker referenced
-        .import                __LOADADDR__, __LOADSIZE__      ; Linker generated
+        .export         __EXEHDR__ : absolute = 1       ; Linker referenced
+        .import         __LOADADDR__, __LOADSIZE__      ; Linker generated
 
 ; ------------------------------------------------------------------------
 
         .segment        "EXEHDR"
 
-        .addr           __LOADADDR__   ; Load address
-        .word           __LOADSIZE__   ; Load length
+        .addr           __LOADADDR__    ; Load address
+        .word           __LOADSIZE__    ; Load length
index 69fd6a6573ec38aa021eb0c848b3be7c43f34787..7951ccbb082780da77fc814b67c0a8d75a6bcecc 100644 (file)
@@ -5,16 +5,16 @@
 ; location $0800 and the cc65 program start address
 ;
 
-        .constructor   initiobuf
-        .export                iobuf_alloc, iobuf_free
-        .import                __STARTUP_RUN__
-        .import                incsp2, popax
+        .constructor    initiobuf
+        .export         iobuf_alloc, iobuf_free
+        .import         __STARTUP_RUN__
+        .import         incsp2, popax
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "../filedes.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "../filedes.inc"
 
-        .segment       "INIT"
+        .segment        "INIT"
 
 initiobuf:
         ; Convert end address highbyte to table index
@@ -40,10 +40,10 @@ initiobuf:
 
 iobuf_alloc:
         ; Get and save "memptr"
-       jsr     incsp2
-       jsr     popax
-       sta     ptr1
-       stx     ptr1+1
+        jsr     incsp2
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1
 
         ; Search table for free entry
         ldx     #$00
@@ -67,11 +67,11 @@ iobuf_alloc:
         adc     #>$0800
 
         ; Store address in "memptr"
-       ldy     #$01
-       sta     (ptr1),y
-       dey
-       tya
-       sta     (ptr1),y
+        ldy     #$01
+        sta     (ptr1),y
+        dey
+        tya
+        sta     (ptr1),y
         rts
 
 iobuf_free:
@@ -86,7 +86,7 @@ iobuf_free:
         tax
         lda     #$00
         sta     table,x
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 
index e177acbe45377fd974356ff7bcd3c877413c8f6d..04b4416e9ed82c0842ebeeff81230620f5cbc022 100644 (file)
@@ -4,18 +4,18 @@
 ; File descriptor management for the POSIX I/O routines
 ;
 
-        .include       "errno.inc"
-        .include       "fcntl.inc"
-        .include       "filedes.inc"
+        .include        "errno.inc"
+        .include        "fcntl.inc"
+        .include        "filedes.inc"
 
 getfd:
         ; Check for handle >= 256
-        cpx    #$00
-        bne    error
+        cpx     #$00
+        bne     error
 
         ; Check for handle >= MAX_FDS
-        cmp    #MAX_FDS
-        bcs    error
+        cmp     #MAX_FDS
+        bcs     error
 
         ; Convert handle to fdtab slot
         .assert .sizeof(FD) = 4, error
@@ -24,15 +24,15 @@ getfd:
 
         ; Check for fdtab slot in use
         tay
-        lda    fdtab + FD::REF_NUM,y
-        beq    error
+        lda     fdtab + FD::REF_NUM,y
+        beq     error
 
         ; Return success
         clc
         rts
 
         ; Load errno code and return error
-error:  lda    #EINVAL
+error:  lda     #EINVAL
         sec
         rts
 
@@ -40,16 +40,16 @@ error:  lda #EINVAL
 
 fdtab:  .assert .sizeof(FD) = 4, error
 
-        .byte  $80             ; STDIN_FILENO ::REF_NUM
-        .byte  O_RDONLY        ; STDIN_FILENO ::FLAGS
-        .addr  $0000           ; STDIN_FILENO ::BUFFER
+        .byte   $80             ; STDIN_FILENO ::REF_NUM
+        .byte   O_RDONLY        ; STDIN_FILENO ::FLAGS
+        .addr   $0000           ; STDIN_FILENO ::BUFFER
 
-        .byte  $80             ; STDOUT_FILENO::REF_NUM
-        .byte  O_WRONLY        ; STDOUT_FILENO::FLAGS
-        .addr  $0000           ; STDOUT_FILENO::BUFFER
+        .byte   $80             ; STDOUT_FILENO::REF_NUM
+        .byte   O_WRONLY        ; STDOUT_FILENO::FLAGS
+        .addr   $0000           ; STDOUT_FILENO::BUFFER
 
-        .byte  $80             ; STDERR_FILENO::REF_NUM
-        .byte  O_WRONLY        ; STDERR_FILENO::FLAGS
-        .addr  $0000           ; STDERR_FILENO::BUFFER
+        .byte   $80             ; STDERR_FILENO::REF_NUM
+        .byte   O_WRONLY        ; STDERR_FILENO::FLAGS
+        .addr   $0000           ; STDERR_FILENO::BUFFER
 
-        .res   (MAX_FDS - 3) * .sizeof(FD)
+        .res    (MAX_FDS - 3) * .sizeof(FD)
index 1bf17af501699d3b48346903756a55ba074804f7..aaef6ec2dcc4f4fff580aa18287857830e3eed2b 100644 (file)
@@ -4,88 +4,88 @@
 ; File name handling for ProDOS 8 file I/O
 ;
 
-        .export        pushname, popname
-        .import                subysp, addysp, decsp1
+        .export         pushname, popname
+        .import         subysp, addysp, decsp1
 
-        .include       "zeropage.inc"
-        .include       "mli.inc"
+        .include        "zeropage.inc"
+        .include        "mli.inc"
 
 pushname:
-        sta    ptr1
-        stx    ptr1+1
+        sta     ptr1
+        stx     ptr1+1
 
         ; Alloc pathname buffer
-        ldy    #64+1           ; Max pathname length + zero
-        jsr    subysp
+        ldy     #64+1           ; Max pathname length + zero
+        jsr     subysp
 
         ; Check for full pathname
-        ldy    #$00
-        lda    (ptr1),y
-        cmp    #'/'
-        beq    copy
+        ldy     #$00
+        lda     (ptr1),y
+        cmp     #'/'
+        beq     copy
 
         ; Check for system prefix
-        lda    PFIXPTR
-        bne    copy
+        lda     PFIXPTR
+        bne     copy
 
         ; Use unit number of most recent accessed device
-        lda    DEVNUM
-        sta    mliparam + MLI::ON_LINE::UNIT_NUM
+        lda     DEVNUM
+        sta     mliparam + MLI::ON_LINE::UNIT_NUM
 
         ; Use allocated pathname buffer
-        lda    sp
-        ldx    sp+1
-        sta    mliparam + MLI::ON_LINE::DATA_BUFFER
-        stx    mliparam + MLI::ON_LINE::DATA_BUFFER+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::ON_LINE::DATA_BUFFER
+        stx     mliparam + MLI::ON_LINE::DATA_BUFFER+1
 
         ; Get volume name
-        lda    #ON_LINE_CALL
-        ldx    #ON_LINE_COUNT
-        jsr    callmli
-        bcs    addsp65
+        lda     #ON_LINE_CALL
+        ldx     #ON_LINE_COUNT
+        jsr     callmli
+        bcs     addsp65
 
         ; Get volume name length
-        lda    (sp),y
-        and    #15             ; Max volume name length
+        lda     (sp),y
+        and     #15             ; Max volume name length
 
         ; Bracket volume name with slashes to form prefix
-        sta    tmp1
-        lda    #'/'
-        sta    (sp),y
-        ldy    tmp1
-        iny                    ; Leading slash
-        sta    (sp),y
-        iny                    ; Trailing slash
+        sta     tmp1
+        lda     #'/'
+        sta     (sp),y
+        ldy     tmp1
+        iny                     ; Leading slash
+        sta     (sp),y
+        iny                     ; Trailing slash
 
         ; Adjust source pointer for copy
-        sty    tmp1
-        lda    ptr1
+        sty     tmp1
+        lda     ptr1
         sec
-        sbc    tmp1
-        bcs    :+
-        dec    ptr1+1
-:       sta    ptr1
+        sbc     tmp1
+        bcs     :+
+        dec     ptr1+1
+:       sta     ptr1
 
         ; Copy source to allocated pathname buffer
-copy:   lda    (ptr1),y
-        sta    (sp),y
-        beq    setlen
+copy:   lda     (ptr1),y
+        sta     (sp),y
+        beq     setlen
         iny
-        cpy    #64+1           ; Max pathname length + zero
-        bcc    copy
+        cpy     #64+1           ; Max pathname length + zero
+        bcc     copy
 
         ; Load oserror code
-        lda    #$40            ; "Invalid pathname"
+        lda     #$40            ; "Invalid pathname"
 
         ; Free pathname buffer
 addsp65:ldy     #64+1
-        bne    addsp           ; Branch always
+        bne     addsp           ; Branch always
 
         ; Alloc and set length byte
 setlen: tya
-        jsr    decsp1          ; Preserves A
-        ldy    #$00
-        sta    (sp),y
+        jsr     decsp1          ; Preserves A
+        ldy     #$00
+        sta     (sp),y
 
         ; Return success
         tya
@@ -93,5 +93,5 @@ setlen: tya
 
 popname:
         ; Cleanup stack
-        ldy    #1 + 64+1       ; Length byte + max pathname length + zero
-addsp:  jmp    addysp          ; Preserves A
+        ldy     #1 + 64+1       ; Length byte + max pathname length + zero
+addsp:  jmp     addysp          ; Preserves A
index a041c3477a589a0163efc620c1c518b250ca6fbf..68ae865ac44b963c7db369eca12eecf14634e8e7 100644 (file)
@@ -24,38 +24,38 @@ nogs:   ldx     #$FF
 next:   inx
         lda     value,x
         ldy     index,x
-        beq     done           ; $00 is no valid index
+        beq     done            ; $00 is no valid index
         cmp     $FB00,y
         beq     next
 :       inx
         ldy     index,x
         bne     :-
-        beq     next           ; Branch always
+        beq     next            ; Branch always
 
-index:  .byte   $B3, $00               ; Apple ][
-        .byte   $B3, $1E, $00          ; Apple ][+
-        .byte   $B3, $1E, $00          ; Apple /// (emulation)
-        .byte   $B3, $C0, $00          ; Apple //e
-        .byte   $B3, $C0, $DD, $BE, $00        ; Apple //e Option Card
-        .byte   $B3, $C0, $00          ; Apple //e (enhanced)
-        .byte   $B3, $C0, $BF, $00     ; Apple //c
-        .byte   $B3, $C0, $BF, $00     ; Apple //c (3.5 ROM)
-        .byte   $B3, $C0, $BF, $00     ; Apple //c (Mem. Exp.)
-        .byte   $B3, $C0, $BF, $00     ; Apple //c (Rev. Mem. Exp.)
-        .byte   $B3, $C0, $BF, $00     ; Apple //c Plus
+index:  .byte   $B3, $00                ; Apple ][
+        .byte   $B3, $1E, $00           ; Apple ][+
+        .byte   $B3, $1E, $00           ; Apple /// (emulation)
+        .byte   $B3, $C0, $00           ; Apple //e
+        .byte   $B3, $C0, $DD, $BE, $00 ; Apple //e Option Card
+        .byte   $B3, $C0, $00           ; Apple //e (enhanced)
+        .byte   $B3, $C0, $BF, $00      ; Apple //c
+        .byte   $B3, $C0, $BF, $00      ; Apple //c (3.5 ROM)
+        .byte   $B3, $C0, $BF, $00      ; Apple //c (Mem. Exp.)
+        .byte   $B3, $C0, $BF, $00      ; Apple //c (Rev. Mem. Exp.)
+        .byte   $B3, $C0, $BF, $00      ; Apple //c Plus
         .byte   $00
 
-value:  .byte   $38, $10               ; Apple ][
-        .byte   $EA, $AD, $11          ; Apple ][+
-        .byte   $EA, $8A, $20          ; Apple /// (emulation)
-        .byte   $06, $EA, $30          ; Apple //e
-        .byte   $06, $E0, $02, $00, $40        ; Apple //e Option Card
-        .byte   $06, $E0, $31          ; Apple //e (enhanced)
-        .byte   $06, $00, $FF, $50     ; Apple //c
-        .byte   $06, $00, $00, $51     ; Apple //c (3.5 ROM)
-        .byte   $06, $00, $03, $53     ; Apple //c (Mem. Exp.)
-        .byte   $06, $00, $04, $54     ; Apple //c (Rev. Mem. Exp.)
-        .byte   $06, $00, $05, $55     ; Apple //c Plus
+value:  .byte   $38, $10                ; Apple ][
+        .byte   $EA, $AD, $11           ; Apple ][+
+        .byte   $EA, $8A, $20           ; Apple /// (emulation)
+        .byte   $06, $EA, $30           ; Apple //e
+        .byte   $06, $E0, $02, $00, $40 ; Apple //e Option Card
+        .byte   $06, $E0, $31           ; Apple //e (enhanced)
+        .byte   $06, $00, $FF, $50      ; Apple //c
+        .byte   $06, $00, $00, $51      ; Apple //c (3.5 ROM)
+        .byte   $06, $00, $03, $53      ; Apple //c (Mem. Exp.)
+        .byte   $06, $00, $04, $54      ; Apple //c (Rev. Mem. Exp.)
+        .byte   $06, $00, $05, $55      ; Apple //c Plus
         .byte   $00
 
         .code
index 0c6c800be1528ee2f48c7d94192c21b55d4d41c4..dc96ac75e29ccc6c06c27bd9c2db851c4dca5027 100644 (file)
 _gotoxy:
         clc
         adc     WNDTOP
-        sta     CV             ; Store Y
+        sta     CV              ; Store Y
         jsr     VTABZ
-        jsr     popa           ; Get X
+        jsr     popa            ; Get X
 
 _gotox:
-        sta     CH             ; Store X
+        sta     CH              ; Store X
         rts
index 66d929c34af8133e45badbeba4568b5d58f46544..707b8fc50205804efed9d25b9a205b5657679212 100644 (file)
@@ -12,7 +12,7 @@
 _gotoy:
         clc
         adc     WNDTOP
-        sta     CV             ; Store Y
+        sta     CV              ; Store Y
         jmp     VTABZ
 
 
index de5334c93709514caf918e58faa07a77db7f853d..02899beb49bceef54d1baea2fe4a2e415c203ca7 100644 (file)
@@ -4,17 +4,17 @@
 ; HOME routine
 ;
 
-       .export         HOME
+        .export         HOME
 
-       .include        "apple2.inc"
+        .include        "apple2.inc"
 
-       .segment        "LOWCODE"
+        .segment        "LOWCODE"
 
 HOME:
-       ; Switch in ROM and call HOME
-       bit     $C082
-       jsr     $FC58           ; Clear current text screen
+        ; Switch in ROM and call HOME
+        bit     $C082
+        jsr     $FC58           ; Clear current text screen
 
-       ; Switch in LC bank 2 for R/O and return
-       bit     $C080
-       rts
+        ; Switch in LC bank 2 for R/O and return
+        bit     $C080
+        rts
index 6ed914ca63e7582292ab35dce991ef027512b467..044076e3ff4143b63e7f7dabd76037695e016343 100644 (file)
@@ -3,15 +3,15 @@
 ;
 
         .export         initcwd
-        .import                __cwd
+        .import         __cwd
 
-        .include       "zeropage.inc"
+        .include        "zeropage.inc"
         .include        "mli.inc"
 
 initcwd:
         ; Set static prefix buffer
-        lda    #<__cwd
-        ldx    #>__cwd
+        lda     #<__cwd
+        ldx     #>__cwd
         sta     mliparam + MLI::PREFIX::PATHNAME
         stx     mliparam + MLI::PREFIX::PATHNAME+1
 
@@ -21,20 +21,20 @@ initcwd:
         jsr     callmli
 
         ; Check for null prefix
-       lda     __cwd
-       beq     done
+        lda     __cwd
+        beq     done
 
-       ; Remove length byte and trailing slash
-       sta     tmp1
-       ldx     #$01
-:      lda     __cwd,x
-       sta     __cwd - 1,x
-       inx
-       cpx     tmp1
-       bcc     :-
+        ; Remove length byte and trailing slash
+        sta     tmp1
+        ldx     #$01
+:       lda     __cwd,x
+        sta     __cwd - 1,x
+        inx
+        cpx     tmp1
+        bcc     :-
 
-       ; Add terminating zero
-       lda     #$00
-       sta     __cwd - 1,x
-       
-done:  rts
+        ; Add terminating zero
+        lda     #$00
+        sta     __cwd - 1,x
+        
+done:   rts
index 88a4503d0815bbf1b4944efd808fa0fdab4ec84e..77433ce616729e6cf4c318871712f4b8d2d89546 100644 (file)
@@ -4,8 +4,8 @@
 ; Default ProDOS 8 I/O buffer management
 ; 
 
-        .export                iobuf_alloc, iobuf_free
-        .import                _posix_memalign, _free
+        .export         iobuf_alloc, iobuf_free
+        .import         _posix_memalign, _free
 
 iobuf_alloc := _posix_memalign
 iobuf_free  := _free
index 1608f5accfaee60ebd03bcd99b433b5d113b1175..eecdd6a8ab3445f1a62a8eee38fd1690bb906b05 100644 (file)
@@ -7,9 +7,9 @@
 ; Using the readjoy code from Stefan Haubenthal
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "apple2.inc"
 
 
 ; Constants
 
-THRESHOLD =    20      ; Deviation from center triggering movement
+THRESHOLD =     20      ; Deviation from center triggering movement
 
 ; ------------------------------------------------------------------------
 
 ; ROM entry points
 
-PREAD          :=      $FB1E   ; Read paddle in X, return AD conv. value in Y
+PREAD   :=      $FB1E   ; Read paddle in X, return AD conv. value in Y
 
 ; ------------------------------------------------------------------------
 
 ; Header. Includes jump table.
 
-       .segment        "JUMPTABLE"
+        .segment        "JUMPTABLE"
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79  ; "joy"
-        .byte   JOY_API_VERSION        ; Driver API version number
+        .byte   $6A, $6F, $79   ; "joy"
+        .byte   JOY_API_VERSION ; Driver API version number
 
 ; Button state masks (8 values)
 
@@ -57,7 +57,7 @@ PREAD         :=      $FB1E   ; Read paddle in X, return AD conv. value in Y
 
 ; ------------------------------------------------------------------------
 
-       .code
+        .code
 
 ; INSTALL routine. Is called after the driver is loaded into memory. If
 ; possible, check if the hardware is present and determine the amount of
@@ -66,7 +66,7 @@ PREAD         :=      $FB1E   ; Read paddle in X, return AD conv. value in Y
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-       ; Fall through
+        ; Fall through
 
 ; UNINSTALL routine. Is called before the driver is removed from memory.
 ; Can do cleanup or whatever. Must not return anything.
@@ -75,55 +75,55 @@ UNINSTALL:
 
 ; COUNT: Return the total number of available joysticks in a/x.
 COUNT:
-        lda     #$02           ; Number of joysticks we support
+        lda     #$02            ; Number of joysticks we support
         ldx     #$00
         rts
 
 ; READ: Read a particular joystick passed in A.
 READJOY:
-        bit    $C082           ; Switch in ROM
-       and     #$01            ; Restrict joystick number
+        bit     $C082           ; Switch in ROM
+        and     #$01            ; Restrict joystick number
 
-       ; Read horizontal paddle
-       asl                     ; Joystick number -> paddle number
-       tax                     ; Set paddle number (0, 2)
+        ; Read horizontal paddle
+        asl                     ; Joystick number -> paddle number
+        tax                     ; Set paddle number (0, 2)
         jsr     PREAD           ; Read paddle value
-        lda    #$00            ; 0 0 0 0 0 0 0 0
+        lda     #$00            ; 0 0 0 0 0 0 0 0
         cpy     #127 - THRESHOLD
-        ror                    ; !LEFT 0 0 0 0 0 0 0
+        ror                     ; !LEFT 0 0 0 0 0 0 0
         cpy     #127 + THRESHOLD
-        ror                    ; RIGHT !LEFT 0 0 0 0 0 0
+        ror                     ; RIGHT !LEFT 0 0 0 0 0 0
 
-       ; Read vertical paddle
+        ; Read vertical paddle
         pha
-        inx                    ; Set paddle number (1, 3)
+        inx                     ; Set paddle number (1, 3)
         jsr     PREAD           ; Read paddle value
         pla
         cpy     #127 - THRESHOLD
-        ror                    ; !UP RIGHT !LEFT 0 0 0 0 0
+        ror                     ; !UP RIGHT !LEFT 0 0 0 0 0
         cpy     #127 + THRESHOLD
-        ror                    ; DOWN !UP RIGHT !LEFT 0 0 0 0
+        ror                     ; DOWN !UP RIGHT !LEFT 0 0 0 0
 
-       ; Read primary button
-       tay
-        lda     BUTN0-1,x      ; Check button (1, 3)
+        ; Read primary button
+        tay
+        lda     BUTN0-1,x       ; Check button (1, 3)
         asl
         tya
-        ror                    ; FIRE DOWN !UP RIGHT !LEFT 0 0 0
-
-       ; Read secondary button
-       tay
-       inx
-       txa
-       and     #$03            ; IIgs has fourth button at TAPEIN
-       tax
-        lda     BUTN0-1,x      ; Check button (2, 0)
+        ror                     ; FIRE DOWN !UP RIGHT !LEFT 0 0 0
+
+        ; Read secondary button
+        tay
+        inx
+        txa
+        and     #$03            ; IIgs has fourth button at TAPEIN
+        tax
+        lda     BUTN0-1,x       ; Check button (2, 0)
         asl
         tya
-       ror                     ; FIRE2 FIRE DOWN !UP RIGHT !LEFT 0 0
+        ror                     ; FIRE2 FIRE DOWN !UP RIGHT !LEFT 0 0
 
-       ; Finalize
+        ; Finalize
         eor     #%00010100      ; FIRE2 FIRE DOWN UP RIGHT LEFT 0 0
         ldx     #$00
-       bit     $C080           ; Switch in LC bank 2 for R/O
+        bit     $C080           ; Switch in LC bank 2 for R/O
         rts
index bf6b0f53ca0f2902ecaf5789a8ff283ee426a16a..d129020bd81807e05c3a1e9ad1ff7c67c65be101 100644 (file)
@@ -6,16 +6,16 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .ifdef __APPLE2ENH__
-        .import        _a2e_stdjoy_joy
+        .export _joy_static_stddrv
+        .ifdef  __APPLE2ENH__
+        .import _a2e_stdjoy_joy
         .else
-        .import        _a2_stdjoy_joy
+        .import _a2_stdjoy_joy
         .endif
 
 .rodata
 
-        .ifdef __APPLE2ENH__
+        .ifdef  __APPLE2ENH__
 _joy_static_stddrv := _a2e_stdjoy_joy
         .else
 _joy_static_stddrv := _a2_stdjoy_joy
index e4a360daba15d9f9f0cf8794e455a316c404ed1f..0c3bf677bdb7d3d80c823c9ccb01734a2c4041fc 100644 (file)
@@ -6,14 +6,14 @@
 ; const char joy_stddrv[];
 ;
 
-        .export        _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
 _joy_stddrv:
-        .ifdef __APPLE2ENH__
-        .asciiz        "A2E.STDJOY.JOY"
+        .ifdef  __APPLE2ENH__
+        .asciiz "A2E.STDJOY.JOY"
         .else
-        .asciiz        "A2.STDJOY.JOY"
+        .asciiz "A2.STDJOY.JOY"
         .endif
 
index 2de10bd5371a6b689c1e737301d47f12b2158d45..6b0df4dedb23f483f79f88d79b2e05ba8faa68cd 100644 (file)
 ; TO-DO:
 ; Add a control-character quoting mechanism.
 
-        .constructor   initmainargs, 24
-        .import                __argc, __argv, __dos_type
+        .constructor    initmainargs, 24
+        .import         __argc, __argv, __dos_type
 
-        .include       "zeropage.inc"
-        .include       "apple2.inc"
+        .include        "zeropage.inc"
+        .include        "apple2.inc"
 
 ; Maximum number of arguments allowed in the argument table.
 ; (An argument contains a comma, at least.)
@@ -44,7 +44,7 @@ BUF_LEN = 122
 BASIC_BUF = $200
 FNAM_LEN  = $280
 FNAM      = $281
-REM       = $B2                        ; BASIC token-code
+REM       = $B2                 ; BASIC token-code
 
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run.
@@ -56,25 +56,25 @@ initmainargs:
 ; Assume that the program was loaded, a moment ago, by the traditional BLOAD
 ; statement of BASIC.SYSTEM. Save the filename as argument #0 if available.
 
-        ldx    __dos_type      ; No ProDOS -> argv[0] = ""
-        beq    :+
+        ldx     __dos_type      ; No ProDOS -> argv[0] = ""
+        beq     :+
 
 ; Terminate the filename with a zero to make it a valid C string.
 
-        ldx    FNAM_LEN
-:       lda    #$00
-        sta    FNAM,x
+        ldx     FNAM_LEN
+:       lda     #$00
+        sta     FNAM,x
 
-        inc    __argc          ; argc always is equal to, at least, 1
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 
-        ldx    #$00
-:       lda    BASIC_BUF,x
-        beq    done            ; No "rem" -> no args
+        ldx     #$00
+:       lda     BASIC_BUF,x
+        beq     done            ; No "rem" -> no args
         inx
-        cmp    #REM
-        bne    :-
+        cmp     #REM
+        bne     :-
 
 ; If a clock is present it is called by ProDOS on file operations. On machines
 ; with a slot-based clock (like the Thunder Clock) the clock firmware places
@@ -82,18 +82,18 @@ initmainargs:
 ; of the command-line in a different buffer before the original is potentially
 ; destroyed.
 
-       ldy     #$00
-:      lda     BASIC_BUF,x
-       sta     buffer,y
-       inx
-       iny
-       cpy     #BUF_LEN - 1    ; Keep the terminating zero intact
-       bcc     :-
+        ldy     #$00
+:       lda     BASIC_BUF,x
+        sta     buffer,y
+        inx
+        iny
+        cpy     #BUF_LEN - 1    ; Keep the terminating zero intact
+        bcc     :-
 
 ; Start processing the arguments.
 
-       ldx     #$00
-       ldy     #$01 * 2        ; Start with argv[1]
+        ldx     #$00
+        ldy     #$01 * 2        ; Start with argv[1]
 
 ; Find the next argument. Stop if the end of the string or a character with the
 ; hibit set is reached. The later is true if the string isn't already parsed by
@@ -105,65 +105,65 @@ initmainargs:
 ; for the REM token we stumbled across the first '2' character ($32+$80 = $B2)
 ; and interpreted the rest of the date as a spurious command-line parameter.
 
-next:   lda    buffer,x
-        beq    done
-        bmi    done
+next:   lda     buffer,x
+        beq     done
+        bmi     done
         inx
-        cmp    #' '            ; Skip leading spaces
-        beq    next
+        cmp     #' '            ; Skip leading spaces
+        beq     next
 
 ; Found start of next argument. We've incremented the pointer in X already, so
 ; it points to the second character of the argument. This is useful since we
 ; will check now for a quoted argument, in which case we will have to skip this
 ; first character.
 
-        cmp    #'"'            ; Is the argument quoted?
-        beq    :+              ; Jump if so
-        dex                    ; Reset pointer to first argument character
-        lda    #' '            ; A space ends the argument
-:       sta     tmp1           ; Set end of argument marker
+        cmp     #'"'            ; Is the argument quoted?
+        beq     :+              ; Jump if so
+        dex                     ; Reset pointer to first argument character
+        lda     #' '            ; A space ends the argument
+:       sta     tmp1            ; Set end of argument marker
 
 ; Now store a pointer to the argument into the next slot.
 
-        txa                    ; Get low byte
+        txa                     ; Get low byte
         clc
-        adc    #<buffer
-        sta    argv,y          ; argv[y] = &arg
+        adc     #<buffer
+        sta     argv,y          ; argv[y] = &arg
         iny
-        lda    #$00
-        adc    #>buffer
-        sta    argv,y
+        lda     #$00
+        adc     #>buffer
+        sta     argv,y
         iny
-        inc    __argc          ; Found another arg
+        inc     __argc          ; Found another arg
 
 ; Search for the end of the argument.
 
 :       lda     buffer,x
-        beq    done
+        beq     done
         inx
-        cmp    tmp1
-        bne    :-
+        cmp     tmp1
+        bne     :-
 
 ; We've found the end of the argument. X points one character behind it, and
 ; A contains the terminating character. To make the argument a valid C string,
 ; replace the terminating character by a zero.
 
-        lda    #$00
-        sta    buffer-1,x
+        lda     #$00
+        sta     buffer-1,x
 
 ; Check if the maximum number of command-line arguments is reached. If not,
 ; parse the next one.
 
-        lda    __argc          ; Get low byte of argument count
-        cmp    #MAXARGS        ; Maximum number of arguments reached?
-        bcc    next            ; Parse next one if not
+        lda     __argc          ; Get low byte of argument count
+        cmp     #MAXARGS        ; Maximum number of arguments reached?
+        bcc     next            ; Parse next one if not
 
 ; (The last vector in argv[] already is NULL.)
 
-done:   lda    #<argv
-        ldx    #>argv
-        sta    __argv
-        stx    __argv+1
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv+1
         rts
 
 ; This array is zeroed before initmainargs is called.
@@ -171,9 +171,9 @@ done:   lda #<argv
 
         .data
 
-argv:   .addr  FNAM
-        .res   MAXARGS * 2
+argv:   .addr   FNAM
+        .res    MAXARGS * 2
 
-       .bss
+        .bss
 
-buffer:        .res    BUF_LEN
\ No newline at end of file
+buffer: .res    BUF_LEN
\ No newline at end of file
index c7c51a5761e7603392d3934ea293336424323718..2ade00aefdc90066f7b7dbcf3a8dd1d699e2dba9 100644 (file)
@@ -1,38 +1,38 @@
 ;
-; Default mouse        callbacks for the Apple II
+; Default mouse callbacks for the Apple II
 ;
 ; Oliver Schmidt, 22.09.2005
 ;
-; All functions        in this module should be interrupt safe, because they may
+; All functions in this module should be interrupt safe, because they may
 ; be called from an interrupt handler
 ;
 
-       .export         _mouse_def_callbacks
-       
-       .include        "apple2.inc"
+        .export         _mouse_def_callbacks
+        
+        .include        "apple2.inc"
 
 ; ------------------------------------------------------------------------
 
-       .bss
-       
-backup:        .res    1
+        .bss
+        
+backup: .res    1
 
 ; ------------------------------------------------------------------------
 
-       .rodata
+        .rodata
 
-       ; Callback structure
+        ; Callback structure
 _mouse_def_callbacks:
-       .addr   hide
-       .addr   show
-       .addr   movex
-       .addr   movey
+        .addr   hide
+        .addr   show
+        .addr   movex
+        .addr   movey
 
 ; ------------------------------------------------------------------------
 
-       .data
+        .data
 
-        .ifdef __APPLE2ENH__
+        .ifdef  __APPLE2ENH__
 cursor = 'B'                    ; MouseText character
         .else
 cursor = '+' | $40              ; Flashing crosshair
@@ -41,85 +41,85 @@ cursor = '+' | $40              ; Flashing crosshair
 getcursor:
         .ifdef  __APPLE2ENH__
         bit     RD80VID         ; In 80 column mode?
-        bpl     column         ; No, skip bank switching
-switch:        bit     LOWSCR          ; Patched at runtime
+        bpl     column          ; No, skip bank switching
+switch: bit     LOWSCR          ; Patched at runtime
         .endif
-column:        ldx     #$00            ; Patched at runtime
-getscr:        lda     $0400,x         ; Patched at runtime
-        cmp    #cursor
-       rts
+column: ldx     #$00            ; Patched at runtime
+getscr: lda     $0400,x         ; Patched at runtime
+        cmp     #cursor
+        rts
 
 setcursor:
-        lda    #cursor
-setscr:        sta     $0400,x         ; Patched at runtime
-       .ifdef  __APPLE2ENH__
-        bit    LOWSCR          ; Doesn't hurt in 40 column mode
+        lda     #cursor
+setscr: sta     $0400,x         ; Patched at runtime
+        .ifdef  __APPLE2ENH__
+        bit     LOWSCR          ; Doesn't hurt in 40 column mode
         .endif
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 
-       .code
+        .code
 
 done:
-       .ifdef  __APPLE2ENH__
-        bit    LOWSCR          ; Doesn't hurt in 40 column mode
+        .ifdef  __APPLE2ENH__
+        bit     LOWSCR          ; Doesn't hurt in 40 column mode
         .endif
-       rts
+        rts
 
 ; Hide the mouse cursor.
 hide:
-       jsr     getcursor       ; Cursor visible at current position?
-       bne     done            ; No, we're done
-       lda     backup          ; Get character at cursor position
-       jmp     setscr          ; Draw character
+        jsr     getcursor       ; Cursor visible at current position?
+        bne     done            ; No, we're done
+        lda     backup          ; Get character at cursor position
+        jmp     setscr          ; Draw character
 
 ; Show the mouse cursor.
 show:
-       jsr     getcursor       ; Cursor visible at current position?
-       beq     done            ; Yes, we're done
-       sta     backup          ; Save character at cursor position
-       jmp     setcursor       ; Draw cursor
+        jsr     getcursor       ; Cursor visible at current position?
+        beq     done            ; Yes, we're done
+        sta     backup          ; Save character at cursor position
+        jmp     setcursor       ; Draw cursor
 
 ; Move the mouse cursor x position to the value in A/X.
 movex:
-       dex                     ; Is position [256..279]?
-       bmi     :+              ; No, start with column 0
-       clc
-       adc     #$0100 .MOD 7   ; Bias position
-       ldx     #$0100 / 7 - 1  ; Bias column
-:      sec
-:      sbc     #7              ; 280 positions / 40 columns
-       inx
-       bcs     :-
-       stx     column+1
+        dex                     ; Is position [256..279]?
+        bmi     :+              ; No, start with column 0
+        clc
+        adc     #$0100 .MOD 7   ; Bias position
+        ldx     #$0100 / 7 - 1  ; Bias column
+:       sec
+:       sbc     #7              ; 280 positions / 40 columns
+        inx
+        bcs     :-
+        stx     column+1
         .ifdef  __APPLE2ENH__
-       adc     #7 / 2          ; Left or right half of 40-col column?
-       ldx     #<LOWSCR        ; Columns 1,3,5..79
-       bcs     :+
-       .assert LOWSCR + 1 = HISCR, error
-       inx                     ; Columns 0,2,4..78
-:      stx     switch+1
+        adc     #7 / 2          ; Left or right half of 40-col column?
+        ldx     #<LOWSCR        ; Columns 1,3,5..79
+        bcs     :+
+        .assert LOWSCR + 1 = HISCR, error
+        inx                     ; Columns 0,2,4..78
+:       stx     switch+1
         .endif
-       rts
+        rts
 
 ; Move the mouse cursor y position to the value in A/X.
 movey:
-       tax                     ; ABCDExxx
-       lsr                     ; 0ABCDExx
-       lsr                     ; 00ABCDEx
-       lsr                     ; 000ABCDE
-       sta     getscr+1
-       lsr                     ; 0000ABCD
-       and     #%00000011      ; 000000CD
-       ora     #>$0400         ; 000001CD
-       sta     getscr+2
-       sta     setscr+2
-       txa                     ; ABCDExxx
-       ror                     ; EABCDExx
-       and     #%11100000      ; EAB00000
-       ora     getscr+1        ; EABABCDE
-       and     #%11111000      ; EABAB000
-       sta     getscr+1
-       sta     setscr+1
-       rts
+        tax                     ; ABCDExxx
+        lsr                     ; 0ABCDExx
+        lsr                     ; 00ABCDEx
+        lsr                     ; 000ABCDE
+        sta     getscr+1
+        lsr                     ; 0000ABCD
+        and     #%00000011      ; 000000CD
+        ora     #>$0400         ; 000001CD
+        sta     getscr+2
+        sta     setscr+2
+        txa                     ; ABCDExxx
+        ror                     ; EABCDExx
+        and     #%11100000      ; EAB00000
+        ora     getscr+1        ; EABABCDE
+        and     #%11111000      ; EABAB000
+        sta     getscr+1
+        sta     setscr+1
+        rts
index 86950fbc4a3e6b094d9a49918005a0446eb73687..42363d9c9651292fc271b5f985e5d46efd5df297 100644 (file)
@@ -94,8 +94,8 @@ EOF_COUNT       = 2
                                 DATA_BUFFER     .addr
                         .endstruct
                         .struct PREFIX
-                                PARAM_COUNT    .byte
-                                PATHNAME       .addr
+                                PARAM_COUNT     .byte
+                                PATHNAME        .addr
                         .endstruct
                         .struct OPEN
                                 PARAM_COUNT     .byte
@@ -130,12 +130,12 @@ EOF_COUNT       = 2
         .global         mliparam
         .global         callmli
 
-DEVNUM  :=      $BF30          ; Most recent accessed device
-DEVCNT  :=      $BF31          ; Number of on-line devices (minus 1)
-DEVLST  :=      $BF32          ; Up to 14 units may be active
-DATELO  :=      $BF90          ; Bits 15-9 = year, 8-5 = month, 4-0 = day
-TIMELO  :=      $BF92          ; Bits 12-8 = hour, 5-0 = minute
-LEVEL   :=      $BF94          ; File level: used in open, flush, close
-MACHID  :=      $BF98          ; Machine identification
-PFIXPTR :=      $BF9A          ; If = 0, no prefix active
+DEVNUM  :=      $BF30           ; Most recent accessed device
+DEVCNT  :=      $BF31           ; Number of on-line devices (minus 1)
+DEVLST  :=      $BF32           ; Up to 14 units may be active
+DATELO  :=      $BF90           ; Bits 15-9 = year, 8-5 = month, 4-0 = day
+TIMELO  :=      $BF92           ; Bits 12-8 = hour, 5-0 = minute
+LEVEL   :=      $BF94           ; File level: used in open, flush, close
+MACHID  :=      $BF98           ; Machine identification
+PFIXPTR :=      $BF9A           ; If = 0, no prefix active
 KVERSION:=      $BFFF           ; Kernel version number
index fa826cc611cbcc837281b03ec8249b506050a985..3e4771400fd5eac939f262b3f46be7dbab063e2e 100644 (file)
@@ -24,12 +24,12 @@ callmli:
         beq     oserr
 
         ; Call MLI and return
-        jsr     $BF00          ; MLI call entry point
+        jsr     $BF00           ; MLI call entry point
 call:   .byte   $00
         .addr   mliparam
         rts
 
         ; Load oserror code and return
-oserr:  lda     #$01           ; "Bad system call number"
+oserr:  lda     #$01            ; "Bad system call number"
         sec
         rts
index af44a48ff37d723a47d1fe3679f45aa22d040c7e..30ef85c54855fa419d12bbce20a4130b0be17e01 100644 (file)
 ; Oliver Schmidt, 03.09.2005
 ;
 
-       .include        "zeropage.inc"
-       .include        "mouse-kernel.inc"
-       .include        "apple2.inc"
+        .include        "zeropage.inc"
+        .include        "mouse-kernel.inc"
+        .include        "apple2.inc"
 
 ; ------------------------------------------------------------------------
 
-SETMOUSE       = $12   ; Sets mouse mode
-SERVEMOUSE     = $13   ; Services mouse interrupt
-READMOUSE      = $14   ; Reads mouse position
-CLEARMOUSE     = $15   ; Clears mouse position to 0 (for delta mode)
-POSMOUSE       = $16   ; Sets mouse position to a user-defined pos
-CLAMPMOUSE     = $17   ; Sets mouse bounds in a window
-HOMEMOUSE      = $18   ; Sets mouse to upper-left corner of clamp win
-INITMOUSE      = $19   ; Resets mouse clamps to default values and
-                       ; sets mouse position to 0,0
-
-pos1_lo        := $0478
-pos1_hi        := $0578
-pos2_lo        := $04F8
-pos2_hi        := $05F8
-status         := $0778
+SETMOUSE        = $12   ; Sets mouse mode
+SERVEMOUSE      = $13   ; Services mouse interrupt
+READMOUSE       = $14   ; Reads mouse position
+CLEARMOUSE      = $15   ; Clears mouse position to 0 (for delta mode)
+POSMOUSE        = $16   ; Sets mouse position to a user-defined pos
+CLAMPMOUSE      = $17   ; Sets mouse bounds in a window
+HOMEMOUSE       = $18   ; Sets mouse to upper-left corner of clamp win
+INITMOUSE       = $19   ; Resets mouse clamps to default values and
+                        ; sets mouse position to 0,0
+
+pos1_lo         := $0478
+pos1_hi         := $0578
+pos2_lo         := $04F8
+pos2_hi         := $05F8
+status          := $0778
 
 ; ------------------------------------------------------------------------
 
-       .segment        "JUMPTABLE"
-
-       ; Driver signature
-       .byte   $6D, $6F, $75           ; "mou"
-       .byte   MOUSE_API_VERSION       ; Mouse driver API version number
-
-       ; Jump table.
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   HIDE
-       .addr   SHOW
-       .addr   SETBOX
-       .addr   GETBOX
-       .addr   MOVE
-       .addr   BUTTONS
-       .addr   POS
-       .addr   INFO
-       .addr   IOCTL
-       .addr   IRQ
+        .segment        "JUMPTABLE"
+
+        ; Driver signature
+        .byte   $6D, $6F, $75           ; "mou"
+        .byte   MOUSE_API_VERSION       ; Mouse driver API version number
+
+        ; Jump table.
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   HIDE
+        .addr   SHOW
+        .addr   SETBOX
+        .addr   GETBOX
+        .addr   MOVE
+        .addr   BUTTONS
+        .addr   POS
+        .addr   INFO
+        .addr   IOCTL
+        .addr   IRQ
 
         ; Mouse driver flags
         .byte   MOUSE_FLAG_EARLY_IRQ
 
-       ; Callback table, set by the kernel before INSTALL is called
-CHIDE: jmp     $0000                   ; Hide the cursor
-CSHOW: jmp     $0000                   ; Show the cursor
-CMOVEX: jmp    $0000                   ; Move the cursor to X coord
-CMOVEY: jmp    $0000                   ; Move the cursor to Y coord
+        ; Callback table, set by the kernel before INSTALL is called
+CHIDE:  jmp     $0000                   ; Hide the cursor
+CSHOW:  jmp     $0000                   ; Show the cursor
+CMOVEX: jmp     $0000                   ; Move the cursor to X coord
+CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
 ; ------------------------------------------------------------------------
 
-       .bss
+        .bss
 
-box:   .tag    MOUSE_BOX
-info:  .tag    MOUSE_INFO
-slot:  .res    1
-visible:.res   1
+box:    .tag    MOUSE_BOX
+info:   .tag    MOUSE_INFO
+slot:   .res    1
+visible:.res    1
 
 ; ------------------------------------------------------------------------
 
-       .rodata
+        .rodata
 
-offsets:.byte  $05             ; Pascal 1.0 ID byte
-       .byte   $07             ; Pascal 1.0 ID byte
-       .byte   $0B             ; Pascal 1.1 generic signature byte
-       .byte   $0C             ; Device signature byte
+offsets:.byte   $05             ; Pascal 1.0 ID byte
+        .byte   $07             ; Pascal 1.0 ID byte
+        .byte   $0B             ; Pascal 1.1 generic signature byte
+        .byte   $0C             ; Device signature byte
 
-values: .byte  $38             ; Fixed
-       .byte   $18             ; Fixed
-       .byte   $01             ; Fixed
-       .byte   $20             ; X-Y pointing device type 0
+values: .byte   $38             ; Fixed
+        .byte   $18             ; Fixed
+        .byte   $01             ; Fixed
+        .byte   $20             ; X-Y pointing device type 0
 
-size   = * - values
+size    = * - values
 
-inibox:        .word     0             ; MinX
-       .word     0             ; MinY
-       .word   279             ; MaxX
-       .word   191             ; MaxY
+inibox: .word     0             ; MinX
+        .word     0             ; MinY
+        .word   279             ; MaxX
+        .word   191             ; MaxY
 
 ; ------------------------------------------------------------------------
 
-       .data
+        .data
 
 firmware:
-       ; Lookup and patch firmware address lobyte
-lookup: ldy    $FF00,x         ; Patched at runtime
-       sty     jump+1          ; Modify code below
+        ; Lookup and patch firmware address lobyte
+lookup: ldy     $FF00,x         ; Patched at runtime
+        sty     jump+1          ; Modify code below
 
-       ; Apple II Mouse TechNote #1, Interrupt Environment with the Mouse:
-       ; "Enter all mouse routines (...) with the X register set to $Cn
-       ;  and Y register set to $n0, where n = the slot number."
-xparam: ldx    #$FF            ; Patched at runtime
-yparam: ldy    #$FF            ; Patched at runtime
+        ; Apple II Mouse TechNote #1, Interrupt Environment with the Mouse:
+        ; "Enter all mouse routines (...) with the X register set to $Cn
+        ;  and Y register set to $n0, where n = the slot number."
+xparam: ldx     #$FF            ; Patched at runtime
+yparam: ldy     #$FF            ; Patched at runtime
 
-jump:  jmp     $FFFF           ; Patched at runtime
+jump:   jmp     $FFFF           ; Patched at runtime
 
 ; ------------------------------------------------------------------------
 
-       .code
+        .code
 
 ; INSTALL: Is called after the driver is loaded into memory. If possible,
 ; check if the hardware is present. Must return an MOUSE_ERR_xx code in A/X.
 INSTALL:
-       lda     #<$C000
-       sta     ptr1
-       lda     #>$C000
-       sta     ptr1+1
-
-       ; Search for AppleMouse II firmware in slots 1 - 7
-next:  inc     ptr1+1
-       lda     ptr1+1
-       cmp     #>$C800
-       bcc     :+
-
-       ; Mouse firmware not found
-       lda     #<MOUSE_ERR_NO_DEVICE
-       ldx     #>MOUSE_ERR_NO_DEVICE
-       rts
-
-       ; Check Pascal 1.1 Firmware Protocol ID bytes
-:      ldx     #size - 1
-:      ldy     offsets,x
-       lda     values,x
-       cmp     (ptr1),y
-       bne     next
-       dex
-       bpl     :-
-
-       ; Get and patch firmware address hibyte
-       lda     ptr1+1
-       sta     lookup+2
-       sta     xparam+1
-       sta     jump+2
-
-       ; Disable interrupts now because setting the slot number makes 
-       ; the IRQ handler (maybe called due to some non-mouse IRQ) try
-       ; calling the firmware which isn't correctly set up yet
-       sei
-
-       ; Convert to and save slot number
-       and     #$0F
-       sta     slot
-
-       ; Convert to and patch I/O register index
-       asl
-       asl
-       asl
-       asl
-       sta     yparam+1
-       
-       ; The AppleMouse II Card needs the ROM switched in
-       ; to be able to detect an Apple //e and use RDVBL
-       bit     $C082
-
-       ; Reset mouse hardware
-       ldx     #INITMOUSE
-       jsr     firmware
-       
-       ; Switch in LC bank 2 for R/O
-       bit     $C080
-
-       ; Turn mouse on
-       lda     #%00000001
-       ldx     #SETMOUSE
-       jsr     firmware
-
-       ; Set initial mouse clamps
-       lda     #<inibox
-       ldx     #>inibox
-       jsr     SETBOX
-
-       ; Set initial mouse position
-       ldx     slot
-       lda     #<(279 / 2)
-       sta     pos1_lo,x
-       lda     #>(279 / 2)
-       sta     pos1_hi,x
-       lda     #<(191 / 2)
-       sta     pos2_lo,x
-       lda     #>(191 / 2)
-       sta     pos2_hi,x
-       ldx     #POSMOUSE
-       jsr     firmware
-
-       ; Update cursor
-       jsr     update
-
-       ; Turn VBL interrupt on
-       lda     #%00001001
-       ldx     #SETMOUSE
-common:        jsr     firmware
-
-       ; Enable interrupts and return success
-       cli
-       lda     #<MOUSE_ERR_OK
-       ldx     #>MOUSE_ERR_OK
-       rts
+        lda     #<$C000
+        sta     ptr1
+        lda     #>$C000
+        sta     ptr1+1
+
+        ; Search for AppleMouse II firmware in slots 1 - 7
+next:   inc     ptr1+1
+        lda     ptr1+1
+        cmp     #>$C800
+        bcc     :+
+
+        ; Mouse firmware not found
+        lda     #<MOUSE_ERR_NO_DEVICE
+        ldx     #>MOUSE_ERR_NO_DEVICE
+        rts
+
+        ; Check Pascal 1.1 Firmware Protocol ID bytes
+:       ldx     #size - 1
+:       ldy     offsets,x
+        lda     values,x
+        cmp     (ptr1),y
+        bne     next
+        dex
+        bpl     :-
+
+        ; Get and patch firmware address hibyte
+        lda     ptr1+1
+        sta     lookup+2
+        sta     xparam+1
+        sta     jump+2
+
+        ; Disable interrupts now because setting the slot number makes 
+        ; the IRQ handler (maybe called due to some non-mouse IRQ) try
+        ; calling the firmware which isn't correctly set up yet
+        sei
+
+        ; Convert to and save slot number
+        and     #$0F
+        sta     slot
+
+        ; Convert to and patch I/O register index
+        asl
+        asl
+        asl
+        asl
+        sta     yparam+1
+        
+        ; The AppleMouse II Card needs the ROM switched in
+        ; to be able to detect an Apple //e and use RDVBL
+        bit     $C082
+
+        ; Reset mouse hardware
+        ldx     #INITMOUSE
+        jsr     firmware
+        
+        ; Switch in LC bank 2 for R/O
+        bit     $C080
+
+        ; Turn mouse on
+        lda     #%00000001
+        ldx     #SETMOUSE
+        jsr     firmware
+
+        ; Set initial mouse clamps
+        lda     #<inibox
+        ldx     #>inibox
+        jsr     SETBOX
+
+        ; Set initial mouse position
+        ldx     slot
+        lda     #<(279 / 2)
+        sta     pos1_lo,x
+        lda     #>(279 / 2)
+        sta     pos1_hi,x
+        lda     #<(191 / 2)
+        sta     pos2_lo,x
+        lda     #>(191 / 2)
+        sta     pos2_hi,x
+        ldx     #POSMOUSE
+        jsr     firmware
+
+        ; Update cursor
+        jsr     update
+
+        ; Turn VBL interrupt on
+        lda     #%00001001
+        ldx     #SETMOUSE
+common: jsr     firmware
+
+        ; Enable interrupts and return success
+        cli
+        lda     #<MOUSE_ERR_OK
+        ldx     #>MOUSE_ERR_OK
+        rts
 
 ; UNINSTALL: Is called before the driver is removed from memory.
 ; No return code required (the driver is removed from memory on return).
 UNINSTALL:
-       ; Hide cursor
-       sei
-       jsr     CHIDE
+        ; Hide cursor
+        sei
+        jsr     CHIDE
 
-       ; Turn mouse off
-       lda     #%00000000
-       ldx     #SETMOUSE
-       bne     common          ; Branch always
+        ; Turn mouse off
+        lda     #%00000000
+        ldx     #SETMOUSE
+        bne     common          ; Branch always
 
 ; SETBOX: Set the mouse bounding box. The parameters are passed as they come
 ; from the C program, that is, a pointer to a mouse_box struct in A/X.
@@ -224,62 +224,62 @@ UNINSTALL:
 ; of the caller. It is not necessary to validate the parameters, trust the
 ; caller and save some code here. No return code required.
 SETBOX:
-       sta     ptr1
-       stx     ptr1+1
+        sta     ptr1
+        stx     ptr1+1
+        
+        ; Set x clamps
+        ldx     #$00
+        ldy     #MOUSE_BOX::MINX
+        jsr     :+
         
-       ; Set x clamps
-       ldx     #$00
-       ldy     #MOUSE_BOX::MINX
-       jsr     :+
-       
-       ; Set y clamps
-       ldx     #$01
-       ldy     #MOUSE_BOX::MINY
-
-       ; Apple II Mouse TechNote #1, Interrupt Environment with the Mouse:
-       ; "Disable interrupts before placing position information in the
-       ;  screen holes."
-:      sei
-
-       ; Set low clamp
-       lda     (ptr1),y
-       sta     box,y
-       sta     pos1_lo
-       iny
-       lda     (ptr1),y
-       sta     box,y   
-       sta     pos1_hi
-
-       ; Skip one word
-       iny
-       iny
-
-       ; Set high clamp
-       iny
-       lda     (ptr1),y
-       sta     box,y   
-       sta     pos2_lo
-       iny
-       lda     (ptr1),y
-       sta     box,y   
-       sta     pos2_hi
-
-       txa
-       ldx     #CLAMPMOUSE
-       bne     common          ; Branch always
+        ; Set y clamps
+        ldx     #$01
+        ldy     #MOUSE_BOX::MINY
+
+        ; Apple II Mouse TechNote #1, Interrupt Environment with the Mouse:
+        ; "Disable interrupts before placing position information in the
+        ;  screen holes."
+:       sei
+
+        ; Set low clamp
+        lda     (ptr1),y
+        sta     box,y
+        sta     pos1_lo
+        iny
+        lda     (ptr1),y
+        sta     box,y   
+        sta     pos1_hi
+
+        ; Skip one word
+        iny
+        iny
+
+        ; Set high clamp
+        iny
+        lda     (ptr1),y
+        sta     box,y   
+        sta     pos2_lo
+        iny
+        lda     (ptr1),y
+        sta     box,y   
+        sta     pos2_hi
+
+        txa
+        ldx     #CLAMPMOUSE
+        bne     common          ; Branch always
 
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
 ; come from the C program, that is, a pointer to a mouse_box struct in A/X.
 GETBOX:
-       sta     ptr1
-       stx     ptr1+1
+        sta     ptr1
+        stx     ptr1+1
 
-       ldy     #.sizeof(MOUSE_BOX)-1
-:      lda     box,y
-       sta     (ptr1),y
-       dey
-       bpl     :-
-       rts
+        ldy     #.sizeof(MOUSE_BOX)-1
+:       lda     box,y
+        sta     (ptr1),y
+        dey
+        bpl     :-
+        rts
 
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
 ; from the C program, that is: x on the stack and y in A/X. The C wrapper will
@@ -287,148 +287,148 @@ GETBOX:
 ; No checks are done if the new position is valid (within the bounding box or
 ; the screen). No return code required.
 MOVE:
-       ldy     slot
-       sei
+        ldy     slot
+        sei
 
-       ; Set y
-       sta     pos2_lo,y
-       txa
-       sta     pos2_hi,y
+        ; Set y
+        sta     pos2_lo,y
+        txa
+        sta     pos2_hi,y
 
-       tya
-       tax
-       ldy     #$00            ; Start at top of stack
+        tya
+        tax
+        ldy     #$00            ; Start at top of stack
 
-       ; Set x
-       lda     (sp),y
-       iny
-       sta     pos1_lo,x
-       lda     (sp),y
-       sta     pos1_hi,x
+        ; Set x
+        lda     (sp),y
+        iny
+        sta     pos1_lo,x
+        lda     (sp),y
+        sta     pos1_hi,x
 
-       ; Update cursor
-       jsr     update
+        ; Update cursor
+        jsr     update
 
-       ldx     #POSMOUSE
-       bne     common          ; Branch always
+        ldx     #POSMOUSE
+        bne     common          ; Branch always
 
 ; HIDE: Is called to hide the mouse cursor. The mouse kernel manages a
 ; counter for calls to show/hide, and the driver entry point is only called
 ; if the mouse is currently visible and should get hidden. For most drivers,
-; no special action is required        besides hiding the mouse cursor.
+; no special action is required besides hiding the mouse cursor.
 ; No return code required.
 HIDE:
-       dec     visible
-       sei
-       jsr     CHIDE
-       cli
-       rts
+        dec     visible
+        sei
+        jsr     CHIDE
+        cli
+        rts
 
-; SHOW:        Is called to show the mouse cursor. The mouse kernel manages a
+; SHOW: Is called to show the mouse cursor. The mouse kernel manages a
 ; counter for calls to show/hide, and the driver entry point is only called
 ; if the mouse is currently hidden and should become visible. For most drivers,
-; no special action is required        besides enabling the mouse cursor.
+; no special action is required besides enabling the mouse cursor.
 ; No return code required.
 SHOW:
-       inc     visible
-       rts
+        inc     visible
+        rts
 
 ; BUTTONS: Return the button mask in A/X.
 BUTTONS:
-       lda     info + MOUSE_INFO::BUTTONS
-       ldx     #$00
-       rts
+        lda     info + MOUSE_INFO::BUTTONS
+        ldx     #$00
+        rts
 
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 POS:
-       ldy     #.sizeof(MOUSE_POS)-1
-       bne     copy            ; Branch always
+        ldy     #.sizeof(MOUSE_POS)-1
+        bne     copy            ; Branch always
 
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
 ; struct pointed to by ptr1. No return code required.
 INFO:
-       ldy     #.sizeof(MOUSE_INFO)-1
-copy:  sei
-:      lda     info,y
-       sta     (ptr1),y
-       dey
-       bpl     :-
-       cli
-       rts
+        ldy     #.sizeof(MOUSE_INFO)-1
+copy:   sei
+:       lda     info,y
+        sta     (ptr1),y
+        dey
+        bpl     :-
+        cli
+        rts
 
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
 ; specific data in ptr1, and the ioctl code in A.
 ; Must return an MOUSE_ERR_xx code in A/X.
 IOCTL:
-       lda     #<MOUSE_ERR_INV_IOCTL
-       ldx     #>MOUSE_ERR_INV_IOCTL
-       rts
+        lda     #<MOUSE_ERR_INV_IOCTL
+        ldx     #>MOUSE_ERR_INV_IOCTL
+        rts
 
 ; IRQ: Called from the builtin runtime IRQ handler as a subroutine. All
 ; registers are already saved, no parameters are passed, but the carry flag
 ; is clear on entry. The routine must return with carry set if the interrupt
 ; was handled, otherwise with carry clear.
 IRQ:
-       ; Check for installed mouse
-       lda     slot
-       beq     done
-
-       ; Check for mouse interrupt
-       ldx     #SERVEMOUSE
-       jsr     firmware
-       bcc     :+
-       clc                     ; Interrupt not handled
-done:  rts
-
-:      ldx     #READMOUSE
-       jsr     firmware
-
-       ; Get status
-       ldy     slot
-       lda     status,y
-       tax                     ; Save status
-
-       ; Extract button down values
-       asl                     ;  C = Button 0 is currently down
-       and     #%00100000      ; !Z = Button 1 is currently down
-
-       ; Set button mask
-       beq     :+
-       lda     #MOUSE_BTN_RIGHT
-:      bcc     :+
-       ora     #MOUSE_BTN_LEFT
-:      sta     info + MOUSE_INFO::BUTTONS
-
-       ; Check for mouse movement
-       txa                     ; Restore status
-       and     #%00100000      ; X or Y changed since last READMOUSE
-       beq     :+
-
-       ; Remove the cursor at the old position
-update:        jsr     CHIDE
-
-       ; Get and set the new X position
-       ldy     slot
-       lda     pos1_lo,y
-       ldx     pos1_hi,y
-       sta     info + MOUSE_POS::XCOORD
-       stx     info + MOUSE_POS::XCOORD+1
-       jsr     CMOVEX
-
-       ; Get and set the new Y position
-       ldy     slot
-       lda     pos2_lo,y
-       ldx     pos2_hi,y
-       sta     info + MOUSE_POS::YCOORD
-       stx     info + MOUSE_POS::YCOORD+1
-       jsr     CMOVEY
-
-       ; Check for visibility
-:      lda     visible
-       beq     :+
-
-       ; Draw the cursor at the new position
-       jsr     CSHOW
-:      sec                     ; Interrupt handled
-       rts
+        ; Check for installed mouse
+        lda     slot
+        beq     done
+
+        ; Check for mouse interrupt
+        ldx     #SERVEMOUSE
+        jsr     firmware
+        bcc     :+
+        clc                     ; Interrupt not handled
+done:   rts
+
+:       ldx     #READMOUSE
+        jsr     firmware
+
+        ; Get status
+        ldy     slot
+        lda     status,y
+        tax                     ; Save status
+
+        ; Extract button down values
+        asl                     ;  C = Button 0 is currently down
+        and     #%00100000      ; !Z = Button 1 is currently down
+
+        ; Set button mask
+        beq     :+
+        lda     #MOUSE_BTN_RIGHT
+:       bcc     :+
+        ora     #MOUSE_BTN_LEFT
+:       sta     info + MOUSE_INFO::BUTTONS
+
+        ; Check for mouse movement
+        txa                     ; Restore status
+        and     #%00100000      ; X or Y changed since last READMOUSE
+        beq     :+
+
+        ; Remove the cursor at the old position
+update: jsr     CHIDE
+
+        ; Get and set the new X position
+        ldy     slot
+        lda     pos1_lo,y
+        ldx     pos1_hi,y
+        sta     info + MOUSE_POS::XCOORD
+        stx     info + MOUSE_POS::XCOORD+1
+        jsr     CMOVEX
+
+        ; Get and set the new Y position
+        ldy     slot
+        lda     pos2_lo,y
+        ldx     pos2_hi,y
+        sta     info + MOUSE_POS::YCOORD
+        stx     info + MOUSE_POS::YCOORD+1
+        jsr     CMOVEY
+
+        ; Check for visibility
+:       lda     visible
+        beq     :+
+
+        ; Draw the cursor at the new position
+        jsr     CSHOW
+:       sec                     ; Interrupt handled
+        rts
index 4ca1e7f0455c33b8dbea722496412b10520488c1..dcb3be9ca21e53622c07e727f3ba17f58bbc3a82 100644 (file)
@@ -6,16 +6,16 @@
 ; const void mouse_static_stddrv[];
 ;
 
-        .export        _mouse_static_stddrv
-        .ifdef __APPLE2ENH__
-        .import        _a2e_stdmou_mou
+        .export _mouse_static_stddrv
+        .ifdef  __APPLE2ENH__
+        .import _a2e_stdmou_mou
         .else
-        .import        _a2_stdmou_mou
+        .import _a2_stdmou_mou
         .endif
 
 .rodata
 
-        .ifdef __APPLE2ENH__
+        .ifdef  __APPLE2ENH__
 _mouse_static_stddrv := _a2e_stdmou_mou
         .else
 _mouse_static_stddrv := _a2_stdmou_mou
index a58767e0d13f2b287015e2a8238dadefbccb518c..876fbb4af23ef04a67f536e8dedde3b6653421aa 100644 (file)
@@ -6,13 +6,13 @@
 ; const char mouse_stddrv[];
 ;
 
-        .export        _mouse_stddrv
+        .export _mouse_stddrv
 
 .rodata
 
 _mouse_stddrv:
-        .ifdef __APPLE2ENH__
-        .asciiz        "A2E.STDMOU.MOU"
+        .ifdef  __APPLE2ENH__
+        .asciiz "A2E.STDMOU.MOU"
         .else
-        .asciiz        "A2.STDMOU.MOU"
+        .asciiz "A2.STDMOU.MOU"
         .endif
index 078cfdd480e0f9d7cf6237ff6b81da92c7397f08..db40c3c743a4f622a944a02903ef8b16eb4dea8f 100644 (file)
@@ -4,28 +4,28 @@
 ; int open (const char* name, int flags, ...);
 ;
 
-        .export        _open, closedirect, freebuffer
-        .export        __filetype, __auxtype
-        .constructor   raisefilelevel
-        .destructor    closeallfiles, 5
+        .export         _open, closedirect, freebuffer
+        .export         __filetype, __auxtype
+        .constructor    raisefilelevel
+        .destructor     closeallfiles, 5
 
-        .import                pushname, popname, __dos_type
-        .import                iobuf_alloc, iobuf_free
-        .import        addysp, incsp4, incaxy, pushax, popax
+        .import         pushname, popname, __dos_type
+        .import         iobuf_alloc, iobuf_free
+        .import         addysp, incsp4, incaxy, pushax, popax
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "fcntl.inc"
-        .include       "mli.inc"
-        .include       "filedes.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "fcntl.inc"
+        .include        "mli.inc"
+        .include        "filedes.inc"
 
-        .segment       "INIT"
+        .segment        "INIT"
 
 raisefilelevel:
         ; Raise file level
-        lda    __dos_type
-        beq    :+
-        inc    LEVEL
+        lda     __dos_type
+        beq     :+
+        inc     LEVEL
 :       rts
 
         .code
@@ -37,14 +37,14 @@ _open:
         dey
         dey
         dey
-        jsr    addysp
+        jsr     addysp
 
         ; Start with first fdtab slot
-        ldy    #$00
+        ldy     #$00
 
         ; Check for free fdtab slot
-:       lda    fdtab + FD::REF_NUM,y
-        beq    found
+:       lda     fdtab + FD::REF_NUM,y
+        beq     found
 
         ; Advance to next fdtab slot
         .assert .sizeof(FD) = 4, error
@@ -54,149 +54,149 @@ _open:
         iny
 
         ; Check for end of fdtab
-        cpy    #MAX_FDS * .sizeof(FD)
-        bcc    :-
+        cpy     #MAX_FDS * .sizeof(FD)
+        bcc     :-
 
         ; Load errno code
-        lda    #EMFILE
+        lda     #EMFILE
 
         ; Cleanup stack
-errno:  jsr    incsp4          ; Preserves A
+errno:  jsr     incsp4          ; Preserves A
 
         ; Set __errno
-        jmp    __directerrno
+        jmp     __directerrno
 
         ; Save fdtab slot
 found:  tya
         pha
 
         ; Alloc I/O buffer
-       lda     #<(fdtab + FD::BUFFER)
-       ldx     #>(fdtab + FD::BUFFER)
-       jsr     incaxy
-       jsr     pushax
-        lda    #$00
-        ldx    #>$0100
-        jsr    pushax          ; Preserves A
-        ldx    #>$0400
-        jsr    iobuf_alloc
-       tay                     ; Save errno code
+        lda     #<(fdtab + FD::BUFFER)
+        ldx     #>(fdtab + FD::BUFFER)
+        jsr     incaxy
+        jsr     pushax
+        lda     #$00
+        ldx     #>$0100
+        jsr     pushax          ; Preserves A
+        ldx     #>$0400
+        jsr     iobuf_alloc
+        tay                     ; Save errno code
 
         ; Restore fdtab slot
         pla
-        sta    tmp2            ; Save fdtab slot
+        sta     tmp2            ; Save fdtab slot
 
         ; Check for error
-        tya                    ; Restore errno code
-        bne    errno
+        tya                     ; Restore errno code
+        bne     errno
 
         ; Get and save flags
-        jsr    popax
-        sta    tmp3
+        jsr     popax
+        sta     tmp3
 
         ; Get and push name
-        jsr    popax
-        jsr    pushname
-        bne    oserr1
+        jsr     popax
+        jsr     pushname
+        bne     oserr1
 
         ; Set pushed name
-        lda    sp
-        ldx    sp+1
-        sta    mliparam + MLI::OPEN::PATHNAME
-        stx    mliparam + MLI::OPEN::PATHNAME+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::OPEN::PATHNAME
+        stx     mliparam + MLI::OPEN::PATHNAME+1
 
         ; Check for create flag
-        lda    tmp3            ; Restore flags
-        and    #O_CREAT
-        beq    open
+        lda     tmp3            ; Restore flags
+        and     #O_CREAT
+        beq     open
 
         ; PATHNAME already set
         .assert MLI::CREATE::PATHNAME = MLI::OPEN::PATHNAME, error
 
         ; Set all other parameters from template
-        ldx    #(MLI::CREATE::CREATE_TIME+1) - (MLI::CREATE::PATHNAME+1) - 1
-:       lda    CREATE,x
-        sta    mliparam + MLI::CREATE::ACCESS,x
+        ldx     #(MLI::CREATE::CREATE_TIME+1) - (MLI::CREATE::PATHNAME+1) - 1
+:       lda     CREATE,x
+        sta     mliparam + MLI::CREATE::ACCESS,x
         dex
-        bpl    :-
+        bpl     :-
 
         ; Create file
-        lda    #CREATE_CALL
-        ldx    #CREATE_COUNT
-        jsr    callmli
-        bcc    open
+        lda     #CREATE_CALL
+        ldx     #CREATE_COUNT
+        jsr     callmli
+        bcc     open
 
         ; Check for ordinary errors
-        cmp    #$47            ; "Duplicate filename"
-        bne    oserr2
+        cmp     #$47            ; "Duplicate filename"
+        bne     oserr2
 
         ; Check for exclusive flag
-        lda    tmp3            ; Restore flags
-        and    #O_EXCL
-        beq    open
+        lda     tmp3            ; Restore flags
+        and     #O_EXCL
+        beq     open
 
-        lda    #$47            ; "Duplicate filename"
+        lda     #$47            ; "Duplicate filename"
 
         ; Cleanup name
-oserr2: jsr    popname         ; Preserves A
+oserr2: jsr     popname         ; Preserves A
 
-oserr1: ldy    tmp2            ; Restore fdtab slot
+oserr1: ldy     tmp2            ; Restore fdtab slot
 
         ; Cleanup I/O buffer
-        pha                    ; Save oserror code
-        jsr    freebuffer
-        pla                    ; Restore oserror code
+        pha                     ; Save oserror code
+        jsr     freebuffer
+        pla                     ; Restore oserror code
 
         ; Set __oserror
-        jmp    __mappederrno
+        jmp     __mappederrno
 
-open:   ldy    tmp2            ; Restore fdtab slot
+open:   ldy     tmp2            ; Restore fdtab slot
 
         ; Set allocated I/O buffer
-        ldx    fdtab + FD::BUFFER+1,y
-        sta    mliparam + MLI::OPEN::IO_BUFFER         ; A = 0
-        stx    mliparam + MLI::OPEN::IO_BUFFER+1
+        ldx     fdtab + FD::BUFFER+1,y
+        sta     mliparam + MLI::OPEN::IO_BUFFER         ; A = 0
+        stx     mliparam + MLI::OPEN::IO_BUFFER+1
 
         ; Open file
-        lda    #OPEN_CALL
-        ldx    #OPEN_COUNT
-        jsr    callmli
-        bcs    oserr2
+        lda     #OPEN_CALL
+        ldx     #OPEN_COUNT
+        jsr     callmli
+        bcs     oserr2
 
         ; Get and save fd
-        ldx    mliparam + MLI::OPEN::REF_NUM
-        stx    tmp1            ; Save fd
+        ldx     mliparam + MLI::OPEN::REF_NUM
+        stx     tmp1            ; Save fd
 
         ; Set flags and check for truncate flag
-        lda    tmp3            ; Restore flags
-        sta    fdtab + FD::FLAGS,y
-        and    #O_TRUNC
-        beq    done
+        lda     tmp3            ; Restore flags
+        sta     fdtab + FD::FLAGS,y
+        and     #O_TRUNC
+        beq     done
 
         ; Set fd and zero size
-        stx    mliparam + MLI::EOF::REF_NUM
-        ldx    #$02
-        lda    #$00
-:       sta    mliparam + MLI::EOF::EOF,x
+        stx     mliparam + MLI::EOF::REF_NUM
+        ldx     #$02
+        lda     #$00
+:       sta     mliparam + MLI::EOF::EOF,x
         dex
-        bpl    :-
+        bpl     :-
 
         ; Set file size
-        lda    #SET_EOF_CALL
-        ldx    #EOF_COUNT
-        jsr    callmli
-        bcc    done
+        lda     #SET_EOF_CALL
+        ldx     #EOF_COUNT
+        jsr     callmli
+        bcc     done
 
         ; Cleanup file
-        pha                    ; Save oserror code
-        lda    tmp1            ; Restore fd
-        jsr    closedirect
-        pla                    ; Restore oserror code
-        bne    oserr2          ; Branch always
+        pha                     ; Save oserror code
+        lda     tmp1            ; Restore fd
+        jsr     closedirect
+        pla                     ; Restore oserror code
+        bne     oserr2          ; Branch always
 
         ; Store fd
-done:   lda    tmp1            ; Restore fd
-        sta    fdtab + FD::REF_NUM,y
+done:   lda     tmp1            ; Restore fd
+        sta     fdtab + FD::REF_NUM,y
 
         ; Convert fdtab slot to handle
         .assert .sizeof(FD) = 4, error
@@ -205,46 +205,46 @@ done:   lda       tmp1            ; Restore fd
         lsr
 
         ; Cleanup name
-        jsr    popname         ; Preserves A
+        jsr     popname         ; Preserves A
 
         ; Return success
-        ldx    #$00
-        stx    __oserror
+        ldx     #$00
+        stx     __oserror
         rts
 
 freebuffer:
         ; Free I/O buffer
-        lda    #$00
-        ldx    fdtab + FD::BUFFER+1,y
-        jmp    iobuf_free
+        lda     #$00
+        ldx     fdtab + FD::BUFFER+1,y
+        jmp     iobuf_free
 
 closedirect:
         ; Set fd
-        sta    mliparam + MLI::CLOSE::REF_NUM
+        sta     mliparam + MLI::CLOSE::REF_NUM
 
         ; Call close
-        lda    #CLOSE_CALL
-        ldx    #CLOSE_COUNT
-        jmp    callmli
+        lda     #CLOSE_CALL
+        ldx     #CLOSE_COUNT
+        jmp     callmli
 
 closeallfiles:
         ; All open files with current level (or higher)
-        lda    #$00
-        jsr    closedirect
+        lda     #$00
+        jsr     closedirect
 
         ; Restore original file level
-        lda    __dos_type
-        beq    :+
-        dec    LEVEL
+        lda     __dos_type
+        beq     :+
+        dec     LEVEL
 :       rts
 
         .data
 
-CREATE: .byte  %11000011       ; ACCESS:       Standard full access
+CREATE: .byte   %11000011       ; ACCESS:       Standard full access
 __filetype:
-        .byte  $06             ; FILE_TYPE:    Standard binary file
+        .byte   $06             ; FILE_TYPE:    Standard binary file
 __auxtype:
-        .word  $0000           ; AUX_TYPE:     Load address N/A
-        .byte  $01             ; STORAGE_TYPE: Standard seedling file
-        .word  $0000           ; CREATE_DATE:  Current date
-        .word  $0000           ; CREATE_TIME:  Current time
+        .word   $0000           ; AUX_TYPE:     Load address N/A
+        .byte   $01             ; STORAGE_TYPE: Standard seedling file
+        .word   $0000           ; CREATE_DATE:  Current date
+        .word   $0000           ; CREATE_TIME:  Current time
index 3b6c45d9404d9c29fa32be14529712af1d18d585..04059311864b8b25c609669ba183ccc13cd1d097 100644 (file)
@@ -52,7 +52,7 @@ extern char _cwd[FILENAME_MAX];
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -64,44 +64,44 @@ DIR* __fastcall__ opendir (register const char* name)
     /* Alloc DIR */
     if ((dir = malloc (sizeof (*dir))) == NULL) {
 
-       /* May not have been done by malloc() */
-       _directerrno (ENOMEM);
+        /* May not have been done by malloc() */
+        _directerrno (ENOMEM);
 
-       /* Return failure */
-       return NULL;
+        /* Return failure */
+        return NULL;
     }
 
     /* Interpret dot as current working directory */
     if (*name == '.') {
-       name = _cwd;
+        name = _cwd;
     }
 
     /* Open directory file */
     if ((dir->fd = open (name, O_RDONLY)) != -1) {
 
-       /* Read directory key block */
-       if (read (dir->fd,
-                 dir->block.bytes,
-                 sizeof (dir->block)) == sizeof (dir->block)) {
+        /* Read directory key block */
+        if (read (dir->fd,
+                  dir->block.bytes,
+                  sizeof (dir->block)) == sizeof (dir->block)) {
 
-           /* Get directory entry infos from directory header */
-           dir->entry_length      = dir->block.bytes[0x23];
-           dir->entries_per_block = dir->block.bytes[0x24];
+            /* Get directory entry infos from directory header */
+            dir->entry_length      = dir->block.bytes[0x23];
+            dir->entries_per_block = dir->block.bytes[0x24];
 
-           /* Skip directory header entry */
-           dir->current_entry = 1;
+            /* Skip directory header entry */
+            dir->current_entry = 1;
 
-           /* Return success */
-           return dir;
-       }
+            /* Return success */
+            return dir;
+        }
 
-       /* EOF: Most probably no directory file at all */
-       if (_oserror == 0) {
-           _directerrno (EINVAL);
-       }
+        /* EOF: Most probably no directory file at all */
+        if (_oserror == 0) {
+            _directerrno (EINVAL);
+        }
 
-       /* Cleanup directory file */
-       close (dir->fd);
+        /* Cleanup directory file */
+        close (dir->fd);
     }
 
     /* Cleanup DIR */
index 2ec5c6f191ab9e498a62e9989689336aa331ec7b..6fd711ee82040eb7db2d1b3568ca2c598212b240 100644 (file)
@@ -41,36 +41,36 @@ End:
 .rodata
 
 __sys_oserrlist:
-               sys_oserr_entry         $01, "Bad system call number"
-               sys_oserr_entry         $04, "Bad system call parameter count"
-               sys_oserr_entry         $25, "Interrupt table full"
-               sys_oserr_entry         $27, "I/O error"
-               sys_oserr_entry         $28, "No device connected"
-               sys_oserr_entry         $2B, "Disk write protected"
-               sys_oserr_entry         $2E, "Disk switched"
-               sys_oserr_entry         $2F, "Device off-line"
-               sys_oserr_entry         $40, "Invalid pathname"
-               sys_oserr_entry         $42, "Maximum number of files open"
-               sys_oserr_entry         $43, "Invalid reference number"
-               sys_oserr_entry         $44, "Directory not found"
-               sys_oserr_entry         $45, "Volume not found"
-               sys_oserr_entry         $46, "File not found"
-               sys_oserr_entry         $47, "Duplicate filename"
-               sys_oserr_entry         $48, "Volume full"
-               sys_oserr_entry         $49, "Volume directory full"
-               sys_oserr_entry         $4A, "Incompatible file format"
-               sys_oserr_entry         $4B, "Unsupported storage_type"
-               sys_oserr_entry         $4C, "End of file encountered"
-               sys_oserr_entry         $4D, "Position out of range"
-               sys_oserr_entry         $4E, "File access error"
-               sys_oserr_entry         $50, "File is open"
-               sys_oserr_entry         $51, "Directory structure damaged"
-               sys_oserr_entry         $52, "Not a ProDOS disk"
-               sys_oserr_entry         $53, "Invalid system call parameter"
-               sys_oserr_entry         $55, "Volume Control Block table full"
-               sys_oserr_entry         $56, "Bad buffer address"
-               sys_oserr_entry         $57, "Duplicate volume"
-               sys_oserr_entry         $5A, "File structure damaged"
+        sys_oserr_entry         $01, "Bad system call number"
+        sys_oserr_entry         $04, "Bad system call parameter count"
+        sys_oserr_entry         $25, "Interrupt table full"
+        sys_oserr_entry         $27, "I/O error"
+        sys_oserr_entry         $28, "No device connected"
+        sys_oserr_entry         $2B, "Disk write protected"
+        sys_oserr_entry         $2E, "Disk switched"
+        sys_oserr_entry         $2F, "Device off-line"
+        sys_oserr_entry         $40, "Invalid pathname"
+        sys_oserr_entry         $42, "Maximum number of files open"
+        sys_oserr_entry         $43, "Invalid reference number"
+        sys_oserr_entry         $44, "Directory not found"
+        sys_oserr_entry         $45, "Volume not found"
+        sys_oserr_entry         $46, "File not found"
+        sys_oserr_entry         $47, "Duplicate filename"
+        sys_oserr_entry         $48, "Volume full"
+        sys_oserr_entry         $49, "Volume directory full"
+        sys_oserr_entry         $4A, "Incompatible file format"
+        sys_oserr_entry         $4B, "Unsupported storage_type"
+        sys_oserr_entry         $4C, "End of file encountered"
+        sys_oserr_entry         $4D, "Position out of range"
+        sys_oserr_entry         $4E, "File access error"
+        sys_oserr_entry         $50, "File is open"
+        sys_oserr_entry         $51, "Directory structure damaged"
+        sys_oserr_entry         $52, "Not a ProDOS disk"
+        sys_oserr_entry         $53, "Invalid system call parameter"
+        sys_oserr_entry         $55, "Volume Control Block table full"
+        sys_oserr_entry         $56, "Bad buffer address"
+        sys_oserr_entry         $57, "Duplicate volume"
+        sys_oserr_entry         $5A, "File structure damaged"
         sys_oserr_sentinel      "Unknown error"
 
 
index 293c4c8664d535c532c9ba7433b2f93ac9a8ed5a..f16aa49601b1c6b16a22d992fd9c8afc47717e3a 100644 (file)
@@ -4,59 +4,59 @@
 ; int __fastcall__ _osmaperrno (unsigned char oserror);
 ;
 
-        .export        __osmaperrno
+        .export         __osmaperrno
 
-        .include       "errno.inc"
+        .include        "errno.inc"
 
 __osmaperrno:
-        ldx    #ErrTabSize
-:       cmp    ErrTab-2,x      ; Search for the error code
-        beq    :+              ; Jump if found
+        ldx     #ErrTabSize
+:       cmp     ErrTab-2,x      ; Search for the error code
+        beq     :+              ; Jump if found
         dex
         dex
-        bne    :-              ; Next entry
+        bne     :-              ; Next entry
 
         ; Code not found, return EUNKNOWN
-        lda    #<EUNKNOWN
-        ldx    #>EUNKNOWN
+        lda     #<EUNKNOWN
+        ldx     #>EUNKNOWN
         rts
 
         ; Found the code
-:       lda    ErrTab-1,x
-        ldx    #$00            ; High byte always zero
+:       lda     ErrTab-1,x
+        ldx     #$00            ; High byte always zero
         rts
 
         .rodata
 
-ErrTab: .byte   $01, ENOSYS    ; Bad system call number
-        .byte  $04, EINVAL     ; Bad system call parameter count
-        .byte  $25, ENOMEM     ; Interrupt table full
-        .byte  $27, EIO        ; I/O error
-        .byte  $28, ENODEV     ; No device connected
-        .byte  $2B, EACCES     ; Disk write protected
-;       .byte  $2E, EUNKNOWN   ; Disk switched
-        .byte  $2F, ENODEV     ; Device off-line
-        .byte  $40, EINVAL     ; Invalid pathname
-        .byte  $42, EMFILE     ; Maximum number of files open
-        .byte  $43, EINVAL     ; Invalid reference number
-        .byte  $44, ENOENT     ; Directory not found
-        .byte  $45, ENOENT     ; Volume not found
-        .byte  $46, ENOENT     ; File not found
-        .byte  $47, EEXIST     ; Duplicate filename
-        .byte  $48, ENOSPC     ; Volume full
-        .byte  $49, ENOSPC     ; Volume directory full
-;       .byte  $4A, EUNKNOWN   ; Incompatible file format
-        .byte  $4B, EINVAL     ; Unsupported storage_type
-;       .byte  $4C, EUNKNOWN   ; End of file encountered
-        .byte  $4D, ESPIPE     ; Position out of range
-        .byte  $4E, EACCES     ; File access error
-        .byte  $50, EINVAL     ; File is open
-;       .byte  $51, EUNKNOWN   ; Directory structure damaged
-        .byte  $52, ENODEV     ; Not a ProDOS volume
-        .byte  $53, ERANGE     ; Invalid system call parameter
-        .byte  $55, EMFILE     ; Volume Control Block table full
-        .byte  $56, EINVAL     ; Bad buffer address
-;       .byte  $57, EUNKNOWN   ; Duplicate volume
-;       .byte  $5A, EUNKNOWN   ; File structure damaged
+ErrTab: .byte   $01, ENOSYS     ; Bad system call number
+        .byte   $04, EINVAL     ; Bad system call parameter count
+        .byte   $25, ENOMEM     ; Interrupt table full
+        .byte   $27, EIO        ; I/O error
+        .byte   $28, ENODEV     ; No device connected
+        .byte   $2B, EACCES     ; Disk write protected
+;       .byte   $2E, EUNKNOWN   ; Disk switched
+        .byte   $2F, ENODEV     ; Device off-line
+        .byte   $40, EINVAL     ; Invalid pathname
+        .byte   $42, EMFILE     ; Maximum number of files open
+        .byte   $43, EINVAL     ; Invalid reference number
+        .byte   $44, ENOENT     ; Directory not found
+        .byte   $45, ENOENT     ; Volume not found
+        .byte   $46, ENOENT     ; File not found
+        .byte   $47, EEXIST     ; Duplicate filename
+        .byte   $48, ENOSPC     ; Volume full
+        .byte   $49, ENOSPC     ; Volume directory full
+;       .byte   $4A, EUNKNOWN   ; Incompatible file format
+        .byte   $4B, EINVAL     ; Unsupported storage_type
+;       .byte   $4C, EUNKNOWN   ; End of file encountered
+        .byte   $4D, ESPIPE     ; Position out of range
+        .byte   $4E, EACCES     ; File access error
+        .byte   $50, EINVAL     ; File is open
+;       .byte   $51, EUNKNOWN   ; Directory structure damaged
+        .byte   $52, ENODEV     ; Not a ProDOS volume
+        .byte   $53, ERANGE     ; Invalid system call parameter
+        .byte   $55, EMFILE     ; Volume Control Block table full
+        .byte   $56, EINVAL     ; Bad buffer address
+;       .byte   $57, EUNKNOWN   ; Duplicate volume
+;       .byte   $5A, EUNKNOWN   ; File structure damaged
 
 ErrTabSize = (* - ErrTab)
index 76e8dd60fe0da14c4f17983d4e21fab3b669a7e9..1558d85a73de4b96c4303d76b39f3752ec92e0a5 100644 (file)
@@ -5,8 +5,8 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
         .include        "apple2.inc"
 
index d07888844a3cd3d674e4348cb784514c3cd5a101..15ba4b345e9513436e7cc35d32e9523a1104ec42 100644 (file)
@@ -4,17 +4,17 @@
 ; RDKEY routine
 ;
 
-       .export         RDKEY
+        .export         RDKEY
 
-       .include        "apple2.inc"
+        .include        "apple2.inc"
 
-       .segment        "LOWCODE"
+        .segment        "LOWCODE"
 
 RDKEY:
-       ; Switch in ROM and call RDKEY
-       bit     $C082
-       jsr     $FD0C           ; Display prompt and read key from user input routine
+        ; Switch in ROM and call RDKEY
+        bit     $C082
+        jsr     $FD0C           ; Display prompt and read key from user input routine
 
-       ; Switch in LC bank 2 for R/O and return
-       bit     $C080
-       rts
+        ; Switch in LC bank 2 for R/O and return
+        bit     $C080
+        rts
index dccde611f8fff4f5854f141a62b53804a487ba5c..ef994d6aa19f7f802682d17dad985a8ddc071681 100644 (file)
 ; int __fastcall__ read (int fd, void* buf, unsigned count);
 ;
 
-        .constructor   initprompt
-        .export                _read
-        .import                rwprolog, rwcommon
-        .import                RDKEY, COUT
+        .constructor    initprompt
+        .export         _read
+        .import         rwprolog, rwcommon
+        .import         RDKEY, COUT
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "fcntl.inc"
-        .include       "mli.inc"
-        .include       "filedes.inc"
-        .include       "apple2.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "fcntl.inc"
+        .include        "mli.inc"
+        .include        "filedes.inc"
+        .include        "apple2.inc"
 
-        .segment       "INIT"
+        .segment        "INIT"
 
 initprompt:
         ; Set prompt <> ']' to let DOS 3.3 know that we're
         ; not in Applesoft immediate mode and thus keep it
         ; from scanning our device I/O for DOS commands.
-        lda    #$80            ; Same value used at $D52C
-        sta    PROMPT
+        lda     #$80            ; Same value used at $D52C
+        sta     PROMPT
         rts
 
         .code
 
 _read:
         ; Get parameters
-        jsr    rwprolog
-        bcs    errno
-        tax                    ; Save fd
+        jsr     rwprolog
+        bcs     errno
+        tax                     ; Save fd
 
         ; Check for read access
-        lda    fdtab + FD::FLAGS,y
-        and    #O_RDONLY
-        beq    einval
+        lda     fdtab + FD::FLAGS,y
+        and     #O_RDONLY
+        beq     einval
 
         ; Check for device
-        txa                    ; Restore fd
-        bmi    device
+        txa                     ; Restore fd
+        bmi     device
 
         ; Do read
-        ldy    #READ_CALL
-        jmp    rwcommon
+        ldy     #READ_CALL
+        jmp     rwcommon
 
         ; Device succeeds always
-device: lda    #$00
-        sta    __oserror
+device: lda     #$00
+        sta     __oserror
 
         ; Set counter to zero
-        sta    ptr3
-        sta    ptr3+1
+        sta     ptr3
+        sta     ptr3+1
 
         ; Check for zero count
-        lda    ptr2
-        ora    ptr2+1
-        beq    check
+        lda     ptr2
+        ora     ptr2+1
+        beq     check
 
         ; Read from device and echo to device
-next:   jsr    RDKEY
-        jsr    COUT
+next:   jsr     RDKEY
+        jsr     COUT
 
         ; Clear hi bit and check for '\r'
-        and    #$7F
-        cmp    #$0D
-        bne    :+
+        and     #$7F
+        cmp     #$0D
+        bne     :+
 
         ; Replace with '\n' and set count to zero
-        lda    #$0A
-        ldy    #$00
-        sty    ptr2
-        sty    ptr2+1
+        lda     #$0A
+        ldy     #$00
+        sty     ptr2
+        sty     ptr2+1
 
         ; Put char into buf
-:       ldy    #$00
-        sta    (ptr1),y
+:       ldy     #$00
+        sta     (ptr1),y
 
         ; Increment pointer
-        inc    ptr1
-        bne    :+
-        inc    ptr1+1
+        inc     ptr1
+        bne     :+
+        inc     ptr1+1
 
         ; Increment counter
-:       inc    ptr3
-        bne    check
-        inc    ptr3+1
+:       inc     ptr3
+        bne     check
+        inc     ptr3+1
 
         ; Check for counter less than count
-check:  lda    ptr3
-        cmp    ptr2
-        bcc    next
-        ldx    ptr3+1
-        cpx    ptr2+1
-        bcc    next
+check:  lda     ptr3
+        cmp     ptr2
+        bcc     next
+        ldx     ptr3+1
+        cpx     ptr2+1
+        bcc     next
 
         ; Return success, AX already set
         rts
 
         ; Load errno code
-einval: lda    #EINVAL
+einval: lda     #EINVAL
 
         ; Set __errno
-errno:  jmp    __directerrno
+errno:  jmp     __directerrno
index 84c782ea175abb9c6626398177161710cc4b06e4..8acfbbe8b729e86a5e3da0ea8f141edf63d083e5 100644 (file)
@@ -38,7 +38,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -50,27 +50,27 @@ struct dirent* __fastcall__ readdir (register DIR* dir)
     /* Search for the next active directory entry */
     do {
 
-       /* Read next directory block if necessary */
-       if (dir->current_entry == dir->entries_per_block) {
-           if (read (dir->fd,
-                     dir->block.bytes,
-                     sizeof (dir->block)) != sizeof (dir->block)) {
+        /* Read next directory block if necessary */
+        if (dir->current_entry == dir->entries_per_block) {
+            if (read (dir->fd,
+                      dir->block.bytes,
+                      sizeof (dir->block)) != sizeof (dir->block)) {
 
-               /* Just return failure as read() has */
-               /* set errno if (and only if) no EOF */
-               return NULL;
-           }
+                /* Just return failure as read() has */
+                /* set errno if (and only if) no EOF */
+                return NULL;
+            }
 
-           /* Start with first entry in next block */
-           dir->current_entry = 0;
-       }
+            /* Start with first entry in next block */
+            dir->current_entry = 0;
+        }
 
-       /* Compute pointer to current entry */
-       entry = dir->block.content.entries +
-               dir->current_entry * dir->entry_length;
+        /* Compute pointer to current entry */
+        entry = dir->block.content.entries +
+                dir->current_entry * dir->entry_length;
 
-       /* Switch to next entry */
-       ++dir->current_entry;
+        /* Switch to next entry */
+        ++dir->current_entry;
     } while (entry[0x00] == 0);
 
     /* Move creation date/time to allow for next step below */
index 474bf5760195e84b159027f8755dc53d6021f7f5..83fcb2ae70d1acb5d36319386d57349d6416bfc4 100644 (file)
@@ -4,19 +4,19 @@
 ; unsigned char __fastcall__ revers (unsigned char onoff)
 ;
 
-        .export                _revers
+        .export         _revers
 
-        .include       "apple2.inc"
+        .include        "apple2.inc"
 
 _revers:
-        tax                    ; Test onoff
-        beq    normal          ; If zero, "normal" must be set
-        ldx    #$3F+1          ; Set "inverse"
+        tax                     ; Test onoff
+        beq     normal          ; If zero, "normal" must be set
+        ldx     #$3F+1          ; Set "inverse"
 normal: dex                     ; $00->$FF, $40->$3F
-        lda    #$00            ; Preload return code for "normal"
-        ldy    INVFLG          ; Load current flag value
-        stx    INVFLG          ; Save new flag value
-        bmi    :+              ; Jump if current value is $FF (normal)
-        lda    #$01            ; Return "inverse"
-:       ldx    #$00
+        lda     #$00            ; Preload return code for "normal"
+        ldy     INVFLG          ; Load current flag value
+        stx     INVFLG          ; Save new flag value
+        bmi     :+              ; Jump if current value is $FF (normal)
+        lda     #$01            ; Return "inverse"
+:       ldx     #$00
         rts
index 7ff0cd70db2a3cb504c25fb07f2597678eaa96dd..3329852d8c2324bdc6ce04b36e91e5fee08432d3 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -49,17 +49,17 @@ void __fastcall__ rewinddir (register DIR* dir)
     /* Rewind directory file */
     if (lseek (dir->fd, 0, SEEK_SET)) {
 
-       /* Read directory key block */
-       if (read (dir->fd,
-                 dir->block.bytes,
-                 sizeof (dir->block)) == sizeof (dir->block)) {
+        /* Read directory key block */
+        if (read (dir->fd,
+                  dir->block.bytes,
+                  sizeof (dir->block)) == sizeof (dir->block)) {
 
-           /* Skip directory header entry */
-           dir->current_entry = 1;
+            /* Skip directory header entry */
+            dir->current_entry = 1;
 
-           /* Return success */
-           return;
-       }
+            /* Return success */
+            return;
+        }
     }
 
     /* Assert that no subsequent readdir() finds an active entry */
index c74ed1377d1f3a65c5bf0cd2d4e1caae0facaff3..3180a875d092880a786658488e4ab07aae2646af 100644 (file)
@@ -2,59 +2,59 @@
 ; Oliver Schmidt, 12.01.2005
 ;
 
-        .export                rwprolog, rwcommon, rwepilog
-        .import                popax
+        .export         rwprolog, rwcommon, rwepilog
+        .import         popax
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "fcntl.inc"
-        .include       "mli.inc"
-        .include       "filedes.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "fcntl.inc"
+        .include        "mli.inc"
+        .include        "filedes.inc"
 
 rwprolog:
         ; Save count
-        sta    ptr2
-        stx    ptr2+1
+        sta     ptr2
+        stx     ptr2+1
 
         ; Get and save buf
-        jsr    popax
-        sta    ptr1
-        stx    ptr1+1
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1
 
         ; Get and process fd
-        jsr    popax
-        jmp    getfd           ; Returns A, Y and C
+        jsr     popax
+        jmp     getfd           ; Returns A, Y and C
 
 rwcommon:
         ; Set fd
-        sta    mliparam + MLI::RW::REF_NUM
+        sta     mliparam + MLI::RW::REF_NUM
 
         ; Set buf
-        lda    ptr1
-        ldx    ptr1+1
-        sta    mliparam + MLI::RW::DATA_BUFFER
-        stx    mliparam + MLI::RW::DATA_BUFFER+1
+        lda     ptr1
+        ldx     ptr1+1
+        sta     mliparam + MLI::RW::DATA_BUFFER
+        stx     mliparam + MLI::RW::DATA_BUFFER+1
 
         ; Set count
-        lda    ptr2
-        ldx    ptr2+1
-        sta    mliparam + MLI::RW::REQUEST_COUNT
-        stx    mliparam + MLI::RW::REQUEST_COUNT+1
+        lda     ptr2
+        ldx     ptr2+1
+        sta     mliparam + MLI::RW::REQUEST_COUNT
+        stx     mliparam + MLI::RW::REQUEST_COUNT+1
 
         ; Call read or write
         tya
-        ldx    #RW_COUNT
-        jsr    callmli
-        bcc    rwepilog
-        cmp    #$4C            ; "End of file encountered"
-        bne    oserr
+        ldx     #RW_COUNT
+        jsr     callmli
+        bcc     rwepilog
+        cmp     #$4C            ; "End of file encountered"
+        bne     oserr
 
 rwepilog:
         ; Return success
-        sta    __oserror       ; A = 0
-        lda    mliparam + MLI::RW::TRANS_COUNT
-        ldx    mliparam + MLI::RW::TRANS_COUNT+1
+        sta     __oserror       ; A = 0
+        lda     mliparam + MLI::RW::TRANS_COUNT
+        ldx     mliparam + MLI::RW::TRANS_COUNT+1
         rts
 
         ; Set __oserror
-oserr:  jmp    __mappederrno
+oserr:  jmp     __mappederrno
index cb9ff2ec14eda6fe1be270ae619f6f7a36e599a0..37450563887b08d257dc076474182e3d251f0b4e 100644 (file)
 ; interrupt handling assumes that the 65816 is in 6502-emulation mode.
 ;
 
-       .include        "zeropage.inc"
-       .include        "ser-kernel.inc"
-       .include        "ser-error.inc"
+        .include        "zeropage.inc"
+        .include        "ser-kernel.inc"
+        .include        "ser-error.inc"
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment        "JUMPTABLE"
+        .segment        "JUMPTABLE"
 
-       ; Driver signature
-       .byte   $73, $65, $72           ; "ser"
-       .byte   SER_API_VERSION         ; Serial API version number
+        ; Driver signature
+        .byte   $73, $65, $72           ; "ser"
+        .byte   SER_API_VERSION         ; Serial API version number
 
-       ; Jump table.
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   OPEN
-       .addr   CLOSE
-       .addr   GET
-       .addr   PUT
-       .addr   STATUS
-       .addr   IOCTL
-       .addr   IRQ
+        ; Jump table.
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   OPEN
+        .addr   CLOSE
+        .addr   GET
+        .addr   PUT
+        .addr   STATUS
+        .addr   IOCTL
+        .addr   IRQ
 
 ;----------------------------------------------------------------------------
 ; I/O definitions
 
-ACIA           = $C088
-ACIA_DATA      = ACIA+0        ; Data register
-ACIA_STATUS    = ACIA+1        ; Status register
-ACIA_CMD       = ACIA+2        ; Command register
-ACIA_CTRL      = ACIA+3        ; Control register
+ACIA            = $C088
+ACIA_DATA       = ACIA+0        ; Data register
+ACIA_STATUS     = ACIA+1        ; Status register
+ACIA_CMD        = ACIA+2        ; Command register
+ACIA_CTRL       = ACIA+3        ; Control register
 
 ;----------------------------------------------------------------------------
 ; Global variables
 
-       .bss
-
-RecvHead:      .res    1       ; Head of receive buffer
-RecvTail:      .res    1       ; Tail of receive buffer
-RecvFreeCnt:   .res    1       ; Number of bytes in receive buffer
-SendHead:      .res    1       ; Head of send buffer
-SendTail:      .res    1       ; Tail of send buffer
-SendFreeCnt:   .res    1       ; Number of bytes in send buffer
-
-Stopped:       .res    1       ; Flow-stopped flag
-RtsOff:        .res    1       ;
-
-RecvBuf:       .res    256     ; Receive buffers: 256 bytes
-SendBuf:       .res    256     ; Send buffers: 256 bytes
-
-Index:         .res    1       ; I/O register index
-
-       .data
-
-Slot:  .byte   $02             ; Default to SSC in slot 2
-
-       .rodata
-
-       ; Tables used to translate RS232 params into register values
-BaudTable:                     ; bit7 = 1 means setting is invalid
-       .byte   $FF             ; SER_BAUD_45_5
-       .byte   $01             ; SER_BAUD_50
-       .byte   $02             ; SER_BAUD_75
-       .byte   $03             ; SER_BAUD_110
-       .byte   $04             ; SER_BAUD_134_5
-       .byte   $05             ; SER_BAUD_150
-       .byte   $06             ; SER_BAUD_300
-       .byte   $07             ; SER_BAUD_600
-       .byte   $08             ; SER_BAUD_1200
-       .byte   $09             ; SER_BAUD_1800
-       .byte   $0A             ; SER_BAUD_2400
-       .byte   $0B             ; SER_BAUD_3600
-       .byte   $0C             ; SER_BAUD_4800
-       .byte   $0D             ; SER_BAUD_7200
-       .byte   $0E             ; SER_BAUD_9600
-       .byte   $0F             ; SER_BAUD_19200
-       .byte   $FF             ; SER_BAUD_38400
-       .byte   $FF             ; SER_BAUD_57600
-       .byte   $FF             ; SER_BAUD_115200
-       .byte   $FF             ; SER_BAUD_230400
+        .bss
+
+RecvHead:       .res    1       ; Head of receive buffer
+RecvTail:       .res    1       ; Tail of receive buffer
+RecvFreeCnt:    .res    1       ; Number of bytes in receive buffer
+SendHead:       .res    1       ; Head of send buffer
+SendTail:       .res    1       ; Tail of send buffer
+SendFreeCnt:    .res    1       ; Number of bytes in send buffer
+
+Stopped:        .res    1       ; Flow-stopped flag
+RtsOff:         .res    1       ;
+
+RecvBuf:        .res    256     ; Receive buffers: 256 bytes
+SendBuf:        .res    256     ; Send buffers: 256 bytes
+
+Index:          .res    1       ; I/O register index
+
+        .data
+
+Slot:   .byte   $02             ; Default to SSC in slot 2
+
+        .rodata
+
+        ; Tables used to translate RS232 params into register values
+BaudTable:                      ; bit7 = 1 means setting is invalid
+        .byte   $FF             ; SER_BAUD_45_5
+        .byte   $01             ; SER_BAUD_50
+        .byte   $02             ; SER_BAUD_75
+        .byte   $03             ; SER_BAUD_110
+        .byte   $04             ; SER_BAUD_134_5
+        .byte   $05             ; SER_BAUD_150
+        .byte   $06             ; SER_BAUD_300
+        .byte   $07             ; SER_BAUD_600
+        .byte   $08             ; SER_BAUD_1200
+        .byte   $09             ; SER_BAUD_1800
+        .byte   $0A             ; SER_BAUD_2400
+        .byte   $0B             ; SER_BAUD_3600
+        .byte   $0C             ; SER_BAUD_4800
+        .byte   $0D             ; SER_BAUD_7200
+        .byte   $0E             ; SER_BAUD_9600
+        .byte   $0F             ; SER_BAUD_19200
+        .byte   $FF             ; SER_BAUD_38400
+        .byte   $FF             ; SER_BAUD_57600
+        .byte   $FF             ; SER_BAUD_115200
+        .byte   $FF             ; SER_BAUD_230400
 BitTable:
-       .byte   $60             ; SER_BITS_5
-       .byte   $40             ; SER_BITS_6
-       .byte   $20             ; SER_BITS_7
-       .byte   $00             ; SER_BITS_8
+        .byte   $60             ; SER_BITS_5
+        .byte   $40             ; SER_BITS_6
+        .byte   $20             ; SER_BITS_7
+        .byte   $00             ; SER_BITS_8
 StopTable:
-       .byte   $00             ; SER_STOP_1
-       .byte   $80             ; SER_STOP_2
+        .byte   $00             ; SER_STOP_1
+        .byte   $80             ; SER_STOP_2
 ParityTable:
-       .byte   $00             ; SER_PAR_NONE
-       .byte   $20             ; SER_PAR_ODD
-       .byte   $60             ; SER_PAR_EVEN
-       .byte   $A0             ; SER_PAR_MARK
-       .byte   $E0             ; SER_PAR_SPACE
+        .byte   $00             ; SER_PAR_NONE
+        .byte   $20             ; SER_PAR_ODD
+        .byte   $60             ; SER_PAR_EVEN
+        .byte   $A0             ; SER_PAR_MARK
+        .byte   $E0             ; SER_PAR_SPACE
 IdOfsTable:
-       .byte   $05             ; Pascal 1.0 ID byte
-       .byte   $07             ; Pascal 1.0 ID byte
-       .byte   $0B             ; Pascal 1.1 generic signature byte
-       .byte   $0C             ; Device signature byte
+        .byte   $05             ; Pascal 1.0 ID byte
+        .byte   $07             ; Pascal 1.0 ID byte
+        .byte   $0B             ; Pascal 1.1 generic signature byte
+        .byte   $0C             ; Device signature byte
 IdValTable:
-       .byte   $38             ; Fixed
-       .byte   $18             ; Fixed
-       .byte   $01             ; Fixed
-       .byte   $31             ; Serial or parallel I/O card type 1
+        .byte   $38             ; Fixed
+        .byte   $18             ; Fixed
+        .byte   $01             ; Fixed
+        .byte   $31             ; Serial or parallel I/O card type 1
 
-IdTableLen     = * - IdValTable
+IdTableLen      = * - IdValTable
 
-       .code
+        .code
 
 ;----------------------------------------------------------------------------
 ; INSTALL: Is called after the driver is loaded into memory. If possible,
@@ -149,119 +149,119 @@ IdTableLen      = * - IdValTable
 INSTALL:
 UNINSTALL:
 CLOSE:
-       ldx     Index           ; Check for open port
-       beq     :+
+        ldx     Index           ; Check for open port
+        beq     :+
 
-       ; Deactivate DTR and disable 6551 interrupts
-       lda     #%00001010
-       sta     ACIA_CMD,x
+        ; Deactivate DTR and disable 6551 interrupts
+        lda     #%00001010
+        sta     ACIA_CMD,x
 
-       ; Done, return an error code
-:      lda     #<SER_ERR_OK
-       tax                     ; A is zero
-       stx     Index           ; Mark port as closed
-       rts
+        ; Done, return an error code
+:       lda     #<SER_ERR_OK
+        tax                     ; A is zero
+        stx     Index           ; Mark port as closed
+        rts
 
 ;----------------------------------------------------------------------------
 ; OPEN: A pointer to a ser_params structure is passed in ptr1.
 ; Must return an SER_ERR_xx code in a/x.
 
-OPEN:  
-       ldx     #<$C000
-       stx     ptr2
-       lda     #>$C000
-       ora     Slot
-       sta     ptr2+1
-       
-       ; Check Pascal 1.1 Firmware Protocol ID bytes
-:      ldy     IdOfsTable,x
-       lda     IdValTable,x
-       cmp     (ptr2),y
-       bne     NoDevice
-       inx
-       cpx     #IdTableLen
-       bcc     :-
-       
-       ; Convert slot to I/O register index
-       lda     Slot
-       asl
-       asl
-       asl
-       asl
-       tax
-
-       ; Check if the handshake setting is valid
-       ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
-       lda     (ptr1),y
-       cmp     #SER_HS_HW              ; This is all we support
-       bne     InvParam
-
-       ; Initialize buffers
-       ldy     #$00
-       sty     Stopped
-       sty     RecvHead
-       sty     RecvTail
-       sty     SendHead
-       sty     SendTail
-       dey                             ; Y = 255
-       sty     RecvFreeCnt
-       sty     SendFreeCnt
-
-       ; Set the value for the control register, which contains stop bits,
-       ; word length and the baud rate.
-       ldy     #SER_PARAMS::BAUDRATE
-       lda     (ptr1),y                ; Baudrate index
-       tay
-       lda     BaudTable,y             ; Get 6551 value
-       bmi     InvBaud                 ; Branch if rate not supported
-       sta     tmp1
-
-       ldy     #SER_PARAMS::DATABITS   ; Databits
-       lda     (ptr1),y
-       tay
-       lda     BitTable,y
-       ora     tmp1
-       sta     tmp1
-
-       ldy     #SER_PARAMS::STOPBITS   ; Stopbits
-       lda     (ptr1),y
-       tay
-       lda     StopTable,y
-       ora     tmp1
-       ora     #%00010000              ; Receiver clock source = baudrate
-       sta     ACIA_CTRL,x
-
-       ; Set the value for the command register. We remember the base value
-       ; in RtsOff, since we will have to manipulate ACIA_CMD often.
-       ldy     #SER_PARAMS::PARITY     ; Parity
-       lda     (ptr1),y
-       tay
-       lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-       ora     #%00001000              ; Enable receive interrupts
-       sta     ACIA_CMD,x
-
-       ; Done
-       stx     Index                   ; Mark port as open
-       lda     #<SER_ERR_OK
-       tax                             ; A is zero
-       rts
-
-       ; Device (hardware) not found
-NoDevice:lda   #<SER_ERR_NO_DEVICE
-       ldx     #>SER_ERR_NO_DEVICE
-       rts
-
-       ; Invalid parameter
-InvParam:lda   #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
-
-       ; Baud rate not available
-InvBaud:lda    #<SER_ERR_BAUD_UNAVAIL
-       ldx     #>SER_ERR_BAUD_UNAVAIL
-       rts
+OPEN:   
+        ldx     #<$C000
+        stx     ptr2
+        lda     #>$C000
+        ora     Slot
+        sta     ptr2+1
+        
+        ; Check Pascal 1.1 Firmware Protocol ID bytes
+:       ldy     IdOfsTable,x
+        lda     IdValTable,x
+        cmp     (ptr2),y
+        bne     NoDevice
+        inx
+        cpx     #IdTableLen
+        bcc     :-
+        
+        ; Convert slot to I/O register index
+        lda     Slot
+        asl
+        asl
+        asl
+        asl
+        tax
+
+        ; Check if the handshake setting is valid
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
+        lda     (ptr1),y
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
+
+        ; Initialize buffers
+        ldy     #$00
+        sty     Stopped
+        sty     RecvHead
+        sty     RecvTail
+        sty     SendHead
+        sty     SendTail
+        dey                             ; Y = 255
+        sty     RecvFreeCnt
+        sty     SendFreeCnt
+
+        ; Set the value for the control register, which contains stop bits,
+        ; word length and the baud rate.
+        ldy     #SER_PARAMS::BAUDRATE
+        lda     (ptr1),y                ; Baudrate index
+        tay
+        lda     BaudTable,y             ; Get 6551 value
+        bmi     InvBaud                 ; Branch if rate not supported
+        sta     tmp1
+
+        ldy     #SER_PARAMS::DATABITS   ; Databits
+        lda     (ptr1),y
+        tay
+        lda     BitTable,y
+        ora     tmp1
+        sta     tmp1
+
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
+        lda     (ptr1),y
+        tay
+        lda     StopTable,y
+        ora     tmp1
+        ora     #%00010000              ; Receiver clock source = baudrate
+        sta     ACIA_CTRL,x
+
+        ; Set the value for the command register. We remember the base value
+        ; in RtsOff, since we will have to manipulate ACIA_CMD often.
+        ldy     #SER_PARAMS::PARITY     ; Parity
+        lda     (ptr1),y
+        tay
+        lda     ParityTable,y
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
+        sta     ACIA_CMD,x
+
+        ; Done
+        stx     Index                   ; Mark port as open
+        lda     #<SER_ERR_OK
+        tax                             ; A is zero
+        rts
+
+        ; Device (hardware) not found
+NoDevice:lda    #<SER_ERR_NO_DEVICE
+        ldx     #>SER_ERR_NO_DEVICE
+        rts
+
+        ; Invalid parameter
+InvParam:lda    #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
+
+        ; Baud rate not available
+InvBaud:lda     #<SER_ERR_BAUD_UNAVAIL
+        ldx     #>SER_ERR_BAUD_UNAVAIL
+        rts
 
 ;----------------------------------------------------------------------------
 ; GET: Will fetch a character from the receive buffer and store it into the
@@ -269,86 +269,86 @@ InvBaud:lda       #<SER_ERR_BAUD_UNAVAIL
 ; returned.
 
 GET:
-       ldx     Index
-       ldy     SendFreeCnt     ; Send data if necessary
-       iny                     ; Y == $FF?
-       beq     :+
-       lda     #$00            ; TryHard = false
-       jsr     TryToSend
-
-       ; Check for buffer empty
-:      lda     RecvFreeCnt     ; (25)
-       cmp     #$FF
-       bne     :+
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
-
-       ; Check for flow stopped & enough free: release flow control
-:      ldy     Stopped         ; (34)
-       beq     :+
-       cmp     #63
-       bcc     :+
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
-       sta     ACIA_CMD,x
-
-       ; Get byte from buffer
-:      ldy     RecvHead        ; (41)
-       lda     RecvBuf,y
-       inc     RecvHead
-       inc     RecvFreeCnt
-       ldx     #$00            ; (59)
-       sta     (ptr1,x)
-       txa                     ; Return code = 0
-       rts
+        ldx     Index
+        ldy     SendFreeCnt     ; Send data if necessary
+        iny                     ; Y == $FF?
+        beq     :+
+        lda     #$00            ; TryHard = false
+        jsr     TryToSend
+
+        ; Check for buffer empty
+:       lda     RecvFreeCnt     ; (25)
+        cmp     #$FF
+        bne     :+
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
+
+        ; Check for flow stopped & enough free: release flow control
+:       ldy     Stopped         ; (34)
+        beq     :+
+        cmp     #63
+        bcc     :+
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
+        sta     ACIA_CMD,x
+
+        ; Get byte from buffer
+:       ldy     RecvHead        ; (41)
+        lda     RecvBuf,y
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00            ; (59)
+        sta     (ptr1,x)
+        txa                     ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
 ; Must return an SER_ERR_xx code in a/x.
 
 PUT:
-       ldx     Index
-
-       ; Try to send
-       ldy     SendFreeCnt
-       iny                     ; Y = $FF?
-       beq     :+
-       pha
-       lda     #$00            ; TryHard = false
-       jsr     TryToSend
-       pla
-
-       ; Put byte into send buffer & send
-:      ldy     SendFreeCnt
-       bne     :+
-       lda     #<SER_ERR_OVERFLOW
-       ldx     #>SER_ERR_OVERFLOW
-       rts
-
-:      ldy     SendTail
-       sta     SendBuf,y
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$FF            ; TryHard = true
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-       rts
+        ldx     Index
+
+        ; Try to send
+        ldy     SendFreeCnt
+        iny                     ; Y = $FF?
+        beq     :+
+        pha
+        lda     #$00            ; TryHard = false
+        jsr     TryToSend
+        pla
+
+        ; Put byte into send buffer & send
+:       ldy     SendFreeCnt
+        bne     :+
+        lda     #<SER_ERR_OVERFLOW
+        ldx     #>SER_ERR_OVERFLOW
+        rts
+
+:       ldy     SendTail
+        sta     SendBuf,y
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$FF            ; TryHard = true
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
 ; Must return an SER_ERR_xx code in a/x.
 
 STATUS:
-       ldx     Index
-       lda     ACIA_STATUS,x
-       ldx     #$00
-       sta     (ptr1,x)
-       txa                     ; SER_ERR_OK
-       rts
+        ldx     Index
+        lda     ACIA_STATUS,x
+        ldx     #$00
+        sta     (ptr1,x)
+        txa                     ; SER_ERR_OK
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -356,23 +356,23 @@ STATUS:
 ; Must return an SER_ERR_xx code in a/x.
 
 IOCTL:
-       ; Check data msb and code to be 0
-       ora     ptr1+1
-       bne     :+
+        ; Check data msb and code to be 0
+        ora     ptr1+1
+        bne     :+
 
-       ; Check data lsb to be [1..7]
-       ldx     ptr1
-       beq     :+
-       cpx     #7+1
-       bcs     :+
+        ; Check data lsb to be [1..7]
+        ldx     ptr1
+        beq     :+
+        cpx     #7+1
+        bcs     :+
 
-       stx     Slot
-       tax                     ; SER_ERR_OK
-       rts
+        stx     Slot
+        tax                     ; SER_ERR_OK
+        rts
 
-:      lda     #<SER_ERR_INV_IOCTL
-       ldx     #>SER_ERR_INV_IOCTL
-       rts
+:       lda     #<SER_ERR_INV_IOCTL
+        ldx     #>SER_ERR_INV_IOCTL
+        rts
 
 ;----------------------------------------------------------------------------
 ; IRQ: Called from the builtin runtime IRQ handler as a subroutine. All
@@ -381,55 +381,55 @@ IOCTL:
 ; was handled, otherwise with carry clear.
 
 IRQ:
-       ldx     Index           ; Check for open port
-       beq     Done
-       lda     ACIA_STATUS,x   ; Check ACIA status for receive interrupt
-       and     #$08
-       beq     Done            ; Jump if no ACIA interrupt
-       lda     ACIA_DATA,x     ; Get byte from ACIA
-       ldy     RecvFreeCnt     ; Check if we have free space left
-       beq     Flow            ; Jump if no space in receive buffer
-       ldy     RecvTail        ; Load buffer pointer
-       sta     RecvBuf,y       ; Store received byte in buffer
-       inc     RecvTail        ; Increment buffer pointer
-       dec     RecvFreeCnt     ; Decrement free space counter
-       ldy     RecvFreeCnt     ; Check for buffer space low
-       cpy     #33
-       bcc     Flow            ; Assert flow control if buffer space low
-       rts                     ; Interrupt handled (carry already set)
-
-       ; Assert flow control if buffer space too low
-Flow:  lda     RtsOff
-       sta     ACIA_CMD,x
-       sta     Stopped
-       sec                     ; Interrupt handled
-Done:  rts
+        ldx     Index           ; Check for open port
+        beq     Done
+        lda     ACIA_STATUS,x   ; Check ACIA status for receive interrupt
+        and     #$08
+        beq     Done            ; Jump if no ACIA interrupt
+        lda     ACIA_DATA,x     ; Get byte from ACIA
+        ldy     RecvFreeCnt     ; Check if we have free space left
+        beq     Flow            ; Jump if no space in receive buffer
+        ldy     RecvTail        ; Load buffer pointer
+        sta     RecvBuf,y       ; Store received byte in buffer
+        inc     RecvTail        ; Increment buffer pointer
+        dec     RecvFreeCnt     ; Decrement free space counter
+        ldy     RecvFreeCnt     ; Check for buffer space low
+        cpy     #33
+        bcc     Flow            ; Assert flow control if buffer space low
+        rts                     ; Interrupt handled (carry already set)
+
+        ; Assert flow control if buffer space too low
+Flow:   lda     RtsOff
+        sta     ACIA_CMD,x
+        sta     Stopped
+        sec                     ; Interrupt handled
+Done:   rts
 
 ;----------------------------------------------------------------------------
 ; Try to send a byte. Internal routine. A = TryHard
 
 TryToSend:
-       sta     tmp1            ; Remember tryHard flag
-Again: lda     SendFreeCnt
-       cmp     #$FF
-       beq     Quit            ; Bail out
-
-       ; Check for flow stopped
-       lda     Stopped
-       bne     Quit            ; Bail out
-
-       ; Check that ACIA is ready to send
-       lda     ACIA_STATUS,x
-       and     #$10
-       bne     Send
-       bit     tmp1            ; Keep trying if must try hard  
-       bmi     Again
-Quit:  rts
-
-       ; Send byte and try again
-Send:  ldy     SendHead
-       lda     SendBuf,y
-       sta     ACIA_DATA,x
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     Again
+        sta     tmp1            ; Remember tryHard flag
+Again:  lda     SendFreeCnt
+        cmp     #$FF
+        beq     Quit            ; Bail out
+
+        ; Check for flow stopped
+        lda     Stopped
+        bne     Quit            ; Bail out
+
+        ; Check that ACIA is ready to send
+        lda     ACIA_STATUS,x
+        and     #$10
+        bne     Send
+        bit     tmp1            ; Keep trying if must try hard  
+        bmi     Again
+Quit:   rts
+
+        ; Send byte and try again
+Send:   ldy     SendHead
+        lda     SendBuf,y
+        sta     ACIA_DATA,x
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     Again
index 7eb67e1abd895fd975394941f85025bcb3ccfb69..8afc3af0ba8280afb48264278b4c5deb163e1f9d 100644 (file)
@@ -5,33 +5,33 @@
 ;
 
         .export         __syschdir
-        .import                pushname, popname
-       .import         initcwd
+        .import         pushname, popname
+        .import         initcwd
 
-       .include        "zeropage.inc"
-       .include        "mli.inc"
+        .include        "zeropage.inc"
+        .include        "mli.inc"
 
 __syschdir:
         ; Push name
-        jsr    pushname
-        bne    oserr
+        jsr     pushname
+        bne     oserr
 
         ; Set pushed name
-        lda    sp
-        ldx    sp+1
-        sta    mliparam + MLI::PREFIX::PATHNAME
-        stx    mliparam + MLI::PREFIX::PATHNAME+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::PREFIX::PATHNAME
+        stx     mliparam + MLI::PREFIX::PATHNAME+1
 
         ; Change directory
-        lda    #SET_PREFIX_CALL
-        ldx    #PREFIX_COUNT
-        jsr    callmli
-       bcs     cleanup
+        lda     #SET_PREFIX_CALL
+        ldx     #PREFIX_COUNT
+        jsr     callmli
+        bcs     cleanup
 
-       ; Update current working directory
-       jsr     initcwd         ; Returns with A = 0
+        ; Update current working directory
+        jsr     initcwd         ; Returns with A = 0
 
         ; Cleanup name
-cleanup:jsr    popname         ; Preserves A
+cleanup:jsr     popname         ; Preserves A
 
-oserr: rts
+oserr:  rts
index 1281fc5aeb861a7747df55a0762b24f0cda949e5..7759da2600c4214ce7474b3f0b9c5d55fd1f59ad 100644 (file)
@@ -5,51 +5,51 @@
 ;
 
         .export         __sysmkdir
-        .import                pushname, popname
-       .import         addysp, popax
+        .import         pushname, popname
+        .import         addysp, popax
 
-       .include        "zeropage.inc"
-       .include        "mli.inc"
+        .include        "zeropage.inc"
+        .include        "mli.inc"
 
 __sysmkdir:
         ; Throw away all parameters except the name
         dey
         dey
-        jsr    addysp
+        jsr     addysp
 
         ; Get and push name
-        jsr    popax
-        jsr    pushname
-        bne    oserr
+        jsr     popax
+        jsr     pushname
+        bne     oserr
 
         ; Set pushed name
-        lda    sp
-        ldx    sp+1
-        sta    mliparam + MLI::CREATE::PATHNAME
-        stx    mliparam + MLI::CREATE::PATHNAME+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::CREATE::PATHNAME
+        stx     mliparam + MLI::CREATE::PATHNAME+1
 
         ; Set all other parameters from template
-        ldx    #(MLI::CREATE::CREATE_TIME+1) - (MLI::CREATE::PATHNAME+1) - 1
-:       lda    CREATE,x
-        sta    mliparam + MLI::CREATE::ACCESS,x
+        ldx     #(MLI::CREATE::CREATE_TIME+1) - (MLI::CREATE::PATHNAME+1) - 1
+:       lda     CREATE,x
+        sta     mliparam + MLI::CREATE::ACCESS,x
         dex
-        bpl    :-
+        bpl     :-
 
         ; Make directory
-        lda    #CREATE_CALL
-        ldx    #CREATE_COUNT
-        jsr    callmli
+        lda     #CREATE_CALL
+        ldx     #CREATE_COUNT
+        jsr     callmli
 
         ; Cleanup name
-       jsr     popname         ; Preserves A
+        jsr     popname         ; Preserves A
 
-oserr: rts
+oserr:  rts
 
         .rodata
 
-CREATE: .byte  %11000011       ; ACCESS:       Standard full access
-        .byte  $0F             ; FILE_TYPE:    Directory file
-        .word  $0000           ; AUX_TYPE:     N/A
-        .byte  $0D             ; STORAGE_TYPE: Linked directory file
-        .word  $0000           ; CREATE_DATE:  Current date
-        .word  $0000           ; CREATE_TIME:  Current time
+CREATE: .byte   %11000011       ; ACCESS:       Standard full access
+        .byte   $0F             ; FILE_TYPE:    Directory file
+        .word   $0000           ; AUX_TYPE:     N/A
+        .byte   $0D             ; STORAGE_TYPE: Linked directory file
+        .word   $0000           ; CREATE_DATE:  Current date
+        .word   $0000           ; CREATE_TIME:  Current time
index 7483b932087fa9f763e34bf1f6f521eb4a84f0a3..08c4dff68f1e13e20e712e3462595b47451c272a 100644 (file)
@@ -5,28 +5,28 @@
 ;
 
         .export         __sysremove
-        .import                pushname, popname
+        .import         pushname, popname
 
-       .include        "zeropage.inc"
-       .include        "mli.inc"
+        .include        "zeropage.inc"
+        .include        "mli.inc"
 
 __sysremove:
         ; Push name
-        jsr    pushname
-        bne    oserr
+        jsr     pushname
+        bne     oserr
 
         ; Set pushed name
-        lda    sp
-        ldx    sp+1
-        sta    mliparam + MLI::DESTROY::PATHNAME
-        stx    mliparam + MLI::DESTROY::PATHNAME+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::DESTROY::PATHNAME
+        stx     mliparam + MLI::DESTROY::PATHNAME+1
 
         ; Remove file
-        lda    #DESTROY_CALL
-        ldx    #DESTROY_COUNT
-        jsr    callmli
+        lda     #DESTROY_CALL
+        ldx     #DESTROY_COUNT
+        jsr     callmli
 
         ; Cleanup name
-       jsr     popname         ; Preserves A
+        jsr     popname         ; Preserves A
 
-oserr: rts
+oserr:  rts
index af57e1405c7ca86ed6112dde89e5ea86dac4ebe3..0fe8dd7b184d8032ef0e309a4310ac643242c616 100644 (file)
@@ -5,55 +5,55 @@
 ;
 
         .export         __sysrename
-        .import                pushname, popname
-       .import         popax
+        .import         pushname, popname
+        .import         popax
 
-       .include        "zeropage.inc"
-       .include        "mli.inc"
+        .include        "zeropage.inc"
+        .include        "mli.inc"
 
 __sysrename:
-       ; Save newname
-       sta     ptr2
-       stx     ptr2+1
+        ; Save newname
+        sta     ptr2
+        stx     ptr2+1
 
         ; Get and push oldname
-       jsr     popax
-        jsr    pushname
-        bne    oserr1
+        jsr     popax
+        jsr     pushname
+        bne     oserr1
 
-       ; Save pushed oldname
-        lda    sp
-        ldx    sp+1
-       sta     ptr3
-       stx     ptr3+1
+        ; Save pushed oldname
+        lda     sp
+        ldx     sp+1
+        sta     ptr3
+        stx     ptr3+1
 
         ; Restore and push newname
-       lda     ptr2
-       ldx     ptr2+1
-        jsr    pushname
-        bne    oserr2
+        lda     ptr2
+        ldx     ptr2+1
+        jsr     pushname
+        bne     oserr2
 
         ; Restore and set pushed oldname
-        lda    ptr3
-        ldx    ptr3+1
-        sta    mliparam + MLI::RENAME::PATHNAME
-        stx    mliparam + MLI::RENAME::PATHNAME+1
+        lda     ptr3
+        ldx     ptr3+1
+        sta     mliparam + MLI::RENAME::PATHNAME
+        stx     mliparam + MLI::RENAME::PATHNAME+1
 
         ; Set pushed newname
-       lda     sp
-        ldx    sp+1
-        sta    mliparam + MLI::RENAME::NEW_PATHNAME
-        stx    mliparam + MLI::RENAME::NEW_PATHNAME+1
+        lda     sp
+        ldx     sp+1
+        sta     mliparam + MLI::RENAME::NEW_PATHNAME
+        stx     mliparam + MLI::RENAME::NEW_PATHNAME+1
 
         ; Rename file
-        lda    #RENAME_CALL
-        ldx    #RENAME_COUNT
-        jsr    callmli
+        lda     #RENAME_CALL
+        ldx     #RENAME_COUNT
+        jsr     callmli
 
         ; Cleanup newname
-       jsr     popname         ; Preserves A
+        jsr     popname         ; Preserves A
 
         ; Cleanup oldname
-oserr2:        jmp     popname         ; Preserves A
+oserr2: jmp     popname         ; Preserves A
 
-oserr1:        rts
+oserr1: rts
index 668be12081ceb3ef2bed71bd44414e3a30ada0c4..11ac1f7e70e2a3d4fc3bfbd2a14ce6f668ce1a21 100644 (file)
@@ -5,6 +5,6 @@
 ;
 
         .export         __sysrmdir
-        .import                __sysremove
+        .import         __sysremove
 
 __sysrmdir := __sysremove
index 0a5f530bac58a0b53941ae5817b25748a9deca75..98d39a2787bf3fe1880f419bd7a8949ed8af43e4 100644 (file)
 ;
 
         .include        "time.inc"
-       .include        "zeropage.inc"
-       .include        "mli.inc"
+        .include        "zeropage.inc"
+        .include        "mli.inc"
 
 __systime:
-       ; Update time
-       lda     #GET_TIME_CALL
-       ldx     #GET_TIME_COUNT
-       jsr     callmli
-       bcs     err
-
-       lda     DATELO+1
-       lsr
-       php                     ; Save month msb
-       cmp     #70             ; Year < 70?
-       bcs     :+              ; No, leave alone
-       adc     #100            ; Move 19xx to 20xx
-:      sta     TM + tm::tm_year
-       lda     DATELO
-       tax                     ; Save day
-       plp                     ; Restore month msb
-       ror
-       lsr
-       lsr
-       lsr
-       lsr
-       beq     err             ; [1..12] allows for validity check
-       tay
-       dey                     ; Move [1..12] to [0..11]
-       sty     TM + tm::tm_mon
-       txa                     ; Restore day
-       and     #%00011111
-       sta     TM + tm::tm_mday
-
-       lda     TIMELO+1
-       sta     TM + tm::tm_hour
-       lda     TIMELO
-       sta     TM + tm::tm_min
-
-       lda     #<TM
-       ldx     #>TM
-       jmp     _mktime
-
-err:   lda     #$FF
-       tax
-       sta     sreg
-       sta     sreg+1
-       rts                     ; Return -1
-
-       .bss
-
-TM:    .tag    tm
+        ; Update time
+        lda     #GET_TIME_CALL
+        ldx     #GET_TIME_COUNT
+        jsr     callmli
+        bcs     err
+
+        lda     DATELO+1
+        lsr
+        php                     ; Save month msb
+        cmp     #70             ; Year < 70?
+        bcs     :+              ; No, leave alone
+        adc     #100            ; Move 19xx to 20xx
+:       sta     TM + tm::tm_year
+        lda     DATELO
+        tax                     ; Save day
+        plp                     ; Restore month msb
+        ror
+        lsr
+        lsr
+        lsr
+        lsr
+        beq     err             ; [1..12] allows for validity check
+        tay
+        dey                     ; Move [1..12] to [0..11]
+        sty     TM + tm::tm_mon
+        txa                     ; Restore day
+        and     #%00011111
+        sta     TM + tm::tm_mday
+
+        lda     TIMELO+1
+        sta     TM + tm::tm_hour
+        lda     TIMELO
+        sta     TM + tm::tm_min
+
+        lda     #<TM
+        ldx     #>TM
+        jmp     _mktime
+
+err:    lda     #$FF
+        tax
+        sta     sreg
+        sta     sreg+1
+        rts                     ; Return -1
+
+        .bss
+
+TM:     .tag    tm
index aa7a8c4371b1bc1517ee7ff78ffdd23015256f13..ead1dca39a962a40317b9fb503c506639ae9057c 100644 (file)
@@ -1,5 +1,5 @@
 #################################################################################
-#                                                                               #      
+#                                                                               #
 # LOADER.SYSTEM - an Apple][ ProDOS 8 loader for cc65 programs (Oliver Schmidt) #
 #                                                                               #
 #################################################################################
index 71d79140ea5ed9f897b7bb6d07740275956cb0e7..0173f6105b75b6c4e08e9b190642e3a77dc4376d 100644 (file)
 ;                                                                               ;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-A1L            := $3C
-A1H            := $3D
-STACK          := $0100
-BUF            := $0200
-PATHNAME       := $0280
-MLI            := $BF00
-VERSION                := $FBB3
-RDKEY          := $FD0C
-PRBYTE         := $FDDA
-COUT           := $FDED
-
-QUIT_CALL         = $65
+A1L             := $3C
+A1H             := $3D
+STACK           := $0100
+BUF             := $0200
+PATHNAME        := $0280
+MLI             := $BF00
+VERSION         := $FBB3
+RDKEY           := $FD0C
+PRBYTE          := $FDDA
+COUT            := $FDED
+
+QUIT_CALL          = $65
 GET_FILE_INFO_CALL = $C4
-OPEN_CALL         = $C8
-READ_CALL         = $CA
-CLOSE_CALL        = $CC
+OPEN_CALL          = $C8
+READ_CALL          = $CA
+CLOSE_CALL         = $CC
 FILE_NOT_FOUND_ERR = $46
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-       .import __CODE_0300_SIZE__, __DATA_0300_SIZE__
-       .import __CODE_0300_LOAD__, __CODE_0300_RUN__
+        .import __CODE_0300_SIZE__, __DATA_0300_SIZE__
+        .import __CODE_0300_LOAD__, __CODE_0300_RUN__
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-.segment       "DATA_2000"
+.segment        "DATA_2000"
 
 GET_FILE_INFO_PARAM:
-               .byte   $0A             ;PARAM_COUNT
-               .addr   PATHNAME        ;PATHNAME
-               .byte   $00             ;ACCESS
-               .byte   $00             ;FILE_TYPE
-FILE_INFO_ADDR:        .word   $0000           ;AUX_TYPE
-               .byte   $00             ;STORAGE_TYPE
-               .word   $0000           ;BLOCKS_USED
-               .word   $0000           ;MOD_DATE
-               .word   $0000           ;MOD_TIME
-               .word   $0000           ;CREATE_DATE
-               .word   $0000           ;CREATE_TIME
+                .byte   $0A             ;PARAM_COUNT
+                .addr   PATHNAME        ;PATHNAME
+                .byte   $00             ;ACCESS
+                .byte   $00             ;FILE_TYPE
+FILE_INFO_ADDR: .word   $0000           ;AUX_TYPE
+                .byte   $00             ;STORAGE_TYPE
+                .word   $0000           ;BLOCKS_USED
+                .word   $0000           ;MOD_DATE
+                .word   $0000           ;MOD_TIME
+                .word   $0000           ;CREATE_DATE
+                .word   $0000           ;CREATE_TIME
 
 OPEN_PARAM:
-               .byte   $03             ;PARAM_COUNT
-               .addr   PATHNAME        ;PATHNAME
-               .addr   MLI - 1024      ;IO_BUFFER
-OPEN_REF:      .byte   $00             ;REF_NUM
+                .byte   $03             ;PARAM_COUNT
+                .addr   PATHNAME        ;PATHNAME
+                .addr   MLI - 1024      ;IO_BUFFER
+OPEN_REF:       .byte   $00             ;REF_NUM
 
 LOADING:
-               .byte   $0D
-               .asciiz "Loading "
+                .byte   $0D
+                .asciiz "Loading "
 
 ELLIPSES:
-               .byte   " ...", $0D, $0D, $00
+                .byte   " ...", $0D, $0D, $00
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-.segment       "DATA_0300"
+.segment        "DATA_0300"
 
 READ_PARAM:
-               .byte   $04             ;PARAM_COUNT
-READ_REF:      .byte   $00             ;REF_NUM
-READ_ADDR:     .addr   $0000           ;DATA_BUFFER
-               .word   $FFFF           ;REQUEST_COUNT
-               .word   $0000           ;TRANS_COUNT
+                .byte   $04             ;PARAM_COUNT
+READ_REF:       .byte   $00             ;REF_NUM
+READ_ADDR:      .addr   $0000           ;DATA_BUFFER
+                .word   $FFFF           ;REQUEST_COUNT
+                .word   $0000           ;TRANS_COUNT
 
 CLOSE_PARAM:
-               .byte   $01             ;PARAM_COUNT
-CLOSE_REF:     .byte   $00             ;REF_NUM
+                .byte   $01             ;PARAM_COUNT
+CLOSE_REF:      .byte   $00             ;REF_NUM
 
 QUIT_PARAM:
-               .byte   $04             ;PARAM_COUNT
-               .byte   $00             ;QUIT_TYPE
-               .word   $0000           ;RESERVED
-               .byte   $00             ;RESERVED
-               .word   $0000           ;RESERVED
+                .byte   $04             ;PARAM_COUNT
+                .byte   $00             ;QUIT_TYPE
+                .word   $0000           ;RESERVED
+                .byte   $00             ;RESERVED
+                .word   $0000           ;RESERVED
 
 FILE_NOT_FOUND:
-               .asciiz "... File Not Found"
-                               
+                .asciiz "... File Not Found"
+                                
 ERROR_NUMBER:
-               .asciiz "... Error $"
+                .asciiz "... Error $"
 
 PRESS_ANY_KEY:
-               .asciiz " - Press Any Key "
+                .asciiz " - Press Any Key "
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-.segment       "CODE_2000"
-
-       jmp     :+
-       .byte   $EE
-       .byte   $EE
-       .byte   65
-STARTUP:.res   65
-
-       ; Reset stack
-:      ldx     #$FF
-       txs
-
-       ; Relocate CODE_0300 and DATA_0300
-       ldx     #<(__CODE_0300_SIZE__ + __DATA_0300_SIZE__)
-:      lda     __CODE_0300_LOAD__ - 1,x
-       sta     __CODE_0300_RUN__ - 1,x
-       dex
-       bne     :-
-
-       ; Remove ".SYSTEM" from pathname
-       lda     PATHNAME
-       sec
-       sbc     #.strlen(".SYSTEM")
-       sta     PATHNAME
-
-       ; Add trailing '\0' to pathname
-       tax
-       lda     #$00
-       sta     PATHNAME + 1,x
-
-       ; Copy ProDOS startup filename and trailing '\0' to stack
-       ldx     STARTUP
-       lda     #$00
-       beq     :++             ; bra
-:      lda     STARTUP + 1,x
-:      sta     STACK,x
-       dex
-       bpl     :--     
-
-       ; Provide some user feedback
-       lda     #<LOADING
-       ldx     #>LOADING
-       jsr     PRINT
-       lda     #<(PATHNAME + 1)
-       ldx     #>(PATHNAME + 1)
-       jsr     PRINT
-       lda     #<ELLIPSES
-       ldx     #>ELLIPSES
-       jsr     PRINT
-
-       jsr     MLI
-       .byte   GET_FILE_INFO_CALL
-       .word   GET_FILE_INFO_PARAM
-       bcc     :+
-       jmp     ERROR
-
-:      jsr     MLI
-       .byte   OPEN_CALL
-       .word   OPEN_PARAM
-       bcc     :+
-       jmp     ERROR
-
-       ; Copy file reference number
-:      lda     OPEN_REF
-       sta     READ_REF
-       sta     CLOSE_REF
-
-       ; Get load address from aux-type
-       lda     FILE_INFO_ADDR
-       ldx     FILE_INFO_ADDR + 1
-       sta     READ_ADDR
-       stx     READ_ADDR + 1
-
-       ; It's high time to leave this place
-       jmp     __CODE_0300_RUN__
+.segment        "CODE_2000"
+
+        jmp     :+
+        .byte   $EE
+        .byte   $EE
+        .byte   65
+STARTUP:.res    65
+
+        ; Reset stack
+:       ldx     #$FF
+        txs
+
+        ; Relocate CODE_0300 and DATA_0300
+        ldx     #<(__CODE_0300_SIZE__ + __DATA_0300_SIZE__)
+:       lda     __CODE_0300_LOAD__ - 1,x
+        sta     __CODE_0300_RUN__ - 1,x
+        dex
+        bne     :-
+
+        ; Remove ".SYSTEM" from pathname
+        lda     PATHNAME
+        sec
+        sbc     #.strlen(".SYSTEM")
+        sta     PATHNAME
+
+        ; Add trailing '\0' to pathname
+        tax
+        lda     #$00
+        sta     PATHNAME + 1,x
+
+        ; Copy ProDOS startup filename and trailing '\0' to stack
+        ldx     STARTUP
+        lda     #$00
+        beq     :++             ; bra
+:       lda     STARTUP + 1,x
+:       sta     STACK,x
+        dex
+        bpl     :--     
+
+        ; Provide some user feedback
+        lda     #<LOADING
+        ldx     #>LOADING
+        jsr     PRINT
+        lda     #<(PATHNAME + 1)
+        ldx     #>(PATHNAME + 1)
+        jsr     PRINT
+        lda     #<ELLIPSES
+        ldx     #>ELLIPSES
+        jsr     PRINT
+
+        jsr     MLI
+        .byte   GET_FILE_INFO_CALL
+        .word   GET_FILE_INFO_PARAM
+        bcc     :+
+        jmp     ERROR
+
+:       jsr     MLI
+        .byte   OPEN_CALL
+        .word   OPEN_PARAM
+        bcc     :+
+        jmp     ERROR
+
+        ; Copy file reference number
+:       lda     OPEN_REF
+        sta     READ_REF
+        sta     CLOSE_REF
+
+        ; Get load address from aux-type
+        lda     FILE_INFO_ADDR
+        ldx     FILE_INFO_ADDR + 1
+        sta     READ_ADDR
+        stx     READ_ADDR + 1
+
+        ; It's high time to leave this place
+        jmp     __CODE_0300_RUN__
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-.segment       "CODE_0300"
-
-       jsr     MLI
-       .byte   READ_CALL
-       .word   READ_PARAM
-       bcs     ERROR
-
-       jsr     MLI
-       .byte   CLOSE_CALL
-       .word   CLOSE_PARAM
-       bcs     ERROR
-
-       ; Copy REM token and startup filename to BASIC input buffer
-       ldx     #$00
-       lda     #$B2
-       bne     :++             ; bra
-:      inx
-       lda     a:STACK - 1,x
-:      sta     BUF,x
-       bne     :--
-       
-       ; Go for it ...
-       jmp     (READ_ADDR)
+.segment        "CODE_0300"
+
+        jsr     MLI
+        .byte   READ_CALL
+        .word   READ_PARAM
+        bcs     ERROR
+
+        jsr     MLI
+        .byte   CLOSE_CALL
+        .word   CLOSE_PARAM
+        bcs     ERROR
+
+        ; Copy REM token and startup filename to BASIC input buffer
+        ldx     #$00
+        lda     #$B2
+        bne     :++             ; bra
+:       inx
+        lda     a:STACK - 1,x
+:       sta     BUF,x
+        bne     :--
+        
+        ; Go for it ...
+        jmp     (READ_ADDR)
 
 PRINT:
-       sta     A1L
-       stx     A1H
-       ldx     VERSION
-       ldy     #$00
-:      lda     (A1L),y
-       beq     :++
-       cpx     #$06            ; //e ?
-       beq     :+
-       cmp     #$60            ; lowercase ?
-        bcc    :+
-        and    #$5F            ; -> uppercase
-:      ora     #$80
-       jsr     COUT
-       iny
-       bne     :--             ; bra
-:      rts
+        sta     A1L
+        stx     A1H
+        ldx     VERSION
+        ldy     #$00
+:       lda     (A1L),y
+        beq     :++
+        cpx     #$06            ; //e ?
+        beq     :+
+        cmp     #$60            ; lowercase ?
+        bcc     :+
+        and     #$5F            ; -> uppercase
+:       ora     #$80
+        jsr     COUT
+        iny
+        bne     :--             ; bra
+:       rts
 
 ERROR:
-       cmp     #FILE_NOT_FOUND_ERR
-       bne     :+
-       lda     #<FILE_NOT_FOUND
-       ldx     #>FILE_NOT_FOUND
-       jsr     PRINT
-       beq     :++             ; bra
-:      pha
-       lda     #<ERROR_NUMBER
-       ldx     #>ERROR_NUMBER
-       jsr     PRINT
-       pla
-       jsr     PRBYTE
-:      lda     #<PRESS_ANY_KEY
-       ldx     #>PRESS_ANY_KEY
-       jsr     PRINT
-       jsr     RDKEY
-       jsr     MLI
-       .byte   QUIT_CALL
-       .word   QUIT_PARAM
+        cmp     #FILE_NOT_FOUND_ERR
+        bne     :+
+        lda     #<FILE_NOT_FOUND
+        ldx     #>FILE_NOT_FOUND
+        jsr     PRINT
+        beq     :++             ; bra
+:       pha
+        lda     #<ERROR_NUMBER
+        ldx     #>ERROR_NUMBER
+        jsr     PRINT
+        pla
+        jsr     PRBYTE
+:       lda     #<PRESS_ANY_KEY
+        ldx     #>PRESS_ANY_KEY
+        jsr     PRINT
+        jsr     RDKEY
+        jsr     MLI
+        .byte   QUIT_CALL
+        .word   QUIT_PARAM
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index e57337e9247b104feff329f6d1fd395b5fe95ae2..d5e9b80d75e9da7ed409505ea729f04ed65f3fbc 100644 (file)
@@ -9,12 +9,12 @@
 ;
         .ifdef  __APPLE2ENH__
 
-        .export        _textframexy, _textframe
-        .import        popa, pusha, _gotoxy
-        .import                chlinedirect, cvlinedirect
+        .export         _textframexy, _textframe
+        .import         popa, pusha, _gotoxy
+        .import         chlinedirect, cvlinedirect
 
-        .include       "zeropage.inc"
-        .include       "apple2.inc"
+        .include        "zeropage.inc"
+        .include        "apple2.inc"
 
 WIDTH   = tmp2
 HEIGHT  = tmp3
@@ -23,60 +23,60 @@ YORIGIN = ptr1
 
 _textframexy:
         sec
-        bra    :+
+        bra     :+
 
 _textframe:
         clc
-:       ldx    INVFLG
-        phx                    ; Save character display mode
-        ldx    #$FF
-        stx    INVFLG          ; Set normal character display mode
-        pha                    ; Save index
-        jsr    popa            ; Get height
-        sta    HEIGHT
-        jsr    popa            ; Get width
-        sta    WIDTH
-        lda    CH
-        ldx    CV
-        bcc    noxy
-        jsr    popa            ; Get y
+:       ldx     INVFLG
+        phx                     ; Save character display mode
+        ldx     #$FF
+        stx     INVFLG          ; Set normal character display mode
+        pha                     ; Save index
+        jsr     popa            ; Get height
+        sta     HEIGHT
+        jsr     popa            ; Get width
+        sta     WIDTH
+        lda     CH
+        ldx     CV
+        bcc     noxy
+        jsr     popa            ; Get y
         tax
-        jsr    popa            ; Get x
-noxy:   sta    XORIGIN
-        stx    YORIGIN
-        plx                    ; Restore index
-loop:   lda    XOFFS,x
+        jsr     popa            ; Get x
+noxy:   sta     XORIGIN
+        stx     YORIGIN
+        plx                     ; Restore index
+loop:   lda     XOFFS,x
         clc
-        bpl    :+              ; Relative to left edge?
-        adc    WIDTH
-:       adc    XORIGIN
-        jsr    pusha
-        lda    YOFFS,x
+        bpl     :+              ; Relative to left edge?
+        adc     WIDTH
+:       adc     XORIGIN
+        jsr     pusha
+        lda     YOFFS,x
         clc
-        bpl    :+              ; Relative to top?
-        adc    HEIGHT
-:       adc    YORIGIN
-        jsr    _gotoxy         ; Call this one, will pop params
+        bpl     :+              ; Relative to top?
+        adc     HEIGHT
+:       adc     YORIGIN
+        jsr     _gotoxy         ; Call this one, will pop params
         txa
         tay
-        lsr                    ; Get bit 0 (vline) into carry
-        lda    LENGTH,x
-        phx                    ; Save index
-        ldx    CHAR,y
-        bcc    hline
+        lsr                     ; Get bit 0 (vline) into carry
+        lda     LENGTH,x
+        phx                     ; Save index
+        ldx     CHAR,y
+        bcc     hline
         clc
-        adc    HEIGHT
-        jsr    cvlinedirect
-        bra    next
-hline:  adc    WIDTH
-        jsr    chlinedirect
-next:   plx                    ; Restore index
+        adc     HEIGHT
+        jsr     cvlinedirect
+        bra     next
+hline:  adc     WIDTH
+        jsr     chlinedirect
+next:   plx                     ; Restore index
         inx
         txa
-        and    #$03            ; Mask style
-        bne    loop
+        and     #$03            ; Mask style
+        bne     loop
         pla
-        sta    INVFLG          ; Restore character display mode
+        sta     INVFLG          ; Restore character display mode
         rts
 
         .rodata
@@ -88,21 +88,21 @@ next:   plx                 ; Restore index
 ; x offset for the line starting point
 ; - a positive value means relative to the frame left edge
 ; - a negative value menas relative to the frame right edge
-XOFFS:  .byte          0, 0, 0, <-2, 1, 0, 1, <-2
+XOFFS:  .byte   0, 0, 0, <-2, 1, 0, 1, <-2
 
 ; y offset for the line starting point
 ; - a positive value means relative to the frame top
 ; - a negative value menas relative to the frame bottom
-YOFFS:  .byte  0, 1, <-2, 1, 0, 0, <-2, 0
+YOFFS:  .byte   0, 1, <-2, 1, 0, 0, <-2, 0
 
 ; length of the line relative to the frame size
 ; - a negative value for hlines means shorter than the width
 ; - a negative value for vlines menas shorter than the height
-LENGTH: .byte  0, <-2, 0, <-2, <-2, 0, <-2, 0
+LENGTH: .byte   0, <-2, 0, <-2, <-2, 0, <-2, 0
 
 ; character to use for drawing the line
 ; - hibit set means normal printable character
 ; - hibit clear means MouseText character
-CHAR:   .byte  '_'|$80, '_', 'L', 'Z', 'L', 'Z', '_'|$80, '_'
+CHAR:   .byte   '_'|$80, '_', 'L', 'Z', 'L', 'Z', '_'|$80, '_'
 
         .endif                  ; __APPLE2ENH__
index ce2814a1c9030c958c81aa12c3e61f15de7ccc1f..145b78e4adc548c294b1cd93be95a61739bbd466 100644 (file)
@@ -5,55 +5,55 @@
 ; Oliver Schmidt <ol.sc@web.de>
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
-       .include        "apple2.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
+        .include        "apple2.inc"
 
 ; ------------------------------------------------------------------------
 
 ; Zero page stuff
 
-HBASL  :=      $26
-HMASK  :=      $30
-PAGE   :=      $E6
-SCALE  :=      $E7
-ROT    :=      $F9
+HBASL   :=      $26
+HMASK   :=      $30
+PAGE    :=      $E6
+SCALE   :=      $E7
+ROT     :=      $F9
 
 ; Graphics entry points, by cbmnut (applenut??) cbmnut@hushmail.com
 
-TEXT    :=     $F399   ; Return to text screen
-HGR2    :=     $F3D8   ; Initialize and clear hi-res page 2.
-HGR     :=     $F3E2   ; Initialize and clear hi-res page 1.
-HCLR    :=     $F3F2   ; Clear the current hi-res screen to black.
-BKGND   :=     $F3F6   ; Clear the current hi-res screen to the
+TEXT    :=      $F399   ; Return to text screen
+HGR2    :=      $F3D8   ; Initialize and clear hi-res page 2.
+HGR     :=      $F3E2   ; Initialize and clear hi-res page 1.
+HCLR    :=      $F3F2   ; Clear the current hi-res screen to black.
+BKGND   :=      $F3F6   ; Clear the current hi-res screen to the
                         ; last plotted color (from ($1C).
-HPOSN   :=     $F411   ; Positions the hi-res cursor without
+HPOSN   :=      $F411   ; Positions the hi-res cursor without
                         ; plotting a point.
                         ; Enter with (A) = Y-coordinate, and
                         ; (Y,X) = X-coordinate.
-HPLOT   :=     $F457   ; Calls HPOSN and tries to plot a dot at
+HPLOT   :=      $F457   ; Calls HPOSN and tries to plot a dot at
                         ; the cursor's position.  If you are
                         ; trying to plot a non-white color at
                         ; a complementary color position, no
                         ; dot will be plotted.
-HLIN    :=     $F53A   ; Draws a line from the last plotted
+HLIN    :=      $F53A   ; Draws a line from the last plotted
                         ; point or line destination to:
                         ; (X,A) = X-coordinate, and
                         ; (Y) = Y-coordinate.
-HFIND   :=     $F5CB   ; Converts the hi-res coursor's position
+HFIND   :=      $F5CB   ; Converts the hi-res coursor's position
                         ; back to X- and Y-coordinates; stores
                         ; X-coordinate at $E0,E1 and Y-coordinate
                         ; at $E2.
-DRAW    :=     $F601   ; Draws a shape.  Enter with (Y,X) = the
+DRAW    :=      $F601   ; Draws a shape.  Enter with (Y,X) = the
                         ; address of the shape table, and (A) =
                         ; the rotation factor.  Uses the current
                         ; color.
-XDRAW   :=     $F65D   ; Draws a shape by inverting the existing
+XDRAW   :=      $F65D   ; Draws a shape by inverting the existing
                         ; color of the dots the shape draws over.
                         ; Same entry parameters as DRAW.
-SETHCOL :=     $F6EC   ; Set the hi-res color to (X), where (X)
+SETHCOL :=      $F6EC   ; Set the hi-res color to (X), where (X)
                         ; must be between 0 and 7.
 
 ; ------------------------------------------------------------------------
@@ -61,100 +61,100 @@ SETHCOL :=        $F6EC   ; Set the hi-res color to (X), where (X)
 ; Variables mapped to the zero page segment variables. Some of these are
 ; used for passing parameters to the driver.
 
-X1     :=      ptr1
-Y1     :=      ptr2
-X2     :=      ptr3
-Y2     :=      ptr4
+X1      :=      ptr1
+Y1      :=      ptr2
+X2      :=      ptr3
+Y2      :=      ptr4
 
 ; ------------------------------------------------------------------------
 
-       .segment        "JUMPTABLE"
+        .segment        "JUMPTABLE"
 
 ; Header. Includes jump table and constants.
 
 ; First part of the header is a structure that has a magic and defines the
 ; capabilities of the driver
 
-       .byte   $74, $67, $69   ; "tgi"
-       .byte   TGI_API_VERSION ; TGI API version number
-       .word   280             ; X resolution
-       .word   192             ; Y resolution
-       .byte   8               ; Number of drawing colors
-pages: .byte   2               ; Number of screens available
-       .byte   7               ; System font X size
-       .byte   8               ; System font Y size
-       .word   $00EA           ; Aspect ratio (based on 4/3 display)
+        .byte   $74, $67, $69   ; "tgi"
+        .byte   TGI_API_VERSION ; TGI API version number
+        .word   280             ; X resolution
+        .word   192             ; Y resolution
+        .byte   8               ; Number of drawing colors
+pages:  .byte   2               ; Number of screens available
+        .byte   7               ; System font X size
+        .byte   8               ; System font Y size
+        .word   $00EA           ; Aspect ratio (based on 4/3 display)
         .byte   0               ; TGI driver flags
 
 ; Next comes the jump table. With the exception of IRQ, all entries must be
 ; valid and may point to an RTS for test versions (function not implemented).
 
-               .addr   INSTALL
-               .addr   UNINSTALL
-               .addr   INIT
-               .addr   DONE
-               .addr   GETERROR
-               .addr   CONTROL
-               .addr   CLEAR
-               .addr   SETVIEWPAGE
-               .addr   SETDRAWPAGE
-               .addr   SETCOLOR
-               .addr   SETPALETTE
-               .addr   GETPALETTE
-               .addr   GETDEFPALETTE
-               .addr   SETPIXEL
-               .addr   GETPIXEL
-               .addr   LINE
-               .addr   BAR
-               .addr   TEXTSTYLE
-               .addr   OUTTEXT
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   INIT
+        .addr   DONE
+        .addr   GETERROR
+        .addr   CONTROL
+        .addr   CLEAR
+        .addr   SETVIEWPAGE
+        .addr   SETDRAWPAGE
+        .addr   SETCOLOR
+        .addr   SETPALETTE
+        .addr   GETPALETTE
+        .addr   GETDEFPALETTE
+        .addr   SETPIXEL
+        .addr   GETPIXEL
+        .addr   LINE
+        .addr   BAR
+        .addr   TEXTSTYLE
+        .addr   OUTTEXT
         .addr   0               ; IRQ entry is unused
 
 ; ------------------------------------------------------------------------
 
-       .bss
+        .bss
 
 ; Absolute variables used in the code
 
-ERROR: .res    1               ; Error code
+ERROR:  .res    1               ; Error code
 
 ; ------------------------------------------------------------------------
 
-       .rodata
+        .rodata
 
 ; Constants and tables
 
 DEFPALETTE: .byte $00, $01, $02, $03, $04, $05, $06, $07
 
 FONT:
-       ; Beagle Bros Shape Mechanic font F.ASCII.SMALL
-       ; modified to exactly reproduce the text glyphs
-       .incbin "a2.hi.fnt"
+        ; Beagle Bros Shape Mechanic font F.ASCII.SMALL
+        ; modified to exactly reproduce the text glyphs
+        .incbin "a2.hi.fnt"
 
 ; ------------------------------------------------------------------------
 
-       .code
+        .code
 
 ; INSTALL routine. Is called after the driver is loaded into memory. May
 ; initialize anything that has to be done just once. Is probably empty
 ; most of the time.
 ; Must set an error code: NO
 INSTALL:
-       .ifdef  __APPLE2ENH__
-       ; No page switching if 80 column store is enabled
-       bit     RD80COL
-       bpl     :+
-       lda     #$01
-       sta     pages
-:      .endif
+        .ifdef  __APPLE2ENH__
+        ; No page switching if 80 column store is enabled
+        bit     RD80COL
+        bpl     :+
+        lda     #$01
+        sta     pages
+:       .endif
 
-       ; Fall through
+        ; Fall through
 
 ; UNINSTALL routine. Is called before the driver is removed from memory. May
 ; clean up anything done by INSTALL but is probably empty most of the time.
 ; Must set an error code: NO
 UNINSTALL:
-       rts
+        rts
 
 ; INIT: Changes an already installed device from text mode to graphics mode.
 ; Note that INIT/DONE may be called multiple times while the driver
@@ -166,132 +166,132 @@ UNINSTALL:
 ; active, so there is no need to protect against that.
 ; Must set an error code: YES
 INIT:
-       ; Switch into graphics mode
-       bit     MIXCLR
-       bit     HIRES
-       bit     TXTCLR
+        ; Switch into graphics mode
+        bit     MIXCLR
+        bit     HIRES
+        bit     TXTCLR
 
-       ; Beagle Bros Shape Mechanic fonts don't
-       ; scale well so use fixed scaling factor
-       lda     #$01
-       sta     SCALE
+        ; Beagle Bros Shape Mechanic fonts don't
+        ; scale well so use fixed scaling factor
+        lda     #$01
+        sta     SCALE
 
-       ; Done, reset the error code
-       lda     #TGI_ERR_OK
-       sta     ERROR
-       rts
+        ; Done, reset the error code
+        lda     #TGI_ERR_OK
+        sta     ERROR
+        rts
 
 ; DONE: Will be called to switch the graphics device back into text mode.
 ; The graphics kernel will never call DONE when no graphics mode is active,
 ; so there is no need to protect against that.
 ; Must set an error code: NO
 DONE:
-       ; Switch into text mode
-       bit     TXTSET
-       bit     LOWSCR
+        ; Switch into text mode
+        bit     TXTSET
+        bit     LOWSCR
 
-       .ifdef  __APPLE2ENH__
-       ; Limit SET80COL-HISCR to text
-       bit     LORES
-       .endif
+        .ifdef  __APPLE2ENH__
+        ; Limit SET80COL-HISCR to text
+        bit     LORES
+        .endif
 
-       ; Reset the text window top
-       lda     #$00
-       sta     WNDTOP
-       rts
+        ; Reset the text window top
+        lda     #$00
+        sta     WNDTOP
+        rts
 
 ; GETERROR: Return the error code in A and clear it.
 GETERROR:
-       lda     ERROR
-       ldx     #TGI_ERR_OK
-       stx     ERROR
-       rts
+        lda     ERROR
+        ldx     #TGI_ERR_OK
+        stx     ERROR
+        rts
 
 ; CONTROL: Platform/driver specific entry point.
 ; Must set an error code: YES
 CONTROL:
-       ; Check data msb and code to be 0
-       ora     ptr1+1
-       bne     err
-
-       ; Check data lsb to be [0..1]
-       lda     ptr1
-       cmp     #1+1
-       bcs     err
-
-       ; Set text window top
-       tax
-       beq     :+
-       lda     #20
-:      sta     WNDTOP
-
-       ; Switch 4 lines of text
-       .assert MIXCLR + 1 = MIXSET, error
-       lda     MIXCLR,x        ; No BIT absolute,X available
-
-       ; Done, reset the error code
-       lda     #TGI_ERR_OK
-       beq     :+              ; Branch always
-
-       ; Done, set the error code
-err:   lda     #TGI_ERR_INV_ARG
-:      sta     ERROR
-       rts
+        ; Check data msb and code to be 0
+        ora     ptr1+1
+        bne     err
+
+        ; Check data lsb to be [0..1]
+        lda     ptr1
+        cmp     #1+1
+        bcs     err
+
+        ; Set text window top
+        tax
+        beq     :+
+        lda     #20
+:       sta     WNDTOP
+
+        ; Switch 4 lines of text
+        .assert MIXCLR + 1 = MIXSET, error
+        lda     MIXCLR,x        ; No BIT absolute,X available
+
+        ; Done, reset the error code
+        lda     #TGI_ERR_OK
+        beq     :+              ; Branch always
+
+        ; Done, set the error code
+err:    lda     #TGI_ERR_INV_ARG
+:       sta     ERROR
+        rts
 
 ; CLEAR: Clears the screen.
 ; Must set an error code: NO
 CLEAR:
-       bit     $C082           ; Switch in ROM
-       jsr     HCLR
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        jsr     HCLR
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
 ; The page number is already checked to be valid by the graphics kernel.
 ; Must set an error code: NO (will only be called if page ok)
 SETVIEWPAGE:
-       tax
-       .assert LOWSCR + 1 = HISCR, error
-       lda     LOWSCR,x        ; No BIT absolute,X available
-       rts
+        tax
+        .assert LOWSCR + 1 = HISCR, error
+        lda     LOWSCR,x        ; No BIT absolute,X available
+        rts
 
 ; SETDRAWPAGE: Set the drawable page. Called with the new page in A (0..n).
 ; The page number is already checked to be valid by the graphics kernel.
 ; Must set an error code: NO (will only be called if page ok)
 SETDRAWPAGE:
-       tax
-       beq     :+
-       lda     #>$4000         ; Page 2
-       .byte   $2C             ; BIT absolute
-:      lda     #>$2000         ; Page 1
-       sta     PAGE
-       rts
+        tax
+        beq     :+
+        lda     #>$4000         ; Page 2
+        .byte   $2C             ; BIT absolute
+:       lda     #>$2000         ; Page 1
+        sta     PAGE
+        rts
 
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
 ; to be in a valid range (0..maxcolor-1).
 ; Must set an error code: NO (will only be called if color ok)
 SETCOLOR:
-       bit     $C082           ; Switch in ROM
-       tax
-       jsr     SETHCOL
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        tax
+        jsr     SETHCOL
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; SETPALETTE: Set the palette (not available with all drivers/hardware).
 ; A pointer to the palette is passed in ptr1. Must set an error if palettes
 ; are not supported
 ; Must set an error code: YES
 SETPALETTE:
-       lda     #TGI_ERR_INV_FUNC
-       sta     ERROR
-       rts
+        lda     #TGI_ERR_INV_FUNC
+        sta     ERROR
+        rts
 
 ; GETPALETTE: Return the current palette in A/X. Even drivers that cannot
 ; set the palette should return the default palette here, so there's no
 ; way for this function to fail.
 ; Must set an error code: NO
 GETPALETTE:
-       ; Fall through
+        ; Fall through
 
 ; GETDEFPALETTE: Return the default palette for the driver in A/X. All
 ; drivers should return something reasonable here, even drivers that don't
@@ -299,147 +299,147 @@ GETPALETTE:
 ; of the (not changeable) palette.
 ; Must set an error code: NO (all drivers must have a default palette)
 GETDEFPALETTE:
-       lda     #<DEFPALETTE
-       ldx     #>DEFPALETTE
-       rts
+        lda     #<DEFPALETTE
+        ldx     #>DEFPALETTE
+        rts
 
 ; SETPIXEL: Draw one pixel at X1/Y1 = ptr1/ptr2 with the current drawing
 ; color. The coordinates passed to this function are never outside the
 ; visible screen area, so there is no need for clipping inside this function.
 ; Must set an error code: NO
 SETPIXEL:
-       bit     $C082           ; Switch in ROM
-       ldx     X1
-       ldy     X1+1
-       lda     Y1
-       jsr     HPLOT
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        ldx     X1
+        ldy     X1+1
+        lda     Y1
+        jsr     HPLOT
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; GETPIXEL: Read the color value of a pixel and return it in A/X. The
 ; coordinates passed to this function are never outside the visible screen
 ; area, so there is no need for clipping inside this function.
 GETPIXEL:
-       bit     $C082           ; Switch in ROM
-       ldx     X1
-       ldy     X1+1
-       lda     Y1
-       jsr     HPOSN
-       lda     (HBASL),y
-       and     HMASK
-       asl
-       beq     :+              ; 0 (black)
-       lda     #$03            ; 3 (white)
-:      bcc     :+
-       adc     #$03            ; += 4 (black -> black2, white -> white2)
-:      ldx     #$00
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        ldx     X1
+        ldy     X1+1
+        lda     Y1
+        jsr     HPOSN
+        lda     (HBASL),y
+        and     HMASK
+        asl
+        beq     :+              ; 0 (black)
+        lda     #$03            ; 3 (white)
+:       bcc     :+
+        adc     #$03            ; += 4 (black -> black2, white -> white2)
+:       ldx     #$00
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; LINE: Draw a line from X1/Y1 to X2/Y2, where X1/Y1 = ptr1/ptr2 and
 ; X2/Y2 = ptr3/ptr4 using the current drawing color.
 ; Must set an error code: NO
 LINE:
-       bit     $C082           ; Switch in ROM
-       ldx     X1
-       ldy     X1+1
-       lda     Y1
-       jsr     HPOSN
-       lda     X2
-       ldx     X2+1
-       ldy     Y2
-       jsr     HLIN
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        ldx     X1
+        ldy     X1+1
+        lda     Y1
+        jsr     HPOSN
+        lda     X2
+        ldx     X2+1
+        ldy     Y2
+        jsr     HLIN
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
 ; X1/Y1 = ptr1/ptr2 and X2/Y2 = ptr3/ptr4 using the current drawing color.
 ; Contrary to most other functions, the graphics kernel will sort and clip
 ; the coordinates before calling the driver, so on entry the following
 ; conditions are valid:
-;      X1 <= X2
-;      Y1 <= Y2
-;      (X1 >= 0) && (X1 < XRES)
-;      (X2 >= 0) && (X2 < XRES)
-;      (Y1 >= 0) && (Y1 < YRES)
-;      (Y2 >= 0) && (Y2 < YRES)
+;       X1 <= X2
+;       Y1 <= Y2
+;       (X1 >= 0) && (X1 < XRES)
+;       (X2 >= 0) && (X2 < XRES)
+;       (Y1 >= 0) && (Y1 < YRES)
+;       (Y2 >= 0) && (Y2 < YRES)
 ; Must set an error code: NO
 BAR:
-       inc     Y2
-:      lda     Y2
-       pha
-       lda     Y1
-       sta     Y2
-       jsr     LINE
-       pla
-       sta     Y2
-       inc     Y1
-       cmp     Y1
-       bne     :-
-       rts
+        inc     Y2
+:       lda     Y2
+        pha
+        lda     Y1
+        sta     Y2
+        jsr     LINE
+        pla
+        sta     Y2
+        inc     Y1
+        cmp     Y1
+        bne     :-
+        rts
 
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
 ; direction is passend in X/Y, the text direction is passed in A.
 ; Must set an error code: NO
 TEXTSTYLE:
-       cmp     #TGI_TEXT_VERTICAL
-       bne     :+
-       lda     #48
-:      sta     ROT
-       rts
+        cmp     #TGI_TEXT_VERTICAL
+        bne     :+
+        lda     #48
+:       sta     ROT
+        rts
 
 ; OUTTEXT: Output text at X/Y = ptr1/ptr2 using the current color and the
 ; current text style. The text to output is given as a zero terminated
 ; string with address in ptr3.
 ; Must set an error code: NO
 OUTTEXT:
-       bit     $C082           ; Switch in ROM
-       lda     X1
-       ldy     X1+1
-       ldx     ROT
-       php                     ; Save Z flag
-       beq     :+              ; Not horizontal
-       sec
-       sbc     #$07            ; Adjust X
-       bcs     :+
-       dey
-:      tax
-       lda     Y1
-       plp                     ; Restore Z flag
-       bne     :+              ; Not vertical
-       sec
-       sbc     #$07            ; Adjust Y
-:      jsr     HPOSN
-       clc
-       lda     FONT+2*99       ; "connection char"
-       adc     #<FONT
-       sta     ptr4
-       lda     FONT+2*99+1     ; "connection char"
-       adc     #>FONT
-       sta     ptr4+1
-       ldy     #$00
-:      lda     (ptr3),y
-       beq     :+
-       sty     tmp1            ; Save string index
-       sec
-       sbc     #$1F            ; No control chars
-       asl                     ; Offset * 2
-       tay
-       clc
-       lda     FONT,y
-       adc     #<FONT
-       tax
-       lda     FONT+1,y
-       adc     #>FONT
-       tay
-       lda     ROT
-       jsr     DRAW            ; Draw char from string
-       ldx     ptr4
-       ldy     ptr4+1
-       lda     ROT
-       jsr     DRAW            ; Draw "connection char"
-       ldy     tmp1            ; Restore string index
-       iny
-       bne     :-              ; Branch always
-:      bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        lda     X1
+        ldy     X1+1
+        ldx     ROT
+        php                     ; Save Z flag
+        beq     :+              ; Not horizontal
+        sec
+        sbc     #$07            ; Adjust X
+        bcs     :+
+        dey
+:       tax
+        lda     Y1
+        plp                     ; Restore Z flag
+        bne     :+              ; Not vertical
+        sec
+        sbc     #$07            ; Adjust Y
+:       jsr     HPOSN
+        clc
+        lda     FONT+2*99       ; "connection char"
+        adc     #<FONT
+        sta     ptr4
+        lda     FONT+2*99+1     ; "connection char"
+        adc     #>FONT
+        sta     ptr4+1
+        ldy     #$00
+:       lda     (ptr3),y
+        beq     :+
+        sty     tmp1            ; Save string index
+        sec
+        sbc     #$1F            ; No control chars
+        asl                     ; Offset * 2
+        tay
+        clc
+        lda     FONT,y
+        adc     #<FONT
+        tax
+        lda     FONT+1,y
+        adc     #>FONT
+        tay
+        lda     ROT
+        jsr     DRAW            ; Draw char from string
+        ldx     ptr4
+        ldy     ptr4+1
+        lda     ROT
+        jsr     DRAW            ; Draw "connection char"
+        ldy     tmp1            ; Restore string index
+        iny
+        bne     :-              ; Branch always
+:       bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
index edea841be929b05d567cdae496e2e4a6e8003f04..7ac43e6cc9cc95d8400a1492f0881dabc93d2f4a 100644 (file)
 ; Oliver Schmidt <ol.sc@web.de>
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
-       .include        "apple2.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
+        .include        "apple2.inc"
 
 ; ------------------------------------------------------------------------
 
 ; Zero page stuff
 
-H2     :=      $2C
-COLOR  :=      $30
+H2      :=      $2C
+COLOR   :=      $30
 
 ; ROM entry points
 
-TEXT    :=     $F399
-PLOT   :=      $F800
-HLINE  :=      $F819
-CLRSC2 :=      $F838
-SETCOL :=      $F864
-SCRN   :=      $F871
-SETGR  :=      $FB40
-HOME   :=      $FC58
+TEXT    :=      $F399
+PLOT    :=      $F800
+HLINE   :=      $F819
+CLRSC2  :=      $F838
+SETCOL  :=      $F864
+SCRN    :=      $F871
+SETGR   :=      $FB40
+HOME    :=      $FC58
 
 ; Used for passing parameters to the driver
 
-X1     :=      ptr1
-Y1     :=      ptr2
-X2     :=      ptr3
-Y2     :=      ptr4
+X1      :=      ptr1
+Y1      :=      ptr2
+X2      :=      ptr3
+Y2      :=      ptr4
 
 ; ------------------------------------------------------------------------
 
-       .segment        "JUMPTABLE"
+        .segment        "JUMPTABLE"
 
 ; Header. Includes jump table and constants.
 
 ; First part of the header is a structure that has a magic and defines the
 ; capabilities of the driver
 
-       .byte   $74, $67, $69   ; "tgi"
-       .byte   TGI_API_VERSION ; TGI API version number
-       .word   40              ; X resolution
-       .word   48              ; Y resolution
-       .byte   16              ; Number of drawing colors
-       .byte   1               ; Number of screens available
-       .byte   8               ; System font X size
-       .byte   8               ; System font Y size
-       .word   $0198           ; Aspect ratio (based on 4/3 display)
+        .byte   $74, $67, $69   ; "tgi"
+        .byte   TGI_API_VERSION ; TGI API version number
+        .word   40              ; X resolution
+        .word   48              ; Y resolution
+        .byte   16              ; Number of drawing colors
+        .byte   1               ; Number of screens available
+        .byte   8               ; System font X size
+        .byte   8               ; System font Y size
+        .word   $0198           ; Aspect ratio (based on 4/3 display)
         .byte   0               ; TGI driver flags
 
 ; Next comes the jump table. With the exception of IRQ, all entries must be
 ; valid and may point to an RTS for test versions (function not implemented).
 
-               .addr   INSTALL
-               .addr   UNINSTALL
-               .addr   INIT
-               .addr   DONE
-               .addr   GETERROR
-               .addr   CONTROL
-               .addr   CLEAR
-               .addr   SETVIEWPAGE
-               .addr   SETDRAWPAGE
-               .addr   SETCOLOR
-               .addr   SETPALETTE
-               .addr   GETPALETTE
-               .addr   GETDEFPALETTE
-               .addr   SETPIXEL
-               .addr   GETPIXEL
-               .addr   LINE
-               .addr   BAR
-               .addr   TEXTSTYLE
-               .addr   OUTTEXT
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   INIT
+        .addr   DONE
+        .addr   GETERROR
+        .addr   CONTROL
+        .addr   CLEAR
+        .addr   SETVIEWPAGE
+        .addr   SETDRAWPAGE
+        .addr   SETCOLOR
+        .addr   SETPALETTE
+        .addr   GETPALETTE
+        .addr   GETDEFPALETTE
+        .addr   SETPIXEL
+        .addr   GETPIXEL
+        .addr   LINE
+        .addr   BAR
+        .addr   TEXTSTYLE
+        .addr   OUTTEXT
         .addr   0               ; IRQ entry is unused
 
 ; ------------------------------------------------------------------------
 
-       .bss
+        .bss
 
-ERROR: .res    1               ; Error code
-MIX:   .res    1               ; 4 lines of text
+ERROR:  .res    1               ; Error code
+MIX:    .res    1               ; 4 lines of text
 
 ; ------------------------------------------------------------------------
 
-       .rodata
+        .rodata
 
 DEFPALETTE: .byte $00, $01, $02, $03, $04, $05, $06, $07
-           .byte $08, $09, $0A, $0B, $0C, $0D, $0E, $0F
+            .byte $08, $09, $0A, $0B, $0C, $0D, $0E, $0F
 
 TGI2COL:    .byte $00, $0C, $03, $0F, $01, $09, $06, $02
-           .byte $04, $05, $07, $08, $0A, $0B, $0D, $0E
+            .byte $04, $05, $07, $08, $0A, $0B, $0D, $0E
 
 COL2TGI:    .byte $00, $04, $07, $02, $08, $09, $06, $0A
-           .byte $0B, $05, $0C, $0D, $01, $0E, $0F, $03
+            .byte $0B, $05, $0C, $0D, $01, $0E, $0F, $03
 
-MAXY:  .byte 47, 39
+MAXY:   .byte 47, 39
 
 ; ------------------------------------------------------------------------
 
-       .code
+        .code
 
 ; INIT: Changes an already installed device from text mode to graphics mode.
 ; Note that INIT/DONE may be called multiple times while the driver
@@ -116,168 +116,168 @@ MAXY:   .byte 47, 39
 ; active, so there is no need to protect against that.
 ; Must set an error code: YES
 INIT:
-       ; Switch into graphics mode
-       bit     $C082           ; Switch in ROM
-       jsr     SETGR
-       bit     MIXCLR
-       bit     $C080           ; Switch in LC bank 2 for R/O
+        ; Switch into graphics mode
+        bit     $C082           ; Switch in ROM
+        jsr     SETGR
+        bit     MIXCLR
+        bit     $C080           ; Switch in LC bank 2 for R/O
 
-       ; Done, reset the error code
-       lda     #TGI_ERR_OK
-       sta     ERROR
-       sta     MIX
+        ; Done, reset the error code
+        lda     #TGI_ERR_OK
+        sta     ERROR
+        sta     MIX
 
-       ; Fall through
+        ; Fall through
 
 ; INSTALL routine. Is called after the driver is loaded into memory. May
 ; initialize anything that has to be done just once. Is probably empty
 ; most of the time.
 ; Must set an error code: NO
 INSTALL:
-       ; Fall through
+        ; Fall through
 
 ; UNINSTALL routine. Is called before the driver is removed from memory. May
 ; clean up anything done by INSTALL but is probably empty most of the time.
 ; Must set an error code: NO
 UNINSTALL:
-       ; Fall through
+        ; Fall through
 
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
 ; The page number is already checked to be valid by the graphics kernel.
 ; Must set an error code: NO (will only be called if page ok)
 SETVIEWPAGE:
-       ; Fall through
+        ; Fall through
 
 ; SETDRAWPAGE: Set the drawable page. Called with the new page in A (0..n).
 ; The page number is already checked to be valid by the graphics kernel.
 ; Must set an error code: NO (will only be called if page ok)
 SETDRAWPAGE:
-       ; Fall through
+        ; Fall through
 
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
 ; direction is passend in X/Y, the text direction is passed in A.
 ; Must set an error code: NO
 TEXTSTYLE:
-       ; Fall through
+        ; Fall through
 
 ; OUTTEXT: Output text at X/Y = ptr1/ptr2 using the current color and the
 ; current text style. The text to output is given as a zero terminated
 ; string with address in ptr3.
 ; Must set an error code: NO
 OUTTEXT:
-       rts
+        rts
 
 ; DONE: Will be called to switch the graphics device back into text mode.
 ; The graphics kernel will never call DONE when no graphics mode is active,
 ; so there is no need to protect against that.
 ; Must set an error code: NO
 DONE:
-       bit     $C082           ; Switch in ROM
-       jsr     TEXT
-       jsr     HOME
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        jsr     TEXT
+        jsr     HOME
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; GETERROR: Return the error code in A and clear it.
 GETERROR:
-       lda     ERROR
-       ldx     #TGI_ERR_OK
-       stx     ERROR
-       rts
+        lda     ERROR
+        ldx     #TGI_ERR_OK
+        stx     ERROR
+        rts
 
 ; CLEAR: Clears the screen.
 ; Must set an error code: NO
 CLEAR:
-       bit     $C082           ; Switch in ROM
-       lda     COLOR           ; Save current drawing color
-       pha
-       ldx     MIX
-       ldy     MAXY,x          ; Max Y depends on 4 lines of text
-       jsr     CLRSC2
-       pla
-       sta     COLOR           ; Restore current drawing color
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        lda     COLOR           ; Save current drawing color
+        pha
+        ldx     MIX
+        ldy     MAXY,x          ; Max Y depends on 4 lines of text
+        jsr     CLRSC2
+        pla
+        sta     COLOR           ; Restore current drawing color
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
 ; to be in a valid range (0..maxcolor-1).
 ; Must set an error code: NO (will only be called if color ok)
 SETCOLOR:
-       bit     $C082           ; Switch in ROM
-       tax
-       lda     TGI2COL,x
-       jsr     SETCOL
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        tax
+        lda     TGI2COL,x
+        jsr     SETCOL
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; CONTROL: Platform/driver specific entry point.
 ; Must set an error code: YES
 CONTROL:
-       ; Check data msb and code to be 0
-       ora     ptr1+1
-       bne     err
-
-       ; Check data lsb to be [0..1]
-       lda     ptr1
-       cmp     #1+1
-       bcs     err
-       bit     $C082           ; Switch in ROM
-
-       ; Switch 4 lines of text
-       tax
-       .assert MIXCLR + 1 = MIXSET, error
-       lda     MIXCLR,x        ; No BIT absolute,X available
-
-       ; Save current switch setting
-       txa
-       sta     MIX
-       bne     text
-
-       ; Clear 8 lines of graphics
-       lda     COLOR           ; Save current drawing color
-       pha
-       lda     #39             ; Rightmost column
-       sta     H2
-       ldx     #40             ; First line
-:      txa
-       ldy     #$00            ; Leftmost column
-       sty     COLOR           ; Black
-       jsr     HLINE           ; Preserves X
-       inx
-       cpx     #47+1           ; Last line
-       bcc     :-
-       pla
-       sta     COLOR           ; Restore current drawing color
-       bcs     :+              ; Branch always
-
-       ; Clear 4 lines of text
-text:  jsr     HOME
-:      bit     $C080           ; Switch in LC bank 2 for R/O
-
-       ; Done, reset the error code
-       lda     #TGI_ERR_OK
-       beq     :+              ; Branch always
-
-       ; Done, set the error code
-err:   lda     #TGI_ERR_INV_ARG
-:      sta     ERROR
-       rts
+        ; Check data msb and code to be 0
+        ora     ptr1+1
+        bne     err
+
+        ; Check data lsb to be [0..1]
+        lda     ptr1
+        cmp     #1+1
+        bcs     err
+        bit     $C082           ; Switch in ROM
+
+        ; Switch 4 lines of text
+        tax
+        .assert MIXCLR + 1 = MIXSET, error
+        lda     MIXCLR,x        ; No BIT absolute,X available
+
+        ; Save current switch setting
+        txa
+        sta     MIX
+        bne     text
+
+        ; Clear 8 lines of graphics
+        lda     COLOR           ; Save current drawing color
+        pha
+        lda     #39             ; Rightmost column
+        sta     H2
+        ldx     #40             ; First line
+:       txa
+        ldy     #$00            ; Leftmost column
+        sty     COLOR           ; Black
+        jsr     HLINE           ; Preserves X
+        inx
+        cpx     #47+1           ; Last line
+        bcc     :-
+        pla
+        sta     COLOR           ; Restore current drawing color
+        bcs     :+              ; Branch always
+
+        ; Clear 4 lines of text
+text:   jsr     HOME
+:       bit     $C080           ; Switch in LC bank 2 for R/O
+
+        ; Done, reset the error code
+        lda     #TGI_ERR_OK
+        beq     :+              ; Branch always
+
+        ; Done, set the error code
+err:    lda     #TGI_ERR_INV_ARG
+:       sta     ERROR
+        rts
 
 ; SETPALETTE: Set the palette (not available with all drivers/hardware).
 ; A pointer to the palette is passed in ptr1. Must set an error if palettes
 ; are not supported
 ; Must set an error code: YES
 SETPALETTE:
-       lda     #TGI_ERR_INV_FUNC
-       sta     ERROR
-       rts
+        lda     #TGI_ERR_INV_FUNC
+        sta     ERROR
+        rts
 
 ; GETPALETTE: Return the current palette in A/X. Even drivers that cannot
 ; set the palette should return the default palette here, so there's no
 ; way for this function to fail.
 ; Must set an error code: NO
 GETPALETTE:
-       ; Fall through
+        ; Fall through
 
 ; GETDEFPALETTE: Return the default palette for the driver in A/X. All
 ; drivers should return something reasonable here, even drivers that don't
@@ -285,63 +285,63 @@ GETPALETTE:
 ; of the (not changeable) palette.
 ; Must set an error code: NO (all drivers must have a default palette)
 GETDEFPALETTE:
-       lda     #<DEFPALETTE
-       ldx     #>DEFPALETTE
-       rts
+        lda     #<DEFPALETTE
+        ldx     #>DEFPALETTE
+        rts
 
 ; SETPIXEL: Draw one pixel at X1/Y1 = ptr1/ptr2 with the current drawing
 ; color. The coordinates passed to this function are never outside the
 ; visible screen area, so there is no need for clipping inside this function.
 ; Must set an error code: NO
 SETPIXEL:
-       bit     $C082           ; Switch in ROM
-       ldy     X1
-       lda     Y1
-       jsr     PLOT
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        ldy     X1
+        lda     Y1
+        jsr     PLOT
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; GETPIXEL: Read the color value of a pixel and return it in A/X. The
 ; coordinates passed to this function are never outside the visible screen
 ; area, so there is no need for clipping inside this function.
 GETPIXEL:
-       bit     $C082           ; Switch in ROM
-       ldy     X1
-       lda     Y1
-       jsr     SCRN
-       tax
-       lda     COL2TGI,x
-       ldx     #$00
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        ldy     X1
+        lda     Y1
+        jsr     SCRN
+        tax
+        lda     COL2TGI,x
+        ldx     #$00
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
 ; X1/Y1 = ptr1/ptr2 and X2/Y2 = ptr3/ptr4 using the current drawing color.
 ; Contrary to most other functions, the graphics kernel will sort and clip
 ; the coordinates before calling the driver, so on entry the following
 ; conditions are valid:
-;      X1 <= X2
-;      Y1 <= Y2
-;      (X1 >= 0) && (X1 < XRES)
-;      (X2 >= 0) && (X2 < XRES)
-;      (Y1 >= 0) && (Y1 < YRES)
-;      (Y2 >= 0) && (Y2 < YRES)
+;       X1 <= X2
+;       Y1 <= Y2
+;       (X1 >= 0) && (X1 < XRES)
+;       (X2 >= 0) && (X2 < XRES)
+;       (Y1 >= 0) && (Y1 < YRES)
+;       (Y2 >= 0) && (Y2 < YRES)
 ; Must set an error code: NO
 BAR:
-       bit     $C082           ; Switch in ROM
-       lda     X2
-       sta     H2
-       inc     Y2
-       ldx     Y1
-:      txa
-       ldy     X1
-       jsr     HLINE           ; Preserves X
-       inx
-       cpx     Y2
-       bcc     :-
-       bit     $C080           ; Switch in LC bank 2 for R/O
-       rts
+        bit     $C082           ; Switch in ROM
+        lda     X2
+        sta     H2
+        inc     Y2
+        ldx     Y1
+:       txa
+        ldy     X1
+        jsr     HLINE           ; Preserves X
+        inx
+        cpx     Y2
+        bcc     :-
+        bit     $C080           ; Switch in LC bank 2 for R/O
+        rts
 
 ; ------------------------------------------------------------------------
 
-.include       "../../tgi/tgidrv_line.inc"
+.include        "../../tgi/tgidrv_line.inc"
index 8bc36980971c80c18554a7aa10385aeed1da2870..53505b33def0fef7efca1020a042dd47a6c64e9e 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $03
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $03
index e9affe3b3f0f4ed293ed622bc8aa9d743207a510..9fc1ca9023cd2b50437f34bd988d63c50b7dc125 100644 (file)
@@ -6,16 +6,16 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .ifdef __APPLE2ENH__
-        .import        _a2e_hi_tgi
+        .export _tgi_static_stddrv
+        .ifdef  __APPLE2ENH__
+        .import _a2e_hi_tgi
         .else
-        .import        _a2_hi_tgi
+        .import _a2_hi_tgi
         .endif
 
 .rodata
 
-        .ifdef __APPLE2ENH__
+        .ifdef  __APPLE2ENH__
 _tgi_static_stddrv := _a2e_hi_tgi
         .else
 _tgi_static_stddrv := _a2_hi_tgi
index 15d56127c17e2c6f595e45aea6d001e71c23a9c1..451b4c2fa0fe0d6924ff53617c67de94197a1fa9 100644 (file)
@@ -6,13 +6,13 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
 _tgi_stddrv:
-        .ifdef __APPLE2ENH__
-        .asciiz        "A2E.HI.TGI"
+        .ifdef  __APPLE2ENH__
+        .asciiz "A2E.HI.TGI"
         .else
-        .asciiz        "A2.HI.TGI"
+        .asciiz "A2.HI.TGI"
         .endif
index 586606553cf453306e10c401f9333e9f21a9f2ab..a3f946e64141de7b880064cf289fc6e4b9cceff3 100644 (file)
@@ -3,7 +3,7 @@
 ; /* Convert a target specific character to ascii */
 ;
 
-        .export                _toascii
+        .export         _toascii
 
 _toascii:
         ldx     #$00
index 7a04933849fd23da660a9f764245bee0c0181ffa..1da997472a1eaa8c9cf10722fc90c1841936aa6e 100644 (file)
@@ -5,7 +5,7 @@
 ;
         .ifdef  __APPLE2ENH__
 
-       .export         _videomode
+        .export         _videomode
         .import         COUT
 
         .include        "apple2.inc"
index 5ad35059835a9e6a5bac6086bc0205f40186e838..31de544c7710b71243316e1688862bda70997fa5 100644 (file)
@@ -4,17 +4,17 @@
 ; VTABZ routine
 ;
 
-       .export         VTABZ
+        .export         VTABZ
 
-       .include        "apple2.inc"
+        .include        "apple2.inc"
 
-       .segment        "LOWCODE"
+        .segment        "LOWCODE"
 
 VTABZ:
-       ; Switch in ROM and call VTABZ
-       bit     $C082
-       jsr     $FC24           ; Generate text base address
+        ; Switch in ROM and call VTABZ
+        bit     $C082
+        jsr     $FC24           ; Generate text base address
 
-       ; Switch in LC bank 2 and return
-       bit     $C080
-       rts
+        ; Switch in LC bank 2 and return
+        bit     $C080
+        rts
index 1d67a2fd9f2f8bb56ebcfe5af438252b456570a8..bd717a22b27c4f6d3180d1bd3d9097d494183bfb 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned char wherex (void);
 ;
 
-        .export                _wherex
+        .export         _wherex
 
-        .include       "apple2.inc"
+        .include        "apple2.inc"
 
 _wherex:
-        lda            CH
+        lda     CH
         ldx     #$00
         rts
index 1ac7b6a757bf03afe6eef4e60598582131891ff3..daacaaba79d30841952f4c75240ddc154c600a07 100644 (file)
@@ -4,13 +4,13 @@
 ; unsigned char wherey (void);
 ;
 
-        .export                _wherey
+        .export         _wherey
 
-        .include       "apple2.inc"
+        .include        "apple2.inc"
 
 _wherey:
-        lda    CV
+        lda     CV
         sec
-        sbc    WNDTOP
+        sbc     WNDTOP
         ldx     #$00
         rts
index d8f7fcd84b4feb8b8f71137c75e29c41fe0f0d3e..21f4a45a4fac6baef6892adb207627271b1107e2 100644 (file)
@@ -4,44 +4,44 @@
 ; int __fastcall__ write (int fd, const void* buf, unsigned count);
 ;
 
-        .export                _write
-        .import                rwprolog, rwcommon, rwepilog
-        .import                COUT
+        .export         _write
+        .import         rwprolog, rwcommon, rwepilog
+        .import         COUT
 
-        .include       "zeropage.inc"
-        .include       "errno.inc"
-        .include       "fcntl.inc"
-        .include       "mli.inc"
-        .include       "filedes.inc"
+        .include        "zeropage.inc"
+        .include        "errno.inc"
+        .include        "fcntl.inc"
+        .include        "mli.inc"
+        .include        "filedes.inc"
 
 _write:
         ; Get parameters
-        jsr    rwprolog
-        bcs    errno
-        tax                    ; Save fd
+        jsr     rwprolog
+        bcs     errno
+        tax                     ; Save fd
 
         ; Check for write access
-        lda    fdtab + FD::FLAGS,y
-        and    #O_WRONLY
-        beq    einval
+        lda     fdtab + FD::FLAGS,y
+        and     #O_WRONLY
+        beq     einval
 
         ; Check for device
-        txa                    ; Restore fd
-        bmi    device
+        txa                     ; Restore fd
+        bmi     device
 
-        ; Check        for append flag
-        lda    fdtab + FD::FLAGS,y
-        and    #O_APPEND
-        beq    write
+        ; Check for append flag
+        lda     fdtab + FD::FLAGS,y
+        and     #O_APPEND
+        beq     write
 
         ; Set fd
-        stx    mliparam + MLI::EOF::REF_NUM
+        stx     mliparam + MLI::EOF::REF_NUM
 
         ; Get file size
-        lda    #GET_EOF_CALL
-        ldx    #EOF_COUNT
-        jsr    callmli
-        bcs    oserr
+        lda     #GET_EOF_CALL
+        ldx     #EOF_COUNT
+        jsr     callmli
+        bcs     oserr
 
         ; REF_NUM already set
         .assert MLI::MARK::REF_NUM = MLI::EOF::REF_NUM, error
@@ -50,65 +50,65 @@ _write:
         .assert MLI::MARK::POSITION = MLI::EOF::EOF, error
 
         ; Set file pointer
-        lda    #SET_MARK_CALL
-        ldx    #MARK_COUNT
-        jsr    callmli
-        bcs    oserr
+        lda     #SET_MARK_CALL
+        ldx     #MARK_COUNT
+        jsr     callmli
+        bcs     oserr
 
         ; Do write
-write:  lda    fdtab + FD::REF_NUM,y
-        ldy    #WRITE_CALL
-        jmp    rwcommon
+write:  lda     fdtab + FD::REF_NUM,y
+        ldy     #WRITE_CALL
+        jmp     rwcommon
 
         ; Save count for epilog
-device: ldx    ptr2
-        lda    ptr2+1
-        stx    mliparam + MLI::RW::TRANS_COUNT
-        sta    mliparam + MLI::RW::TRANS_COUNT+1
+device: ldx     ptr2
+        lda     ptr2+1
+        stx     mliparam + MLI::RW::TRANS_COUNT
+        sta     mliparam + MLI::RW::TRANS_COUNT+1
 
         ; Check for zero count
-        ora    ptr2
-        beq    done
+        ora     ptr2
+        beq     done
 
         ; Get char from buf
-        ldy    #$00
-next:   lda    (ptr1),y
+        ldy     #$00
+next:   lda     (ptr1),y
 
         ; Replace '\n' with '\r'
-        cmp    #$0A
-        bne    :+
-        lda    #$0D
+        cmp     #$0A
+        bne     :+
+        lda     #$0D
 
         ; Set hi bit and write to device
-:       ora    #$80
-        .ifndef        __APPLE2ENH__
-        cmp    #$E0            ; Test for lowercase
-        bcc    output
-        and    #$DF            ; Convert to uppercase
+:       ora     #$80
+        .ifndef __APPLE2ENH__
+        cmp     #$E0            ; Test for lowercase
+        bcc     output
+        and     #$DF            ; Convert to uppercase
         .endif
-output: jsr    COUT            ; Preserves X and Y
+output: jsr     COUT            ; Preserves X and Y
 
         ; Increment pointer
         iny
-        bne    :+
-        inc    ptr1+1
+        bne     :+
+        inc     ptr1+1
 
         ; Decrement count
 :       dex
-        bne    next
-        dec    ptr2+1
-        bpl    next
+        bne     next
+        dec     ptr2+1
+        bpl     next
 
         ; Return success
-done:   lda    #$00
-        jmp    rwepilog
+done:   lda     #$00
+        jmp     rwepilog
 
         ; Load errno code
-einval: lda    #EINVAL
+einval: lda     #EINVAL
 
         ; Set __errno
-errno:  jmp    __directerrno
+errno:  jmp     __directerrno
 
         ; Set __oserror
-oserr:  jmp    __mappederrno
+oserr:  jmp     __mappederrno
                                                           
index 2d69d669e4c19b4142fb046dfdafa6520a5c94a2..c827ba3970380794114e5423e82ab020acb6363d 100644 (file)
@@ -4,8 +4,8 @@
 ; Screen size variables
 ;
 
-       .export         screensize
-       .include        "atari.inc"
+        .export         screensize
+        .include        "atari.inc"
 
 .proc   screensize
 
index ebad1cb3d9dfc5ac646d7526e59486cc7ad017a9..a53ed980347039cde7cc3dddef9be04eff9e16c7 100644 (file)
@@ -5,65 +5,65 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
-               .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-       bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     VBREAK
-       sta     oldvec
-       lda     VBREAK+1
-       sta     oldvec+1        ; Save the old vector
+        lda     VBREAK
+        sta     oldvec
+        lda     VBREAK+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       sta     VBREAK
-       lda     #>brk_handler
-       sta     VBREAK+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        sta     VBREAK
+        lda     #>brk_handler
+        sta     VBREAK+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     VBREAK
-       stx     VBREAK+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts     
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     VBREAK
+        stx     VBREAK+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts     
 
 .endproc
 
@@ -71,35 +71,35 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
-
-       sty     _brk_y
-       stx     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        sty     _brk_y
+        stx     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 8ab7dee968460cbbd5519e4ce2144d929ad562a4..ceb17aca569a6fc31e56df0a119c4205c5242954 100644 (file)
@@ -5,25 +5,25 @@
 ; void cclear (unsigned char length);
 ;
 
-       .export         _cclearxy, _cclear
-       .import         popa, _gotoxy, cputdirect
-       .importzp       tmp1
+        .export         _cclearxy, _cclear
+        .import         popa, _gotoxy, cputdirect
+        .importzp       tmp1
 
 _cclearxy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-               pla                     ; Restore the length and run into _cclear
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cclear
 
 _cclear:
-               cmp     #0              ; Is the length zero?
-               beq     L9              ; Jump if done
-       sta     tmp1                                 
-L1:            lda     #0              ; Blank - screen code
-       jsr     cputdirect      ; Direct output
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1                                 
+L1:     lda     #0              ; Blank - screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index 2aa4a342c607e2c0b5eb6949df57d4b4eae17f5b..f8948a5bcb07eac6157f1674802ccc4a08c142e3 100644 (file)
@@ -5,61 +5,61 @@
 ; char cgetc(void)
 ;
 
-       .include "atari.inc"
-       .export _cgetc,setcursor
-       .import cursor,mul40
+        .include "atari.inc"
+        .export _cgetc,setcursor
+        .import cursor,mul40
 
 _cgetc:
-       jsr     setcursor
-       jsr     @1
-       ldx     #0
-       rts
+        jsr     setcursor
+        jsr     @1
+        ldx     #0
+        rts
 
-@1:    lda     KEYBDV+5
-       pha
-       lda     KEYBDV+4
-       pha
-       lda     #12
-       sta     ICAX1Z          ; fix problems with direct call to KEYBDV
-       rts
+@1:     lda     KEYBDV+5
+        pha
+        lda     KEYBDV+4
+        pha
+        lda     #12
+        sta     ICAX1Z          ; fix problems with direct call to KEYBDV
+        rts
 
 
-.proc  setcursor
+.proc   setcursor
 
-       ldy     #0
-       lda     OLDCHR
-       sta     (OLDADR),y
+        ldy     #0
+        lda     OLDCHR
+        sta     (OLDADR),y
 
-       lda     ROWCRS
-       jsr     mul40
-       clc
-       adc     SAVMSC          ; add start of screen memory
-       sta     OLDADR
-       txa
-       adc     SAVMSC+1
-       sta     OLDADR+1
-       lda     COLCRS
-       adc     OLDADR
-       sta     OLDADR
-       bcc     nc
-       inc     OLDADR+1
-nc:    lda     (OLDADR),y
-       sta     OLDCHR
+        lda     ROWCRS
+        jsr     mul40
+        clc
+        adc     SAVMSC          ; add start of screen memory
+        sta     OLDADR
+        txa
+        adc     SAVMSC+1
+        sta     OLDADR+1
+        lda     COLCRS
+        adc     OLDADR
+        sta     OLDADR
+        bcc     nc
+        inc     OLDADR+1
+nc:     lda     (OLDADR),y
+        sta     OLDCHR
 
-       ldx     cursor          ; current cursor setting as requested by the user
-       beq     off
-       ldx     #0
-       beq     cont
+        ldx     cursor          ; current cursor setting as requested by the user
+        beq     off
+        ldx     #0
+        beq     cont
 
-off:   inx
-cont:  stx     CRSINH          ; update system variable
+off:    inx
+cont:   stx     CRSINH          ; update system variable
 
-       beq     turnon
-       and     #$7f            ; clear high bit / inverse flag
-finish:        sta     (OLDADR),y      ; update on-screen display
-       rts
+        beq     turnon
+        and     #$7f            ; clear high bit / inverse flag
+finish: sta     (OLDADR),y      ; update on-screen display
+        rts
 
-turnon:        ora     #$80            ; set high bit / inverse flag
-       bne     finish
+turnon: ora     #$80            ; set high bit / inverse flag
+        bne     finish
 
 .endproc
index e0d0a9629e84128ba747fa9e3a27779785befc13..46eb0f35d94e90d7ac12d13a9f0a595fa2b5fd6f 100644 (file)
@@ -5,25 +5,25 @@
 ; void chline (unsigned char length);
 ;
 
-       .export         _chlinexy, _chline
-       .import         popa, _gotoxy, cputdirect, setcursor
-       .importzp       tmp1
+        .export         _chlinexy, _chline
+        .import         popa, _gotoxy, cputdirect, setcursor
+        .importzp       tmp1
 
 _chlinexy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-       pla                     ; Restore the length
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length
 
 _chline:
-       cmp     #0              ; Is the length zero?
-       beq     L9              ; Jump if done
-       sta     tmp1
-L1:            lda     #$12+64         ; Horizontal line, screen code
-       jsr     cputdirect      ; Direct output
-       dec     tmp1
-       bne     L1
-L9:    jmp     setcursor
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1
+L1:     lda     #$12+64         ; Horizontal line, screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     jmp     setcursor
 
 
 
index e294d4deddae918a326f403dc219ea5ecf945800..e04416c18b0e6de6f354cfb8c3dd2c7d7cebc2a9 100644 (file)
@@ -6,37 +6,37 @@
 ; unsigned _clocks_per_sec (void);
 ;
 
-       .export         _clock, __clocks_per_sec
-       .importzp       sreg
+        .export         _clock, __clocks_per_sec
+        .importzp       sreg
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
 
-.proc  _clock
+.proc   _clock
 
-       ldx     #5              ; Synchronize with Antic, so the interrupt won't change RTCLOK
-       stx     WSYNC           ; while we're reading it. The synchronization is done same as
-@L1:   dex                     ; in SETVBLV function in Atari OS.
-       bne     @L1
-       stx     sreg+1          ; Byte 3 is always zero
-       lda     RTCLOK+2
-       ldx     RTCLOK+1
-       ldy     RTCLOK
-       sty     sreg
-       rts
+        ldx     #5              ; Synchronize with Antic, so the interrupt won't change RTCLOK
+        stx     WSYNC           ; while we're reading it. The synchronization is done same as
+@L1:    dex                     ; in SETVBLV function in Atari OS.
+        bne     @L1
+        stx     sreg+1          ; Byte 3 is always zero
+        lda     RTCLOK+2
+        ldx     RTCLOK+1
+        ldy     RTCLOK
+        sty     sreg
+        rts
 
 .endproc
 
 
-.proc  __clocks_per_sec
+.proc   __clocks_per_sec
 
         ldx     #$00            ; Clear high byte of return value
-       lda     PAL             ; use hw register, PALNTS is only supported on XL/XE ROM
-       and     #$0e
-       bne     @NTSC
-       lda     #50
-       rts
-@NTSC:         lda     #60
-       rts
+        lda     PAL             ; use hw register, PALNTS is only supported on XL/XE ROM
+        and     #$0e
+        bne     @NTSC
+        lda     #50
+        rts
+@NTSC:  lda     #60
+        rts
 
 .endproc
index d89a0ee13c205ed24e126435e21e94454db2d12e..d18fbec343d19e053f4b26dee6534166e69c1cf9 100644 (file)
@@ -4,26 +4,26 @@
 ; int __fastcall__ close(int fd);
 ;
 
-       .include "atari.inc"
-       .export _close
-       .import __do_oserror,popax,__oserror
-       .import fdtoiocb_down,__inviocb
+        .include "atari.inc"
+        .export _close
+        .import __do_oserror,popax,__oserror
+        .import fdtoiocb_down,__inviocb
 
-.proc  _close
-       jsr     fdtoiocb_down           ; get iocb index into X and decr. usage count
-       bmi     inverr
-       bne     ok                      ; not last one -> don't close yet
-       lda     #CLOSE
-       sta     ICCOM,x
-       jsr     CIOV
-       bmi     closerr
-ok:    ldx     #0
-       stx     __oserror               ; clear system specific error code
-       txa
-       rts
+.proc   _close
+        jsr     fdtoiocb_down           ; get iocb index into X and decr. usage count
+        bmi     inverr
+        bne     ok                      ; not last one -> don't close yet
+        lda     #CLOSE
+        sta     ICCOM,x
+        jsr     CIOV
+        bmi     closerr
+ok:     ldx     #0
+        stx     __oserror               ; clear system specific error code
+        txa
+        rts
 
-inverr:        jmp     __inviocb
-closerr:jmp    __do_oserror
+inverr: jmp     __inviocb
+closerr:jmp     __do_oserror
 
 .endproc
 
index b352a83de8d629f8573cb027c308494daeaacf35..58fb6313739e2859ceffcbbbc1d8e3523f21ba70 100644 (file)
@@ -4,33 +4,33 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
-       .include        "atari.inc"
-       .importzp       ptr1
-       .import         setcursor
+        .export         _clrscr
+        .include        "atari.inc"
+        .importzp       ptr1
+        .import         setcursor
 
-_clrscr:lda    SAVMSC          ; screen memory
-       sta     ptr1
-       lda     SAVMSC+1
-       clc
-       adc     #>(40*24)
-       sta     ptr1+1
-       lda     #0              ; screen code of space char
-       sta     OLDCHR
-       ldy     #<(40*24)       ; 40x24: size of default atari screen
-       ldx     #>(40*24)
-_clr1: sta     (ptr1),y
-       dey
-       bne     _clr1
-       sta     (ptr1),y
-       dex
-       bmi     done
-       ldy     ptr1+1
-       dey
-       sty     ptr1+1
-       ldy     #255
-       jmp     _clr1
+_clrscr:lda     SAVMSC          ; screen memory
+        sta     ptr1
+        lda     SAVMSC+1
+        clc
+        adc     #>(40*24)
+        sta     ptr1+1
+        lda     #0              ; screen code of space char
+        sta     OLDCHR
+        ldy     #<(40*24)       ; 40x24: size of default atari screen
+        ldx     #>(40*24)
+_clr1:  sta     (ptr1),y
+        dey
+        bne     _clr1
+        sta     (ptr1),y
+        dex
+        bmi     done
+        ldy     ptr1+1
+        dey
+        sty     ptr1+1
+        ldy     #255
+        jmp     _clr1
 
-done:  sta     COLCRS
-       sta     ROWCRS
-       jmp     setcursor
+done:   sta     COLCRS
+        sta     ROWCRS
+        jmp     setcursor
index 52432499dc4b625f279a4983d9d5dacda05adbdf..57d0036c9e8cbdd41b2eac2c9349ada7c2ad5b43 100644 (file)
@@ -2,33 +2,33 @@
 ; Christian Groessler, 27-Dec-2002
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
-       .import         return1
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         return1
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
 
-_textcolor     =       return1
+_textcolor      =       return1
 
 _bgcolor:
-       ldx     COLOR2  ; get old value
-       sta     COLOR2  ; set new value
-       and     #$0e
-       cmp     #8
-       bcs     bright
-       lda     #$0e
-       .byte   $2c     ; bit opcode, eats the next 2 bytes
-bright:        lda     #0
-       sta     COLOR1
-       txa
-       ldx     #0      ; fix X
-       rts
+        ldx     COLOR2  ; get old value
+        sta     COLOR2  ; set new value
+        and     #$0e
+        cmp     #8
+        bcs     bright
+        lda     #$0e
+        .byte   $2c     ; bit opcode, eats the next 2 bytes
+bright: lda     #0
+        sta     COLOR1
+        txa
+        ldx     #0      ; fix X
+        rts
 
 
 _bordercolor:
-       ldx     COLOR4  ; get old value
-       sta     COLOR4  ; set new value
-       txa
-       ldx     #0      ; fix X
-       rts
+        ldx     COLOR4  ; get old value
+        sta     COLOR4  ; set new value
+        txa
+        ldx     #0      ; fix X
+        rts
 
index 906a79282ee5727d32f0a68f6ee747f48ff5a885..cd2aefe799315d2f2edac8c2cb1cc51bb5dd703d 100644 (file)
@@ -5,91 +5,91 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc
-       .export         plot, cputdirect, putchar
-       .import         popa, _gotoxy, mul40
-       .importzp       tmp4,ptr4
-       .import         _revflag,setcursor
+        .export         _cputcxy, _cputc
+        .export         plot, cputdirect, putchar
+        .import         popa, _gotoxy, mul40
+        .importzp       tmp4,ptr4
+        .import         _revflag,setcursor
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 _cputc:
-       cmp     #$0D            ; CR
-       bne     L4
-       lda     #0
-       sta     COLCRS
-       beq     plot            ; return
+        cmp     #$0D            ; CR
+        bne     L4
+        lda     #0
+        sta     COLCRS
+        beq     plot            ; return
 
-L4:    cmp     #$0A            ; LF
-       beq     newline
-       cmp     #ATEOL          ; Atari-EOL?
-       beq     newline
+L4:     cmp     #$0A            ; LF
+        beq     newline
+        cmp     #ATEOL          ; Atari-EOL?
+        beq     newline
 
-       tay
-       rol     a
-       rol     a
-       rol     a
-       rol     a
-       and     #3
-       tax
-       tya
-       and     #$9f
-       ora     ataint,x
+        tay
+        rol     a
+        rol     a
+        rol     a
+        rol     a
+        and     #3
+        tax
+        tya
+        and     #$9f
+        ora     ataint,x
 
-cputdirect:                    ; accepts screen code
-       jsr     putchar
+cputdirect:                     ; accepts screen code
+        jsr     putchar
 
 ; advance cursor
-       inc     COLCRS
-       lda     COLCRS
-       cmp     #40
-       bcc     plot
-       lda     #0
-       sta     COLCRS
+        inc     COLCRS
+        lda     COLCRS
+        cmp     #40
+        bcc     plot
+        lda     #0
+        sta     COLCRS
 
-       .export newline
+        .export newline
 newline:
-       inc     ROWCRS
-       lda     ROWCRS
-       cmp     #24
-       bne     plot
-       lda     #0
-       sta     ROWCRS
-plot:  jsr     setcursor
-       ldy     COLCRS
-       ldx     ROWCRS
-       rts
+        inc     ROWCRS
+        lda     ROWCRS
+        cmp     #24
+        bne     plot
+        lda     #0
+        sta     ROWCRS
+plot:   jsr     setcursor
+        ldy     COLCRS
+        ldx     ROWCRS
+        rts
 
 ; turn off cursor, update screen, turn on cursor
 putchar:
-       pha                     ; save char
+        pha                     ; save char
 
-       ldy     #0
-       lda     OLDCHR
-       sta     (OLDADR),y
+        ldy     #0
+        lda     OLDCHR
+        sta     (OLDADR),y
 
-       lda     ROWCRS
-       jsr     mul40           ; destroys tmp4
-       clc
-       adc     SAVMSC          ; add start of screen memory
-       sta     ptr4
-       txa
-       adc     SAVMSC+1
-       sta     ptr4+1
-       pla                     ; get char again
+        lda     ROWCRS
+        jsr     mul40           ; destroys tmp4
+        clc
+        adc     SAVMSC          ; add start of screen memory
+        sta     ptr4
+        txa
+        adc     SAVMSC+1
+        sta     ptr4+1
+        pla                     ; get char again
 
-       ora     _revflag
-       sta     OLDCHR
+        ora     _revflag
+        sta     OLDCHR
 
-       ldy     COLCRS
-       sta     (ptr4),y
-       jmp     setcursor
+        ldy     COLCRS
+        sta     (ptr4),y
+        jmp     setcursor
 
-       .rodata
-ataint:        .byte   64,0,32,96
+        .rodata
+ataint: .byte   64,0,32,96
index 1a404f0214acbb1ceab95a3ce859535402fa2f35..f007e64ad9b3dfdf70f0c28f1fbae1ce24fd7aa4 100644 (file)
 ; Startup code for cc65 (ATARI version)
 ;
 ; Contributing authors:
-;      Mark Keates
-;      Freddy Offenga
-;      Christian Groessler
-;      Stefan Haubenthal
+;       Mark Keates
+;       Freddy Offenga
+;       Christian Groessler
+;       Stefan Haubenthal
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
-       .import         initlib, donelib
-       .import         callmain, zerobss
-       .import         __STARTUP_LOAD__, __ZPSAVE_LOAD__
-       .import         __RESERVED_MEMORY__
+        .import         initlib, donelib
+        .import         callmain, zerobss
+        .import         __STARTUP_LOAD__, __ZPSAVE_LOAD__
+        .import         __RESERVED_MEMORY__
 
-       .include        "zeropage.inc"
-       .include        "atari.inc"
+        .include        "zeropage.inc"
+        .include        "atari.inc"
 
 ; ------------------------------------------------------------------------
 ; EXE header
 
-.segment       "EXEHDR"
+.segment        "EXEHDR"
 
-       .word   $FFFF
-       .word   __STARTUP_LOAD__
-       .word   __ZPSAVE_LOAD__ - 1
+        .word   $FFFF
+        .word   __STARTUP_LOAD__
+        .word   __ZPSAVE_LOAD__ - 1
 
 ; ------------------------------------------------------------------------
 ; Actual code
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
-       rts     ; fix for SpartaDOS / OS/A+
-               ; they first call the entry point from AUTOSTRT and
-               ; then the load addess (this rts here).
-               ; We point AUTOSTRT directly after the rts.
+        rts     ; fix for SpartaDOS / OS/A+
+                ; they first call the entry point from AUTOSTRT and
+                ; then the load addess (this rts here).
+                ; We point AUTOSTRT directly after the rts.
 
 ; Real entry point:
 
 ; Save the zero page locations we need
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Setup the stack
 
-       tsx
-       stx     spsave
+        tsx
+        stx     spsave
 
 ; Report memory usage
 
-       lda     APPMHI
-       sta     appmsav                 ; remember old APPMHI value
-       lda     APPMHI+1
-       sta     appmsav+1
-
-       sec
-       lda     MEMTOP
-       sbc     #<__RESERVED_MEMORY__
-       sta     APPMHI                  ; initialize our APPMHI value
-       sta     sp                      ; setup runtime stack part 1
-       lda     MEMTOP+1
-       sbc     #>__RESERVED_MEMORY__
-       sta     APPMHI+1
-       sta     sp+1                    ; setup runtime stack part 2
+        lda     APPMHI
+        sta     appmsav                 ; remember old APPMHI value
+        lda     APPMHI+1
+        sta     appmsav+1
+
+        sec
+        lda     MEMTOP
+        sbc     #<__RESERVED_MEMORY__
+        sta     APPMHI                  ; initialize our APPMHI value
+        sta     sp                      ; setup runtime stack part 1
+        lda     MEMTOP+1
+        sbc     #>__RESERVED_MEMORY__
+        sta     APPMHI+1
+        sta     sp+1                    ; setup runtime stack part 2
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Set left margin to 0
 
-       lda     LMARGN
-       sta     old_lmargin
-       ldy     #0
-       sty     LMARGN
+        lda     LMARGN
+        sta     old_lmargin
+        ldy     #0
+        sty     LMARGN
 
 ; Set keyb to upper/lowercase mode
 
-       ldx     SHFLOK
-       stx     old_shflok
-       sty     SHFLOK
+        ldx     SHFLOK
+        stx     old_shflok
+        sty     SHFLOK
 
 ; Initialize conio stuff
 
-       dey                             ; Set X to $FF
-       sty     CH
+        dey                             ; Set X to $FF
+        sty     CH
 
 ; Push arguments and call main
 
-       jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry.
 
-_exit: jsr     donelib         ; Run module destructors
+_exit:  jsr     donelib         ; Run module destructors
 
 ; Restore system stuff
 
-       ldx     spsave
-       txs                     ; Restore stack pointer
+        ldx     spsave
+        txs                     ; Restore stack pointer
 
 ; Restore left margin
 
-       lda     old_lmargin
-       sta     LMARGN
+        lda     old_lmargin
+        sta     LMARGN
 
 ; Restore kb mode
 
-       lda     old_shflok
-       sta     SHFLOK
+        lda     old_shflok
+        sta     SHFLOK
 
 ; Restore APPMHI
 
-       lda     appmsav
-       sta     APPMHI
-       lda     appmsav+1
-       sta     APPMHI+1
+        lda     appmsav
+        sta     APPMHI
+        lda     appmsav+1
+        sta     APPMHI+1
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Turn on cursor
 
-       inx
-       stx     CRSINH
+        inx
+        stx     CRSINH
 
 ; Back to DOS
 
-       rts
+        rts
 
 ; *** end of main startup code
 
 ; ------------------------------------------------------------------------
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave: .res   zpspace
+zpsave: .res    zpspace
 
 ; ------------------------------------------------------------------------
 
 .bss
 
-spsave:                .res    1
-appmsav:       .res    1
-old_shflok:    .res    1
-old_lmargin:   .res    1
+spsave:         .res    1
+appmsav:        .res    1
+old_shflok:     .res    1
+old_lmargin:    .res    1
 
-       .segment "AUTOSTRT"
-       .word   RUNAD                   ; defined in atari.h
-       .word   RUNAD+1
-       .word   __STARTUP_LOAD__ + 1
+        .segment "AUTOSTRT"
+        .word   RUNAD                   ; defined in atari.h
+        .word   RUNAD+1
+        .word   __STARTUP_LOAD__ + 1
index 8dbed27008ed0a8ae8c730af8eb83425689d4f91..73553dc15416351ee0bee719825668c440aefb88 100644 (file)
 ;   6 - Other whitespace (that is: '\f', '\n', '\r', '\t' and '\v')
 ;   7 - Space or tab character
 
-       .export         __ctype
+        .export         __ctype
 
 __ctype:
-               .byte   $00     ;   0/00 ___heart____
-               .byte   $00     ;   1/01 ___l_tee____
-               .byte   $00     ;   2/02 ___ctrl_B___
-               .byte   $00     ;   3/03 ___ctrl_C___
-               .byte   $00     ;   4/04 ___r_tee____
-               .byte   $00     ;   5/05 ___ctrl_E___
-               .byte   $00     ;   6/06 ___ctrl_F___
-               .byte   $00     ;   7/07 ___ctrl_G___
-               .byte   $00     ;   8/08 ___ctrl_H___
-               .byte   $00     ;   9/09 ___ctrl_I___
-               .byte   $00     ;  10/0a ___ctrl_J___
-               .byte   $00     ;  11/0b ___ctrl_K___
-               .byte   $00     ;  12/0c ___ctrl_L___
-               .byte   $00     ;  13/0d ___ctrl_M___
-               .byte   $00     ;  14/0e ___ctrl_N___
-               .byte   $00     ;  15/0f ___ctrl_O___
-               .byte   $00     ;  16/10 ____club____
-               .byte   $00     ;  17/11 ___ctrl_Q___
-               .byte   $00     ;  18/12 ___h_line___
-               .byte   $00     ;  19/13 ___ctrl_S___
-               .byte   $00     ;  20/14 ____ball____
-               .byte   $00     ;  21/15 ___ctrl_U___
-               .byte   $00     ;  22/16 ___ctrl_V___
-               .byte   $00     ;  23/17 ___t_tee____
-               .byte   $00     ;  24/18 ___b_tee____
-               .byte   $00     ;  25/19 ___ctrl_Y___
-               .byte   $00     ;  26/1a ___ctrl_Z___
-               .byte   $10     ;  27/1b ____ESC_____
-               .byte   $10     ;  28/1c ___crsr_up__
-               .byte   $10     ;  29/1d ___crsr_dn__
-               .byte   $10     ;  30/1e ___crsr_lf__
-               .byte   $10     ;  31/1f ___crsr_rg__
-               .byte   $A0     ;  32/20 ___SPACE___
-       .byte   $00     ;  33/21 _____!_____
-       .byte   $00     ;  34/22 _____"_____
-       .byte   $00     ;  35/23 _____#_____
-       .byte   $00     ;  36/24 _____$_____
-       .byte   $00     ;  37/25 _____%_____
-       .byte   $00     ;  38/26 _____&_____
-       .byte   $00     ;  39/27 _____'_____
-       .byte   $00     ;  40/28 _____(_____
-       .byte   $00     ;  41/29 _____)_____
-       .byte   $00     ;  42/2a _____*_____
-       .byte   $00     ;  43/2b _____+_____
-       .byte   $00     ;  44/2c _____,_____
-       .byte   $00     ;  45/2d _____-_____
-       .byte   $00     ;  46/2e _____._____
-       .byte   $00     ;  47/2f _____/_____
-       .byte   $0C     ;  48/30 _____0_____
-       .byte   $0C     ;  49/31 _____1_____
-       .byte   $0C     ;  50/32 _____2_____
-       .byte   $0C     ;  51/33 _____3_____
-       .byte   $0C     ;  52/34 _____4_____
-       .byte   $0C     ;  53/35 _____5_____
-       .byte   $0C     ;  54/36 _____6_____
-       .byte   $0C     ;  55/37 _____7_____
-       .byte   $0C     ;  56/38 _____8_____
-       .byte   $0C     ;  57/39 _____9_____
-       .byte   $00     ;  58/3a _____:_____
-       .byte   $00     ;  59/3b _____;_____
-       .byte   $00     ;  60/3c _____<_____
-       .byte   $00     ;  61/3d _____=_____
-       .byte   $00     ;  62/3e _____>_____
-       .byte   $00     ;  63/3f _____?_____
+        .byte   $00     ;   0/00 ___heart____
+        .byte   $00     ;   1/01 ___l_tee____
+        .byte   $00     ;   2/02 ___ctrl_B___
+        .byte   $00     ;   3/03 ___ctrl_C___
+        .byte   $00     ;   4/04 ___r_tee____
+        .byte   $00     ;   5/05 ___ctrl_E___
+        .byte   $00     ;   6/06 ___ctrl_F___
+        .byte   $00     ;   7/07 ___ctrl_G___
+        .byte   $00     ;   8/08 ___ctrl_H___
+        .byte   $00     ;   9/09 ___ctrl_I___
+        .byte   $00     ;  10/0a ___ctrl_J___
+        .byte   $00     ;  11/0b ___ctrl_K___
+        .byte   $00     ;  12/0c ___ctrl_L___
+        .byte   $00     ;  13/0d ___ctrl_M___
+        .byte   $00     ;  14/0e ___ctrl_N___
+        .byte   $00     ;  15/0f ___ctrl_O___
+        .byte   $00     ;  16/10 ____club____
+        .byte   $00     ;  17/11 ___ctrl_Q___
+        .byte   $00     ;  18/12 ___h_line___
+        .byte   $00     ;  19/13 ___ctrl_S___
+        .byte   $00     ;  20/14 ____ball____
+        .byte   $00     ;  21/15 ___ctrl_U___
+        .byte   $00     ;  22/16 ___ctrl_V___
+        .byte   $00     ;  23/17 ___t_tee____
+        .byte   $00     ;  24/18 ___b_tee____
+        .byte   $00     ;  25/19 ___ctrl_Y___
+        .byte   $00     ;  26/1a ___ctrl_Z___
+        .byte   $10     ;  27/1b ____ESC_____
+        .byte   $10     ;  28/1c ___crsr_up__
+        .byte   $10     ;  29/1d ___crsr_dn__
+        .byte   $10     ;  30/1e ___crsr_lf__
+        .byte   $10     ;  31/1f ___crsr_rg__
+        .byte   $A0     ;  32/20 ___SPACE___
+        .byte   $00     ;  33/21 _____!_____
+        .byte   $00     ;  34/22 _____"_____
+        .byte   $00     ;  35/23 _____#_____
+        .byte   $00     ;  36/24 _____$_____
+        .byte   $00     ;  37/25 _____%_____
+        .byte   $00     ;  38/26 _____&_____
+        .byte   $00     ;  39/27 _____'_____
+        .byte   $00     ;  40/28 _____(_____
+        .byte   $00     ;  41/29 _____)_____
+        .byte   $00     ;  42/2a _____*_____
+        .byte   $00     ;  43/2b _____+_____
+        .byte   $00     ;  44/2c _____,_____
+        .byte   $00     ;  45/2d _____-_____
+        .byte   $00     ;  46/2e _____._____
+        .byte   $00     ;  47/2f _____/_____
+        .byte   $0C     ;  48/30 _____0_____
+        .byte   $0C     ;  49/31 _____1_____
+        .byte   $0C     ;  50/32 _____2_____
+        .byte   $0C     ;  51/33 _____3_____
+        .byte   $0C     ;  52/34 _____4_____
+        .byte   $0C     ;  53/35 _____5_____
+        .byte   $0C     ;  54/36 _____6_____
+        .byte   $0C     ;  55/37 _____7_____
+        .byte   $0C     ;  56/38 _____8_____
+        .byte   $0C     ;  57/39 _____9_____
+        .byte   $00     ;  58/3a _____:_____
+        .byte   $00     ;  59/3b _____;_____
+        .byte   $00     ;  60/3c _____<_____
+        .byte   $00     ;  61/3d _____=_____
+        .byte   $00     ;  62/3e _____>_____
+        .byte   $00     ;  63/3f _____?_____
 
-       .byte   $00     ;  64/40 _____@_____
-               .byte   $0A     ;  65/41 _____A_____
-               .byte   $0A     ;  66/42 _____B_____
-               .byte   $0A     ;  67/43 _____C_____
-               .byte   $0A     ;  68/44 _____D_____
-               .byte   $0A     ;  69/45 _____E_____
-               .byte   $0A     ;  70/46 _____F_____
-               .byte   $02     ;  71/47 _____G_____
-               .byte   $02     ;  72/48 _____H_____
-               .byte   $02     ;  73/49 _____I_____
-               .byte   $02     ;  74/4a _____J_____
-               .byte   $02     ;  75/4b _____K_____
-               .byte   $02     ;  76/4c _____L_____
-               .byte   $02     ;  77/4d _____M_____
-               .byte   $02     ;  78/4e _____N_____
-               .byte   $02     ;  79/4f _____O_____
-               .byte   $02     ;  80/50 _____P_____
-               .byte   $02     ;  81/51 _____Q_____
-               .byte   $02     ;  82/52 _____R_____
-               .byte   $02     ;  83/53 _____S_____
-               .byte   $02     ;  84/54 _____T_____
-               .byte   $02     ;  85/55 _____U_____
-               .byte   $02     ;  86/56 _____V_____
-               .byte   $02     ;  87/57 _____W_____
-               .byte   $02     ;  88/58 _____X_____
-               .byte   $02     ;  89/59 _____Y_____
-               .byte   $02     ;  90/5a _____Z_____
-       .byte   $00     ;  91/5b _____[_____
-       .byte   $00     ;  92/5c _____\_____
-       .byte   $00     ;  93/5d _____]_____
-       .byte   $00     ;  94/5e _____^_____
-       .byte   $00     ;  95/5f _UNDERLINE_
-       .byte   $00     ;  96/60 __diamond__
-               .byte   $09     ;  97/61 _____a_____
-               .byte   $09     ;  98/62 _____b_____
-               .byte   $09     ;  99/63 _____c_____
-               .byte   $09     ; 100/64 _____d_____
-               .byte   $09     ; 101/65 _____e_____
-               .byte   $09     ; 102/66 _____f_____
-               .byte   $01     ; 103/67 _____g_____
-               .byte   $01     ; 104/68 _____h_____
-               .byte   $01     ; 105/69 _____i_____
-               .byte   $01     ; 106/6a _____j_____
-               .byte   $01     ; 107/6b _____k_____
-               .byte   $01     ; 108/6c _____l_____
-               .byte   $01     ; 109/6d _____m_____
-               .byte   $01     ; 110/6e _____n_____
-               .byte   $01     ; 111/6f _____o_____
-               .byte   $01     ; 112/70 _____p_____
-               .byte   $01     ; 113/71 _____q_____
-               .byte   $01     ; 114/72 _____r_____
-               .byte   $01     ; 115/73 _____s_____
-               .byte   $01     ; 116/74 _____t_____
-               .byte   $01     ; 117/75 _____u_____
-               .byte   $01     ; 118/76 _____v_____
-               .byte   $01     ; 119/77 _____w_____
-               .byte   $01     ; 120/78 _____x_____
-               .byte   $01     ; 121/79 _____y_____
-               .byte   $01     ; 122/7a _____z_____
-               .byte   $00     ; 123/7b ___spade___
-               .byte   $00     ; 124/7c __v_line___
-               .byte   $10     ; 125/7d __CLRSCR___
-               .byte   $D0     ; 126/7e __backtab__
-               .byte   $D0     ; 127/7f ____tab____
+        .byte   $00     ;  64/40 _____@_____
+        .byte   $0A     ;  65/41 _____A_____
+        .byte   $0A     ;  66/42 _____B_____
+        .byte   $0A     ;  67/43 _____C_____
+        .byte   $0A     ;  68/44 _____D_____
+        .byte   $0A     ;  69/45 _____E_____
+        .byte   $0A     ;  70/46 _____F_____
+        .byte   $02     ;  71/47 _____G_____
+        .byte   $02     ;  72/48 _____H_____
+        .byte   $02     ;  73/49 _____I_____
+        .byte   $02     ;  74/4a _____J_____
+        .byte   $02     ;  75/4b _____K_____
+        .byte   $02     ;  76/4c _____L_____
+        .byte   $02     ;  77/4d _____M_____
+        .byte   $02     ;  78/4e _____N_____
+        .byte   $02     ;  79/4f _____O_____
+        .byte   $02     ;  80/50 _____P_____
+        .byte   $02     ;  81/51 _____Q_____
+        .byte   $02     ;  82/52 _____R_____
+        .byte   $02     ;  83/53 _____S_____
+        .byte   $02     ;  84/54 _____T_____
+        .byte   $02     ;  85/55 _____U_____
+        .byte   $02     ;  86/56 _____V_____
+        .byte   $02     ;  87/57 _____W_____
+        .byte   $02     ;  88/58 _____X_____
+        .byte   $02     ;  89/59 _____Y_____
+        .byte   $02     ;  90/5a _____Z_____
+        .byte   $00     ;  91/5b _____[_____
+        .byte   $00     ;  92/5c _____\_____
+        .byte   $00     ;  93/5d _____]_____
+        .byte   $00     ;  94/5e _____^_____
+        .byte   $00     ;  95/5f _UNDERLINE_
+        .byte   $00     ;  96/60 __diamond__
+        .byte   $09     ;  97/61 _____a_____
+        .byte   $09     ;  98/62 _____b_____
+        .byte   $09     ;  99/63 _____c_____
+        .byte   $09     ; 100/64 _____d_____
+        .byte   $09     ; 101/65 _____e_____
+        .byte   $09     ; 102/66 _____f_____
+        .byte   $01     ; 103/67 _____g_____
+        .byte   $01     ; 104/68 _____h_____
+        .byte   $01     ; 105/69 _____i_____
+        .byte   $01     ; 106/6a _____j_____
+        .byte   $01     ; 107/6b _____k_____
+        .byte   $01     ; 108/6c _____l_____
+        .byte   $01     ; 109/6d _____m_____
+        .byte   $01     ; 110/6e _____n_____
+        .byte   $01     ; 111/6f _____o_____
+        .byte   $01     ; 112/70 _____p_____
+        .byte   $01     ; 113/71 _____q_____
+        .byte   $01     ; 114/72 _____r_____
+        .byte   $01     ; 115/73 _____s_____
+        .byte   $01     ; 116/74 _____t_____
+        .byte   $01     ; 117/75 _____u_____
+        .byte   $01     ; 118/76 _____v_____
+        .byte   $01     ; 119/77 _____w_____
+        .byte   $01     ; 120/78 _____x_____
+        .byte   $01     ; 121/79 _____y_____
+        .byte   $01     ; 122/7a _____z_____
+        .byte   $00     ; 123/7b ___spade___
+        .byte   $00     ; 124/7c __v_line___
+        .byte   $10     ; 125/7d __CLRSCR___
+        .byte   $D0     ; 126/7e __backtab__
+        .byte   $D0     ; 127/7f ____tab____
 
-               .byte   $00     ; 128/80 _inv_heart___
-               .byte   $00     ; 129/81 _inv_l_tee___
-               .byte   $00     ; 130/82 _inv_ctrl_B__
-               .byte   $00     ; 131/83 _inv_ctrl_C__
-               .byte   $00     ; 132/84 _inv_r_tee___
-               .byte   $00     ; 133/85 _inv_ctrl_E__
-               .byte   $00     ; 134/86 _inv_ctrl_F__
-               .byte   $00     ; 135/87 _inv_ctrl_G__
-               .byte   $00     ; 136/88 _inv_ctrl_H__
-               .byte   $00     ; 137/89 _inv_ctrl_I__
-               .byte   $00     ; 138/8a _inv_ctrl_J__
-               .byte   $00     ; 139/8b _inv_ctrl_K__
-               .byte   $00     ; 140/8c _inv_ctrl_L__
-               .byte   $00     ; 141/8d _inv_ctrl_M__
-               .byte   $00     ; 142/8e _inv_ctrl_N__
-               .byte   $00     ; 143/8f _inv_ctrl_O__
-               .byte   $00     ; 144/90 __inv__club__
-               .byte   $00     ; 145/91 _inv_ctrl_Q__
-               .byte   $00     ; 146/92 _inv_h_line__
-               .byte   $00     ; 147/93 _inv_ctrl_S__
-               .byte   $00     ; 148/94 __inv__ball__
-               .byte   $00     ; 149/95 _inv_ctrl_U__
-               .byte   $00     ; 150/96 _inv_ctrl_V__
-               .byte   $00     ; 151/97 __inv_t_tee__
-               .byte   $00     ; 152/98 __inv_b_tee__
-               .byte   $00     ; 153/99 _inv_ctrl_Y__
-               .byte   $00     ; 154/9a _inv_ctrl_Z__
-               .byte   $50     ; 155/9b _____EOL_____
-               .byte   $10     ; 156/9c ___CLRLINE___
-               .byte   $10     ; 157/9d ___INSLINE___
-               .byte   $10     ; 158/9e ____CLRTAB___
-               .byte   $10     ; 159/9f ____INSTAB___
-               .byte   $A0     ; 160/a0 __inv_SPACE__
-       .byte   $00     ; 161/a1 ___inv_!_____
-       .byte   $00     ; 162/a2 ___inv_"_____
-       .byte   $00     ; 163/a3 ___inv_#_____
-       .byte   $00     ; 164/a4 ___inv_$_____
-       .byte   $00     ; 165/a5 ___inv_%_____
-       .byte   $00     ; 166/a6 ___inv_&_____
-       .byte   $00     ; 167/a7 ___inv_'_____
-       .byte   $00     ; 168/a8 ___inv_(_____
-       .byte   $00     ; 169/a9 ___inv_)_____
-       .byte   $00     ; 170/aa ___inv_*_____
-       .byte   $00     ; 171/ab ___inv_+_____
-       .byte   $00     ; 172/ac ___inv_,_____
-       .byte   $00     ; 173/ad ___inv_-_____
-       .byte   $00     ; 174/ae ___inv_._____
-       .byte   $00     ; 175/af ___inv_/_____
-       .byte   $0C     ; 176/b0 ___inv_0_____
-       .byte   $0C     ; 177/b1 ___inv_1_____
-       .byte   $0C     ; 178/b2 ___inv_2_____
-       .byte   $0C     ; 179/b3 ___inv_3_____
-       .byte   $0C     ; 180/b4 ___inv_4_____
-       .byte   $0C     ; 181/b5 ___inv_5_____
-       .byte   $0C     ; 182/b6 ___inv_6_____
-       .byte   $0C     ; 183/b7 ___inv_7_____
-       .byte   $0C     ; 184/b8 ___inv_8_____
-       .byte   $0C     ; 185/b9 ___inv_9_____
-       .byte   $00     ; 186/ba ___inv_:_____
-       .byte   $00     ; 187/bb ___inv_;_____
-       .byte   $00     ; 188/bc ___inv_<_____
-       .byte   $00     ; 189/bd ___inv_=_____
-       .byte   $00     ; 190/be ___inv_>_____
-       .byte   $00     ; 191/bf ___inv_?_____
+        .byte   $00     ; 128/80 _inv_heart___
+        .byte   $00     ; 129/81 _inv_l_tee___
+        .byte   $00     ; 130/82 _inv_ctrl_B__
+        .byte   $00     ; 131/83 _inv_ctrl_C__
+        .byte   $00     ; 132/84 _inv_r_tee___
+        .byte   $00     ; 133/85 _inv_ctrl_E__
+        .byte   $00     ; 134/86 _inv_ctrl_F__
+        .byte   $00     ; 135/87 _inv_ctrl_G__
+        .byte   $00     ; 136/88 _inv_ctrl_H__
+        .byte   $00     ; 137/89 _inv_ctrl_I__
+        .byte   $00     ; 138/8a _inv_ctrl_J__
+        .byte   $00     ; 139/8b _inv_ctrl_K__
+        .byte   $00     ; 140/8c _inv_ctrl_L__
+        .byte   $00     ; 141/8d _inv_ctrl_M__
+        .byte   $00     ; 142/8e _inv_ctrl_N__
+        .byte   $00     ; 143/8f _inv_ctrl_O__
+        .byte   $00     ; 144/90 __inv__club__
+        .byte   $00     ; 145/91 _inv_ctrl_Q__
+        .byte   $00     ; 146/92 _inv_h_line__
+        .byte   $00     ; 147/93 _inv_ctrl_S__
+        .byte   $00     ; 148/94 __inv__ball__
+        .byte   $00     ; 149/95 _inv_ctrl_U__
+        .byte   $00     ; 150/96 _inv_ctrl_V__
+        .byte   $00     ; 151/97 __inv_t_tee__
+        .byte   $00     ; 152/98 __inv_b_tee__
+        .byte   $00     ; 153/99 _inv_ctrl_Y__
+        .byte   $00     ; 154/9a _inv_ctrl_Z__
+        .byte   $50     ; 155/9b _____EOL_____
+        .byte   $10     ; 156/9c ___CLRLINE___
+        .byte   $10     ; 157/9d ___INSLINE___
+        .byte   $10     ; 158/9e ____CLRTAB___
+        .byte   $10     ; 159/9f ____INSTAB___
+        .byte   $A0     ; 160/a0 __inv_SPACE__
+        .byte   $00     ; 161/a1 ___inv_!_____
+        .byte   $00     ; 162/a2 ___inv_"_____
+        .byte   $00     ; 163/a3 ___inv_#_____
+        .byte   $00     ; 164/a4 ___inv_$_____
+        .byte   $00     ; 165/a5 ___inv_%_____
+        .byte   $00     ; 166/a6 ___inv_&_____
+        .byte   $00     ; 167/a7 ___inv_'_____
+        .byte   $00     ; 168/a8 ___inv_(_____
+        .byte   $00     ; 169/a9 ___inv_)_____
+        .byte   $00     ; 170/aa ___inv_*_____
+        .byte   $00     ; 171/ab ___inv_+_____
+        .byte   $00     ; 172/ac ___inv_,_____
+        .byte   $00     ; 173/ad ___inv_-_____
+        .byte   $00     ; 174/ae ___inv_._____
+        .byte   $00     ; 175/af ___inv_/_____
+        .byte   $0C     ; 176/b0 ___inv_0_____
+        .byte   $0C     ; 177/b1 ___inv_1_____
+        .byte   $0C     ; 178/b2 ___inv_2_____
+        .byte   $0C     ; 179/b3 ___inv_3_____
+        .byte   $0C     ; 180/b4 ___inv_4_____
+        .byte   $0C     ; 181/b5 ___inv_5_____
+        .byte   $0C     ; 182/b6 ___inv_6_____
+        .byte   $0C     ; 183/b7 ___inv_7_____
+        .byte   $0C     ; 184/b8 ___inv_8_____
+        .byte   $0C     ; 185/b9 ___inv_9_____
+        .byte   $00     ; 186/ba ___inv_:_____
+        .byte   $00     ; 187/bb ___inv_;_____
+        .byte   $00     ; 188/bc ___inv_<_____
+        .byte   $00     ; 189/bd ___inv_=_____
+        .byte   $00     ; 190/be ___inv_>_____
+        .byte   $00     ; 191/bf ___inv_?_____
 
-       .byte   $00     ; 192/c0 ___inv_@_____
-               .byte   $0A     ; 193/c1 ___inv_A_____
-               .byte   $0A     ; 194/c2 ___inv_B_____
-               .byte   $0A     ; 195/c3 ___inv_C_____
-               .byte   $0A     ; 196/c4 ___inv_D_____
-               .byte   $0A     ; 197/c5 ___inv_E_____
-               .byte   $0A     ; 198/c6 ___inv_F_____
-               .byte   $02     ; 199/c7 ___inv_G_____
-               .byte   $02     ; 200/c8 ___inv_H_____
-               .byte   $02     ; 201/c9 ___inv_I_____
-               .byte   $02     ; 202/ca ___inv_J_____
-               .byte   $02     ; 203/cb ___inv_K_____
-               .byte   $02     ; 204/cc ___inv_L_____
-               .byte   $02     ; 205/cd ___inv_M_____
-               .byte   $02     ; 206/ce ___inv_N_____
-               .byte   $02     ; 207/cf ___inv_O_____
-               .byte   $02     ; 208/d0 ___inv_P_____
-               .byte   $02     ; 209/d1 ___inv_Q_____
-               .byte   $02     ; 210/d2 ___inv_R_____
-               .byte   $02     ; 211/d3 ___inv_S_____
-               .byte   $02     ; 212/d4 ___inv_T_____
-               .byte   $02     ; 213/d5 ___inv_U_____
-               .byte   $02     ; 214/d6 ___inv_V_____
-               .byte   $02     ; 215/d7 ___inv_W_____
-               .byte   $02     ; 216/d8 ___inv_X_____
-               .byte   $02     ; 217/d9 ___inv_Y_____
-               .byte   $02     ; 218/da ___inv_Z_____
-       .byte   $00     ; 219/db ___inv_[_____
-       .byte   $00     ; 220/dc ___inv_\_____
-       .byte   $00     ; 221/dd ___inv_]_____
-       .byte   $00     ; 222/de ___inv_^_____
-       .byte   $00     ; 223/df _inv_UNDRLIN_
-       .byte   $00     ; 224/e0 _inv_diamond_
-               .byte   $09     ; 225/e1 ___inv_a_____
-               .byte   $09     ; 226/e2 ___inv_b_____
-               .byte   $09     ; 227/e3 ___inv_c_____
-               .byte   $09     ; 228/e4 ___inv_d_____
-               .byte   $09     ; 229/e5 ___inv_e_____
-               .byte   $09     ; 230/e6 ___inv_f_____
-               .byte   $01     ; 231/e7 ___inv_g_____
-               .byte   $01     ; 232/e8 ___inv_h_____
-               .byte   $01     ; 233/e9 ___inv_i_____
-               .byte   $01     ; 234/ea ___inv_j_____
-               .byte   $01     ; 235/eb ___inv_k_____
-               .byte   $01     ; 236/ec ___inv_l_____
-               .byte   $01     ; 237/ed ___inv_m_____
-               .byte   $01     ; 238/ee ___inv_n_____
-               .byte   $01     ; 239/ef ___inv_o_____
-               .byte   $01     ; 240/f0 ___inv_p_____
-               .byte   $01     ; 241/f1 ___inv_q_____
-               .byte   $01     ; 242/f2 ___inv_r_____
-               .byte   $01     ; 243/f3 ___inv_s_____
-               .byte   $01     ; 244/f4 ___inv_t_____
-               .byte   $01     ; 245/f5 ___inv_u_____
-               .byte   $01     ; 246/f6 ___inv_v_____
-               .byte   $01     ; 247/f7 ___inv_w_____
-               .byte   $01     ; 248/f8 ___inv_x_____
-               .byte   $01     ; 249/f9 ___inv_y_____
-               .byte   $01     ; 250/fa ___inv_z_____
-               .byte   $00     ; 251/fb __inv_spade__
-               .byte   $00     ; 252/fc __inv_v_line_
-               .byte   $10     ; 253/fd ____BEEP_____
-               .byte   $10     ; 254/fe ____DELBS____
-               .byte   $10     ; 255/ff ___INSERT____
+        .byte   $00     ; 192/c0 ___inv_@_____
+        .byte   $0A     ; 193/c1 ___inv_A_____
+        .byte   $0A     ; 194/c2 ___inv_B_____
+        .byte   $0A     ; 195/c3 ___inv_C_____
+        .byte   $0A     ; 196/c4 ___inv_D_____
+        .byte   $0A     ; 197/c5 ___inv_E_____
+        .byte   $0A     ; 198/c6 ___inv_F_____
+        .byte   $02     ; 199/c7 ___inv_G_____
+        .byte   $02     ; 200/c8 ___inv_H_____
+        .byte   $02     ; 201/c9 ___inv_I_____
+        .byte   $02     ; 202/ca ___inv_J_____
+        .byte   $02     ; 203/cb ___inv_K_____
+        .byte   $02     ; 204/cc ___inv_L_____
+        .byte   $02     ; 205/cd ___inv_M_____
+        .byte   $02     ; 206/ce ___inv_N_____
+        .byte   $02     ; 207/cf ___inv_O_____
+        .byte   $02     ; 208/d0 ___inv_P_____
+        .byte   $02     ; 209/d1 ___inv_Q_____
+        .byte   $02     ; 210/d2 ___inv_R_____
+        .byte   $02     ; 211/d3 ___inv_S_____
+        .byte   $02     ; 212/d4 ___inv_T_____
+        .byte   $02     ; 213/d5 ___inv_U_____
+        .byte   $02     ; 214/d6 ___inv_V_____
+        .byte   $02     ; 215/d7 ___inv_W_____
+        .byte   $02     ; 216/d8 ___inv_X_____
+        .byte   $02     ; 217/d9 ___inv_Y_____
+        .byte   $02     ; 218/da ___inv_Z_____
+        .byte   $00     ; 219/db ___inv_[_____
+        .byte   $00     ; 220/dc ___inv_\_____
+        .byte   $00     ; 221/dd ___inv_]_____
+        .byte   $00     ; 222/de ___inv_^_____
+        .byte   $00     ; 223/df _inv_UNDRLIN_
+        .byte   $00     ; 224/e0 _inv_diamond_
+        .byte   $09     ; 225/e1 ___inv_a_____
+        .byte   $09     ; 226/e2 ___inv_b_____
+        .byte   $09     ; 227/e3 ___inv_c_____
+        .byte   $09     ; 228/e4 ___inv_d_____
+        .byte   $09     ; 229/e5 ___inv_e_____
+        .byte   $09     ; 230/e6 ___inv_f_____
+        .byte   $01     ; 231/e7 ___inv_g_____
+        .byte   $01     ; 232/e8 ___inv_h_____
+        .byte   $01     ; 233/e9 ___inv_i_____
+        .byte   $01     ; 234/ea ___inv_j_____
+        .byte   $01     ; 235/eb ___inv_k_____
+        .byte   $01     ; 236/ec ___inv_l_____
+        .byte   $01     ; 237/ed ___inv_m_____
+        .byte   $01     ; 238/ee ___inv_n_____
+        .byte   $01     ; 239/ef ___inv_o_____
+        .byte   $01     ; 240/f0 ___inv_p_____
+        .byte   $01     ; 241/f1 ___inv_q_____
+        .byte   $01     ; 242/f2 ___inv_r_____
+        .byte   $01     ; 243/f3 ___inv_s_____
+        .byte   $01     ; 244/f4 ___inv_t_____
+        .byte   $01     ; 245/f5 ___inv_u_____
+        .byte   $01     ; 246/f6 ___inv_v_____
+        .byte   $01     ; 247/f7 ___inv_w_____
+        .byte   $01     ; 248/f8 ___inv_x_____
+        .byte   $01     ; 249/f9 ___inv_y_____
+        .byte   $01     ; 250/fa ___inv_z_____
+        .byte   $00     ; 251/fb __inv_spade__
+        .byte   $00     ; 252/fc __inv_v_line_
+        .byte   $10     ; 253/fd ____BEEP_____
+        .byte   $10     ; 254/fe ____DELBS____
+        .byte   $10     ; 255/ff ___INSERT____
 
 
index ca3795aca768ae4f41d35798e0ef93150dcbb54f..608da23deafb68adbdd8cbe481b86cd1b2e838c3 100644 (file)
@@ -4,32 +4,32 @@
 ; void cvlinexy (unsigned char x, unsigned char y, unsigned char length);
 ; void cvline (unsigned char length);
 ;
-       .include "atari.inc"
-       
-       .export         _cvlinexy, _cvline
-       .import         popa, _gotoxy, putchar, setcursor
-       .importzp       tmp1
+        .include "atari.inc"
+        
+        .export         _cvlinexy, _cvline
+        .import         popa, _gotoxy, putchar, setcursor
+        .importzp       tmp1
 
 _cvlinexy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-       pla                     ; Restore the length and run into _cvline
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cvline
 
 _cvline:
-       cmp     #0              ; Is the length zero?
-       beq     L9              ; Jump if done
-       sta     tmp1
-L1:    lda     COLCRS
-       pha
-       lda     #$7C            ; Vertical bar
-       jsr     putchar         ; Write, no cursor advance
-       pla
-       sta     COLCRS
-       inc     ROWCRS
-       dec     tmp1
-       bne     L1
-L9:    jmp     setcursor
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1
+L1:     lda     COLCRS
+        pha
+        lda     #$7C            ; Vertical bar
+        jsr     putchar         ; Write, no cursor advance
+        pla
+        sta     COLCRS
+        inc     ROWCRS
+        dec     tmp1
+        bne     L1
+L9:     jmp     setcursor
 
 
 
index f76a06b8a5a0c14440dc6bc7a403a7fe2d0de870..551b9c0f60b497807613ffb5bf9dfeb5d0b19f65 100644 (file)
@@ -9,60 +9,60 @@
 ; sector number it got
 ;
 ; unsigned char __fastcall__ dio_phys_to_log(dhandle_t handle,
-;                                           dio_phys_pos *physpos,     /* input */
-;                                           unsigned *sectnum);        /* output */
+;                                            dio_phys_pos *physpos,     /* input */
+;                                            unsigned *sectnum);        /* output */
 ;
 ; dhandle_t - 16bit (ptr)
 ;
 
-       .export         _dio_phys_to_log
-       .import         popax,__oserror
-       .importzp       ptr1,ptr2,ptr3
-       .include        "atari.inc"
+        .export         _dio_phys_to_log
+        .import         popax,__oserror
+        .importzp       ptr1,ptr2,ptr3
+        .include        "atari.inc"
 
-.proc  _dio_phys_to_log
+.proc   _dio_phys_to_log
 
-       sta     ptr1
-       stx     ptr1+1          ; pointer to result
+        sta     ptr1
+        stx     ptr1+1          ; pointer to result
 
-       jsr     popax
-       sta     ptr2
-       stx     ptr2+1          ; pointer to input structure
+        jsr     popax
+        sta     ptr2
+        stx     ptr2+1          ; pointer to input structure
 
-       jsr     popax
-       sta     ptr3
-       stx     ptr3+1          ; pointer to handle
+        jsr     popax
+        sta     ptr3
+        stx     ptr3+1          ; pointer to handle
 
-       ldy     #sst_flag
-       lda     (ptr3),y
-       and     #128
-       beq     _inv_hand       ; handle not open or invalid
+        ldy     #sst_flag
+        lda     (ptr3),y
+        and     #128
+        beq     _inv_hand       ; handle not open or invalid
 
 ; ignore head and track and return the sector value
 
-       ldy     #diopp_sector
-       lda     (ptr2),y
-       tax
-       iny
-       lda     (ptr2),y
-       ldy     #1
-       sta     (ptr1),y
-       dey
-       txa
-       sta     (ptr1),y
+        ldy     #diopp_sector
+        lda     (ptr2),y
+        tax
+        iny
+        lda     (ptr2),y
+        ldy     #1
+        sta     (ptr1),y
+        dey
+        txa
+        sta     (ptr1),y
 
-       ldx     #0
-       txa
+        ldx     #0
+        txa
 ret:
-       sta     __oserror
-       rts                     ; return success
+        sta     __oserror
+        rts                     ; return success
 
 ; invalid handle
 
 _inv_hand:
-       ldx     #0
-       lda     #BADIOC
-       bne     ret
+        ldx     #0
+        lda     #BADIOC
+        bne     ret
 
 .endproc
 
index 617989cbde2f904b738b75c6b93af9790ae64647..52b3af4a610d36ca3d2e5bd0ff1caca5bc0b1bd3 100644 (file)
@@ -8,65 +8,65 @@
 ; cylinder and head 0 and as sector the sectnum it got
 ;
 ; unsigned char __fastcall__ dio_log_to_phys(dhandle_t handle,
-;                                           unsigned *sectnum,         /* input */
-;                                           dio_phys_pos *physpos);    /* output */
+;                                            unsigned *sectnum,         /* input */
+;                                            dio_phys_pos *physpos);    /* output */
 ;
 ; dhandle_t - 16bit (ptr)
 ;
 
-       .export         _dio_log_to_phys
-       .include        "atari.inc"
-       .importzp       ptr1,ptr2,ptr3
-       .import         popax,__oserror
+        .export         _dio_log_to_phys
+        .include        "atari.inc"
+        .importzp       ptr1,ptr2,ptr3
+        .import         popax,__oserror
 
-.proc  _dio_log_to_phys
+.proc   _dio_log_to_phys
 
-       sta     ptr2
-       stx     ptr2+1          ; pointer to output structure
+        sta     ptr2
+        stx     ptr2+1          ; pointer to output structure
 
-       jsr     popax
-       sta     ptr1
-       stx     ptr1+1          ; save pointer to input data
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1          ; save pointer to input data
 
-       jsr     popax
-       sta     ptr3
-       stx     ptr3+1          ; pointer to handle
+        jsr     popax
+        sta     ptr3
+        stx     ptr3+1          ; pointer to handle
 
-       ldy     #sst_flag
-       lda     (ptr3),y
-       and     #128
-       beq     _inv_hand       ; handle not open or invalid
+        ldy     #sst_flag
+        lda     (ptr3),y
+        and     #128
+        beq     _inv_hand       ; handle not open or invalid
 
-       lda     #0
-       tay
-       tax
-       sta     (ptr2),y        ; head
-       iny
-       sta     (ptr2),y        ; track (low)
-       iny
-       sta     (ptr2),y        ; track (high)
-       iny
+        lda     #0
+        tay
+        tax
+        sta     (ptr2),y        ; head
+        iny
+        sta     (ptr2),y        ; track (low)
+        iny
+        sta     (ptr2),y        ; track (high)
+        iny
 
-       lda     (ptr1,x)
-       sta     (ptr2),y
-       iny
-       inc     ptr1
-       bne     _l1
-       inc     ptr1+1
-_l1:   lda     (ptr1,x)
-       sta     (ptr2),y
+        lda     (ptr1,x)
+        sta     (ptr2),y
+        iny
+        inc     ptr1
+        bne     _l1
+        inc     ptr1+1
+_l1:    lda     (ptr1,x)
+        sta     (ptr2),y
 
-       txa
+        txa
 ret:
-       sta     __oserror
-       rts                     ; return success
+        sta     __oserror
+        rts                     ; return success
 
 ; invalid handle
 
 _inv_hand:
-       ldx     #0
-       lda     #BADIOC
-       bne     ret
+        ldx     #0
+        lda     #BADIOC
+        bne     ret
 
 .endproc
 
index f4c80607608447d3ed3b97e32c0a91d04d1ab68d..2cdeba78b673d8fae74550a1c2ce2547fa6c24ef 100644 (file)
 ; _dio_write functions. To query the sector size, the _dio_open
 ; accesses the disk drive.
 ;
-; dhandle_t    __fastcall__ dio_open  (unsigned char device);
+; dhandle_t     __fastcall__ dio_open  (unsigned char device);
 ; unsigned char __fastcall__ dio_close (dhandle_t handle);
 ;
 
-       .export         _dio_open, _dio_close
-       .export         sectsizetab
-       .import         __oserror, __sio_call, _dio_read
-       .import         pushax, addysp, subysp
-       .importzp       ptr2, sp
-       .include        "atari.inc"
+        .export         _dio_open, _dio_close
+        .export         sectsizetab
+        .import         __oserror, __sio_call, _dio_read
+        .import         pushax, addysp, subysp
+        .importzp       ptr2, sp
+        .include        "atari.inc"
 
 
 .bss
 
 sectsizetab:
-       .res    NUMDRVS * sst_size
+        .res    NUMDRVS * sst_size
 
 .code
 
 ; code for _dio_open
 
 _inv_drive:
-       lda     #NONDEV         ; non-existent device
-       sta     __oserror
-       lda     #0
-       tax
-       rts                     ; return NULL
+        lda     #NONDEV         ; non-existent device
+        sta     __oserror
+        lda     #0
+        tax
+        rts                     ; return NULL
 
 _dio_open:
 
-       cmp     #NUMDRVS        ; valid drive id?
-       bcs     _inv_drive
-       tay                     ; drive #
-       asl     a               ; make index from drive id
-       asl     a
-       tax
-       lda     #128                            ; preset sectsize
-       sta     sectsizetab+sst_sectsize,x
-       sta     sectsizetab+sst_flag,x          ; set flag that drive is "open"
-       lda     #0
-       sta     sectsizetab+sst_sectsize+1,x
-       sta     __oserror                       ; success
-       tya
-       sta     sectsizetab+sst_driveno,x
-       stx     ptr2
-       lda     #<sectsizetab
-       clc
-       adc     ptr2
-       sta     ptr2
-       lda     #>sectsizetab
-       adc     #0
-       tax
-       stx     ptr2+1          ; ptr2: pointer to sectsizetab entry
+        cmp     #NUMDRVS        ; valid drive id?
+        bcs     _inv_drive
+        tay                     ; drive #
+        asl     a               ; make index from drive id
+        asl     a
+        tax
+        lda     #128                            ; preset sectsize
+        sta     sectsizetab+sst_sectsize,x
+        sta     sectsizetab+sst_flag,x          ; set flag that drive is "open"
+        lda     #0
+        sta     sectsizetab+sst_sectsize+1,x
+        sta     __oserror                       ; success
+        tya
+        sta     sectsizetab+sst_driveno,x
+        stx     ptr2
+        lda     #<sectsizetab
+        clc
+        adc     ptr2
+        sta     ptr2
+        lda     #>sectsizetab
+        adc     #0
+        tax
+        stx     ptr2+1          ; ptr2: pointer to sectsizetab entry
 
 ; query drive for current sector size
 ; procedure:
 ;   - read sector #4 (SIO command $54) to update drive status;
 ;     read length is 128 bytes, buffer is allocated on the stack,
-;         sector data is ignored;
+;          sector data is ignored;
 ;     returned command status is ignored, we will get an error with
-;         a DD disk anyway (read size 128 vs. sector size 256);
+;          a DD disk anyway (read size 128 vs. sector size 256);
 ;   - issue SIO command $53 (get status) to retrieve the sector size;
 ;     use the DVSTAT system area as return buffer;
 ;     if the command returns with an error, set sector size to 128
-;         bytes;
+;          bytes;
 ;
 
-       ldy     #128
-       jsr     subysp          ; allocate buffer on the stack
+        ldy     #128
+        jsr     subysp          ; allocate buffer on the stack
 
-       lda     sp
-       pha
-       lda     sp+1
-       pha                     ; save sp (buffer address) on processor stack
+        lda     sp
+        pha
+        lda     sp+1
+        pha                     ; save sp (buffer address) on processor stack
 
-       lda     ptr2
-       ldx     ptr2+1
-       jsr     pushax          ; handle
+        lda     ptr2
+        ldx     ptr2+1
+        jsr     pushax          ; handle
 
-       ldx     #0
-       lda     #4
-       jsr     pushax          ; sect_num
+        ldx     #0
+        lda     #4
+        jsr     pushax          ; sect_num
 
-       pla
-       tax
-       pla                     ; AX - buffer address
+        pla
+        tax
+        pla                     ; AX - buffer address
 
-                               ; sst_sectsize currently 128
-       jsr     _dio_read       ; read sector to update status
+                                ; sst_sectsize currently 128
+        jsr     _dio_read       ; read sector to update status
 
-       ldy     #128
-       jsr     addysp          ; discard stack buffer
+        ldy     #128
+        jsr     addysp          ; discard stack buffer
 
-       lda     ptr2
-       ldx     ptr2+1
-       jsr     pushax          ; handle
+        lda     ptr2
+        ldx     ptr2+1
+        jsr     pushax          ; handle
 
-       ldx     #0
-       lda     #4
-       jsr     pushax          ; dummy sector #, ignored by this SIO command,
-                               ; but set to circumvent the special 1-3 sector
-                               ; handling in __sio_call
+        ldx     #0
+        lda     #4
+        jsr     pushax          ; dummy sector #, ignored by this SIO command,
+                                ; but set to circumvent the special 1-3 sector
+                                ; handling in __sio_call
 
-       ldx     #>DVSTAT
-       lda     #<DVSTAT
-       jsr     pushax          ; buffer address
+        ldx     #>DVSTAT
+        lda     #<DVSTAT
+        jsr     pushax          ; buffer address
 
-       ldy     #sst_sectsize
-       lda     #4
-       sta     (ptr2),y        ; 4 bytes transfer
+        ldy     #sst_sectsize
+        lda     #4
+        sta     (ptr2),y        ; 4 bytes transfer
 
-       ldx     #%01000000      ; direction value
-       lda     #SIO_STAT       ; get status
+        ldx     #%01000000      ; direction value
+        lda     #SIO_STAT       ; get status
 
-       jsr     __sio_call
+        jsr     __sio_call
 
-       bmi     error
+        bmi     error
 
-       ldy     #sst_sectsize
-       lda     DVSTAT
-       and     #%100000
-       beq     s128
+        ldy     #sst_sectsize
+        lda     DVSTAT
+        and     #%100000
+        beq     s128
 
 ;s256
-       lda     #0
-       sta     (ptr2),y
-       iny
-       lda     #1
+        lda     #0
+        sta     (ptr2),y
+        iny
+        lda     #1
 
-finish:        sta     (ptr2),y        ; set default sector size       
-fini2: lda     ptr2
-       ldx     ptr2+1
-       rts
+finish: sta     (ptr2),y        ; set default sector size       
+fini2:  lda     ptr2
+        ldx     ptr2+1
+        rts
 
-error: ldy     #sst_sectsize
-s128:  lda     #128
-       bne     finish
+error:  ldy     #sst_sectsize
+s128:   lda     #128
+        bne     finish
 
 ; end of _dio_open
 
 
-.proc  _dio_close
+.proc   _dio_close
 
-       sta     ptr2
-       stx     ptr2+1
-       lda     #0
-       ldy     #sst_flag
-       sta     (ptr2),y
-       sta     __oserror       ; success
-       tax
-       rts                     ; return no error
+        sta     ptr2
+        stx     ptr2+1
+        lda     #0
+        ldy     #sst_flag
+        sta     (ptr2),y
+        sta     __oserror       ; success
+        tax
+        rts                     ; return no error
 
 .endproc
index e6362ead36021abac76c84e9f258b82004cab6d8..f26667af7f029e62f77830b578a6e8838d4c3c48 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned __fastcall__ dio_query_sectsize(dhandle_t handle);
 ;
 
-       .include        "atari.inc"
-       .export         _dio_query_sectsize
-       .importzp       ptr1,tmp1
-       .import         popax, __oserror
+        .include        "atari.inc"
+        .export         _dio_query_sectsize
+        .importzp       ptr1,tmp1
+        .import         popax, __oserror
 
-.proc  _dio_query_sectsize
+.proc   _dio_query_sectsize
 
-       sta     ptr1            ; handle
-       stx     ptr1+1 
+        sta     ptr1            ; handle
+        stx     ptr1+1 
 
-       lda     #0
-       sta     __oserror
+        lda     #0
+        sta     __oserror
 
-       ldy     #sst_sectsize+1
-       lda     (ptr1),y
-       tax
-       dey
-       lda     (ptr1),y
-       rts
+        ldy     #sst_sectsize+1
+        lda     (ptr1),y
+        tax
+        dey
+        lda     (ptr1),y
+        rts
 
 .endproc
index 7b7cbc60c934187f6020b019a73adfc05b396a12..53fc7307f5a71ebdc39e31a1521b8ef65960b0c0 100644 (file)
@@ -7,16 +7,16 @@
 ; dhandle_t - 16bit (ptr)
 ;
 
-       .import         __sio_call,pushax
-       .export         _dio_read
-       .include        "atari.inc"
+        .import         __sio_call,pushax
+        .export         _dio_read
+        .include        "atari.inc"
 
-.proc  _dio_read
+.proc   _dio_read
 
-       jsr     pushax          ; push buffer address
-       ldx     #%01000000      ; direction value
-       lda     #SIO_READ       ; read sector command
-       jmp     __sio_call      ; do the call and return to the user
+        jsr     pushax          ; push buffer address
+        ldx     #%01000000      ; direction value
+        lda     #SIO_READ       ; read sector command
+        jmp     __sio_call      ; do the call and return to the user
 
 .endproc
 
index b1dc4464fd7a42c6631d90c1695bae7727d9ffb0..93c8763aca082a70975d0a2d22cb89f81190759f 100644 (file)
@@ -7,16 +7,16 @@
 ; dhandle_t - 16bit (ptr)
 ;
 
-       .import         __sio_call,pushax
-       .export         _dio_write
-       .include        "atari.inc"
+        .import         __sio_call,pushax
+        .export         _dio_write
+        .include        "atari.inc"
 
-.proc  _dio_write
+.proc   _dio_write
 
-       jsr     pushax          ; push buffer address
-       ldx     #%10000000      ; indicate i/o direction (write)
-       lda     #SIO_WRITE      ; write sector command
-       jmp     __sio_call      ; do the call and return to the user
+        jsr     pushax          ; push buffer address
+        ldx     #%10000000      ; indicate i/o direction (write)
+        lda     #SIO_WRITE      ; write sector command
+        jmp     __sio_call      ; do the call and return to the user
 
 .endproc
 
index 8eb126e00568527be84bc95f475d9eac754be0b9..5c91f4f6e369dec90827a7637dc45fe65ee9d433 100644 (file)
@@ -7,16 +7,16 @@
 ; dhandle_t - 16bit (ptr)
 ;
 
-       .import         __sio_call,pushax
-       .export         _dio_write_verify
-       .include        "atari.inc"
+        .import         __sio_call,pushax
+        .export         _dio_write_verify
+        .include        "atari.inc"
 
-.proc  _dio_write_verify
+.proc   _dio_write_verify
 
-       jsr     pushax          ; push buffer address
-       ldx     #%10000000      ; indicate i/o direction (write)
-       lda     #SIO_WRITEV     ; write sector command
-       jmp     __sio_call      ; do the call and return to the user
+        jsr     pushax          ; push buffer address
+        ldx     #%10000000      ; indicate i/o direction (write)
+        lda     #SIO_WRITEV     ; write sector command
+        jmp     __sio_call      ; do the call and return to the user
 
 .endproc
 
index 534ba2e78c62374f113214999a5d40c1433e14bf..eb19dd9d10cd706a6eac3845f6d0f16719dee5eb 100644 (file)
@@ -3,10 +3,10 @@
 ; calling CIOV. It will return with AX set to -1 ($FFFF).  It expects the CIO
 ; status in Y.
 ;
-       .include "errno.inc"
+        .include "errno.inc"
 
-       .export __do_oserror
+        .export __do_oserror
 
 __do_oserror:
-       tya
-       jmp     __mappederrno
+        tya
+        jmp     __mappederrno
index a87d00f7ca08b9e5e6153c062e31eb0ebe3c95c3..c60ac479b4b80c5be61a5a81fc7e8eaef101af63 100644 (file)
@@ -4,50 +4,50 @@
 ; detect the DOS version we're running on
 ;
 
-       .include        "atari.inc"
-       .constructor    detect,26
-       .export         __dos_type
+        .include        "atari.inc"
+        .constructor    detect,26
+        .export         __dos_type
 
 ; ------------------------------------------------------------------------
 ; DOS type detection
 
-.segment       "INIT"
+.segment        "INIT"
 
-detect:        lda     DOS
-       cmp     #'S'            ; SpartaDOS
-       beq     spdos
-       cmp     #'M'            ; MyDOS
-       beq     mydos
-       cmp     #'X'            ; XDOS
-       beq     xdos
+detect: lda     DOS
+        cmp     #'S'            ; SpartaDOS
+        beq     spdos
+        cmp     #'M'            ; MyDOS
+        beq     mydos
+        cmp     #'X'            ; XDOS
+        beq     xdos
 
-       lda     #$4C            ; probably default
-       ldy     #COMTAB
-       cmp     (DOSVEC),y
-       bne     done
-       ldy     #ZCRNAME
-       cmp     (DOSVEC),y
-       bne     done
+        lda     #$4C            ; probably default
+        ldy     #COMTAB
+        cmp     (DOSVEC),y
+        bne     done
+        ldy     #ZCRNAME
+        cmp     (DOSVEC),y
+        bne     done
 
-       ldy     #6              ; OS/A+ has a jmp here
-       cmp     (DOSVEC),y
-       beq     done
-       lda     #OSADOS
-       .byte   $2C             ; BIT <abs>
+        ldy     #6              ; OS/A+ has a jmp here
+        cmp     (DOSVEC),y
+        beq     done
+        lda     #OSADOS
+        .byte   $2C             ; BIT <abs>
 
-spdos: lda     #SPARTADOS
-       .byte   $2C             ; BIT <abs>
+spdos:  lda     #SPARTADOS
+        .byte   $2C             ; BIT <abs>
 
-mydos: lda     #MYDOS
-       .byte   $2C             ; BIT <abs>
+mydos:  lda     #MYDOS
+        .byte   $2C             ; BIT <abs>
 
-xdos:  lda     #XDOS
-       sta     __dos_type
-done:  rts
+xdos:   lda     #XDOS
+        sta     __dos_type
+done:   rts
 
 ; ------------------------------------------------------------------------
 ; Data
 
-       .bss
+        .bss
 
-__dos_type:    .res    1       ; default to ATARIDOS
+__dos_type:     .res    1       ; default to ATARIDOS
index 6951bd346d620e6bfbc15bbc635fcd461c5bc12c..b3c31a2051b97da29a85f7e09cefc92fd0671e68 100644 (file)
 ; Ullrich von Bassewitz, 2002-12-02
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
-       .include        "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
-       .macpack        generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 
 ; Driver signature
 
-       .byte   $65, $6d, $64           ; "emd"
-       .byte   EMD_API_VERSION         ; EM API version number
+        .byte   $65, $6d, $64           ; "emd"
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
-       .word   INSTALL
-       .word   DEINSTALL
-       .word   PAGECOUNT
-       .word   MAP
-       .word   USE
-       .word   COMMIT
-       .word   COPYFROM
-       .word   COPYTO
+        .word   INSTALL
+        .word   DEINSTALL
+        .word   PAGECOUNT
+        .word   MAP
+        .word   USE
+        .word   COMMIT
+        .word   COPYFROM
+        .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
@@ -69,50 +69,50 @@ PAGES   = 256                           ; 4 x 16k banks
 banks:          .byte $E3,$E7,$EB,$EF   ; 130XE banks for cpu banking
 
 stacktest:      sei
-               ldy banks
-               sty $D301
-               tax                     ; A is set by caller
-               inx
-               stx $4000               ; change $4000
-               ldy #$FF                ; STACK+13
-               sty $D301
-               cmp $4000               ; changed?
-               beq @1
-               sec                     ; error
-               bcs @2
+                ldy banks
+                sty $D301
+                tax                     ; A is set by caller
+                inx
+                stx $4000               ; change $4000
+                ldy #$FF                ; STACK+13
+                sty $D301
+                cmp $4000               ; changed?
+                beq @1
+                sec                     ; error
+                bcs @2
 @1:             clc
 @2:             sta $4000               ; restore
-               cli
-               rts
+                cli
+                rts
 stacktest_end: 
 
 stackcopy:      sei                     ; disable interrupts
 @1:             dex                     ; pre-decrement (full page x=0)
-               ldy #$FF                ; this will be replaced  STACK+3
-               sty $D301               ; set bank 
-               lda $FF00,x             ; address to copy from   STACK+8,+9
-               ldy #$FF                ; this will be replaced  STACK+11
-               sty $D301 
-               sta $FF00,x             ; address to copy to     STACK+16,+17
-               cpx #0 
-               bne @1
-               ldy #$FF                ; portb_save             STACK+23
-               sty $D301
-               cli                     ; enable interrupts
-               rts
+                ldy #$FF                ; this will be replaced  STACK+3
+                sty $D301               ; set bank 
+                lda $FF00,x             ; address to copy from   STACK+8,+9
+                ldy #$FF                ; this will be replaced  STACK+11
+                sty $D301 
+                sta $FF00,x             ; address to copy to     STACK+16,+17
+                cpx #0 
+                bne @1
+                ldy #$FF                ; portb_save             STACK+23
+                sty $D301
+                cli                     ; enable interrupts
+                rts
 stackcopy_end:
 
 stackcopy_byte: sei
-               ldy #$FF                ; STACK+2
-               sty $D301
-               lda $FFFF               ; STACK+7 +8
-               ldy #$FF                ; STACK+10
-               sty $D301
-               sta $FFFF               ; STACK+15 +16
-               ldy #$FF                ; STACK+18
-               sty $D301
-               cli
-               rts
+                ldy #$FF                ; STACK+2
+                sty $D301
+                lda $FFFF               ; STACK+7 +8
+                ldy #$FF                ; STACK+10
+                sty $D301
+                sta $FFFF               ; STACK+15 +16
+                ldy #$FF                ; STACK+18
+                sty $D301
+                cli
+                rts
 stackcopy_byte_end: 
 
 
@@ -127,44 +127,44 @@ portb_save:     .res    1               ; portb state
 .code
 
 install_transfer:
-               ldx #stackcopy_end - stackcopy - 1
+                ldx #stackcopy_end - stackcopy - 1
 @1:             lda stackcopy,x
-               sta STACK,x
-               dex
-               bpl @1
-               rts
+                sta STACK,x
+                dex
+                bpl @1
+                rts
 
 install_byte_transfer:
-               ldx #stackcopy_byte_end - stackcopy_byte - 1
+                ldx #stackcopy_byte_end - stackcopy_byte - 1
 @2:             lda stackcopy_byte,x
-               sta STACK,x
-               dex
-               bpl @2
-               rts
+                sta STACK,x
+                dex
+                bpl @2
+                rts
 
 install_test:
-               ldx #stacktest_end - stacktest - 1
+                ldx #stacktest_end - stacktest - 1
 @3:             lda stacktest,x
-               sta STACK,x
-               dex
-               bpl @3
-               rts
+                sta STACK,x
+                dex
+                bpl @3
+                rts
 
 setpage:
-               tax                             ; save page
-               and     #$C0                    ; mask out bank
-               clc
-               ror
-               ror                             ; divide by 64
-               ror                             ; 64 pages in each bank
-               ror
-               ror
-               ror
-               sta     curbank                 ; Remember the new bank
-               txa                             ; bring back page
-               and     #$3F                    ; mask out page
-               sta     curpage                 ; curpage in bank
-               rts
+                tax                             ; save page
+                and     #$C0                    ; mask out bank
+                clc
+                ror
+                ror                             ; divide by 64
+                ror                             ; 64 pages in each bank
+                ror
+                ror
+                ror
+                sta     curbank                 ; Remember the new bank
+                txa                             ; bring back page
+                and     #$3F                    ; mask out page
+                sta     curpage                 ; curpage in bank
+                rts
 
 
 ; ------------------------------------------------------------------------
@@ -175,20 +175,20 @@ setpage:
 ;
 
 INSTALL:
-       lda     $D301                   ; save state of portb
-       sta     portb_save
-       tay 
-
-       jsr     install_test            ; doesn't touch Y
-       sty     STACK+13
-
-       lda     $4000                   ; test for extended memory
-       jsr     STACK
-       bcs     @1 
-       lda     #EM_ERR_OK
-       rts
+        lda     $D301                   ; save state of portb
+        sta     portb_save
+        tay 
+
+        jsr     install_test            ; doesn't touch Y
+        sty     STACK+13
+
+        lda     $4000                   ; test for extended memory
+        jsr     STACK
+        bcs     @1 
+        lda     #EM_ERR_OK
+        rts
 @1:     lda     #EM_ERR_NO_DEVICE
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; DEINSTALL routine. Is called before the driver is removed from memory.
@@ -196,7 +196,7 @@ INSTALL:
 ;
 
 DEINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -204,9 +204,9 @@ DEINSTALL:
 ;
 
 PAGECOUNT:
-       lda     #<PAGES
-       ldx     #>PAGES
-       rts
+        lda     #<PAGES
+        ldx     #>PAGES
+        rts
 
 ; ------------------------------------------------------------------------
 ; MAP: Map the page in a/x into memory and return a pointer to the page in
@@ -215,96 +215,96 @@ PAGECOUNT:
 ;
 
 MAP:    jsr setpage                     ; extract the bank/page
-       add     #>BANK                  ; $4000 + page  (carry is cleared)
-       sta     ptr1+1
-       ;ldy     #$00
-       ;sty     ptr1
+        add     #>BANK                  ; $4000 + page  (carry is cleared)
+        sta     ptr1+1
+        ;ldy     #$00
+        ;sty     ptr1
 
-       lda     #<window
-       sta     ptr2
-       lda     #>window
-       sta     ptr2+1
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
 ; Transfer one page
 
-       jsr     install_transfer        ; Transfer one page
+        jsr     install_transfer        ; Transfer one page
 
-       ldx     curbank
-       lda     banks,x
-       sta     STACK+3                 ; set bank to copy from
+        ldx     curbank
+        lda     banks,x
+        sta     STACK+3                 ; set bank to copy from
 ;        lda     ptr1
 ;        sta     STACK+8 
-       lda     ptr1+1
-       sta     STACK+9                 ; set copy from address
-       lda     portb_save
-       sta     STACK+11                ; set portb restore
-       sta     STACK+23                ; set final portb restore
-       lda     ptr2
-       sta     STACK+16
-       lda     ptr2+1
-       sta     STACK+17                ; set copy to address 
-
-       ldx     #0                      ; full page copy
-       jsr     STACK                   ; do the copy! 
+        lda     ptr1+1
+        sta     STACK+9                 ; set copy from address
+        lda     portb_save
+        sta     STACK+11                ; set portb restore
+        sta     STACK+23                ; set final portb restore
+        lda     ptr2
+        sta     STACK+16
+        lda     ptr2+1
+        sta     STACK+17                ; set copy to address 
+
+        ldx     #0                      ; full page copy
+        jsr     STACK                   ; do the copy! 
 
 ; Return the memory window
 
-       lda     #<window
-       ldx     #>window                ; Return the window address
+        lda     #<window
+        ldx     #>window                ; Return the window address
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
 
 USE:    ;sta     curpage                 ; Remember the page
-       jsr setpage                     ; extract bank/page
-       lda     #<window
-       ldx     #>window                ; Return the window
-       rts
+        jsr setpage                     ; extract bank/page
+        lda     #<window
+        ldx     #>window                ; Return the window
+        rts
 
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
 COMMIT: lda     curpage                 ; Get the current page
-       cmp     #$FF
-       beq     commit_done             ; Jump if no page mapped
+        cmp     #$FF
+        beq     commit_done             ; Jump if no page mapped
 
-       clc
-       add     #>BANK
-       sta     ptr2+1
-       ;ldy     #$00
-       ;sty     ptr2
+        clc
+        add     #>BANK
+        sta     ptr2+1
+        ;ldy     #$00
+        ;sty     ptr2
 
-       lda     #<window
-       sta     ptr1
-       lda     #>window
-       sta     ptr1+1
+        lda     #<window
+        sta     ptr1
+        lda     #>window
+        sta     ptr1+1
 
 ; Transfer one page/all bytes
 
-       jsr     install_transfer        ; Transfer one page
-
-       lda     portb_save
-       sta     STACK+3                 ; set bank to copy from
-       sta     STACK+23                ; set final portb restore
-       lda     ptr1
-       sta     STACK+8 
-       lda     ptr1+1
-       sta     STACK+9                 ; set copy from address
-       ldx     curbank
-       lda     banks,x
-       sta     STACK+11                ; set bank to copy to
-       ;lda     ptr2
-       ;sta     STACK+16
-       lda     ptr2+1
-       sta     STACK+17                ; set copy to address 
-
-       ldx     #0                      ; full page copy
-       jsr     STACK                   ; do the copy! 
+        jsr     install_transfer        ; Transfer one page
+
+        lda     portb_save
+        sta     STACK+3                 ; set bank to copy from
+        sta     STACK+23                ; set final portb restore
+        lda     ptr1
+        sta     STACK+8 
+        lda     ptr1+1
+        sta     STACK+9                 ; set copy from address
+        ldx     curbank
+        lda     banks,x
+        sta     STACK+11                ; set bank to copy to
+        ;lda     ptr2
+        ;sta     STACK+16
+        lda     ptr2+1
+        sta     STACK+17                ; set copy to address 
+
+        ldx     #0                      ; full page copy
+        jsr     STACK                   ; do the copy! 
 
 commit_done:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -313,87 +313,87 @@ commit_done:
 ; The function must not return anything.
 ;
 COPYFROM:
-       sta     ptr3
-       stx     ptr3+1                  ; Save the passed em_copy pointer
-
-       jsr     install_byte_transfer   ; install the stack copy routine
-
-       ldy     #EM_COPY::OFFS
-       lda     (ptr3),y
-       sta     STACK+7                 ; offset goes into BANK low 
-
-       ldy     #EM_COPY::PAGE
-       lda     (ptr3),y
-       sta     tmp1                    ; save page for later
-       ;add     #>BANK
-       ;sta     STACK+8                 ; BANK + page goes into BANK high
-
-       ldy     #EM_COPY::BUF
-       lda     (ptr3),y
-       sta     STACK+15                ; buffer goes into dest low
-       iny
-       lda     (ptr3),y
-       sta     STACK+16                ; buffer goes into dest high
-
-       ldy     #EM_COPY::COUNT
-       lda     (ptr3),y                ; Get bytes in last page
-       sta     ptr4
-       iny
-       lda     (ptr3),y                ; Get number of pages
-       sta     ptr4+1
-
-       lda     tmp1                    ; extract bank/page
-       jsr     setpage                 ; sets curbank/curpage
-       lda     curpage
-       add     #>BANK                  ; add to BANK address
-       sta     STACK+8                 ; current page in bank
-       ldx     curbank
-       lda     banks,x 
-       sta     STACK+2                 ; set bank in stack 
-       lda     portb_save 
-       sta     STACK+10                ; set bank restore in stack
-       sta     STACK+18                ; set final restore too
+        sta     ptr3
+        stx     ptr3+1                  ; Save the passed em_copy pointer
+
+        jsr     install_byte_transfer   ; install the stack copy routine
+
+        ldy     #EM_COPY::OFFS
+        lda     (ptr3),y
+        sta     STACK+7                 ; offset goes into BANK low 
+
+        ldy     #EM_COPY::PAGE
+        lda     (ptr3),y
+        sta     tmp1                    ; save page for later
+        ;add     #>BANK
+        ;sta     STACK+8                 ; BANK + page goes into BANK high
+
+        ldy     #EM_COPY::BUF
+        lda     (ptr3),y
+        sta     STACK+15                ; buffer goes into dest low
+        iny
+        lda     (ptr3),y
+        sta     STACK+16                ; buffer goes into dest high
+
+        ldy     #EM_COPY::COUNT
+        lda     (ptr3),y                ; Get bytes in last page
+        sta     ptr4
+        iny
+        lda     (ptr3),y                ; Get number of pages
+        sta     ptr4+1
+
+        lda     tmp1                    ; extract bank/page
+        jsr     setpage                 ; sets curbank/curpage
+        lda     curpage
+        add     #>BANK                  ; add to BANK address
+        sta     STACK+8                 ; current page in bank
+        ldx     curbank
+        lda     banks,x 
+        sta     STACK+2                 ; set bank in stack 
+        lda     portb_save 
+        sta     STACK+10                ; set bank restore in stack
+        sta     STACK+18                ; set final restore too
 
 copyfrom_copy:
-       lda     ptr4                    ; check if count is zero
-       bne     @4
-       lda     ptr4+1
-       beq     done
+        lda     ptr4                    ; check if count is zero
+        bne     @4
+        lda     ptr4+1
+        beq     done
 
 @4:     jsr     STACK                   ; copy one byte
 
-       sec
-       lda     ptr4
-       sub     #1
-       sta     ptr4
-       bcs     @1
-       lda     ptr4+1
-       beq     @1
-       sub     #1
-       sta     ptr4+1
+        sec
+        lda     ptr4
+        sub     #1
+        sta     ptr4
+        bcs     @1
+        lda     ptr4+1
+        beq     @1
+        sub     #1
+        sta     ptr4+1
 
 @1:     inc     STACK+7                 ; increment address in BANK
-       bne     @2
-       inc     STACK+8
-       lda     STACK+8
-       cmp     #$80                    ; we stepped outside bank
-       bne     @2
-
-       inc     curbank                 ; get next bank
-       ldx     curbank
-       lda     banks,x
-       sta     STACK+2                 ; set new bank
-       lda     #$40                    ; set address back to $4000
-       sta     STACK+8
+        bne     @2
+        inc     STACK+8
+        lda     STACK+8
+        cmp     #$80                    ; we stepped outside bank
+        bne     @2
+
+        inc     curbank                 ; get next bank
+        ldx     curbank
+        lda     banks,x
+        sta     STACK+2                 ; set new bank
+        lda     #$40                    ; set address back to $4000
+        sta     STACK+8
 
 @2:     inc     STACK+15                ; increment buffer address
-       bne     @3
-       inc     STACK+16
+        bne     @3
+        inc     STACK+16
 
 @3:     jmp     copyfrom_copy           ; copy another byte 
 
 done:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -402,82 +402,82 @@ done:
 ;
 
 COPYTO:
-       sta     ptr3
-       stx     ptr3+1                  ; Save the passed em_copy pointer
-
-       jsr     install_byte_transfer   ; install the stack copy routine
-
-       ldy     #EM_COPY::OFFS
-       lda     (ptr3),y
-       sta     STACK+15                 ; offset goes into BANK low 
-
-       ldy     #EM_COPY::PAGE
-       lda     (ptr3),y
-       sta     tmp1                    ; save page for later
-       ;add     #>BANK
-       ;sta     STACK+16                ; BANK + page goes into BANK high
-
-       ldy     #EM_COPY::BUF
-       lda     (ptr3),y
-       sta     STACK+7                ; buffer goes into dest low
-       iny
-       lda     (ptr3),y
-       sta     STACK+8                ; buffer goes into dest high
-
-       ldy     #EM_COPY::COUNT
-       lda     (ptr3),y                ; Get bytes in last page
-       sta     ptr4
-       iny
-       lda     (ptr3),y                ; Get number of pages
-       sta     ptr4+1
-
-       lda     tmp1                    ; extract bank/page
-       jsr     setpage                 ; sets curbank/curpage
-       lda     curpage
-       add     #>BANK                  ; add to BANK address
-       sta     STACK+16                ; current page in bank
-       ldx     curbank
-       lda     banks,x 
-       sta     STACK+10                ; set bank in stack 
-       lda     portb_save 
-       sta     STACK+2                 ; set bank restore in stack
-       sta     STACK+18                ; set final restore too
+        sta     ptr3
+        stx     ptr3+1                  ; Save the passed em_copy pointer
+
+        jsr     install_byte_transfer   ; install the stack copy routine
+
+        ldy     #EM_COPY::OFFS
+        lda     (ptr3),y
+        sta     STACK+15                 ; offset goes into BANK low 
+
+        ldy     #EM_COPY::PAGE
+        lda     (ptr3),y
+        sta     tmp1                    ; save page for later
+        ;add     #>BANK
+        ;sta     STACK+16                ; BANK + page goes into BANK high
+
+        ldy     #EM_COPY::BUF
+        lda     (ptr3),y
+        sta     STACK+7                ; buffer goes into dest low
+        iny
+        lda     (ptr3),y
+        sta     STACK+8                ; buffer goes into dest high
+
+        ldy     #EM_COPY::COUNT
+        lda     (ptr3),y                ; Get bytes in last page
+        sta     ptr4
+        iny
+        lda     (ptr3),y                ; Get number of pages
+        sta     ptr4+1
+
+        lda     tmp1                    ; extract bank/page
+        jsr     setpage                 ; sets curbank/curpage
+        lda     curpage
+        add     #>BANK                  ; add to BANK address
+        sta     STACK+16                ; current page in bank
+        ldx     curbank
+        lda     banks,x 
+        sta     STACK+10                ; set bank in stack 
+        lda     portb_save 
+        sta     STACK+2                 ; set bank restore in stack
+        sta     STACK+18                ; set final restore too
 
 copyto_copy:
-       lda     ptr4                    ; check if count is zero
-       bne     @4
-       lda     ptr4+1
-       beq     done
+        lda     ptr4                    ; check if count is zero
+        bne     @4
+        lda     ptr4+1
+        beq     done
 
 @4:     jsr     STACK                   ; copy one byte
 
-       sec
-       lda     ptr4
-       sub     #1
-       sta     ptr4
-       bcs     @1
-       lda     ptr4+1
-       beq     @1
-       sub     #1
-       sta     ptr4+1
+        sec
+        lda     ptr4
+        sub     #1
+        sta     ptr4
+        bcs     @1
+        lda     ptr4+1
+        beq     @1
+        sub     #1
+        sta     ptr4+1
 
 @1:     inc     STACK+15               ; increment address in BANK
-       bne     @2
-       inc     STACK+16
-       lda     STACK+16
-       cmp     #$80                    ; we stepped outside bank
-       bne     @2
-
-       inc     curbank                 ; get next bank
-       ldx     curbank
-       lda     banks,x
-       sta     STACK+10                ; set new bank
-       lda     #$40                    ; set address back to $4000
-       sta     STACK+16
+        bne     @2
+        inc     STACK+16
+        lda     STACK+16
+        cmp     #$80                    ; we stepped outside bank
+        bne     @2
+
+        inc     curbank                 ; get next bank
+        ldx     curbank
+        lda     banks,x
+        sta     STACK+10                ; set new bank
+        lda     #$40                    ; set address back to $4000
+        sta     STACK+16
 
 @2:     inc     STACK+7                ; increment buffer address
-       bne     @3
-       inc     STACK+8
+        bne     @3
+        inc     STACK+8
 
 @3:     jmp     copyto_copy           ; copy another byte 
 
index 31175b3ca76b3a3a8163b8157be51e099acb3c49..aefc802c53c410f391b1384660bac54a0605730a 100644 (file)
@@ -4,18 +4,18 @@
 ; offsets and defines for fdtable (internal use only)
 ;
 
-MAX_FD_INDEX   =       12      ; max. # of open fds
-MAX_FD_VAL     =       8       ; we have 8 IOCBs
+MAX_FD_INDEX    =       12      ; max. # of open fds
+MAX_FD_VAL      =       8       ; we have 8 IOCBs
 
-ft_entrylen = 4        ; length of table entry (it's not sufficient to change here!
-               ; the code sometimes does two bit shifts to multiply/divide by
-               ; this length)
+ft_entrylen = 4 ; length of table entry (it's not sufficient to change here!
+                ; the code sometimes does two bit shifts to multiply/divide by
+                ; this length)
 
-ft_usa  = 0    ; usage counter
-ft_iocb        = 1     ; iocb index (0,$10,$20,etc.), $ff for empty entry
-ft_dev  = 2    ; device of open iocb (0 - device not remembered, eg. filename specified)
-ft_flag = 3    ; flags
-               ; lower 3 bits: device number (for R: and D:)
-               ; bit 3 - seeking supported by DOS/disk combination
-               ; bit 4 - indicates a fd opened by the program as apposed to the
-               ;         inherited ones from program start (fd 0 to fd 2)
+ft_usa  = 0     ; usage counter
+ft_iocb = 1     ; iocb index (0,$10,$20,etc.), $ff for empty entry
+ft_dev  = 2     ; device of open iocb (0 - device not remembered, eg. filename specified)
+ft_flag = 3     ; flags
+                ; lower 3 bits: device number (for R: and D:)
+                ; bit 3 - seeking supported by DOS/disk combination
+                ; bit 4 - indicates a fd opened by the program as apposed to the
+                ;         inherited ones from program start (fd 0 to fd 2)
index 57598b60063bdc3d1d57c3a2d6e38ce3d87973b1..0c90aefad87e66801eb4c882fc29f30f41f5b5c5 100644 (file)
@@ -5,26 +5,26 @@
 ; the fdtable itself is defined here
 ;
 
-       .include "fd.inc"
+        .include "fd.inc"
 
-       .export fd_table,fd_index
-       .export ___fd_table,___fd_index ; for test(debug purposes only
+        .export fd_table,fd_index
+        .export ___fd_table,___fd_index ; for test(debug purposes only
 
-       .data
+        .data
 
 ___fd_index:
-fd_index:      ; fd number is index into this table, entry's value specifies the fd_table entry
-       .byte   0,0,0           ; at start, three first files are stdin/stdout/stderr.
-       .res    MAX_FD_INDEX-3,$ff
+fd_index:       ; fd number is index into this table, entry's value specifies the fd_table entry
+        .byte   0,0,0           ; at start, three first files are stdin/stdout/stderr.
+        .res    MAX_FD_INDEX-3,$ff
 
 ___fd_table:
-fd_table:      ; each entry represents an open iocb
-       .byte   3,0,'E',0       ; system console, app starts with opened iocb #0 for E:
-       .byte   0,$ff,0,0
-       .byte   0,$ff,0,0
-       .byte   0,$ff,0,0
-       .byte   0,$ff,0,0
-       .byte   0,$ff,0,0
-       .byte   0,$ff,0,0
-       .byte   0,$ff,0,0
+fd_table:       ; each entry represents an open iocb
+        .byte   3,0,'E',0       ; system console, app starts with opened iocb #0 for E:
+        .byte   0,$ff,0,0
+        .byte   0,$ff,0,0
+        .byte   0,$ff,0,0
+        .byte   0,$ff,0,0
+        .byte   0,$ff,0,0
+        .byte   0,$ff,0,0
+        .byte   0,$ff,0,0
 
index 111f340d0e064e6011ef4f21ee92fae92345eea0..7e3325055ff11048062f6124595f8c3c1828e6e6 100644 (file)
@@ -4,85 +4,85 @@
 ; fd indirection table & helper functions
 ;
 
-       .include "atari.inc"
-       .include "fd.inc"
-       .importzp tmp1,tmp2,tmp3,ptr4,sp
-       .import fd_table,fd_index
-       .import fdt_to_fdi
-       .export clriocb
-       .export fdtoiocb_down
-       .export findfreeiocb
-       .export fddecusage
-       .export newfd
-
-       .code
+        .include "atari.inc"
+        .include "fd.inc"
+        .importzp tmp1,tmp2,tmp3,ptr4,sp
+        .import fd_table,fd_index
+        .import fdt_to_fdi
+        .export clriocb
+        .export fdtoiocb_down
+        .export findfreeiocb
+        .export fddecusage
+        .export newfd
+
+        .code
 
 ; gets fd in ax, decrements usage counter
 ; return iocb index in X
 ; return N bit set for invalid fd
 ; return Z bit set if last user
 ; all registers destroyed
-.proc  fdtoiocb_down
-
-       cpx     #0
-       bne     inval
-       cmp     #MAX_FD_INDEX
-       bcs     inval
-       tax
-       lda     fd_index,x              ; get index
-       tay
-       lda     #$ff
-       sta     fd_index,x              ; clear entry
-       tya
-       asl     a                       ; create index into fd table
-       asl     a
-       tax
-       lda     #$ff
-       cmp     fd_table+ft_iocb,x      ; entry in use?
-       beq     inval                   ; no, return error
-       lda     fd_table+ft_usa,x       ; get usage counter
-       beq     ok_notlast              ; 0? (shouldn't happen)
-       sec
-       sbc     #1                      ; decr usage counter
-       sta     fd_table+ft_usa,x
+.proc   fdtoiocb_down
+
+        cpx     #0
+        bne     inval
+        cmp     #MAX_FD_INDEX
+        bcs     inval
+        tax
+        lda     fd_index,x              ; get index
+        tay
+        lda     #$ff
+        sta     fd_index,x              ; clear entry
+        tya
+        asl     a                       ; create index into fd table
+        asl     a
+        tax
+        lda     #$ff
+        cmp     fd_table+ft_iocb,x      ; entry in use?
+        beq     inval                   ; no, return error
+        lda     fd_table+ft_usa,x       ; get usage counter
+        beq     ok_notlast              ; 0? (shouldn't happen)
+        sec
+        sbc     #1                      ; decr usage counter
+        sta     fd_table+ft_usa,x
 retiocb:php
-       txa
-       tay
-       lda     fd_table+ft_iocb,x      ; get iocb
-       tax
-       plp
-       bne     cont
-       lda     #$ff
-       sta     fd_table+ft_iocb,y      ; clear table entry
-       lda     fd_table+ft_flag,y
-       and     #16                     ; opened by app?
-       eor     #16                     ; return set Z if yes
-cont:  rts
+        txa
+        tay
+        lda     fd_table+ft_iocb,x      ; get iocb
+        tax
+        plp
+        bne     cont
+        lda     #$ff
+        sta     fd_table+ft_iocb,y      ; clear table entry
+        lda     fd_table+ft_flag,y
+        and     #16                     ; opened by app?
+        eor     #16                     ; return set Z if yes
+cont:   rts
 
 ok_notlast:
-       lda     #1                      ; clears Z
-       jmp     retiocb
+        lda     #1                      ; clears Z
+        jmp     retiocb
 
-.endproc       ; fdtoiocb_down
+.endproc        ; fdtoiocb_down
 
-inval: ldx     #$ff                    ; sets N
-       rts
+inval:  ldx     #$ff                    ; sets N
+        rts
 
 
 ; clear iocb except for ICHID field
 ; expects X to be index to IOCB (0,$10,$20,etc.)
 ; all registers destroyed
 
-.proc  clriocb
+.proc   clriocb
 
-       inx                     ; don't clear ICHID
-       ldy     #15
-       lda     #0
-loop:  sta     ICHID,x
-       inx
-       dey
-       bne     loop
-       rts
+        inx                     ; don't clear ICHID
+        ldy     #15
+        lda     #0
+loop:   sta     ICHID,x
+        inx
+        dey
+        bne     loop
+        rts
 
 .endproc
 
@@ -93,57 +93,57 @@ loop:       sta     ICHID,x
 ;        index in X if found
 ; all registers destroyed
 
-.proc  findfreeiocb
+.proc   findfreeiocb
 
-       ldx     #0
-       ldy     #$FF
-loop:  tya
-       cmp     ICHID,x
-       beq     found
-       txa
-       clc
-       adc     #$10
-       tax
-       cmp     #$80
-       bcc     loop
-       inx                     ; return ZF cleared
-found: rts
+        ldx     #0
+        ldy     #$FF
+loop:   tya
+        cmp     ICHID,x
+        beq     found
+        txa
+        clc
+        adc     #$10
+        tax
+        cmp     #$80
+        bcc     loop
+        inx                     ; return ZF cleared
+found:  rts
 
-.endproc       ; findfreeiocb
+.endproc        ; findfreeiocb
 
 
 ; decrements usage counter for fd
 ; if 0 reached, it's marked as unused
 ; get fd index in tmp2
 ; Y register preserved
-.proc  fddecusage
-
-       lda     tmp2                    ; get fd
-       cmp     #MAX_FD_INDEX
-       bcs     ret                     ; invalid index, do nothing
-       tax
-       lda     fd_index,x
-       pha
-       lda     #$ff
-       sta     fd_index,x
-       pla
-       asl     a                       ; create index into fd table
-       asl     a
-       tax
-       lda     #$ff
-       cmp     fd_table+ft_iocb,x      ; entry in use?
-       beq     ret                     ; no, do nothing
-       lda     fd_table+ft_usa,x       ; get usage counter
-       beq     ret                     ; 0? should not happen
-       sec
-       sbc     #1                      ; decrement by one
-       sta     fd_table+ft_usa,x
-       bne     ret                     ; not 0
-       lda     #$ff                    ; 0, table entry unused now
-       sta     fd_table+ft_iocb,x      ; clear table entry
-ret:   rts
-
-.endproc       ; fddecusage
+.proc   fddecusage
+
+        lda     tmp2                    ; get fd
+        cmp     #MAX_FD_INDEX
+        bcs     ret                     ; invalid index, do nothing
+        tax
+        lda     fd_index,x
+        pha
+        lda     #$ff
+        sta     fd_index,x
+        pla
+        asl     a                       ; create index into fd table
+        asl     a
+        tax
+        lda     #$ff
+        cmp     fd_table+ft_iocb,x      ; entry in use?
+        beq     ret                     ; no, do nothing
+        lda     fd_table+ft_usa,x       ; get usage counter
+        beq     ret                     ; 0? should not happen
+        sec
+        sbc     #1                      ; decrement by one
+        sta     fd_table+ft_usa,x
+        bne     ret                     ; not 0
+        lda     #$ff                    ; 0, table entry unused now
+        sta     fd_table+ft_iocb,x      ; clear table entry
+ret:    rts
+
+.endproc        ; fddecusage
 
 
 ; newfd
@@ -156,198 +156,198 @@ ret:    rts
 ; a link to this open device is returned
 ;
 ; Calling parameters:
-;      tmp3 - length of filename + 1
-;      AX   - points to filename
-;      Y    - iocb to use (if we need a new open)
+;       tmp3 - length of filename + 1
+;       AX   - points to filename
+;       Y    - iocb to use (if we need a new open)
 ; Return parameters:
-;      tmp2 - fd num ($ff and C=0 in case of error - no free slot)
-;      C    - 0/1 for no open needed/open should be performed
+;       tmp2 - fd num ($ff and C=0 in case of error - no free slot)
+;       C    - 0/1 for no open needed/open should be performed
 ; all registers preserved!
 
-       .bss
+        .bss
 
 ; local variables:
-loc_Y:         .res    1
-loc_ptr4_l:    .res    1
-loc_ptr4_h:    .res    1
-loc_tmp1:      .res    1
-loc_devnum:    .res    1
-loc_size:      .res    1
-
-       .code
-
-.proc  newfd
-
-       pha
-       txa
-       pha
-       tya
-       pha
-
-       ldx     #0
-       stx     loc_devnum
-       lda     tmp1
-       sta     loc_tmp1
-       stx     tmp1            ; init tmp1
-       stx     tmp2            ; init tmp2
-       lda     ptr4+1
-       sta     loc_ptr4_h
-       lda     ptr4
-       sta     loc_ptr4_l
-       pla
-       sta     loc_Y
-       pla
-       sta     ptr4+1
-       pla
-       sta     ptr4
-
-       ; ptr4 points to filename
-
-       ldy     #1
-       lda     #':'
-       cmp     (ptr4),y        ; "X:"
-       beq     colon1
-       iny
-       cmp     (ptr4),y        ; "Xn:"
-       beq     colon2
-
-       ; no colon there!? OK, then we use a fresh iocb....
-       ; return error here? no, the subsequent open call should fail
-
-do_open_nd:    ; do open and don't remember device
-       lda     #2
-       sta     tmp1
-do_open:lda    tmp1
-       ora     #1
-       sta     tmp1            ; set flag to return 'open needed' : C = 1
-       ldx     #ft_iocb
-       ldy     #$ff
+loc_Y:          .res    1
+loc_ptr4_l:     .res    1
+loc_ptr4_h:     .res    1
+loc_tmp1:       .res    1
+loc_devnum:     .res    1
+loc_size:       .res    1
+
+        .code
+
+.proc   newfd
+
+        pha
+        txa
+        pha
+        tya
+        pha
+
+        ldx     #0
+        stx     loc_devnum
+        lda     tmp1
+        sta     loc_tmp1
+        stx     tmp1            ; init tmp1
+        stx     tmp2            ; init tmp2
+        lda     ptr4+1
+        sta     loc_ptr4_h
+        lda     ptr4
+        sta     loc_ptr4_l
+        pla
+        sta     loc_Y
+        pla
+        sta     ptr4+1
+        pla
+        sta     ptr4
+
+        ; ptr4 points to filename
+
+        ldy     #1
+        lda     #':'
+        cmp     (ptr4),y        ; "X:"
+        beq     colon1
+        iny
+        cmp     (ptr4),y        ; "Xn:"
+        beq     colon2
+
+        ; no colon there!? OK, then we use a fresh iocb....
+        ; return error here? no, the subsequent open call should fail
+
+do_open_nd:     ; do open and don't remember device
+        lda     #2
+        sta     tmp1
+do_open:lda     tmp1
+        ora     #1
+        sta     tmp1            ; set flag to return 'open needed' : C = 1
+        ldx     #ft_iocb
+        ldy     #$ff
 srchfree:
-       tya
-       cmp     fd_table,x      ; check ft_iocb field for $ff
-       beq     freefnd         ; found a free slot
-       txa
-       clc
-       adc     #ft_entrylen
-       tax
-       cmp     #(MAX_FD_VAL*4)+ft_iocb ; end of table reached?
-       bcc     srchfree
+        tya
+        cmp     fd_table,x      ; check ft_iocb field for $ff
+        beq     freefnd         ; found a free slot
+        txa
+        clc
+        adc     #ft_entrylen
+        tax
+        cmp     #(MAX_FD_VAL*4)+ft_iocb ; end of table reached?
+        bcc     srchfree
 
 ; error: no free slot found
-noslot:        ldx     #0
-       stx     tmp1            ; return with C = 0
-       dex
-       stx     tmp2            ; iocb: $ff marks error
-       jmp     finish
+noslot: ldx     #0
+        stx     tmp1            ; return with C = 0
+        dex
+        stx     tmp2            ; iocb: $ff marks error
+        jmp     finish
 
 ; found a free slot
 freefnd:txa
-       sec
-       sbc     #ft_iocb        ; normalize
-       tax
-       lsr     a
-       lsr     a
-       sta     tmp2            ; return fd
-       lda     #2
-       bit     tmp1            ; remember device?
-       beq     l1              ; yes
-       lda     #0              ; no, put 0 in field
-       beq     l2
-
-l1:    ldy     #0
-       lda     (sp),y                  ; get device
-l2:    sta     fd_table+ft_dev,x       ; set device
-       lda     #1
-       sta     fd_table+ft_usa,x       ; set usage counter
-       lda     loc_Y
-       sta     fd_table+ft_iocb,x      ; set iocb index
-       lda     loc_devnum
-       and     #7                      ; device number is 3 bits
-       ora     #16                     ; indicated a fd actively opened by the app
-       sta     fd_table+ft_flag,x
-       lda     tmp2
-       jsr     fdt_to_fdi              ; get new index
-noslot1:bcs    noslot                  ; no one available (noslot1: helper label for branch out of range)
-       ;cmp    #$ff                    ; no one available
-       ;beq    noslot  ;@@@ cleanup needed
-       sta     tmp2                    ; return index
-       jmp     finish
+        sec
+        sbc     #ft_iocb        ; normalize
+        tax
+        lsr     a
+        lsr     a
+        sta     tmp2            ; return fd
+        lda     #2
+        bit     tmp1            ; remember device?
+        beq     l1              ; yes
+        lda     #0              ; no, put 0 in field
+        beq     l2
+
+l1:     ldy     #0
+        lda     (sp),y                  ; get device
+l2:     sta     fd_table+ft_dev,x       ; set device
+        lda     #1
+        sta     fd_table+ft_usa,x       ; set usage counter
+        lda     loc_Y
+        sta     fd_table+ft_iocb,x      ; set iocb index
+        lda     loc_devnum
+        and     #7                      ; device number is 3 bits
+        ora     #16                     ; indicated a fd actively opened by the app
+        sta     fd_table+ft_flag,x
+        lda     tmp2
+        jsr     fdt_to_fdi              ; get new index
+noslot1:bcs     noslot                  ; no one available (noslot1: helper label for branch out of range)
+        ;cmp    #$ff                    ; no one available
+        ;beq    noslot  ;@@@ cleanup needed
+        sta     tmp2                    ; return index
+        jmp     finish
 
 ; string in "Xn:xxx" format
-colon2:        dey
-       lda     (ptr4),y        ; get device number
-       sec
-       sbc     #'0'
-       and     #7
-       sta     loc_devnum
-       sta     tmp2            ; save it for speed later here also
-       lda     #4              ; max. length if only  device + number ("Xn:")
-       cmp     tmp3
-       bcc     do_open_nd      ; string is longer -> contains filename
-       bcs     check_dev       ; handle device only string
+colon2: dey
+        lda     (ptr4),y        ; get device number
+        sec
+        sbc     #'0'
+        and     #7
+        sta     loc_devnum
+        sta     tmp2            ; save it for speed later here also
+        lda     #4              ; max. length if only  device + number ("Xn:")
+        cmp     tmp3
+        bcc     do_open_nd      ; string is longer -> contains filename
+        bcs     check_dev       ; handle device only string
 
 ; string in "X:xxx" format
-colon1:        lda     #3              ; max. length if device only ("X:")
-       cmp     tmp3
-       bcc     do_open_nd      ; string is longer -> contains filename
+colon1: lda     #3              ; max. length if device only ("X:")
+        cmp     tmp3
+        bcc     do_open_nd      ; string is longer -> contains filename
 
 ; get device and search it in fd table
 check_dev:
-       ldy     #0
-       lda     (ptr4),y        ; get device id
-       tay
-       ldx     #(MAX_FD_VAL*4) - ft_entrylen
-srchdev:lda    #$ff
-       cmp     fd_table+ft_iocb,x      ; is entry valid?
-       beq     srch2                   ; no, skip this entry
-       tya
-       cmp     fd_table+ft_dev,x
-       beq     fnddev
-srch2: txa
-       sec
-       sbc     #ft_entrylen+1
-       tax
-       bpl     srchdev
+        ldy     #0
+        lda     (ptr4),y        ; get device id
+        tay
+        ldx     #(MAX_FD_VAL*4) - ft_entrylen
+srchdev:lda     #$ff
+        cmp     fd_table+ft_iocb,x      ; is entry valid?
+        beq     srch2                   ; no, skip this entry
+        tya
+        cmp     fd_table+ft_dev,x
+        beq     fnddev
+srch2:  txa
+        sec
+        sbc     #ft_entrylen+1
+        tax
+        bpl     srchdev
 
 ; not found, open new iocb
-       jmp     do_open
+        jmp     do_open
 
 ; found device in table, check device number (e.g R0 - R3)
-fnddev:        lda     fd_table+ft_flag,x
-       and     #7
-       cmp     tmp2                    ; contains devnum
-       bne     srch2                   ; different device numbers
+fnddev: lda     fd_table+ft_flag,x
+        and     #7
+        cmp     tmp2                    ; contains devnum
+        bne     srch2                   ; different device numbers
 
 ; found existing open iocb with same device
-       txa
-       lsr     a
-       lsr     a
-       sta     tmp2
-       inc     fd_table+ft_usa,x       ; increment usage counter
-       jsr     fdt_to_fdi              ; get new index
-       bcs     noslot1                 ; no one available
-       sta     tmp2                    ; return index
+        txa
+        lsr     a
+        lsr     a
+        sta     tmp2
+        inc     fd_table+ft_usa,x       ; increment usage counter
+        jsr     fdt_to_fdi              ; get new index
+        bcs     noslot1                 ; no one available
+        sta     tmp2                    ; return index
 
 ; clean up and go home
-finish:        lda     ptr4
-       pha
-       lda     ptr4+1
-       pha
-       lda     loc_Y
-       pha
-       lda     tmp1
-       pha
-       lda     loc_tmp1
-       sta     tmp1
-       pla
-       lsr     a                       ; set C as needed
-
-       pla
-       tay
-       pla
-       tax
-       pla
-       rts
-
-.endproc       ; newfd
+finish: lda     ptr4
+        pha
+        lda     ptr4+1
+        pha
+        lda     loc_Y
+        pha
+        lda     tmp1
+        pha
+        lda     loc_tmp1
+        sta     tmp1
+        pla
+        lsr     a                       ; set C as needed
+
+        pla
+        tay
+        pla
+        tax
+        pla
+        rts
+
+.endproc        ; newfd
 
index 710ef900912589be647e67ff7071d4ead12413cc..bd8c92dae8d766e0715a2ff43b8221df7af6807c 100644 (file)
@@ -5,37 +5,37 @@
 ; Convert file descriptor to IOCB number
 ;
 
-       .include "atari.inc"
-       .include "fd.inc"
-       .import fd_table,fd_index
-       .export fdtoiocb
+        .include "atari.inc"
+        .include "fd.inc"
+        .import fd_table,fd_index
+        .export fdtoiocb
 
-       .code
+        .code
 
 ; gets fd in ax
 ; return iocb index in A, fd_table index in X
 ; return N bit set for invalid fd
 ; all registers destroyed
-.proc  fdtoiocb
+.proc   fdtoiocb
 
-       cpx     #0
-       bne     inval
-       cmp     #MAX_FD_INDEX
-       bcs     inval
-       tax
-       lda     fd_index,x
-       asl     a                       ; create index into fd table
-       asl     a
-       tax
-       lda     #$ff
-       cmp     fd_table+ft_iocb,x      ; entry in use?
-       beq     inval                   ; no, return error
-       lda     fd_table+ft_usa,x       ; get usage counter
-       beq     inval                   ; 0? should not happen
-       lda     fd_table+ft_iocb,x      ; get iocb
-       rts
+        cpx     #0
+        bne     inval
+        cmp     #MAX_FD_INDEX
+        bcs     inval
+        tax
+        lda     fd_index,x
+        asl     a                       ; create index into fd table
+        asl     a
+        tax
+        lda     #$ff
+        cmp     fd_table+ft_iocb,x      ; entry in use?
+        beq     inval                   ; no, return error
+        lda     fd_table+ft_usa,x       ; get usage counter
+        beq     inval                   ; 0? should not happen
+        lda     fd_table+ft_iocb,x      ; get iocb
+        rts
 
-inval: ldx     #$ff                    ; sets N
-       rts
+inval:  ldx     #$ff                    ; sets N
+        rts
 
-.endproc       ; fdtoiocb
+.endproc        ; fdtoiocb
index da7fd73aa8a79ab48b900cec5d6892154efbb223..fdae55364e5628b48cbc21a663114c120a12f3bd 100644 (file)
@@ -7,15 +7,15 @@
 ; startup code but is nevertheless included in the compiled program when
 ; needed.
 
-MAXARGS        = 16            ; max. amount of arguments in arg. table
-CL_SIZE = 64           ; command line buffer size
-SPACE  = 32            ; SPACE char.
+MAXARGS = 16            ; max. amount of arguments in arg. table
+CL_SIZE = 64            ; command line buffer size
+SPACE   = 32            ; SPACE char.
 
-       .include        "atari.inc"
-       .import         __argc, __argv
-       .importzp       ptr1
-       .import         __dos_type
-       .constructor    initmainargs,25
+        .include        "atari.inc"
+        .import         __argc, __argv
+        .importzp       ptr1
+        .import         __dos_type
+        .constructor    initmainargs,25
 
 ; --------------------------------------------------------------------------
 ; Get command line
@@ -23,121 +23,121 @@ SPACE     = 32            ; SPACE char.
 .segment        "INIT"
 
 initmainargs:
-       lda     #0
-       sta     __argc
-       sta     __argc+1
-       sta     __argv
-       sta     __argv+1
-
-       lda     __dos_type      ; which DOS?
-       cmp     #ATARIDOS
-       beq     nargdos         ; DOS does not support arguments
-       cmp     #MYDOS
-       bne     argdos          ; DOS supports arguments
+        lda     #0
+        sta     __argc
+        sta     __argc+1
+        sta     __argv
+        sta     __argv+1
+
+        lda     __dos_type      ; which DOS?
+        cmp     #ATARIDOS
+        beq     nargdos         ; DOS does not support arguments
+        cmp     #MYDOS
+        bne     argdos          ; DOS supports arguments
 nargdos:rts
 
 ; Initialize ourcl buffer
 
-argdos:        lda     #ATEOL
-       sta     ourcl+CL_SIZE
+argdos: lda     #ATEOL
+        sta     ourcl+CL_SIZE
 
 ; Move SpartaDOS command line to our own buffer
 
-       lda     DOSVEC
-       clc
-       adc     #<LBUF
-       sta     ptr1
-       lda     DOSVEC+1
-       adc     #>LBUF
-       sta     ptr1+1
-
-       ldy     #0
-cpcl:  lda     (ptr1),y
-       sta     ourcl,y
-       iny
-       cmp     #ATEOL
-       beq     movdon
-       cpy     #CL_SIZE
-       bne     cpcl
-
-movdon:        lda     #0
-       sta     ourcl,y         ; null terminate behind ATEOL
+        lda     DOSVEC
+        clc
+        adc     #<LBUF
+        sta     ptr1
+        lda     DOSVEC+1
+        adc     #>LBUF
+        sta     ptr1+1
+
+        ldy     #0
+cpcl:   lda     (ptr1),y
+        sta     ourcl,y
+        iny
+        cmp     #ATEOL
+        beq     movdon
+        cpy     #CL_SIZE
+        bne     cpcl
+
+movdon: lda     #0
+        sta     ourcl,y         ; null terminate behind ATEOL
 
 ; Turn command line into argv table
 
-       ;ldy    #0
-       tay
-eatspc:        lda     ourcl,y         ; eat spaces
-       cmp     #ATEOL
-       beq     finargs
-       cmp     #SPACE
-       bne     rpar            ; begin of argument found
-       iny
-       cpy     #CL_SIZE
-       bne     eatspc
-       beq     finargs         ; only spaces is no argument
+        ;ldy    #0
+        tay
+eatspc: lda     ourcl,y         ; eat spaces
+        cmp     #ATEOL
+        beq     finargs
+        cmp     #SPACE
+        bne     rpar            ; begin of argument found
+        iny
+        cpy     #CL_SIZE
+        bne     eatspc
+        beq     finargs         ; only spaces is no argument
 
 ; Store argument vector
 
-rpar:  lda     __argc          ; low-byte
-       asl
-       tax                     ; table index
-       tya                     ; ourcl index
-       clc
-       adc     #<ourcl
-       sta     argv,x
-       lda     #>ourcl
-       adc     #0
-       sta     argv+1,x
-       ldx     __argc
-       inx
-       stx     __argc
-       cpx     #MAXARGS
-       beq     finargs
+rpar:   lda     __argc          ; low-byte
+        asl
+        tax                     ; table index
+        tya                     ; ourcl index
+        clc
+        adc     #<ourcl
+        sta     argv,x
+        lda     #>ourcl
+        adc     #0
+        sta     argv+1,x
+        ldx     __argc
+        inx
+        stx     __argc
+        cpx     #MAXARGS
+        beq     finargs
 
 ; Skip this arg.
 
 skiparg:
-       ldx     ourcl,y
-       cpx     #ATEOL          ; end of line?
-       beq     eopar
-       cpx     #SPACE
-       beq     eopar
-       iny
-       cpy     #CL_SIZE
-       bne     skiparg
+        ldx     ourcl,y
+        cpx     #ATEOL          ; end of line?
+        beq     eopar
+        cpx     #SPACE
+        beq     eopar
+        iny
+        cpy     #CL_SIZE
+        bne     skiparg
 
 ; End of arg. -> place 0
 
 eopar:
-       lda     #0
-       sta     ourcl,y
-       iny                     ; y behind arg.
-       cpx     #ATEOL          ; was it the last arg?
-       bne     eatspc
+        lda     #0
+        sta     ourcl,y
+        iny                     ; y behind arg.
+        cpx     #ATEOL          ; was it the last arg?
+        bne     eatspc
 
 ; Finish args
 
 finargs:
-       lda     __argc
-       asl           
-       tax
-       lda     #0
-       sta     argv,x
-       sta     argv+1,x
-       lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv+1
-       rts
+        lda     __argc
+        asl           
+        tax
+        lda     #0
+        sta     argv,x
+        sta     argv+1,x
+        lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv+1
+        rts
 
 ; --------------------------------------------------------------------------
 ; Data
 
 .bss
 
-argv:  .res    (1 + MAXARGS) * 2
+argv:   .res    (1 + MAXARGS) * 2
 
 ; Buffer for command line / argv strings
 
-ourcl: .res    CL_SIZE+1
+ourcl:  .res    CL_SIZE+1
index a6d13e86e84e97d66bfbe36ff495d357a2f2761d..13aa12e046a2def94e80b76ec0a45956fd32c29d 100644 (file)
 ; ZCRNAME is slightly different from SpartaDOS. It will convert D:
 ; into Dn: where n is the default drive.
 
-       .include        "atari.inc"
-       .import         __dos_type
-       .export         __getdefdev             ; get default device
-       .export         __defdev                ; this is the default device string (e.g. "D1:")
-.ifdef DYNAMIC_DD
-       .constructor    __getdefdev,24
+        .include        "atari.inc"
+        .import         __dos_type
+        .export         __getdefdev             ; get default device
+        .export         __defdev                ; this is the default device string (e.g. "D1:")
+.ifdef  DYNAMIC_DD
+        .constructor    __getdefdev,24
 .endif
 
 ; Get default device (LBUF will be destroyed!!)
 
 __getdefdev:
 
-       lda     __dos_type      ; which DOS?
-       cmp     #ATARIDOS
-       beq     finish
-       cmp     #MYDOS
-       beq     finish
+        lda     __dos_type      ; which DOS?
+        cmp     #ATARIDOS
+        beq     finish
+        cmp     #MYDOS
+        beq     finish
 
-       ldy     #BUFOFF
-       lda     #0
-       sta     (DOSVEC),y      ; reset buffer offset
+        ldy     #BUFOFF
+        lda     #0
+        sta     (DOSVEC),y      ; reset buffer offset
 
 ; Store dummy argument
 
-       ldy     #LBUF
-       lda     #'X'
-       sta     (DOSVEC),y
-       iny
-       lda     #ATEOL
-       sta     (DOSVEC),y
+        ldy     #LBUF
+        lda     #'X'
+        sta     (DOSVEC),y
+        iny
+        lda     #ATEOL
+        sta     (DOSVEC),y
 
 ; One extra store to avoid the buggy sequence from OS/A+ DOS:
 ; <D><RETURN><:> => drive number = <RETURN>
 
-       iny
-       sta     (DOSVEC),y
+        iny
+        sta     (DOSVEC),y
 
 ; Create crunch vector
 
-       ldy     #ZCRNAME+1
-       lda     (DOSVEC),y
-       sta     crvec+1
-       iny
-       lda     (DOSVEC),y
-       sta     crvec+2
+        ldy     #ZCRNAME+1
+        lda     (DOSVEC),y
+        sta     crvec+1
+        iny
+        lda     (DOSVEC),y
+        sta     crvec+2
 
-crvec: jsr     $FFFF           ; will be set to crunch vector
+crvec:  jsr     $FFFF           ; will be set to crunch vector
 
 ; Get default device
 
-       ldy     #COMFNAM        ;  COMFNAM is always "Dn:"
-       lda     (DOSVEC),y
-       sta     __defdev
-       iny
-       lda     (DOSVEC),y
-       sta     __defdev+1
+        ldy     #COMFNAM        ;  COMFNAM is always "Dn:"
+        lda     (DOSVEC),y
+        sta     __defdev
+        iny
+        lda     (DOSVEC),y
+        sta     __defdev+1
 
 ; Return pointer to default device
 
-finish:        lda     #<__defdev
-       ldx     #>__defdev
-       rts
+finish: lda     #<__defdev
+        ldx     #>__defdev
+        rts
 
-       .data
+        .data
 
 ; Default device
 
 __defdev:
-.ifdef DEFAULT_DEVICE
-       .byte   'D', '0'+DEFAULT_DEVICE, ':', 0
+.ifdef  DEFAULT_DEVICE
+        .byte   'D', '0'+DEFAULT_DEVICE, ':', 0
 .else
-       .byte   "D1:", 0
+        .byte   "D1:", 0
 .endif
 
index 8327e24ac137657b8822765e9c6326dd6d40a05a..a4e34833b4bd39b8f0d1a21d6c102e19cb081c79 100644 (file)
@@ -4,15 +4,15 @@
 ; allocates a new fd in the indirection table
 ;
 
-       .include "atari.inc"
-       .include "fd.inc"
-       .include "_file.inc"
-       .importzp tmp1
-       .import fd_table, fd_index
+        .include "atari.inc"
+        .include "fd.inc"
+        .include "_file.inc"
+        .importzp tmp1
+        .import fd_table, fd_index
 
-       .export fdt_to_fdi,getfd
+        .export fdt_to_fdi,getfd
 
-       .code
+        .code
 
 ; fdt_to_fdi
 ; returns a fd_index entry pointing to the given ft_table entry
 ; return C = 0/1 for OK/error
 ; return fd_index entry in A if OK
 ; registers destroyed
-.proc  fdt_to_fdi
+.proc   fdt_to_fdi
 
-       tay
-       lda     #$ff
-       tax
-       inx
-loop:  cmp     fd_index,x
-       beq     found
-       inx
-       cpx     #MAX_FD_INDEX
-       bcc     loop
-       rts
+        tay
+        lda     #$ff
+        tax
+        inx
+loop:   cmp     fd_index,x
+        beq     found
+        inx
+        cpx     #MAX_FD_INDEX
+        bcc     loop
+        rts
 
-found: tya
-       sta     fd_index,x
-       txa
-       clc
-       rts
+found:  tya
+        sta     fd_index,x
+        txa
+        clc
+        rts
 
 .endproc
 
@@ -48,19 +48,19 @@ found:      tya
 ; return C = 0/1 for OK/error
 ; returns fd in A if OK
 ; registers destroyed, tmp1 destroyed
-.proc  getfd
+.proc   getfd
 
-       sta     tmp1            ; save fd_table entry
-       jsr     fdt_to_fdi
-       bcs     error
+        sta     tmp1            ; save fd_table entry
+        jsr     fdt_to_fdi
+        bcs     error
 
-       pha
-       lda     tmp1
-       asl     a
-       asl     a                       ; also clears C
-       tax
-       inc     fd_table+ft_usa,x       ; increment usage counter
-       pla
-error: rts
+        pha
+        lda     tmp1
+        asl     a
+        asl     a                       ; also clears C
+        tax
+        inc     fd_table+ft_usa,x       ; increment usage counter
+        pla
+error:  rts
 
 .endproc
index 385eead2b0b46e73dad11e3bbed639673693dc8e..d849bc71a27deec8e4a21bedae71b92d139f01fd 100644 (file)
@@ -4,12 +4,12 @@
 ; void gotox (unsigned char x);
 ;
 
-       .include        "atari.inc"
-       .export         _gotox
-       .import         setcursor
+        .include        "atari.inc"
+        .export         _gotox
+        .import         setcursor
 
 _gotox:
-       sta     COLCRS          ; Set X
-       lda     #0
-       sta     COLCRS+1
-       jmp     setcursor
+        sta     COLCRS          ; Set X
+        lda     #0
+        sta     COLCRS+1
+        jmp     setcursor
index 47342d74bee1d5f5813a1d3a552f74d37c048c19..1f00c3b23c15447e7bc6f0c124ea212f3892dccc 100644 (file)
@@ -4,16 +4,16 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-       .include "atari.inc"
+        .include "atari.inc"
 
-       .export         _gotoxy
-       .import         popa
-       .import         setcursor
+        .export         _gotoxy
+        .import         popa
+        .import         setcursor
 
-_gotoxy:                       ; Set the cursor position
-       sta     ROWCRS          ; Set Y
-       jsr     popa            ; Get X
-       sta     COLCRS          ; Set X
-       lda     #0
-       sta     COLCRS+1        ;
-       jmp     setcursor
+_gotoxy:                        ; Set the cursor position
+        sta     ROWCRS          ; Set Y
+        jsr     popa            ; Get X
+        sta     COLCRS          ; Set X
+        lda     #0
+        sta     COLCRS+1        ;
+        jmp     setcursor
index 229ba95db707247cf790465b34006d894ed32565..8a17096c61573b7a4e3c8b3473304c7454d62bac 100644 (file)
@@ -4,10 +4,10 @@
 ; void gotoy (unsigned char y);
 ;
 
-       .include        "atari.inc"
-       .export         _gotoy
-       .import         setcursor
+        .include        "atari.inc"
+        .export         _gotoy
+        .import         setcursor
 
 _gotoy:
-       sta     ROWCRS          ; Set Y
-       jmp     setcursor
+        sta     ROWCRS          ; Set Y
+        jmp     setcursor
index 120865f826871254ba7e4eb79da1f4374701f245..60f2ff7898196beb53b3260b00aed3bbabc9b743 100644 (file)
 ;
 ;
 
-       .export __graphics
+        .export __graphics
 
-       .import findfreeiocb
-       .import __do_oserror,__oserror
-       .import fddecusage
-       .import clriocb
-       .import fdtoiocb
-       .import newfd
-       .importzp tmp1,tmp2,tmp3
+        .import findfreeiocb
+        .import __do_oserror,__oserror
+        .import fddecusage
+        .import clriocb
+        .import fdtoiocb
+        .import newfd
+        .importzp tmp1,tmp2,tmp3
 
-       .include        "atari.inc"
-       .include        "errno.inc"
+        .include        "atari.inc"
+        .include        "errno.inc"
 
-       .code
+        .code
 
 ; set new grapics mode
 ; gets new mode in A
 ; returns handle or -1 on error
 ; uses tmp1, tmp2, tmp3, tmp4 (in subroutines)
 
-.proc  __graphics
-
-;      tax
-;      and     #15             ; get required graphics mode
-;      cmp     #12
-;      bcs     invmode         ; invalid mode
-;      txa
-;      and     #$c0            ; invalid bits set?
-;      bne     invmode
-
-;      stx     tmp1
-       sta     tmp1            ; remember graphics mode
-
-parmok:        jsr     findfreeiocb
-       beq     iocbok          ; we found one
-
-       lda     #<EMFILE        ; "too many open files"
-seterr:        jsr     __mappederrno   ; @@@ probably not correct to set errno here @@@
-       rts                     ; return -1
-
-;invmode:ldx   #>EINVAL
-;      lda     #<EINVAL
-;      bne     seterr
-
-iocbok:        txa
-       tay                     ; move iocb # into Y
-       lda     #3
-       sta     tmp3            ; name length + 1
-       lda     #<scrdev
-       ldx     #>scrdev
-       jsr     newfd
-       tya
-       tax
-       bcs     doopen          ; C set: open needed
-
-       ldx     #0
-       lda     tmp2            ; get fd used
-       jsr     fdtoiocb
-       tax
-
-doopen:        txa
-       ;brk
-       pha
-       jsr     clriocb
-       pla
-       tax
-       lda     #<scrdev
-       sta     ICBAL,x
-       lda     #>scrdev
-       sta     ICBAH,x
-       lda     #OPEN
-       sta     ICCOM,x
-       lda     tmp1            ; get requested graphics mode
-       and     #15
-       sta     ICAX2,x
-       lda     tmp1
-       and     #$30
-       eor     #$10
-       ora     #12
-       sta     ICAX1,x
-
-       jsr     CIOV
-       bmi     cioerr
-
-       lda     tmp2            ; get fd
-       ldx     #0
-       stx     __oserror
-       rts
-
-cioerr:        jsr     fddecusage      ; decrement usage counter of fd as open failed
-       jmp     __do_oserror
-
-.endproc       ; __graphics
-
-
-       .rodata
-
-scrdev:        .byte   "S:", 0
+.proc   __graphics
+
+;       tax
+;       and     #15             ; get required graphics mode
+;       cmp     #12
+;       bcs     invmode         ; invalid mode
+;       txa
+;       and     #$c0            ; invalid bits set?
+;       bne     invmode
+
+;       stx     tmp1
+        sta     tmp1            ; remember graphics mode
+
+parmok: jsr     findfreeiocb
+        beq     iocbok          ; we found one
+
+        lda     #<EMFILE        ; "too many open files"
+seterr: jsr     __mappederrno   ; @@@ probably not correct to set errno here @@@
+        rts                     ; return -1
+
+;invmode:ldx    #>EINVAL
+;       lda     #<EINVAL
+;       bne     seterr
+
+iocbok: txa
+        tay                     ; move iocb # into Y
+        lda     #3
+        sta     tmp3            ; name length + 1
+        lda     #<scrdev
+        ldx     #>scrdev
+        jsr     newfd
+        tya
+        tax
+        bcs     doopen          ; C set: open needed
+
+        ldx     #0
+        lda     tmp2            ; get fd used
+        jsr     fdtoiocb
+        tax
+
+doopen: txa
+        ;brk
+        pha
+        jsr     clriocb
+        pla
+        tax
+        lda     #<scrdev
+        sta     ICBAL,x
+        lda     #>scrdev
+        sta     ICBAH,x
+        lda     #OPEN
+        sta     ICCOM,x
+        lda     tmp1            ; get requested graphics mode
+        and     #15
+        sta     ICAX2,x
+        lda     tmp1
+        and     #$30
+        eor     #$10
+        ora     #12
+        sta     ICAX1,x
+
+        jsr     CIOV
+        bmi     cioerr
+
+        lda     tmp2            ; get fd
+        ldx     #0
+        stx     __oserror
+        rts
+
+cioerr: jsr     fddecusage      ; decrement usage counter of fd as open failed
+        jmp     __do_oserror
+
+.endproc        ; __graphics
+
+
+        .rodata
+
+scrdev: .byte   "S:", 0
index 64009995f4f676cd833be883d9c4d420e0bcda20..19df6a5a4226276782c113a77d9a1921c474700e 100644 (file)
@@ -2,30 +2,30 @@
 ; Stefan Haubenthal, 2008-04-29
 ;
 
-       .export         initcwd
-       .import         findfreeiocb
-       .import         __cwd
-       .include        "atari.inc"
+        .export         initcwd
+        .import         findfreeiocb
+        .import         __cwd
+        .include        "atari.inc"
 
-.proc  initcwd
+.proc   initcwd
 
-       jsr     findfreeiocb
-       bne     oserr
-       lda     #48
-       sta     ICCOM,x
-       lda     #<__cwd
-       sta     ICBLL,x
-       lda     #>__cwd
-       sta     ICBLH,x
-       jsr     CIOV
-       bmi     oserr
-       ldx     #0              ; ATEOL -> \0
-:      lda     __cwd,x
-       inx
-       cmp     #ATEOL
-       bne     :-
-       lda     #0
-       sta     __cwd-1,x
-oserr: rts
+        jsr     findfreeiocb
+        bne     oserr
+        lda     #48
+        sta     ICCOM,x
+        lda     #<__cwd
+        sta     ICBLL,x
+        lda     #>__cwd
+        sta     ICBLH,x
+        jsr     CIOV
+        bmi     oserr
+        ldx     #0              ; ATEOL -> \0
+:       lda     __cwd,x
+        inx
+        cmp     #ATEOL
+        bne     :-
+        lda     #0
+        sta     __cwd-1,x
+oserr:  rts
 
 .endproc
index b7954dd116da6083dc9d7c0427e7b4c0b7dd2080..c1c27ee03639b5cdf78c4f74c97b85a8311e11c6 100644 (file)
@@ -1,10 +1,10 @@
 ;
 ; set EINVAL error code and returns -1
 ;
-       .include "errno.inc"
+        .include "errno.inc"
 
-       .export __inviocb
+        .export __inviocb
 
 __inviocb:
-       lda     #<EINVAL
-       jmp     __directerrno
+        lda     #<EINVAL
+        jmp     __directerrno
index 543e9c0b43a058418a14aba0333df223964d57db..9a433ca003d8cf93ac688f63225bda2999b75288 100644 (file)
@@ -2,48 +2,48 @@
 ; IRQ handling (ATARI version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     VVBLKI
-       ldx     VVBLKI+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #6
-       ldy     #<IRQStub
-       ldx     #>IRQStub
-       jsr     SETVBV
-       rts
+        lda     VVBLKI
+        ldx     VVBLKI+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #6
+        ldy     #<IRQStub
+        ldx     #>IRQStub
+        jsr     SETVBV
+        rts
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     #6
-       ldy     IRQInd+1
-       ldx     IRQInd+2
-       jsr     SETVBV
-       rts
+        lda     #6
+        ldy     IRQInd+1
+        ldx     IRQInd+2
+        jsr     SETVBV
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       jsr     callirq                 ; Call the functions
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        jsr     callirq                 ; Call the functions
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
 
 ; ------------------------------------------------------------------------
 
 .data
 
-IRQInd: jmp    $0000
+IRQInd: jmp     $0000
index 863737beb4f080ba4c4cc1ebc78e568fb9ed32c2..777a52615ea7226e184657c832a95cfaabfa4f64 100644 (file)
@@ -7,48 +7,48 @@
 ; Using code from Carsten Strotmann and help from Christian Groessler
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
-       .include        "joy-error.inc"
-       .include        "atari.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+        .include        "atari.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79           ; "joy"
-       .byte   JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $02                     ; JOY_UP
-       .byte   $04                     ; JOY_DOWN
-       .byte   $08                     ; JOY_LEFT
-       .byte   $10                     ; JOY_RIGHT
-       .byte   $01                     ; JOY_FIRE
-       .byte   $00                     ; JOY_FIRE2 not available
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
+        .byte   $02                     ; JOY_UP
+        .byte   $04                     ; JOY_DOWN
+        .byte   $08                     ; JOY_LEFT
+        .byte   $10                     ; JOY_RIGHT
+        .byte   $01                     ; JOY_FIRE
+        .byte   $00                     ; JOY_FIRE2 not available
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READJOY
-       .addr   0                       ; IRQ entry not used
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READJOY
+        .addr   0                       ; IRQ entry not used
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 8             ; Number of joysticks we support
+JOY_COUNT       = 8             ; Number of joysticks we support
 
 
 ; ------------------------------------------------------------------------
@@ -65,15 +65,15 @@ JOY_COUNT   = 8             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda     #$30
-       sta     PACTL
-       lda     #$F0
-       sta     PORTA
-       lda     #$34
-       sta     PACTL
-       lda     #JOY_ERR_OK
-       ldx     #0
-;      rts                     ; Run into UNINSTALL instead
+        lda     #$30
+        sta     PACTL
+        lda     #$F0
+        sta     PORTA
+        lda     #$34
+        sta     PACTL
+        lda     #JOY_ERR_OK
+        ldx     #0
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -81,7 +81,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -89,27 +89,27 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #JOY_COUNT
-       ldx     #0
-       rts
+        lda     #JOY_COUNT
+        ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
 READJOY:
-       asl     a
-       asl     a
-       asl     a
-       asl     a
-       sta     PORTA
+        asl     a
+        asl     a
+        asl     a
+        asl     a
+        sta     PORTA
 
 ; Read joystick
 
-       lda     PORTA           ; get position
-       and     #%00001111
-       asl     a
-       ora     TRIG0           ; add button information
-       eor     #%00011111
-       ldx     #0              ; fix X
-       rts
+        lda     PORTA           ; get position
+        and     #%00001111
+        asl     a
+        ora     TRIG0           ; add button information
+        eor     #%00011111
+        ldx     #0              ; fix X
+        rts
index 53eff79fefa5975d9cd9f0f8c0eb0178c6a5654b..caca34cc599e489014f0aa4bbc38b95987ecb517 100644 (file)
@@ -6,48 +6,48 @@
 ; Using the readjoy code from Christian Groessler
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
-       .include        "joy-error.inc"
-       .include        "atari.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+        .include        "atari.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79           ; "joy"
-       .byte   JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $01                     ; JOY_UP
-       .byte   $02                     ; JOY_DOWN
-       .byte   $04                     ; JOY_LEFT
-       .byte   $08                     ; JOY_RIGHT
-       .byte   $10                     ; JOY_FIRE
-       .byte   $00                     ; JOY_FIRE2 not available
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
+        .byte   $01                     ; JOY_UP
+        .byte   $02                     ; JOY_DOWN
+        .byte   $04                     ; JOY_LEFT
+        .byte   $08                     ; JOY_RIGHT
+        .byte   $10                     ; JOY_FIRE
+        .byte   $00                     ; JOY_FIRE2 not available
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READJOY
-       .addr   0                       ; IRQ entry not used
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READJOY
+        .addr   0                       ; IRQ entry not used
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 4             ; Number of joysticks we support
+JOY_COUNT       = 4             ; Number of joysticks we support
 
 
 ; ------------------------------------------------------------------------
@@ -64,9 +64,9 @@ JOY_COUNT     = 4             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda     #JOY_ERR_OK
-       ldx     #0
-;      rts                     ; Run into UNINSTALL instead
+        lda     #JOY_ERR_OK
+        ldx     #0
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -74,7 +74,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -82,31 +82,31 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #JOY_COUNT
-       ldx     $fcd8
-       cpx     #$a2
-       beq     _400800
-       lsr     a               ; XL and newer machines only have 2 ports
+        lda     #JOY_COUNT
+        ldx     $fcd8
+        cpx     #$a2
+        beq     _400800
+        lsr     a               ; XL and newer machines only have 2 ports
 _400800:
-       ldx     #0
-       rts
+        ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
 READJOY:
-       and     #3              ; fix joystick number
-       tax                     ; Joystick number (0-3) into X
+        and     #3              ; fix joystick number
+        tax                     ; Joystick number (0-3) into X
 
 ; Read joystick
 
-       lda     STRIG0,x        ; get button
-       asl     a
-       asl     a
-       asl     a
-       asl     a
-       ora     STICK0,x        ; add position information
-       eor     #$1F
-       ldx     #0              ; fix X
-       rts
+        lda     STRIG0,x        ; get button
+        asl     a
+        asl     a
+        asl     a
+        asl     a
+        ora     STICK0,x        ; add position information
+        eor     #$1F
+        ldx     #0              ; fix X
+        rts
index 2eca6d6b4bc1188aad9383412d0ee485e80d1162..dffe40ebfd030ed282d65f5c360e6c0d44fd7103 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _ataristd_joy
+        .export _joy_static_stddrv
+        .import _ataristd_joy
 
 .rodata
 
index 8be458b85e59b7614bff81ae2f359682a39d36fc..aec33bf57d7f208530934a1b9712257e74fe22fb 100644 (file)
@@ -6,8 +6,8 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "ataristd.joy"
+_joy_stddrv:    .asciiz "ataristd.joy"
index 2aff6dad3969f727da7faac8af285704ce5a379c..09ea8a905fc138b55a8bf1f14bfe0057f8773825 100644 (file)
@@ -4,19 +4,19 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
-       .import         return1
+        .export         _kbhit
+        .import         return1
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
 .proc   _kbhit
 
-       ldx     CH              ; last pressed key
-       inx                     ; 255 means "no key"
-       bne     L1
+        ldx     CH              ; last pressed key
+        inx                     ; 255 means "no key"
+        bne     L1
         txa                     ; X = A = 0
         rts
-L1:    jmp     return1
+L1:     jmp     return1
 
 .endproc
 
index 244095969f26d6a571396d99cb6c5297112e1d49..bf934294c673a572fa838bd11f4d0b4c06040750 100644 (file)
 ;
 
 
-       .export         _lseek
-       .import         incsp6,__oserror
-       .import         __inviocb,ldax0sp,ldaxysp,fdtoiocb
-       .import         __dos_type
-       .import         fd_table
-       .importzp       sreg,ptr1,ptr2,ptr3,ptr4
-       .importzp       tmp1,tmp2,tmp3
-       .include        "atari.inc"
-       .include        "errno.inc"
-       .include        "fd.inc"
+        .export         _lseek
+        .import         incsp6,__oserror
+        .import         __inviocb,ldax0sp,ldaxysp,fdtoiocb
+        .import         __dos_type
+        .import         fd_table
+        .importzp       sreg,ptr1,ptr2,ptr3,ptr4
+        .importzp       tmp1,tmp2,tmp3
+        .include        "atari.inc"
+        .include        "errno.inc"
+        .include        "fd.inc"
 
 ; seeking not supported, return -1 and ENOSYS errno value
-no_supp:jsr    incsp6
-       lda     #<ENOSYS
-       jsr     __directerrno   ; returns with $FFFF in AX
-       sta     sreg
-       sta     sreg+1
-       rts
+no_supp:jsr     incsp6
+        lda     #<ENOSYS
+        jsr     __directerrno   ; returns with $FFFF in AX
+        sta     sreg
+        sta     sreg+1
+        rts
 
 parmerr:
-iocberr:jsr    incsp6
-       ldx     #255
-       stx     sreg
-       stx     sreg+1
-       jmp     __inviocb
+iocberr:jsr     incsp6
+        ldx     #255
+        stx     sreg
+        stx     sreg+1
+        jmp     __inviocb
 
 
 ; lseek() entry point
 
-.proc  _lseek
+.proc   _lseek
 
-       cpx     #0              ; sanity check whence parameter
-       bne     parmerr
-       cmp     #3              ; valid values are 0..2
-       bcs     parmerr
-       sta     tmp1            ; remember whence
+        cpx     #0              ; sanity check whence parameter
+        bne     parmerr
+        cmp     #3              ; valid values are 0..2
+        bcs     parmerr
+        sta     tmp1            ; remember whence
 
-       ldy     #5
-       jsr     ldaxysp         ; get fd
-       jsr     fdtoiocb        ; convert to iocb in A, fd_table index in X
-       bmi     iocberr
-       sta     tmp3            ; remember iocb
+        ldy     #5
+        jsr     ldaxysp         ; get fd
+        jsr     fdtoiocb        ; convert to iocb in A, fd_table index in X
+        bmi     iocberr
+        sta     tmp3            ; remember iocb
 
-       jsr     chk_supp        ; check, whether seeking is supported by DOS/Disk
-       bcc     no_supp
+        jsr     chk_supp        ; check, whether seeking is supported by DOS/Disk
+        bcc     no_supp
 
-       ldx     tmp1            ; whence
-       beq     cur
-       dex
-       beq     end
+        ldx     tmp1            ; whence
+        beq     cur
+        dex
+        beq     end
 
 ; SEEK_SET
-       dex
-       stx     ptr3
-       stx     ptr3+1
-       stx     ptr4
-       stx     ptr4+1
-       beq     cont
+        dex
+        stx     ptr3
+        stx     ptr3+1
+        stx     ptr4
+        stx     ptr4+1
+        beq     cont
 
 ; SEEK_CUR
-cur:   ldx     tmp3
-       lda     #38             ; NOTE
-       sta     ICCOM,x
-       jsr     CIOV            ; read it
-       bmi     xxerr
-l01:   lda     ICAX3,x         ; low byte of position
-       sta     ptr3
-       lda     ICAX4,x         ; med byte of position
-       sta     ptr3+1
-       lda     ICAX5,x         ; high byte of position
-       sta     ptr4
-       lda     #0
-       sta     ptr4+1
-       beq     cont
+cur:    ldx     tmp3
+        lda     #38             ; NOTE
+        sta     ICCOM,x
+        jsr     CIOV            ; read it
+        bmi     xxerr
+l01:    lda     ICAX3,x         ; low byte of position
+        sta     ptr3
+        lda     ICAX4,x         ; med byte of position
+        sta     ptr3+1
+        lda     ICAX5,x         ; high byte of position
+        sta     ptr4
+        lda     #0
+        sta     ptr4+1
+        beq     cont
 
 ; SEEK_END
-end:   ldx     tmp3
-       lda     #39             ; get file size
-       sta     ICCOM,x
-       jsr     CIOV
-       bpl     l01
+end:    ldx     tmp3
+        lda     #39             ; get file size
+        sta     ICCOM,x
+        jsr     CIOV
+        bpl     l01
 
 ; error returned from CIO
-xxerr: tya
-       pha
-       jsr     incsp6
-       pla
-       jsr     __mappederrno   ; returns with $FFFF in AX
-       sta     sreg
-       sta     sreg+1
-       rts
+xxerr:  tya
+        pha
+        jsr     incsp6
+        pla
+        jsr     __mappederrno   ; returns with $FFFF in AX
+        sta     sreg
+        sta     sreg+1
+        rts
 
 ; check for offset 0, SEEK_CUR (get current position)
-cont:  ldy     #3
-       jsr     ldaxysp         ; get upper word
-       sta     ptr1
-       stx     ptr1+1
-       jsr     ldax0sp         ; get lower word
-       stx     tmp2
-       ora     tmp2
-       ora     ptr1
-       ora     ptr1+1
-       bne     seek
-       lda     tmp1            ; whence (0 = SEEK_CUR)
-       bne     seek
+cont:   ldy     #3
+        jsr     ldaxysp         ; get upper word
+        sta     ptr1
+        stx     ptr1+1
+        jsr     ldax0sp         ; get lower word
+        stx     tmp2
+        ora     tmp2
+        ora     ptr1
+        ora     ptr1+1
+        bne     seek
+        lda     tmp1            ; whence (0 = SEEK_CUR)
+        bne     seek
 
 ; offset 0, SEEK_CUR: return current fp
-ret:   jsr     incsp6
+ret:    jsr     incsp6
 
-       lda     ptr4+1
-       sta     sreg+1
-       lda     ptr4
-       sta     sreg
-       ldx     ptr3+1
-       lda     ptr3
+        lda     ptr4+1
+        sta     sreg+1
+        lda     ptr4
+        sta     sreg
+        ldx     ptr3+1
+        lda     ptr3
 
 .if 0
-       ; return exactly the position DOS has
-       ldx     tmp3
-       lda     #38             ; NOTE
-       sta     ICCOM,x
-       jsr     CIOV            ; read it
-       bmi     xxerr
-       lda     #0
-       sta     sreg+1
-       lda     ICAX5,x         ; high byte of position
-       sta     sreg
-       lda     ICAX3,x         ; low byte of position
-       pha
-       lda     ICAX4,x         ; med byte of position
-       tax
-       pla
+        ; return exactly the position DOS has
+        ldx     tmp3
+        lda     #38             ; NOTE
+        sta     ICCOM,x
+        jsr     CIOV            ; read it
+        bmi     xxerr
+        lda     #0
+        sta     sreg+1
+        lda     ICAX5,x         ; high byte of position
+        sta     sreg
+        lda     ICAX3,x         ; low byte of position
+        pha
+        lda     ICAX4,x         ; med byte of position
+        tax
+        pla
 .endif
 
-       rts
+        rts
 
-parmerr1: jmp  parmerr
+parmerr1: jmp   parmerr
 
 ; we have to call POINT
-seek:  jsr     ldax0sp         ; get lower word of new offset
-       clc
-       adc     ptr3
-       sta     ptr3
-       txa
-       adc     ptr3+1
-       sta     ptr3+1
-       lda     ptr1
-       adc     ptr4
-       sta     ptr4
-       lda     ptr1+1
-       adc     ptr4+1
-       sta     ptr4+1
-       bne     parmerr1        ; resulting value too large
-
-       ldx     tmp3            ; IOCB
-       lda     ptr3
-       sta     ICAX3,x
-       lda     ptr3+1
-       sta     ICAX4,x
-       lda     ptr4
-       sta     ICAX5,x
-       lda     #37             ;POINT
-       sta     ICCOM,x
-       jsr     CIOV
-       bpl     ret
-       bmi     xxerr
+seek:   jsr     ldax0sp         ; get lower word of new offset
+        clc
+        adc     ptr3
+        sta     ptr3
+        txa
+        adc     ptr3+1
+        sta     ptr3+1
+        lda     ptr1
+        adc     ptr4
+        sta     ptr4
+        lda     ptr1+1
+        adc     ptr4+1
+        sta     ptr4+1
+        bne     parmerr1        ; resulting value too large
+
+        ldx     tmp3            ; IOCB
+        lda     ptr3
+        sta     ICAX3,x
+        lda     ptr3+1
+        sta     ICAX4,x
+        lda     ptr4
+        sta     ICAX5,x
+        lda     #37             ;POINT
+        sta     ICCOM,x
+        jsr     CIOV
+        bpl     ret
+        bmi     xxerr
 
 .endproc
 
 ; check, whether seeking is supported
-; tmp3:                iocb
-; X:           index into fd_table
+; tmp3:         iocb
+; X:            index into fd_table
 ;
 ; On non-SpartaDOS, seeking is not supported.
 ; We check, whether CIO function 39 (get file size) returns OK.
@@ -187,36 +187,36 @@ seek:     jsr     ldax0sp         ; get lower word of new offset
 ; We remember a successful check in fd_table.ft_flag, bit 3.
 
 chk_supp:
-       lda     fd_table+ft_flag,x
-       and     #8
-       bne     supp
+        lda     fd_table+ft_flag,x
+        and     #8
+        bne     supp
 
 ; do the test
-       lda     __dos_type
-       cmp     #SPARTADOS
-       bne     ns1
-       txa
-       pha
-       lda     DOS+1           ; get SpartaDOS version
-       cmp     #$40
-       bcs     supp1           ; SD-X (ver 4.xx) supports seeking on all disks
-       ldx     tmp3            ; iocb to use
-       lda     #39             ; get file size
-       sta     ICCOM,x
-       jsr     CIOV
-       bmi     notsupp         ; error code ? should be 168 (invalid command)
+        lda     __dos_type
+        cmp     #SPARTADOS
+        bne     ns1
+        txa
+        pha
+        lda     DOS+1           ; get SpartaDOS version
+        cmp     #$40
+        bcs     supp1           ; SD-X (ver 4.xx) supports seeking on all disks
+        ldx     tmp3            ; iocb to use
+        lda     #39             ; get file size
+        sta     ICCOM,x
+        jsr     CIOV
+        bmi     notsupp         ; error code ? should be 168 (invalid command)
 
 ; seeking is supported on this DOS/Disk combination
 
-supp1: pla
-       tax
-       lda     #8
-       ora     fd_table+ft_flag,x
-       sta     fd_table+ft_flag,x
-supp:  sec
-       rts
+supp1:  pla
+        tax
+        lda     #8
+        ora     fd_table+ft_flag,x
+        sta     fd_table+ft_flag,x
+supp:   sec
+        rts
 
 notsupp:pla
-ns1:   clc
-       rts
+ns1:    clc
+        rts
 
index b14d960a02420d37f576feceeeadd4447d13aa57..b94ab5c5212fa46a8bbbbd136df3c7592b2fb410 100644 (file)
@@ -5,31 +5,31 @@
 ; multiplies A by 40 and returns result in AX
 ; uses tmp4
 
-       .importzp       tmp4
-       .export         mul40
+        .importzp       tmp4
+        .export         mul40
 
-.proc  mul40
+.proc   mul40
 
-       ldx     #0
-       stx     tmp4
-       sta     loc_tmp
-       asl     a
-       rol     tmp4
-       asl     a
-       rol     tmp4            ; val * 4
-       adc     loc_tmp
-       bcc     L1
-       inc     tmp4            ; val * 5
-L1:    asl     a
-       rol     tmp4            ; val * 10
-       asl     a
-       rol     tmp4
-       asl     a
-       rol     tmp4            ; val * 40
-       ldx     tmp4
-       rts
+        ldx     #0
+        stx     tmp4
+        sta     loc_tmp
+        asl     a
+        rol     tmp4
+        asl     a
+        rol     tmp4            ; val * 4
+        adc     loc_tmp
+        bcc     L1
+        inc     tmp4            ; val * 5
+L1:     asl     a
+        rol     tmp4            ; val * 10
+        asl     a
+        rol     tmp4
+        asl     a
+        rol     tmp4            ; val * 40
+        ldx     tmp4
+        rts
 
 .endproc
 
-       .bss
-loc_tmp:.res   1
+        .bss
+loc_tmp:.res    1
index aeeee44e9353d9d53fabeba186cf16103e054866..8aeff9ed4d24ba4fabe3def1ddc9d151c9686225 100644 (file)
 ; int open(const char *name,int flags,...);
 ;
 
-       .include "atari.inc"
-       .include "fcntl.inc"
-       .include "errno.inc"
-       .include "fd.inc"
+        .include "atari.inc"
+        .include "fcntl.inc"
+        .include "errno.inc"
+        .include "fd.inc"
 
-       .export _open
+        .export _open
         .destructor     closeallfiles, 5
 
-       .import _close
-       .import clriocb
-       .import fddecusage,newfd
-       .import findfreeiocb
-       .import incsp4
-       .import ldaxysp,addysp
-       .import __oserror
-       .importzp tmp4,tmp2
-.ifdef UCASE_FILENAME
-       .importzp tmp3
-       .import ucase_fn
+        .import _close
+        .import clriocb
+        .import fddecusage,newfd
+        .import findfreeiocb
+        .import incsp4
+        .import ldaxysp,addysp
+        .import __oserror
+        .importzp tmp4,tmp2
+.ifdef  UCASE_FILENAME
+        .importzp tmp3
+        .import ucase_fn
 .endif
 
-.proc  _open
-
-       dey                     ; parm count < 4 shouldn't be needed to be checked
-       dey                     ;       (it generates a c compiler warning)
-       dey
-       dey
-       beq     parmok          ; parameter count ok
-       jsr     addysp          ; fix stack, throw away unused parameters
-
-parmok:        jsr     findfreeiocb
-       beq     iocbok          ; we found one
-
-       lda     #<EMFILE        ; "too many open files"
-seterr:        jsr     __directerrno
-       jsr     incsp4          ; clean up stack
-       lda     #$FF
-       tax
-       rts                     ; return -1
-
-       ; process the mode argument
-
-iocbok:        stx     tmp4
-       jsr     clriocb         ; init with zero
-       ldy     #1
-       jsr     ldaxysp         ; get mode
-       ldx     tmp4
-       pha
-       and     #O_APPEND
-       beq     no_app
-       pla
-       and     #15
-       cmp     #O_RDONLY       ; DOS supports append with write-only only
-       beq     invret
-       cmp     #O_RDWR
-       beq     invret
-       lda     #OPNOT|APPEND
-       bne     set
-
-.ifndef        UCASE_FILENAME
-invret:        lda     #<EINVAL        ; file name is too long
-       jmp     seterr
+.proc   _open
+
+        dey                     ; parm count < 4 shouldn't be needed to be checked
+        dey                     ;       (it generates a c compiler warning)
+        dey
+        dey
+        beq     parmok          ; parameter count ok
+        jsr     addysp          ; fix stack, throw away unused parameters
+
+parmok: jsr     findfreeiocb
+        beq     iocbok          ; we found one
+
+        lda     #<EMFILE        ; "too many open files"
+seterr: jsr     __directerrno
+        jsr     incsp4          ; clean up stack
+        lda     #$FF
+        tax
+        rts                     ; return -1
+
+        ; process the mode argument
+
+iocbok: stx     tmp4
+        jsr     clriocb         ; init with zero
+        ldy     #1
+        jsr     ldaxysp         ; get mode
+        ldx     tmp4
+        pha
+        and     #O_APPEND
+        beq     no_app
+        pla
+        and     #15
+        cmp     #O_RDONLY       ; DOS supports append with write-only only
+        beq     invret
+        cmp     #O_RDWR
+        beq     invret
+        lda     #OPNOT|APPEND
+        bne     set
+
+.ifndef UCASE_FILENAME
+invret: lda     #<EINVAL        ; file name is too long
+        jmp     seterr
 .endif
 
-no_app:        pla
-       and     #15
-       cmp     #O_RDONLY
-       bne     l1
-       lda     #OPNIN
-set:   sta     ICAX1,x
-       bne     cont
+no_app: pla
+        and     #15
+        cmp     #O_RDONLY
+        bne     l1
+        lda     #OPNIN
+set:    sta     ICAX1,x
+        bne     cont
 
-l1:    cmp     #O_WRONLY
-       bne     l2
-       lda     #OPNOT
-       bne     set
+l1:     cmp     #O_WRONLY
+        bne     l2
+        lda     #OPNOT
+        bne     set
 
-l2:    ; O_RDWR
-       lda     #OPNOT|OPNIN
-       bne     set
+l2:     ; O_RDWR
+        lda     #OPNOT|OPNIN
+        bne     set
 
-       ; process the filename argument
+        ; process the filename argument
 
-cont:  ldy     #3
-       jsr     ldaxysp
+cont:   ldy     #3
+        jsr     ldaxysp
 
-.ifdef UCASE_FILENAME
+.ifdef  UCASE_FILENAME
 
-       jsr     ucase_fn
-       bcc     ucok1
-invret:        lda     #<EINVAL        ; file name is too long
-       jmp     seterr
+        jsr     ucase_fn
+        bcc     ucok1
+invret: lda     #<EINVAL        ; file name is too long
+        jmp     seterr
 ucok1:
 
-.endif ; defined UCASE_FILENAME
-
-       ldy     tmp4
-
-       ;AX - points to filename
-       ;Y  - iocb to use, if open needed
-       jsr     newfd           ; maybe we don't need to open and can reuse an iocb
-                               ; returns fd num to use in tmp2, all regs unchanged
-       bcs     doopen          ; C set: open needed
-       lda     #0              ; clears N flag
-       beq     finish
-
-doopen:        sta     ICBAL,y
-       txa
-       sta     ICBAH,y
-       ldx     tmp4
-       lda     #OPEN
-       sta     ICCOM,x
-       jsr     CIOV
-
-       ; clean up the stack
-
-finish:        php
-       txa
-       pha
-       tya
-       pha
-
-.ifdef UCASE_FILENAME
-       ldy     tmp3            ; get size
-       jsr     addysp          ; free used space on the stack
-.endif ; defined UCASE_FILENAME
-
-       jsr     incsp4          ; clean up stack
-
-       pla
-       tay
-       pla
-       tax
-       plp
-
-       bpl     ok
-       jsr     fddecusage      ; decrement usage counter of fd as open failed
-       tya                     ; put error code into A
-       jmp     __mappederrno
-
-ok:    lda     tmp2            ; get fd
-       ldx     #0
-       stx     __oserror
-       rts
+.endif  ; defined UCASE_FILENAME
+
+        ldy     tmp4
+
+        ;AX - points to filename
+        ;Y  - iocb to use, if open needed
+        jsr     newfd           ; maybe we don't need to open and can reuse an iocb
+                                ; returns fd num to use in tmp2, all regs unchanged
+        bcs     doopen          ; C set: open needed
+        lda     #0              ; clears N flag
+        beq     finish
+
+doopen: sta     ICBAL,y
+        txa
+        sta     ICBAH,y
+        ldx     tmp4
+        lda     #OPEN
+        sta     ICCOM,x
+        jsr     CIOV
+
+        ; clean up the stack
+
+finish: php
+        txa
+        pha
+        tya
+        pha
+
+.ifdef  UCASE_FILENAME
+        ldy     tmp3            ; get size
+        jsr     addysp          ; free used space on the stack
+.endif  ; defined UCASE_FILENAME
+
+        jsr     incsp4          ; clean up stack
+
+        pla
+        tay
+        pla
+        tax
+        plp
+
+        bpl     ok
+        jsr     fddecusage      ; decrement usage counter of fd as open failed
+        tya                     ; put error code into A
+        jmp     __mappederrno
+
+ok:     lda     tmp2            ; get fd
+        ldx     #0
+        stx     __oserror
+        rts
 
 .endproc
 
@@ -156,14 +156,14 @@ ok:       lda     tmp2            ; get fd
 
 .proc   closeallfiles
 
-       lda     #MAX_FD_INDEX-1
-loop:  ldx     #0
-       pha
-       jsr     _close
-       pla
-       clc
-       sbc     #0
-       bpl     loop
-       rts
+        lda     #MAX_FD_INDEX-1
+loop:   ldx     #0
+        pha
+        jsr     _close
+        pla
+        clc
+        sbc     #0
+        bpl     loop
+        rts
 
 .endproc
index d1ecb35b7a909306d5bad9b3fbc87f8c4df742b2..c97dcdfea21904ca2e0516cb3cee83cd420236cd 100644 (file)
@@ -42,44 +42,44 @@ End:
 
 __sys_oserrlist:
         sys_oserr_entry          1, "no error"
-               sys_oserr_entry        128, "BREAK key abort"
-               sys_oserr_entry        129, "IOCB already open"
-               sys_oserr_entry        130, "device not found"
-               sys_oserr_entry        131, "IOCB write only"
-               sys_oserr_entry        132, "invalid command"
-               sys_oserr_entry        133, "IOCB not open"
-               sys_oserr_entry        134, "invalid IOCB index"
-               sys_oserr_entry        135, "IOCB read only"
-               sys_oserr_entry        136, "end-of-file"
-               sys_oserr_entry        137, "record truncated"
-               sys_oserr_entry        138, "device timeout"
-               sys_oserr_entry        139, "device nak"
-               sys_oserr_entry        140, "SIO frame error"
-               sys_oserr_entry        141, "cursor out of range"
-               sys_oserr_entry        142, "SIO data overrun"
-               sys_oserr_entry        143, "SIO checksum mismatch"
-               sys_oserr_entry        144, "general device failure"
-               sys_oserr_entry        145, "bad screen mode"
-               sys_oserr_entry        146, "invalid function"
-               sys_oserr_entry        147, "insufficient memory for mode"
-               sys_oserr_entry        148, "invalid disk format"
-               sys_oserr_entry        149, "disk format version mismatch"
-               sys_oserr_entry        150, "R: already open/dir not found"
-               sys_oserr_entry        151, "concurrent mode not enabled/file exists"
-               sys_oserr_entry        152, "concurrent mode invalid buffer address/not binary"
-               sys_oserr_entry        153, "concurrent mode enabled"
-               sys_oserr_entry        154, "concurrent mode not active/loader symbol not defined"
-               sys_oserr_entry        156, "invalid parameter"
-               sys_oserr_entry        158, "insufficient memory"
-               sys_oserr_entry        160, "drive number error"
-               sys_oserr_entry        161, "too many open files"
-               sys_oserr_entry        162, "no space left on device"
-               sys_oserr_entry        163, "unrecoverable system data I/O error"
-               sys_oserr_entry        164, "file number mismatch"
-               sys_oserr_entry        165, "invalid file name"
-               sys_oserr_entry        166, "point data length error"
-               sys_oserr_entry        167, "file read-only"
-               sys_oserr_entry        168, "invalid command for disk"
+        sys_oserr_entry        128, "BREAK key abort"
+        sys_oserr_entry        129, "IOCB already open"
+        sys_oserr_entry        130, "device not found"
+        sys_oserr_entry        131, "IOCB write only"
+        sys_oserr_entry        132, "invalid command"
+        sys_oserr_entry        133, "IOCB not open"
+        sys_oserr_entry        134, "invalid IOCB index"
+        sys_oserr_entry        135, "IOCB read only"
+        sys_oserr_entry        136, "end-of-file"
+        sys_oserr_entry        137, "record truncated"
+        sys_oserr_entry        138, "device timeout"
+        sys_oserr_entry        139, "device nak"
+        sys_oserr_entry        140, "SIO frame error"
+        sys_oserr_entry        141, "cursor out of range"
+        sys_oserr_entry        142, "SIO data overrun"
+        sys_oserr_entry        143, "SIO checksum mismatch"
+        sys_oserr_entry        144, "general device failure"
+        sys_oserr_entry        145, "bad screen mode"
+        sys_oserr_entry        146, "invalid function"
+        sys_oserr_entry        147, "insufficient memory for mode"
+        sys_oserr_entry        148, "invalid disk format"
+        sys_oserr_entry        149, "disk format version mismatch"
+        sys_oserr_entry        150, "R: already open/dir not found"
+        sys_oserr_entry        151, "concurrent mode not enabled/file exists"
+        sys_oserr_entry        152, "concurrent mode invalid buffer address/not binary"
+        sys_oserr_entry        153, "concurrent mode enabled"
+        sys_oserr_entry        154, "concurrent mode not active/loader symbol not defined"
+        sys_oserr_entry        156, "invalid parameter"
+        sys_oserr_entry        158, "insufficient memory"
+        sys_oserr_entry        160, "drive number error"
+        sys_oserr_entry        161, "too many open files"
+        sys_oserr_entry        162, "no space left on device"
+        sys_oserr_entry        163, "unrecoverable system data I/O error"
+        sys_oserr_entry        164, "file number mismatch"
+        sys_oserr_entry        165, "invalid file name"
+        sys_oserr_entry        166, "point data length error"
+        sys_oserr_entry        167, "file read-only"
+        sys_oserr_entry        168, "invalid command for disk"
         sys_oserr_entry        169, "directory full"
         sys_oserr_entry        170, "file not found"
         sys_oserr_entry        171, "invalid point command"
index 659cb1ed04008b9248fee51fcd2d099fd612898b..a4ba07c0f0f50baacd5ef8cae0e975e122fc1290 100644 (file)
 ; int __fastcall__ _osmaperrno (unsigned char oserror);
 ;
 
-       .include "errno.inc"
-       .export __osmaperrno
+        .include "errno.inc"
+        .export __osmaperrno
 
-.proc  __osmaperrno
+.proc   __osmaperrno
 
-       cmp     #$80            ; error or success
-       bcs     errcode         ; error, jump
+        cmp     #$80            ; error or success
+        bcs     errcode         ; error, jump
 
-       lda     #0              ; no error, return 0
-       tax
-       rts
+        lda     #0              ; no error, return 0
+        tax
+        rts
 
-errcode:and    #$7f            ; create index from error number
-       tax
-       cpx     #MAX_OSERR_VAL  ; valid number?
-       bcs     inverr          ; no
+errcode:and     #$7f            ; create index from error number
+        tax
+        cpx     #MAX_OSERR_VAL  ; valid number?
+        bcs     inverr          ; no
 
-       lda     maptable,x
-       ldx     #0
-       rts
+        lda     maptable,x
+        ldx     #0
+        rts
 
-inverr:        lda     #<EUNKNOWN
-       ldx     #>EUNKNOWN
-       rts
+inverr: lda     #<EUNKNOWN
+        ldx     #>EUNKNOWN
+        rts
 
 .endproc
 
 .rodata
 
 maptable:
-       .byte   EINTR   ;BRKABT = 128           ;($80) BREAK key abort
-       .byte   EBUSY   ;PRVOPN = 129           ;($81) IOCB already open error
-       .byte   ENODEV  ;NONDEV = 130           ;($82) nonexistent device error
-       .byte   EACCES  ;WRONLY = 131           ;($83) IOCB opened for write only error
-       .byte   ENOSYS  ;NVALID = 132           ;($84) invalid command error
-       .byte   EINVAL  ;NOTOPN = 133           ;($85) device/file not open error
-       .byte   EINVAL  ;BADIOC = 134           ;($86) invalid IOCB index error
-       .byte   EACCES  ;RDONLY = 135           ;($87) IOCB opened for read only error
-       .byte   EINVAL  ;EOFERR = 136           ;($88) end of file error (should never come,
-                                               ;      specially handled by read.s)
-       .byte   EIO     ;TRNRCD = 137           ;($89) truncated record error
-       .byte   EIO     ;TIMOUT = 138           ;($8A) peripheral device timeout error
-       .byte   EIO     ;DNACK  = 139           ;($8B) device does not acknowledge command
-       .byte   EIO     ;FRMERR = 140           ;($8C) serial bus framing error
-       .byte   EINVAL  ;CRSROR = 141           ;($8D) cursor out of range error
-       .byte   EIO     ;OVRRUN = 142           ;($8E) serial bus data overrun error
-       .byte   EIO     ;CHKERR = 143           ;($8F) serial bus checksum error
-       .byte   EIO     ;DERROR = 144           ;($90) general device failure
-       .byte   EINVAL  ;BADMOD = 145           ;($91) bad screen mode number error
-       .byte   ENOSYS  ;FNCNOT = 146           ;($92) function not implemented in handler
-       .byte   ENOMEM  ;SCRMEM = 147           ;($93) insufficient memory for screen mode
+        .byte   EINTR   ;BRKABT = 128           ;($80) BREAK key abort
+        .byte   EBUSY   ;PRVOPN = 129           ;($81) IOCB already open error
+        .byte   ENODEV  ;NONDEV = 130           ;($82) nonexistent device error
+        .byte   EACCES  ;WRONLY = 131           ;($83) IOCB opened for write only error
+        .byte   ENOSYS  ;NVALID = 132           ;($84) invalid command error
+        .byte   EINVAL  ;NOTOPN = 133           ;($85) device/file not open error
+        .byte   EINVAL  ;BADIOC = 134           ;($86) invalid IOCB index error
+        .byte   EACCES  ;RDONLY = 135           ;($87) IOCB opened for read only error
+        .byte   EINVAL  ;EOFERR = 136           ;($88) end of file error (should never come,
+                                                ;      specially handled by read.s)
+        .byte   EIO     ;TRNRCD = 137           ;($89) truncated record error
+        .byte   EIO     ;TIMOUT = 138           ;($8A) peripheral device timeout error
+        .byte   EIO     ;DNACK  = 139           ;($8B) device does not acknowledge command
+        .byte   EIO     ;FRMERR = 140           ;($8C) serial bus framing error
+        .byte   EINVAL  ;CRSROR = 141           ;($8D) cursor out of range error
+        .byte   EIO     ;OVRRUN = 142           ;($8E) serial bus data overrun error
+        .byte   EIO     ;CHKERR = 143           ;($8F) serial bus checksum error
+        .byte   EIO     ;DERROR = 144           ;($90) general device failure
+        .byte   EINVAL  ;BADMOD = 145           ;($91) bad screen mode number error
+        .byte   ENOSYS  ;FNCNOT = 146           ;($92) function not implemented in handler
+        .byte   ENOMEM  ;SCRMEM = 147           ;($93) insufficient memory for screen mode
 ; codes below taken from "Mein Atari Computer" (german version of "Your Atari Computer")
 ; also SpartaDOS codes from http://www.atari-central.com/programming/cio_errors.txt
 ; MyDOS and XDOS codes from Stefan Haubenthal
-       .byte   EUNKNOWN        ; 148 - [SpartaDOS] unrecognized disk format
-       .byte   EUNKNOWN        ; 149 - [SpartaDOS] disk created by incompatible version of SD
-       .byte   EBUSY           ; 150 - serial port already open
-                               ;       [SpartaDOS] directory not found
-       .byte   EACCES          ; 151 - concurrent mode I/O not enabled (serial)
-                               ;       [SpartaDOS] file exists
-       .byte   EINVAL          ; 152 - invalid buffer address for concurrent mode
-                               ;       [SpartaDOS] not binary format
-       .byte   EAGAIN          ; 153 - concurrent mode enabled (and another access tried)
-       .byte   EACCES          ; 154 - concurrent mode I/O not active (serial)
-                               ;       [SpartaDOS X] loader symbol not defined
-       .byte   EUNKNOWN        ; 155 - haven't found documentation
-       .byte   EUNKNOWN        ; 156 - [SpartaDOS X] bad parameter
-       .byte   EUNKNOWN        ; 157 - haven't found documentation
-       .byte   EUNKNOWN        ; 158 - [SpartaDOS X] out of memory
-       .byte   EUNKNOWN        ; 159 - haven't found documentation
-       .byte   ENOENT          ; 160 - drive number error (DOS)
-       .byte   EMFILE          ; 161 - too many open files
-       .byte   ENOSPC          ; 162 - disk full
-       .byte   EIO             ; 163 - unrecoverable system data I/O error
-       .byte   ESPIPE          ; 164 - file number mismatch (inv. seek or disk data strucs damaged)
-       .byte   ENOENT          ; 165 - invalid file name (e.g. lowercase)
-       .byte   ESPIPE          ; 166 - point data length error
-       .byte   EACCES          ; 167 - file locked (read-only)
-       .byte   ENOSYS          ; 168 - command invalid for disk
-       .byte   ENOSPC          ; 169 - directory full
-       .byte   ENOENT          ; 170 - file not found
-       .byte   ESPIPE          ; 171 - point command invalid
-       .byte   EEXIST          ; 172 - [MYDOS] already exists in parent directory
-       .byte   EUNKNOWN        ; 173 - bad disk - format couldn't complete
-       .byte   EUNKNOWN        ; 174 - [MYDOS] directory not in parent directory
-       .byte   EUNKNOWN        ; 175 - [MYDOS] directory not empty
-       .byte   EUNKNOWN        ; 176 - [DOS 3] incompatible file system
-       .byte   EUNKNOWN        ; 177 - haven't found documentation
-       .byte   EUNKNOWN        ; 178 - haven't found documentation
-       .byte   EUNKNOWN        ; 179 - haven't found documentation
-       .byte   EUNKNOWN        ; 180 - not a binary file
-       .byte   EUNKNOWN        ; 181 - [MYDOS] invalid address range
-       .byte   EUNKNOWN        ; 182 - [XDOS] invalid parameter
+        .byte   EUNKNOWN        ; 148 - [SpartaDOS] unrecognized disk format
+        .byte   EUNKNOWN        ; 149 - [SpartaDOS] disk created by incompatible version of SD
+        .byte   EBUSY           ; 150 - serial port already open
+                                ;       [SpartaDOS] directory not found
+        .byte   EACCES          ; 151 - concurrent mode I/O not enabled (serial)
+                                ;       [SpartaDOS] file exists
+        .byte   EINVAL          ; 152 - invalid buffer address for concurrent mode
+                                ;       [SpartaDOS] not binary format
+        .byte   EAGAIN          ; 153 - concurrent mode enabled (and another access tried)
+        .byte   EACCES          ; 154 - concurrent mode I/O not active (serial)
+                                ;       [SpartaDOS X] loader symbol not defined
+        .byte   EUNKNOWN        ; 155 - haven't found documentation
+        .byte   EUNKNOWN        ; 156 - [SpartaDOS X] bad parameter
+        .byte   EUNKNOWN        ; 157 - haven't found documentation
+        .byte   EUNKNOWN        ; 158 - [SpartaDOS X] out of memory
+        .byte   EUNKNOWN        ; 159 - haven't found documentation
+        .byte   ENOENT          ; 160 - drive number error (DOS)
+        .byte   EMFILE          ; 161 - too many open files
+        .byte   ENOSPC          ; 162 - disk full
+        .byte   EIO             ; 163 - unrecoverable system data I/O error
+        .byte   ESPIPE          ; 164 - file number mismatch (inv. seek or disk data strucs damaged)
+        .byte   ENOENT          ; 165 - invalid file name (e.g. lowercase)
+        .byte   ESPIPE          ; 166 - point data length error
+        .byte   EACCES          ; 167 - file locked (read-only)
+        .byte   ENOSYS          ; 168 - command invalid for disk
+        .byte   ENOSPC          ; 169 - directory full
+        .byte   ENOENT          ; 170 - file not found
+        .byte   ESPIPE          ; 171 - point command invalid
+        .byte   EEXIST          ; 172 - [MYDOS] already exists in parent directory
+        .byte   EUNKNOWN        ; 173 - bad disk - format couldn't complete
+        .byte   EUNKNOWN        ; 174 - [MYDOS] directory not in parent directory
+        .byte   EUNKNOWN        ; 175 - [MYDOS] directory not empty
+        .byte   EUNKNOWN        ; 176 - [DOS 3] incompatible file system
+        .byte   EUNKNOWN        ; 177 - haven't found documentation
+        .byte   EUNKNOWN        ; 178 - haven't found documentation
+        .byte   EUNKNOWN        ; 179 - haven't found documentation
+        .byte   EUNKNOWN        ; 180 - not a binary file
+        .byte   EUNKNOWN        ; 181 - [MYDOS] invalid address range
+        .byte   EUNKNOWN        ; 182 - [XDOS] invalid parameter
 
-       .byte   EINVAL          ; 183 - dummy (used by cc65 rtl, see sysremove.s)
+        .byte   EINVAL          ; 183 - dummy (used by cc65 rtl, see sysremove.s)
 
 MAX_OSERR_VAL = (* - maptable)
index 86e88811dc9b2e69cb5e66f1174932a9d54eda19..d93b3ab88b8456e6787056bd77e3941bf85b451d 100644 (file)
 ;
 ; unsigned char get_ostype(void)
 ;
-; x x x x x x x x   -  8 bit flag
+; x x x x x x x x   -   8 bit flag
 ; | | | | | | | |
 ; | | | | | +-+-+-- main OS rev.
 ; | | +-+-+-------- minor OS rev.
 ; +-+-------------- unused
 ;
 ; main OS rev.:
-;      000 - unknown
-;      001 - 400/800 ROM
-;      010 - 1200XL ROM
-;      011 - XL/XE ROM
-;      1xx - unassigned
+;       000 - unknown
+;       001 - 400/800 ROM
+;       010 - 1200XL ROM
+;       011 - XL/XE ROM
+;       1xx - unassigned
 ; minor OS rev.: (depending on main OS rev.);
-;      400/800:
-;              000 - unknown
-;              001 - Rev. A PAL
-;              010 - Rev. B PAL
-;              011 - Rev. A NTSC
-;              100 - Rev. B NTSC
-;              101 - unassigned (up to 111)
-;      1200XL:
-;              000 - unknown
-;              001 - Rev. 10
-;              010 - Rev. 11
-;              011 - unassigned (up to 111)
-;      XL/XE:
-;              000 - unknown
-;              001 - Rev. 1
-;              010 - Rev. 2
-;              011 - Rev. 3
-;              100 - Rev. 4
-;              101 - unassigned (up to 111)
+;       400/800:
+;               000 - unknown
+;               001 - Rev. A PAL
+;               010 - Rev. B PAL
+;               011 - Rev. A NTSC
+;               100 - Rev. B NTSC
+;               101 - unassigned (up to 111)
+;       1200XL:
+;               000 - unknown
+;               001 - Rev. 10
+;               010 - Rev. 11
+;               011 - unassigned (up to 111)
+;       XL/XE:
+;               000 - unknown
+;               001 - Rev. 1
+;               010 - Rev. 2
+;               011 - Rev. 3
+;               100 - Rev. 4
+;               101 - unassigned (up to 111)
 ;
 
-       .export         _get_ostype
+        .export         _get_ostype
 
-.proc  _get_ostype
+.proc   _get_ostype
 
-       lda     $fcd8
-       cmp     #$a2
-       beq     _400800
-       lda     $fff1
-       cmp     #1
-       beq     _1200xl
-       lda     $fff7
-       cmp     #1
-       bcc     _unknown
-       cmp     #5
-       bcs     _unknown
+        lda     $fcd8
+        cmp     #$a2
+        beq     _400800
+        lda     $fff1
+        cmp     #1
+        beq     _1200xl
+        lda     $fff7
+        cmp     #1
+        bcc     _unknown
+        cmp     #5
+        bcs     _unknown
 
 ;XL/XE ROM
 
-       sec
-       asl     a
-       asl     a
-       asl     a
-       and     #%00111000
-       ora     #%11
-_fin:  ldx     #0
-       rts
+        sec
+        asl     a
+        asl     a
+        asl     a
+        and     #%00111000
+        ora     #%11
+_fin:   ldx     #0
+        rts
 
 ; unknown ROM
 
 _unknown:
-       lda     #0
-       tax
-       rts
+        lda     #0
+        tax
+        rts
 
 ; 1200XL ROM
 
 _1200xl:
-       lda     $fff7           ; revision #
-       cmp     #10
-       beq     _1200_10
-       cmp     #11
-       beq     _1200_11
-       lda     #0              ; for unknown
-       beq     _1200_fin
+        lda     $fff7           ; revision #
+        cmp     #10
+        beq     _1200_10
+        cmp     #11
+        beq     _1200_11
+        lda     #0              ; for unknown
+        beq     _1200_fin
 
 _1200_10:
-       lda     #%00001000
-       bne     _1200_fin
+        lda     #%00001000
+        bne     _1200_fin
 
 _1200_11:
-       lda     #%00010000
+        lda     #%00010000
 
 _1200_fin:
-       ora     #%010
-       bne     _fin
+        ora     #%010
+        bne     _fin
 
 ; 400/800 ROM
 
 _400800:
-       lda     $fff8
-       ldx     $fff9
-       cmp     #$dd
-       bne     _400800_1
-       cpx     #$57
-       bne     _400800_unknown
+        lda     $fff8
+        ldx     $fff9
+        cmp     #$dd
+        bne     _400800_1
+        cpx     #$57
+        bne     _400800_unknown
 
 ; 400/800 NTSC Rev. A
 
-       lda     #%00011001
-       bne     _fin
+        lda     #%00011001
+        bne     _fin
 
 ; 400/800 unknown
 
 _400800_unknown:
-       lda     #%00000001
-       bne     _fin
+        lda     #%00000001
+        bne     _fin
 
 _400800_1:
-       cmp     #$d6
-       bne     _400800_2
-       cpx     #$57
-       bne     _400800_unknown
+        cmp     #$d6
+        bne     _400800_2
+        cpx     #$57
+        bne     _400800_unknown
 
 ; 400/800 PAL Rev. A
 
-       lda     #%00001001
-       bne     _fin
+        lda     #%00001001
+        bne     _fin
 
 _400800_2:
-       cmp     #$f3
-       bne     _400800_3
-       cpx     #$e6
-       bne     _400800_unknown
+        cmp     #$f3
+        bne     _400800_3
+        cpx     #$e6
+        bne     _400800_unknown
 
 ; 400/800 NTSC Rev. B
 
-       lda     #%00100001
-       bne     _fin
+        lda     #%00100001
+        bne     _fin
 
 _400800_3:
 
-       cmp     #$22
-       bne     _400800_unknown
-       cpx     #$58
-       bne     _400800_unknown
+        cmp     #$22
+        bne     _400800_unknown
+        cpx     #$58
+        bne     _400800_unknown
 
 ; 400/800 PAL Rev. B
 
-       lda     #%00010001
-       bne     _fin
+        lda     #%00010001
+        bne     _fin
 
 .endproc
index cb84fca71f4d9755bd280647a0c5a82c19adf266..3417e4bfc8229f3cba4f5ef8a984c7f6f85d1ad6 100644 (file)
 ; Native: Shawn Jefferson, December 2005
 ; POSIX: Stefan Haubenthal, April 2008
 
-               .include  "atari.inc"
-               .export   _opendir, _readdir, _closedir
-               .import   findfreeiocb, clriocb
-               .import   __oserror, return0, __do_oserror
-               .importzp ptr1, tmp1
+                .include  "atari.inc"
+                .export   _opendir, _readdir, _closedir
+                .import   findfreeiocb, clriocb
+                .import   __oserror, return0, __do_oserror
+                .importzp ptr1, tmp1
 .ifdef  DEFAULT_DEVICE
-               .import __defdev
+                .import __defdev
 .endif
 
 
-.proc  _opendir
-               sta     ptr1
-               stx     ptr1+1
-               jsr     findfreeiocb
-               beq     @iocbok
-               bne     cioerr
-@iocbok:       stx     diriocb
-               jsr     clriocb
-               ldx     diriocb
-               ldy     #0              ; '.' -> "D:*.*"
-               lda     (ptr1),y
-               cmp     #'.'
-               bne     @use_parm
+.proc   _opendir
+                sta     ptr1
+                stx     ptr1+1
+                jsr     findfreeiocb
+                beq     @iocbok
+                bne     cioerr
+@iocbok:        stx     diriocb
+                jsr     clriocb
+                ldx     diriocb
+                ldy     #0              ; '.' -> "D:*.*"
+                lda     (ptr1),y
+                cmp     #'.'
+                bne     @use_parm
 
 ; "." was given as parameter, use default device/dir
 
 .ifdef DEFAULT_DEVICE
-               ; construct a "Dn:*.*" like string from the default drive
-               lda     __defdev+1
-               sta     dddefdev+1      ; copy drive number (overwrite 2nd 'D')
-               lda     #<dddefdev
-               sta     ICBAL,x
-               lda     #>dddefdev
-               sta     ICBAH,x
-               bne     @cont
+                ; construct a "Dn:*.*" like string from the default drive
+                lda     __defdev+1
+                sta     dddefdev+1      ; copy drive number (overwrite 2nd 'D')
+                lda     #<dddefdev
+                sta     ICBAL,x
+                lda     #>dddefdev
+                sta     ICBAH,x
+                bne     @cont
 .else
-               lda     #<defdev
-               sta     ICBAL,x
-               lda     #>defdev
-               sta     ICBAH,x
-               bne     @cont
+                lda     #<defdev
+                sta     ICBAL,x
+                lda     #>defdev
+                sta     ICBAH,x
+                bne     @cont
 .endif
 
-@use_parm:     lda     ptr1
-               sta     ICBAL,x
-               lda     ptr1+1
-               sta     ICBAH,x
-
-@cont:         lda     #OPEN
-               sta     ICCOM,x
-               lda     #OPNIN|DIRECT
-               sta     ICAX1,x
-               jsr     CIOV
-               bmi     cioerr
-               lda     #0
-               sta     __oserror
-               tax
-               lda     diriocb
-               rts
+@use_parm:      lda     ptr1
+                sta     ICBAL,x
+                lda     ptr1+1
+                sta     ICBAH,x
+
+@cont:          lda     #OPEN
+                sta     ICCOM,x
+                lda     #OPNIN|DIRECT
+                sta     ICAX1,x
+                jsr     CIOV
+                bmi     cioerr
+                lda     #0
+                sta     __oserror
+                tax
+                lda     diriocb
+                rts
 .endproc
 
-cioerr:                sty     __oserror
-               jmp     return0
-
-.proc  _readdir
-               tax
-               lda     #GETREC
-               sta     ICCOM,x
-               lda     #<entry
-               sta     ICBAL,x
-               sta     ptr1
-               lda     #>entry
-               sta     ICBAH,x
-               sta     ptr1+1
-               lda     #DSCTSZ
-               sta     ICBLL,x
-               lda     #0
-               sta     ICBLH,x
-               jsr     CIOV
-               bmi     cioerr
-               ldy     #0              ; FREE SECTORS
-               lda     (ptr1),y
-               cmp     #'0'
-               bcs     cioerr
-               dey
-@next:         iny                     ; remove trailing spaces
-               iny
-               iny
-               lda     (ptr1),y
-               dey
-               dey
-               sta     (ptr1),y
-               cpy     #8
-               bcs     @break
-               cmp     #' '
-               bne     @next
-
-@break:                lda     #'.'            ; extension dot
-               sta     (ptr1),y
-               iny                     ; copy extension
-               sty     tmp1
-               ldy     #10
-               lda     (ptr1),y
-               cmp     #' '
-               bne     @hasext
+cioerr:         sty     __oserror
+                jmp     return0
+
+.proc   _readdir
+                tax
+                lda     #GETREC
+                sta     ICCOM,x
+                lda     #<entry
+                sta     ICBAL,x
+                sta     ptr1
+                lda     #>entry
+                sta     ICBAH,x
+                sta     ptr1+1
+                lda     #DSCTSZ
+                sta     ICBLL,x
+                lda     #0
+                sta     ICBLH,x
+                jsr     CIOV
+                bmi     cioerr
+                ldy     #0              ; FREE SECTORS
+                lda     (ptr1),y
+                cmp     #'0'
+                bcs     cioerr
+                dey
+@next:          iny                     ; remove trailing spaces
+                iny
+                iny
+                lda     (ptr1),y
+                dey
+                dey
+                sta     (ptr1),y
+                cpy     #8
+                bcs     @break
+                cmp     #' '
+                bne     @next
+
+@break:         lda     #'.'            ; extension dot
+                sta     (ptr1),y
+                iny                     ; copy extension
+                sty     tmp1
+                ldy     #10
+                lda     (ptr1),y
+                cmp     #' '
+                bne     @hasext
 
 ; no extension present: remove the trailing dot and be done
-               ldy     tmp1
-               dey
-               bne     @done
-
-@hasext:       jsr     copychar
-               ldy     #13             ; d_type
-               sta     (ptr1),y
-               ldy     #11
-               jsr     copychar
-               ldy     #12
-               jsr     copychar
-
-@done:         lda     #0              ; end of string
-               sta     (ptr1),y
-               lda     ptr1
-               ldx     ptr1+1
-               rts
-
-
-copychar:      lda     (ptr1),y        ; src=y dest=tmp1
-               ldy     tmp1
-               cmp     #' '
-               beq     @break
-               sta     (ptr1),y
-               iny
-               sty     tmp1
-@break:                rts
+                ldy     tmp1
+                dey
+                bne     @done
+
+@hasext:        jsr     copychar
+                ldy     #13             ; d_type
+                sta     (ptr1),y
+                ldy     #11
+                jsr     copychar
+                ldy     #12
+                jsr     copychar
+
+@done:          lda     #0              ; end of string
+                sta     (ptr1),y
+                lda     ptr1
+                ldx     ptr1+1
+                rts
+
+
+copychar:       lda     (ptr1),y        ; src=y dest=tmp1
+                ldy     tmp1
+                cmp     #' '
+                beq     @break
+                sta     (ptr1),y
+                iny
+                sty     tmp1
+@break:         rts
 .endproc
 
-.proc  _closedir
-               tax
-               lda     #CLOSE
-               sta     ICCOM,x
-               jsr     CIOV
-               bmi     @cioerr
-               ldx     #0
-               stx     __oserror               ; clear system specific error code
-               txa
-               rts
-@cioerr:       jmp     __do_oserror
+.proc   _closedir
+                tax
+                lda     #CLOSE
+                sta     ICCOM,x
+                jsr     CIOV
+                bmi     @cioerr
+                ldx     #0
+                stx     __oserror               ; clear system specific error code
+                txa
+                rts
+@cioerr:        jmp     __do_oserror
 .endproc
 
-               .data
+                .data
 .ifdef DEFAULT_DEVICE
-dddefdev:      .byte   "D"
+dddefdev:       .byte   "D"
 .endif
-defdev:                .asciiz "D:*.*"
+defdev:         .asciiz "D:*.*"
 
-               .bss
-diriocb:       .res    1
-entry:         .res    DSCTSZ
+                .bss
+diriocb:        .res    1
+entry:          .res    DSCTSZ
index 067bcc1517e09b9633a0d3c54303370e51abc850..ed4400b55d3ca953c35470e32186f12df78f4f3e 100644 (file)
@@ -5,13 +5,13 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
-__randomize:             
-       ldx     VCOUNT          ; Use vertical line counter as high byte
-       lda     RTCLOK+2        ; Use clock as low byte
-       jmp     _srand          ; Initialize generator
+__randomize:              
+        ldx     VCOUNT          ; Use vertical line counter as high byte
+        lda     RTCLOK+2        ; Use clock as low byte
+        jmp     _srand          ; Initialize generator
 
index 19d33cb66d51c9b07aeb8c5e30911d4a1068bfd8..acb415efd319330642a1ec87f8024f679fae5bfc 100644 (file)
 ; int __fastcall__ read(int fd,void *buf,int count)
 ;
 
-       .include "atari.inc"
-       .import __rwsetup,__do_oserror,__inviocb,__oserror
-       .export _read
-
-_read: jsr     __rwsetup       ; do common setup for read and write
-       beq     done            ; if size 0, it's a no-op
-       cpx     #$FF            ; invalid iocb?
-       beq     _inviocb
-
-.ifdef LINEBUF
-       ; E: should be always at IOCB #0
-       ; fixme: what happens when user closes and reopens stdin?
-       cpx     #0              ; E: handler (line oriented keyboard input)?
-       beq     do_line
+        .include "atari.inc"
+        .import __rwsetup,__do_oserror,__inviocb,__oserror
+        .export _read
+
+_read:  jsr     __rwsetup       ; do common setup for read and write
+        beq     done            ; if size 0, it's a no-op
+        cpx     #$FF            ; invalid iocb?
+        beq     _inviocb
+
+.ifdef  LINEBUF
+        ; E: should be always at IOCB #0
+        ; fixme: what happens when user closes and reopens stdin?
+        cpx     #0              ; E: handler (line oriented keyboard input)?
+        beq     do_line
 .endif
 
-       lda     #GETCHR         ; iocb command code
-       sta     ICCOM,x
-       jsr     CIOV            ; read it
-       bpl     done
-       cpy     #EOFERR         ; eof is treated specially
-       beq     done
-       jmp     __do_oserror    ; update errno
-
-done:  lda     ICBLL,x         ; buf len lo
-       pha                     ; save
-       lda     ICBLH,x         ; get buf len hi
-       tax                     ; to X
-okdone:        lda     #0
-       sta     __oserror       ; clear system dependend error code
-       pla                     ; get buf len lo
-       rts
+        lda     #GETCHR         ; iocb command code
+        sta     ICCOM,x
+        jsr     CIOV            ; read it
+        bpl     done
+        cpy     #EOFERR         ; eof is treated specially
+        beq     done
+        jmp     __do_oserror    ; update errno
+
+done:   lda     ICBLL,x         ; buf len lo
+        pha                     ; save
+        lda     ICBLH,x         ; get buf len hi
+        tax                     ; to X
+okdone: lda     #0
+        sta     __oserror       ; clear system dependend error code
+        pla                     ; get buf len lo
+        rts
 
 _inviocb:
-       jmp     __inviocb
+        jmp     __inviocb
 
 
-.ifdef LINEBUF
+.ifdef  LINEBUF
 
 ; line oriented input
 
-       .segment        "EXTZP" : zeropage
+        .segment        "EXTZP" : zeropage
 
-index: .res    1               ; index into line buffer
-buflen:        .res    1               ; length of used part of buffer
-cbs:   .res    1               ; current buffer size: buflen - index
-dataptr:.res   2               ; temp pointer to user buffer
-copylen:.res   1               ; temp counter
+index:  .res    1               ; index into line buffer
+buflen: .res    1               ; length of used part of buffer
+cbs:    .res    1               ; current buffer size: buflen - index
+dataptr:.res    2               ; temp pointer to user buffer
+copylen:.res    1               ; temp counter
 
-       .bss
+        .bss
 
-linebuf:.res   LINEBUF         ; the line buffer
+linebuf:.res    LINEBUF         ; the line buffer
 
         .code
 
 do_line:
-       lda     buflen          ; line buffer active?
-       bne     use_buf         ; yes, get data from there
-
-       ; save user buffer address & length
-       ; update IOCB to point to line buffer
-       lda     ICBLL,x
-       pha
-       lda     #LINEBUF
-       sta     ICBLL,x
-       ;--------
-       lda     ICBLH,x
-       pha
-       lda     #0
-       sta     ICBLH,x
-       ;--------
-       lda     ICBAL,x
-       pha
-       lda     #<linebuf
-       sta     ICBAL,x
-       ;--------
-       lda     ICBAH,x
-       pha
-       lda     #>linebuf
-       sta     ICBAH,x
-
-       lda     #GETREC
-       sta     ICCOM,x
-       jsr     CIOV            ; read input data
-       bpl     newbuf
-       cpy     #EOFERR         ; eof is treated specially
-       beq     newbuf
-       pla                     ; fix stack
-       pla
-       pla
-       pla
-       jmp     __do_oserror    ; update errno
+        lda     buflen          ; line buffer active?
+        bne     use_buf         ; yes, get data from there
+
+        ; save user buffer address & length
+        ; update IOCB to point to line buffer
+        lda     ICBLL,x
+        pha
+        lda     #LINEBUF
+        sta     ICBLL,x
+        ;--------
+        lda     ICBLH,x
+        pha
+        lda     #0
+        sta     ICBLH,x
+        ;--------
+        lda     ICBAL,x
+        pha
+        lda     #<linebuf
+        sta     ICBAL,x
+        ;--------
+        lda     ICBAH,x
+        pha
+        lda     #>linebuf
+        sta     ICBAH,x
+
+        lda     #GETREC
+        sta     ICCOM,x
+        jsr     CIOV            ; read input data
+        bpl     newbuf
+        cpy     #EOFERR         ; eof is treated specially
+        beq     newbuf
+        pla                     ; fix stack
+        pla
+        pla
+        pla
+        jmp     __do_oserror    ; update errno
 
 newbuf:
-       lda     ICBLL,x         ; get # of bytes read
-       sta     buflen
-       lda     #0
-       sta     index           ; fresh buffer
-
-       ; restore user buffer address & length
-       pla
-       sta     ICBAH,x
-       ;--------
-       pla
-       sta     ICBAL,x
-       ;--------
-       pla
-       sta     ICBLH,x
-       ;--------
-       pla
-       sta     ICBLL,x
-
-       ; fall into use_buf
-       lda     buflen
+        lda     ICBLL,x         ; get # of bytes read
+        sta     buflen
+        lda     #0
+        sta     index           ; fresh buffer
+
+        ; restore user buffer address & length
+        pla
+        sta     ICBAH,x
+        ;--------
+        pla
+        sta     ICBAL,x
+        ;--------
+        pla
+        sta     ICBLH,x
+        ;--------
+        pla
+        sta     ICBLL,x
+
+        ; fall into use_buf
+        lda     buflen
 
 ; return bytes from line buffer
 ; use buflen and index to access buffer
@@ -125,58 +125,58 @@ newbuf:
 ; use dataptr as a temporary pointer
 
 use_buf:
-       sec
-       sbc     index           ; size of unread data in the buffer
-       sta     cbs
+        sec
+        sbc     index           ; size of unread data in the buffer
+        sta     cbs
 
-       lda     ICBLL,x         ; buf len lo
-       cmp     cbs             ; larger than buffer size?
-       beq     bl1
-       bcs     btsmall         ; yes, adjust length
+        lda     ICBLL,x         ; buf len lo
+        cmp     cbs             ; larger than buffer size?
+        beq     bl1
+        bcs     btsmall         ; yes, adjust length
 
-bl1:   lda     ICBLH,x         ; get buf len hi
-       bne     btsmall         ; buffer too small: buffer contents < read size
+bl1:    lda     ICBLH,x         ; get buf len hi
+        bne     btsmall         ; buffer too small: buffer contents < read size
 
 ; copy ICBLL,x bytes
 
 icbll_copy:
 
-       lda     ICBAL,x         ; buffer address
-       sta     dataptr
-       lda     ICBAH,x         ; buffer address
-       sta     dataptr+1
-       lda     ICBLL,x
-       sta     copylen
-       pha                     ; remember for return value
-       ldy     #0
-       ldx     index
-
-copy:  lda     linebuf,x
-       sta     (dataptr),y
-       iny
-       inx
-       dec     copylen
-       bne     copy
-
-       pla                     ; length
-       pha                     ; save length to return at okdone
-
-       clc
-       adc     index
-       sta     index
-       cmp     buflen          ; buffer used up?
-       bcc     c1              ; not yet
-
-       lda     #0
-       sta     buflen          ; indicate empty line buffer
-
-c1:    ldx     #0
-       jmp     okdone          ; return to caller
+        lda     ICBAL,x         ; buffer address
+        sta     dataptr
+        lda     ICBAH,x         ; buffer address
+        sta     dataptr+1
+        lda     ICBLL,x
+        sta     copylen
+        pha                     ; remember for return value
+        ldy     #0
+        ldx     index
+
+copy:   lda     linebuf,x
+        sta     (dataptr),y
+        iny
+        inx
+        dec     copylen
+        bne     copy
+
+        pla                     ; length
+        pha                     ; save length to return at okdone
+
+        clc
+        adc     index
+        sta     index
+        cmp     buflen          ; buffer used up?
+        bcc     c1              ; not yet
+
+        lda     #0
+        sta     buflen          ; indicate empty line buffer
+
+c1:     ldx     #0
+        jmp     okdone          ; return to caller
 
 btsmall:
-       lda     cbs
-       sta     ICBLL,x
-       bpl     icbll_copy
+        lda     cbs
+        sta     ICBLL,x
+        bpl     icbll_copy
 
-.endif         ; .ifdef LINEBUF
+.endif          ; .ifdef LINEBUF
 
index ff22dbf28c5f867b8a10ea24d0dfac748298b105..719503940dafbfa192153c90ce511a549a88986c 100644 (file)
@@ -3,26 +3,26 @@
 ;
 ; unsigned char revers (unsigned char onoff);
 ;
-       .include "atari.inc"
-       
-       .export         _revers
-       .export         _revflag
+        .include "atari.inc"
+        
+        .export         _revers
+        .export         _revflag
 
 _revers:
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-L1:    ldy     #$00            ; Assume old value is zero
-       lda     _revflag        ; Load old value
-       stx     _revflag        ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+L1:     ldy     #$00            ; Assume old value is zero
+        lda     _revflag        ; Load old value
+        stx     _revflag        ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
-       .bss
+        .bss
 
 _revflag:
-       .res    1
+        .res    1
index 843827fb6f54dc856df9164d84ee17d8a20e0bb8..35f20ca4fdd0b163d759e53b1321f5b3568e1c83 100644 (file)
 ; unsigned char __fastcall__ rs232_pause (void); [TODO]
 ; unsigned char __fastcall__ rs232_unpause (void); [TODO]
 ; unsigned char __fastcall__ rs232_status (unsigned char* status,
-;                                         unsigned char* errors); [TODO]
+;                                          unsigned char* errors); [TODO]
 ;
 
-       .import         findfreeiocb
-       .import         __do_oserror
-       .import         fddecusage
-       .import         fdtoiocb
-       .import         __inviocb
-       .import         clriocb
-       .import         newfd
-       .import         _close, pushax, popax, popa
-       .importzp       ptr1, tmp2, tmp3
-
-       .export         _rs232_init, _rs232_params, _rs232_done, _rs232_get
-       .export         _rs232_put, _rs232_pause, _rs232_unpause, _rs232_status
-
-       .include        "atari.inc"
-       .include        "errno.inc"
+        .import         findfreeiocb
+        .import         __do_oserror
+        .import         fddecusage
+        .import         fdtoiocb
+        .import         __inviocb
+        .import         clriocb
+        .import         newfd
+        .import         _close, pushax, popax, popa
+        .importzp       ptr1, tmp2, tmp3
+
+        .export         _rs232_init, _rs232_params, _rs232_done, _rs232_get
+        .export         _rs232_put, _rs232_pause, _rs232_unpause, _rs232_status
+
+        .include        "atari.inc"
+        .include        "errno.inc"
         .include        "rs232.inc"
 
-       .rodata
+        .rodata
 
-rdev:  .byte   "R:", ATEOL, 0
+rdev:   .byte   "R:", ATEOL, 0
 
-       .bss
+        .bss
 
 ; receive buffer
 RECVBUF_SZ = 256
-recv_buf: .res RECVBUF_SZ
+recv_buf: .res  RECVBUF_SZ
 
-cm_run:        .res    1       ; concurrent mode running?
+cm_run: .res    1       ; concurrent mode running?
 
-       .data
+        .data
 
-rshand:        .word   $ffff
+rshand: .word   $ffff
 
-       .code
+        .code
 
 ;----------------------------------------------------------------------------
 ;
@@ -57,60 +57,60 @@ rshand:     .word   $ffff
 ;  */
 ;
 
-.proc  _rs232_init
-
-       jsr     findfreeiocb
-       bne     init_err
-       txa
-       tay                     ; move iocb # into Y
-       lda     #3
-       sta     tmp3            ; name length + 1
-       lda     #<rdev
-       ldx     #>rdev
-       jsr     newfd
-       tya
-       bcs     doopen          ; C set: open needed / device not already open
-
-       pha
-       jsr     _rs232_done     ;** shut down if started  @@@TODO check this out!!
-       pla
-
-doopen:        tax
-       pha
-       jsr     clriocb
-       pla
-       tax
-       lda     #<rdev
-       sta     ICBAL,x
-       lda     #>rdev
-       sta     ICBAH,x
-       lda     #OPEN
-       sta     ICCOM,x
-
-       lda     #$0D            ; mode in+out+concurrent
-       sta     ICAX1,x
-       lda     #0
-       sta     ICAX2,x
-       sta     ICBLL,x         ; zap buf len
-       sta     ICBLH,x
-       jsr     CIOV
-       bmi     cioerr1
-
-       lda     tmp2            ; get fd
-       sta     rshand
-       ldx     #0
-       stx     rshand+1
-       txa
-       rts
-
-cioerr1:jsr    fddecusage      ; decrement usage counter of fd as open failed
+.proc   _rs232_init
+
+        jsr     findfreeiocb
+        bne     init_err
+        txa
+        tay                     ; move iocb # into Y
+        lda     #3
+        sta     tmp3            ; name length + 1
+        lda     #<rdev
+        ldx     #>rdev
+        jsr     newfd
+        tya
+        bcs     doopen          ; C set: open needed / device not already open
+
+        pha
+        jsr     _rs232_done     ;** shut down if started  @@@TODO check this out!!
+        pla
+
+doopen: tax
+        pha
+        jsr     clriocb
+        pla
+        tax
+        lda     #<rdev
+        sta     ICBAL,x
+        lda     #>rdev
+        sta     ICBAH,x
+        lda     #OPEN
+        sta     ICCOM,x
+
+        lda     #$0D            ; mode in+out+concurrent
+        sta     ICAX1,x
+        lda     #0
+        sta     ICAX2,x
+        sta     ICBLL,x         ; zap buf len
+        sta     ICBLH,x
+        jsr     CIOV
+        bmi     cioerr1
+
+        lda     tmp2            ; get fd
+        sta     rshand
+        ldx     #0
+        stx     rshand+1
+        txa
+        rts
+
+cioerr1:jsr     fddecusage      ; decrement usage counter of fd as open failed
 
 init_err:
-       ldx     #0
-       lda     #RS_ERR_INIT_FAILED
-       rts
+        ldx     #0
+        lda     #RS_ERR_INIT_FAILED
+        rts
 
-.endproc       ; _rs232_init
+.endproc        ; _rs232_init
 
 
 ;----------------------------------------------------------------------------
@@ -126,64 +126,64 @@ init_err:
 ; using 8 bit word size. So only 8 bit is currently tested.
 ;
 
-.proc  _rs232_params
-
-       sta     tmp2
-       lda     rshand
-       cmp     #$ff
-       bne     work            ; work only if initialized
-       lda     #RS_ERR_NOT_INITIALIZED
-       bne     done
-work:  lda     rshand
-       ldx     #0
-       jsr     fdtoiocb        ; get iocb index into X
-       bmi     inverr          ; shouldn't happen
-       tax
-
-       ; set handshake lines
-
-       lda     #34             ; xio 34, set cts, dtr etc
-       sta     ICCOM,x
-       lda     #192+48+3       ; DTR on, RTS on, XMT on
-       sta     ICAX1,x
-       lda     #0
-       sta     ICBLL,x
-       sta     ICBLH,x
-       sta     ICBAL,x
-       sta     ICBAH,x
-       sta     ICAX2,x
-       jsr     CIOV
-       bmi     cioerr
-
-       ; set baud rate, word size, stop bits and ready monitoring
-
-       lda     #36             ; xio 36, baud rate
-       sta     ICCOM,x
-       jsr     popa            ; get parameter
-       sta     ICAX1,x
-       ;ICAX2 = 0, monitor nothing
-       jsr     CIOV
-       bmi     cioerr
-
-       ; set translation and parity
-
-       lda     #38             ; xio 38, translation and parity
-       sta     ICCOM,x
-       lda     tmp2
-       ora     #32             ; no translation
-       sta     ICAX1,x
-       jsr     CIOV
-       bmi     cioerr
-
-       lda     #0
-done:  ldx     #0
-       rts
-
-inverr:        jmp     __inviocb
-
-.endproc       ;_rs232_params
-
-cioerr:        jmp     __do_oserror
+.proc   _rs232_params
+
+        sta     tmp2
+        lda     rshand
+        cmp     #$ff
+        bne     work            ; work only if initialized
+        lda     #RS_ERR_NOT_INITIALIZED
+        bne     done
+work:   lda     rshand
+        ldx     #0
+        jsr     fdtoiocb        ; get iocb index into X
+        bmi     inverr          ; shouldn't happen
+        tax
+
+        ; set handshake lines
+
+        lda     #34             ; xio 34, set cts, dtr etc
+        sta     ICCOM,x
+        lda     #192+48+3       ; DTR on, RTS on, XMT on
+        sta     ICAX1,x
+        lda     #0
+        sta     ICBLL,x
+        sta     ICBLH,x
+        sta     ICBAL,x
+        sta     ICBAH,x
+        sta     ICAX2,x
+        jsr     CIOV
+        bmi     cioerr
+
+        ; set baud rate, word size, stop bits and ready monitoring
+
+        lda     #36             ; xio 36, baud rate
+        sta     ICCOM,x
+        jsr     popa            ; get parameter
+        sta     ICAX1,x
+        ;ICAX2 = 0, monitor nothing
+        jsr     CIOV
+        bmi     cioerr
+
+        ; set translation and parity
+
+        lda     #38             ; xio 38, translation and parity
+        sta     ICCOM,x
+        lda     tmp2
+        ora     #32             ; no translation
+        sta     ICAX1,x
+        jsr     CIOV
+        bmi     cioerr
+
+        lda     #0
+done:   ldx     #0
+        rts
+
+inverr: jmp     __inviocb
+
+.endproc        ;_rs232_params
+
+cioerr: jmp     __do_oserror
 
 
 ;----------------------------------------------------------------------------
@@ -196,28 +196,28 @@ cioerr:   jmp     __do_oserror
 ;  */
 ;
 
-.proc  _rs232_done
-
-       lda     rshand
-       cmp     #$ff
-       beq     done
-work:  ldx     rshand+1
-       jsr     pushax
-       jsr     _close
-       pha
-       txa
-       pha
-       ldx     #$ff
-       stx     rshand
-       stx     rshand+1
-       inx
-       stx     cm_run
-       pla
-       tax
-       pla
-done:  rts
-
-.endproc       ;rs232_done
+.proc   _rs232_done
+
+        lda     rshand
+        cmp     #$ff
+        beq     done
+work:   ldx     rshand+1
+        jsr     pushax
+        jsr     _close
+        pha
+        txa
+        pha
+        ldx     #$ff
+        stx     rshand
+        stx     rshand+1
+        inx
+        stx     cm_run
+        pla
+        tax
+        pla
+done:   rts
+
+.endproc        ;rs232_done
 
 
 ;----------------------------------------------------------------------------
@@ -228,61 +228,61 @@ done:     rts
 ;  */
 ;
 
-.proc  _rs232_get
+.proc   _rs232_get
 
-       ldy     rshand
-       cpy     #$ff
-       bne     work            ; work only if initialized
-       lda     #RS_ERR_NOT_INITIALIZED
-       bne     nierr
+        ldy     rshand
+        cpy     #$ff
+        bne     work            ; work only if initialized
+        lda     #RS_ERR_NOT_INITIALIZED
+        bne     nierr
 
-work:  sta     ptr1
-       stx     ptr1+1          ; store pointer to received char
+work:   sta     ptr1
+        stx     ptr1+1          ; store pointer to received char
 
-       lda     rshand
-       ldx     #0
-       jsr     fdtoiocb
-       tax
-       lda     cm_run          ; concurrent mode already running?
-       bne     go
-       jsr     ena_cm          ; turn on concurrent mode
+        lda     rshand
+        ldx     #0
+        jsr     fdtoiocb
+        tax
+        lda     cm_run          ; concurrent mode already running?
+        bne     go
+        jsr     ena_cm          ; turn on concurrent mode
 
-go:    ; check whether there is any input available
+go:     ; check whether there is any input available
 
-       lda     #STATIS         ; status request, returns bytes pending
-       sta     ICCOM,x
-       jsr     CIOV
-       bmi     cioerr          ; @@@ error handling
+        lda     #STATIS         ; status request, returns bytes pending
+        sta     ICCOM,x
+        jsr     CIOV
+        bmi     cioerr          ; @@@ error handling
 
-       lda     DVSTAT+1        ; get byte count pending
-       ora     DVSTAT+2
-       beq     nix_da          ; no input waiting...
+        lda     DVSTAT+1        ; get byte count pending
+        ora     DVSTAT+2
+        beq     nix_da          ; no input waiting...
 
-       ; input is available: get it!
+        ; input is available: get it!
 
-       lda     #GETCHR         ; get raw bytes
-       sta     ICCOM,x         ; in command code
-       lda     #0
-       sta     ICBLL,x
-       sta     ICBLH,x
-       sta     ICBAL,x
-       sta     ICBAH,x
-       jsr     CIOV            ; go get it
-       bmi     cioerr          ; @@@ error handling
+        lda     #GETCHR         ; get raw bytes
+        sta     ICCOM,x         ; in command code
+        lda     #0
+        sta     ICBLL,x
+        sta     ICBLH,x
+        sta     ICBAL,x
+        sta     ICBAH,x
+        jsr     CIOV            ; go get it
+        bmi     cioerr          ; @@@ error handling
 
-       ldx     #0
-       sta     (ptr1,x)        ; return received byte
-       txa
-       rts
+        ldx     #0
+        sta     (ptr1,x)        ; return received byte
+        txa
+        rts
 
-nierr: ldx     #0
-       rts
+nierr:  ldx     #0
+        rts
 
-nix_da:        lda     #RS_ERR_NO_DATA
-       ldx     #0
-       rts
+nix_da: lda     #RS_ERR_NO_DATA
+        ldx     #0
+        rts
 
-.endproc       ;_rs232_get
+.endproc        ;_rs232_get
 
 
 ;----------------------------------------------------------------------------
@@ -294,39 +294,39 @@ nix_da:   lda     #RS_ERR_NO_DATA
 ;  */
 ;
 
-.proc  _rs232_put
-
-       ldy     rshand
-       cpy     #$ff
-       bne     work            ; work only if initialized
-       lda     #RS_ERR_NOT_INITIALIZED
-       bne     nierr
-
-work:  pha
-       lda     rshand
-       ldx     #0
-       jsr     fdtoiocb
-       tax
-       lda     cm_run          ; concurrent mode already running?
-       bne     go
-       jsr     ena_cm          ; turn on concurrent mode
-
-       ; @@@TODO:       check output buffer overflow
-go:    lda     #PUTCHR         ; put raw bytes
-       sta     ICCOM,x         ; in command code
-       lda     #0
-       sta     ICBLL,x
-       sta     ICBLH,x
-       sta     ICBAL,x
-       sta     ICBAH,x
-       pla                     ; get the char back
-       jsr     CIOV            ; go do it
-       rts
-
-nierr: ldx     #0
-       rts
-
-.endproc       ;_rs232_put
+.proc   _rs232_put
+
+        ldy     rshand
+        cpy     #$ff
+        bne     work            ; work only if initialized
+        lda     #RS_ERR_NOT_INITIALIZED
+        bne     nierr
+
+work:   pha
+        lda     rshand
+        ldx     #0
+        jsr     fdtoiocb
+        tax
+        lda     cm_run          ; concurrent mode already running?
+        bne     go
+        jsr     ena_cm          ; turn on concurrent mode
+
+        ; @@@TODO:       check output buffer overflow
+go:     lda     #PUTCHR         ; put raw bytes
+        sta     ICCOM,x         ; in command code
+        lda     #0
+        sta     ICBLL,x
+        sta     ICBLH,x
+        sta     ICBAL,x
+        sta     ICBAH,x
+        pla                     ; get the char back
+        jsr     CIOV            ; go do it
+        rts
+
+nierr:  ldx     #0
+        rts
+
+.endproc        ;_rs232_put
 
 ;----------------------------------------------------------------------------
 ;
@@ -349,41 +349,41 @@ _rs232_unpause:
 ;----------------------------------------------------------------------------
 ;
 ; unsigned char __fastcall__ rs232_status (unsigned char* status,
-;                                         unsigned char* errors);
+;                                          unsigned char* errors);
 ; /* Return the serial port status. */
 ;
 
 _rs232_status:
 
-       lda     #255
-       tax
-       rts
+        lda     #255
+        tax
+        rts
 
 
 ; enable concurrent rs232 mode
 ; gets iocb index in X
 ; all registers destroyed
 
-.proc  ena_cm
-
-       lda     #40             ; XIO 40, start concurrent IO
-       sta     ICCOM,x
-       sta     cm_run          ; indicate concurrent mode is running
-       lda     #0
-       sta     ICAX1,x
-       sta     ICAX2,x
-       lda     #<recv_buf
-       sta     ICBAL,x
-       lda     #>recv_buf
-       sta     ICBAH,x
-       lda     #<RECVBUF_SZ
-       sta     ICBLL,x
-       lda     #>RECVBUF_SZ
-       sta     ICBLH,x
-       lda     #$0D            ; value from 850 man, p62.  must be 0D?,
-       sta     ICAX1,x         ;  or any non-zero?
-       jmp     CIOV
-
-.endproc       ;ena_cm
-
-       .end
+.proc   ena_cm
+
+        lda     #40             ; XIO 40, start concurrent IO
+        sta     ICCOM,x
+        sta     cm_run          ; indicate concurrent mode is running
+        lda     #0
+        sta     ICAX1,x
+        sta     ICAX2,x
+        lda     #<recv_buf
+        sta     ICBAL,x
+        lda     #>recv_buf
+        sta     ICBAH,x
+        lda     #<RECVBUF_SZ
+        sta     ICBLL,x
+        lda     #>RECVBUF_SZ
+        sta     ICBLH,x
+        lda     #$0D            ; value from 850 man, p62.  must be 0D?,
+        sta     ICAX1,x         ;  or any non-zero?
+        jmp     CIOV
+
+.endproc        ;ena_cm
+
+        .end
index 349c7be019e2afa56efafedfa92ed06c3d93ff12..5f51cc5f7f8fa962599845a2916c0bb06295c4ed 100644 (file)
@@ -2,42 +2,42 @@
 ; common iocb setup routine for read, write
 ; expects __fastcall__ parameters (int fd, void *buf, int count)
 ;
-       .include "atari.inc"
-       .include "errno.inc"
-       .import popax
-       .import fdtoiocb
+        .include "atari.inc"
+        .include "errno.inc"
+        .import popax
+        .import fdtoiocb
 
-       .export __rwsetup
+        .export __rwsetup
 
 
 __rwsetup:
 
-       pha                     ; push size in stack
-       txa
-       pha
-       jsr     popax           ; get buffer address
-       pha
-       txa
-       pha
-       jsr     popax           ; get handle
-       jsr     fdtoiocb        ; convert to iocb
-       bmi     iocberr         ; negative (X=$FF or A>$7F) on error.
-       tax
-       pla                     ; store address
-       sta     ICBAH,x
-       pla
-       sta     ICBAL,x
-       pla                     ; store length
-       sta     ICBLH,x
-       pla
-       sta     ICBLL,x
-       ora     ICBLH,x         ; returns Z if length is 0
-       rts
+        pha                     ; push size in stack
+        txa
+        pha
+        jsr     popax           ; get buffer address
+        pha
+        txa
+        pha
+        jsr     popax           ; get handle
+        jsr     fdtoiocb        ; convert to iocb
+        bmi     iocberr         ; negative (X=$FF or A>$7F) on error.
+        tax
+        pla                     ; store address
+        sta     ICBAH,x
+        pla
+        sta     ICBAL,x
+        pla                     ; store length
+        sta     ICBLH,x
+        pla
+        sta     ICBLL,x
+        ora     ICBLH,x         ; returns Z if length is 0
+        rts
 
 iocberr:pla
-       pla
-       pla
-       pla
-       ldx     #$FF            ; indicate error + clear ZF
-       rts
+        pla
+        pla
+        pla
+        ldx     #$FF            ; indicate error + clear ZF
+        rts
 
index d2de4ef302068e13cd59b08537328322bc07a6ba..dd6dda125e7ca96b425d3a39a83bfaac75abb6e5 100644 (file)
@@ -6,10 +6,10 @@
 ; void _rest_vecs(void);
 ;
 
-       .export __save_vecs,__rest_vecs
-.include       "atari.inc"
+        .export __save_vecs,__rest_vecs
+.include        "atari.inc"
 
-       .bss
+        .bss
 
 old_dli:     .res 2
 old_dlist:   .res 2
@@ -20,86 +20,86 @@ old_dma:     .res 1
 old_prior:   .res 1
 old_cols:    .res 8
 old_set:     .res 1
-old_rmargin: .res 1    ; lmargin saved in startup code
+old_rmargin: .res 1     ; lmargin saved in startup code
 
-       .code
+        .code
 
-.proc  __save_vecs
+.proc   __save_vecs
 
-       lda     VDSLST
-       sta     old_dli
-       lda     VDSLST+1
-               sta     old_dli+1
-       lda     SDLSTL
-       sta     old_dlist
-       lda     SDLSTL+1
-               sta     old_dlist+1
-       lda     VVBLKI
-       sta     old_vbi
-       lda     VVBLKI+1
-               sta     old_vbi+1
-       lda     VVBLKD
-       sta     old_vbd
-       lda     VVBLKD+1
-               sta     old_vbd+1
-       lda     GRACTL
-       sta     old_gra
-       lda     SDMCTL
-       sta     old_dma
-       lda     GPRIOR
-               sta     old_prior
-       lda     CHBAS
-       sta     old_set
-       lda     RMARGN
-       sta     old_rmargin
+        lda     VDSLST
+        sta     old_dli
+        lda     VDSLST+1
+        sta     old_dli+1
+        lda     SDLSTL
+        sta     old_dlist
+        lda     SDLSTL+1
+        sta     old_dlist+1
+        lda     VVBLKI
+        sta     old_vbi
+        lda     VVBLKI+1
+        sta     old_vbi+1
+        lda     VVBLKD
+        sta     old_vbd
+        lda     VVBLKD+1
+        sta     old_vbd+1
+        lda     GRACTL
+        sta     old_gra
+        lda     SDMCTL
+        sta     old_dma
+        lda     GPRIOR
+        sta     old_prior
+        lda     CHBAS
+        sta     old_set
+        lda     RMARGN
+        sta     old_rmargin
 
-       ldy     #7
+        ldy     #7
 SETUP1:
-       lda     PCOLR0,y
-       sta     old_cols,y
-       dey
-       bpl     SETUP1
-       rts
+        lda     PCOLR0,y
+        sta     old_cols,y
+        dey
+        bpl     SETUP1
+        rts
 
 .endproc
 
-.proc  __rest_vecs
+.proc   __rest_vecs
 
-       lda     #6
-       ldx     old_vbi+1
-       ldy     old_vbi
-       jsr     SETVBV
-       lda     #7
-       ldx     old_vbd+1
-       ldy     old_vbd
-       jsr     SETVBV
-       lda     old_dli
-       sta     VDSLST
-       lda     old_dli+1
-               sta     VDSLST+1
-       lda     old_dlist
-       sta     SDLSTL
-       lda     old_dlist+1
-               sta     SDLSTL+1
-       lda     old_gra
-       sta     GRACTL
-       lda     old_prior
-               sta     GPRIOR
-       lda     old_dma
-       sta     SDMCTL
-       lda     old_set
-       sta     CHBAS
-       lda     old_rmargin
-       sta     RMARGN
-       lda     #$FF
-       sta     CH
-       ldy     #7
+        lda     #6
+        ldx     old_vbi+1
+        ldy     old_vbi
+        jsr     SETVBV
+        lda     #7
+        ldx     old_vbd+1
+        ldy     old_vbd
+        jsr     SETVBV
+        lda     old_dli
+        sta     VDSLST
+        lda     old_dli+1
+        sta     VDSLST+1
+        lda     old_dlist
+        sta     SDLSTL
+        lda     old_dlist+1
+        sta     SDLSTL+1
+        lda     old_gra
+        sta     GRACTL
+        lda     old_prior
+        sta     GPRIOR
+        lda     old_dma
+        sta     SDMCTL
+        lda     old_set
+        sta     CHBAS
+        lda     old_rmargin
+        sta     RMARGN
+        lda     #$FF
+        sta     CH
+        ldy     #7
 SETUP2:
-       lda     old_cols,Y
-       sta     PCOLR0,Y
-       dey
-       bpl     SETUP2
-       rts
+        lda     old_cols,Y
+        sta     PCOLR0,Y
+        dey
+        bpl     SETUP2
+        rts
 
 .endproc
 
index 8f58e190c7c9652ecf89c1b00a70299a7aed03ce..5e8428cc2146eab6cce7e879604afb15900f44ae 100644 (file)
 ; numlines < 0  scrolls down
 ;
 
-       .include        "atari.inc"
-       .importzp       tmp1,tmp4,ptr1,ptr2
-       .import         mul40,_clrscr
-       .export         __scroll
+        .include        "atari.inc"
+        .importzp       tmp1,tmp4,ptr1,ptr2
+        .import         mul40,_clrscr
+        .export         __scroll
 
-.proc  __scroll
+.proc   __scroll
 
-       cmp     #0
-       beq     jmpfin
-;      cmp     #$80
-;      bcc     up
-       bpl     up
+        cmp     #0
+        beq     jmpfin
+;       cmp     #$80
+;       bcc     up
+        bpl     up
 
 ;scroll down
-       eor     #$ff
-       clc
-       adc     #1              ; make positive
-       sta     tmp1
-
-       cmp     #24             ; scroll >= the whole screen?
-       bcc     down_ok
-       jmp     _clrscr
-
-down_ok:lda    SAVMSC
-       clc
-       adc     #<(40*23)
-       sta     ptr1
-       sta     ptr2
-       lda     SAVMSC+1
-       adc     #>(40*23)
-       sta     ptr1+1          ; point to last line on screen
-       sta     ptr2+1
-
-       lda     tmp1
-       jsr     mul40
-       sta     tmp4
-       lda     ptr2
-       sec
-       sbc     tmp4
-       sta     ptr2
-       stx     tmp4
-       lda     ptr2+1
-       sbc     tmp4
-       sta     ptr2+1
-
-       lda     #24             ; # of lines on screen
-       sec
-       sbc     tmp1            ; # of lines to move
-       tax
-
-       ;very simple, could be improved
-
-scrold:        ldy     #39             ; # of chars on a line - 1
-copy_d:        lda     (ptr2),y
-       sta     (ptr1),y
-       dey
-       bpl     copy_d
-       lda     ptr1
-       sec
-       sbc     #40
-       sta     ptr1
-       bcs     u1
-       dec     ptr1+1
-u1:    lda     ptr2
-       sec
-       sbc     #40
-       sta     ptr2
-       bcs     u2
-       dec     ptr2+1
-u2:    dex
-       bne     scrold
-
-       ; fill new scrolled in lines with space
-
-       ldx     tmp1            ; # of new lines
-fild:  lda     #0
-       ldy     #39
-fill_d:        sta     (ptr1),y
-       dey
-       bpl     fill_d
-       dex
-jmpfin:        beq     finish
-       lda     ptr1
-       sec
-       sbc     #40
-       sta     ptr1
-       bcs     u3
-       dec     ptr1+1
-u3:    jmp     fild
+        eor     #$ff
+        clc
+        adc     #1              ; make positive
+        sta     tmp1
+
+        cmp     #24             ; scroll >= the whole screen?
+        bcc     down_ok
+        jmp     _clrscr
+
+down_ok:lda     SAVMSC
+        clc
+        adc     #<(40*23)
+        sta     ptr1
+        sta     ptr2
+        lda     SAVMSC+1
+        adc     #>(40*23)
+        sta     ptr1+1          ; point to last line on screen
+        sta     ptr2+1
+
+        lda     tmp1
+        jsr     mul40
+        sta     tmp4
+        lda     ptr2
+        sec
+        sbc     tmp4
+        sta     ptr2
+        stx     tmp4
+        lda     ptr2+1
+        sbc     tmp4
+        sta     ptr2+1
+
+        lda     #24             ; # of lines on screen
+        sec
+        sbc     tmp1            ; # of lines to move
+        tax
+
+        ;very simple, could be improved
+
+scrold: ldy     #39             ; # of chars on a line - 1
+copy_d: lda     (ptr2),y
+        sta     (ptr1),y
+        dey
+        bpl     copy_d
+        lda     ptr1
+        sec
+        sbc     #40
+        sta     ptr1
+        bcs     u1
+        dec     ptr1+1
+u1:     lda     ptr2
+        sec
+        sbc     #40
+        sta     ptr2
+        bcs     u2
+        dec     ptr2+1
+u2:     dex
+        bne     scrold
+
+        ; fill new scrolled in lines with space
+
+        ldx     tmp1            ; # of new lines
+fild:   lda     #0
+        ldy     #39
+fill_d: sta     (ptr1),y
+        dey
+        bpl     fill_d
+        dex
+jmpfin: beq     finish
+        lda     ptr1
+        sec
+        sbc     #40
+        sta     ptr1
+        bcs     u3
+        dec     ptr1+1
+u3:     jmp     fild
 
 ;scroll up
-up:    sta     tmp1            ; # of lines to scroll
-       cmp     #24             ; scroll >= the whole screen?
-       bcc     up_ok
-       jmp     _clrscr
-
-       ;multiply by 40 (xsize)
-up_ok: jsr     mul40
-       clc
-       adc     SAVMSC          ; add start of screen mem
-       sta     ptr2
-       txa
-       adc     SAVMSC+1
-       sta     ptr2+1
-       lda     SAVMSC+1
-       sta     ptr1+1
-       lda     SAVMSC
-       sta     ptr1
-       lda     #24             ; # of lines on screen
-       sec
-       sbc     tmp1            ; # of lines to move
-       tax
-
-       ;very simple, could be improved
-
-scroll:        ldy     #39             ; # of chars on a line - 1
-copy_l:        lda     (ptr2),y
-       sta     (ptr1),y
-       dey
-       bpl     copy_l
-       lda     #40
-       clc
-       adc     ptr1
-       sta     ptr1
-       bcc     l1
-       inc     ptr1+1
-l1:    lda     #40
-       clc
-       adc     ptr2
-       sta     ptr2
-       bcc     l2
-       inc     ptr2+1
-l2:    dex
-       bne     scroll
-
-       ; fill new scrolled in lines with space
-
-       ldx     tmp1            ; # of new lines
-fill:  lda     #0
-       ldy     #39
-fill_l:        sta     (ptr1),y
-       dey
-       bpl     fill_l
-       dex
-       beq     finish
-       lda     #40
-       clc
-       adc     ptr1
-       sta     ptr1
-       bcc     l3
-       inc     ptr1+1
-l3:    jmp     fill
-
-finish:        rts
+up:     sta     tmp1            ; # of lines to scroll
+        cmp     #24             ; scroll >= the whole screen?
+        bcc     up_ok
+        jmp     _clrscr
+
+        ;multiply by 40 (xsize)
+up_ok:  jsr     mul40
+        clc
+        adc     SAVMSC          ; add start of screen mem
+        sta     ptr2
+        txa
+        adc     SAVMSC+1
+        sta     ptr2+1
+        lda     SAVMSC+1
+        sta     ptr1+1
+        lda     SAVMSC
+        sta     ptr1
+        lda     #24             ; # of lines on screen
+        sec
+        sbc     tmp1            ; # of lines to move
+        tax
+
+        ;very simple, could be improved
+
+scroll: ldy     #39             ; # of chars on a line - 1
+copy_l: lda     (ptr2),y
+        sta     (ptr1),y
+        dey
+        bpl     copy_l
+        lda     #40
+        clc
+        adc     ptr1
+        sta     ptr1
+        bcc     l1
+        inc     ptr1+1
+l1:     lda     #40
+        clc
+        adc     ptr2
+        sta     ptr2
+        bcc     l2
+        inc     ptr2+1
+l2:     dex
+        bne     scroll
+
+        ; fill new scrolled in lines with space
+
+        ldx     tmp1            ; # of new lines
+fill:   lda     #0
+        ldy     #39
+fill_l: sta     (ptr1),y
+        dey
+        bpl     fill_l
+        dex
+        beq     finish
+        lda     #40
+        clc
+        adc     ptr1
+        sta     ptr1
+        bcc     l3
+        inc     ptr1+1
+l3:     jmp     fill
+
+finish: rts
 
 .endproc
index 3559210118dfa2b2b6e557c7f01fec334202a4c3..bf3b89572f0649b6e2d7f29811d3ace5df9fd630 100644 (file)
@@ -9,43 +9,43 @@
 ;
 
 
-       .export         __setcolor, __setcolor_low, __getcolor
-       .import         popa
-       .include        "atari.inc"
+        .export         __setcolor, __setcolor_low, __getcolor
+        .import         popa
+        .include        "atari.inc"
 
-.proc  __getcolor
+.proc   __getcolor
 
-       tax
-       lda     COLOR0,x        ; get current value
-       ldx     #0
-       rts
+        tax
+        lda     COLOR0,x        ; get current value
+        ldx     #0
+        rts
 
 .endproc
 
-.proc  __setcolor
+.proc   __setcolor
 
-;      asl     a               ; not -> BASIC compatible
-       sta     lum             ; remember luminance
-       jsr     popa            ; get hue
-       asl     a
-       asl     a
-       asl     a
-       asl     a
-       ora     lum
-;      jmp     __setcolor_low
+;       asl     a               ; not -> BASIC compatible
+        sta     lum             ; remember luminance
+        jsr     popa            ; get hue
+        asl     a
+        asl     a
+        asl     a
+        asl     a
+        ora     lum
+;       jmp     __setcolor_low
 
 .endproc
 
-.proc  __setcolor_low
+.proc   __setcolor_low
 
-       pha
-       jsr     popa
-       tax
-       pla
-       sta     COLOR0,x
-       rts
+        pha
+        jsr     popa
+        tax
+        pla
+        sta     COLOR0,x
+        rts
 
 .endproc
 
-       .bss
-lum:   .res    1
+        .bss
+lum:    .res    1
index eea3f040ab0cca2adcc5784b2ef3d8461628c93d..3db37753f75ce389a17fd9dc7f28d2a928663a00 100644 (file)
@@ -7,83 +7,83 @@
 ; to save space with _dio_read and _dio_write functions.
 ;
 ; unsigned char __fastcall__ _sio_call(dhandle_t handle,
-;                                     unsigned sect_num,
-;                                     void *buffer,
-;                                     unsigned sio_val);
+;                                      unsigned sect_num,
+;                                      void *buffer,
+;                                      unsigned sio_val);
 ; dhandle_t - 16bit (ptr)
 ; sio_val is (sio_command | sio_direction << 8)
 ;
 
-       .export         __sio_call
-       .include        "atari.inc"
-       .import         popa,popax
-       .import         sectsizetab,__oserror
-       .importzp       ptr1
+        .export         __sio_call
+        .include        "atari.inc"
+        .import         popa,popax
+        .import         sectsizetab,__oserror
+        .importzp       ptr1
 
-.proc  __sio_call
+.proc   __sio_call
 
-       sta     DCOMND          ; set command into DCB
-       stx     DSTATS          ; set data flow directon
-       jsr     popax           ; get buffer address
-       sta     DBUFLO          ; set buffer address into DCB
-       stx     DBUFHI
-       jsr     popax
-       sta     DAUX1           ; set sector #
-       stx     DAUX2
+        sta     DCOMND          ; set command into DCB
+        stx     DSTATS          ; set data flow directon
+        jsr     popax           ; get buffer address
+        sta     DBUFLO          ; set buffer address into DCB
+        stx     DBUFHI
+        jsr     popax
+        sta     DAUX1           ; set sector #
+        stx     DAUX2
 
-       jsr     popax
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1
 
-       ldy     #sst_flag
-       lda     (ptr1),y
-       and     #128
-       beq     _inv_hand       ; handle not open or invalid
+        ldy     #sst_flag
+        lda     (ptr1),y
+        and     #128
+        beq     _inv_hand       ; handle not open or invalid
 
-       ldy     #sst_driveno
-       lda     (ptr1),y
+        ldy     #sst_driveno
+        lda     (ptr1),y
 
-       clc
-       adc     #1
-       sta     DUNIT           ; unit number (d1,d2,d3,...)
+        clc
+        adc     #1
+        sta     DUNIT           ; unit number (d1,d2,d3,...)
 
-       lda     DAUX2           ; high byte sector #
-       bne     _realsz
-       lda     DAUX1
-       cmp     #4              ; sectors 1 to 3 are special (always 128 bytes)
-       bcs     _realsz
+        lda     DAUX2           ; high byte sector #
+        bne     _realsz
+        lda     DAUX1
+        cmp     #4              ; sectors 1 to 3 are special (always 128 bytes)
+        bcs     _realsz
 
-       lda     #$80
-       sta     DBYTLO
-       asl     a
-       sta     DBYTHI
-       beq     _cont
+        lda     #$80
+        sta     DBYTLO
+        asl     a
+        sta     DBYTHI
+        beq     _cont
 
-_realsz:ldy    #sst_sectsize
-       lda     (ptr1),y
-       sta     DBYTLO
-       iny
-       lda     (ptr1),y
-       sta     DBYTHI
+_realsz:ldy     #sst_sectsize
+        lda     (ptr1),y
+        sta     DBYTLO
+        iny
+        lda     (ptr1),y
+        sta     DBYTHI
 
-_cont: lda     #DISKID         ; SIO bus ID of diskette drive
-       sta     DDEVIC
-       lda     #15
-       sta     DTIMLO          ; value got from DOS source
+_cont:  lda     #DISKID         ; SIO bus ID of diskette drive
+        sta     DDEVIC
+        lda     #15
+        sta     DTIMLO          ; value got from DOS source
 
-       jsr     SIOV            ; execute
+        jsr     SIOV            ; execute
 
-       ldx     #0
-       lda     DSTATS
-       bmi     _req_err        ; error occurred
-       txa                     ; no error occurred
+        ldx     #0
+        lda     DSTATS
+        bmi     _req_err        ; error occurred
+        txa                     ; no error occurred
 _req_err:
-       sta     __oserror
-       rts
+        sta     __oserror
+        rts
 
 _inv_hand:
-       ldx     #0
-       lda     #BADIOC
-       bne     _req_err
+        ldx     #0
+        lda     #BADIOC
+        bne     _req_err
 
 .endproc
index e91d7c83b55f88c76460e3717f58315de421258e..9fc45edbd5dd2daf59377bdb8efb2497c563146c 100644 (file)
@@ -6,83 +6,83 @@
 ; for SpartaDOS and MyDOS
 ;
 
-       .include "atari.inc"
-       .import findfreeiocb
-       .import __dos_type
-       .import initcwd
-       .importzp tmp4
-.ifdef UCASE_FILENAME
-       .importzp tmp3
-       .import addysp
-       .import ucase_fn
+        .include "atari.inc"
+        .import findfreeiocb
+        .import __dos_type
+        .import initcwd
+        .importzp tmp4
+.ifdef  UCASE_FILENAME
+        .importzp tmp3
+        .import addysp
+        .import ucase_fn
 .endif
-       .export __syschdir
+        .export __syschdir
 
-.proc  __syschdir
+.proc   __syschdir
 
-       pha                     ; save input parameter
-       txa
-       pha
+        pha                     ; save input parameter
+        txa
+        pha
 
-       jsr     findfreeiocb
-       beq     iocbok          ; we found one
+        jsr     findfreeiocb
+        beq     iocbok          ; we found one
 
-       pla
-       pla                     ; fix up stack
+        pla
+        pla                     ; fix up stack
 
-       lda     #TMOF           ; too many open files
-       rts
+        lda     #TMOF           ; too many open files
+        rts
 
-iocbok:        stx     tmp4            ; remember IOCB index
-       pla
-       tax
-       pla                     ; get argument again
+iocbok: stx     tmp4            ; remember IOCB index
+        pla
+        tax
+        pla                     ; get argument again
 
-.ifdef UCASE_FILENAME
+.ifdef  UCASE_FILENAME
 
-       jsr     ucase_fn
-       bcc     ucok1
+        jsr     ucase_fn
+        bcc     ucok1
 
-       lda     #183            ; see oserror.s
-       rts
+        lda     #183            ; see oserror.s
+        rts
 ucok1:
 
-.endif ; defined UCASE_FILENAME
+.endif  ; defined UCASE_FILENAME
 
-       ldy     tmp4            ; IOCB index
-       sta     ICBAL,y         ; store pointer to filename
-       txa
-       sta     ICBAH,y
-       tya
-       tax
-       lda     __dos_type
-       cmp     #SPARTADOS
-       beq     :+
-       lda     #41
-       .byte   $2C             ; BIT <abs>
-:      lda     #44
-       sta     ICCOM,x
-       lda     #0
-       sta     ICAX1,x
-       sta     ICAX2,x
-       sta     ICBLL,x
-       sta     ICBLH,x
-       jsr     CIOV
+        ldy     tmp4            ; IOCB index
+        sta     ICBAL,y         ; store pointer to filename
+        txa
+        sta     ICBAH,y
+        tya
+        tax
+        lda     __dos_type
+        cmp     #SPARTADOS
+        beq     :+
+        lda     #41
+        .byte   $2C             ; BIT <abs>
+:       lda     #44
+        sta     ICCOM,x
+        lda     #0
+        sta     ICAX1,x
+        sta     ICAX2,x
+        sta     ICBLL,x
+        sta     ICBLH,x
+        jsr     CIOV
 
-.ifdef UCASE_FILENAME
-       tya
-       pha
-       ldy     tmp3            ; get size
-       jsr     addysp          ; free used space on the stack
-       pla
-       tay
-.endif ; defined UCASE_FILENAME
+.ifdef  UCASE_FILENAME
+        tya
+        pha
+        ldy     tmp3            ; get size
+        jsr     addysp          ; free used space on the stack
+        pla
+        tay
+.endif  ; defined UCASE_FILENAME
 
-       bmi     cioerr
-       jsr     initcwd
-       lda     #0
-       rts
-cioerr:        tya
-       rts
+        bmi     cioerr
+        jsr     initcwd
+        lda     #0
+        rts
+cioerr: tya
+        rts
 
-.endproc       ; __syschdir
+.endproc        ; __syschdir
index 68f1a508733fc6a66313c25e56063ec116c74e7b..de3252ceddec10cf641b2a6fac73dda2eb84149d 100644 (file)
@@ -6,84 +6,84 @@
 ; for SpartaDOS and MYDOS
 ;
 
-       .include "atari.inc"
-       .include "errno.inc"
-       .import addysp
-       .import popax
-       .import findfreeiocb
-       .importzp tmp4
-.ifdef UCASE_FILENAME
-       .importzp tmp3
-       .import ucase_fn
+        .include "atari.inc"
+        .include "errno.inc"
+        .import addysp
+        .import popax
+        .import findfreeiocb
+        .importzp tmp4
+.ifdef  UCASE_FILENAME
+        .importzp tmp3
+        .import ucase_fn
 .endif
-       .export __sysmkdir
+        .export __sysmkdir
 
-.proc  __sysmkdir
+.proc   __sysmkdir
 
-       dey                     ; parm count < 2 shouldn't be needed to be...
-       dey                     ; ...checked (it generates a C compiler warning)
-       beq     parmok          ; branch if parameter count ok
-       jsr     addysp          ; fix stack, throw away unused parameters
+        dey                     ; parm count < 2 shouldn't be needed to be...
+        dey                     ; ...checked (it generates a C compiler warning)
+        beq     parmok          ; branch if parameter count ok
+        jsr     addysp          ; fix stack, throw away unused parameters
 
-parmok:        jsr     popax           ; get name
-       pha                     ; save input parameter
-       txa
-       pha
+parmok: jsr     popax           ; get name
+        pha                     ; save input parameter
+        txa
+        pha
 
-       jsr     findfreeiocb
-       beq     iocbok          ; we found one
+        jsr     findfreeiocb
+        beq     iocbok          ; we found one
 
-       pla
-       pla                     ; fix up stack
+        pla
+        pla                     ; fix up stack
 
-       lda     #TMOF           ; too many open files
-       rts
+        lda     #TMOF           ; too many open files
+        rts
 
-iocbok:        stx     tmp4            ; remember IOCB index
-       pla
-       tax
-       pla                     ; get argument again
+iocbok: stx     tmp4            ; remember IOCB index
+        pla
+        tax
+        pla                     ; get argument again
 
-.ifdef UCASE_FILENAME
+.ifdef  UCASE_FILENAME
 
-       jsr     ucase_fn
-       bcc     ucok1
+        jsr     ucase_fn
+        bcc     ucok1
 
-       lda     #183            ; see oserror.s
-       rts
+        lda     #183            ; see oserror.s
+        rts
 ucok1:
 
-.endif ; defined UCASE_FILENAME
-
-       ldy     tmp4            ; IOCB index
-       sta     ICBAL,y         ; store pointer to filename
-       txa
-       sta     ICBAH,y
-       tya
-       tax
-       lda     #42
-       sta     ICCOM,x
-       lda     #8
-       sta     ICAX1,x
-       lda     #0
-       sta     ICAX2,x
-       sta     ICBLL,x
-       sta     ICBLH,x
-       jsr     CIOV
-
-.ifdef UCASE_FILENAME
-       tya
-       pha
-       ldy     tmp3            ; get size
-       jsr     addysp          ; free used space on the stack
-       pla
-       tay
-.endif ; defined UCASE_FILENAME
-
-       bmi     cioerr
-       lda     #0
-       rts
-cioerr:        tya
-       rts
-
-.endproc       ; __sysmkdir
+.endif  ; defined UCASE_FILENAME
+
+        ldy     tmp4            ; IOCB index
+        sta     ICBAL,y         ; store pointer to filename
+        txa
+        sta     ICBAH,y
+        tya
+        tax
+        lda     #42
+        sta     ICCOM,x
+        lda     #8
+        sta     ICAX1,x
+        lda     #0
+        sta     ICAX2,x
+        sta     ICBLL,x
+        sta     ICBLH,x
+        jsr     CIOV
+
+.ifdef  UCASE_FILENAME
+        tya
+        pha
+        ldy     tmp3            ; get size
+        jsr     addysp          ; free used space on the stack
+        pla
+        tay
+.endif  ; defined UCASE_FILENAME
+
+        bmi     cioerr
+        lda     #0
+        rts
+cioerr: tya
+        rts
+
+.endproc        ; __sysmkdir
index 581cbd945601d99a0ebad00dbe73e3b8b36d83e7..1e7b4760f6e7b885842f70919327d39c18c10e0c 100644 (file)
@@ -4,76 +4,76 @@
 ; int remove (const char* name);
 ;
 
-       .include "atari.inc"
-       .include "errno.inc"
-       .import findfreeiocb
-       .importzp tmp4
-.ifdef UCASE_FILENAME
-       .importzp tmp3
-       .import addysp
-       .import ucase_fn
+        .include "atari.inc"
+        .include "errno.inc"
+        .import findfreeiocb
+        .importzp tmp4
+.ifdef  UCASE_FILENAME
+        .importzp tmp3
+        .import addysp
+        .import ucase_fn
 .endif
-       .export __sysremove
+        .export __sysremove
 
-.proc  __sysremove
+.proc   __sysremove
 
-       pha                     ; save input parameter
-       txa
-       pha
+        pha                     ; save input parameter
+        txa
+        pha
 
-       jsr     findfreeiocb
-       beq     iocbok          ; we found one
+        jsr     findfreeiocb
+        beq     iocbok          ; we found one
 
-       pla
-       pla                     ; fix up stack
+        pla
+        pla                     ; fix up stack
 
-       lda     #TMOF           ; too many open files
-       rts
+        lda     #TMOF           ; too many open files
+        rts
 
-iocbok:        stx     tmp4            ; remember IOCB index
-       pla
-       tax
-       pla                     ; get argument again
+iocbok: stx     tmp4            ; remember IOCB index
+        pla
+        tax
+        pla                     ; get argument again
 
-.ifdef UCASE_FILENAME
+.ifdef  UCASE_FILENAME
 
-       jsr     ucase_fn
-       bcc     ucok1
+        jsr     ucase_fn
+        bcc     ucok1
 
-       lda     #183            ; see oserror.s
-       rts
+        lda     #183            ; see oserror.s
+        rts
 ucok1:
 
-.endif ; defined UCASE_FILENAME
+.endif  ; defined UCASE_FILENAME
 
-       ldy     tmp4            ; IOCB index
-       sta     ICBAL,y         ; store pointer to filename
-       txa
-       sta     ICBAH,y
-       tya
-       tax
-       lda     #DELETE
-       sta     ICCOM,x
-       lda     #0
-       sta     ICAX1,x
-       sta     ICAX2,x
-       sta     ICBLL,x
-       sta     ICBLH,x
-       jsr     CIOV
+        ldy     tmp4            ; IOCB index
+        sta     ICBAL,y         ; store pointer to filename
+        txa
+        sta     ICBAH,y
+        tya
+        tax
+        lda     #DELETE
+        sta     ICCOM,x
+        lda     #0
+        sta     ICAX1,x
+        sta     ICAX2,x
+        sta     ICBLL,x
+        sta     ICBLH,x
+        jsr     CIOV
 
-.ifdef UCASE_FILENAME
-       tya
-       pha
-       ldy     tmp3            ; get size
-       jsr     addysp          ; free used space on the stack
-       pla
-       tay
-.endif ; defined UCASE_FILENAME
+.ifdef  UCASE_FILENAME
+        tya
+        pha
+        ldy     tmp3            ; get size
+        jsr     addysp          ; free used space on the stack
+        pla
+        tay
+.endif  ; defined UCASE_FILENAME
 
-       bmi     cioerr
-       lda     #0
-       rts
-cioerr:        tya
-       rts
+        bmi     cioerr
+        lda     #0
+        rts
+cioerr: tya
+        rts
 
-.endproc       ; __sysremove
+.endproc        ; __sysremove
index d3b2cf3f1db1b172f0f98df87c3bdf851c45500a..9c057ba44ea7b8a98f38e5f17104a6cc00041d52 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char __fastcall__ _sysrmdir (const char* name);
 ;
 
-       .export         __sysrmdir
-       .import         __sysremove
+        .export         __sysrmdir
+        .import         __sysremove
 
 __sysrmdir := __sysremove
index 1d039e80e0ac43fc79e4baa583a12bc17b8894a3..d22b8c596c8dff2f4624405b064373c8d7e20663 100644 (file)
@@ -9,7 +9,7 @@
 ;  */
 ;
 
-       .export         __systime
+        .export         __systime
 
         .importzp       sreg
 
index a7da93b97ce5e31776932ac0265504e5c7cd973c..10271b7f014cbd02342d88a5b7c708a82184498b 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 10
+        grmode = 10
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 9
+        colors = 9
 ; Pixels per byte
-       ppb = 2
+        ppb = 2
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0330                          ; based on 4/3 display
+        aspect = $0330                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 7147
+        mem_needed = 7147
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11110000, %00001111
-       masks:                                  ; Color masks
-               .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00001111, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96, $68, $C4, $74, $EE, $4A
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11110000, %00001111
+        masks:                                  ; Color masks
+                .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00001111, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96, $68, $C4, $74, $EE, $4A
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       sta     PCOLR0,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        sta     PCOLR0,y
+        dey
+        bpl     loop
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 2e2dfd842601c7cf9e49996005146d6b20f735dc..74b7db3b9ffb0427ca67cc8f1a8dc20b22e5eb8f 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 11
+        grmode = 11
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 16
+        colors = 16
 ; Pixels per byte
-       ppb = 2
+        ppb = 2
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0330                          ; based on 4/3 display
+        aspect = $0330                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 7147
+        mem_needed = 7147
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11110000, %00001111
-       masks:                                  ; Color masks
-               .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00001111, %00000000
-       default_palette:
-               .byte   $00, $10, $20, $30, $40, $50, $60, $70, $80, $90, $A0, $B0, $C0, $D0, $E0, $F0
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11110000, %00001111
+        masks:                                  ; Color masks
+                .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00001111, %00000000
+        default_palette:
+                .byte   $00, $10, $20, $30, $40, $50, $60, $70, $80, $90, $A0, $B0, $C0, $D0, $E0, $F0
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; No palettes
+        ; No palettes
         lda     #TGI_ERR_INV_FUNC
         sta     error
         rts
index ebd243067a6992b21a5bbb41cc446c117978ecc3..e0ae9b57934440a248862aebda5d896c6f98b202 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 14
+        grmode = 14
 ; X resolution
-       x_res = 160
+        x_res = 160
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 2
+        colors = 2
 ; Pixels per byte
-       ppb = 8
+        ppb = 8
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0198                          ; based on 4/3 display
+        aspect = $0198                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 3305
+        mem_needed = 3305
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
-       masks:                                  ; Color masks
-               .byte   %00000000, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
-       default_palette:
-               .byte   $00, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
+        masks:                                  ; Color masks
+                .byte   %00000000, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
+        default_palette:
+                .byte   $00, $0E
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 08497db3761745554918d59cb6c3f9448dc9c3c6..d1b85f39a00e7cb47f51147a5dd6632dff4c7cc3 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 15
+        grmode = 15
 ; X resolution
-       x_res = 160
+        x_res = 160
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 4
+        colors = 4
 ; Pixels per byte
-       ppb = 4
+        ppb = 4
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0198                          ; based on 4/3 display
+        aspect = $0198                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 7147
+        mem_needed = 7147
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11000000, %00110000, %00001100, %00000011
-       masks:                                  ; Color masks
-               .byte   %00000000, %01010101, %10101010, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00111111, %00001111, %00000011, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11000000, %00110000, %00001100, %00000011
+        masks:                                  ; Color masks
+                .byte   %00000000, %01010101, %10101010, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00111111, %00001111, %00000011, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
-       lda     palette + 2
-       sta     COLOR1
-       lda     palette + 3
-       sta     COLOR2
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
+        lda     palette + 2
+        sta     COLOR1
+        lda     palette + 3
+        sta     COLOR2
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 24dca69de5d7a3ea76e97ef31db67ed81a98a441..7cacc185b7b2eb16c4bff1e0c0aaaeca7d08be98 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 3
+        grmode = 3
 ; X resolution
-       x_res = 40
+        x_res = 40
 ; Y resolution
-       y_res = 24
+        y_res = 24
 ; Number of colors
-       colors = 4
+        colors = 4
 ; Pixels per byte
-       ppb = 4
+        ppb = 4
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 1
+        mem_needed = 1
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11000000, %00110000, %00001100, %00000011
-       masks:                                  ; Color masks
-               .byte   %00000000, %01010101, %10101010, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00111111, %00001111, %00000011, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11000000, %00110000, %00001100, %00000011
+        masks:                                  ; Color masks
+                .byte   %00000000, %01010101, %10101010, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00111111, %00001111, %00000011, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
-       lda     palette + 2
-       sta     COLOR1
-       lda     palette + 3
-       sta     COLOR2
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
+        lda     palette + 2
+        sta     COLOR1
+        lda     palette + 3
+        sta     COLOR2
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 785e742e5367c7c0cc5343ff3a815fe3da75b961..a37ec2fa3dcba84f0e418025f4aedc083e1a79ec 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 4
+        grmode = 4
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 48
+        y_res = 48
 ; Number of colors
-       colors = 2
+        colors = 2
 ; Pixels per byte
-       ppb = 8
+        ppb = 8
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 1
+        mem_needed = 1
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
-       masks:                                  ; Color masks
-               .byte   %00000000, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
-       default_palette:
-               .byte   $00, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
+        masks:                                  ; Color masks
+                .byte   %00000000, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
+        default_palette:
+                .byte   $00, $0E
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index c8c699753d8e7ba81ae7a170d02bd07eb4c0be21..cf917d573cc68e5dcf1e440509075c2ddee16fca 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 5
+        grmode = 5
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 48
+        y_res = 48
 ; Number of colors
-       colors = 4
+        colors = 4
 ; Pixels per byte
-       ppb = 4
+        ppb = 4
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 185
+        mem_needed = 185
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11000000, %00110000, %00001100, %00000011
-       masks:                                  ; Color masks
-               .byte   %00000000, %01010101, %10101010, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00111111, %00001111, %00000011, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11000000, %00110000, %00001100, %00000011
+        masks:                                  ; Color masks
+                .byte   %00000000, %01010101, %10101010, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00111111, %00001111, %00000011, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
-       lda     palette + 2
-       sta     COLOR1
-       lda     palette + 3
-       sta     COLOR2
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
+        lda     palette + 2
+        sta     COLOR1
+        lda     palette + 3
+        sta     COLOR2
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 091b698d426475e1cd6b3fa04ee7c87b768c40ec..be9f6b7792cbd3df79970df34df753b083b97525 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 6
+        grmode = 6
 ; X resolution
-       x_res = 160
+        x_res = 160
 ; Y resolution
-       y_res = 96
+        y_res = 96
 ; Number of colors
-       colors = 2
+        colors = 2
 ; Pixels per byte
-       ppb = 8
+        ppb = 8
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 1193
+        mem_needed = 1193
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
-       masks:                                  ; Color masks
-               .byte   %00000000, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
-       default_palette:
-               .byte   $00, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
+        masks:                                  ; Color masks
+                .byte   %00000000, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
+        default_palette:
+                .byte   $00, $0E
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 95a05d4e86fb87064c57f635dfcf63ea83464b31..6e9d49acbb0d1b677fc483bf25cbbb6005585621 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 7
+        grmode = 7
 ; X resolution
-       x_res = 160
+        x_res = 160
 ; Y resolution
-       y_res = 96
+        y_res = 96
 ; Number of colors
-       colors = 4
+        colors = 4
 ; Pixels per byte
-       ppb = 4
+        ppb = 4
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 3209
+        mem_needed = 3209
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11000000, %00110000, %00001100, %00000011
-       masks:                                  ; Color masks
-               .byte   %00000000, %01010101, %10101010, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00111111, %00001111, %00000011, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11000000, %00110000, %00001100, %00000011
+        masks:                                  ; Color masks
+                .byte   %00000000, %01010101, %10101010, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00111111, %00001111, %00000011, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
-       lda     palette + 2
-       sta     COLOR1
-       lda     palette + 3
-       sta     COLOR2
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
+        lda     palette + 2
+        sta     COLOR1
+        lda     palette + 3
+        sta     COLOR2
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index fe97a5a0a157d7efb995e0a5efbd8862d727b132..7d2a638631951ec3b6f9eea67ced96c0fe5c4ca2 100644 (file)
@@ -4,77 +4,77 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 8
+        grmode = 8
 ; X resolution
-       x_res = 320
+        x_res = 320
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 2
+        colors = 2
 ; Pixels per byte
-       ppb = 8
+        ppb = 8
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 7147
+        mem_needed = 7147
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
-       masks:                                  ; Color masks
-               .byte   %00000000, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
-       default_palette:
-               .byte   $00, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
+        masks:                                  ; Color masks
+                .byte   %00000000, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
+        default_palette:
+                .byte   $00, $0E
 .code
 
 ; ******************************************************************************
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR2
-       lda     palette + 1
-       sta     COLOR1
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR2
+        lda     palette + 1
+        sta     COLOR1
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 38e23702a4b2d8b1f3b535c3b1ba6f8f7a69f39f..41c783de13f72847a0c8afde2c63b26982ce9be4 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 9
+        grmode = 9
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 16
+        colors = 16
 ; Pixels per byte
-       ppb = 2
+        ppb = 2
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0330                          ; based on 4/3 display
+        aspect = $0330                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 7147
+        mem_needed = 7147
 ; Number of screen pages
-       pages = 1
+        pages = 1
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11110000, %00001111
-       masks:                                  ; Color masks
-               .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00001111, %00000000
-       default_palette:
-               .byte   $00, $0F, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11110000, %00001111
+        masks:                                  ; Color masks
+                .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00001111, %00000000
+        default_palette:
+                .byte   $00, $0F, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; No palettes
+        ; No palettes
         lda     #TGI_ERR_INV_FUNC
         sta     error
         rts
index 9e9f74aa4ddb9e1443b60a491a7557839bc61ea3..9190fe8c80acb1ed660ed539831a722180bc6fb9 100644 (file)
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Header. Includes jump table and constants.
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Header. Includes jump table and constants.
+        ;
+        ; ----------------------------------------------------------------------
 
 .segment        "JUMPTABLE"
 
 ; Header
 
-       .byte   $74, $67, $69           ; "tgi"
-       .byte   TGI_API_VERSION         ; TGI API version number
-       .word   x_res                   ; X resolution
-       .word   y_res                   ; Y resolution
-       .byte   colors                  ; Number of drawing colors
-       .byte   pages                   ; Number of screens available
-       .byte   8                       ; System font X size
-       .byte   8                       ; System font Y size
-       .word   aspect                  ; Aspect ratio
+        .byte   $74, $67, $69           ; "tgi"
+        .byte   TGI_API_VERSION         ; TGI API version number
+        .word   x_res                   ; X resolution
+        .word   y_res                   ; Y resolution
+        .byte   colors                  ; Number of drawing colors
+        .byte   pages                   ; Number of screens available
+        .byte   8                       ; System font X size
+        .byte   8                       ; System font Y size
+        .word   aspect                  ; Aspect ratio
         .byte   0                       ; TGI driver flags
 
 ; Function table
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   INIT
-       .addr   DONE
-       .addr   GETERROR
-       .addr   CONTROL
-       .addr   CLEAR
-       .addr   SETVIEWPAGE
-       .addr   SETDRAWPAGE
-       .addr   SETCOLOR
-       .addr   SETPALETTE
-       .addr   GETPALETTE
-       .addr   GETDEFPALETTE
-       .addr   SETPIXEL
-       .addr   GETPIXEL
-       .addr   LINE
-       .addr   BAR
-       .addr   TEXTSTYLE
-       .addr   OUTTEXT
-       .addr   0                       ; IRQ entry is unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   INIT
+        .addr   DONE
+        .addr   GETERROR
+        .addr   CONTROL
+        .addr   CLEAR
+        .addr   SETVIEWPAGE
+        .addr   SETDRAWPAGE
+        .addr   SETCOLOR
+        .addr   SETPALETTE
+        .addr   GETPALETTE
+        .addr   GETDEFPALETTE
+        .addr   SETPIXEL
+        .addr   GETPIXEL
+        .addr   LINE
+        .addr   BAR
+        .addr   TEXTSTYLE
+        .addr   OUTTEXT
+        .addr   0                       ; IRQ entry is unused
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Parameters
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Parameters
+        ;
+        ; ----------------------------------------------------------------------
 
-       x1      := ptr1
-       y1      := ptr2
-       x2      := ptr3
-       y2      := ptr4
-       radius  := tmp1
+        x1      := ptr1
+        y1      := ptr2
+        x2      := ptr3
+        y2      := ptr4
+        radius  := tmp1
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Global variables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Global variables
+        ;
+        ; ----------------------------------------------------------------------
 
-       sptr    := regsave + 2
+        sptr    := regsave + 2
 
 .bss
-       error:
-               .res    1       ; Error code
+        error:
+                .res    1       ; Error code
 
 .if ::grmode = 9 || ::grmode = 11
-       palette = default_palette
+        palette = default_palette
 .else
-       palette:
-               .res    colors  ; The current palette
+        palette:
+                .res    colors  ; The current palette
 .endif
 
-       mask:
-               .res    1       ; Current pixel mask
-       griocb:
-               .res    1       ; IOCB channel number for graphics
+        mask:
+                .res    1       ; Current pixel mask
+        griocb:
+                .res    1       ; IOCB channel number for graphics
 
 .if pages = 2
-       p0scr:
-               .res    1       ; High byte of screen address for screen page 0
-       p0dls:
-               .res    1       ; High byte of display list address for screen page 0
-                               ; Page 1's addresses are 8K higher
+        p0scr:
+                .res    1       ; High byte of screen address for screen page 0
+        p0dls:
+                .res    1       ; High byte of display list address for screen page 0
+                                ; Page 1's addresses are 8K higher
 .endif
 
 .data
-       mag_x:
-               .byte   1       ; Horizontal text scaling factor
-       mag_y:
-               .byte   1       ; Vertical text scaling factor
-       mag_x8:
-               .word   8       ; Horizontal text scaling factor * 8
-       mag_y8:
-               .word   8       ; Vertical text scaling factor * 8
-       text_dir:
-               .byte   0       ; Text direction,
+        mag_x:
+                .byte   1       ; Horizontal text scaling factor
+        mag_y:
+                .byte   1       ; Vertical text scaling factor
+        mag_x8:
+                .word   8       ; Horizontal text scaling factor * 8
+        mag_y8:
+                .word   8       ; Vertical text scaling factor * 8
+        text_dir:
+                .byte   0       ; Text direction,
 
 .code
 
 ; ******************************************************************************
 
-.macro put_pixel
+.macro  put_pixel
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Put a pixel at (sptr),y using x as the bit mask offset
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Put a pixel at (sptr),y using x as the bit mask offset
+        ;
+        ; ----------------------------------------------------------------------
 
-       lda     (sptr),y
-       eor     mask
-       and     mask_table,x
-       eor     (sptr),y
-       sta     (sptr),y
+        lda     (sptr),y
+        eor     mask
+        and     mask_table,x
+        eor     (sptr),y
+        sta     (sptr),y
 .endmacro
 
 ; ******************************************************************************
 
 .rodata
 screen_device:
-       .byte "S:",$9B          ; Device code for screen
+        .byte "S:",$9B          ; Device code for screen
 screen_device_length := * - screen_device
 
 .code
 
 .proc INIT
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; INIT: Switch to graphics mode
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; INIT: Switch to graphics mode
+        ;
+        ; ----------------------------------------------------------------------
 
 
 .code
-       ; Initialize drawing color
+        ; Initialize drawing color
 
 .if ::ppb = 8
-       ldx     #$FF
+        ldx     #$FF
 .elseif ::ppb = 4
-       ldx     #$55
+        ldx     #$55
 .elseif ::ppb = 2
-       ldx     #$11
+        ldx     #$11
 .endif
 
-       stx     mask
+        stx     mask
 
-       ; Find a free IOCB
-       lda     #$70
+        ; Find a free IOCB
+        lda     #$70
 search: tax
-       ldy     ICHID,x
-       cpy     #$FF
-       beq     found
-       sub     #$10
-       bcs     search
-
-       ; Not enough resources available (free IOCB or memory)
-       ; enter with C cleared!
-nores: lda     #TGI_ERR_NO_RES
-       bcc     exit
-
-found: ; Check if enough RAM is available
-       lda     #0
-       sub     #<mem_needed
-       tay
-       lda     RAMTOP
-       sbc     #>mem_needed
-       cmp     APPMHI + 1
-       bcc     nores
-       bne     switch
-       cpy     APPMHI
-       bcc     nores                   ; not enough memory
-
-       ; Switch into graphics mode
-switch:        lda     #OPEN
-       sta     ICCOM,x
-       lda     #OPNIN | OPNOT
-       sta     ICAX1,x
-       lda     #::grmode
-       sta     ICAX2,x
-       lda     #<screen_device
-       sta     ICBAL,x
-       lda     #>screen_device
-       sta     ICBAH,x
-       lda     #<screen_device_length
-       sta     ICBLL,x
-       lda     #>screen_device_length
-       sta     ICBLH,x
-       jsr     CIOV
+        ldy     ICHID,x
+        cpy     #$FF
+        beq     found
+        sub     #$10
+        bcs     search
+
+        ; Not enough resources available (free IOCB or memory)
+        ; enter with C cleared!
+nores:  lda     #TGI_ERR_NO_RES
+        bcc     exit
+
+found:  ; Check if enough RAM is available
+        lda     #0
+        sub     #<mem_needed
+        tay
+        lda     RAMTOP
+        sbc     #>mem_needed
+        cmp     APPMHI + 1
+        bcc     nores
+        bne     switch
+        cpy     APPMHI
+        bcc     nores                   ; not enough memory
+
+        ; Switch into graphics mode
+switch: lda     #OPEN
+        sta     ICCOM,x
+        lda     #OPNIN | OPNOT
+        sta     ICAX1,x
+        lda     #::grmode
+        sta     ICAX2,x
+        lda     #<screen_device
+        sta     ICBAL,x
+        lda     #>screen_device
+        sta     ICBAH,x
+        lda     #<screen_device_length
+        sta     ICBLL,x
+        lda     #>screen_device_length
+        sta     ICBLH,x
+        jsr     CIOV
 
 .if ::pages = 2
-       ; Reserve 8K of high memory
-       lda     RAMTOP
-       sub     #32
-       sta     RAMTOP
-       ; Close and reopen graphics
-       lda     #CLOSE
-       sta     ICCOM,x
-       jsr     CIOV
-       ; Reopen graphics
-       lda     #OPEN
-       sta     ICCOM,x
-       lda     #OPNIN | OPNOT
-       sta     ICAX1,x
-       lda     #::grmode
-       sta     ICAX2,x
-       lda     #<screen_device
-       sta     ICBAL,x
-       lda     #>screen_device
-       sta     ICBAH,x
-       lda     #<screen_device_length
-       sta     ICBLL,x
-       lda     #>screen_device_length
-       sta     ICBLH,x
-       jsr     CIOV
-       ; Save screen pointers
-       lda     SAVMSC + 1
-       sta     p0scr
-       lda     SDLSTH
-       sta     p0dls
+        ; Reserve 8K of high memory
+        lda     RAMTOP
+        sub     #32
+        sta     RAMTOP
+        ; Close and reopen graphics
+        lda     #CLOSE
+        sta     ICCOM,x
+        jsr     CIOV
+        ; Reopen graphics
+        lda     #OPEN
+        sta     ICCOM,x
+        lda     #OPNIN | OPNOT
+        sta     ICAX1,x
+        lda     #::grmode
+        sta     ICAX2,x
+        lda     #<screen_device
+        sta     ICBAL,x
+        lda     #>screen_device
+        sta     ICBAH,x
+        lda     #<screen_device_length
+        sta     ICBLL,x
+        lda     #>screen_device_length
+        sta     ICBLH,x
+        jsr     CIOV
+        ; Save screen pointers
+        lda     SAVMSC + 1
+        sta     p0scr
+        lda     SDLSTH
+        sta     p0dls
 .endif ; ::pages = 2
 
-       stx     griocb
+        stx     griocb
 
-       ; Reset the error code and return
+        ; Reset the error code and return
         lda     #TGI_ERR_OK
-exit:  sta     error
+exit:   sta     error
         rts
 .endproc
 
@@ -247,109 +247,109 @@ exit:   sta     error
 
 .proc DONE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; DONE: Switch back to text mode
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; DONE: Switch back to text mode
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
 
 .if ::pages = 2
-       ; Free 8K of high memory
-       lda     RAMTOP
-       add     #32
-       sta     RAMTOP
+        ; Free 8K of high memory
+        lda     RAMTOP
+        add     #32
+        sta     RAMTOP
 .endif
 
-       ; Clear griocb
-       lda     #$FF
-       ldx     griocb
-       sta     griocb
-
-       ; Close the S: device
-       lda     #CLOSE
-       sta     ICCOM,x
-       jsr     CIOV
-
-       ; Reopen it in Graphics 0
-       lda     #OPEN
-       sta     ICCOM,x
-       lda     #OPNIN | OPNOT
-       sta     ICAX1,x
-       lda     #0
-       sta     ICAX2,x
-       lda     #<screen_device
-       sta     ICBAL,x
-       lda     #>screen_device
-       sta     ICBAH,x
-       lda     #<screen_device_length
-       sta     ICBLL,x
-       lda     #>screen_device_length
-       sta     ICBLH,x
-       jsr     CIOV
-
-       ; Now close it again; we don't need it anymore :)
-       lda     #CLOSE
-       sta     ICCOM,x
-       jmp     CIOV
+        ; Clear griocb
+        lda     #$FF
+        ldx     griocb
+        sta     griocb
+
+        ; Close the S: device
+        lda     #CLOSE
+        sta     ICCOM,x
+        jsr     CIOV
+
+        ; Reopen it in Graphics 0
+        lda     #OPEN
+        sta     ICCOM,x
+        lda     #OPNIN | OPNOT
+        sta     ICAX1,x
+        lda     #0
+        sta     ICAX2,x
+        lda     #<screen_device
+        sta     ICBAL,x
+        lda     #>screen_device
+        sta     ICBAH,x
+        lda     #<screen_device_length
+        sta     ICBLL,x
+        lda     #>screen_device_length
+        sta     ICBLH,x
+        jsr     CIOV
+
+        ; Now close it again; we don't need it anymore :)
+        lda     #CLOSE
+        sta     ICCOM,x
+        jmp     CIOV
 .endproc
 
 ; ******************************************************************************
 
 .proc GETERROR
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; GETERROR: Return the error code in A and clear it
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; GETERROR: Return the error code in A and clear it
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ldx     #TGI_ERR_OK
-       lda     error
-       stx     error
-       rts
+        ldx     #TGI_ERR_OK
+        lda     error
+        stx     error
+        rts
 .endproc
 
 ; ******************************************************************************
 
 .proc CLEAR
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; CLEAR: Clear the screen
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; CLEAR: Clear the screen
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Load the screen address in sptr
-       lda     SAVMSC
-       sta     sptr
-       lda     SAVMSC + 1
-       sta     sptr + 1
+        ; Load the screen address in sptr
+        lda     SAVMSC
+        sta     sptr
+        lda     SAVMSC + 1
+        sta     sptr + 1
 
-       ; Fill with zero
-       lda     #0
-       tay
+        ; Fill with zero
+        lda     #0
+        tay
 
 .if >::scrsize > 0
-       ; Clear full pages if any
-       ldx     #>::scrsize
-loop1: sta     (sptr),y
-       iny
-       bne     loop1
-       inc     sptr + 1
-       dex
-       bne     loop1
+        ; Clear full pages if any
+        ldx     #>::scrsize
+loop1:  sta     (sptr),y
+        iny
+        bne     loop1
+        inc     sptr + 1
+        dex
+        bne     loop1
 .endif
 
 .if <::scrsize > 0
-       ; Clear the rest, if any
-loop2: sta     (sptr),y
-       iny
-       cpy     #<::scrsize
-       bne     loop2
+        ; Clear the rest, if any
+loop2:  sta     (sptr),y
+        iny
+        cpy     #<::scrsize
+        bne     loop2
 .endif
 
         rts
@@ -359,11 +359,11 @@ loop2:    sta     (sptr),y
 
 .proc GETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; GETPALETTE: Return the current palette in A/X
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; GETPALETTE: Return the current palette in A/X
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
         lda     #<palette
@@ -375,11 +375,11 @@ loop2:    sta     (sptr),y
 
 .proc GETDEFPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; GETDEFPALETTE: Return the default palette in A/X
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; GETDEFPALETTE: Return the default palette in A/X
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
         lda     #<default_palette
@@ -391,210 +391,210 @@ loop2:  sta     (sptr),y
 
 .proc SETCOLOR
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETCOLOR: Set the drawing color (in A)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETCOLOR: Set the drawing color (in A)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       tax
+        tax
 
 .if ::grmode = 9
-       ; Map colors like this: 0 -> 0, 1 -> 15, 2 -> 1, 3 -> 2 etc.
-       beq     cont
-       cpx     #1
-       bne     map
-       ldx     #16
-map:   dex
+        ; Map colors like this: 0 -> 0, 1 -> 15, 2 -> 1, 3 -> 2 etc.
+        beq     cont
+        cpx     #1
+        bne     map
+        ldx     #16
+map:    dex
 cont:
 .endif
 
-       lda     masks,x
-       sta     mask
-       rts
+        lda     masks,x
+        sta     mask
+        rts
 .endproc
 
 ; ******************************************************************************
 
 .proc CALC
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; CALC: Calculate the screen address
-       ;       in
-       ;               x1 (ptr1)       x coordinate
-       ;               y1 (ptr2)       y coordinate
-       ;       out
-       ;               sptr + y        screen address
-       ;               x               bit mask index
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; CALC: Calculate the screen address
+        ;       in
+        ;               x1 (ptr1)       x coordinate
+        ;               y1 (ptr2)       y coordinate
+        ;       out
+        ;               sptr + y        screen address
+        ;               x               bit mask index
+        ;
+        ; ----------------------------------------------------------------------
 
 .bss
-       temp:   .res    1
+        temp:   .res    1
 .code
-       ; calculate line offset
-       lda     y1 + 1
-       sta     temp
-       lda     y1
+        ; calculate line offset
+        lda     y1 + 1
+        sta     temp
+        lda     y1
 
 .if ::x_res / ::ppb = 40
-       yrep = 3
+        yrep = 3
 .elseif ::x_res / ::ppb = 20
-       yrep = 2
+        yrep = 2
 .elseif ::x_res / ::ppb = 10
-       yrep = 1
+        yrep = 1
 .endif
 
-.repeat        yrep
-       asl     a
-       rol     temp
+.repeat yrep
+        asl     a
+        rol     temp
 .endrepeat
 
-       sta     sptr
-       ldx     temp
-       stx     sptr + 1
+        sta     sptr
+        ldx     temp
+        stx     sptr + 1
 
-.repeat        2
-         asl   a
-         rol   temp
+.repeat 2
+          asl   a
+          rol   temp
 .endrepeat
 
-       add     sptr
-       sta     sptr
-       lda     temp
-       adc     sptr + 1
-       sta     sptr + 1
+        add     sptr
+        sta     sptr
+        lda     temp
+        adc     sptr + 1
+        sta     sptr + 1
 
-       ; calculate bit mask offset
-       lda     x1
-       and     #ppb - 1
-       tax
+        ; calculate bit mask offset
+        lda     x1
+        and     #ppb - 1
+        tax
 
-       ; calculate row offset
-       lda     x1 + 1
-       sta     temp
-       lda     x1
+        ; calculate row offset
+        lda     x1 + 1
+        sta     temp
+        lda     x1
 
 .if ::ppb = 8
-       xrep = 3
+        xrep = 3
 .elseif ::ppb = 4
-       xrep = 2
+        xrep = 2
 .elseif ::ppb = 2
-       xrep = 1
+        xrep = 1
 .endif
 
-.repeat        xrep
-       lsr     temp
-       ror     a
+.repeat xrep
+        lsr     temp
+        ror     a
 .endrepeat
 
-       tay
+        tay
 
-       ; sptr += SAVMSC
-       lda     SAVMSC
-       add     sptr
-       sta     sptr
-       lda     SAVMSC + 1
-       adc     sptr + 1
-       sta     sptr + 1
+        ; sptr += SAVMSC
+        lda     SAVMSC
+        add     sptr
+        sta     sptr
+        lda     SAVMSC + 1
+        adc     sptr + 1
+        sta     sptr + 1
 
-       ; We're done!
-       rts
+        ; We're done!
+        rts
 .endproc
 
 ; ******************************************************************************
 
 .proc SETPIXEL
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Draw one pixel at x1, y1
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Draw one pixel at x1, y1
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       jsr     CALC
-       put_pixel
-       rts
+        jsr     CALC
+        put_pixel
+        rts
 .endproc
 
 ; ******************************************************************************
 
 .proc GETPIXEL
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; GETPIXEL: Read the color value of a pixel and return it in A/X
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; GETPIXEL: Read the color value of a pixel and return it in A/X
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       jsr     CALC
-       lda     (sptr),y
-       and     mask_table,x
+        jsr     CALC
+        lda     (sptr),y
+        and     mask_table,x
 
 .if ::ppb = 8
-       beq     zero
-       lda     #1
-zero:  ldx     #0
-       rts
+        beq     zero
+        lda     #1
+zero:   ldx     #0
+        rts
 .elseif ::ppb = 4
-loop:  cpx     #3
-       beq     done4
-       lsr     a
-       lsr     a
-       inx
-       bne     loop
-done4: and     #$03
-       ldx     #0
-       rts
+loop:   cpx     #3
+        beq     done4
+        lsr     a
+        lsr     a
+        inx
+        bne     loop
+done4:  and     #$03
+        ldx     #0
+        rts
 .elseif ::ppb = 2
-       dex
-       bne     shift
-       and     #$0F
-       jmp     exit
-shift: lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
+        dex
+        bne     shift
+        and     #$0F
+        jmp     exit
+shift:  lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
 
 exit:
 
 .if ::grmode = 9
-       ; Mode 9 mapping
-       ; Map colors like this: 0 -> 0, 15 -> 1, 2 -> 3, 3 -> 4 etc.
-       beq     done9
-       cmp     #15
-       bne     map9
-       lda     #0
-map9:  add     #1
+        ; Mode 9 mapping
+        ; Map colors like this: 0 -> 0, 15 -> 1, 2 -> 3, 3 -> 4 etc.
+        beq     done9
+        cmp     #15
+        bne     map9
+        lda     #0
+map9:   add     #1
 done9:
 .endif
 
 .if ::grmode = 10
-       ; Mode 10 mapping
-       ; Map out of range colors like this:
-       ;  9 -> 8
-       ; 10 -> 8
-       ; 11 -> 8
-       ; 12 -> 0
-       ; 13 -> 1
-       ; 14 -> 2
-       ; 15 -> 3
-       cmp     #9
-       bcc     done10
-       sub     #12
-       bcs     done10
-       lda     #8
+        ; Mode 10 mapping
+        ; Map out of range colors like this:
+        ;  9 -> 8
+        ; 10 -> 8
+        ; 11 -> 8
+        ; 12 -> 0
+        ; 13 -> 1
+        ; 14 -> 2
+        ; 15 -> 3
+        cmp     #9
+        bcc     done10
+        sub     #12
+        bcs     done10
+        lda     #8
 done10:
 .endif ; ::grmode = 10
 
-       ; Done!
-       ldx     #0
-       rts
-.endif ; ::ppb = 2
+        ; Done!
+        ldx     #0
+        rts
+.endif  ; ::ppb = 2
 
 .endproc
 
@@ -602,422 +602,422 @@ done10:
 
 .proc LINE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; LINE: Draw a line from x1,y1 to x2,y2
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; LINE: Draw a line from x1,y1 to x2,y2
+        ;
+        ; ----------------------------------------------------------------------
 
 .ifdef USE_CIO_LINE
 
-       ; position ptr1, ptr2
-       lda     x1
-       sta     OLDCOL
-       lda     x1 + 1
-       sta     OLDCOL + 1
-       lda     y1
-       sta     OLDROW
-       ; plot
-       jsr     SETPIXEL
-       ; position ptr3,ptr4
-       lda     x2
-       sta     COLCRS
-       lda     x2 + 1
-       sta     COLCRS + 1
-       lda     y2
-       sta     ROWCRS
-       ; drawto
-       ldx     griocb
-       lda     #DRAWLN
-       sta     ICCOM,x
-       lda     mask
+        ; position ptr1, ptr2
+        lda     x1
+        sta     OLDCOL
+        lda     x1 + 1
+        sta     OLDCOL + 1
+        lda     y1
+        sta     OLDROW
+        ; plot
+        jsr     SETPIXEL
+        ; position ptr3,ptr4
+        lda     x2
+        sta     COLCRS
+        lda     x2 + 1
+        sta     COLCRS + 1
+        lda     y2
+        sta     ROWCRS
+        ; drawto
+        ldx     griocb
+        lda     #DRAWLN
+        sta     ICCOM,x
+        lda     mask
 
 .if ::grmode = 10
-       and     #$0f
+        and     #$0f
 .else
-       and     #colors - 1
+        and     #colors - 1
 .endif
 
-       sta     ATACHR
-       jmp     CIOV
+        sta     ATACHR
+        jmp     CIOV
 
-.else  ; USE_CIO_LINE
+.else   ; USE_CIO_LINE
 
 ; locals
 
-       dx      :=      sreg
-       dy      :=      y1
-       dx2     :=      x2
-       dy2     :=      y2
-       iy      :=      tmp1
-       err     :=      tmp3
+        dx      :=      sreg
+        dy      :=      y1
+        dx2     :=      x2
+        dy2     :=      y2
+        iy      :=      tmp1
+        err     :=      tmp3
 
 .code
-       ; dx = x2 - x1
-       lda     x2
-       sub     x1
-       sta     dx
-       lda     x2 + 1
-       sbc     x1 + 1
-       sta     dx + 1
-       ; if dx is positive, no problem
-       bcs     dx_positive
-
-       ; if dx is negative, swap x1,y1 with x2,y2
-       lda     x1      ; x1 <-> x2, low byte
-       ldx     x2
-       sta     x2
-       stx     x1
-       lda     x1 + 1  ; x1 <-> x2, high byte
-       ldx     x2 + 1
-       sta     x2 + 1
-       stx     x1 + 1
-       lda     y1      ; y1 <-> y2, low byte
-       ldx     y2
-       sta     y2
-       stx     y1
-       lda     y1 + 1  ; y1 <-> y2, high byte
-       ldx     y2 + 1
-       sta     y2 + 1
-       stx     y1 + 1
-       ; Calculate again
-       jmp     LINE
+        ; dx = x2 - x1
+        lda     x2
+        sub     x1
+        sta     dx
+        lda     x2 + 1
+        sbc     x1 + 1
+        sta     dx + 1
+        ; if dx is positive, no problem
+        bcs     dx_positive
+
+        ; if dx is negative, swap x1,y1 with x2,y2
+        lda     x1      ; x1 <-> x2, low byte
+        ldx     x2
+        sta     x2
+        stx     x1
+        lda     x1 + 1  ; x1 <-> x2, high byte
+        ldx     x2 + 1
+        sta     x2 + 1
+        stx     x1 + 1
+        lda     y1      ; y1 <-> y2, low byte
+        ldx     y2
+        sta     y2
+        stx     y1
+        lda     y1 + 1  ; y1 <-> y2, high byte
+        ldx     y2 + 1
+        sta     y2 + 1
+        stx     y1 + 1
+        ; Calculate again
+        jmp     LINE
 
 dx_positive:
-       ; Calculate coords
-       jsr     CALC
-
-       ; dy = y2 - y1
-       lda     y2
-       sub     y1
-       sta     dy
-       lda     y2 + 1
-       sbc     y1 + 1
-       sta     dy + 1
-
-       ; if dy is negative
-       bcs     dy_positive
-       ; dy = -dy
-       lda     #0
-       sub     dy
-       sta     dy
-       lda     #0
-       sbc     dy + 1
-       sta     dy + 1
-       ; iy = -row_size
-       lda     #<(65536 - x_res / ppb)
-       sta     iy
-       lda     #>(65536 - x_res / ppb)
-       sta     iy + 1
-       bne     skip_iy_1               ; always
+        ; Calculate coords
+        jsr     CALC
+
+        ; dy = y2 - y1
+        lda     y2
+        sub     y1
+        sta     dy
+        lda     y2 + 1
+        sbc     y1 + 1
+        sta     dy + 1
+
+        ; if dy is negative
+        bcs     dy_positive
+        ; dy = -dy
+        lda     #0
+        sub     dy
+        sta     dy
+        lda     #0
+        sbc     dy + 1
+        sta     dy + 1
+        ; iy = -row_size
+        lda     #<(65536 - x_res / ppb)
+        sta     iy
+        lda     #>(65536 - x_res / ppb)
+        sta     iy + 1
+        bne     skip_iy_1               ; always
 
 dy_positive:
-       ; iy = row_size
-       lda     #<(x_res / ppb)
-       sta     iy
-       lda     #>(x_res / ppb)
-       sta     iy + 1
+        ; iy = row_size
+        lda     #<(x_res / ppb)
+        sta     iy
+        lda     #>(x_res / ppb)
+        sta     iy + 1
 skip_iy_1:
 
-       ; dx2 = dx * 2
-       lda     dx
-       asl     a
-       sta     dx2
-       lda     dx + 1
-       rol     a
-       sta     dx2 + 1
-
-       ; dy2 = dy * 2
-       lda     dy
-       asl     a
-       sta     dy2
-       lda     dy + 1
-       rol     a
-       sta     dy2 + 1
-
-       ; if dx >= dy
-       lda     dx
-       cmp     dy
-       lda     dx + 1
-       sbc     dy + 1
-       bcc     dy_major
-
-       ; dx is the major axis
-
-       ; err = dy2 - dx
-       lda     dy2
-       sub     dx
-       sta     err
-       lda     dy2 + 1
-       sbc     dx + 1
-       sta     err + 1
-
-       .scope
-loop:  ; main loop
-       put_pixel
-       ; if err >= 0
-       lda     err + 1
-       bmi     err_neg
-       ; err -= dx2
-       lda     err
-       sub     dx2
-       sta     err
-       lda     err + 1
-       sbc     dx2 + 1
-       sta     err + 1
-       ; move_vertical (iy)
-       lda     sptr
-       add     iy
-       sta     sptr
-       lda     sptr + 1
-       adc     iy + 1
-       sta     sptr + 1
+        ; dx2 = dx * 2
+        lda     dx
+        asl     a
+        sta     dx2
+        lda     dx + 1
+        rol     a
+        sta     dx2 + 1
+
+        ; dy2 = dy * 2
+        lda     dy
+        asl     a
+        sta     dy2
+        lda     dy + 1
+        rol     a
+        sta     dy2 + 1
+
+        ; if dx >= dy
+        lda     dx
+        cmp     dy
+        lda     dx + 1
+        sbc     dy + 1
+        bcc     dy_major
+
+        ; dx is the major axis
+
+        ; err = dy2 - dx
+        lda     dy2
+        sub     dx
+        sta     err
+        lda     dy2 + 1
+        sbc     dx + 1
+        sta     err + 1
+
+        .scope
+loop:   ; main loop
+        put_pixel
+        ; if err >= 0
+        lda     err + 1
+        bmi     err_neg
+        ; err -= dx2
+        lda     err
+        sub     dx2
+        sta     err
+        lda     err + 1
+        sbc     dx2 + 1
+        sta     err + 1
+        ; move_vertical (iy)
+        lda     sptr
+        add     iy
+        sta     sptr
+        lda     sptr + 1
+        adc     iy + 1
+        sta     sptr + 1
 err_neg:
-       ; err += dy2
-       lda     err
-       add     dy2
-       sta     err
-       lda     err + 1
-       adc     dy2 + 1
-       sta     err + 1
-       ; move_right
-       inx
-       cpx     #ppb
-       bne     end_move
-       ldx     #0
-       iny
-       bne     end_move
-       inc     sptr + 1
+        ; err += dy2
+        lda     err
+        add     dy2
+        sta     err
+        lda     err + 1
+        adc     dy2 + 1
+        sta     err + 1
+        ; move_right
+        inx
+        cpx     #ppb
+        bne     end_move
+        ldx     #0
+        iny
+        bne     end_move
+        inc     sptr + 1
 end_move:
-       ; loop while dx-- >= 0
-       lda     dx
-       ora     dx + 1
-       beq     exit
-       dec     dx
-       lda     dx
-       cmp     #$FF
-       bne     loop
-       dec     dx + 1
-       jmp     loop
-exit:  rts
-       .endscope
+        ; loop while dx-- >= 0
+        lda     dx
+        ora     dx + 1
+        beq     exit
+        dec     dx
+        lda     dx
+        cmp     #$FF
+        bne     loop
+        dec     dx + 1
+        jmp     loop
+exit:   rts
+        .endscope
 
 dy_major:
-       ; dy is the major axis
-
-       ; err = dx2 - dy;
-       lda     dx2
-       sub     dy
-       sta     err
-       lda     dx2 + 1
-       sbc     dy + 1
-       sta     err + 1
-
-       .scope
-loop:  ; main loop
-       put_pixel
-       ; if err >= 0
-       lda     err + 1
-       bmi     end_move
-       ; err -= dy2
-       lda     err
-       sub     dy2
-       sta     err
-       lda     err + 1
-       sbc     dy2 + 1
-       sta     err + 1
-       ; move_right
-       inx
-       cpx     #ppb
-       bne     end_move
-       ldx     #0
-       iny
-       bne     end_move
-       inc     sptr + 1
+        ; dy is the major axis
+
+        ; err = dx2 - dy;
+        lda     dx2
+        sub     dy
+        sta     err
+        lda     dx2 + 1
+        sbc     dy + 1
+        sta     err + 1
+
+        .scope
+loop:   ; main loop
+        put_pixel
+        ; if err >= 0
+        lda     err + 1
+        bmi     end_move
+        ; err -= dy2
+        lda     err
+        sub     dy2
+        sta     err
+        lda     err + 1
+        sbc     dy2 + 1
+        sta     err + 1
+        ; move_right
+        inx
+        cpx     #ppb
+        bne     end_move
+        ldx     #0
+        iny
+        bne     end_move
+        inc     sptr + 1
 end_move:
-       ; err += dx2
-       lda     err
-       add     dx2
-       sta     err
-       lda     err + 1
-       adc     dx2 + 1
-       sta     err + 1
-       ; move_vertical(iy)
-       lda     sptr
-       add     iy
-       sta     sptr
-       lda     sptr + 1
-       adc     iy + 1
-       sta     sptr + 1
-       ; loop while dy-- >= 0
-       lda     dy
-       ora     dy + 1
-       beq     exit
-       dec     dy
-       lda     dy
-       cmp     #$FF
-       bne     loop
-       dec     dy + 1
-       jmp     loop
-exit:  rts
-       .endscope
-.endif ; USE_CIO_LINE
+        ; err += dx2
+        lda     err
+        add     dx2
+        sta     err
+        lda     err + 1
+        adc     dx2 + 1
+        sta     err + 1
+        ; move_vertical(iy)
+        lda     sptr
+        add     iy
+        sta     sptr
+        lda     sptr + 1
+        adc     iy + 1
+        sta     sptr + 1
+        ; loop while dy-- >= 0
+        lda     dy
+        ora     dy + 1
+        beq     exit
+        dec     dy
+        lda     dy
+        cmp     #$FF
+        bne     loop
+        dec     dy + 1
+        jmp     loop
+exit:   rts
+        .endscope
+.endif  ; USE_CIO_LINE
 .endproc
 
 ; ******************************************************************************
 
 .proc clipped_bar
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Clip and draw bar, this function will disappear when text clipping
-       ; will be done int the TGI kernel
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Clip and draw bar, this function will disappear when text clipping
+        ; will be done int the TGI kernel
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       lda     y1 + 1
-       bne     off
-       lda     y1
-       cmp     #y_res
-       bcs     off
+        lda     y1 + 1
+        bne     off
+        lda     y1
+        cmp     #y_res
+        bcs     off
 
-       lda     x1 + 1
+        lda     x1 + 1
 
 .if >(::x_res - 1) > 0
-       cmp     #>x_res
-       bcc     check2
+        cmp     #>x_res
+        bcc     check2
 .endif
 
-       bne     off
-       lda     x1
-       cmp     #<x_res
-       bcc     check2
-off:   rts
+        bne     off
+        lda     x1
+        cmp     #<x_res
+        bcc     check2
+off:    rts
 
-check2:        lda     y2 + 1
-       bne     off
-       lda     y2
-       cmp     #y_res
-       bcs     off
+check2: lda     y2 + 1
+        bne     off
+        lda     y2
+        cmp     #y_res
+        bcs     off
 
-       lda     x2 + 1
+        lda     x2 + 1
 
 .if >(::x_res - 1) > 0
-       cmp     #>x_res
-       bcc     BAR
+        cmp     #>x_res
+        bcc     BAR
 .endif
 
-       bne     off
-       lda     x2
-       cmp     #<x_res
-       bcs     off
+        bne     off
+        lda     x2
+        cmp     #<x_res
+        bcs     off
 .endproc
 
 ; ******************************************************************************
 
 .proc BAR
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; BAR: Draw a filled rectangle with the corners at x1,y1,x2,y2
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; BAR: Draw a filled rectangle with the corners at x1,y1,x2,y2
+        ;
+        ; ----------------------------------------------------------------------
 
 ; locals
-       lmem    := sreg
+        lmem    := sreg
 .bss
-       lmask:  .res 1
-       rmask:  .res 1
-       dy:     .res 1
-       dx:     .res 1
-       fmask:  .res 1
+        lmask:  .res 1
+        rmask:  .res 1
+        dy:     .res 1
+        dx:     .res 1
+        fmask:  .res 1
 .code
-       ; dy = y2 - y1 + 1
-       lda     y2
-       sub     y1
-       sta     dy
-       inc     dy
-       ; Calculate upper left corner
-       jsr     CALC
-       ; Save the values
-       tya
-       add     sptr
-       sta     lmem
-       lda     sptr + 1
-       adc     #0
-       sta     lmem + 1
-       lda     bar_table,x
-       sta     lmask
-       ; Calculate upper right corner
-       lda     x2
-       sta     x1
+        ; dy = y2 - y1 + 1
+        lda     y2
+        sub     y1
+        sta     dy
+        inc     dy
+        ; Calculate upper left corner
+        jsr     CALC
+        ; Save the values
+        tya
+        add     sptr
+        sta     lmem
+        lda     sptr + 1
+        adc     #0
+        sta     lmem + 1
+        lda     bar_table,x
+        sta     lmask
+        ; Calculate upper right corner
+        lda     x2
+        sta     x1
 
 .if >(::x_res - 1) > 0
-       lda     x2 + 1
-       sta     x1 + 1
+        lda     x2 + 1
+        sta     x1 + 1
 .endif
 
-       jsr     CALC
-       ; Save the values
-       tya
-       add     sptr
-       sta     sptr
-       bcc     skips
-       inc     sptr + 1
-skips: inx
-       lda     bar_table,x
-       eor     #$FF
-       sta     rmask
-       ; Calculate memory difference between x1 and x2
-       lda     sptr
-       sub     lmem
-       sta     dx
-loop:  ; Main loop
-       ldy     #0
-       ldx     dx
-       beq     same
-       ; Left
-       lda     (lmem),y
-       eor     mask
-       and     lmask
-       eor     (lmem),y
-       sta     (lmem),y
-       iny
-       ; Between
-       lda     mask
-       jmp     next
-btwn:  sta     (lmem),y
-       iny
-next:  dex
-       bne     btwn
-       ; Right
-       lda     (lmem),y
-       eor     mask
-       and     rmask
-       eor     (lmem),y
-       sta     (lmem),y
-       jmp     cont
-same:  ; Same byte
-       lda     lmask
-       and     rmask
-       sta     fmask
-       lda     (lmem),y
-       eor     mask
-       and     fmask
-       eor     (lmem),y
-       sta     (lmem),y
-cont:  ; Go to next row
-       lda     lmem
-       add     #<(x_res / ppb)
-       sta     lmem
-       bcc     skipm
-       inc     lmem + 1
-skipm: ; Loop while --dy > 0
-       dec     dy
-       bne     loop
-
-       rts
+        jsr     CALC
+        ; Save the values
+        tya
+        add     sptr
+        sta     sptr
+        bcc     skips
+        inc     sptr + 1
+skips:  inx
+        lda     bar_table,x
+        eor     #$FF
+        sta     rmask
+        ; Calculate memory difference between x1 and x2
+        lda     sptr
+        sub     lmem
+        sta     dx
+loop:   ; Main loop
+        ldy     #0
+        ldx     dx
+        beq     same
+        ; Left
+        lda     (lmem),y
+        eor     mask
+        and     lmask
+        eor     (lmem),y
+        sta     (lmem),y
+        iny
+        ; Between
+        lda     mask
+        jmp     next
+btwn:   sta     (lmem),y
+        iny
+next:   dex
+        bne     btwn
+        ; Right
+        lda     (lmem),y
+        eor     mask
+        and     rmask
+        eor     (lmem),y
+        sta     (lmem),y
+        jmp     cont
+same:   ; Same byte
+        lda     lmask
+        and     rmask
+        sta     fmask
+        lda     (lmem),y
+        eor     mask
+        and     fmask
+        eor     (lmem),y
+        sta     (lmem),y
+cont:   ; Go to next row
+        lda     lmem
+        add     #<(x_res / ppb)
+        sta     lmem
+        bcc     skipm
+        inc     lmem + 1
+skipm:  ; Loop while --dy > 0
+        dec     dy
+        bne     loop
+
+        rts
 
 .endproc
 
@@ -1025,378 +1025,378 @@ skipm:        ; Loop while --dy > 0
 
 .proc TEXTSTYLE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; TEXTSTYLE: Set text style. Scale factors in X and Y and direction in A
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; TEXTSTYLE: Set text style. Scale factors in X and Y and direction in A
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       stx     mag_x
-       sty     mag_y
-       ; Save text direction in bit 8 so that we can use BIT instruction later
-       lsr     a
-       ror     a
-       sta     text_dir
-       ; Save 8 * scaling factors
-       lda     #0
-       sta     mag_x8 + 1
-       sta     mag_y8 + 1
-       ; Save 8 * mag_x
-       txa
-
-       .repeat 3
-       asl     a
-       rol     mag_x8 + 1
-       .endrepeat
-
-       sta     mag_x8
-       ; Save 8 * mag_y
-       tya
-
-       .repeat 3
-       asl     a
-       rol     mag_y8 + 1
-       .endrepeat
-
-       sta     mag_y8
-       ; Done!
-       rts
+        stx     mag_x
+        sty     mag_y
+        ; Save text direction in bit 8 so that we can use BIT instruction later
+        lsr     a
+        ror     a
+        sta     text_dir
+        ; Save 8 * scaling factors
+        lda     #0
+        sta     mag_x8 + 1
+        sta     mag_y8 + 1
+        ; Save 8 * mag_x
+        txa
+
+        .repeat 3
+        asl     a
+        rol     mag_x8 + 1
+        .endrepeat
+
+        sta     mag_x8
+        ; Save 8 * mag_y
+        tya
+
+        .repeat 3
+        asl     a
+        rol     mag_y8 + 1
+        .endrepeat
+
+        sta     mag_y8
+        ; Done!
+        rts
 .endproc
 
 ; ******************************************************************************
 
 .proc OUTTEXT
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; OUTTEXT: Draw text at x1, y1. String is in ptr3
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; OUTTEXT: Draw text at x1, y1. String is in ptr3
+        ;
+        ; ----------------------------------------------------------------------
 
 ; locals
-       string  := tmp1
-       cols    := tmp3
-       pixels  := tmp4
-       font    := regsave
+        string  := tmp1
+        cols    := tmp3
+        pixels  := tmp4
+        font    := regsave
 .rodata
-       ataint: .byte   64,0,32,96
+        ataint: .byte   64,0,32,96
 .bss
-       rows:   .res    1
+        rows:   .res    1
 
 .if >(::x_res - 1) > 0
-       oldx1:  .res    2
-       oldx2:  .res    2
+        oldx1:  .res    2
+        oldx2:  .res    2
 .else
-       oldx1:  .res    1
-       oldx2:  .res    1
+        oldx1:  .res    1
+        oldx2:  .res    1
 .endif
 
-       oldy1:  .res    1
-       oldy2:  .res    1
-       inv:    .res    1
+        oldy1:  .res    1
+        oldy2:  .res    1
+        inv:    .res    1
 
 .code
-       ; Don't draw zero sized characters
-       lda     mag_x
-       ora     mag_y
-       bne     not0
-       rts
-
-not0:  ; Save string address, ptr3 is needed by BAR
-       lda     ptr3
-       sta     string
-       lda     ptr3 + 1
-       sta     string + 1
-
-       bit     text_dir
-       bmi     vert
-
-       ; Calculate x2
-       lda     mag_x
-       sub     #1
-       add     x1
-       sta     x2
+        ; Don't draw zero sized characters
+        lda     mag_x
+        ora     mag_y
+        bne     not0
+        rts
+
+not0:   ; Save string address, ptr3 is needed by BAR
+        lda     ptr3
+        sta     string
+        lda     ptr3 + 1
+        sta     string + 1
+
+        bit     text_dir
+        bmi     vert
+
+        ; Calculate x2
+        lda     mag_x
+        sub     #1
+        add     x1
+        sta     x2
 
 .if >(::x_res - 1) > 0
-       lda     x1 + 1
-       adc     #0
-       sta     x2 + 1
+        lda     x1 + 1
+        adc     #0
+        sta     x2 + 1
 .else
-       lda     #0
-       sta     x2 + 1
+        lda     #0
+        sta     x2 + 1
 .endif
 
-       ; Calculate y2 and adjust y1
-       dec     y1
-       lda     y1
-       sta     y2
-       sub     mag_y
-       add     #1
-       sta     y1
-       lda     #0
-       sta     y2 + 1
-
-       jmp     while
-
-       ; Calculate for vertical text
-vert:  lda     x1
-       sub     #1
-       sta     x2
-       lda     x1 + 1
-       sbc     #0
-       sta     x2 + 1
-       lda     x1
-       sub     mag_y
-       sta     x1
-       lda     x1 + 1
-       sbc     #0
-       sta     x1 + 1
-
-       lda     mag_x
-       sub     #1
-       add     y1
-       sta     y2
-       lda     #0
-       sta     y2 + 1
-       jmp     while
-
-       ; Main loop
-loop:  inc     string
-       bne     skiph
-       inc     string + 1
-skiph: ; Save coords
-       bit     text_dir
-       bmi     scvert
-
-       ldx     y1
-       stx     oldy1
-       ldx     y2
-       stx     oldy2
-       jmp     draw
-
-scvert:        ldx     x1
-       stx     oldx1
-       ldx     x2
-       stx     oldx2
+        ; Calculate y2 and adjust y1
+        dec     y1
+        lda     y1
+        sta     y2
+        sub     mag_y
+        add     #1
+        sta     y1
+        lda     #0
+        sta     y2 + 1
+
+        jmp     while
+
+        ; Calculate for vertical text
+vert:   lda     x1
+        sub     #1
+        sta     x2
+        lda     x1 + 1
+        sbc     #0
+        sta     x2 + 1
+        lda     x1
+        sub     mag_y
+        sta     x1
+        lda     x1 + 1
+        sbc     #0
+        sta     x1 + 1
+
+        lda     mag_x
+        sub     #1
+        add     y1
+        sta     y2
+        lda     #0
+        sta     y2 + 1
+        jmp     while
+
+        ; Main loop
+loop:   inc     string
+        bne     skiph
+        inc     string + 1
+skiph:  ; Save coords
+        bit     text_dir
+        bmi     scvert
+
+        ldx     y1
+        stx     oldy1
+        ldx     y2
+        stx     oldy2
+        jmp     draw
+
+scvert: ldx     x1
+        stx     oldx1
+        ldx     x2
+        stx     oldx2
 
 .if >(::x_res - 1) > 0
-       ldx     x1 + 1
-       stx     oldx1 + 1
-       ldx     x2 + 1
-       stx     oldx2 + 1
+        ldx     x1 + 1
+        stx     oldx1 + 1
+        ldx     x2 + 1
+        stx     oldx2 + 1
 .endif
 
-       ; Draw one character
-       ; Convert to ANTIC code
-draw:  tay
-       rol     a
-       rol     a
-       rol     a
-       rol     a
-       and     #3
-       tax
-       tya
-       and     #$9f
-       ora     ataint,x
-       ; Save and clear inverse video bit
-       sta     inv
-       and     #$7F
-       ; Calculate font data address
-       sta     font
-       lda     #0
-       sta     font + 1
-
-       .repeat 3
-       asl     font
-       rol     a
-       .endrepeat
-
-       adc     CHBAS
-       sta     font + 1
-       ; Save old coords
-       bit     text_dir
-       bpl     hor
-       lda     y1
-       sta     oldy1
-       lda     y2
-       sta     oldy2
-       jmp     cont
-hor:   lda     x1
-       sta     oldx1
-       lda     x2
-       sta     oldx2
+        ; Draw one character
+        ; Convert to ANTIC code
+draw:   tay
+        rol     a
+        rol     a
+        rol     a
+        rol     a
+        and     #3
+        tax
+        tya
+        and     #$9f
+        ora     ataint,x
+        ; Save and clear inverse video bit
+        sta     inv
+        and     #$7F
+        ; Calculate font data address
+        sta     font
+        lda     #0
+        sta     font + 1
+
+        .repeat 3
+        asl     font
+        rol     a
+        .endrepeat
+
+        adc     CHBAS
+        sta     font + 1
+        ; Save old coords
+        bit     text_dir
+        bpl     hor
+        lda     y1
+        sta     oldy1
+        lda     y2
+        sta     oldy2
+        jmp     cont
+hor:    lda     x1
+        sta     oldx1
+        lda     x2
+        sta     oldx2
 
 .if >(::x_res - 1) > 0
-       lda     x1 + 1
-       sta     oldx1 + 1
-       lda     x2 + 1
-       sta     oldx2 + 1
+        lda     x1 + 1
+        sta     oldx1 + 1
+        lda     x2 + 1
+        sta     oldx2 + 1
 .endif
 
-       ; Get glyph pixels
-cont:  ldy     #7
-       ; Put one row of the glyph
-putrow:        sty     rows
-       lda     (font),y
-       bit     inv
-       bpl     noinv
-       eor     #$FF
-noinv: sta     pixels
-       lda     #7
-       sta     cols
-       ; Put one column of the row
-putcol:        asl     pixels
-       bcc     next_col
-       lda     x1
-       pha
-       lda     x1 + 1
-       pha
-       jsr     clipped_bar
-       pla
-       sta     x1 + 1
-       pla
-       sta     x1
+        ; Get glyph pixels
+cont:   ldy     #7
+        ; Put one row of the glyph
+putrow: sty     rows
+        lda     (font),y
+        bit     inv
+        bpl     noinv
+        eor     #$FF
+noinv:  sta     pixels
+        lda     #7
+        sta     cols
+        ; Put one column of the row
+putcol: asl     pixels
+        bcc     next_col
+        lda     x1
+        pha
+        lda     x1 + 1
+        pha
+        jsr     clipped_bar
+        pla
+        sta     x1 + 1
+        pla
+        sta     x1
 next_col:
-       ; Go to next column
-       ; increase x coords
-       bit     text_dir
-       bmi     vertinc
-
-       lda     mag_x
-       add     x1
-       sta     x1
-       bcc     L1
-       inc     x1 + 1
-L1:    lda     mag_x
-       add     x2
-       sta     x2
-       bcc     L2
-       inc     x2 + 1
-       jmp     L2
+        ; Go to next column
+        ; increase x coords
+        bit     text_dir
+        bmi     vertinc
+
+        lda     mag_x
+        add     x1
+        sta     x1
+        bcc     L1
+        inc     x1 + 1
+L1:     lda     mag_x
+        add     x2
+        sta     x2
+        bcc     L2
+        inc     x2 + 1
+        jmp     L2
 
 vertinc:
-       lda     y1
-       sub     mag_x
-       sta     y1
-       lda     y2
-       sub     mag_x
-       sta     y2
+        lda     y1
+        sub     mag_x
+        sta     y1
+        lda     y2
+        sub     mag_x
+        sta     y2
 L2:
-       dec     cols
-       bpl     putcol
+        dec     cols
+        bpl     putcol
 next_row:
-       ; Go to next row
-       bit     text_dir
-       bmi     verty
-
-       lda     y1
-       sub     mag_y
-       sta     y1
-       bcs     L3
-       dec     y1 + 1
-L3:    lda     y2
-       sub     mag_y
-       sta     y2
-       bcs     L6
-       dec     y2 + 1
-L4:    jmp     L6
-
-verty: lda     x1
-       sub     mag_y
-       sta     x1
-       bcs     L5
-       dec     x1 + 1
-L5:    lda     x2
-       sub     mag_y
-       sta     x2
-       bcs     L6
-       dec     x2 + 1
+        ; Go to next row
+        bit     text_dir
+        bmi     verty
+
+        lda     y1
+        sub     mag_y
+        sta     y1
+        bcs     L3
+        dec     y1 + 1
+L3:     lda     y2
+        sub     mag_y
+        sta     y2
+        bcs     L6
+        dec     y2 + 1
+L4:     jmp     L6
+
+verty:  lda     x1
+        sub     mag_y
+        sta     x1
+        bcs     L5
+        dec     x1 + 1
+L5:     lda     x2
+        sub     mag_y
+        sta     x2
+        bcs     L6
+        dec     x2 + 1
 L6:
-       ; Restore old values
-       bit     text_dir
-       bpl     reshor
-       lda     oldy1
-       sta     y1
-       lda     oldy2
-       sta     y2
-       jmp     nextrow
-reshor:        lda     oldx1
-       sta     x1
-       lda     oldx2
-       sta     x2
+        ; Restore old values
+        bit     text_dir
+        bpl     reshor
+        lda     oldy1
+        sta     y1
+        lda     oldy2
+        sta     y2
+        jmp     nextrow
+reshor: lda     oldx1
+        sta     x1
+        lda     oldx2
+        sta     x2
 
 .if >(::x_res - 1) > 0
-       lda     oldx1 + 1
-       sta     x1 + 1
-       lda     oldx2 + 1
-       sta     x2 + 1
+        lda     oldx1 + 1
+        sta     x1 + 1
+        lda     oldx2 + 1
+        sta     x2 + 1
 .endif
 
-       ; Next row
+        ; Next row
 nextrow:
-       ldy     rows
-       dey
-       jpl     putrow
-
-       ; Restore coords
-       bit     text_dir
-       bmi     resvert
-
-       ldx     oldy1
-       stx     y1
-       ldx     oldy2
-       stx     y2
-       ldx     #0
-       stx     y1 + 1
-       stx     y2 + 1
-
-       lda     mag_x8
-       add     x1
-       sta     x1
-       lda     mag_x8 + 1
-       adc     x1 + 1
-       sta     x1 + 1
-       lda     mag_x8
-       add     x2
-       sta     x2
-       lda     mag_x8 + 1
-       adc     x2 + 1
-       sta     x2 + 1
-
-       jmp     while
+        ldy     rows
+        dey
+        jpl     putrow
+
+        ; Restore coords
+        bit     text_dir
+        bmi     resvert
+
+        ldx     oldy1
+        stx     y1
+        ldx     oldy2
+        stx     y2
+        ldx     #0
+        stx     y1 + 1
+        stx     y2 + 1
+
+        lda     mag_x8
+        add     x1
+        sta     x1
+        lda     mag_x8 + 1
+        adc     x1 + 1
+        sta     x1 + 1
+        lda     mag_x8
+        add     x2
+        sta     x2
+        lda     mag_x8 + 1
+        adc     x2 + 1
+        sta     x2 + 1
+
+        jmp     while
 
 resvert:
-       ldx     oldx1
-       stx     x1
-       ldx     oldx2
-       stx     x2
+        ldx     oldx1
+        stx     x1
+        ldx     oldx2
+        stx     x2
 
 .if >(::x_res - 1) > 0
-       ldx     oldx1 + 1
-       stx     x1 + 1
-       ldx     oldx2 + 1
-       stx     x2 + 1
+        ldx     oldx1 + 1
+        stx     x1 + 1
+        ldx     oldx2 + 1
+        stx     x2 + 1
 .endif
 
-       lda     y1
-       sub     mag_x8
-       sta     y1
-       lda     y1 +1
-       sbc     mag_x8 + 1
-       sta     y1 + 1
-       lda     y2
-       sub     mag_x8
-       sta     y2
-       lda     y2 +1
-       sbc     mag_x8 + 1
-       sta     y2 + 1
-
-       ; End of loop
-while: ldy     #0
-       lda     (string),y
-       jne     loop            ; Check for null character
-       rts
+        lda     y1
+        sub     mag_x8
+        sta     y1
+        lda     y1 +1
+        sbc     mag_x8 + 1
+        sta     y1 + 1
+        lda     y2
+        sub     mag_x8
+        sta     y2
+        lda     y2 +1
+        sbc     mag_x8 + 1
+        sta     y2 + 1
+
+        ; End of loop
+while:  ldy     #0
+        lda     (string),y
+        jne     loop            ; Check for null character
+        rts
 
 .endproc
 
@@ -1405,72 +1405,72 @@ while:  ldy     #0
 
 .proc SETVIEWPAGE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETVIEWPAGE, page in A
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETVIEWPAGE, page in A
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       tax
-       beq     cont
-       lda     #32
+        tax
+        beq     cont
+        lda     #32
 
-cont:  add     p0dls
-       cmp     SDLSTH
-       beq     done            ; We're already in the desired page
+cont:   add     p0dls
+        cmp     SDLSTH
+        beq     done            ; We're already in the desired page
 
-       ldx     RTCLOK + 2
-       sta     SDLSTH
+        ldx     RTCLOK + 2
+        sta     SDLSTH
 
-       ; Wait until next VBLANK
-wait:  cpx     RTCLOK + 2
-       beq     wait
+        ; Wait until next VBLANK
+wait:   cpx     RTCLOK + 2
+        beq     wait
 
-       ; Done
-done:  rts
+        ; Done
+done:   rts
 .endproc
 
 ; ******************************************************************************
 
 .proc SETDRAWPAGE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETDRAWPAGE, page in A
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETDRAWPAGE, page in A
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       tax
-       beq     cont
-       lda     #32
-cont:  add     p0scr
-       sta     SAVMSC + 1
-       rts
+        tax
+        beq     cont
+        lda     #32
+cont:   add     p0scr
+        sta     SAVMSC + 1
+        rts
 .endproc
 .endif
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Unimplemented functions that require an error code
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Unimplemented functions that require an error code
+        ;
+        ; ----------------------------------------------------------------------
 
 CONTROL:
-       lda     #TGI_ERR_INV_FUNC
-       sta     error
-       ; fall through
+        lda     #TGI_ERR_INV_FUNC
+        sta     error
+        ; fall through
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Unimplemented functions that don't require an error code
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Unimplemented functions that don't require an error code
+        ;
+        ; ----------------------------------------------------------------------
 
 INSTALL:
 UNINSTALL:
index e29ff601cb09855f067577f0e70bfce09ce0db17..aa3a6fcee4a8223209ececa18d0825cd7082f5f2 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 10
+        grmode = 10
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 9
+        colors = 9
 ; Pixels per byte
-       ppb = 2
+        ppb = 2
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0330                          ; based on 4/3 display
+        aspect = $0330                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 15339
+        mem_needed = 15339
 ; Number of screen pages
-       pages = 2
+        pages = 2
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11110000, %00001111
-       masks:                                  ; Color masks
-               .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00001111, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96, $68, $C4, $74, $EE, $4A
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11110000, %00001111
+        masks:                                  ; Color masks
+                .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00001111, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96, $68, $C4, $74, $EE, $4A
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       sta     PCOLR0,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        sta     PCOLR0,y
+        dey
+        bpl     loop
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index a3cdd77261d2c71a381fbcc3e443d31cce8a9589..7692d06993d309f73f688c0e969597cff50e644f 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 15
+        grmode = 15
 ; X resolution
-       x_res = 160
+        x_res = 160
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 4
+        colors = 4
 ; Pixels per byte
-       ppb = 4
+        ppb = 4
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0198                          ; based on 4/3 display
+        aspect = $0198                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 15339
+        mem_needed = 15339
 ; Number of screen pages
-       pages = 2
+        pages = 2
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11000000, %00110000, %00001100, %00000011
-       masks:                                  ; Color masks
-               .byte   %00000000, %01010101, %10101010, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00111111, %00001111, %00000011, %00000000
-       default_palette:
-               .byte   $00, $0E, $32, $96
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11000000, %00110000, %00001100, %00000011
+        masks:                                  ; Color masks
+                .byte   %00000000, %01010101, %10101010, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00111111, %00001111, %00000011, %00000000
+        default_palette:
+                .byte   $00, $0E, $32, $96
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR4
-       lda     palette + 1
-       sta     COLOR0
-       lda     palette + 2
-       sta     COLOR1
-       lda     palette + 3
-       sta     COLOR2
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR4
+        lda     palette + 1
+        sta     COLOR0
+        lda     palette + 2
+        sta     COLOR1
+        lda     palette + 3
+        sta     COLOR2
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index 162aa446043da1c25260effe30f3ed2fd681112b..f292f378761e6d2e10399fa1beb9dd654cdad3e4 100644 (file)
@@ -4,77 +4,77 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 8
+        grmode = 8
 ; X resolution
-       x_res = 320
+        x_res = 320
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 2
+        colors = 2
 ; Pixels per byte
-       ppb = 8
+        ppb = 8
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $00CC                          ; based on 4/3 display
+        aspect = $00CC                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 15339
+        mem_needed = 15339
 ; Number of screen pages
-       pages = 2
+        pages = 2
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
-       masks:                                  ; Color masks
-               .byte   %00000000, %11111111
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
-       default_palette:
-               .byte   $00, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %10000000, %01000000, %00100000, %00010000, %00001000, %00000100, %00000010, %00000001
+        masks:                                  ; Color masks
+                .byte   %00000000, %11111111
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %01111111, %00111111, %00011111, %00001111, %00000111, %00000011, %00000001, %00000000
+        default_palette:
+                .byte   $00, $0E
 .code
 
 ; ******************************************************************************
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; Copy the palette
-       ldy     #colors - 1
-loop:  lda     (ptr1),y
-       sta     palette,y
-       dey
-       bpl     loop
+        ; Copy the palette
+        ldy     #colors - 1
+loop:   lda     (ptr1),y
+        sta     palette,y
+        dey
+        bpl     loop
 
-       ; Get the color entries from the palette
-       lda     palette
-       sta     COLOR2
-       lda     palette + 1
-       sta     COLOR1
+        ; Get the color entries from the palette
+        lda     palette
+        sta     COLOR2
+        lda     palette + 1
+        sta     COLOR1
 
-       ; Done, reset the error code
+        ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     error
         rts
index f8418f1128ab141a4be354b76913f6234ad9e006..750df3ad7d636e6f5da403984f3fdb150016ba05 100644 (file)
@@ -4,50 +4,50 @@
 ; Fatih Aygun (2009)
 ;
 
-       .include        "atari.inc"
-       .include        "zeropage.inc"
+        .include        "atari.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ******************************************************************************
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; Constants and tables
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; Constants and tables
+        ;
+        ; ----------------------------------------------------------------------
 
 ; Graphics mode
-       grmode = 9
+        grmode = 9
 ; X resolution
-       x_res = 80
+        x_res = 80
 ; Y resolution
-       y_res = 192
+        y_res = 192
 ; Number of colors
-       colors = 16
+        colors = 16
 ; Pixels per byte
-       ppb = 2
+        ppb = 2
 ; Screen memory size in bytes
-       scrsize = x_res * y_res / ppb
+        scrsize = x_res * y_res / ppb
 ; Pixel aspect ratio
-       aspect = $0330                          ; based on 4/3 display
+        aspect = $0330                          ; based on 4/3 display
 ; Free memory needed
-       mem_needed = 15339
+        mem_needed = 15339
 ; Number of screen pages
-       pages = 2
+        pages = 2
 
 .rodata
-       mask_table:                             ; Mask table to set pixels
-               .byte   %11110000, %00001111
-       masks:                                  ; Color masks
-               .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
-       bar_table:                              ; Mask table for BAR
-               .byte   %11111111, %00001111, %00000000
-       default_palette:
-               .byte   $00, $0F, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E
+        mask_table:                             ; Mask table to set pixels
+                .byte   %11110000, %00001111
+        masks:                                  ; Color masks
+                .byte   $00, $11, $22, $33, $44, $55, $66, $77, $88, $99, $aa, $bb, $cc, $dd, $ee, $ff
+        bar_table:                              ; Mask table for BAR
+                .byte   %11111111, %00001111, %00000000
+        default_palette:
+                .byte   $00, $0F, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0A, $0B, $0C, $0D, $0E
 
 .code
 
 
 .proc SETPALETTE
 
-       ; ----------------------------------------------------------------------
-       ;
-       ; SETPALETTE: Set the palette (in ptr1)
-       ;
-       ; ----------------------------------------------------------------------
+        ; ----------------------------------------------------------------------
+        ;
+        ; SETPALETTE: Set the palette (in ptr1)
+        ;
+        ; ----------------------------------------------------------------------
 
 .code
-       ; No palettes
+        ; No palettes
         lda     #TGI_ERR_INV_FUNC
         sta     error
         rts
index 4dab483e292d0109f3e278a094f0aaaa2b87dd78..6ef3729b40158600c1c4f084c49b5a37c4d3e27e 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $01
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $01
index 015eb631808927259ec6ef4358fad4b1a43e001d..05c570d7a7f2865d19000d24301facf461e6a174 100644 (file)
@@ -6,8 +6,8 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .import        _atari8_tgi
+        .export _tgi_static_stddrv
+        .import _atari8_tgi
 
 .rodata
 
index 219842b08fd099a2745fa24e56e80f1fe0e8dd70..94ced91d4c8b1645ef03f7aad86e24269d659cb3 100644 (file)
@@ -6,8 +6,8 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
-_tgi_stddrv:   .asciiz "atari8.tgi"
+_tgi_stddrv:    .asciiz "atari8.tgi"
index 328f1f486ca490be7a792641bbac422ea85971c3..39de0d7469af3c8f8531763f581bc0af65c93993 100644 (file)
@@ -8,12 +8,12 @@
 .proc _toascii
 
 ; Clear the inverse video bit
-       and     #$7F
+        and     #$7F
 
 ; X must be zero on return
-       ldx     #0
+        ldx     #0
 
 ; Done!
-       rts
+        rts
 
 .endproc
index 84540b898e02f0ab1b56a3633472d9ca76982184..76661bf7261ba29e7709502967330276928c55cd 100644 (file)
@@ -9,18 +9,18 @@
 ;
 
 
-       .include        "atari.inc"
-       .include        "get_tv.inc"
+        .include        "atari.inc"
+        .include        "get_tv.inc"
 
-.proc  _get_tv
+.proc   _get_tv
 
-       ldx     #TV::NTSC       ; Assume NTSC
-       lda     PAL             ; use hw register, PALNTS is only supported on XL/XE ROM
-       and     #$0e
-       bne     @NTSC
-       inx                     ; = TV::PAL
-@NTSC: txa
-       ldx     #0              ; Expand to int
-       rts
+        ldx     #TV::NTSC       ; Assume NTSC
+        lda     PAL             ; use hw register, PALNTS is only supported on XL/XE ROM
+        and     #$0e
+        bne     @NTSC
+        inx                     ; = TV::PAL
+@NTSC:  txa
+        ldx     #0              ; Expand to int
+        rts
 
 .endproc
index 79f16167f6d4e249c29663c2e5af1057c119202b..a32ddce23dbd0dc824b80b0f2afe5b0c1ff9cb1b 100644 (file)
@@ -6,97 +6,97 @@
 ; used by open.s and remove.s
 ;
 ; Calling parameters:
-;      AX   - points to filename
+;       AX   - points to filename
 ; Return parameters:
-;      C    - 0/1 for OK/Error (filename too long)
-;      AX   - points to uppercased version of the filename on the stack
-;      tmp3 - amount of bytes used on the stack (needed for cleanup)
+;       C    - 0/1 for OK/Error (filename too long)
+;       AX   - points to uppercased version of the filename on the stack
+;       tmp3 - amount of bytes used on the stack (needed for cleanup)
 ; Uses:
 ;       ptr4 - scratch pointer used to remember original AX pointer
 ;
 ;
 
-       .include        "atari.inc"
+        .include        "atari.inc"
 
-.ifdef DEFAULT_DEVICE
-       .importzp tmp2
-       .import __defdev
+.ifdef  DEFAULT_DEVICE
+        .importzp tmp2
+        .import __defdev
 .endif
-       .importzp tmp3,ptr4,sp
-       .import subysp,addysp
-       .export ucase_fn
+        .importzp tmp3,ptr4,sp
+        .import subysp,addysp
+        .export ucase_fn
 
 .proc   ucase_fn
 
-       ; we make sure that the filename doesn't contain lowercase letters
-       ; we copy the filename we got onto the stack, uppercase it and use this
-       ; one to open the iocb
-       ; we're using tmp3, ptr4
+        ; we make sure that the filename doesn't contain lowercase letters
+        ; we copy the filename we got onto the stack, uppercase it and use this
+        ; one to open the iocb
+        ; we're using tmp3, ptr4
 
-       ; save the original pointer
-       sta     ptr4
-       stx     ptr4+1
+        ; save the original pointer
+        sta     ptr4
+        stx     ptr4+1
 
-.ifdef DEFAULT_DEVICE
-       ldy     #1
-       sty     tmp2            ; initialize flag: device present in passed string
-       lda     #':'
-       cmp     (ptr4),y
-       beq     hasdev
-       iny
-       cmp     (ptr4),y
-       beq     hasdev
-       sta     tmp2            ; set flag: no device in passed string
+.ifdef  DEFAULT_DEVICE
+        ldy     #1
+        sty     tmp2            ; initialize flag: device present in passed string
+        lda     #':'
+        cmp     (ptr4),y
+        beq     hasdev
+        iny
+        cmp     (ptr4),y
+        beq     hasdev
+        sta     tmp2            ; set flag: no device in passed string
 hasdev:
 .endif
 
-       ldy     #128
-       sty     tmp3            ; save size
-       jsr     subysp          ; make room on the stack
+        ldy     #128
+        sty     tmp3            ; save size
+        jsr     subysp          ; make room on the stack
 
-       ; copy filename to the temp. place on the stack, also uppercasing it
-       ldy     #0
+        ; copy filename to the temp. place on the stack, also uppercasing it
+        ldy     #0
 
-loop2: lda     (ptr4),y
-       sta     (sp),y
-       beq     copy_end
-       bmi     L1              ; Not lowercase (also, invalid, should reject)
-       cmp     #'a'
-       bcc     L1              ; Not lowercase
-       and     #$DF            ; make upper case char, assume ASCII chars
-       sta     (sp),y          ; store back
+loop2:  lda     (ptr4),y
+        sta     (sp),y
+        beq     copy_end
+        bmi     L1              ; Not lowercase (also, invalid, should reject)
+        cmp     #'a'
+        bcc     L1              ; Not lowercase
+        and     #$DF            ; make upper case char, assume ASCII chars
+        sta     (sp),y          ; store back
 L1:
-       iny
-       bpl     loop2           ; bpl: this way we only support a max. length of 127
+        iny
+        bpl     loop2           ; bpl: this way we only support a max. length of 127
 
-       ; Filename too long
-       jsr     addysp          ; restore the stack
-       sec                     ; indicate error
-       rts
+        ; Filename too long
+        jsr     addysp          ; restore the stack
+        sec                     ; indicate error
+        rts
 
 copy_end:
 
-.ifdef DEFAULT_DEVICE
-       lda     tmp2
-       cmp     #1              ; was device present in passed string?
-       beq     hasdev2         ; yes, don't prepend something
+.ifdef  DEFAULT_DEVICE
+        lda     tmp2
+        cmp     #1              ; was device present in passed string?
+        beq     hasdev2         ; yes, don't prepend something
 
-       ldy     #128+3          ; no, prepend "D:" (or other device)
-       sty     tmp3            ; adjust stack size used
-       ldy     #3
-       jsr     subysp          ; adjust stack pointer
-       dey
-cpdev: lda     __defdev,y
-       sta     (sp),y          ; insert device name, number and ':'
-       dey
-       bpl     cpdev
+        ldy     #128+3          ; no, prepend "D:" (or other device)
+        sty     tmp3            ; adjust stack size used
+        ldy     #3
+        jsr     subysp          ; adjust stack pointer
+        dey
+cpdev:  lda     __defdev,y
+        sta     (sp),y          ; insert device name, number and ':'
+        dey
+        bpl     cpdev
 hasdev2:
 .endif
 
-       ; leave A and X pointing to the modified filename
-       lda     sp
-       ldx     sp+1
-       clc                     ; indicate success
-       rts
+        ; leave A and X pointing to the modified filename
+        lda     sp
+        ldx     sp+1
+        clc                     ; indicate success
+        rts
 
 .endproc
index c3e24c50ecd7c528ee3515366aedb966c85543ef..1b72199a28c691faffca9689e9fe28b60d8ae869 100644 (file)
@@ -4,10 +4,10 @@
 ; unsigned char wherex (void);
 ;
 
-       .export  _wherex
-       .include "atari.inc"
+        .export  _wherex
+        .include "atari.inc"
 
 _wherex:
-       lda     COLCRS
-       ldx     #0
-       rts
+        lda     COLCRS
+        ldx     #0
+        rts
index de672b7afed841edf9208f036bde06be57b853c4..f391eec1751b2db0504de52e1e97100538a9166c 100644 (file)
@@ -4,10 +4,10 @@
 ; unsigned char wherey (void);
 ;
 
-       .export  _wherey
-       .include "atari.inc"
+        .export  _wherey
+        .include "atari.inc"
 
 _wherey:
-       lda     ROWCRS
-       ldx     #0
-       rts
+        lda     ROWCRS
+        ldx     #0
+        rts
index 645f0f934b0de712c1019141cdd1de779fe5d6da..1452b2eee66c30938de593dc5a74ae563590accd 100644 (file)
@@ -1,29 +1,29 @@
 ;
 ; int __fastcall__ write (int fd, const void* buf, unsigned count);
 ;
-       .include "atari.inc"
-       .import __rwsetup,__do_oserror,__inviocb,__oserror
-       .export _write
+        .include "atari.inc"
+        .import __rwsetup,__do_oserror,__inviocb,__oserror
+        .export _write
 _write:
-       jsr     __rwsetup       ; do common setup
-       beq     write9          ; if size 0, it's a no-op
-       cpx     #$FF            ; invalid iocb?
-       beq     _inviocb
-       lda     #PUTCHR
-       sta     ICCOM,x
-       jsr     CIOV
-       bpl     write9
-       jmp     __do_oserror    ; update errno
+        jsr     __rwsetup       ; do common setup
+        beq     write9          ; if size 0, it's a no-op
+        cpx     #$FF            ; invalid iocb?
+        beq     _inviocb
+        lda     #PUTCHR
+        sta     ICCOM,x
+        jsr     CIOV
+        bpl     write9
+        jmp     __do_oserror    ; update errno
 
 write9:
-       lda     ICBLL,x         ; get buf len low
-       pha
-       lda     ICBLH,x         ; buf len high
-       tax
-       lda     #0
-       sta     __oserror       ; clear system dependend error code
-       pla
-       rts
+        lda     ICBLL,x         ; get buf len low
+        pha
+        lda     ICBLH,x         ; buf len high
+        tax
+        lda     #0
+        sta     __oserror       ; clear system dependend error code
+        pla
+        rts
 
 _inviocb:
-       jmp     __inviocb
+        jmp     __inviocb
index 24eec248f531a0fe65c7d02a20de8e0699108086..2dd58399dd8cf2d2e62e3aa3d76165c647042857 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
 
 .proc   screensize
 
index 30d67ab93df75fdabe7889b3838617a852280e7c..9e86373f3453879a4cba8e7fcb60a9fbe0d59b51 100644 (file)
@@ -2,24 +2,24 @@
 ; based on code by Twilighte
 ; void __fastcall__ atmos_load(const char* name);
 
-       .export         _atmos_load
-       .import         store_filename
+        .export         _atmos_load
+        .import         store_filename
 
 
-.proc  _atmos_load
+.proc   _atmos_load
 
-       sei
-       jsr     store_filename
-       ldx     #$00
-       stx     $02ad
-       stx     $02ae
-       stx     $025a
-       stx     $025b
-       jsr     cload_bit
-       cli
-       rts
+        sei
+        jsr     store_filename
+        ldx     #$00
+        stx     $02ad
+        stx     $02ae
+        stx     $025a
+        stx     $025b
+        jsr     cload_bit
+        cli
+        rts
 cload_bit:
-       pha
-       jmp     $e874
+        pha
+        jmp     $e874
 
 .endproc
index 7a4e68aaeb3bba53f73fde78023e55e7db9fd857..0bd9e29ccce2dfb3d08c137a92aeefa91ca3dfa3 100644 (file)
@@ -2,27 +2,27 @@
 ; based on code by Twilighte
 ; void __fastcall__ atmos_save(const char* name, const void* start, const void* end);
 
-       .export         _atmos_save
-       .import         popax, store_filename
+        .export         _atmos_save
+        .import         popax, store_filename
 
 
-.proc  _atmos_save
+.proc   _atmos_save
 
-       sei
-       sta     $02ab   ; file end lo
-       stx     $02ac   ; file end hi
-       jsr     popax
-       sta     $02a9   ; file start lo
-       stx     $02aa   ; file start hi
-       jsr     popax
-       jsr     store_filename
-       lda     #00
-       sta     $02ad
-       jsr     csave_bit
-       cli
-       rts
+        sei
+        sta     $02ab   ; file end lo
+        stx     $02ac   ; file end hi
+        jsr     popax
+        sta     $02a9   ; file start lo
+        stx     $02aa   ; file start hi
+        jsr     popax
+        jsr     store_filename
+        lda     #00
+        sta     $02ad
+        jsr     csave_bit
+        cli
+        rts
 csave_bit:
-       php
-       jmp     $e92c
+        php
+        jmp     $e92c
 
 .endproc
index 1076967884e14a840fb01747c79fc1818cc02527..9d356a8abcf46a6015a08737d86842cd5293cf48 100644 (file)
@@ -5,25 +5,25 @@
 ; void cclear (unsigned char length);
 ;
 
-       .export         _cclearxy, _cclear
+        .export         _cclearxy, _cclear
         .import         setscrptr  
         .import         rvs
-       .import         popax
+        .import         popax
         .importzp       ptr2
 
         .include        "atmos.inc"
 
 
 _cclearxy:
-               pha                     ; Save the length
-       jsr     popax           ; Get X and Y
+        pha                     ; Save the length
+        jsr     popax           ; Get X and Y
         sta     CURS_Y          ; Store Y
         stx     CURS_X          ; Store X
-               pla                     ; Restore the length and run into _cclear
+        pla                     ; Restore the length and run into _cclear
 
 _cclear:
-               tax                     ; Is the length zero?
-               beq     @L9             ; Jump if done
+        tax                     ; Is the length zero?
+        beq     @L9             ; Jump if done
         jsr     setscrptr       ; Set ptr2 to screen, won't use X
         lda     #' '       
         ora     rvs
@@ -33,6 +33,6 @@ _cclear:
         inc     ptr2+1          ; Bump high byte of screen pointer
 @L2:    dex
         bne     @L1
-@L9:   rts
+@L9:    rts
 
 
index e6473471906357cccbc7fb57bc49c7e491ebce17..38e7aa873339484857d529b319832dabb0ba219d 100644 (file)
@@ -4,11 +4,11 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
+        .export         _cgetc
         .constructor    initcgetc
-       .import         cursor
+        .import         cursor
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 
 
index 85c7b58d2dad73f231266a90ae7e8a04a13c6413..61d0f394cc6bcbfbcb19318cc3ec27d623b7fff6 100644 (file)
@@ -5,25 +5,25 @@
 ; void chline (unsigned char length);
 ;
 
-       .export         _chlinexy, _chline
+        .export         _chlinexy, _chline
         .import         setscrptr
         .import         rvs
-       .import         popax
+        .import         popax
         .importzp       ptr2
 
         .include        "atmos.inc"
 
 
 _chlinexy:
-               pha                     ; Save the length
-       jsr     popax           ; Get X and Y
+        pha                     ; Save the length
+        jsr     popax           ; Get X and Y
         sta     CURS_Y          ; Store Y
         stx     CURS_X          ; Store X
-               pla                     ; Restore the length and run into _chline
+        pla                     ; Restore the length and run into _chline
 
 _chline:
-               tax                     ; Is the length zero?
-               beq     @L9             ; Jump if done
+        tax                     ; Is the length zero?
+        beq     @L9             ; Jump if done
         jsr     setscrptr       ; Set ptr2 to screen, won't use X
         txa                     ; Length into A
         clc
@@ -37,5 +37,5 @@ _chline:
         inc     ptr2+1          ; Bump high byte of screen pointer
 @L2:    dex
         bne     @L1
-@L9:   rts
+@L9:    rts
 
index 56573a56a4cad0749877a2750cb12cf63f1c602c..4440f557df2b1f9bdddac32d90d666b642931660 100644 (file)
@@ -4,14 +4,14 @@
 ; clock_t clock (void);
 ;
 
-       .export         _clock
+        .export         _clock
         .import         negax
-       .importzp       sreg
+        .importzp       sreg
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 
-.proc  _clock
+.proc   _clock
 
 ; Clear the timer high 16 bits
 
index 4f9a3486aba46bbcd6a1896c26c7b8241381f677..9dce665e97cd427a79c394669f347793d3220cfe 100644 (file)
@@ -2,15 +2,15 @@
 ; Ullrich von Bassewitz, 2003-04-13
 ;
 
-       .export         _clrscr
+        .export         _clrscr
         .importzp       ptr2
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 ; ------------------------------------------------------------------------
 ; void clrscr (void);
 
-.proc  _clrscr
+.proc   _clrscr
 
 ; Set the cursor to top left cursor position
 
index 3a73ee5f22b41ca4c205ab112dfdc23f22ea6e3e..8c9dfba9efef56f2cfa5ca841fa657707a6c4dfb 100644 (file)
@@ -6,13 +6,13 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
+        .export         _textcolor, _bgcolor, _bordercolor
         .import         return0, return1
 
-_textcolor     = return1
+_textcolor      = return1
 
-_bgcolor       = return0
+_bgcolor        = return0
 
-_bordercolor   = return0
+_bordercolor    = return0
 
 
index 6d4f17bdb8c10bcafe61b38318ace5052f2e6715..9f65be500387e188e6c9f056bd7f97bfe495e9c1 100644 (file)
@@ -5,34 +5,34 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc
-       .export         setscrptr, putchar
+        .export         _cputcxy, _cputc
+        .export         setscrptr, putchar
         .import         rvs
-       .import         popax
+        .import         popax
         .importzp       ptr2
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popax           ; Get X and Y
+        pha                     ; Save C
+        jsr     popax           ; Get X and Y
         sta     CURS_Y          ; Store Y
         stx     CURS_X          ; Store X
-       pla                     ; Restore C
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0D            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X          ; Carriage return
+_cputc: cmp     #$0D            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X          ; Carriage return
         rts
 
-L1:    cmp     #$0A            ; LF?
-               bne     output
-        inc    CURS_Y          ; Newline
-       rts
+L1:     cmp     #$0A            ; LF?
+        bne     output
+        inc     CURS_Y          ; Newline
+        rts
 
 ; Output the character, then advance the cursor position
 
@@ -40,13 +40,13 @@ output:
         jsr     putchar
 
 advance:
-       iny
-       cpy     #40
-       bne     L3
-               inc     CURS_Y          ; new line
-       ldy     #0              ; + cr
-L3:    sty     CURS_X
-       rts
+        iny
+        cpy     #40
+        bne     L3
+        inc     CURS_Y          ; new line
+        ldy     #0              ; + cr
+L3:     sty     CURS_X
+        rts
 
 ; ------------------------------------------------------------------------
 ; Set ptr2 to the screen, load the X offset into Y
@@ -59,7 +59,7 @@ L3:   sty     CURS_X
         sta     ptr2
         lda     ScrTabHi,y      ; Get high byte of line address
         sta     ptr2+1
-               ldy     CURS_X          ; Get X offset
+        ldy     CURS_X          ; Get X offset
         rts
 
 .endproc
@@ -71,12 +71,12 @@ L3: sty     CURS_X
 .code
 .proc   putchar
 
-               ora     rvs             ; Set revers bit
+        ora     rvs             ; Set revers bit
         pha                     ; And save
         jsr     setscrptr       ; Set ptr2 to the screen
         pla                     ; Restore the character
-               sta     (ptr2),y        ; Set char
-               rts
+        sta     (ptr2),y        ; Set char
+        rts
 
 .endproc
 
index d88e4c3ff58e34f90b3a965852ce3a2f1801ee54..1588cbec028ad75c3fa3a55d41b8e504c8464d2b 100644 (file)
 ; By Debrune Jérôme <jede@oric.org> and Ullrich von Bassewitz <uz@cc65.org>
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib
-       .import         callmain, zerobss
-       .import         __RAM_START__, __RAM_SIZE__
-       .import         __ZPSAVE_LOAD__, __STACKSIZE__
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .import         initlib, donelib
+        .import         callmain, zerobss
+        .import         __RAM_START__, __RAM_SIZE__
+        .import         __ZPSAVE_LOAD__, __STACKSIZE__
 
-       .include        "zeropage.inc"
-       .include        "atmos.inc"
+        .include        "zeropage.inc"
+        .include        "atmos.inc"
 
 ; ------------------------------------------------------------------------
 ; Oric tape header
 
-.segment       "TAPEHDR"
+.segment        "TAPEHDR"
 
-       .byte   $16, $16, $16   ; Sync bytes
-       .byte   $24             ; End of header marker
+        .byte   $16, $16, $16   ; Sync bytes
+        .byte   $24             ; End of header marker
 
-       .byte   $00                             ; $2B0
-       .byte   $00                             ; $2AF
-       .byte   $80                             ; $2AE Machine code flag
-       .byte   $C7                             ; $2AD Autoload flag
-       .dbyt   __ZPSAVE_LOAD__ - 1             ; $2AB
-       .dbyt   __RAM_START__                   ; $2A9
-       .byte   $00                             ; $2A8
-       .byte   ((.VERSION >> 8) & $0F) + '0'
-       .byte   ((.VERSION >> 4) & $0F) + '0'
-       .byte   (.VERSION & $0F) + '0'
-       .byte   $00                             ; Zero terminated compiler version
+        .byte   $00                             ; $2B0
+        .byte   $00                             ; $2AF
+        .byte   $80                             ; $2AE Machine code flag
+        .byte   $C7                             ; $2AD Autoload flag
+        .dbyt   __ZPSAVE_LOAD__ - 1             ; $2AB
+        .dbyt   __RAM_START__                   ; $2A9
+        .byte   $00                             ; $2A8
+        .byte   ((.VERSION >> 8) & $0F) + '0'
+        .byte   ((.VERSION >> 4) & $0F) + '0'
+        .byte   (.VERSION & $0F) + '0'
+        .byte   $00                             ; Zero terminated compiler version
 
 ; ------------------------------------------------------------------------
 ; Place the startup code in a special segment.
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 ; Save the zero page area we're about to use
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x        ; Save the zero page locations we need
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x        ; Save the zero page locations we need
+        dex
+        bpl     L1
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Unprotect columns 0 and 1
 
-       lda     STATUS
-       sta     stsave
-       and     #%11011111
-       sta     STATUS
+        lda     STATUS
+        sta     stsave
+        and     #%11011111
+        sta     STATUS
 
 ; Save system stuff and setup the stack
 
-       tsx
-       stx     spsave          ; Save system stk ptr
+        tsx
+        stx     spsave          ; Save system stk ptr
 
-       lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp
-       lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp+1            ; Set argument stack ptr
+        lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp
+        lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp+1            ; Set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-       jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry.
 
-_exit: jsr     donelib         ; Run module destructors
+_exit:  jsr     donelib         ; Run module destructors
 
 ; Restore system stuff
 
-       ldx     spsave
-       txs
-       lda     stsave
-       sta     STATUS
+        ldx     spsave
+        txs
+        lda     stsave
+        sta     STATUS
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Back to BASIC
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave: .res   zpspace
+zpsave: .res    zpspace
 
 ; ------------------------------------------------------------------------
 
 .bss
 
-spsave: .res   1
-stsave: .res   1
+spsave: .res    1
+stsave: .res    1
index 15b7ea9350295f7a5a357bcf0760a451ea2b3f67..79edafbb25f96f32da544e77bc44bb3e03a03f3e 100644 (file)
 ;   6 - Other whitespace (that is: '\f', '\n', '\r', '\t' and '\v')
 ;   7 - Space or tab character
 
-       .export         __ctype
+        .export         __ctype
 
 __ctype:
-               .byte   $10     ;   0/00 ___ctrl_@___
-               .byte   $10     ;   1/01 ___ctrl_A___
-               .byte   $10     ;   2/02 ___ctrl_B___
-               .byte   $10     ;   3/03 ___ctrl_C___
-               .byte   $10     ;   4/04 ___ctrl_D___
-               .byte   $10     ;   5/05 ___ctrl_E___
-               .byte   $10     ;   6/06 ___ctrl_F___
-               .byte   $10     ;   7/07 ___ctrl_G___
-               .byte   $10     ;   8/08 ___ctrl_H___
-               .byte   $D0     ;   9/09 ___ctrl_I___
-               .byte   $50     ;  10/0a ___ctrl_J___
-               .byte   $50     ;  11/0b ___ctrl_K___
-               .byte   $50     ;  12/0c ___ctrl_L___
-               .byte   $50     ;  13/0d ___ctrl_M___
-               .byte   $10     ;  14/0e ___ctrl_N___
-               .byte   $10     ;  15/0f ___ctrl_O___
-               .byte   $10     ;  16/10 ___ctrl_P___
-               .byte   $10     ;  17/11 ___ctrl_Q___
-               .byte   $10     ;  18/12 ___ctrl_R___
-               .byte   $10     ;  19/13 ___ctrl_S___
-               .byte   $10     ;  20/14 ___ctrl_T___
-               .byte   $10     ;  21/15 ___ctrl_U___
-               .byte   $10     ;  22/16 ___ctrl_V___
-               .byte   $10     ;  23/17 ___ctrl_W___
-               .byte   $10     ;  24/18 ___ctrl_X___
-               .byte   $10     ;  25/19 ___ctrl_Y___
-               .byte   $10     ;  26/1a ___ctrl_Z___
-               .byte   $10     ;  27/1b ___ctrl_[___
-               .byte   $10     ;  28/1c ___ctrl_\___
-               .byte   $10     ;  29/1d ___ctrl_]___
-               .byte   $10     ;  30/1e ___ctrl_^___
-               .byte   $10     ;  31/1f ___ctrl_____
-               .byte   $A0     ;  32/20 ___SPACE___
-       .byte   $00     ;  33/21 _____!_____
-       .byte   $00     ;  34/22 _____"_____
-       .byte   $00     ;  35/23 _____#_____
-       .byte   $00     ;  36/24 _____$_____
-       .byte   $00     ;  37/25 _____%_____
-       .byte   $00     ;  38/26 _____&_____
-       .byte   $00     ;  39/27 _____'_____
-       .byte   $00     ;  40/28 _____(_____
-       .byte   $00     ;  41/29 _____)_____
-       .byte   $00     ;  42/2a _____*_____
-       .byte   $00     ;  43/2b _____+_____
-       .byte   $00     ;  44/2c _____,_____
-       .byte   $00     ;  45/2d _____-_____
-       .byte   $00     ;  46/2e _____._____
-       .byte   $00     ;  47/2f _____/_____
-       .byte   $0C     ;  48/30 _____0_____
-       .byte   $0C     ;  49/31 _____1_____
-       .byte   $0C     ;  50/32 _____2_____
-       .byte   $0C     ;  51/33 _____3_____
-       .byte   $0C     ;  52/34 _____4_____
-       .byte   $0C     ;  53/35 _____5_____
-       .byte   $0C     ;  54/36 _____6_____
-       .byte   $0C     ;  55/37 _____7_____
-       .byte   $0C     ;  56/38 _____8_____
-       .byte   $0C     ;  57/39 _____9_____
-       .byte   $00     ;  58/3a _____:_____
-       .byte   $00     ;  59/3b _____;_____
-       .byte   $00     ;  60/3c _____<_____
-       .byte   $00     ;  61/3d _____=_____
-       .byte   $00     ;  62/3e _____>_____
-       .byte   $00     ;  63/3f _____?_____
+        .byte   $10     ;   0/00 ___ctrl_@___
+        .byte   $10     ;   1/01 ___ctrl_A___
+        .byte   $10     ;   2/02 ___ctrl_B___
+        .byte   $10     ;   3/03 ___ctrl_C___
+        .byte   $10     ;   4/04 ___ctrl_D___
+        .byte   $10     ;   5/05 ___ctrl_E___
+        .byte   $10     ;   6/06 ___ctrl_F___
+        .byte   $10     ;   7/07 ___ctrl_G___
+        .byte   $10     ;   8/08 ___ctrl_H___
+        .byte   $D0     ;   9/09 ___ctrl_I___
+        .byte   $50     ;  10/0a ___ctrl_J___
+        .byte   $50     ;  11/0b ___ctrl_K___
+        .byte   $50     ;  12/0c ___ctrl_L___
+        .byte   $50     ;  13/0d ___ctrl_M___
+        .byte   $10     ;  14/0e ___ctrl_N___
+        .byte   $10     ;  15/0f ___ctrl_O___
+        .byte   $10     ;  16/10 ___ctrl_P___
+        .byte   $10     ;  17/11 ___ctrl_Q___
+        .byte   $10     ;  18/12 ___ctrl_R___
+        .byte   $10     ;  19/13 ___ctrl_S___
+        .byte   $10     ;  20/14 ___ctrl_T___
+        .byte   $10     ;  21/15 ___ctrl_U___
+        .byte   $10     ;  22/16 ___ctrl_V___
+        .byte   $10     ;  23/17 ___ctrl_W___
+        .byte   $10     ;  24/18 ___ctrl_X___
+        .byte   $10     ;  25/19 ___ctrl_Y___
+        .byte   $10     ;  26/1a ___ctrl_Z___
+        .byte   $10     ;  27/1b ___ctrl_[___
+        .byte   $10     ;  28/1c ___ctrl_\___
+        .byte   $10     ;  29/1d ___ctrl_]___
+        .byte   $10     ;  30/1e ___ctrl_^___
+        .byte   $10     ;  31/1f ___ctrl_____
+        .byte   $A0     ;  32/20 ___SPACE___
+        .byte   $00     ;  33/21 _____!_____
+        .byte   $00     ;  34/22 _____"_____
+        .byte   $00     ;  35/23 _____#_____
+        .byte   $00     ;  36/24 _____$_____
+        .byte   $00     ;  37/25 _____%_____
+        .byte   $00     ;  38/26 _____&_____
+        .byte   $00     ;  39/27 _____'_____
+        .byte   $00     ;  40/28 _____(_____
+        .byte   $00     ;  41/29 _____)_____
+        .byte   $00     ;  42/2a _____*_____
+        .byte   $00     ;  43/2b _____+_____
+        .byte   $00     ;  44/2c _____,_____
+        .byte   $00     ;  45/2d _____-_____
+        .byte   $00     ;  46/2e _____._____
+        .byte   $00     ;  47/2f _____/_____
+        .byte   $0C     ;  48/30 _____0_____
+        .byte   $0C     ;  49/31 _____1_____
+        .byte   $0C     ;  50/32 _____2_____
+        .byte   $0C     ;  51/33 _____3_____
+        .byte   $0C     ;  52/34 _____4_____
+        .byte   $0C     ;  53/35 _____5_____
+        .byte   $0C     ;  54/36 _____6_____
+        .byte   $0C     ;  55/37 _____7_____
+        .byte   $0C     ;  56/38 _____8_____
+        .byte   $0C     ;  57/39 _____9_____
+        .byte   $00     ;  58/3a _____:_____
+        .byte   $00     ;  59/3b _____;_____
+        .byte   $00     ;  60/3c _____<_____
+        .byte   $00     ;  61/3d _____=_____
+        .byte   $00     ;  62/3e _____>_____
+        .byte   $00     ;  63/3f _____?_____
 
-       .byte   $00     ;  64/40 _____@_____
-               .byte   $0A     ;  65/41 _____A_____
-               .byte   $0A     ;  66/42 _____B_____
-               .byte   $0A     ;  67/43 _____C_____
-               .byte   $0A     ;  68/44 _____D_____
-               .byte   $0A     ;  69/45 _____E_____
-               .byte   $0A     ;  70/46 _____F_____
-               .byte   $02     ;  71/47 _____G_____
-               .byte   $02     ;  72/48 _____H_____
-               .byte   $02     ;  73/49 _____I_____
-               .byte   $02     ;  74/4a _____J_____
-               .byte   $02     ;  75/4b _____K_____
-               .byte   $02     ;  76/4c _____L_____
-               .byte   $02     ;  77/4d _____M_____
-               .byte   $02     ;  78/4e _____N_____
-               .byte   $02     ;  79/4f _____O_____
-               .byte   $02     ;  80/50 _____P_____
-               .byte   $02     ;  81/51 _____Q_____
-               .byte   $02     ;  82/52 _____R_____
-               .byte   $02     ;  83/53 _____S_____
-               .byte   $02     ;  84/54 _____T_____
-               .byte   $02     ;  85/55 _____U_____
-               .byte   $02     ;  86/56 _____V_____
-               .byte   $02     ;  87/57 _____W_____
-               .byte   $02     ;  88/58 _____X_____
-               .byte   $02     ;  89/59 _____Y_____
-               .byte   $02     ;  90/5a _____Z_____
-       .byte   $00     ;  91/5b _____[_____
-       .byte   $00     ;  92/5c _____\_____
-       .byte   $00     ;  93/5d _____]_____
-       .byte   $00     ;  94/5e _____^_____
-       .byte   $00     ;  95/5f _UNDERLINE_
-       .byte   $00     ;  96/60 ___grave___
-               .byte   $09     ;  97/61 _____a_____
-               .byte   $09     ;  98/62 _____b_____
-               .byte   $09     ;  99/63 _____c_____
-               .byte   $09     ; 100/64 _____d_____
-               .byte   $09     ; 101/65 _____e_____
-               .byte   $09     ; 102/66 _____f_____
-               .byte   $01     ; 103/67 _____g_____
-               .byte   $01     ; 104/68 _____h_____
-               .byte   $01     ; 105/69 _____i_____
-               .byte   $01     ; 106/6a _____j_____
-               .byte   $01     ; 107/6b _____k_____
-               .byte   $01     ; 108/6c _____l_____
-               .byte   $01     ; 109/6d _____m_____
-               .byte   $01     ; 110/6e _____n_____
-               .byte   $01     ; 111/6f _____o_____
-               .byte   $01     ; 112/70 _____p_____
-               .byte   $01     ; 113/71 _____q_____
-               .byte   $01     ; 114/72 _____r_____
-               .byte   $01     ; 115/73 _____s_____
-               .byte   $01     ; 116/74 _____t_____
-               .byte   $01     ; 117/75 _____u_____
-               .byte   $01     ; 118/76 _____v_____
-               .byte   $01     ; 119/77 _____w_____
-               .byte   $01     ; 120/78 _____x_____
-               .byte   $01     ; 121/79 _____y_____
-               .byte   $01     ; 122/7a _____z_____
-               .byte   $00     ; 123/7b _____{_____
-               .byte   $00     ; 124/7c _____|_____
-               .byte   $00     ; 125/7d _____}_____
-               .byte   $00     ; 126/7e _____~_____
-               .byte   $40     ; 127/7f ____DEL____
+        .byte   $00     ;  64/40 _____@_____
+        .byte   $0A     ;  65/41 _____A_____
+        .byte   $0A     ;  66/42 _____B_____
+        .byte   $0A     ;  67/43 _____C_____
+        .byte   $0A     ;  68/44 _____D_____
+        .byte   $0A     ;  69/45 _____E_____
+        .byte   $0A     ;  70/46 _____F_____
+        .byte   $02     ;  71/47 _____G_____
+        .byte   $02     ;  72/48 _____H_____
+        .byte   $02     ;  73/49 _____I_____
+        .byte   $02     ;  74/4a _____J_____
+        .byte   $02     ;  75/4b _____K_____
+        .byte   $02     ;  76/4c _____L_____
+        .byte   $02     ;  77/4d _____M_____
+        .byte   $02     ;  78/4e _____N_____
+        .byte   $02     ;  79/4f _____O_____
+        .byte   $02     ;  80/50 _____P_____
+        .byte   $02     ;  81/51 _____Q_____
+        .byte   $02     ;  82/52 _____R_____
+        .byte   $02     ;  83/53 _____S_____
+        .byte   $02     ;  84/54 _____T_____
+        .byte   $02     ;  85/55 _____U_____
+        .byte   $02     ;  86/56 _____V_____
+        .byte   $02     ;  87/57 _____W_____
+        .byte   $02     ;  88/58 _____X_____
+        .byte   $02     ;  89/59 _____Y_____
+        .byte   $02     ;  90/5a _____Z_____
+        .byte   $00     ;  91/5b _____[_____
+        .byte   $00     ;  92/5c _____\_____
+        .byte   $00     ;  93/5d _____]_____
+        .byte   $00     ;  94/5e _____^_____
+        .byte   $00     ;  95/5f _UNDERLINE_
+        .byte   $00     ;  96/60 ___grave___
+        .byte   $09     ;  97/61 _____a_____
+        .byte   $09     ;  98/62 _____b_____
+        .byte   $09     ;  99/63 _____c_____
+        .byte   $09     ; 100/64 _____d_____
+        .byte   $09     ; 101/65 _____e_____
+        .byte   $09     ; 102/66 _____f_____
+        .byte   $01     ; 103/67 _____g_____
+        .byte   $01     ; 104/68 _____h_____
+        .byte   $01     ; 105/69 _____i_____
+        .byte   $01     ; 106/6a _____j_____
+        .byte   $01     ; 107/6b _____k_____
+        .byte   $01     ; 108/6c _____l_____
+        .byte   $01     ; 109/6d _____m_____
+        .byte   $01     ; 110/6e _____n_____
+        .byte   $01     ; 111/6f _____o_____
+        .byte   $01     ; 112/70 _____p_____
+        .byte   $01     ; 113/71 _____q_____
+        .byte   $01     ; 114/72 _____r_____
+        .byte   $01     ; 115/73 _____s_____
+        .byte   $01     ; 116/74 _____t_____
+        .byte   $01     ; 117/75 _____u_____
+        .byte   $01     ; 118/76 _____v_____
+        .byte   $01     ; 119/77 _____w_____
+        .byte   $01     ; 120/78 _____x_____
+        .byte   $01     ; 121/79 _____y_____
+        .byte   $01     ; 122/7a _____z_____
+        .byte   $00     ; 123/7b _____{_____
+        .byte   $00     ; 124/7c _____|_____
+        .byte   $00     ; 125/7d _____}_____
+        .byte   $00     ; 126/7e _____~_____
+        .byte   $40     ; 127/7f ____DEL____
 
-               .byte   $00     ; 128/80 ___________
-               .byte   $00     ; 129/81 ___________
-               .byte   $00     ; 130/82 ___________
-               .byte   $00     ; 131/83 ___________
-               .byte   $00     ; 132/84 ___________
-               .byte   $00     ; 133/85 ___________
-               .byte   $00     ; 134/86 ___________
-               .byte   $00     ; 135/87 ___________
-               .byte   $00     ; 136/88 ___________
-               .byte   $00     ; 137/89 ___________
-               .byte   $00     ; 138/8a ___________
-               .byte   $00     ; 139/8b ___________
-               .byte   $00     ; 140/8c ___________
-               .byte   $00     ; 141/8d ___________
-               .byte   $00     ; 142/8e ___________
-               .byte   $00     ; 143/8f ___________
-               .byte   $00     ; 144/90 ___________
-               .byte   $00     ; 145/91 ___________
-               .byte   $00     ; 146/92 ___________
-               .byte   $10     ; 147/93 ___________
-               .byte   $00     ; 148/94 ___________
-               .byte   $00     ; 149/95 ___________
-               .byte   $00     ; 150/96 ___________
-               .byte   $00     ; 151/97 ___________
-               .byte   $00     ; 152/98 ___________
-               .byte   $00     ; 153/99 ___________
-               .byte   $00     ; 154/9a ___________
-               .byte   $00     ; 155/9b ___________
-               .byte   $00     ; 156/9c ___________
-               .byte   $00     ; 157/9d ___________
-               .byte   $00     ; 158/9e ___________
-               .byte   $00     ; 159/9f ___________
+        .byte   $00     ; 128/80 ___________
+        .byte   $00     ; 129/81 ___________
+        .byte   $00     ; 130/82 ___________
+        .byte   $00     ; 131/83 ___________
+        .byte   $00     ; 132/84 ___________
+        .byte   $00     ; 133/85 ___________
+        .byte   $00     ; 134/86 ___________
+        .byte   $00     ; 135/87 ___________
+        .byte   $00     ; 136/88 ___________
+        .byte   $00     ; 137/89 ___________
+        .byte   $00     ; 138/8a ___________
+        .byte   $00     ; 139/8b ___________
+        .byte   $00     ; 140/8c ___________
+        .byte   $00     ; 141/8d ___________
+        .byte   $00     ; 142/8e ___________
+        .byte   $00     ; 143/8f ___________
+        .byte   $00     ; 144/90 ___________
+        .byte   $00     ; 145/91 ___________
+        .byte   $00     ; 146/92 ___________
+        .byte   $10     ; 147/93 ___________
+        .byte   $00     ; 148/94 ___________
+        .byte   $00     ; 149/95 ___________
+        .byte   $00     ; 150/96 ___________
+        .byte   $00     ; 151/97 ___________
+        .byte   $00     ; 152/98 ___________
+        .byte   $00     ; 153/99 ___________
+        .byte   $00     ; 154/9a ___________
+        .byte   $00     ; 155/9b ___________
+        .byte   $00     ; 156/9c ___________
+        .byte   $00     ; 157/9d ___________
+        .byte   $00     ; 158/9e ___________
+        .byte   $00     ; 159/9f ___________
 
-               .byte   $00     ; 160/a0 ___________
-               .byte   $00     ; 161/a1 ___________
-               .byte   $00     ; 162/a2 ___________
-               .byte   $00     ; 163/a3 ___________
-               .byte   $00     ; 164/a4 ___________
-               .byte   $00     ; 165/a5 ___________
-               .byte   $00     ; 166/a6 ___________
-               .byte   $00     ; 167/a7 ___________
-               .byte   $00     ; 168/a8 ___________
-               .byte   $00     ; 169/a9 ___________
-               .byte   $00     ; 170/aa ___________
-               .byte   $00     ; 171/ab ___________
-               .byte   $00     ; 172/ac ___________
-               .byte   $00     ; 173/ad ___________
-               .byte   $00     ; 174/ae ___________
-               .byte   $00     ; 175/af ___________
-               .byte   $00     ; 176/b0 ___________
-               .byte   $00     ; 177/b1 ___________
-               .byte   $00     ; 178/b2 ___________
-               .byte   $00     ; 179/b3 ___________
-               .byte   $00     ; 180/b4 ___________
-               .byte   $00     ; 181/b5 ___________
-               .byte   $00     ; 182/b6 ___________
-               .byte   $00     ; 183/b7 ___________
-               .byte   $00     ; 184/b8 ___________
-               .byte   $00     ; 185/b9 ___________
-               .byte   $00     ; 186/ba ___________
-               .byte   $00     ; 187/bb ___________
-               .byte   $00     ; 188/bc ___________
-               .byte   $00     ; 189/bd ___________
-               .byte   $00     ; 190/be ___________
-               .byte   $00     ; 191/bf ___________
+        .byte   $00     ; 160/a0 ___________
+        .byte   $00     ; 161/a1 ___________
+        .byte   $00     ; 162/a2 ___________
+        .byte   $00     ; 163/a3 ___________
+        .byte   $00     ; 164/a4 ___________
+        .byte   $00     ; 165/a5 ___________
+        .byte   $00     ; 166/a6 ___________
+        .byte   $00     ; 167/a7 ___________
+        .byte   $00     ; 168/a8 ___________
+        .byte   $00     ; 169/a9 ___________
+        .byte   $00     ; 170/aa ___________
+        .byte   $00     ; 171/ab ___________
+        .byte   $00     ; 172/ac ___________
+        .byte   $00     ; 173/ad ___________
+        .byte   $00     ; 174/ae ___________
+        .byte   $00     ; 175/af ___________
+        .byte   $00     ; 176/b0 ___________
+        .byte   $00     ; 177/b1 ___________
+        .byte   $00     ; 178/b2 ___________
+        .byte   $00     ; 179/b3 ___________
+        .byte   $00     ; 180/b4 ___________
+        .byte   $00     ; 181/b5 ___________
+        .byte   $00     ; 182/b6 ___________
+        .byte   $00     ; 183/b7 ___________
+        .byte   $00     ; 184/b8 ___________
+        .byte   $00     ; 185/b9 ___________
+        .byte   $00     ; 186/ba ___________
+        .byte   $00     ; 187/bb ___________
+        .byte   $00     ; 188/bc ___________
+        .byte   $00     ; 189/bd ___________
+        .byte   $00     ; 190/be ___________
+        .byte   $00     ; 191/bf ___________
 
-               .byte   $02     ; 192/c0 ___________
-               .byte   $02     ; 193/c1 ___________
-               .byte   $02     ; 194/c2 ___________
-               .byte   $02     ; 195/c3 ___________
-               .byte   $02     ; 196/c4 ___________
-               .byte   $02     ; 197/c5 ___________
-               .byte   $02     ; 198/c6 ___________
-               .byte   $02     ; 199/c7 ___________
-               .byte   $02     ; 200/c8 ___________
-               .byte   $02     ; 201/c9 ___________
-               .byte   $02     ; 202/ca ___________
-               .byte   $02     ; 203/cb ___________
-               .byte   $02     ; 204/cc ___________
-               .byte   $02     ; 205/cd ___________
-               .byte   $02     ; 206/ce ___________
-               .byte   $02     ; 207/cf ___________
-               .byte   $02     ; 208/d0 ___________
-               .byte   $02     ; 209/d1 ___________
-               .byte   $02     ; 210/d2 ___________
-               .byte   $02     ; 211/d3 ___________
-               .byte   $02     ; 212/d4 ___________
-               .byte   $02     ; 213/d5 ___________
-               .byte   $02     ; 214/d6 ___________
-               .byte   $02     ; 215/d7 ___________
-               .byte   $02     ; 216/d8 ___________
-               .byte   $02     ; 217/d9 ___________
-               .byte   $02     ; 218/da ___________
-               .byte   $02     ; 219/db ___________
-               .byte   $02     ; 220/dc ___________
-               .byte   $02     ; 221/dd ___________
-               .byte   $02     ; 222/de ___________
-               .byte   $00     ; 223/df ___________
-               .byte   $01     ; 224/e0 ___________
-               .byte   $01     ; 225/e1 ___________
-               .byte   $01     ; 226/e2 ___________
-               .byte   $01     ; 227/e3 ___________
-               .byte   $01     ; 228/e4 ___________
-               .byte   $01     ; 229/e5 ___________
-               .byte   $01     ; 230/e6 ___________
-               .byte   $01     ; 231/e7 ___________
-               .byte   $01     ; 232/e8 ___________
-               .byte   $01     ; 233/e9 ___________
-               .byte   $01     ; 234/ea ___________
-               .byte   $01     ; 235/eb ___________
-               .byte   $01     ; 236/ec ___________
-               .byte   $01     ; 237/ed ___________
-               .byte   $01     ; 238/ee ___________
-               .byte   $01     ; 239/ef ___________
-               .byte   $01     ; 240/f0 ___________
-               .byte   $01     ; 241/f1 ___________
-               .byte   $01     ; 242/f2 ___________
-               .byte   $01     ; 243/f3 ___________
-               .byte   $01     ; 244/f4 ___________
-               .byte   $01     ; 245/f5 ___________
-               .byte   $01     ; 246/f6 ___________
-               .byte   $01     ; 247/f7 ___________
-               .byte   $01     ; 248/f8 ___________
-               .byte   $01     ; 249/f9 ___________
-               .byte   $01     ; 250/fa ___________
-               .byte   $01     ; 251/fb ___________
-               .byte   $01     ; 252/fc ___________
-               .byte   $01     ; 253/fd ___________
-               .byte   $01     ; 254/fe ___________
-               .byte   $00     ; 255/ff ___________
+        .byte   $02     ; 192/c0 ___________
+        .byte   $02     ; 193/c1 ___________
+        .byte   $02     ; 194/c2 ___________
+        .byte   $02     ; 195/c3 ___________
+        .byte   $02     ; 196/c4 ___________
+        .byte   $02     ; 197/c5 ___________
+        .byte   $02     ; 198/c6 ___________
+        .byte   $02     ; 199/c7 ___________
+        .byte   $02     ; 200/c8 ___________
+        .byte   $02     ; 201/c9 ___________
+        .byte   $02     ; 202/ca ___________
+        .byte   $02     ; 203/cb ___________
+        .byte   $02     ; 204/cc ___________
+        .byte   $02     ; 205/cd ___________
+        .byte   $02     ; 206/ce ___________
+        .byte   $02     ; 207/cf ___________
+        .byte   $02     ; 208/d0 ___________
+        .byte   $02     ; 209/d1 ___________
+        .byte   $02     ; 210/d2 ___________
+        .byte   $02     ; 211/d3 ___________
+        .byte   $02     ; 212/d4 ___________
+        .byte   $02     ; 213/d5 ___________
+        .byte   $02     ; 214/d6 ___________
+        .byte   $02     ; 215/d7 ___________
+        .byte   $02     ; 216/d8 ___________
+        .byte   $02     ; 217/d9 ___________
+        .byte   $02     ; 218/da ___________
+        .byte   $02     ; 219/db ___________
+        .byte   $02     ; 220/dc ___________
+        .byte   $02     ; 221/dd ___________
+        .byte   $02     ; 222/de ___________
+        .byte   $00     ; 223/df ___________
+        .byte   $01     ; 224/e0 ___________
+        .byte   $01     ; 225/e1 ___________
+        .byte   $01     ; 226/e2 ___________
+        .byte   $01     ; 227/e3 ___________
+        .byte   $01     ; 228/e4 ___________
+        .byte   $01     ; 229/e5 ___________
+        .byte   $01     ; 230/e6 ___________
+        .byte   $01     ; 231/e7 ___________
+        .byte   $01     ; 232/e8 ___________
+        .byte   $01     ; 233/e9 ___________
+        .byte   $01     ; 234/ea ___________
+        .byte   $01     ; 235/eb ___________
+        .byte   $01     ; 236/ec ___________
+        .byte   $01     ; 237/ed ___________
+        .byte   $01     ; 238/ee ___________
+        .byte   $01     ; 239/ef ___________
+        .byte   $01     ; 240/f0 ___________
+        .byte   $01     ; 241/f1 ___________
+        .byte   $01     ; 242/f2 ___________
+        .byte   $01     ; 243/f3 ___________
+        .byte   $01     ; 244/f4 ___________
+        .byte   $01     ; 245/f5 ___________
+        .byte   $01     ; 246/f6 ___________
+        .byte   $01     ; 247/f7 ___________
+        .byte   $01     ; 248/f8 ___________
+        .byte   $01     ; 249/f9 ___________
+        .byte   $01     ; 250/fa ___________
+        .byte   $01     ; 251/fb ___________
+        .byte   $01     ; 252/fc ___________
+        .byte   $01     ; 253/fd ___________
+        .byte   $01     ; 254/fe ___________
+        .byte   $00     ; 255/ff ___________
 
index 09eea4caadb38170b236f326e0456cd1aac75616..ca41502c2b52309d33c79b12ef753836aa255ee2 100644 (file)
@@ -5,25 +5,25 @@
 ; void cvline (unsigned char length);
 ;
 
-       .export         _cvlinexy, _cvline
+        .export         _cvlinexy, _cvline
         .import         setscrptr
         .import         rvs
-       .import         popax
+        .import         popax
         .importzp       ptr2
 
         .include        "atmos.inc"
 
 
 _cvlinexy:
-               pha                     ; Save the length
-       jsr     popax           ; Get X and Y
+        pha                     ; Save the length
+        jsr     popax           ; Get X and Y
         sta     CURS_Y          ; Store Y
         stx     CURS_X          ; Store X
-               pla                     ; Restore the length and run into _cvline
+        pla                     ; Restore the length and run into _cvline
 
 _cvline:
-               tax                     ; Is the length zero?
-               beq     @L9             ; Jump if done
+        tax                     ; Is the length zero?
+        beq     @L9             ; Jump if done
 @L1:    jsr     setscrptr       ; Set ptr2 to screen, won't use X
         lda     #'|'
         ora     rvs
@@ -31,6 +31,6 @@ _cvline:
         inc     CURS_Y
 @L2:    dex
         bne     @L1
-@L9:   rts
+@L9:    rts
 
 
index 25ed7fbf288e57dfd36412e66be8929a16a3c6c3..6f86827220354d1a8b79fc5bac6c05852281a9e6 100644 (file)
@@ -4,13 +4,13 @@
 ; void gotox (unsigned char x);
 ;
 
-       .export         _gotox
+        .export         _gotox
 
         .include        "atmos.inc"
 
 .proc   _gotox
 
-       sta     CURS_X          ; Set X
+        sta     CURS_X          ; Set X
         rts
 
 .endproc
index 26a16bb21e8ecb45255e0cdebf714128055b2a2b..80d4d52510fc94c7b86912ab26cfbd8a627a4b8b 100644 (file)
@@ -4,16 +4,16 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-       .export         _gotoxy
-       .import         popa
+        .export         _gotoxy
+        .import         popa
 
         .include        "atmos.inc"
 
 .proc   _gotoxy
 
-       sta     CURS_Y          ; Set Y
-       jsr     popa            ; Get X
-       sta     CURS_X          ; Set X
+        sta     CURS_Y          ; Set Y
+        jsr     popa            ; Get X
+        sta     CURS_X          ; Set X
         rts
 
 .endproc
index baa95a773f2dc73a9992702bf825e2d61c27e2bf..4db5777559d478a769afbb32691723db72c78107 100644 (file)
@@ -4,13 +4,13 @@
 ; void gotoy (unsigned char y);
 ;
 
-       .export         _gotoy
+        .export         _gotoy
 
         .include        "atmos.inc"
 
 .proc   _gotoy
 
-       sta     CURS_Y          ; Set Y
+        sta     CURS_Y          ; Set Y
         rts
 
 .endproc
index c022eccd4127710bba9d7b848e40772318630271..ed443caae682325b789e8d44d734d7bbb9ecb469 100644 (file)
@@ -2,58 +2,58 @@
 ; IRQ handling (Oric version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     IRQVec
-       ldx     IRQVec+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       jmp     setvec
+        lda     IRQVec
+        ldx     IRQVec+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        jmp     setvec
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     IRQInd+1
-       ldx     IRQInd+2
-setvec:        sei
-       sta     IRQVec
-       stx     IRQVec+1
-       cli
-       rts
+        lda     IRQInd+1
+        ldx     IRQInd+2
+setvec: sei
+        sta     IRQVec
+        stx     IRQVec+1
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       pha
-       txa
-       pha
-       tya
-       pha
-       jsr     callirq                 ; Call the functions
-       pla
-       tay
-       pla
-       tax
-       pla
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        pha
+        txa
+        pha
+        tya
+        pha
+        jsr     callirq                 ; Call the functions
+        pla
+        tay
+        pla
+        tax
+        pla
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
 
 ; ------------------------------------------------------------------------
 
 .data
 
-IRQInd:        jmp     $0000
+IRQInd: jmp     $0000
index 18ac7b88709551bcddf8705ee51acc5815da01f0..81dba394aa8cf5c76e84854bfbfc1d63451b13d5 100644 (file)
@@ -6,55 +6,55 @@
 ; Based on Ullrich von Bassewitz, 2002-12-20
 ;
 
-       .include        "joy-kernel.inc"
-       .include        "joy-error.inc"
-;      .include        "atmos.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+;       .include        "atmos.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79           ; "joy"
-       .byte   JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $10                     ; JOY_UP
-       .byte   $08                     ; JOY_DOWN
-       .byte   $01                     ; JOY_LEFT
-       .byte   $02                     ; JOY_RIGHT
-       .byte   $20                     ; JOY_FIRE
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
+        .byte   $10                     ; JOY_UP
+        .byte   $08                     ; JOY_DOWN
+        .byte   $01                     ; JOY_LEFT
+        .byte   $02                     ; JOY_RIGHT
+        .byte   $20                     ; JOY_FIRE
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READ
-       .addr   0                       ; IRQ entry unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READ
+        .addr   0                       ; IRQ entry unused
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 2             ; Number of joysticks we support
+JOY_COUNT       = 2             ; Number of joysticks we support
 
-PRA            = $0301
-DDRA           = $0303
-PRA2           = $030F
+PRA             = $0301
+DDRA            = $0303
+PRA2            = $030F
 
 ; ------------------------------------------------------------------------
 ; Data.
 
 .bss
-temp1: .byte   $00
-temp2: .byte   $00
+temp1:  .byte   $00
+temp2:  .byte   $00
 
 .code
 
@@ -66,9 +66,9 @@ temp2:        .byte   $00
 ;
 
 INSTALL:
-       lda     #JOY_ERR_OK
-       ldx     #0
-;      rts                     ; Run into UNINSTALL instead
+        lda     #JOY_ERR_OK
+        ldx     #0
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -76,7 +76,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -84,42 +84,42 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #JOY_COUNT
-       ldx     #0
-       rts
+        lda     #JOY_COUNT
+        ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
 READ:
-       tay
-
-       lda     PRA
-       pha
-       lda     DDRA
-       pha
-       lda     #%11000000
-       sta     DDRA
-       lda     #%10000000
-       sta     PRA2
-       lda     PRA2
-       sta     temp1
-       lda     #%01000000
-       sta     PRA2
-       lda     PRA
-       sta     temp2
-       pla
-       sta     DDRA
-       pla
-       sta     PRA2
-
-       ldx     #0
-       tya
-       bne     @L1
-       lda     temp1
-       eor     #$FF
-       rts
-@L1:   lda     temp2
-       eor     #$FF
-       rts
+        tay
+
+        lda     PRA
+        pha
+        lda     DDRA
+        pha
+        lda     #%11000000
+        sta     DDRA
+        lda     #%10000000
+        sta     PRA2
+        lda     PRA2
+        sta     temp1
+        lda     #%01000000
+        sta     PRA2
+        lda     PRA
+        sta     temp2
+        pla
+        sta     DDRA
+        pla
+        sta     PRA2
+
+        ldx     #0
+        tya
+        bne     @L1
+        lda     temp1
+        eor     #$FF
+        rts
+@L1:    lda     temp2
+        eor     #$FF
+        rts
index c94405c3c0c2d1c28a7c59ad2bb151ff3a82d0fc..2ac2259d57974f9f4b17ebe34308a73d9d4f245a 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _atmos_pase_joy
+        .export _joy_static_stddrv
+        .import _atmos_pase_joy
 
 .rodata
 
index 77c9e0ea929f49c05f60a85771a0a4c740c1ac8c..6ed83f445a187d687249e308850be7ccdfb896ff 100644 (file)
@@ -6,8 +6,8 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "atmos-pase.joy"
+_joy_stddrv:    .asciiz "atmos-pase.joy"
index df36226f6ea848b0864256fa01c0858a84c911a1..1b18b6cb7349fdcd58d2e3be804a80ebbb4f3ff9 100644 (file)
@@ -4,9 +4,9 @@
 ; int kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 _kbhit:
         ldx     #$00            ; Load high byte
index 54fdb61e989731fc3a34bcdb31986b4c9ac520e3..3e1f6467b4ae32c96474a1b96c87028d27b2c0fc 100644 (file)
 ; Setup arguments for main
 ;
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
-       .macpack        generic
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
+        .macpack        generic
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $9d                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $9d                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 BASIC_BUF = $35
-FNAM    = $293
+FNAM     = $293
 
 
 ;---------------------------------------------------------------------------
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run
 
-.segment       "INIT"
+.segment        "INIT"
 
-.proc  initmainargs
+.proc   initmainargs
 
 ; Assume that the program was loaded, a moment ago, by the traditional LOAD
 ; statement.  Save the "most-recent filename" as argument #0.
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     #NAME_LEN - 1   ; limit the length
-L0:    lda     FNAM,y
-       sta     name,y
-       dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        ldy     #NAME_LEN - 1   ; limit the length
+L0:     lda     FNAM,y
+        sta     name,y
+        dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-       beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
-next:  lda     BASIC_BUF,x
-       beq     done            ; End of line reached
-       inx
-       cmp     #' '            ; Skip leading spaces
-       beq     next            ;
+next:   lda     BASIC_BUF,x
+        beq     done            ; End of line reached
+        inx
+        cmp     #' '            ; Skip leading spaces
+        beq     next            ;
 
 ; Found start of next argument. We've incremented the pointer in X already, so
 ; it points to the second character of the argument. This is useful since we
 ; will check now for a quoted argument, in which case we will have to skip this
 ; first character.
 
-found: cmp     #'"'            ; Is the argument quoted?
-       beq     setterm         ; Jump if so
-       dex                     ; Reset pointer to first argument character
-       lda     #' '            ; A space ends the argument
-setterm:sta    term            ; Set end of argument marker
+found:  cmp     #'"'            ; Is the argument quoted?
+        beq     setterm         ; Jump if so
+        dex                     ; Reset pointer to first argument character
+        lda     #' '            ; A space ends the argument
+setterm:sta     term            ; Set end of argument marker
 
 ; Now store a pointer to the argument into the next slot. Since the BASIC
 ; input buffer is located at the zero page, no calculations are necessary.
 
-       txa                     ; Get low byte
-       add     #<BASIC_BUF     ; Not at page boundary
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       iny
-       inc     __argc          ; Found another arg
+        txa                     ; Get low byte
+        add     #<BASIC_BUF     ; Not at page boundary
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        iny
+        inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
 
-argloop:lda    BASIC_BUF,x
-       beq     done
-       inx
-       cmp     term
-       bne     argloop
+argloop:lda     BASIC_BUF,x
+        beq     done
+        inx
+        cmp     term
+        bne     argloop
 
 ; We've found the end of the argument. X points one character behind it, and
 ; A contains the terminating character. To make the argument a valid C string,
 ; replace the terminating character by a zero.
 
-       lda     #0
-       sta     BASIC_BUF-1,x
+        lda     #0
+        sta     BASIC_BUF-1,x
 
 ; Check if the maximum number of command line arguments is reached. If not,
 ; parse the next one.
 
-       lda     __argc          ; Get low byte of argument count
-       cmp     #MAXARGS        ; Maximum number of arguments reached?
-       bcc     next            ; Parse next one if not
+        lda     __argc          ; Get low byte of argument count
+        cmp     #MAXARGS        ; Maximum number of arguments reached?
+        bcc     next            ; Parse next one if not
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
 
-       rts
+        rts
 
 .endproc
 
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
-argv:  .addr   name
-       .res    MAXARGS * 2
+argv:   .addr   name
+        .res    MAXARGS * 2
index ebdb531f8fbd63bc7cc55ef1dc3ea94acd6a33dd..8ec41de6d33b1b4f1541ecbd8d0b9a64e1d73cf8 100644 (file)
@@ -41,35 +41,35 @@ End:
 .rodata
 
 __sys_oserrlist:
-               sys_oserr_entry          1, "File not found"
-               sys_oserr_entry          2, "Invalid command end"
-               sys_oserr_entry          3, "No drive number"
-               sys_oserr_entry          4, "Bad drive number"
-               sys_oserr_entry          5, "Invalid filename"
-               sys_oserr_entry          6, "fderr=(error  number)"
-               sys_oserr_entry          7, "Illegal attribute"
-               sys_oserr_entry          8, "Wildcard(s) not allowed"
-               sys_oserr_entry          9, "File already exists"
-               sys_oserr_entry         10, "Insufficient disc space"
-               sys_oserr_entry         11, "File open"
-               sys_oserr_entry         12, "Illegal quantity"
-               sys_oserr_entry         13, "End address missing"
-               sys_oserr_entry         14, "Start address > end address"
-               sys_oserr_entry         15, "Missing 'to'"
-               sys_oserr_entry         16, "Renamed file not on same disc"
-               sys_oserr_entry         17, "Unknown array"
-               sys_oserr_entry         18, "Target drive not source drive"
-               sys_oserr_entry         19, "Destination not specified"
-               sys_oserr_entry         20, "Cannot merge and overwrite"
-               sys_oserr_entry         21, "Single target file illegal"
-               sys_oserr_entry         22, "Syntax"
-               sys_oserr_entry         23, "Filename missing"
-               sys_oserr_entry         24, "Source file missing"
-               sys_oserr_entry         25, "Type mismatch"
-               sys_oserr_entry         26, "Disc write-protected"
-               sys_oserr_entry         27, "Incompatible drives"
-               sys_oserr_entry         28, "File not open"
-               sys_oserr_entry         29, "File end"
-               sys_oserr_sentinel      "Unknown error"
+        sys_oserr_entry          1, "File not found"
+        sys_oserr_entry          2, "Invalid command end"
+        sys_oserr_entry          3, "No drive number"
+        sys_oserr_entry          4, "Bad drive number"
+        sys_oserr_entry          5, "Invalid filename"
+        sys_oserr_entry          6, "fderr=(error  number)"
+        sys_oserr_entry          7, "Illegal attribute"
+        sys_oserr_entry          8, "Wildcard(s) not allowed"
+        sys_oserr_entry          9, "File already exists"
+        sys_oserr_entry         10, "Insufficient disc space"
+        sys_oserr_entry         11, "File open"
+        sys_oserr_entry         12, "Illegal quantity"
+        sys_oserr_entry         13, "End address missing"
+        sys_oserr_entry         14, "Start address > end address"
+        sys_oserr_entry         15, "Missing 'to'"
+        sys_oserr_entry         16, "Renamed file not on same disc"
+        sys_oserr_entry         17, "Unknown array"
+        sys_oserr_entry         18, "Target drive not source drive"
+        sys_oserr_entry         19, "Destination not specified"
+        sys_oserr_entry         20, "Cannot merge and overwrite"
+        sys_oserr_entry         21, "Single target file illegal"
+        sys_oserr_entry         22, "Syntax"
+        sys_oserr_entry         23, "Filename missing"
+        sys_oserr_entry         24, "Source file missing"
+        sys_oserr_entry         25, "Type mismatch"
+        sys_oserr_entry         26, "Disc write-protected"
+        sys_oserr_entry         27, "Incompatible drives"
+        sys_oserr_entry         28, "File not open"
+        sys_oserr_entry         29, "File end"
+        sys_oserr_sentinel      "Unknown error"
 
 
index aa54ea5851c074d5086912eee252e3e0f301ac6d..37c9bd7fca29cb99779d8b8634f7148d342940bc 100644 (file)
@@ -5,13 +5,13 @@
 ; /* Map a system specific error into a system independent code */
 ;
 
-       .include        "errno.inc"
-       .export         __osmaperrno
+        .include        "errno.inc"
+        .export         __osmaperrno
 
-.proc  __osmaperrno
+.proc   __osmaperrno
 
-       lda     #<EUNKNOWN
-       ldx     #>EUNKNOWN
-       rts
+        lda     #<EUNKNOWN
+        ldx     #>EUNKNOWN
+        rts
 
 .endproc
index 07334af15c6fa3486bce4f156f3a2950e5b21439..ad3e1f9092ef6e629e46c205f8562e5941a7a897 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
         .export         rvs
 
 ; ------------------------------------------------------------------------
 .code
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            rvs             ; Load old value
-       stx     rvs             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     rvs             ; Load old value
+        stx     rvs             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index c2b48c9fc9c6b75c31433e1f9b75d750dc97626c..36071c32accb675ef0205b254eda9e0dbbf4b9a8 100644 (file)
 ; interrupt handling assumes that the 65816 is in 6502-emulation mode.
 ;
 
-       .include        "zeropage.inc"
-       .include        "ser-kernel.inc"
-       .include        "ser-error.inc"
+        .include        "zeropage.inc"
+        .include        "ser-kernel.inc"
+        .include        "ser-error.inc"
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment        "JUMPTABLE"
+        .segment        "JUMPTABLE"
 
-       ; Driver signature
-       .byte   $73, $65, $72           ; "ser"
-       .byte   SER_API_VERSION         ; Serial API version number
+        ; Driver signature
+        .byte   $73, $65, $72           ; "ser"
+        .byte   SER_API_VERSION         ; Serial API version number
 
-       ; Jump table.
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   OPEN
-       .addr   CLOSE
-       .addr   GET
-       .addr   PUT
-       .addr   STATUS
-       .addr   IOCTL
-       .addr   IRQ
+        ; Jump table.
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   OPEN
+        .addr   CLOSE
+        .addr   GET
+        .addr   PUT
+        .addr   STATUS
+        .addr   IOCTL
+        .addr   IRQ
 
 ;----------------------------------------------------------------------------
 ; I/O definitions
 
-ACIA           = $031C
-ACIA_DATA      = ACIA+0        ; Data register
-ACIA_STATUS    = ACIA+1        ; Status register
-ACIA_CMD       = ACIA+2        ; Command register
-ACIA_CTRL      = ACIA+3        ; Control register
+ACIA            = $031C
+ACIA_DATA       = ACIA+0        ; Data register
+ACIA_STATUS     = ACIA+1        ; Status register
+ACIA_CMD        = ACIA+2        ; Command register
+ACIA_CTRL       = ACIA+3        ; Control register
 
 ;----------------------------------------------------------------------------
 ; Global variables
 
-       .bss
-
-RecvHead:      .res    1       ; Head of receive buffer
-RecvTail:      .res    1       ; Tail of receive buffer
-RecvFreeCnt:   .res    1       ; Number of bytes in receive buffer
-SendHead:      .res    1       ; Head of send buffer
-SendTail:      .res    1       ; Tail of send buffer
-SendFreeCnt:   .res    1       ; Number of bytes in send buffer
-
-Stopped:       .res    1       ; Flow-stopped flag
-RtsOff:                .res    1       ;
-
-RecvBuf:       .res    256     ; Receive buffers: 256 bytes
-SendBuf:       .res    256     ; Send buffers: 256 bytes
-
-Index:         .res    1       ; I/O register index
-
-       .rodata
-
-       ; Tables used to translate RS232 params into register values
-BaudTable:                     ; bit7 = 1 means setting is invalid
-       .byte   $FF             ; SER_BAUD_45_5
-       .byte   $01             ; SER_BAUD_50
-       .byte   $02             ; SER_BAUD_75
-       .byte   $03             ; SER_BAUD_110
-       .byte   $04             ; SER_BAUD_134_5
-       .byte   $05             ; SER_BAUD_150
-       .byte   $06             ; SER_BAUD_300
-       .byte   $07             ; SER_BAUD_600
-       .byte   $08             ; SER_BAUD_1200
-       .byte   $09             ; SER_BAUD_1800
-       .byte   $0A             ; SER_BAUD_2400
-       .byte   $0B             ; SER_BAUD_3600
-       .byte   $0C             ; SER_BAUD_4800
-       .byte   $0D             ; SER_BAUD_7200
-       .byte   $0E             ; SER_BAUD_9600
-       .byte   $0F             ; SER_BAUD_19200
-       .byte   $FF             ; SER_BAUD_38400
-       .byte   $FF             ; SER_BAUD_57600
-       .byte   $FF             ; SER_BAUD_115200
-       .byte   $FF             ; SER_BAUD_230400
+        .bss
+
+RecvHead:       .res    1       ; Head of receive buffer
+RecvTail:       .res    1       ; Tail of receive buffer
+RecvFreeCnt:    .res    1       ; Number of bytes in receive buffer
+SendHead:       .res    1       ; Head of send buffer
+SendTail:       .res    1       ; Tail of send buffer
+SendFreeCnt:    .res    1       ; Number of bytes in send buffer
+
+Stopped:        .res    1       ; Flow-stopped flag
+RtsOff:         .res    1       ;
+
+RecvBuf:        .res    256     ; Receive buffers: 256 bytes
+SendBuf:        .res    256     ; Send buffers: 256 bytes
+
+Index:          .res    1       ; I/O register index
+
+        .rodata
+
+        ; Tables used to translate RS232 params into register values
+BaudTable:                      ; bit7 = 1 means setting is invalid
+        .byte   $FF             ; SER_BAUD_45_5
+        .byte   $01             ; SER_BAUD_50
+        .byte   $02             ; SER_BAUD_75
+        .byte   $03             ; SER_BAUD_110
+        .byte   $04             ; SER_BAUD_134_5
+        .byte   $05             ; SER_BAUD_150
+        .byte   $06             ; SER_BAUD_300
+        .byte   $07             ; SER_BAUD_600
+        .byte   $08             ; SER_BAUD_1200
+        .byte   $09             ; SER_BAUD_1800
+        .byte   $0A             ; SER_BAUD_2400
+        .byte   $0B             ; SER_BAUD_3600
+        .byte   $0C             ; SER_BAUD_4800
+        .byte   $0D             ; SER_BAUD_7200
+        .byte   $0E             ; SER_BAUD_9600
+        .byte   $0F             ; SER_BAUD_19200
+        .byte   $FF             ; SER_BAUD_38400
+        .byte   $FF             ; SER_BAUD_57600
+        .byte   $FF             ; SER_BAUD_115200
+        .byte   $FF             ; SER_BAUD_230400
 BitTable:
-       .byte   $60             ; SER_BITS_5
-       .byte   $40             ; SER_BITS_6
-       .byte   $20             ; SER_BITS_7
-       .byte   $00             ; SER_BITS_8
+        .byte   $60             ; SER_BITS_5
+        .byte   $40             ; SER_BITS_6
+        .byte   $20             ; SER_BITS_7
+        .byte   $00             ; SER_BITS_8
 StopTable:
-       .byte   $00             ; SER_STOP_1
-       .byte   $80             ; SER_STOP_2
+        .byte   $00             ; SER_STOP_1
+        .byte   $80             ; SER_STOP_2
 ParityTable:
-       .byte   $00             ; SER_PAR_NONE
-       .byte   $20             ; SER_PAR_ODD
-       .byte   $60             ; SER_PAR_EVEN
-       .byte   $A0             ; SER_PAR_MARK
-       .byte   $E0             ; SER_PAR_SPACE
+        .byte   $00             ; SER_PAR_NONE
+        .byte   $20             ; SER_PAR_ODD
+        .byte   $60             ; SER_PAR_EVEN
+        .byte   $A0             ; SER_PAR_MARK
+        .byte   $E0             ; SER_PAR_SPACE
 
-       .code
+        .code
 
 ;----------------------------------------------------------------------------
 ; INSTALL: Is called after the driver is loaded into memory. If possible,
@@ -134,91 +134,91 @@ ParityTable:
 INSTALL:
 UNINSTALL:
 CLOSE:
-       ldx     Index           ; Check for open port
-       beq     :+
+        ldx     Index           ; Check for open port
+        beq     :+
 
-       ; Deactivate DTR and disable 6551 interrupts
-       lda     #%00001010
-       sta     ACIA_CMD,x
+        ; Deactivate DTR and disable 6551 interrupts
+        lda     #%00001010
+        sta     ACIA_CMD,x
 
-       ; Done, return an error code
-:      lda     #<SER_ERR_OK
-       tax                     ; A is zero
-       stx     Index           ; Mark port as closed
-       rts
+        ; Done, return an error code
+:       lda     #<SER_ERR_OK
+        tax                     ; A is zero
+        stx     Index           ; Mark port as closed
+        rts
 
 ;----------------------------------------------------------------------------
 ; OPEN: A pointer to a ser_params structure is passed in ptr1.
 ; Must return an SER_ERR_xx code in a/x.
 
 OPEN:
-       ; Check if the handshake setting is valid
-       ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
-       lda     (ptr1),y
-       cmp     #SER_HS_HW              ; This is all we support
-       bne     InvParam
-
-       ; Initialize buffers
-       ldy     #$00
-       sty     Stopped
-       sty     RecvHead
-       sty     RecvTail
-       sty     SendHead
-       sty     SendTail
-       dey                             ; Y = 255
-       sty     RecvFreeCnt
-       sty     SendFreeCnt
-
-       ; Set the value for the control register, which contains stop bits,
-       ; word length and the baud rate.
-       ldy     #SER_PARAMS::BAUDRATE
-       lda     (ptr1),y                ; Baudrate index
-       tay
-       lda     BaudTable,y             ; Get 6551 value
-       bmi     InvBaud                 ; Branch if rate not supported
-       sta     tmp1
-
-       ldy     #SER_PARAMS::DATABITS   ; Databits
-       lda     (ptr1),y
-       tay
-       lda     BitTable,y
-       ora     tmp1
-       sta     tmp1
-
-       ldy     #SER_PARAMS::STOPBITS   ; Stopbits
-       lda     (ptr1),y
-       tay
-       lda     StopTable,y
-       ora     tmp1
-       ora     #%00010000              ; Receiver clock source = baudrate
-       sta     ACIA_CTRL
-
-       ; Set the value for the command register. We remember the base value
-       ; in RtsOff, since we will have to manipulate ACIA_CMD often.
-       ldy     #SER_PARAMS::PARITY     ; Parity
-       lda     (ptr1),y
-       tay
-       lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-       ora     #%00001000              ; Enable receive interrupts
-       sta     ACIA_CMD
-
-       ; Done
-       stx     Index                   ; Mark port as open
-       lda     #<SER_ERR_OK
-       tax                             ; A is zero
-       rts
-
-       ; Invalid parameter
-InvParam:lda   #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
-
-       ; Baud rate not available
-InvBaud:lda    #<SER_ERR_BAUD_UNAVAIL
-       ldx     #>SER_ERR_BAUD_UNAVAIL
-       rts
+        ; Check if the handshake setting is valid
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
+        lda     (ptr1),y
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
+
+        ; Initialize buffers
+        ldy     #$00
+        sty     Stopped
+        sty     RecvHead
+        sty     RecvTail
+        sty     SendHead
+        sty     SendTail
+        dey                             ; Y = 255
+        sty     RecvFreeCnt
+        sty     SendFreeCnt
+
+        ; Set the value for the control register, which contains stop bits,
+        ; word length and the baud rate.
+        ldy     #SER_PARAMS::BAUDRATE
+        lda     (ptr1),y                ; Baudrate index
+        tay
+        lda     BaudTable,y             ; Get 6551 value
+        bmi     InvBaud                 ; Branch if rate not supported
+        sta     tmp1
+
+        ldy     #SER_PARAMS::DATABITS   ; Databits
+        lda     (ptr1),y
+        tay
+        lda     BitTable,y
+        ora     tmp1
+        sta     tmp1
+
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
+        lda     (ptr1),y
+        tay
+        lda     StopTable,y
+        ora     tmp1
+        ora     #%00010000              ; Receiver clock source = baudrate
+        sta     ACIA_CTRL
+
+        ; Set the value for the command register. We remember the base value
+        ; in RtsOff, since we will have to manipulate ACIA_CMD often.
+        ldy     #SER_PARAMS::PARITY     ; Parity
+        lda     (ptr1),y
+        tay
+        lda     ParityTable,y
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
+        sta     ACIA_CMD
+
+        ; Done
+        stx     Index                   ; Mark port as open
+        lda     #<SER_ERR_OK
+        tax                             ; A is zero
+        rts
+
+        ; Invalid parameter
+InvParam:lda    #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
+
+        ; Baud rate not available
+InvBaud:lda     #<SER_ERR_BAUD_UNAVAIL
+        ldx     #>SER_ERR_BAUD_UNAVAIL
+        rts
 
 ;----------------------------------------------------------------------------
 ; GET: Will fetch a character from the receive buffer and store it into the
@@ -226,82 +226,82 @@ InvBaud:lda       #<SER_ERR_BAUD_UNAVAIL
 ; returned.
 
 GET:
-       ldy     SendFreeCnt     ; Send data if necessary
-       iny                     ; Y == $FF?
-       beq     :+
-       lda     #$00            ; TryHard = false
-       jsr     TryToSend
-
-       ; Check for buffer empty
-:      lda     RecvFreeCnt     ; (25)
-       cmp     #$FF
-       bne     :+
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
-
-       ; Check for flow stopped & enough free: release flow control
-:      ldy     Stopped         ; (34)
-       beq     :+
-       cmp     #63
-       bcc     :+
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
-       sta     ACIA_CMD
-
-       ; Get byte from buffer
-:      ldy     RecvHead        ; (41)
-       lda     RecvBuf,y
-       inc     RecvHead
-       inc     RecvFreeCnt
-       ldx     #$00            ; (59)
-       sta     (ptr1,x)
-       txa                     ; Return code = 0
-       rts
+        ldy     SendFreeCnt     ; Send data if necessary
+        iny                     ; Y == $FF?
+        beq     :+
+        lda     #$00            ; TryHard = false
+        jsr     TryToSend
+
+        ; Check for buffer empty
+:       lda     RecvFreeCnt     ; (25)
+        cmp     #$FF
+        bne     :+
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
+
+        ; Check for flow stopped & enough free: release flow control
+:       ldy     Stopped         ; (34)
+        beq     :+
+        cmp     #63
+        bcc     :+
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
+        sta     ACIA_CMD
+
+        ; Get byte from buffer
+:       ldy     RecvHead        ; (41)
+        lda     RecvBuf,y
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00            ; (59)
+        sta     (ptr1,x)
+        txa                     ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
 ; Must return an SER_ERR_xx code in a/x.
 
 PUT:
-       ; Try to send
-       ldy     SendFreeCnt
-       iny                     ; Y = $FF?
-       beq     :+
-       pha
-       lda     #$00            ; TryHard = false
-       jsr     TryToSend
-       pla
-
-       ; Put byte into send buffer & send
-:      ldy     SendFreeCnt
-       bne     :+
-       lda     #<SER_ERR_OVERFLOW
-       ldx     #>SER_ERR_OVERFLOW
-       rts
-
-:      ldy     SendTail
-       sta     SendBuf,y
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$FF            ; TryHard = true
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-       rts
+        ; Try to send
+        ldy     SendFreeCnt
+        iny                     ; Y = $FF?
+        beq     :+
+        pha
+        lda     #$00            ; TryHard = false
+        jsr     TryToSend
+        pla
+
+        ; Put byte into send buffer & send
+:       ldy     SendFreeCnt
+        bne     :+
+        lda     #<SER_ERR_OVERFLOW
+        ldx     #>SER_ERR_OVERFLOW
+        rts
+
+:       ldy     SendTail
+        sta     SendBuf,y
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$FF            ; TryHard = true
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
 ; Must return an SER_ERR_xx code in a/x.
 
 STATUS:
-       lda     ACIA_STATUS
-       ldx     #$00
-       sta     (ptr1,x)
-       txa                     ; SER_ERR_OK
-       rts
+        lda     ACIA_STATUS
+        ldx     #$00
+        sta     (ptr1,x)
+        txa                     ; SER_ERR_OK
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -309,9 +309,9 @@ STATUS:
 ; Must return an SER_ERR_xx code in a/x.
 
 IOCTL:
-       lda     #<SER_ERR_INV_IOCTL
-       ldx     #>SER_ERR_INV_IOCTL
-       rts
+        lda     #<SER_ERR_INV_IOCTL
+        ldx     #>SER_ERR_INV_IOCTL
+        rts
 
 ;----------------------------------------------------------------------------
 ; IRQ: Called from the builtin runtime IRQ handler as a subroutine. All
@@ -320,55 +320,55 @@ IOCTL:
 ; was handled, otherwise with carry clear.
 
 IRQ:
-       ldx     Index           ; Check for open port
-       beq     Done
-       lda     ACIA_STATUS,x   ; Check ACIA status for receive interrupt
-       and     #$08
-       beq     Done            ; Jump if no ACIA interrupt
-       lda     ACIA_DATA,x     ; Get byte from ACIA
-       ldy     RecvFreeCnt     ; Check if we have free space left
-       beq     Flow            ; Jump if no space in receive buffer
-       ldy     RecvTail        ; Load buffer pointer
-       sta     RecvBuf,y       ; Store received byte in buffer
-       inc     RecvTail        ; Increment buffer pointer
-       dec     RecvFreeCnt     ; Decrement free space counter
-       ldy     RecvFreeCnt     ; Check for buffer space low
-       cpy     #33
-       bcc     Flow            ; Assert flow control if buffer space low
-       rts                     ; Interrupt handled (carry already set)
-
-       ; Assert flow control if buffer space too low
-Flow:  lda     RtsOff
-       sta     ACIA_CMD,x
-       sta     Stopped
-       sec                     ; Interrupt handled
-Done:  rts
+        ldx     Index           ; Check for open port
+        beq     Done
+        lda     ACIA_STATUS,x   ; Check ACIA status for receive interrupt
+        and     #$08
+        beq     Done            ; Jump if no ACIA interrupt
+        lda     ACIA_DATA,x     ; Get byte from ACIA
+        ldy     RecvFreeCnt     ; Check if we have free space left
+        beq     Flow            ; Jump if no space in receive buffer
+        ldy     RecvTail        ; Load buffer pointer
+        sta     RecvBuf,y       ; Store received byte in buffer
+        inc     RecvTail        ; Increment buffer pointer
+        dec     RecvFreeCnt     ; Decrement free space counter
+        ldy     RecvFreeCnt     ; Check for buffer space low
+        cpy     #33
+        bcc     Flow            ; Assert flow control if buffer space low
+        rts                     ; Interrupt handled (carry already set)
+
+        ; Assert flow control if buffer space too low
+Flow:   lda     RtsOff
+        sta     ACIA_CMD,x
+        sta     Stopped
+        sec                     ; Interrupt handled
+Done:   rts
 
 ;----------------------------------------------------------------------------
 ; Try to send a byte. Internal routine. A = TryHard
 
 TryToSend:
-       sta     tmp1            ; Remember tryHard flag
-Again: lda     SendFreeCnt
-       cmp     #$FF
-       beq     Quit            ; Bail out
-
-       ; Check for flow stopped
-       lda     Stopped
-       bne     Quit            ; Bail out
-
-       ; Check that ACIA is ready to send
-       lda     ACIA_STATUS
-       and     #$10
-       bne     Send
-       bit     tmp1            ; Keep trying if must try hard
-       bmi     Again
-Quit:  rts
-
-       ; Send byte and try again
-Send:  ldy     SendHead
-       lda     SendBuf,y
-       sta     ACIA_DATA
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     Again
+        sta     tmp1            ; Remember tryHard flag
+Again:  lda     SendFreeCnt
+        cmp     #$FF
+        beq     Quit            ; Bail out
+
+        ; Check for flow stopped
+        lda     Stopped
+        bne     Quit            ; Bail out
+
+        ; Check that ACIA is ready to send
+        lda     ACIA_STATUS
+        and     #$10
+        bne     Send
+        bit     tmp1            ; Keep trying if must try hard
+        bmi     Again
+Quit:   rts
+
+        ; Send byte and try again
+Send:   ldy     SendHead
+        lda     SendBuf,y
+        sta     ACIA_DATA
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     Again
index a909bcf15642fed443d5e7d2f27130568c811407..cb6d8b933e46a143ca5d0f10f87cd5df56ffaf7e 100644 (file)
@@ -1,12 +1,12 @@
-       .export         store_filename
-       .importzp       ptr1
+        .export         store_filename
+        .importzp       ptr1
 
 store_filename:
-       sta     ptr1
-       stx     ptr1+1
-       ldy     #$0f   ;store filename
-:      lda     (ptr1),y
-       sta     $027f,y
-       dey
-       bpl     :-
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #$0f   ;store filename
+:       lda     (ptr1),y
+        sta     $027f,y
+        dey
+        bpl     :-
+        rts
index 1d039e80e0ac43fc79e4baa583a12bc17b8894a3..d22b8c596c8dff2f4624405b064373c8d7e20663 100644 (file)
@@ -9,7 +9,7 @@
 ;  */
 ;
 
-       .export         __systime
+        .export         __systime
 
         .importzp       sreg
 
index d86ce504754562f0d28d204f051c8d78a37ec899..546f942abf019c97adcc524fdbc962ff5ea2502c 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned char __fastcall__ _sysuname (struct utsname* buf);
 ;
 
-       .export         __sysuname, utsdata
+        .export         __sysuname, utsdata
 
-       .import         utscopy
+        .import         utscopy
 
-       __sysuname = utscopy
+        __sysuname = utscopy
 
 ;--------------------------------------------------------------------------
 ; Data. We define a fixed utsname struct here and just copy it.
 .rodata
 
 utsdata:
-       ; sysname
-       .asciiz         "cc65"
-
-       ; nodename
-       .asciiz         ""
-
-       ; release
-       .byte           ((.VERSION >> 8) & $0F) + '0'
-       .byte           '.'
-       .if             ((.VERSION >> 4) & $0F) > 9
-       .byte           ((.VERSION >> 4) & $0F) / 10 + '0'
-       .byte           ((.VERSION >> 4) & $0F) .MOD 10 + '0'
-       .else
-       .byte           ((.VERSION >> 4) & $0F) + '0'
-       .endif
-       .byte           $00
-
-       ; version
-       .if             (.VERSION & $0F) > 9
-       .byte           (.VERSION & $0F) / 10 + '0'
-       .byte           (.VERSION & $0F) .MOD 10 + '0'
-       .else
-       .byte           (.VERSION & $0F) + '0'
-       .endif
-       .byte           $00
-
-       ; machine
-       .asciiz         "Oric Atmos"
+        ; sysname
+        .asciiz         "cc65"
+
+        ; nodename
+        .asciiz         ""
+
+        ; release
+        .byte           ((.VERSION >> 8) & $0F) + '0'
+        .byte           '.'
+        .if             ((.VERSION >> 4) & $0F) > 9
+        .byte           ((.VERSION >> 4) & $0F) / 10 + '0'
+        .byte           ((.VERSION >> 4) & $0F) .MOD 10 + '0'
+        .else
+        .byte           ((.VERSION >> 4) & $0F) + '0'
+        .endif
+        .byte           $00
+
+        ; version
+        .if             (.VERSION & $0F) > 9
+        .byte           (.VERSION & $0F) / 10 + '0'
+        .byte           (.VERSION & $0F) .MOD 10 + '0'
+        .else
+        .byte           (.VERSION & $0F) + '0'
+        .endif
+        .byte           $00
+
+        ; machine
+        .asciiz         "Oric Atmos"
index 03a9ce7dff5f62904a83fc356fa804ee93c5b4fb..9417fff0d92c85086cc623785f582124cf013dd4 100644 (file)
@@ -5,59 +5,59 @@
 ; 2012-08-11, Greg King <greg.king5@verizon.net>
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
-       .include        "atmos.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
+        .include        "atmos.inc"
 
-       .macpack        generic
+        .macpack        generic
 
-XSIZE  =       6               ; System font width
-YSIZE  =       8               ; System font height
+XSIZE   =       6               ; System font width
+YSIZE   =       8               ; System font height
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table and constants.
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; The first part of the header is a structure that has a signature,
 ; and defines the capabilities of the driver.
 
-       .byte   "tgi"
-       .byte   TGI_API_VERSION ; TGI API version number
-       .word   228             ; x resolution
-       .word   200             ; y resolution
-       .byte   3               ; Number of drawing colors
-       .byte   1               ; Number of screens available
-       .byte   XSIZE           ; System font x size
-       .byte   YSIZE           ; System font y size
-       .word   $011C           ; Aspect ratio (based on 4/3 display)
-       .byte   0               ; TGI driver flags
+        .byte   "tgi"
+        .byte   TGI_API_VERSION ; TGI API version number
+        .word   228             ; x resolution
+        .word   200             ; y resolution
+        .byte   3               ; Number of drawing colors
+        .byte   1               ; Number of screens available
+        .byte   XSIZE           ; System font x size
+        .byte   YSIZE           ; System font y size
+        .word   $011C           ; Aspect ratio (based on 4/3 display)
+        .byte   0               ; TGI driver flags
 
 ; Next comes the jump table. Currently, all entries must be valid;
 ; and, may point to an RTS, for test versions (function not implemented).
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   INIT
-       .addr   DONE
-       .addr   GETERROR
-       .addr   CONTROL
-       .addr   CLEAR
-       .addr   SETVIEWPAGE
-       .addr   SETDRAWPAGE
-       .addr   SETCOLOR
-       .addr   SETPALETTE
-       .addr   GETPALETTE
-       .addr   GETDEFPALETTE
-       .addr   SETPIXEL
-       .addr   GETPIXEL
-       .addr   LINE
-       .addr   BAR
-       .addr   TEXTSTYLE
-       .addr   OUTTEXT
-       .addr   0               ; IRQ entry is unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   INIT
+        .addr   DONE
+        .addr   GETERROR
+        .addr   CONTROL
+        .addr   CLEAR
+        .addr   SETVIEWPAGE
+        .addr   SETDRAWPAGE
+        .addr   SETCOLOR
+        .addr   SETPALETTE
+        .addr   GETPALETTE
+        .addr   GETDEFPALETTE
+        .addr   SETPIXEL
+        .addr   GETPIXEL
+        .addr   LINE
+        .addr   BAR
+        .addr   TEXTSTYLE
+        .addr   OUTTEXT
+        .addr   0               ; IRQ entry is unused
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -65,34 +65,34 @@ YSIZE       =       8               ; System font height
 ; Variables mapped to the zero-page segment variables. These are
 ; used for passing parameters to the driver.
 
-X1     :=      ptr1
-Y1     :=      ptr2
-X2     :=      ptr3
-Y2     :=      ptr4
+X1      :=      ptr1
+Y1      :=      ptr2
+X2      :=      ptr3
+Y2      :=      ptr4
 
 ; Absolute variables used in the code
 
 .bss
 
-ERROR:         .res    1       ; Error code
-MODE:          .res    1       ; Graphics mode
-PALETTE:       .res    2
+ERROR:          .res    1       ; Error code
+MODE:           .res    1       ; Graphics mode
+PALETTE:        .res    2
 
 ; Constants and table
 ; BASIC 1.1 addresses
-PATTERN        :=      $213
-PARAM1 :=      $2E1            ; & $2E2
-PARAM2 :=      $2E3            ; & $2E4
-PARAM3 :=      $2E5            ; & $2E6
-TEXT   :=      $EC21
-HIRES  :=      $EC33
-CURSET :=      $F0C8
-CURMOV :=      $F0FD
-DRAW   :=      $F110
-CHAR   :=      $F12D
-POINT  :=      $F1C8
-PAPER  :=      $F204
-INK    :=      $F210
+PATTERN :=      $213
+PARAM1  :=      $2E1            ; & $2E2
+PARAM2  :=      $2E3            ; & $2E4
+PARAM3  :=      $2E5            ; & $2E6
+TEXT    :=      $EC21
+HIRES   :=      $EC33
+CURSET  :=      $F0C8
+CURMOV  :=      $F0FD
+DRAW    :=      $F110
+CHAR    :=      $F12D
+POINT   :=      $F1C8
+PAPER   :=      $F204
+INK     :=      $F210
 
 .rodata
 
@@ -100,7 +100,7 @@ INK :=      $F210
 ; (The third "color" actually flips a pixel
 ; between the foreground and background colors.)
 ;
-DEFPALETTE:    .byte   0, 1
+DEFPALETTE:     .byte   0, 1
 
 .code
 
@@ -121,7 +121,7 @@ INIT:
 
 ; Switch into graphics mode.
 
-       jsr     HIRES
+        jsr     HIRES
 
 ; Done, reset the error code.
 
@@ -129,9 +129,9 @@ INIT:
 ; GETERROR: Return the error code in A, and clear it.
 
 GETERROR:
-       ldx     #TGI_ERR_OK
-       lda     ERROR
-       stx     ERROR
+        ldx     #TGI_ERR_OK
+        lda     ERROR
+        stx     ERROR
 
 ; ------------------------------------------------------------------------
 ; INSTALL routine. Is called after the driver is loaded into memory. May
@@ -151,7 +151,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; DONE: Will be called to switch the graphics device back into text mode.
@@ -161,7 +161,7 @@ UNINSTALL:
 ; Must set an error code: NO
 ;
 
-DONE   :=      TEXT
+DONE    :=      TEXT
 
 ; ------------------------------------------------------------------------
 ; CONTROL: Platform-/driver-specific entry point.
@@ -170,10 +170,10 @@ DONE      :=      TEXT
 ;
 
 CONTROL:
-       sta     PATTERN
-       lda     #TGI_ERR_OK
-       sta     ERROR
-       rts
+        sta     PATTERN
+        lda     #TGI_ERR_OK
+        sta     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CLEAR: Clears the screen.
@@ -181,7 +181,7 @@ CONTROL:
 ; Must set an error code: NO
 ;
 
-CLEAR  :=      HIRES
+CLEAR   :=      HIRES
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -200,7 +200,7 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color already is checked
@@ -210,8 +210,8 @@ SETDRAWPAGE:
 ;
 
 SETCOLOR:
-       sta     MODE
-       rts
+        sta     MODE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPALETTE: Set the palette (not available with all drivers/hardware).
@@ -222,27 +222,27 @@ SETCOLOR:
 ;
 
 SETPALETTE:
-       ldy     #0
-       jsr     flipcolor
-       sty     PARAM1+1
-       jsr     PAPER
-       ldy     #1
-       jsr     flipcolor
-       dey                     ; TGI_ERR_OK
-       sty     ERROR
-       sty     PARAM1+1
-       jmp     INK
+        ldy     #0
+        jsr     flipcolor
+        sty     PARAM1+1
+        jsr     PAPER
+        ldy     #1
+        jsr     flipcolor
+        dey                     ; TGI_ERR_OK
+        sty     ERROR
+        sty     PARAM1+1
+        jmp     INK
 
 flipcolor:
-       lda     (ptr1),y
-       sta     PALETTE,y
-       cmp     #1
-       beq     @flip
-       cmp     #7
-       bne     @keep
-@flip: eor     #1 ^ 7
-@keep: sta     PARAM1
-       rts
+        lda     (ptr1),y
+        sta     PALETTE,y
+        cmp     #1
+        beq     @flip
+        cmp     #7
+        bne     @keep
+@flip:  eor     #1 ^ 7
+@keep:  sta     PARAM1
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETPALETTE: Return the current palette in A/X. Even drivers that cannot
@@ -253,9 +253,9 @@ flipcolor:
 ;
 
 GETPALETTE:
-       lda     #<PALETTE
-       ldx     #>PALETTE
-       rts
+        lda     #<PALETTE
+        ldx     #>PALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETDEFPALETTE: Return the default palette for the driver in A/X. All
@@ -267,9 +267,9 @@ GETPALETTE:
 ;
 
 GETDEFPALETTE:
-       lda     #<DEFPALETTE
-       ldx     #>DEFPALETTE
-       rts
+        lda     #<DEFPALETTE
+        ldx     #>DEFPALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPIXEL: Draw one pixel at X1/Y1 = ptr1/ptr2 with the current drawing
@@ -280,18 +280,18 @@ GETDEFPALETTE:
 ;
 
 SETPIXEL:
-       lda     Y1
-       sta     PARAM2
-       lda     MODE
-mymode:        sta     PARAM3
-       lda     X1
-       add     #2 * XSIZE      ; Skip screen attribute columns
-       sta     PARAM1
-       lda     #0
-       sta     PARAM1+1
-       sta     PARAM2+1
-       sta     PARAM3+1
-       jmp     CURSET
+        lda     Y1
+        sta     PARAM2
+        lda     MODE
+mymode: sta     PARAM3
+        lda     X1
+        add     #2 * XSIZE      ; Skip screen attribute columns
+        sta     PARAM1
+        lda     #0
+        sta     PARAM1+1
+        sta     PARAM2+1
+        sta     PARAM3+1
+        jmp     CURSET
 
 ; ------------------------------------------------------------------------
 ; GETPIXEL: Read the color value of a pixel, and return it in A/X. The
@@ -299,18 +299,18 @@ mymode:   sta     PARAM3
 ; area, so there is no need for clipping inside this function.
 
 GETPIXEL:
-       lda     X1
-       sta     PARAM1
-       lda     Y1
-       sta     PARAM2
-       lda     #0
-       sta     PARAM1+1
-       sta     PARAM2+1
-       jsr     POINT
-       lda     PARAM1
-       and     #%00000001
-       ldx     #0
-       rts
+        lda     X1
+        sta     PARAM1
+        lda     Y1
+        sta     PARAM2
+        lda     #0
+        sta     PARAM1+1
+        sta     PARAM2+1
+        jsr     POINT
+        lda     PARAM1
+        and     #%00000001
+        ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; LINE: Draw a line from X1/Y1 to X2/Y2, where X1/Y1 = ptr1/ptr2 and
@@ -320,24 +320,24 @@ GETPIXEL:
 ;
 
 LINE:
-       jsr     SETPIXEL
-       lda     X2
-       sub     X1
-       sta     PARAM1
-       lda     X2+1
-       sbc     X1+1
-       sta     PARAM1+1
-       lda     Y2
-       sub     Y1
-       sta     PARAM2
-       lda     Y2+1
-       sbc     Y1+1
-       sta     PARAM2+1
-       lda     MODE
-       sta     PARAM3
-       ldx     #>0
-       stx     PARAM3+1
-       jmp     DRAW
+        jsr     SETPIXEL
+        lda     X2
+        sub     X1
+        sta     PARAM1
+        lda     X2+1
+        sbc     X1+1
+        sta     PARAM1+1
+        lda     Y2
+        sub     Y1
+        sta     PARAM2
+        lda     Y2+1
+        sbc     Y1+1
+        sta     PARAM2+1
+        lda     MODE
+        sta     PARAM3
+        ldx     #>0
+        stx     PARAM3+1
+        jmp     DRAW
 
 ; ------------------------------------------------------------------------
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
@@ -345,29 +345,29 @@ LINE:
 ; Contrary to most other functions, the graphics kernel will sort and clip
 ; the co-ordinates before calling the driver; so, on entry, the following
 ; conditions are valid:
-;      X1 <= X2
-;      Y1 <= Y2
-;      (X1 >= 0) && (X1 < XRES)
-;      (X2 >= 0) && (X2 < XRES)
-;      (Y1 >= 0) && (Y1 < YRES)
-;      (Y2 >= 0) && (Y2 < YRES)
+;       X1 <= X2
+;       Y1 <= Y2
+;       (X1 >= 0) && (X1 < XRES)
+;       (X2 >= 0) && (X2 < XRES)
+;       (Y1 >= 0) && (Y1 < YRES)
+;       (Y2 >= 0) && (Y2 < YRES)
 ;
 ; Must set an error code: NO
 ;
 
 BAR:
-       inc     Y2
-@L1:   lda     Y2
-       pha
-       lda     Y1
-       sta     Y2
-       jsr     LINE
-       pla
-       sta     Y2
-       inc     Y1
-       cmp     Y1
-       bne     @L1
-       rts
+        inc     Y2
+@L1:    lda     Y2
+        pha
+        lda     Y1
+        sta     Y2
+        jsr     LINE
+        pla
+        sta     Y2
+        inc     Y1
+        cmp     Y1
+        bne     @L1
+        rts
 
 ; ------------------------------------------------------------------------
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in the x
@@ -377,7 +377,7 @@ BAR:
 ;
 
 TEXTSTYLE:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -389,38 +389,38 @@ TEXTSTYLE:
 ;
 
 OUTTEXT:
-       lda     Y1
-       sub     #(YSIZE - 1)
-       sta     PARAM2
-       lda     #3              ; (Move graphics cursor; don't draw)
-       jsr     mymode
-
-       ldy     #0
-@next: lda     (ptr3),y
-       beq     @end
-       sta     PARAM1
-       lda     #0
-       sta     PARAM2
-       sta     PARAM1+1
-       sta     PARAM2+1
-       sta     PARAM3+1
-       lda     MODE
-       sta     PARAM3
-       tya
-       pha
-       jsr     CHAR
-       lda     #XSIZE
-       sta     PARAM1
-       lda     #0
-       sta     PARAM2
-       sta     PARAM1+1
-       sta     PARAM2+1
-       sta     PARAM3+1
-       lda     #3
-       sta     PARAM3
-       jsr     CURMOV
-       pla
-       tay
-       iny
-       bne     @next
-@end:  rts
+        lda     Y1
+        sub     #(YSIZE - 1)
+        sta     PARAM2
+        lda     #3              ; (Move graphics cursor; don't draw)
+        jsr     mymode
+
+        ldy     #0
+@next:  lda     (ptr3),y
+        beq     @end
+        sta     PARAM1
+        lda     #0
+        sta     PARAM2
+        sta     PARAM1+1
+        sta     PARAM2+1
+        sta     PARAM3+1
+        lda     MODE
+        sta     PARAM3
+        tya
+        pha
+        jsr     CHAR
+        lda     #XSIZE
+        sta     PARAM1
+        lda     #0
+        sta     PARAM2
+        sta     PARAM1+1
+        sta     PARAM2+1
+        sta     PARAM3+1
+        lda     #3
+        sta     PARAM3
+        jsr     CURMOV
+        pla
+        tay
+        iny
+        bne     @next
+@end:   rts
index 9027b33407ef4ebb874a91ea0df10c006bec1ab9..735d75f93d52dd103970ec361ec9ba1bd1b8b73c 100644 (file)
@@ -5,58 +5,58 @@
 ; 2012-08-11, Greg King <greg.king5@verizon.net>
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
-       .include        "atmos.inc"
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
+        .include        "atmos.inc"
 
-       .macpack        generic
+        .macpack        generic
 
-XSIZE  =       6                       ; System font width
-YSIZE  =       8                       ; System font height
+XSIZE   =       6                       ; System font width
+YSIZE   =       8                       ; System font height
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table and constants.
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; First part of the header is a structure that has a magic and defines the
 ; capabilities of the driver
 
-       .byte   $74, $67, $69           ; "tgi"
-       .byte   TGI_API_VERSION         ; TGI API version number
-       .word   240                     ; X resolution
-       .word   200                     ; Y resolution
-       .byte   2                       ; Number of drawing colors
-       .byte   1                       ; Number of screens available
-       .byte   XSIZE                   ; System font X size
-       .byte   YSIZE                   ; System font Y size
+        .byte   $74, $67, $69           ; "tgi"
+        .byte   TGI_API_VERSION         ; TGI API version number
+        .word   240                     ; X resolution
+        .word   200                     ; Y resolution
+        .byte   2                       ; Number of drawing colors
+        .byte   1                       ; Number of screens available
+        .byte   XSIZE                   ; System font X size
+        .byte   YSIZE                   ; System font Y size
         .word   $011C                   ; Aspect ratio (based on 4/3 display)
         .byte   0                       ; TGI driver flags
 
 ; Next comes the jump table. Currently all entries must be valid and may point
 ; to an RTS for test versions (function not implemented).
 
-               .addr   INSTALL
-               .addr   UNINSTALL
-               .addr   INIT
-               .addr   DONE
-               .addr   GETERROR
-               .addr   CONTROL
-               .addr   CLEAR
-               .addr   SETVIEWPAGE
-               .addr   SETDRAWPAGE
-               .addr   SETCOLOR
-               .addr   SETPALETTE
-               .addr   GETPALETTE
-               .addr   GETDEFPALETTE
-               .addr   SETPIXEL
-               .addr   GETPIXEL
-               .addr   LINE
-               .addr   BAR
-               .addr   TEXTSTYLE
-               .addr   OUTTEXT
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   INIT
+        .addr   DONE
+        .addr   GETERROR
+        .addr   CONTROL
+        .addr   CLEAR
+        .addr   SETVIEWPAGE
+        .addr   SETDRAWPAGE
+        .addr   SETCOLOR
+        .addr   SETPALETTE
+        .addr   GETPALETTE
+        .addr   GETDEFPALETTE
+        .addr   SETPIXEL
+        .addr   GETPIXEL
+        .addr   LINE
+        .addr   BAR
+        .addr   TEXTSTYLE
+        .addr   OUTTEXT
         .addr   0                       ; IRQ entry is unused
 
 ; ------------------------------------------------------------------------
@@ -65,35 +65,35 @@ YSIZE       =       8                       ; System font height
 ; Variables mapped to the zero page segment variables. Some of these are
 ; used for passing parameters to the driver.
 
-X1             = ptr1
-Y1             = ptr2
-X2             = ptr3
-Y2             = ptr4
+X1              = ptr1
+Y1              = ptr2
+X2              = ptr3
+Y2              = ptr4
 
 ; Absolute variables used in the code
 
 .bss
 
-ERROR:         .res    1       ; Error code
-MODE:          .res    1       ; Graphics mode
+ERROR:          .res    1       ; Error code
+MODE:           .res    1       ; Graphics mode
 
 ; Constants and tables
-PARAM1         = $2E1
-PARAM2         = $2E3
-PARAM3         = $2E5
-TEXT           = $EC21
-HIRES          = $EC33
-CURSET         = $F0C8
-CURMOV         = $F0FD
-DRAW           = $F110
-CHAR           = $F12D
-POINT          = $F1C8
-PAPER          = $F204
-INK            = $F210
+PARAM1          = $2E1
+PARAM2          = $2E3
+PARAM3          = $2E5
+TEXT            = $EC21
+HIRES           = $EC33
+CURSET          = $F0C8
+CURMOV          = $F0FD
+DRAW            = $F110
+CHAR            = $F12D
+POINT           = $F1C8
+PAPER           = $F204
+INK             = $F210
 
 .rodata
 
-DEFPALETTE:    .byte   0, 1
+DEFPALETTE:     .byte   0, 1
 
 .code
 
@@ -115,7 +115,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; INIT: Changes an already installed device from text mode to graphics
@@ -135,13 +135,13 @@ INIT:
 
 ; Switch into graphics mode
 
-       jsr     HIRES
+        jsr     HIRES
 
 ; Done, reset the error code
 
-       lda     #TGI_ERR_OK
-       sta     ERROR
-       rts
+        lda     #TGI_ERR_OK
+        sta     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; DONE: Will be called to switch the graphics device back into text mode.
@@ -151,16 +151,16 @@ INIT:
 ; Must set an error code: NO
 ;
 
-DONE           = TEXT
+DONE            = TEXT
 
 ; ------------------------------------------------------------------------
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-       ldx     #TGI_ERR_OK
-       lda     ERROR
-       stx     ERROR
-       rts
+        ldx     #TGI_ERR_OK
+        lda     ERROR
+        stx     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CONTROL: Platform/driver specific entry point.
@@ -169,10 +169,10 @@ GETERROR:
 ;
 
 CONTROL:
-       sta     $213
-       lda     #TGI_ERR_OK
-       sta     ERROR
-       rts
+        sta     $213
+        lda     #TGI_ERR_OK
+        sta     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CLEAR: Clears the screen.
@@ -180,7 +180,7 @@ CONTROL:
 ; Must set an error code: NO
 ;
 
-CLEAR          = HIRES
+CLEAR           = HIRES
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -199,7 +199,7 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
@@ -209,8 +209,8 @@ SETDRAWPAGE:
 ;
 
 SETCOLOR:
-       sta     MODE
-       rts
+        sta     MODE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPALETTE: Set the palette (not available with all drivers/hardware).
@@ -221,9 +221,9 @@ SETCOLOR:
 ;
 
 SETPALETTE:
-       lda     #TGI_ERR_INV_FUNC       ; This resolution has no palette
-       sta     ERROR
-       rts
+        lda     #TGI_ERR_INV_FUNC       ; This resolution has no palette
+        sta     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETPALETTE: Return the current palette in A/X. Even drivers that cannot
@@ -245,9 +245,9 @@ GETPALETTE:
 ;
 
 GETDEFPALETTE:
-       lda     #<DEFPALETTE
-       ldx     #>DEFPALETTE
-       rts
+        lda     #<DEFPALETTE
+        ldx     #>DEFPALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPIXEL: Draw one pixel at X1/Y1 = ptr1/ptr2 with the current drawing
@@ -258,17 +258,17 @@ GETDEFPALETTE:
 ;
 
 SETPIXEL:
-       lda     Y1
-       sta     PARAM2
-       lda     MODE
-mymode:        sta     PARAM3
-       lda     X1
-       sta     PARAM1
-       lda     #0
-       sta     PARAM1+1
-       sta     PARAM2+1
-       sta     PARAM3+1
-       jmp     CURSET
+        lda     Y1
+        sta     PARAM2
+        lda     MODE
+mymode: sta     PARAM3
+        lda     X1
+        sta     PARAM1
+        lda     #0
+        sta     PARAM1+1
+        sta     PARAM2+1
+        sta     PARAM3+1
+        jmp     CURSET
 
 ; ------------------------------------------------------------------------
 ; GETPIXEL: Read the color value of a pixel and return it in A/X. The
@@ -276,18 +276,18 @@ mymode:   sta     PARAM3
 ; area, so there is no need for clipping inside this function.
 
 GETPIXEL:
-       lda     X1
-       sta     PARAM1
-       lda     Y1
-       sta     PARAM2
-       lda     #0
-       sta     PARAM1+1
-       sta     PARAM2+1
-       jsr     POINT
-       lda     PARAM1
-       and     #%00000001
-       ldx     #0
-       rts
+        lda     X1
+        sta     PARAM1
+        lda     Y1
+        sta     PARAM2
+        lda     #0
+        sta     PARAM1+1
+        sta     PARAM2+1
+        jsr     POINT
+        lda     PARAM1
+        and     #%00000001
+        ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; LINE: Draw a line from X1/Y1 to X2/Y2, where X1/Y1 = ptr1/ptr2 and
@@ -297,24 +297,24 @@ GETPIXEL:
 ;
 
 LINE:
-       jsr     SETPIXEL
-       lda     X2
-       sub     X1
-       sta     PARAM1
-       lda     X2+1
-       sbc     X1+1
-       sta     PARAM1+1
-       lda     Y2
-       sub     Y1
-       sta     PARAM2
-       lda     Y2+1
-       sbc     Y1+1
-       sta     PARAM2+1
-       lda     MODE
-       sta     PARAM3
-       ldx     #>0
-       stx     PARAM3+1
-       jmp     DRAW
+        jsr     SETPIXEL
+        lda     X2
+        sub     X1
+        sta     PARAM1
+        lda     X2+1
+        sbc     X1+1
+        sta     PARAM1+1
+        lda     Y2
+        sub     Y1
+        sta     PARAM2
+        lda     Y2+1
+        sbc     Y1+1
+        sta     PARAM2+1
+        lda     MODE
+        sta     PARAM3
+        ldx     #>0
+        stx     PARAM3+1
+        jmp     DRAW
 
 ; ------------------------------------------------------------------------
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
@@ -322,29 +322,29 @@ LINE:
 ; Contrary to most other functions, the graphics kernel will sort and clip
 ; the coordinates before calling the driver, so on entry the following
 ; conditions are valid:
-;      X1 <= X2
-;      Y1 <= Y2
-;      (X1 >= 0) && (X1 < XRES)
-;      (X2 >= 0) && (X2 < XRES)
-;      (Y1 >= 0) && (Y1 < YRES)
-;      (Y2 >= 0) && (Y2 < YRES)
+;       X1 <= X2
+;       Y1 <= Y2
+;       (X1 >= 0) && (X1 < XRES)
+;       (X2 >= 0) && (X2 < XRES)
+;       (Y1 >= 0) && (Y1 < YRES)
+;       (Y2 >= 0) && (Y2 < YRES)
 ;
 ; Must set an error code: NO
 ;
 
 BAR:
-       inc     Y2
-@L1:   lda     Y2
-       pha
-       lda     Y1
-       sta     Y2
-       jsr     LINE
-       pla
-       sta     Y2
-       inc     Y1
-       cmp     Y1
-       bne     @L1
-       rts
+        inc     Y2
+@L1:    lda     Y2
+        pha
+        lda     Y1
+        sta     Y2
+        jsr     LINE
+        pla
+        sta     Y2
+        inc     Y1
+        cmp     Y1
+        bne     @L1
+        rts
 
 ; ------------------------------------------------------------------------
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
@@ -354,7 +354,7 @@ BAR:
 ;
 
 TEXTSTYLE:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -366,38 +366,38 @@ TEXTSTYLE:
 ;
 
 OUTTEXT:
-       lda     Y1
-       sub     #(YSIZE - 1)
-       sta     PARAM2
-       lda     #3              ; (Move graphics cursor; don't draw)
-       jsr     mymode
-
-       ldy     #0
-@next: lda     (ptr3),y
-       beq     @end
-       sta     PARAM1
-       lda     #0
-       sta     PARAM2
-       sta     PARAM1+1
-       sta     PARAM2+1
-       sta     PARAM3+1
-       lda     MODE
-       sta     PARAM3
-       tya
-       pha
-       jsr     CHAR
-       lda     #XSIZE
-       sta     PARAM1
-       lda     #0
-       sta     PARAM2
-       sta     PARAM1+1
-       sta     PARAM2+1
-       sta     PARAM3+1
-       lda     #3
-       sta     PARAM3
-       jsr     CURMOV
-       pla
-       tay
-       iny
-       bne     @next
-@end:  rts
+        lda     Y1
+        sub     #(YSIZE - 1)
+        sta     PARAM2
+        lda     #3              ; (Move graphics cursor; don't draw)
+        jsr     mymode
+
+        ldy     #0
+@next:  lda     (ptr3),y
+        beq     @end
+        sta     PARAM1
+        lda     #0
+        sta     PARAM2
+        sta     PARAM1+1
+        sta     PARAM2+1
+        sta     PARAM3+1
+        lda     MODE
+        sta     PARAM3
+        tya
+        pha
+        jsr     CHAR
+        lda     #XSIZE
+        sta     PARAM1
+        lda     #0
+        sta     PARAM2
+        sta     PARAM1+1
+        sta     PARAM2+1
+        sta     PARAM3+1
+        lda     #3
+        sta     PARAM3
+        jsr     CURMOV
+        pla
+        tay
+        iny
+        bne     @next
+@end:   rts
index 4dab483e292d0109f3e278a094f0aaaa2b87dd78..6ef3729b40158600c1c4f084c49b5a37c4d3e27e 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $01
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $01
index 89aef440f661bab4c43cd54045ecf406614b6bc4..7411f627666972967b698bab524fc40ef7463ac6 100644 (file)
@@ -6,8 +6,8 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .import        _atmos_240_200_2_tgi
+        .export _tgi_static_stddrv
+        .import _atmos_240_200_2_tgi
 
 .rodata
 
index 905380bcd8d6e91156cdb74b45d4ef6124f4e71a..d5c1a8ebaede270d7f6b6502ce999d518892d327 100644 (file)
@@ -6,8 +6,8 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
-_tgi_stddrv:   .asciiz "atmos-240-200-2.tgi"
+_tgi_stddrv:    .asciiz "atmos-240-200-2.tgi"
index 606fb0b6b7f3c3b6f6a72d6c4927ee575f61140a..69e0cf07ac2400771e2ab029a20cb0cfc8ce8ba0 100644 (file)
@@ -3,12 +3,12 @@
 ; /* Convert a target-specific character to ASCII. */
 ;
 
-.export        _toascii
+.export _toascii
 
-.proc  _toascii
+.proc   _toascii
 
 ; .X must be zero, on return.
-       ldx     #>0
-       rts
+        ldx     #>0
+        rts
 
 .endproc
index 649f1adfef7153047b14752bdd732c8e2013373f..7a2dbadc18abf86c41fe3b313475574e010a161b 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char wherex (void);
 ;
 
-       .export         _wherex
+        .export         _wherex
 
         .include        "atmos.inc"
 
@@ -12,7 +12,7 @@
 
         ldx     #$00
         lda     CURS_X
-       rts
+        rts
 
 .endproc
 
index 3a940c581df2c78f1b4910e06ddae5aaee462b8b..8a2b3443f9d24ff6f09ea449bb812943e45e8bad 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char wherey (void);
 ;
 
-       .export         _wherey
+        .export         _wherey
 
         .include        "atmos.inc"
 
@@ -12,7 +12,7 @@
 
         ldx     #$00
         lda     CURS_Y
-       rts
+        rts
 
 .endproc
 
index b7129dd1a30d23fc57fbfd5078ccfc9eb41f374e..c6399f2bf7c3573377cb1ce586d4bd7c896d1a66 100644 (file)
@@ -6,16 +6,16 @@
 ; This function is a hack!
 ;
 
-       .export         _write
-       .import         popax
-       .importzp       ptr1, ptr2, ptr3, tmp1
+        .export         _write
+        .import         popax
+        .importzp       ptr1, ptr2, ptr3, tmp1
 
-       .include        "atmos.inc"
+        .include        "atmos.inc"
 
 .proc   _write
 
-       sta     ptr3
-               stx     ptr3+1          ; save count as result
+        sta     ptr3
+        stx     ptr3+1          ; save count as result
 
         eor     #$FF
         sta     ptr2
         eor     #$FF
         sta     ptr2+1          ; Remember -count-1
 
-       jsr     popax           ; get buf
-       sta     ptr1
-       stx     ptr1+1
-       jsr     popax           ; get fd and discard
-L1:    inc     ptr2
+        jsr     popax           ; get buf
+        sta     ptr1
+        stx     ptr1+1
+        jsr     popax           ; get fd and discard
+L1:     inc     ptr2
         bne     L2
         inc     ptr2+1
         beq     L9
 L2:     ldy     #0
-       lda     (ptr1),y
+        lda     (ptr1),y
         tax
         cpx     #$0A            ; Check for \n
         bne     L3
         jsr     PRINT
         ldx     #$0D
 L3:     jsr     PRINT
-       inc     ptr1
-       bne     L1
-       inc     ptr1+1
+        inc     ptr1
+        bne     L1
+        inc     ptr1+1
         jmp     L1
 
 ; No error, return count
 
-L9:    lda     ptr3
-       ldx     ptr3+1
-       rts
+L9:     lda     ptr3
+        ldx     ptr3+1
+        rts
 
 .endproc
 
index 1f38ea65cc9689a98e7e9044b6f26ff18c82b0f9..ad01f402c93dd16965f517971cd372ba9cd0c4ab 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
 
         .include        "c128.inc"
 
index 4cb349444942c4f860f485a071b2242d2092076b..f2f872be87d00430c54b892e88abd209e45d099e 100644 (file)
@@ -5,69 +5,69 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
-       .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
-       .importzp       ptr1
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .importzp       ptr1
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 .code
 
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     brk_old+1
-       ora     brk_old+2       ; Did we save the vector already?
-               bne     @L1             ; Jump if we installed the handler already
+        lda     brk_old+1
+        ora     brk_old+2       ; Did we save the vector already?
+        bne     @L1             ; Jump if we installed the handler already
 
-       lda     BRKVec          ; Save the old vector
-       sta     brk_old+1
-       lda     BRKVec+1
-       sta     brk_old+2
+        lda     BRKVec          ; Save the old vector
+        sta     brk_old+1
+        lda     BRKVec+1
+        sta     brk_old+2
 
-       lda     #<brk_stub      ; Set the break vector to our stub
-       ldx     #>brk_stub
-       sta     BRKVec
-       stx     BRKVec+1
+        lda     #<brk_stub      ; Set the break vector to our stub
+        ldx     #>brk_stub
+        sta     BRKVec
+        stx     BRKVec+1
 
-       lda     #<brk_handler   ; Set the indirect vector to our handler
-       ldx     #>brk_handler
-       sta     brk_ind+1
-       stx     brk_ind+2
+        lda     #<brk_handler   ; Set the indirect vector to our handler
+        ldx     #>brk_handler
+        sta     brk_ind+1
+        stx     brk_ind+2
 
-@L1:           rts
+@L1:    rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     brk_old+1
-       ldx     brk_old+2
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     brk_old+1       ; Clear the saved vector
-       sta     brk_old+2
-@L9:   rts
+.proc   _reset_brk
+
+        lda     brk_old+1
+        ldx     brk_old+2
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     brk_old+1       ; Clear the saved vector
+        sta     brk_old+2
+@L9:    rts
 
 .endproc
 
@@ -75,37 +75,37 @@ uservec:            jmp     $FFFF           ; Patched at runtime
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
-
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-               jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
@@ -115,9 +115,9 @@ uservec:            jmp     $FFFF           ; Patched at runtime
 .segment        "LOWCODE"
 
 .proc   brk_stub
-       pla                             ; Get original MMU_CR value
-       sta     MMU_CR                  ; And set it
-               jmp     brk_ind                 ; Jump indirect to break
+        pla                             ; Get original MMU_CR value
+        sta     MMU_CR                  ; And set it
+        jmp     brk_ind                 ; Jump indirect to break
 .endproc
 
 ; ------------------------------------------------------------------------
index bc3f9d36ca9b517c71e61055fad2ef7d54ceebf7..053e67dfc7d122967af337f1b6af5259b1d7f456 100644 (file)
@@ -5,8 +5,8 @@
 ; /* Switch the C128 into C64 mode. Note: This function will not return! */
 ;
 
-       .export         _c64mode
+        .export         _c64mode
         .import         C64MODE
 
-               _c64mode        = C64MODE
+        _c64mode        = C64MODE
 
index 78e06b1eb84b84e8e7594d6b5cea1155e2bfb0d0..46f13d197c18214c54e4429d7f3a19d19cb428d0 100644 (file)
@@ -4,18 +4,18 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
+        .export         _cgetc
         .constructor    initcgetc
         .destructor     donecgetc
 
-       .import         cursor
+        .import         cursor
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 ;--------------------------------------------------------------------------
 
-_cgetc:        lda     KEY_COUNT       ; Get number of characters
-               bne     L2              ; Jump if there are already chars waiting
+_cgetc: lda     KEY_COUNT       ; Get number of characters
+        bne     L2              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed. We MUST always switch the cursor on, 
 ; before switching it off, because switching it off will restore the 
@@ -23,50 +23,50 @@ _cgetc:     lda     KEY_COUNT       ; Get number of characters
 ; it off will restore the wrong character attribute.
 
         jsr     CURS_SET        ; Set cursor to current position
-       jsr     CURS_ON
-       lda     cursor
-               bne     L1
-        lda    #$01
-       jsr     CURS_OFF
-L1:     lda    KEY_COUNT       ; Check characters again
-       beq     L1
-       jsr     CURS_OFF        ; Switch cursor off, if characters available
-
-L2:     jsr     KBDREAD                ; Read char and return in A
+        jsr     CURS_ON
+        lda     cursor
+        bne     L1
+        lda     #$01
+        jsr     CURS_OFF
+L1:     lda     KEY_COUNT       ; Check characters again
+        beq     L1
+        jsr     CURS_OFF        ; Switch cursor off, if characters available
+
+L2:     jsr     KBDREAD         ; Read char and return in A
         ldx     #0
-       rts
+        rts
 
 ;--------------------------------------------------------------------------
 ; Module constructor/destructor
 
 .bss
-keyvec:        .res    2
+keyvec: .res    2
 
 .segment        "INIT"
 initcgetc:
 
 ; Save the old vector
 
-       lda     KeyStoreVec
-       sta     keyvec
-       lda     KeyStoreVec+1
-       sta     keyvec+1
+        lda     KeyStoreVec
+        sta     keyvec
+        lda     KeyStoreVec+1
+        sta     keyvec+1
 
 ; Set the new vector. I can only hope that this works for other C128
 ; versions...
 
-       lda     #<$C6B7
-       ldx     #>$C6B7
+        lda     #<$C6B7
+        ldx     #>$C6B7
         jmp     SetVec
 
 .code
 donecgetc:
-       lda     keyvec
-       ldx     keyvec+1
-SetVec:        sei
-       sta     KeyStoreVec
-       stx     KeyStoreVec+1
-       cli
-       rts
+        lda     keyvec
+        ldx     keyvec+1
+SetVec: sei
+        sta     KeyStoreVec
+        stx     KeyStoreVec+1
+        cli
+        rts
 
 
index 54219b0076bdca780854ab5b312c7ed9f39f3c69..2213be0cd18c9bbd693251960bf7794eb90b9a9e 100644 (file)
@@ -4,11 +4,11 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
+        .export         _clrscr
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
-_clrscr        = CLRSCR
+_clrscr = CLRSCR
 
 
 
index 5ee12431bc32232083c8eec40e5089349b7b091b..9e6b8537f612494ddf7b0c2105efc1aafd70c10e 100644 (file)
@@ -6,15 +6,15 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
+        .export         _textcolor, _bgcolor, _bordercolor
         .import         return0
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
 _textcolor:
-       bit     MODE            ; Check 80/40 column mode
-               bmi     @L1             ; Jump if 80 columns
+        bit     MODE            ; Check 80/40 column mode
+        bmi     @L1             ; Jump if 80 columns
 
 ; 40 column mode
 
@@ -29,7 +29,7 @@ _textcolor:
 @L1:    tax                     ; Move new color to X
         lda     CHARCOLOR       ; Get old color + attributes
         and     #$F0            ; Keep old attributes
-       ora     $CE5C,x         ; Translate VIC color -> VDC color
+        ora     $CE5C,x         ; Translate VIC color -> VDC color
         ldx     CHARCOLOR       ; Get the old color
         sta     CHARCOLOR       ; Set the new color + old attributes
         txa                     ; Old color -> A
@@ -39,13 +39,13 @@ _textcolor:
 ; translate vdc->vic colour
 
 vdctovic:
-               ldy     #16
-@L2:    cmp    $CE5C-1,y
-        beq    @L3
+        ldy     #16
+@L2:    cmp     $CE5C-1,y
+        beq     @L3
         dey
         bne     @L2
-@L3:   tya
-       rts
+@L3:    tya
+        rts
 
 
 _bgcolor:
@@ -54,27 +54,27 @@ _bgcolor:
 
 ; 40 column mode
 
-       ldx     VIC_BG_COLOR0   ; get old value
-       sta     VIC_BG_COLOR0   ; set new value
-       txa
+        ldx     VIC_BG_COLOR0   ; get old value
+        sta     VIC_BG_COLOR0   ; set new value
+        txa
         ldx     #$00
-       rts
+        rts
 
 ; 80 column mode
 
 @L1:    tax                     ; Move new color to X
-               lda     $CE5C,x         ; Translate VIC color -> VDC color
-       pha
-       ldx     #26
-               jsr     $CDDA           ; Read vdc register 26
-       jsr     vdctovic
-       tay
-       pla
-       ldx     #26
-               jsr     $CDCC           ; Write vdc register 26
-       tya
+        lda     $CE5C,x         ; Translate VIC color -> VDC color
+        pha
+        ldx     #26
+        jsr     $CDDA           ; Read vdc register 26
+        jsr     vdctovic
+        tay
+        pla
+        ldx     #26
+        jsr     $CDCC           ; Write vdc register 26
+        tya
         ldx     #$00
-       rts
+        rts
 
 
 _bordercolor:
@@ -83,11 +83,11 @@ _bordercolor:
 
 ; 40 column mode
 
-               ldx     VIC_BORDERCOLOR ; get old value
-       sta     VIC_BORDERCOLOR ; set new value
-       txa
+        ldx     VIC_BORDERCOLOR ; get old value
+        sta     VIC_BORDERCOLOR ; set new value
+        txa
         ldx     #$00
-       rts
+        rts
 
 ; 80 column mode
 
index 42df1437a4f1c8e1bc855887261b4887a1fe605f..5193fb807e7239b5dd969455ff19cd7a57097f31 100644 (file)
@@ -4,7 +4,7 @@
 ; Low level stuff for screen output/console input
 ;
 
-       .exportzp       CURS_X, CURS_Y
+        .exportzp       CURS_X, CURS_Y
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
index 73abdec527bab206f89b1911f8c3da999e155e94..e906c242aec2c3bd646e8e0b0cf174f6b453e722 100644 (file)
@@ -6,12 +6,12 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .import         popa, _gotoxy
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .import         popa, _gotoxy
         .import         PLOT
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 newline         = NEWLINE
 
@@ -20,31 +20,31 @@ newline         = NEWLINE
 .code
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-               beq     cr              ; Output a cr
+_cputc: cmp     #$0A            ; CR?
+        beq     cr              ; Output a cr
 
-       cmp     #$0D            ; LF?
-               bne     L2
-               jmp     NEWLINE         ; Update cursor position
+        cmp     #$0D            ; LF?
+        bne     L2
+        jmp     NEWLINE         ; Update cursor position
 
 ; Printable char of some sort
 
-L2:    cmp     #' '
-               bcc     cputdirect      ; Other control char
-       tay
-       bmi     L5
-       cmp     #$60
-       bcc     L3
-       and     #$DF
-               bne     cputdirect      ; Branch always
-L3:    and     #$3F
+L2:     cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L5
+        cmp     #$60
+        bcc     L3
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L3:     and     #$3F
 
 ; Output one character to the screen. We will disable scrolling while doing so
 
@@ -62,28 +62,28 @@ cputdirect:
 
 ; Handle character if high bit set
 
-L5:    and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L6
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L6:    ora     #$40
-       bne     cputdirect      ; Branch always
+L5:     and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L6
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L6:     ora     #$40
+        bne     cputdirect      ; Branch always
 
 ; Carriage return
 
-cr:    lda     #0
-       sta     CURS_X
+cr:     lda     #0
+        sta     CURS_X
 
 ; Set cursor position, calculate RAM pointers
 
-plot:  ldy     CURS_X
-       ldx     CURS_Y
-       clc
-       jmp     PLOT            ; Set the new cursor
+plot:   ldy     CURS_X
+        ldx     CURS_Y
+        clc
+        jmp     PLOT            ; Set the new cursor
 
 ; Write one character to the screen without doing anything else, return X
 ; position in Y
 
-putchar        = $CC2F
+putchar = $CC2F
 
index 4315947e1a8c37d9ae98e2045c08f8c3a62edf9e..cd104decd6d3b63e9184f491b0dfd87a326dbdf2 100644 (file)
 ; Startup code for cc65 (C128 version)
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib
-       .import         zerobss
-       .import         push0, callmain
-       .import         RESTOR, BSOUT, CLRCH
-       .import         __RAM_START__, __RAM_SIZE__, __STACKSIZE__
-       .importzp       ST
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .import         initlib, donelib
+        .import         zerobss
+        .import         push0, callmain
+        .import         RESTOR, BSOUT, CLRCH
+        .import         __RAM_START__, __RAM_SIZE__, __STACKSIZE__
+        .importzp       ST
 
-       .include        "zeropage.inc"
-       .include        "c128.inc"
+        .include        "zeropage.inc"
+        .include        "c128.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Startup code
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 Start:
 
 ; Switch to the second charset
 
-       lda     #14
-       jsr     BSOUT
+        lda     #14
+        jsr     BSOUT
 
 ; Before doing anything else, we have to setup our banking configuration.
 ; Otherwise just the lowest 16K are actually RAM. Writing through the ROM
 ; to the underlying RAM works, but it is bad style.
 
-       lda     MMU_CR          ; Get current memory configuration...
-       pha                     ; ...and save it for later
-       lda     #MMU_CFG_CC65   ; Bank0 with kernal ROM
-       sta     MMU_CR
+        lda     MMU_CR          ; Get current memory configuration...
+        pha                     ; ...and save it for later
+        lda     #MMU_CFG_CC65   ; Bank0 with kernal ROM
+        sta     MMU_CR
 
 ; Save the zero page locations we need
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Save system stuff and setup the stack
 
-       pla                     ; Get MMU setting
-       sta     mmusave
+        pla                     ; Get MMU setting
+        sta     mmusave
 
-       tsx
-       stx     spsave          ; Save the system stack pointer
+        tsx
+        stx     spsave          ; Save the system stack pointer
 
-       lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp
-       lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp+1            ; Set argument stack ptr
+        lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp
+        lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp+1            ; Set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Set the bank for the file name to our execution bank. We must do this,
 ; *after* calling constructors, because some of them may depend on the
 ; original value of this register.
 
-       lda     #0
-       sta     FNAM_BANK
+        lda     #0
+        sta     FNAM_BANK
 
 ; Push arguments and call main()
 
-       jsr     callmain
+        jsr     callmain
 
 ; Back from main (this is also the _exit entry). Run module destructors
 
-_exit:  pha                    ; Save the return code on stack
-       jsr     donelib
+_exit:  pha                     ; Save the return code on stack
+        jsr     donelib
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Place the program return code into ST
 
-       pla
-       sta     ST
+        pla
+        sta     ST
 
 ; Reset the stack and the memory configuration
 
-       ldx     spsave
-       txs
-       ldx     mmusave
-       stx     MMU_CR
+        ldx     spsave
+        txs
+        ldx     mmusave
+        stx     MMU_CR
 
 ; Done, return to BASIC
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; Data
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave:        .res    zpspace
+zpsave: .res    zpspace
 
 ; ------------------------------------------------------------------------
 
 .bss
 
-spsave:        .res    1
-mmusave:.res   1
+spsave: .res    1
+mmusave:.res    1
index 472d800fe77131a6d2bba11694269f6053e56a0a..a990717868d7ca4d7d3ca65de5072454d3d55733 100644 (file)
@@ -4,20 +4,20 @@
 ; unsigned DbgSetBreakVec (unsigned Addr);
 ;
 
-       .export         _DbgSetBreakVec
-       .import         popax, utstax
-       
-       .include        "../cbm/cbm.inc"
+        .export         _DbgSetBreakVec
+        .import         popax, utstax
+        
+        .include        "../cbm/cbm.inc"
 
 _DbgSetBreakVec:
-       jsr     popax           ; Get the new address
-       ldy     BRKVec
-       sta     BRKVec
-       lda     BRKVec+1
-       stx     BRKVec+1
-       tax
-       tya
-       jmp     utstax
+        jsr     popax           ; Get the new address
+        ldy     BRKVec
+        sta     BRKVec
+        lda     BRKVec+1
+        stx     BRKVec+1
+        tax
+        tya
+        jmp     utstax
 
 
 
index 72007a5168f1c985e6fad26256fe162727c7fa06..91d0ccc0789fab3daae62861484eff4f2d8e7d6f 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index 23c3469c5825726a074a576ae0444175726ea370..0c106f406838e735a4f884f3426c006b71c41966 100644 (file)
@@ -8,9 +8,9 @@
 ; Marco van den Heuvel, 2010-01-21
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
 
 
@@ -25,7 +25,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -62,83 +62,83 @@ pagecount:      .res    2               ; Number of available pages
 ;
 
 INSTALL:
-               ldx     GR_WINDOW
+        ldx     GR_WINDOW
         cpx     GR_WINDOW
         bne     @notpresent
         inc     GR_WINDOW
-               cpx     GR_WINDOW
-               beq     @notpresent
-
-               lda     #4
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has64k
-               lda     #8
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has128k
-               lda     #16
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has256k
-               lda     #32
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has512k
-               lda     #64
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has1024k
-               lda     #128
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has2048k
-               ldx     #>16384
+        cpx     GR_WINDOW
+        beq     @notpresent
+
+        lda     #4
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has64k
+        lda     #8
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has128k
+        lda     #16
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has256k
+        lda     #32
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has512k
+        lda     #64
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has1024k
+        lda     #128
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has2048k
+        ldx     #>16384
         bne     @setok
 
 @has64k:
-               ldx     #>256
-               bne     @setok
+        ldx     #>256
+        bne     @setok
 @has128k:
-               ldx     #>512
-               bne     @setok
+        ldx     #>512
+        bne     @setok
 @has256k:
-               ldx     #>1024
-               bne     @setok
+        ldx     #>1024
+        bne     @setok
 @has512k:
-               ldx     #>2048
-               bne     @setok
+        ldx     #>2048
+        bne     @setok
 @has1024k:
-               ldx     #>4096
-               bne     @setok
+        ldx     #>4096
+        bne     @setok
 @has2048k:
-               ldx     #>8192
-               bne     @setok
+        ldx     #>8192
+        bne     @setok
 
 @notpresent:
-               lda     #<EM_ERR_NO_DEVICE
-               ldx     #>EM_ERR_NO_DEVICE
-       rts
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
+        rts
 
 @setok:
-               lda     #0
-               sta     pagecount
-               stx     pagecount+1
-               lda     #<EM_ERR_OK
-               ldx     #>EM_ERR_OK
-       rts
+        lda     #0
+        sta     pagecount
+        stx     pagecount+1
+        lda     #<EM_ERR_OK
+        ldx     #>EM_ERR_OK
+        rts
 
 check:
-               ldx     #0
-               stx     GR_PAGE_LO
-               stx     GR_PAGE_HI
-               ldy     GR_WINDOW
-               iny
-               sta     GR_PAGE_HI
-               sty     GR_WINDOW
-               ldx     #0
-               stx     GR_PAGE_HI
-;      rts                     ; Run into UNINSTALL instead
+        ldx     #0
+        stx     GR_PAGE_LO
+        stx     GR_PAGE_HI
+        ldy     GR_WINDOW
+        iny
+        sta     GR_PAGE_HI
+        sty     GR_WINDOW
+        ldx     #0
+        stx     GR_PAGE_HI
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
index 1211c444dad03dfb9c87fdc3786230a350fb143d..02979a6dcd45e249a3a863d1ec3d59427716bc50 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-12-04
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
         .include        "c128.inc"
 
@@ -23,7 +23,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-BASE   = $400
+BASE    = $400
 TOPMEM  = $FF00
-PAGES          = (TOPMEM - BASE) / 256
+PAGES   = (TOPMEM - BASE) / 256
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -96,10 +96,10 @@ MAP:    sta     curpage
         stx     curpage+1               ; Remember the new page
 
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #$00
-        sty            ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #$00
+        sty     ptr1
 
         lda     #<ptr1
         sta     FETVEC
@@ -130,15 +130,15 @@ USE:    sta     curpage
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
-COMMIT: lda     curpage                        ; Get the current page
+COMMIT: lda     curpage                 ; Get the current page
         ldx     curpage+1
         bmi     done                    ; Jump if no page mapped
 
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #$00
-        sty            ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #$00
+        sty     ptr1
 
         lda     #<ptr1
         sta     STAVEC
@@ -212,7 +212,7 @@ COPYFROM:
         ldy     #$00
 @L3:    ldx     #MMU_CFG_RAM1
         jsr     FETCH
-        sta    (ptr2),y
+        sta     (ptr2),y
         iny
         dec     tmp1
         bne     @L3
index 6b384392c64562de5fdca8ea25d9093142a66692..9fb8a2836ca672b312888d81012d336bc9a1b70e 100644 (file)
@@ -8,9 +8,9 @@
 ; Marco van den Heuvel, 2010-01-21
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
         .include        "c128.inc"
 
@@ -26,7 +26,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-BASE   = $400
+BASE    = $400
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -103,9 +103,9 @@ INSTALL:
         ldx     #$FF
         stx     curpage
         stx     curpage+1       ; Invalidate the current page
-       inx
-               txa                     ; A = X = EM_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+        inx
+        txa                     ; A = X = EM_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -175,7 +175,7 @@ USE:    sta     curpage
 ; COMMIT: Commit changes in the memory window to extended storage.
 
 COMMIT: sei
-        lda     curpage                        ; Get the current page
+        lda     curpage                 ; Get the current page
         ldx     curpage+1
         bmi     done                    ; Jump if no page mapped
 
@@ -183,9 +183,9 @@ COMMIT: sei
         stx     curbank
 
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #$00
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #$00
         sty     ptr1
 
         lda     #<ptr1
index ad76b4965f44e82dd98bc402f74b5b7d6acba58c..0bf1072de83af073a9eba24738859e56c47c53a5 100644 (file)
@@ -7,10 +7,10 @@
 ;
 
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
         .macpack        generic
@@ -24,7 +24,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -32,9 +32,9 @@
         .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
-       .word   USE
+        .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -61,46 +61,46 @@ pagecount:      .res    2               ; Number of pages available
 ;
 
 INSTALL:
-       ldx     RAMC_WINDOW
-       cpx     RAMC_WINDOW
-       bne     @notpresent
-
-       lda     #0
-       sta     RAMC_PAGE_LO
-       sta     RAMC_PAGE_HI
-       ldx     RAMC_WINDOW
-       cpx     RAMC_WINDOW
-       bne     @notpresent
-       lda     #2
-       sta     RAMC_WINDOW
-       cmp     RAMC_WINDOW
-       beq     @cont
-       cpx     RAMC_WINDOW
-       beq     @readonly
-@cont: ldy     #1
-       sty     RAMC_PAGE_HI
-       sty     RAMC_WINDOW
-       dey
-       sty     RAMC_PAGE_HI
-       iny
-       cpy     RAMC_WINDOW
-       beq     @rc64
-       ; we're on rc128
-       ldx     #>512
-       bne     @setsize
-@rc64: ldx     #>256
+        ldx     RAMC_WINDOW
+        cpx     RAMC_WINDOW
+        bne     @notpresent
+
+        lda     #0
+        sta     RAMC_PAGE_LO
+        sta     RAMC_PAGE_HI
+        ldx     RAMC_WINDOW
+        cpx     RAMC_WINDOW
+        bne     @notpresent
+        lda     #2
+        sta     RAMC_WINDOW
+        cmp     RAMC_WINDOW
+        beq     @cont
+        cpx     RAMC_WINDOW
+        beq     @readonly
+@cont:  ldy     #1
+        sty     RAMC_PAGE_HI
+        sty     RAMC_WINDOW
+        dey
+        sty     RAMC_PAGE_HI
+        iny
+        cpy     RAMC_WINDOW
+        beq     @rc64
+        ; we're on rc128
+        ldx     #>512
+        bne     @setsize
+@rc64:  ldx     #>256
 @setsize:
-       lda     #0
-       sta     pagecount
-       stx     pagecount+1
+        lda     #0
+        sta     pagecount
+        stx     pagecount+1
         lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
         rts
 @notpresent:
 @readonly:
-       lda     #<EM_ERR_NO_DEVICE
-       ldx     #>EM_ERR_NO_DEVICE
-;      rts                             ; Run into UNINSTALL instead
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -134,8 +134,8 @@ USE     = MAP
 ; by the driver.
 ;
 
-MAP:    sta    RAMC_PAGE_LO
-       stx     RAMC_PAGE_HI
+MAP:    sta     RAMC_PAGE_LO
+        stx     RAMC_PAGE_HI
         lda     #<RAMC_WINDOW
         ldx     #>RAMC_WINDOW
 
@@ -185,14 +185,14 @@ COPYFROM:
 
 ; Bump page register
 
-@L4:   inc     tmp1
-       bne     @L5
-       inc     tmp2
-@L5:   lda     tmp1
-       sta     RAMC_PAGE_LO
-       lda     tmp2
-       sta     RAMC_PAGE_HI
-       jmp     @L3
+@L4:    inc     tmp1
+        bne     @L5
+        inc     tmp2
+@L5:    lda     tmp1
+        sta     RAMC_PAGE_LO
+        lda     tmp2
+        sta     RAMC_PAGE_HI
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -233,14 +233,14 @@ COPYTO:
 
 ; Bump page register
 
-@L4:   inc     tmp1
-       bne     @L5
-       inc     tmp2
-@L5:   lda     tmp1
-       sta     RAMC_PAGE_LO
-       lda     tmp2
-       sta     RAMC_PAGE_HI
-       jmp     @L3
+@L4:    inc     tmp1
+        bne     @L5
+        inc     tmp2
+@L5:    lda     tmp1
+        sta     RAMC_PAGE_LO
+        lda     tmp2
+        sta     RAMC_PAGE_HI
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
index 4f86f6aee387228dfc2581f80b98e99514d147a3..b1a979cb56f278d9b3deb78eba9d78cd20087ade 100644 (file)
@@ -5,11 +5,11 @@
 ; Ullrich von Bassewitz, 2002-11-29
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
         .macpack        generic
@@ -23,7 +23,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -33,7 +33,7 @@
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -61,12 +61,12 @@ curpage:        .res    2               ; Current page number
 
 window:         .res    256             ; Memory "window"
 
-reu_params:     .word  $0000           ; Host address, lo, hi
-               .word   $0000           ; Exp  address, lo, hi
-                .byte  $00             ; Expansion  bank no.
-                       .word   $0000           ; # bytes to move, lo, hi
-                       .byte   $00             ; Interrupt mask reg.
-                       .byte   $00             ; Adress control reg.
+reu_params:     .word   $0000           ; Host address, lo, hi
+                .word   $0000           ; Exp  address, lo, hi
+                .byte   $00             ; Expansion  bank no.
+                .word   $0000           ; # bytes to move, lo, hi
+                .byte   $00             ; Interrupt mask reg.
+                .byte   $00             ; Adress control reg.
 
 .code
 
@@ -221,14 +221,14 @@ transfer1:
 ; Transfer subroutine for the REU. Expects command in Y.
 
 transfer:
-        sty            REU_COMMAND     ; Issue command
+        sty     REU_COMMAND     ; Issue command
 
-        ldy            MMU_CR          ; Save the current MMU settings
-       lda     #MMU_CFG_RAM0   ;
-       sei                     ;
-        sta    MMU_CR          ; Enable RAM in bank #0
+        ldy     MMU_CR          ; Save the current MMU settings
+        lda     #MMU_CFG_RAM0   ;
+        sei                     ;
+        sta     MMU_CR          ; Enable RAM in bank #0
         lda     REU_TRIGGER     ; Don't change $FF00
-        sta    REU_TRIGGER     ; Start the transfer...
+        sta     REU_TRIGGER     ; Start the transfer...
 
         sty     MMU_CR          ; Restore the old configuration
         cli
index d2b6b9d8b31423e3a4d9d335f7c090d2aedbb245..29dbb4569a865fe7a75eb5b2bd96c152b53ba180 100644 (file)
@@ -4,10 +4,10 @@
 ; Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
 ; 06,20.12.2002
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
         .macpack        generic
@@ -21,7 +21,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
         .word   DEINSTALL
         .word   PAGECOUNT
         .word   MAP
-       .word   USE
+        .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VDC_ADDR_REG     = $D600                 ; VDC address
-VDC_DATA_REG     = $D601                 ; VDC data
+VDC_ADDR_REG      = $D600                 ; VDC address
+VDC_DATA_REG      = $D601                 ; VDC data
 
-VDC_DATA_HI      = 18                    ; used registers
-VDC_DATA_LO      = 19
-VDC_CSET         = 28
-VDC_DATA         = 31
+VDC_DATA_HI       = 18                    ; used registers
+VDC_DATA_LO       = 19
+VDC_CSET          = 28
+VDC_DATA          = 31
 
 ; ------------------------------------------------------------------------
 ; Data.
 
 .data
 
-pagecount:      .word  64                 ; $0000-$3fff as 16k default
-curpage:       .word  $ffff               ; currently mapped-in page (invalid)
+pagecount:      .word  64                  ; $0000-$3fff as 16k default
+curpage:        .word  $ffff               ; currently mapped-in page (invalid)
 
 .bss
 
-window:                .res    256                ; memory window
+window:         .res    256                ; memory window
 
 .code
 
@@ -67,78 +67,78 @@ window:             .res    256                ; memory window
 ;
 
 INSTALL:
-       ; do test for VDC presence here???
-
-       ldx     #VDC_CSET       ; determine size of RAM...
-       jsr     vdcgetreg
-       sta     tmp1
-       ora     #%00010000
-       jsr     vdcputreg       ; turn on 64k
-
-       jsr     settestadr1     ; save original value of test byte
-       jsr     vdcgetbyte
-       sta     tmp2
-
-       lda     #$55            ; write $55 here
-       ldy     #ptr1
-       jsr     test64k         ; read it here and there
-       lda     #$aa            ; write $aa here
-       ldy     #ptr2
-       jsr     test64k         ; read it here and there
-
-       jsr     settestadr1
-       lda     tmp2
-       jsr     vdcputbyte      ; restore original value of test byte
-
-       lda     ptr1            ; do bytes match?
-       cmp     ptr1+1
-       bne     @have64k
-       lda     ptr2
-       cmp     ptr2+1
-       bne     @have64k
-
-       ldx     #VDC_CSET
-       lda     tmp1
-       jsr     vdcputreg       ; restore 16/64k flag
-       jmp     @endok          ; and leave default values for 16k
+        ; do test for VDC presence here???
+
+        ldx     #VDC_CSET       ; determine size of RAM...
+        jsr     vdcgetreg
+        sta     tmp1
+        ora     #%00010000
+        jsr     vdcputreg       ; turn on 64k
+
+        jsr     settestadr1     ; save original value of test byte
+        jsr     vdcgetbyte
+        sta     tmp2
+
+        lda     #$55            ; write $55 here
+        ldy     #ptr1
+        jsr     test64k         ; read it here and there
+        lda     #$aa            ; write $aa here
+        ldy     #ptr2
+        jsr     test64k         ; read it here and there
+
+        jsr     settestadr1
+        lda     tmp2
+        jsr     vdcputbyte      ; restore original value of test byte
+
+        lda     ptr1            ; do bytes match?
+        cmp     ptr1+1
+        bne     @have64k
+        lda     ptr2
+        cmp     ptr2+1
+        bne     @have64k
+
+        ldx     #VDC_CSET
+        lda     tmp1
+        jsr     vdcputreg       ; restore 16/64k flag
+        jmp     @endok          ; and leave default values for 16k
 
 @have64k:
-       lda     #<256
-       ldx     #>256
-       sta     pagecount
-       stx     pagecount+1
+        lda     #<256
+        ldx     #>256
+        sta     pagecount
+        stx     pagecount+1
 @endok:
-       lda     #<EM_ERR_OK
+        lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
         rts
 
 test64k:
-       sta     tmp1
-       sty     ptr3
-       lda     #0
-       sta     ptr3+1
-       jsr     settestadr1
-       lda     tmp1
-       jsr     vdcputbyte              ; write $55
-       jsr     settestadr1
-       jsr     vdcgetbyte              ; read here
-       pha
-       jsr     settestadr2
-       jsr     vdcgetbyte              ; and there
-       ldy     #1
-       sta     (ptr3),y
-       pla
-       dey
-       sta     (ptr3),y
-       rts
+        sta     tmp1
+        sty     ptr3
+        lda     #0
+        sta     ptr3+1
+        jsr     settestadr1
+        lda     tmp1
+        jsr     vdcputbyte              ; write $55
+        jsr     settestadr1
+        jsr     vdcgetbyte              ; read here
+        pha
+        jsr     settestadr2
+        jsr     vdcgetbyte              ; and there
+        ldy     #1
+        sta     (ptr3),y
+        pla
+        dey
+        sta     (ptr3),y
+        rts
 
 settestadr1:
-       ldy     #$02                    ; test page 2 (here)
-       .byte   $2c
+        ldy     #$02                    ; test page 2 (here)
+        .byte   $2c
 settestadr2:
-       ldy     #$42                    ; or page 64+2 (there)
-       lda     #0
-       jmp     vdcsetsrcaddr
+        ldy     #$42                    ; or page 64+2 (there)
+        lda     #0
+        jmp     vdcsetsrcaddr
 
 ; ------------------------------------------------------------------------
 ; DEINSTALL routine. Is called before the driver is removed from memory.
@@ -146,7 +146,7 @@ settestadr2:
 ;
 
 DEINSTALL:
-       ;on C128 restore font and clear the screen?
+        ;on C128 restore font and clear the screen?
         rts
 
 ; ------------------------------------------------------------------------
@@ -164,42 +164,42 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:   sta     curpage
-       stx     curpage+1
-       sta     ptr1+1
-       ldy     #0
-       sty     ptr1
+MAP:    sta     curpage
+        stx     curpage+1
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
 
-       lda     #<window
-       sta     ptr2
-       lda     #>window
-       sta     ptr2+1
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
-       jsr     transferin
+        jsr     transferin
 
         lda     #<window
         ldx     #>window
-       rts
+        rts
 
 ; copy a single page from (ptr1):VDCRAM to (ptr2):RAM
 
 transferin:
-       lda     ptr1
-       ldy     ptr1+1
-       jsr     vdcsetsrcaddr           ; set source address in VDC
-       ldy     #0
-       ldx     #VDC_DATA
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     VDC_DATA_REG            ; get 2 bytes at a time to speed-up
-       sta     (ptr2),y                ; (in fact up to 8 bytes could be fetched with special VDC config)
-       iny
-       lda     VDC_DATA_REG
-       sta     (ptr2),y
-       iny
-       bne     @L0
-       rts
+        lda     ptr1
+        ldy     ptr1+1
+        jsr     vdcsetsrcaddr           ; set source address in VDC
+        ldy     #0
+        ldx     #VDC_DATA
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     VDC_DATA_REG            ; get 2 bytes at a time to speed-up
+        sta     (ptr2),y                ; (in fact up to 8 bytes could be fetched with special VDC config)
+        iny
+        lda     VDC_DATA_REG
+        sta     (ptr2),y
+        iny
+        bne     @L0
+        rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
@@ -214,36 +214,36 @@ done:   rts
 ; COMMIT: Commit changes in the memory window to extended storage.
 
 COMMIT:
-       lda     curpage                 ; jump if no page mapped
-       ldx     curpage+1
-       bmi     done
-       sta     ptr1+1
-       ldy     #0
-       sty     ptr1
-
-       lda     #<window
-       sta     ptr2
-       lda     #>window
-       sta     ptr2+1
+        lda     curpage                 ; jump if no page mapped
+        ldx     curpage+1
+        bmi     done
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
+
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
 ; fall through to transferout
 
 ; copy a single page from (ptr2):RAM to (ptr1):VDCRAM
 
 transferout:
-       lda     ptr1
-       ldy     ptr1+1
-       jsr     vdcsetsrcaddr           ; set source address in VDC
-       ldy     #0
-       ldx     #VDC_DATA
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     (ptr2),y                ; speedup does not work for writing
-       sta     VDC_DATA_REG
-       iny
-       bne     @L0
-       rts
+        lda     ptr1
+        ldy     ptr1+1
+        jsr     vdcsetsrcaddr           ; set source address in VDC
+        ldy     #0
+        ldx     #VDC_DATA
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     (ptr2),y                ; speedup does not work for writing
+        sta     VDC_DATA_REG
+        iny
+        bne     @L0
+        rts
 
 ; ------------------------------------------------------------------------
 ; COPYFROM: Copy from extended into linear memory. A pointer to a structure
@@ -252,8 +252,8 @@ transferout:
 ;
 
 COPYFROM:
-       jsr     setup
-       beq     @L2                     ; Skip if no full pages
+        jsr     setup
+        beq     @L2                     ; Skip if no full pages
 
 ; Copy full pages
 
@@ -268,18 +268,18 @@ COPYFROM:
 @L2:    ldy     #EM_COPY::COUNT
         lda     (ptr3),y                ; Get bytes in last page
         beq     @L4
-        sta    tmp1
+        sta     tmp1
 
 ; Transfer the bytes in the last page
 
-       ldy     #0
-@L3:   jsr     vdcgetbyte
-       sta     (ptr2),y
-       iny
-       dec     tmp1
-       lda     tmp1
-       bne     @L3
-@L4:   rts
+        ldy     #0
+@L3:    jsr     vdcgetbyte
+        sta     (ptr2),y
+        iny
+        dec     tmp1
+        lda     tmp1
+        bne     @L3
+@L4:    rts
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -288,8 +288,8 @@ COPYFROM:
 ;
 
 COPYTO:
-       jsr     setup
-       beq     @L2                     ; Skip if no full pages
+        jsr     setup
+        beq     @L2                     ; Skip if no full pages
 
 ; Copy full pages
 
@@ -304,52 +304,52 @@ COPYTO:
 @L2:    ldy     #EM_COPY::COUNT
         lda     (ptr3),y                ; Get bytes in last page
         beq     @L4
-        sta    tmp1
+        sta     tmp1
 
 ; Transfer the bytes in the last page
 
-       ldy     #0
-@L3:   lda     (ptr2),y
-       jsr     vdcputbyte
-       iny
-       dec     tmp1
-       lda     tmp1
-       bne     @L3
-@L4:   rts
+        ldy     #0
+@L3:    lda     (ptr2),y
+        jsr     vdcputbyte
+        iny
+        dec     tmp1
+        lda     tmp1
+        bne     @L3
+@L4:    rts
 
 ;-------------------------------------------------------------------------
 ; Helper functions to handle VDC ram
 ;
 
 vdcsetsrcaddr:
-       ldx     #VDC_DATA_LO
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       sta     VDC_DATA_REG
-       dex
-       tya
-       stx     VDC_ADDR_REG
-       sta     VDC_DATA_REG
-       rts
+        ldx     #VDC_DATA_LO
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        sta     VDC_DATA_REG
+        dex
+        tya
+        stx     VDC_ADDR_REG
+        sta     VDC_DATA_REG
+        rts
 
 vdcgetbyte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 vdcgetreg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     VDC_DATA_REG
+        rts
 
 vdcputbyte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 vdcputreg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       sta     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        sta     VDC_DATA_REG
+        rts
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
@@ -357,7 +357,7 @@ vdcputreg:
 ;
 
 setup:
-       sta     ptr3
+        sta     ptr3
         stx     ptr3+1                  ; Save the passed em_copy pointer
 
         ldy     #EM_COPY::OFFS
@@ -374,8 +374,8 @@ setup:
         lda     (ptr3),y
         sta     ptr2+1                  ; To
 
-       ldy     #EM_COPY::COUNT+1
+        ldy     #EM_COPY::COUNT+1
         lda     (ptr3),y                ; Get number of pages
         sta     tmp1
-       rts
+        rts
 
index abb32d2be197b62f7aa71033a8955838d596c788..9e032f9152607d3de612b1631fd98af3015f316a 100644 (file)
@@ -7,16 +7,16 @@
 ;  */
 ;
 
-       .export         _fast
+        .export         _fast
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
-.proc  _fast
+.proc   _fast
 
-       lda     #$01
-       sta     VIC_CLK_128
-       rts
+        lda     #$01
+        sta     VIC_CLK_128
+        rts
 
 .endproc
 
index 084876d1162dca02bb357fb4d7601ac2a4063c97..d85c9a65085f0a4aa390db3e2f5d72c2e82bd433 100644 (file)
@@ -5,7 +5,7 @@
 ; /* Return the video mode the machine is using */
 ;
 
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
         .include        "c128.inc"
 
 
@@ -14,7 +14,7 @@
 
 .proc   _get_tv
 
-        ldx     #TV::PAL       ; Assume PAL
+        ldx     #TV::PAL        ; Assume PAL
         lda     PALFLAG
         bne     pal
         dex                     ; NTSC
index d468eeaaab741e2d0c43ca69ee7560be74ea5275..aed1f3a2595085dbaaaf2eabe117c7ab24e5b29c 100644 (file)
@@ -2,38 +2,38 @@
 ; IRQ handling (C128 version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
-IRQInd = $2FD          ; JMP $0000 - used as indirect IRQ vector
+IRQInd  = $2FD          ; JMP $0000 - used as indirect IRQ vector
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     IRQVec
-       ldx     IRQVec+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       jmp     setvec
+        lda     IRQVec
+        ldx     IRQVec+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        jmp     setvec
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     IRQInd+1
-       ldx     IRQInd+2
-setvec:        sei
-       sta     IRQVec
-       stx     IRQVec+1
-       cli
-       rts
+        lda     IRQInd+1
+        ldx     IRQInd+2
+setvec: sei
+        sta     IRQVec
+        stx     IRQVec+1
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 ; The C128 has ROM parallel to the RAM starting from $4000. The startup code
@@ -45,15 +45,15 @@ setvec:     sei
 ; placed just above the startup code, so it goes into a RAM area that is
 ; not banked.
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       lda     MMU_CR                  ; Get old register value
-       pha                             ; And save on stack
-       lda     #MMU_CFG_CC65           ; Bank 0 with kernal ROM
-       sta     MMU_CR
-       jsr     callirq                 ; Call the functions
-       pla                             ; Get old register value
-       sta     MMU_CR
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        lda     MMU_CR                  ; Get old register value
+        pha                             ; And save on stack
+        lda     #MMU_CFG_CC65           ; Bank 0 with kernal ROM
+        sta     MMU_CR
+        jsr     callirq                 ; Call the functions
+        pla                             ; Get old register value
+        sta     MMU_CR
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
index e101997f10737b694b8502ca8c3573cc7974c382..5763fbe2d7a84583084b84fac6936bd6fc2d90be 100644 (file)
@@ -61,7 +61,7 @@ JOY_COUNT       = 4             ; Number of joysticks we support
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -85,18 +85,18 @@ COUNT:
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:   tax                    ; Joystick number into X
+READ:   tax                     ; Joystick number into X
         bne     joy2
 
 ; Read joystick 1
 
-joy1:   lda    #$7F
+joy1:   lda     #$7F
         sei
-        sta    CIA1_PRA
-        lda    CIA1_PRB
+        sta     CIA1_PRA
+        lda     CIA1_PRB
         cli
-        and    #$1F
-        eor    #$1F
+        and     #$1F
+        eor     #$1F
         rts
 
 ; Read joystick 2
@@ -104,15 +104,15 @@ joy1:   lda       #$7F
 joy2:   dex
         bne     joy3
 
-        lda    #$E0
-        ldy    #$FF
+        lda     #$E0
+        ldy     #$FF
         sei
-        sta    CIA1_DDRA
-        lda    CIA1_PRA
-        sty    CIA1_DDRA
+        sta     CIA1_DDRA
+        lda     CIA1_PRA
+        sty     CIA1_DDRA
         cli
-        and    #$1F
-        eor    #$1F
+        and     #$1F
+        eor     #$1F
         rts
 
 ; Read joystick 3
index 241e223e755272d10ffd3d5537ea89869ab6727d..f86853a8150b28e394ba0f6bceb067243c563d11 100644 (file)
@@ -6,9 +6,9 @@
 ; Ullrich von Bassewitz, 2002-12-21
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "c128.inc"
 
@@ -22,8 +22,8 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79          ; "joy"
-        .byte   JOY_API_VERSION                ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
@@ -66,7 +66,7 @@ JOY_COUNT       = 2             ; Number of joysticks we support
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -90,32 +90,32 @@ COUNT:
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:   tax                    ; Joystick number into X
-       bne     joy2
+READ:   tax                     ; Joystick number into X
+        bne     joy2
 
 ; Read joystick 1
 
-joy1:  lda     #$7F
-       sei
-       sta     CIA1_PRA
-       lda     CIA1_PRB
-       cli
-       and     #$1F
-       eor     #$1F
-       rts
+joy1:   lda     #$7F
+        sei
+        sta     CIA1_PRA
+        lda     CIA1_PRB
+        cli
+        and     #$1F
+        eor     #$1F
+        rts
 
 ; Read joystick 2
 
-joy2:  ldx     #0
-       lda     #$E0
-       ldy     #$FF
-       sei
-       sta     CIA1_DDRA
-       lda     CIA1_PRA
-       sty     CIA1_DDRA
-       cli
-       and     #$1F
-       eor     #$1F
-       rts
+joy2:   ldx     #0
+        lda     #$E0
+        ldy     #$FF
+        sei
+        sta     CIA1_DDRA
+        lda     CIA1_PRA
+        sty     CIA1_DDRA
+        cli
+        and     #$1F
+        eor     #$1F
+        rts
 
 
index 6a70a8fd2d4058398ba57bae1dea26f2e0c9e153..d6d695347e776100b04474b080e113b35f7bff6c 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _c128_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _c128_stdjoy_joy
 
 .rodata
 
index 4cfd4b9a1c427490da73cbb5a125bdb2a22bd18e..acbd0bdfa88835dd2bd3452b5e6e79b0486ad2c2 100644 (file)
@@ -6,9 +6,9 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "c128-stdjoy.joy"
+_joy_stddrv:    .asciiz "c128-stdjoy.joy"
 
index 28ee2d4ded3e423098926694e939cbc33538aaf3..c1bca24160f5f0fbd414949a6e56ba12be28222f 100644 (file)
@@ -4,16 +4,16 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-       lda     KEY_COUNT       ; Get number of characters
-;      ora     FKEY_COUNT      ; Or with number of chars from function keys
+        lda     KEY_COUNT       ; Get number of characters
+;       ora     FKEY_COUNT      ; Or with number of chars from function keys
         beq     L9
         lda     #1
 L9:     rts
index 7a6ff28229514309476faaad039f6af3d2d02423..f3b78d00bbc8e73a42c3d6bddc5c2017ea168b7b 100644 (file)
 ; All functions are available in the kernal jump table
  
 ; Extended jump table
-C64MODE                = $FF4D
-SWAPPER                = $FF5F
+C64MODE         = $FF4D
+SWAPPER         = $FF5F
 SETBNK          = $FF68
 
 ;
-CINT           = $FF81
-IOINIT         = $FF84
-RAMTAS         = $FF87
-RESTOR         = $FF8A
-VECTOR         = $FF8D
-SETMSG         = $FF90
-SECOND         = $FF93
-TKSA           = $FF96
-MEMTOP         = $FF99
-MEMBOT         = $FF9C
-SCNKEY         = $FF9F
-SETTMO         = $FFA2
-ACPTR          = $FFA5
-CIOUT          = $FFA8
-UNTLK          = $FFAB
-UNLSN          = $FFAE
-LISTEN         = $FFB1
-TALK           = $FFB4
-READST         = $FFB7
-SETLFS         = $FFBA
-SETNAM         = $FFBD
-OPEN           = $FFC0
-CLOSE          = $FFC3
-CHKIN          = $FFC6
-CKOUT          = $FFC9
-CLRCH          = $FFCC
-BASIN          = $FFCF
-BSOUT          = $FFD2
-LOAD           = $FFD5
-SAVE           = $FFD8
-SETTIM         = $FFDB
-RDTIM          = $FFDE
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-UDTIM          = $FFEA
-SCREEN         = $FFED
-PLOT           = $FFF0
-IOBASE         = $FFF3
+CINT            = $FF81
+IOINIT          = $FF84
+RAMTAS          = $FF87
+RESTOR          = $FF8A
+VECTOR          = $FF8D
+SETMSG          = $FF90
+SECOND          = $FF93
+TKSA            = $FF96
+MEMTOP          = $FF99
+MEMBOT          = $FF9C
+SCNKEY          = $FF9F
+SETTMO          = $FFA2
+ACPTR           = $FFA5
+CIOUT           = $FFA8
+UNTLK           = $FFAB
+UNLSN           = $FFAE
+LISTEN          = $FFB1
+TALK            = $FFB4
+READST          = $FFB7
+SETLFS          = $FFBA
+SETNAM          = $FFBD
+OPEN            = $FFC0
+CLOSE           = $FFC3
+CHKIN           = $FFC6
+CKOUT           = $FFC9
+CLRCH           = $FFCC
+BASIN           = $FFCF
+BSOUT           = $FFD2
+LOAD            = $FFD5
+SAVE            = $FFD8
+SETTIM          = $FFDB
+RDTIM           = $FFDE
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+UDTIM           = $FFEA
+SCREEN          = $FFED
+PLOT            = $FFF0
+IOBASE          = $FFF3
 
index 3bacd29343e0c0ded7360e7d23345b39e220758f..fb5fd1554da2d30b8876e6c673d29e5e9d8c7a4b 100644 (file)
 ; - The "file-name" might be a path-name; don't copy the directory-components.
 ; - Add a control-character quoting mechanism.
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $8f                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $8f                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 
 
 ; Get possible command-line arguments. Goes into the special INIT segment,
@@ -45,27 +45,27 @@ initmainargs:
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     FNAM_LEN
-       cpy     #NAME_LEN + 1
-       bcc     L1
-       ldy     #NAME_LEN - 1   ; limit the length
+        ldy     FNAM_LEN
+        cpy     #NAME_LEN + 1
+        bcc     L1
+        ldy     #NAME_LEN - 1   ; limit the length
 L0:     lda     #FNAM           ; Load vector address for FETCH routine
         ldx     FNAM_BANK       ; Load bank for FETCH routine
         jsr     INDFET          ; Load byte from (FETVEC),y
-       sta     name,y          ; Save byte from filename
-L1:    dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        sta     name,y          ; Save byte from filename
+L1:     dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-               beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
@@ -91,11 +91,11 @@ setterm:sta     term            ; Set end of argument marker
 ; necessary.
 
         txa                     ; Get low byte
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       lda     #>BASIC_BUF
-       sta     argv,y
-       iny
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        lda     #>BASIC_BUF
+        sta     argv,y
+        iny
         inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
@@ -122,21 +122,21 @@ argloop:lda     BASIC_BUF,x
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
-       rts
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
+        rts
 
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
 argv:   .addr   name
-        .res           MAXARGS * 2
+        .res    MAXARGS * 2
 
index d5a91f923b1d7f63acf44451f5b1b3f1cbc6568e..cdedf49049fbbec1fdbb0638316d5dd8a6e7efcb 100644 (file)
@@ -64,13 +64,13 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         txa
         adc     #0
         bne     @L1                     ; Branch if high byte not zero
-       lda     VIC_SPR_HI_X            ; Get high X bits of all sprites
-       and     #MOUSE_SPR_NMASK        ; Clear high bit for sprite
+        lda     VIC_SPR_HI_X            ; Get high X bits of all sprites
+        and     #MOUSE_SPR_NMASK        ; Clear high bit for sprite
         sta     VIC_SPR_HI_X
         rts
 
-@L1:    lda    VIC_SPR_HI_X            ; Get high X bits of all sprites
-               ora     #MOUSE_SPR_MASK         ; Set high bit for sprite
+@L1:    lda     VIC_SPR_HI_X            ; Get high X bits of all sprites
+        ora     #MOUSE_SPR_MASK         ; Set high bit for sprite
         sta     VIC_SPR_HI_X
         rts
 
@@ -86,11 +86,11 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         ldx     PALFLAG
         bne     @L1
         adc     #50                     ; FIXME: Should be NTSC, is PAL value
-               sta     VIC_SPR_Y               ; Set Y position
+        sta     VIC_SPR_Y               ; Set Y position
         rts
 
 @L1:    adc     #50                     ; Add PAL correction
-               sta     VIC_SPR_Y               ; Set Y position
+        sta     VIC_SPR_Y               ; Set Y position
         rts
 
 .endproc
index 999c57090cdcbe73ae7e3d885a460ec7adf57b54..f7c74d3cb6a2a80b0b969833d379f5538addc981 100644 (file)
@@ -7,7 +7,7 @@
 
         .include        "zeropage.inc"
         .include        "mouse-kernel.inc"
-       .include        "c128.inc"
+        .include        "c128.inc"
 
         .macpack        generic
 
@@ -64,18 +64,18 @@ SCREEN_WIDTH    = 320
 .bss
 
 Vars:
-OldPotX:       .res    1               ; Old hw counter values
-OldPotY:       .res    1
+OldPotX:        .res    1               ; Old hw counter values
+OldPotY:        .res    1
 
 YPos:           .res    2               ; Current mouse position, Y
 XPos:           .res    2               ; Current mouse position, X
-XMin:          .res    2               ; X1 value of bounding box
-YMin:          .res    2               ; Y1 value of bounding box
-XMax:          .res    2               ; X2 value of bounding box
-YMax:          .res    2               ; Y2 value of bounding box
+XMin:           .res    2               ; X1 value of bounding box
+YMin:           .res    2               ; Y1 value of bounding box
+XMax:           .res    2               ; X2 value of bounding box
+YMax:           .res    2               ; Y2 value of bounding box
 
-OldValue:      .res    1               ; Temp for MoveCheck routine
-NewValue:      .res    1               ; Temp for MoveCheck routine
+OldValue:       .res    1               ; Temp for MoveCheck routine
+NewValue:       .res    1               ; Temp for MoveCheck routine
 
 ; Default values for above variables
 
@@ -177,7 +177,7 @@ SETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
@@ -195,7 +195,7 @@ GETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
@@ -219,47 +219,47 @@ MOVE:   sei                             ; No interrupts
         lda     (sp),y
         sta     XPos                    ; New X position
 
-        jsr     CMOVEX                 ; Move the cursor
+        jsr     CMOVEX                  ; Move the cursor
 
-       cli                             ; Allow interrupts
-               rts
+        cli                             ; Allow interrupts
+        rts
 
 ;----------------------------------------------------------------------------
 ; BUTTONS: Return the button mask in a/x.
 
 BUTTONS:
-        lda    #$7F
-       sei
-       sta     CIA1_PRA
-       lda     CIA1_PRB                ; Read joystick #0
-       cli
+        lda     #$7F
+        sei
+        sta     CIA1_PRA
+        lda     CIA1_PRB                ; Read joystick #0
+        cli
         ldx     #0
-       and     #$1F
-       eor     #$1F
+        and     #$1F
+        eor     #$1F
         rts
 
 ;----------------------------------------------------------------------------
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 
-POS:    ldy            #MOUSE_POS::XCOORD      ; Structure offset
+POS:    ldy     #MOUSE_POS::XCOORD      ; Structure offset
 
-       sei                             ; Disable interrupts
-       lda     XPos                    ; Transfer the position
-       sta     (ptr1),y
-       lda     XPos+1
-       iny
-       sta     (ptr1),y
-       lda     YPos
+        sei                             ; Disable interrupts
+        lda     XPos                    ; Transfer the position
+        sta     (ptr1),y
+        lda     XPos+1
         iny
         sta     (ptr1),y
-       lda     YPos+1
-       cli                             ; Enable interrupts
+        lda     YPos
+        iny
+        sta     (ptr1),y
+        lda     YPos+1
+        cli                             ; Enable interrupts
 
         iny
         sta     (ptr1),y                ; Store last byte
 
-       rts                             ; Done
+        rts                             ; Done
 
 ;----------------------------------------------------------------------------
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
@@ -270,15 +270,15 @@ POS:    ldy       #MOUSE_POS::XCOORD      ; Structure offset
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-INFO:   jsr    POS
+INFO:   jsr     POS
 
 ; Fill in the button state
 
-       jsr     BUTTONS                 ; Will not touch ptr1
-       ldy     #MOUSE_INFO::BUTTONS
-       sta     (ptr1),y
+        jsr     BUTTONS                 ; Will not touch ptr1
+        ldy     #MOUSE_INFO::BUTTONS
+        sta     (ptr1),y
 
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -297,10 +297,10 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; MUST return carry clear.
 ;
 
-IRQ:    lda    SID_ADConv1             ; Get mouse X movement
-       ldy     OldPotX
-       jsr     MoveCheck               ; Calculate movement vector
-       sty     OldPotX
+IRQ:    lda     SID_ADConv1             ; Get mouse X movement
+        ldy     OldPotX
+        jsr     MoveCheck               ; Calculate movement vector
+        sty     OldPotX
 
 ; Skip processing if nothing has changed
 
@@ -308,29 +308,29 @@ IRQ:    lda       SID_ADConv1             ; Get mouse X movement
 
 ; Calculate the new X coordinate (--> a/y)
 
-               add     XPos
-       tay                             ; Remember low byte
-       txa
-       adc     XPos+1
-       tax
+        add     XPos
+        tay                             ; Remember low byte
+        txa
+        adc     XPos+1
+        tax
 
 ; Limit the X coordinate to the bounding box
 
-       cpy     XMin
-       sbc     XMin+1
-       bpl     @L1
-               ldy     XMin
-               ldx     XMin+1
-       jmp     @L2
-@L1:   txa
-
-       cpy     XMax
-       sbc     XMax+1
-       bmi     @L2
-       ldy     XMax
-       ldx     XMax+1
-@L2:   sty     XPos
-       stx     XPos+1
+        cpy     XMin
+        sbc     XMin+1
+        bpl     @L1
+        ldy     XMin
+        ldx     XMin+1
+        jmp     @L2
+@L1:    txa
+
+        cpy     XMax
+        sbc     XMax+1
+        bmi     @L2
+        ldy     XMax
+        ldx     XMax+1
+@L2:    sty     XPos
+        stx     XPos+1
 
 ; Move the mouse pointer to the new X pos
 
@@ -339,10 +339,10 @@ IRQ:    lda       SID_ADConv1             ; Get mouse X movement
 
 ; Calculate the Y movement vector
 
-@SkipX: lda    SID_ADConv2             ; Get mouse Y movement
-       ldy     OldPotY
-       jsr     MoveCheck               ; Calculate movement
-       sty     OldPotY
+@SkipX: lda     SID_ADConv2             ; Get mouse Y movement
+        ldy     OldPotY
+        jsr     MoveCheck               ; Calculate movement
+        sty     OldPotY
 
 ; Skip processing if nothing has changed
 
@@ -350,32 +350,32 @@ IRQ:    lda       SID_ADConv1             ; Get mouse X movement
 
 ; Calculate the new Y coordinate (--> a/y)
 
-       sta     OldValue
-       lda     YPos
-       sub     OldValue
-       tay
-       stx     OldValue
-       lda     YPos+1
-       sbc     OldValue
-       tax
+        sta     OldValue
+        lda     YPos
+        sub     OldValue
+        tay
+        stx     OldValue
+        lda     YPos+1
+        sbc     OldValue
+        tax
 
 ; Limit the Y coordinate to the bounding box
 
-       cpy     YMin
-       sbc     YMin+1
-       bpl     @L3
-               ldy     YMin
-               ldx     YMin+1
-       jmp     @L4
-@L3:   txa
-
-       cpy     YMax
-       sbc     YMax+1
-       bmi     @L4
-       ldy     YMax
-       ldx     YMax+1
-@L4:   sty     YPos
-       stx     YPos+1
+        cpy     YMin
+        sbc     YMin+1
+        bpl     @L3
+        ldy     YMin
+        ldx     YMin+1
+        jmp     @L4
+@L3:    txa
+
+        cpy     YMax
+        sbc     YMax+1
+        bmi     @L4
+        ldy     YMax
+        ldx     YMax+1
+@L4:    sty     YPos
+        stx     YPos+1
 
 ; Move the mouse pointer to the new X pos
 
@@ -391,38 +391,38 @@ IRQ:    lda       SID_ADConv1             ; Get mouse X movement
 ;
 ; Move check routine, called for both coordinates.
 ;
-; Entry:       y = old value of pot register
-;              a = current value of pot register
-; Exit:                y = value to use for old value
-;              x/a = delta value for position
+; Entry:        y = old value of pot register
+;               a = current value of pot register
+; Exit:         y = value to use for old value
+;               x/a = delta value for position
 ;
 
 MoveCheck:
-       sty     OldValue
-       sta     NewValue
-       ldx     #$00
-
-       sub     OldValue                ; a = mod64 (new - old)
-       and     #%01111111
-       cmp     #%01000000              ; if (a > 0)
-       bcs     @L1                     ;
-       lsr     a                       ;   a /= 2;
-       beq     @L2                     ;   if (a != 0)
-       ldy     NewValue                ;     y = NewValue
+        sty     OldValue
+        sta     NewValue
+        ldx     #$00
+
+        sub     OldValue                ; a = mod64 (new - old)
+        and     #%01111111
+        cmp     #%01000000              ; if (a > 0)
+        bcs     @L1                     ;
+        lsr     a                       ;   a /= 2;
+        beq     @L2                     ;   if (a != 0)
+        ldy     NewValue                ;     y = NewValue
+        sec
+        rts                             ;   return
+
+@L1:    ora     #%11000000              ; else or in high order bits
+        cmp     #$FF                    ; if (a != -1)
+        beq     @L2
         sec
-       rts                             ;   return
-
-@L1:   ora     #%11000000              ; else or in high order bits
-       cmp     #$FF                    ; if (a != -1)
-       beq     @L2
-       sec
-       ror     a                       ;   a /= 2
-               dex                             ;   high byte = -1 (X = $FF)
-       ldy     NewValue
+        ror     a                       ;   a /= 2
+        dex                             ;   high byte = -1 (X = $FF)
+        ldy     NewValue
         sec
-       rts
+        rts
 
-@L2:           txa                             ; A = $00
+@L2:    txa                             ; A = $00
         clc
-       rts
+        rts
 
index 0cceaa7f1e5add370b30baa76a37ff5e5ef9ff58..3ac7b5ee3151f69324848d4546c6ef65ca265317 100644 (file)
@@ -6,7 +6,7 @@
 
         .include        "zeropage.inc"
         .include        "mouse-kernel.inc"
-       .include        "c128.inc"
+        .include        "c128.inc"
 
         .macpack        generic
 
@@ -73,11 +73,11 @@ SCREEN_WIDTH    = 320
 Vars:
 YPos:           .res    2               ; Current mouse position, Y
 XPos:           .res    2               ; Current mouse position, X
-XMin:          .res    2               ; X1 value of bounding box
-YMin:          .res    2               ; Y1 value of bounding box
-XMax:          .res    2               ; X2 value of bounding box
-YMax:          .res    2               ; Y2 value of bounding box
-Buttons:       .res    1               ; Button mask
+XMin:           .res    2               ; X1 value of bounding box
+YMin:           .res    2               ; Y1 value of bounding box
+XMax:           .res    2               ; X2 value of bounding box
+YMax:           .res    2               ; Y2 value of bounding box
+Buttons:        .res    1               ; Button mask
 
 ; Temporary value used in the int handler
 
@@ -94,7 +94,7 @@ Temp:           .res    1
         .word   0                       ; YMin
         .word   SCREEN_WIDTH            ; XMax
         .word   SCREEN_HEIGHT           ; YMax
-       .byte   0                       ; Buttons
+        .byte   0                       ; Buttons
 .endproc
 
 .code
@@ -183,7 +183,7 @@ SETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
@@ -201,7 +201,7 @@ GETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
@@ -225,41 +225,41 @@ MOVE:   sei                             ; No interrupts
         lda     (sp),y
         sta     XPos                    ; New X position
 
-        jsr     CMOVEX                 ; Move the cursor
+        jsr     CMOVEX                  ; Move the cursor
 
-       cli                             ; Allow interrupts
-               rts
+        cli                             ; Allow interrupts
+        rts
 
 ;----------------------------------------------------------------------------
 ; BUTTONS: Return the button mask in a/x.
 
 BUTTONS:
-       lda     Buttons
-       ldx     #$00
-       rts
+        lda     Buttons
+        ldx     #$00
+        rts
 
 ;----------------------------------------------------------------------------
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 
-POS:    ldy            #MOUSE_POS::XCOORD      ; Structure offset
+POS:    ldy     #MOUSE_POS::XCOORD      ; Structure offset
 
-       sei                             ; Disable interrupts
-       lda     XPos                    ; Transfer the position
-       sta     (ptr1),y
-       lda     XPos+1
-       iny
-       sta     (ptr1),y
-       lda     YPos
+        sei                             ; Disable interrupts
+        lda     XPos                    ; Transfer the position
+        sta     (ptr1),y
+        lda     XPos+1
         iny
         sta     (ptr1),y
-       lda     YPos+1
-       cli                             ; Enable interrupts
+        lda     YPos
+        iny
+        sta     (ptr1),y
+        lda     YPos+1
+        cli                             ; Enable interrupts
 
         iny
         sta     (ptr1),y                ; Store last byte
 
-       rts                             ; Done
+        rts                             ; Done
 
 ;----------------------------------------------------------------------------
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
@@ -270,15 +270,15 @@ POS:    ldy       #MOUSE_POS::XCOORD      ; Structure offset
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-INFO:   jsr    POS
+INFO:   jsr     POS
 
 ; Fill in the button state
 
-               lda     Buttons
-       ldy     #MOUSE_INFO::BUTTONS
-       sta     (ptr1),y
+        lda     Buttons
+        ldy     #MOUSE_INFO::BUTTONS
+        sta     (ptr1),y
 
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -297,11 +297,11 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; MUST return carry clear.
 ;
 
-IRQ:   lda     #$7F
-       sta     CIA1_PRA
-       lda     CIA1_PRB                ; Read joystick #0
+IRQ:    lda     #$7F
+        sta     CIA1_PRA
+        lda     CIA1_PRB                ; Read joystick #0
         and     #$1F
-       eor     #$1F                    ; Make all bits active high
+        eor     #$1F                    ; Make all bits active high
         sta     Temp
 
 ; Check for a pressed button and place the result into Buttons
@@ -315,45 +315,45 @@ IRQ:      lda     #$7F
 ; Check left/right
 
         lda     Temp                    ; Read joystick #0
-               and     #(JOY::LEFT | JOY::RIGHT)
-        beq     @SkipX                 ;
+        and     #(JOY::LEFT | JOY::RIGHT)
+        beq     @SkipX                  ;
 
 ; We will cheat here and rely on the fact that either the left, OR the right
 ; bit can be active
 
-               and     #JOY::RIGHT             ; Check RIGHT bit
-               bne     @Right
-       lda     #$FF
-       tax
-       bne     @AddX                   ; Branch always
-@Right:        lda     #$01
-       ldx     #$00
+        and     #JOY::RIGHT             ; Check RIGHT bit
+        bne     @Right
+        lda     #$FF
+        tax
+        bne     @AddX                   ; Branch always
+@Right: lda     #$01
+        ldx     #$00
 
 ; Calculate the new X coordinate (--> a/y)
 
 @AddX:  add     XPos
-       tay                             ; Remember low byte
-       txa
-       adc     XPos+1
-       tax
+        tay                             ; Remember low byte
+        txa
+        adc     XPos+1
+        tax
 
 ; Limit the X coordinate to the bounding box
 
-       cpy     XMin
-       sbc     XMin+1
-       bpl     @L1
-               ldy     XMin
-               ldx     XMin+1
-       jmp     @L2
-@L1:   txa
-
-       cpy     XMax
-       sbc     XMax+1
-       bmi     @L2
-       ldy     XMax
-       ldx     XMax+1
-@L2:   sty     XPos
-       stx     XPos+1
+        cpy     XMin
+        sbc     XMin+1
+        bpl     @L1
+        ldy     XMin
+        ldx     XMin+1
+        jmp     @L2
+@L1:    txa
+
+        cpy     XMax
+        sbc     XMax+1
+        bmi     @L2
+        ldy     XMax
+        ldx     XMax+1
+@L2:    sty     XPos
+        stx     XPos+1
 
 ; Move the mouse pointer to the new X pos
 
@@ -363,45 +363,45 @@ IRQ:      lda     #$7F
 ; Calculate the Y movement vector
 
 @SkipX: lda     Temp                    ; Read joystick #0
-               and     #(JOY::UP | JOY::DOWN)  ; Check up/down
-        beq     @SkipY                 ;
+        and     #(JOY::UP | JOY::DOWN)  ; Check up/down
+        beq     @SkipY                  ;
 
 ; We will cheat here and rely on the fact that either the up, OR the down
 ; bit can be active
 
-               lsr     a                       ; Check UP bit
-               bcc     @Down
-       lda     #$FF
-       tax
-       bne     @AddY
-@Down: lda     #$01
-       ldx     #$00
+        lsr     a                       ; Check UP bit
+        bcc     @Down
+        lda     #$FF
+        tax
+        bne     @AddY
+@Down:  lda     #$01
+        ldx     #$00
 
 ; Calculate the new Y coordinate (--> a/y)
 
-@AddY:         add     YPos
-       tay                             ; Remember low byte
-       txa
-       adc     YPos+1
-       tax
+@AddY:  add     YPos
+        tay                             ; Remember low byte
+        txa
+        adc     YPos+1
+        tax
 
 ; Limit the Y coordinate to the bounding box
 
-       cpy     YMin
-       sbc     YMin+1
-       bpl     @L3
-               ldy     YMin
-               ldx     YMin+1
-       jmp     @L4
-@L3:   txa
-
-       cpy     YMax
-       sbc     YMax+1
-       bmi     @L4
-       ldy     YMax
-       ldx     YMax+1
-@L4:   sty     YPos
-       stx     YPos+1
+        cpy     YMin
+        sbc     YMin+1
+        bpl     @L3
+        ldy     YMin
+        ldx     YMin+1
+        jmp     @L4
+@L3:    txa
+
+        cpy     YMax
+        sbc     YMax+1
+        bmi     @L4
+        ldy     YMax
+        ldx     YMax+1
+@L4:    sty     YPos
+        stx     YPos+1
 
 ; Move the mouse pointer to the new X pos
 
index c6f7a1f86243b2a0ebc18b1e6eb2d2c8d751b31d..2713e3f4fd7f0179cf79521aba0d11da5d9e8914 100644 (file)
@@ -5,59 +5,59 @@
 ; Stefan Haubenthal, 2006-08-20
 ;
 
-       .include        "zeropage.inc"
-       .include        "mouse-kernel.inc"
-       .include        "c128.inc"
+        .include        "zeropage.inc"
+        .include        "mouse-kernel.inc"
+        .include        "c128.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 HEADER:
 
 ; Driver signature
 
-       .byte   $6d, $6f, $75           ; "mou"
-       .byte   MOUSE_API_VERSION       ; Mouse driver API version number
+        .byte   $6d, $6f, $75           ; "mou"
+        .byte   MOUSE_API_VERSION       ; Mouse driver API version number
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   HIDE
-       .addr   SHOW
-       .addr   SETBOX
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   HIDE
+        .addr   SHOW
+        .addr   SETBOX
         .addr   GETBOX
-       .addr   MOVE
-       .addr   BUTTONS
-       .addr   POS
-       .addr   INFO
-       .addr   IOCTL
-       .addr   IRQ
+        .addr   MOVE
+        .addr   BUTTONS
+        .addr   POS
+        .addr   INFO
+        .addr   IOCTL
+        .addr   IRQ
 
 ; Callback table, set by the kernel before INSTALL is called
 
-CHIDE: jmp     $0000                   ; Hide the cursor
-CSHOW: jmp     $0000                   ; Show the cursor
-CMOVEX: jmp    $0000                   ; Move the cursor to X coord
-CMOVEY: jmp    $0000                   ; Move the cursor to Y coord
+CHIDE:  jmp     $0000                   ; Hide the cursor
+CSHOW:  jmp     $0000                   ; Show the cursor
+CMOVEX: jmp     $0000                   ; Move the cursor to X coord
+CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
 
 ;----------------------------------------------------------------------------
 ; Constants
 
-SCREEN_HEIGHT  = 200
-SCREEN_WIDTH   = 320
+SCREEN_HEIGHT   = 200
+SCREEN_WIDTH    = 320
 
-.enum  JOY
-       UP      = $01
-       DOWN    = $02
-       LEFT    = $04
-       RIGHT   = $08
-       FIRE    = $10
+.enum   JOY
+        UP      = $01
+        DOWN    = $02
+        LEFT    = $04
+        RIGHT   = $08
+        FIRE    = $10
 .endenum
 
 ;----------------------------------------------------------------------------
@@ -68,30 +68,30 @@ SCREEN_WIDTH        = 320
 .bss
 
 Vars:
-YPos:          .res    2               ; Current mouse position, Y
-XPos:          .res    2               ; Current mouse position, X
-XMin:          .res    2               ; X1 value of bounding box
-YMin:          .res    2               ; Y1 value of bounding box
-XMax:          .res    2               ; X2 value of bounding box
-YMax:          .res    2               ; Y2 value of bounding box
-Buttons:       .res    1               ; Button mask
+YPos:           .res    2               ; Current mouse position, Y
+XPos:           .res    2               ; Current mouse position, X
+XMin:           .res    2               ; X1 value of bounding box
+YMin:           .res    2               ; Y1 value of bounding box
+XMax:           .res    2               ; X2 value of bounding box
+YMax:           .res    2               ; Y2 value of bounding box
+Buttons:        .res    1               ; Button mask
 
 ; Temporary value used in the int handler
 
-Temp:          .res    1
+Temp:           .res    1
 
 ; Default values for above variables
 
 .rodata
 
-.proc  DefVars
-       .word   SCREEN_HEIGHT/2         ; YPos
-       .word   SCREEN_WIDTH/2          ; XPos
-       .word   0                       ; XMin
-       .word   0                       ; YMin
-       .word   SCREEN_WIDTH            ; XMax
-       .word   SCREEN_HEIGHT           ; YMax
-       .byte   0                       ; Buttons
+.proc   DefVars
+        .word   SCREEN_HEIGHT/2         ; YPos
+        .word   SCREEN_WIDTH/2          ; XPos
+        .word   0                       ; XMin
+        .word   0                       ; YMin
+        .word   SCREEN_WIDTH            ; XMax
+        .word   SCREEN_HEIGHT           ; YMax
+        .byte   0                       ; Buttons
 .endproc
 
 .code
@@ -105,37 +105,37 @@ INSTALL:
 
 ; Initialize variables. Just copy the default stuff over
 
-       ldx     #.sizeof(DefVars)-1
-@L1:   lda     DefVars,x
-       sta     Vars,x
-       dex
-       bpl     @L1
+        ldx     #.sizeof(DefVars)-1
+@L1:    lda     DefVars,x
+        sta     Vars,x
+        dex
+        bpl     @L1
 
 ; Be sure the mouse cursor is invisible and at the default location. We
 ; need to do that here, because our mouse interrupt handler doesn't set the
 ; mouse position if it hasn't changed.
 
-       sei
-       jsr     CHIDE
-       lda     XPos
-       ldx     XPos+1
-       jsr     CMOVEX
-       lda     YPos
-       ldx     YPos+1
-       jsr     CMOVEY
-       cli
+        sei
+        jsr     CHIDE
+        lda     XPos
+        ldx     XPos+1
+        jsr     CMOVEX
+        lda     YPos
+        ldx     YPos+1
+        jsr     CMOVEY
+        cli
 
 ; Done, return zero (= MOUSE_ERR_OK)
 
-       ldx     #$00
-       txa
-       rts
+        ldx     #$00
+        txa
+        rts
 
 ;----------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
 ; No return code required (the driver is removed from memory on return).
 
-UNINSTALL      = HIDE                  ; Hide cursor on exit
+UNINSTALL       = HIDE                  ; Hide cursor on exit
 
 ;----------------------------------------------------------------------------
 ; HIDE routine. Is called to hide the mouse pointer. The mouse kernel manages
@@ -144,10 +144,10 @@ UNINSTALL = HIDE                  ; Hide cursor on exit
 ; no special action is required besides hiding the mouse cursor.
 ; No return code required.
 
-HIDE:  sei
-       jsr     CHIDE
-       cli
-       rts
+HIDE:   sei
+        jsr     CHIDE
+        cli
+        rts
 
 ;----------------------------------------------------------------------------
 ; SHOW routine. Is called to show the mouse pointer. The mouse kernel manages
@@ -156,10 +156,10 @@ HIDE:     sei
 ; no special action is required besides enabling the mouse cursor.
 ; No return code required.
 
-SHOW:  sei
-       jsr     CSHOW
-       cli
-       rts
+SHOW:   sei
+        jsr     CSHOW
+        cli
+        rts
 
 ;----------------------------------------------------------------------------
 ; SETBOX: Set the mouse bounding box. The parameters are passed as they come
@@ -180,7 +180,7 @@ SETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
@@ -198,7 +198,7 @@ GETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
@@ -208,55 +208,55 @@ GETBOX: sta     ptr1
 ; the screen). No return code required.
 ;
 
-MOVE:  sei                             ; No interrupts
+MOVE:   sei                             ; No interrupts
 
-       sta     YPos
-       stx     YPos+1                  ; New Y position
-       jsr     CMOVEY                  ; Set it
+        sta     YPos
+        stx     YPos+1                  ; New Y position
+        jsr     CMOVEY                  ; Set it
 
-       ldy     #$01
-       lda     (sp),y
-       sta     XPos+1
-       tax
-       dey
-       lda     (sp),y
-       sta     XPos                    ; New X position
+        ldy     #$01
+        lda     (sp),y
+        sta     XPos+1
+        tax
+        dey
+        lda     (sp),y
+        sta     XPos                    ; New X position
 
-       jsr     CMOVEX                  ; Move the cursor
+        jsr     CMOVEX                  ; Move the cursor
 
-       cli                             ; Allow interrupts
-       rts
+        cli                             ; Allow interrupts
+        rts
 
 ;----------------------------------------------------------------------------
 ; BUTTONS: Return the button mask in a/x.
 
 BUTTONS:
-       lda     Buttons
-       ldx     #$00
-       rts
+        lda     Buttons
+        ldx     #$00
+        rts
 
 ;----------------------------------------------------------------------------
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 
-POS:   ldy     #MOUSE_POS::XCOORD      ; Structure offset
+POS:    ldy     #MOUSE_POS::XCOORD      ; Structure offset
 
-       sei                             ; Disable interrupts
-       lda     XPos                    ; Transfer the position
-       sta     (ptr1),y
-       lda     XPos+1
-       iny
-       sta     (ptr1),y
-       lda     YPos
-       iny
-       sta     (ptr1),y
-       lda     YPos+1
-       cli                             ; Enable interrupts
+        sei                             ; Disable interrupts
+        lda     XPos                    ; Transfer the position
+        sta     (ptr1),y
+        lda     XPos+1
+        iny
+        sta     (ptr1),y
+        lda     YPos
+        iny
+        sta     (ptr1),y
+        lda     YPos+1
+        cli                             ; Enable interrupts
 
-       iny
-       sta     (ptr1),y                ; Store last byte
+        iny
+        sta     (ptr1),y                ; Store last byte
 
-       rts                             ; Done
+        rts                             ; Done
 
 ;----------------------------------------------------------------------------
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
@@ -267,15 +267,15 @@ POS:      ldy     #MOUSE_POS::XCOORD      ; Structure offset
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-INFO:  jsr     POS
+INFO:   jsr     POS
 
 ; Fill in the button state
 
-       lda     Buttons
-       ldy     #MOUSE_INFO::BUTTONS
-       sta     (ptr1),y
+        lda     Buttons
+        ldy     #MOUSE_INFO::BUTTONS
+        sta     (ptr1),y
 
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -283,108 +283,108 @@ INFO:   jsr     POS
 ; Must return an error code in a/x.
 ;
 
-IOCTL: lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
-       ldx     #>MOUSE_ERR_INV_IOCTL
-       rts
+IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
+        ldx     #>MOUSE_ERR_INV_IOCTL
+        rts
 
 ;----------------------------------------------------------------------------
 ; IRQ: Irq handler entry point. Called as a subroutine but in IRQ context
 ; (so be careful).
 ;
 
-IRQ:   lda     #$7F
-       sta     CIA1_PRA
-       lda     CIA1_PRB                ; Read port #1
-       and     #%00001100
-       eor     #%00001100              ; Make all bits active high
-       asl
-       sta     Buttons
-       lsr
-       lsr
-       lsr
-       and     #%00000001
-       ora     Buttons
-       sta     Buttons
-       ldx     #%01000000
-       stx     CIA1_PRA
-       ldy     #0
-:      dey
-       bne     :-
-       ldx     SID_ADConv1
-       stx     XPos
-       ldx     SID_ADConv2
-       stx     YPos
-
-       lda     #$FF
-       tax
-       bne     @AddX                   ; Branch always
-       lda     #$01
-       ldx     #$00
+IRQ:    lda     #$7F
+        sta     CIA1_PRA
+        lda     CIA1_PRB                ; Read port #1
+        and     #%00001100
+        eor     #%00001100              ; Make all bits active high
+        asl
+        sta     Buttons
+        lsr
+        lsr
+        lsr
+        and     #%00000001
+        ora     Buttons
+        sta     Buttons
+        ldx     #%01000000
+        stx     CIA1_PRA
+        ldy     #0
+:       dey
+        bne     :-
+        ldx     SID_ADConv1
+        stx     XPos
+        ldx     SID_ADConv2
+        stx     YPos
+
+        lda     #$FF
+        tax
+        bne     @AddX                   ; Branch always
+        lda     #$01
+        ldx     #$00
 
 ; Calculate the new X coordinate (--> a/y)
 
-@AddX: add     XPos
-       tay                             ; Remember low byte
-       txa
-       adc     XPos+1
-       tax
+@AddX:  add     XPos
+        tay                             ; Remember low byte
+        txa
+        adc     XPos+1
+        tax
 
 ; Limit the X coordinate to the bounding box
 
-       cpy     XMin
-       sbc     XMin+1
-       bpl     @L1
-       ldy     XMin
-       ldx     XMin+1
-       jmp     @L2
-@L1:   txa
-
-       cpy     XMax
-       sbc     XMax+1
-       bmi     @L2
-       ldy     XMax
-       ldx     XMax+1
-@L2:   sty     XPos
-       stx     XPos+1
+        cpy     XMin
+        sbc     XMin+1
+        bpl     @L1
+        ldy     XMin
+        ldx     XMin+1
+        jmp     @L2
+@L1:    txa
+
+        cpy     XMax
+        sbc     XMax+1
+        bmi     @L2
+        ldy     XMax
+        ldx     XMax+1
+@L2:    sty     XPos
+        stx     XPos+1
 
 ; Move the mouse pointer to the new X pos
 
-       tya
-       jsr     CMOVEX
+        tya
+        jsr     CMOVEX
 
-       lda     #$FF
-       tax
-       bne     @AddY
-@Down: lda     #$01
-       ldx     #$00
+        lda     #$FF
+        tax
+        bne     @AddY
+@Down:  lda     #$01
+        ldx     #$00
 
 ; Calculate the new Y coordinate (--> a/y)
 
-@AddY: add     YPos
-       tay                             ; Remember low byte
-       txa
-       adc     YPos+1
-       tax
+@AddY:  add     YPos
+        tay                             ; Remember low byte
+        txa
+        adc     YPos+1
+        tax
 
 ; Limit the Y coordinate to the bounding box
 
-       cpy     YMin
-       sbc     YMin+1
-       bpl     @L3
-       ldy     YMin
-       ldx     YMin+1
-       jmp     @L4
-@L3:   txa
-
-       cpy     YMax
-       sbc     YMax+1
-       bmi     @L4
-       ldy     YMax
-       ldx     YMax+1
-@L4:   sty     YPos
-       stx     YPos+1
+        cpy     YMin
+        sbc     YMin+1
+        bpl     @L3
+        ldy     YMin
+        ldx     YMin+1
+        jmp     @L4
+@L3:    txa
+
+        cpy     YMax
+        sbc     YMax+1
+        bmi     @L4
+        ldy     YMax
+        ldx     YMax+1
+@L4:    sty     YPos
+        stx     YPos+1
 
 ; Move the mouse pointer to the new X pos
 
-       tya
-       jmp     CMOVEY
+        tya
+        jmp     CMOVEY
index 24f40a54f5a99835d4a8210372160c58b5089051..29f2c6392a8f76a5304d6e237b232208a58e91fa 100644 (file)
@@ -6,8 +6,8 @@
 ; const void mouse_static_stddrv[];
 ;
 
-        .export        _mouse_static_stddrv
-        .import        _c128_1351_mou
+        .export _mouse_static_stddrv
+        .import _c128_1351_mou
 
 .rodata
 
index 09c607ea32d15c600872533b1616444bd98a14c7..a9777a0571624c4fd1dc565b600aad45114031d3 100644 (file)
@@ -6,10 +6,10 @@
 ; const char mouse_stddrv[];
 ;
 
-       .export _mouse_stddrv
+        .export _mouse_stddrv
 
 .rodata
 
-_mouse_stddrv: .asciiz "c128-1351.mou"
+_mouse_stddrv:  .asciiz "c128-1351.mou"
 
 
index a4599e97b22c5a237e0706d77c33069fe81dbe2f..5c57e04be42abb41321933decf6541dd9ed693be 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 __randomize:
         ldx     VIC_HLINE       ; Use VIC rasterline as high byte
index f722c84a832b9ff182ce3a6d7c269ffca0913d43..f19400b9a0e85b3f59781ec09330d11a876302d2 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "c128.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index 558d80db84c8d62dce9b4b834e8ddbcbc483feba..347452e852d00dc690021982f333ffa23b93f139 100644 (file)
@@ -24,7 +24,7 @@
         .include        "zeropage.inc"
         .include        "ser-kernel.inc"
         .include        "ser-error.inc"
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
 ; ------------------------------------------------------------------------
         .word   PUT
         .word   STATUS
         .word   IOCTL
-       .word   IRQ
+        .word   IRQ
 
 ;----------------------------------------------------------------------------
 ; I/O definitions
 
-ACIA                   = $DE00
+ACIA            = $DE00
 ACIA_DATA       = ACIA+0        ; Data register
 ACIA_STATUS     = ACIA+1        ; Status register
 ACIA_CMD        = ACIA+2        ; Command register
@@ -137,11 +137,11 @@ NmiStubOrig     := *
 .org    $1150                           ; BASIC graphics area
 .proc   NmiStub
 
-       lda     #MMU_CFG_CC65           ; Bank 0 with kernal ROM...
-       sta     MMU_CR                  ; ...enable
+        lda     #MMU_CFG_CC65           ; Bank 0 with kernal ROM...
+        sta     MMU_CR                  ; ...enable
         jsr     NmiHandler              ; Call the actual NMI handler
-               lda     #$00                    ; Get ROM config...
-       sta     MMU_CR                  ; ...and enable it
+        lda     #$00                    ; Get ROM config...
+        sta     MMU_CR                  ; ...and enable it
 Vector  := *+1
         .byte   $4C                     ; Jump to the saved IRQ vector
 
@@ -157,8 +157,8 @@ INSTALL:
 
 ; Deactivate DTR and disable 6551 interrupts
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Copy the NMI stub into low memory
 
@@ -170,20 +170,20 @@ INSTALL:
 
 ; Set up the nmi vector
 
-       lda     NMIVec
-       ldy     NMIVec+1
-       sta     NmiStub::Vector+0
-       sty     NmiStub::Vector+1
-       lda     #<NmiStub
-       ldy     #>NmiStub
-SetNMI: sta    NMIVec
-       sty     NMIVec+1
+        lda     NMIVec
+        ldy     NMIVec+1
+        sta     NmiStub::Vector+0
+        sty     NmiStub::Vector+1
+        lda     #<NmiStub
+        ldy     #>NmiStub
+SetNMI: sta     NMIVec
+        sty     NMIVec+1
 
 ; Done, return an error code
 
         lda     #<SER_ERR_OK
         tax                     ; A is zero
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -193,14 +193,14 @@ UNINSTALL:
 
 ; Stop interrupts, drop DTR
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Restore NMI vector and return OK
 
-       lda     NmiStub::Vector+0
-       ldy     NmiStub::Vector+1
-       jmp     SetNMI
+        lda     NmiStub::Vector+0
+        ldy     NmiStub::Vector+1
+        jmp     SetNMI
 
 ;----------------------------------------------------------------------------
 ; PARAMS routine. A pointer to a ser_params structure is passed in ptr1.
@@ -210,10 +210,10 @@ OPEN:
 
 ; Check if the handshake setting is valid
 
-        ldy    #SER_PARAMS::HANDSHAKE  ; Handshake
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
         lda     (ptr1),y
-        cmp    #SER_HS_HW              ; This is all we support
-        bne    InvParam
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
 
 ; Initialize buffers
 
@@ -226,48 +226,48 @@ OPEN:
         lda     (ptr1),y                ; Baudrate index
         tay
         lda     BaudTable,y             ; Get 6551 value
-        bmi     InvBaud                        ; Branch if rate not supported
+        bmi     InvBaud                 ; Branch if rate not supported
         sta     tmp1
 
-        ldy    #SER_PARAMS::DATABITS   ; Databits
+        ldy     #SER_PARAMS::DATABITS   ; Databits
         lda     (ptr1),y
         tay
         lda     BitTable,y
         ora     tmp1
         sta     tmp1
 
-        ldy    #SER_PARAMS::STOPBITS   ; Stopbits
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
         lda     (ptr1),y
         tay
         lda     StopTable,y
         ora     tmp1
-        ora    #%00010000              ; Receiver clock source = baudrate
-       sta     ACIA_CTRL
+        ora     #%00010000              ; Receiver clock source = baudrate
+        sta     ACIA_CTRL
 
 ; Set the value for the command register. We remember the base value in
 ; RtsOff, since we will have to manipulate ACIA_CMD often.
 
-        ldy            #SER_PARAMS::PARITY     ; Parity
+        ldy     #SER_PARAMS::PARITY     ; Parity
         lda     (ptr1),y
         tay
         lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-               ora     #%00001000              ; Enable receive interrupts
-               sta     ACIA_CMD
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
+        sta     ACIA_CMD
 
 ; Done
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ; Invalid parameter
 
 InvParam:
-       lda     #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
+        lda     #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
 
 ; Baud rate not available
 
@@ -285,8 +285,8 @@ CLOSE:
 
 ; Stop interrupts, drop DTR
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Initalize buffers. Returns zero in a
 
@@ -296,7 +296,7 @@ CLOSE:
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GET: Will fetch a character from the receive buffer and store it into the
@@ -304,43 +304,43 @@ CLOSE:
 ; return.
 ;
 
-GET:    ldx    SendFreeCnt             ; Send data if necessary
-               inx                             ; X == $FF?
-       beq     @L1
-       lda     #$00
-       jsr     TryToSend
+GET:    ldx     SendFreeCnt             ; Send data if necessary
+        inx                             ; X == $FF?
+        beq     @L1
+        lda     #$00
+        jsr     TryToSend
 
 ; Check for buffer empty
 
-@L1:   lda     RecvFreeCnt             ; (25)
-       cmp     #$ff
-       bne     @L2
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
+@L1:    lda     RecvFreeCnt             ; (25)
+        cmp     #$ff
+        bne     @L2
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
 
 ; Check for flow stopped & enough free: release flow control
 
-@L2:   ldx     Stopped                 ; (34)
-       beq     @L3
-       cmp     #63
-       bcc     @L3
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
-       sta     ACIA_CMD
+@L2:    ldx     Stopped                 ; (34)
+        beq     @L3
+        cmp     #63
+        bcc     @L3
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
+        sta     ACIA_CMD
 
 ; Get byte from buffer
 
-@L3:   ldx     RecvHead                ; (41)
-               lda     RecvBuf,x
-       inc     RecvHead
-       inc     RecvFreeCnt
-               ldx     #$00                    ; (59)
-       sta     (ptr1,x)
-               txa                             ; Return code = 0
-       rts
+@L3:    ldx     RecvHead                ; (41)
+        lda     RecvBuf,x
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00                    ; (59)
+        sta     (ptr1,x)
+        txa                             ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
@@ -351,40 +351,40 @@ PUT:
 
 ; Try to send
 
-        ldx    SendFreeCnt
-               inx                             ; X = $ff?
-       beq     @L2
-       pha
-       lda     #$00
-       jsr     TryToSend
-       pla
+        ldx     SendFreeCnt
+        inx                             ; X = $ff?
+        beq     @L2
+        pha
+        lda     #$00
+        jsr     TryToSend
+        pla
 
 ; Put byte into send buffer & send
 
-@L2:   ldx     SendFreeCnt
-       bne     @L3
-       lda     #<SER_ERR_OVERFLOW      ; X is already zero
-       rts
-
-@L3:   ldx     SendTail
-       sta     SendBuf,x
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$ff
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-               rts
+@L2:    ldx     SendFreeCnt
+        bne     @L3
+        lda     #<SER_ERR_OVERFLOW      ; X is already zero
+        rts
+
+@L3:    ldx     SendTail
+        sta     SendBuf,x
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$ff
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
 ; Must return an error code in a/x.
 ;
 
-STATUS: lda            ACIA_STATUS
-               ldx     #0
-       sta     (ptr1,x)
-       txa                             ; SER_ERR_OK
+STATUS: lda     ACIA_STATUS
+        ldx     #0
+        sta     (ptr1,x)
+        txa                             ; SER_ERR_OK
         rts
 
 ;----------------------------------------------------------------------------
@@ -422,26 +422,26 @@ IRQ     = $0000
 ; saved by the ROM code.
 
 NmiHandler:
-               lda     ACIA_STATUS     ;(4) ;status ;check for byte received
-       and     #$08            ;(2)
-               beq     @L9             ;(2*)
-       cld
-        lda    ACIA_DATA       ;(4)  data  ;get byte and put into receive buffer
-       ldy     RecvTail        ;(4)
-       ldx     RecvFreeCnt     ;(4)
-               beq     @L9             ;(2*) Jump if no space in receive buffer
-       sta     RecvBuf,y       ;(5)
-       inc     RecvTail        ;(6)
-       dec     RecvFreeCnt     ;(6)
-       cpx     #33             ;(2)  check for buffer space low
-               bcc     @L2             ;(2*)
-               rts
+        lda     ACIA_STATUS     ;(4) ;status ;check for byte received
+        and     #$08            ;(2)
+        beq     @L9             ;(2*)
+        cld
+        lda     ACIA_DATA       ;(4)  data  ;get byte and put into receive buffer
+        ldy     RecvTail        ;(4)
+        ldx     RecvFreeCnt     ;(4)
+        beq     @L9             ;(2*) Jump if no space in receive buffer
+        sta     RecvBuf,y       ;(5)
+        inc     RecvTail        ;(6)
+        dec     RecvFreeCnt     ;(6)
+        cpx     #33             ;(2)  check for buffer space low
+        bcc     @L2             ;(2*)
+        rts
 
 ; Assert flow control
 
-@L2:   lda     RtsOff          ;(3) assert flow control if buffer space too low
-       sta     ACIA_CMD        ;(4) command
-       sta     Stopped         ;(3)
+@L2:    lda     RtsOff          ;(3) assert flow control if buffer space too low
+        sta     ACIA_CMD        ;(4) command
+        sta     Stopped         ;(3)
 @L9:    rts
 
 ;----------------------------------------------------------------------------
@@ -449,33 +449,33 @@ NmiHandler:
 
 .proc   TryToSend
 
-       sta     tmp1            ; Remember tryHard flag
-@L0:           lda     SendFreeCnt
-       cmp     #$ff
-       beq     @L3             ; Bail out
+        sta     tmp1            ; Remember tryHard flag
+@L0:    lda     SendFreeCnt
+        cmp     #$ff
+        beq     @L3             ; Bail out
 
 ; Check for flow stopped
 
-@L1:   lda     Stopped
-               bne     @L3             ; Bail out
+@L1:    lda     Stopped
+        bne     @L3             ; Bail out
 
 ; Check that swiftlink is ready to send
 
-@L2:           lda     ACIA_STATUS
-       and     #$10
-       bne     @L4
-       bit     tmp1            ;keep trying if must try hard
-               bmi     @L0
-@L3:   rts
+@L2:    lda     ACIA_STATUS
+        and     #$10
+        bne     @L4
+        bit     tmp1            ;keep trying if must try hard
+        bmi     @L0
+@L3:    rts
 
 ; Send byte and try again
 
-@L4:   ldx     SendHead
-       lda     SendBuf,x
-       sta     ACIA_DATA
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     @L0
+@L4:    ldx     SendHead
+        lda     SendBuf,x
+        sta     ACIA_DATA
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     @L0
 
 .endproc
 
@@ -484,15 +484,15 @@ NmiHandler:
 ; Initialize buffers
 
 InitBuffers:
-        ldx    #0
+        ldx     #0
         stx     Stopped
-               stx     RecvHead
-       stx     RecvTail
-       stx     SendHead
-       stx     SendTail
+        stx     RecvHead
+        stx     RecvTail
+        stx     SendHead
+        stx     SendTail
         dex                             ; X = 255
-               stx     RecvFreeCnt
-       stx     SendFreeCnt
+        stx     RecvFreeCnt
+        stx     SendFreeCnt
         rts
 
 
index 0c265eed6c3627e885fd43cc8cc01d8acfe318c3..eda41c8d6b9ea325689edbcde86984853eb27a88 100644 (file)
@@ -6,16 +6,16 @@
 ;  */
 ;
 
-       .export         _slow
+        .export         _slow
 
-       .include        "c128.inc"
+        .include        "c128.inc"
 
 
-.proc  _slow
+.proc   _slow
 
-       lda     #$00
-       sta     VIC_CLK_128
-       rts
+        lda     #$00
+        sta     VIC_CLK_128
+        rts
 
 .endproc
 
index 3620c9107361a5eab3bebebab44d1a4f771b83bc..c6f27923064bfbf5160015fb10a5491fbeaf81b0 100644 (file)
@@ -2,4 +2,4 @@
 ; Oliver Schmidt, 2012-09-30
 ;
 
-       .exportzp       ST := $90       ; IEC status byte
+        .exportzp       ST := $90       ; IEC status byte
index 468d7da19100530c1dbcbc1aa931d75c72dfc5c9..bea2164f58c53cae45ba19bd6e22e93a0ad9cbad 100644 (file)
 
         .include        "time.inc"
         .include        "c128.inc"
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
         .constructor    initsystime
-       .importzp       tmp1, tmp2
-       .import         _get_tv
+        .importzp       tmp1, tmp2
+        .import         _get_tv
 
 
 ;----------------------------------------------------------------------------
 .code
 
-.proc  __systime
-
-       lda     CIA1_TODHR
-       bpl     AM
-       and     #%01111111
-       sed
-       clc
-       adc     #$12
-       cld
-AM:    jsr     BCD2dec
-       sta     TM + tm::tm_hour
-       lda     CIA1_TODMIN
-       jsr     BCD2dec
-       sta     TM + tm::tm_min
-       lda     CIA1_TODSEC
-       jsr     BCD2dec
-       sta     TM + tm::tm_sec
-       lda     CIA1_TOD10              ; Dummy read to unfreeze
-       lda     #<TM
-       ldx     #>TM
-       jmp     _mktime
+.proc   __systime
+
+        lda     CIA1_TODHR
+        bpl     AM
+        and     #%01111111
+        sed
+        clc
+        adc     #$12
+        cld
+AM:     jsr     BCD2dec
+        sta     TM + tm::tm_hour
+        lda     CIA1_TODMIN
+        jsr     BCD2dec
+        sta     TM + tm::tm_min
+        lda     CIA1_TODSEC
+        jsr     BCD2dec
+        sta     TM + tm::tm_sec
+        lda     CIA1_TOD10              ; Dummy read to unfreeze
+        lda     #<TM
+        ldx     #>TM
+        jmp     _mktime
 
 ; dec = (((BCD>>4)*10) + (BCD&0xf))
 BCD2dec:tax
-       and     #%00001111
-       sta     tmp1
-       txa
+        and     #%00001111
+        sta     tmp1
+        txa
         and     #%11110000      ; *16
         lsr                     ; *8
         sta     tmp2
@@ -68,13 +68,13 @@ BCD2dec:tax
 
         lda     CIA1_TOD10
         sta     CIA1_TOD10
-       jsr     _get_tv
-       cmp     #TV::PAL
-       bne     @60Hz
-       lda     CIA1_CRA
-       ora     #$80
-       sta     CIA1_CRA
-@60Hz: rts
+        jsr     _get_tv
+        cmp     #TV::PAL
+        bne     @60Hz
+        lda     CIA1_CRA
+        ora     #$80
+        sta     CIA1_CRA
+@60Hz:  rts
 
 .endproc
 
@@ -83,7 +83,7 @@ BCD2dec:tax
 ; TM struct with date set to 1970-01-01
 .data
 
-TM:            .word           0       ; tm_sec
+TM:     .word           0       ; tm_sec
         .word           0       ; tm_min
         .word           0       ; tm_hour
         .word           1       ; tm_mday
index e497a5942848f2d86b2acf03a33a5d185443682d..226d2aea28092312f869cbdcc5e6523c0ecc9d06 100644 (file)
@@ -20,9 +20,9 @@
 ; Register 25 ($19) is said to require different value for VDC v1, but I
 ; couldn't find what it should be.
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
         .include        "tgi-error.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VDC_ADDR_REG     = $D600                 ; VDC address
-VDC_DATA_REG     = $D601                 ; VDC data
+VDC_ADDR_REG      = $D600                 ; VDC address
+VDC_DATA_REG      = $D601                 ; VDC data
 
-VDC_DSP_HI       = 12                    ; registers used
-VDC_DSP_LO       = 13
-VDC_DATA_HI      = 18
-VDC_DATA_LO      = 19
-VDC_VSCROLL      = 24
-VDC_HSCROLL      = 25
-VDC_COLORS       = 26
-VDC_CSET         = 28
-VDC_COUNT        = 30
-VDC_DATA         = 31
+VDC_DSP_HI        = 12                    ; registers used
+VDC_DSP_LO        = 13
+VDC_DATA_HI       = 18
+VDC_DATA_LO       = 19
+VDC_VSCROLL       = 24
+VDC_HSCROLL       = 25
+VDC_COLORS        = 26
+VDC_CSET          = 28
+VDC_COUNT         = 30
+VDC_DATA          = 31
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table and constants.
@@ -58,7 +58,7 @@ VDC_DATA        = 31
 xres:   .word   640                     ; X resolution
 yres:   .word   200                     ; Y resolution
         .byte   2                       ; Number of drawing colors
-pages: .byte   1                       ; Number of screens available
+pages:  .byte   1                       ; Number of screens available
         .byte   8                       ; System font X size
         .byte   8                       ; System font Y size
         .word   $006A                   ; Aspect ratio (based on 4/3 display)
@@ -71,7 +71,7 @@ pages:        .byte   1                       ; Number of screens available
         .addr   UNINSTALL
         .addr   INIT
         .addr   DONE
-               .addr   GETERROR
+        .addr   GETERROR
         .addr   CONTROL
         .addr   CLEAR
         .addr   SETVIEWPAGE
@@ -99,23 +99,23 @@ Y1              = ptr2
 X2              = ptr3
 Y2              = ptr4
 
-ADDR           = tmp1
-TEMP           = tmp3
-TEMP2          = tmp4          ; HORLINE
-TEMP3          = sreg          ; HORLINE
+ADDR            = tmp1
+TEMP            = tmp3
+TEMP2           = tmp4          ; HORLINE
+TEMP3           = sreg          ; HORLINE
 
 ; Absolute variables used in the code
 
 .bss
 
-SCRBASE:       .res    1       ; High byte of screen base
+SCRBASE:        .res    1       ; High byte of screen base
 
-ERROR:         .res    1       ; Error code
+ERROR:          .res    1       ; Error code
 PALETTE:        .res    2       ; The current palette
 
 BITMASK:        .res    1       ; $00 = clear, $FF = set pixels
 
-OLDCOLOR:      .res    1       ; colors before entering gfx mode
+OLDCOLOR:       .res    1       ; colors before entering gfx mode
 
 ; Text output stuff
 TEXTMAGX:       .res    1
@@ -131,25 +131,25 @@ PALETTESIZE     = * - DEFPALETTE
 
 BITTAB:         .byte   $80,$40,$20,$10,$08,$04,$02,$01
 
-BITMASKL:      .byte   %11111111, %01111111, %00111111, %00011111
-               .byte   %00001111, %00000111, %00000011, %00000001
+BITMASKL:       .byte   %11111111, %01111111, %00111111, %00011111
+                .byte   %00001111, %00000111, %00000011, %00000001
 
-BITMASKR:      .byte   %10000000, %11000000, %11100000, %11110000
-               .byte   %11111000, %11111100, %11111110, %11111111
+BITMASKR:       .byte   %10000000, %11000000, %11100000, %11110000
+                .byte   %11111000, %11111100, %11111110, %11111111
 
 ; color translation table (indexed by VIC color)
-COLTRANS:      .byte $00, $0f, $08, $06, $0a, $04, $02, $0c
-               .byte $0d, $0b, $09, $01, $0e, $05, $03, $07
-               ; colors BROWN and GRAY3 are wrong
+COLTRANS:       .byte $00, $0f, $08, $06, $0a, $04, $02, $0c
+                .byte $0d, $0b, $09, $01, $0e, $05, $03, $07
+                ; colors BROWN and GRAY3 are wrong
 
 ; VDC initialization table (reg),(val),...,$ff
 InitVDCTab:
-               .byte VDC_DSP_HI, 0             ; viewpage 0 as default
-               .byte VDC_DSP_LO, 0
-               .byte VDC_HSCROLL, $87
-               .byte $ff
+                .byte VDC_DSP_HI, 0             ; viewpage 0 as default
+                .byte VDC_DSP_LO, 0
+                .byte VDC_HSCROLL, $87
+                .byte $ff
 
-SCN80CLR:      .byte 27,88,147,27,88,0
+SCN80CLR:       .byte 27,88,147,27,88,0
 
 .code
 
@@ -162,78 +162,78 @@ SCN80CLR: .byte 27,88,147,27,88,0
 ;
 
 INSTALL:
-       ; check for VDC version and update register $19 value
-
-       ; check for VDC ram size and update number of available screens
-
-       ldx     #VDC_CSET       ; determine size of RAM...
-       jsr     VDCReadReg
-       sta     tmp1
-       ora     #%00010000
-       jsr     VDCWriteReg     ; turn on 64k
-
-       jsr     settestadr1     ; save original value of test byte
-       jsr     VDCReadByte
-       sta     tmp2
-
-       lda     #$55            ; write $55 here
-       ldy     #ptr1
-       jsr     test64k         ; read it here and there
-       lda     #$aa            ; write $aa here
-       ldy     #ptr2
-       jsr     test64k         ; read it here and there
-
-       jsr     settestadr1
-       lda     tmp2
-       jsr     VDCWriteByte    ; restore original value of test byte
-
-       lda     ptr1            ; do bytes match?
-       cmp     ptr1+1
-       bne     @have64k
-       lda     ptr2
-       cmp     ptr2+1
-       bne     @have64k
-
-       ldx     #VDC_CSET
-       lda     tmp1
-       jsr     VDCWriteReg     ; restore 16/64k flag
-       jmp     @endok          ; and leave default values for 16k
+        ; check for VDC version and update register $19 value
+
+        ; check for VDC ram size and update number of available screens
+
+        ldx     #VDC_CSET       ; determine size of RAM...
+        jsr     VDCReadReg
+        sta     tmp1
+        ora     #%00010000
+        jsr     VDCWriteReg     ; turn on 64k
+
+        jsr     settestadr1     ; save original value of test byte
+        jsr     VDCReadByte
+        sta     tmp2
+
+        lda     #$55            ; write $55 here
+        ldy     #ptr1
+        jsr     test64k         ; read it here and there
+        lda     #$aa            ; write $aa here
+        ldy     #ptr2
+        jsr     test64k         ; read it here and there
+
+        jsr     settestadr1
+        lda     tmp2
+        jsr     VDCWriteByte    ; restore original value of test byte
+
+        lda     ptr1            ; do bytes match?
+        cmp     ptr1+1
+        bne     @have64k
+        lda     ptr2
+        cmp     ptr2+1
+        bne     @have64k
+
+        ldx     #VDC_CSET
+        lda     tmp1
+        jsr     VDCWriteReg     ; restore 16/64k flag
+        jmp     @endok          ; and leave default values for 16k
 
 @have64k:
-       lda     #4
-       sta     pages
+        lda     #4
+        sta     pages
 @endok:
-       lda     #0
-       sta     SCRBASE         ; draw page 0 as default
+        lda     #0
+        sta     SCRBASE         ; draw page 0 as default
         rts
 
 test64k:
-       sta     tmp1
-       sty     ptr3
-       lda     #0
-       sta     ptr3+1
-       jsr     settestadr1
-       lda     tmp1
-       jsr     VDCWriteByte            ; write $55
-       jsr     settestadr1
-       jsr     VDCReadByte             ; read here
-       pha
-       jsr     settestadr2
-       jsr     VDCReadByte             ; and there
-       ldy     #1
-       sta     (ptr3),y
-       pla
-       dey
-       sta     (ptr3),y
-       rts
+        sta     tmp1
+        sty     ptr3
+        lda     #0
+        sta     ptr3+1
+        jsr     settestadr1
+        lda     tmp1
+        jsr     VDCWriteByte            ; write $55
+        jsr     settestadr1
+        jsr     VDCReadByte             ; read here
+        pha
+        jsr     settestadr2
+        jsr     VDCReadByte             ; and there
+        ldy     #1
+        sta     (ptr3),y
+        pla
+        dey
+        sta     (ptr3),y
+        rts
 
 settestadr1:
-       ldy     #$02                    ; test page 2 (here)
-       .byte   $2c
+        ldy     #$02                    ; test page 2 (here)
+        .byte   $2c
 settestadr2:
-       ldy     #$42                    ; or page 64+2 (there)
-       lda     #0
-       jmp     VDCSetSourceAddr
+        ldy     #$42                    ; or page 64+2 (there)
+        lda     #0
+        jmp     VDCSetSourceAddr
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory. May
@@ -268,20 +268,20 @@ INIT:
         stx     BITMASK
 
 ; Remeber current color value
-       ldx     #VDC_COLORS
-       jsr     VDCReadReg
-       sta     OLDCOLOR
+        ldx     #VDC_COLORS
+        jsr     VDCReadReg
+        sta     OLDCOLOR
 
 ; Switch into graphics mode (set view page 0)
 
-       ldy     #0
-@L2:   ldx     InitVDCTab,y
-       bmi     @L3
-       iny
-       lda     InitVDCTab,y
-       jsr     VDCWriteReg
-       iny
-       bne     @L2
+        ldy     #0
+@L2:    ldx     InitVDCTab,y
+        bmi     @L3
+        iny
+        lda     InitVDCTab,y
+        jsr     VDCWriteReg
+        iny
+        bne     @L2
 @L3:
 
 ; Done, reset the error code
@@ -299,35 +299,35 @@ INIT:
 ;
 
 DONE:
-       ; This part is C128-mode specific
-       jsr $e179               ; reload character set and setup VDC
-       jsr $ff62
-       lda $d7                 ; in 80-columns?
-       bne @L01
-@L0:   lda SCN80CLR,y
-       beq @L1
-       jsr $ffd2               ; print \xe,clr,\xe
-       iny
-       bne @L0
-@L01:  lda #147
-       jsr $ffd2               ; print clr
-@L1:   lda #0                  ; restore view page
-       ldx #VDC_DSP_HI
-       jsr VDCWriteReg
-       lda OLDCOLOR
-       ldx #VDC_COLORS
-       jsr VDCWriteReg         ; restore color (background)
-       lda #$47
-       ldx #VDC_HSCROLL
-               jmp VDCWriteReg         ; switch to text screen
+        ; This part is C128-mode specific
+        jsr $e179               ; reload character set and setup VDC
+        jsr $ff62
+        lda $d7                 ; in 80-columns?
+        bne @L01
+@L0:    lda SCN80CLR,y
+        beq @L1
+        jsr $ffd2               ; print \xe,clr,\xe
+        iny
+        bne @L0
+@L01:   lda #147
+        jsr $ffd2               ; print clr
+@L1:    lda #0                  ; restore view page
+        ldx #VDC_DSP_HI
+        jsr VDCWriteReg
+        lda OLDCOLOR
+        ldx #VDC_COLORS
+        jsr VDCWriteReg         ; restore color (background)
+        lda #$47
+        ldx #VDC_HSCROLL
+        jmp VDCWriteReg         ; switch to text screen
 
 ; ------------------------------------------------------------------------
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-               ldx     #TGI_ERR_OK
-       lda     ERROR
-       stx     ERROR
+        ldx     #TGI_ERR_OK
+        lda     ERROR
+        stx     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -337,8 +337,8 @@ GETERROR:
 ;
 
 CONTROL:
-       lda     #TGI_ERR_INV_FUNC
-       sta     ERROR
+        lda     #TGI_ERR_INV_FUNC
+        sta     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -348,22 +348,22 @@ CONTROL:
 ;
 
 CLEAR:
-       lda     #0
-       ldy     SCRBASE
-       jsr     VDCSetSourceAddr
-       lda     #0
-       ldx     #VDC_VSCROLL
-       jsr     VDCWriteReg                     ; set fill mode
-       lda     #0
-       jsr     VDCWriteByte                    ; put 1rst byte (fill value)
-       ldy     #62                             ; 62 times
-       lda     #0                              ; 256 bytes
-       ldx     #VDC_COUNT
-@L1:   jsr     VDCWriteReg
-       dey
-       bne     @L1
-       lda     #127
-       jmp     VDCWriteReg                     ; 1+62*256+127=16000=(640*256)/8
+        lda     #0
+        ldy     SCRBASE
+        jsr     VDCSetSourceAddr
+        lda     #0
+        ldx     #VDC_VSCROLL
+        jsr     VDCWriteReg                     ; set fill mode
+        lda     #0
+        jsr     VDCWriteByte                    ; put 1rst byte (fill value)
+        ldy     #62                             ; 62 times
+        lda     #0                              ; 256 bytes
+        ldx     #VDC_COUNT
+@L1:    jsr     VDCWriteReg
+        dey
+        bne     @L1
+        lda     #127
+        jmp     VDCWriteReg                     ; 1+62*256+127=16000=(640*256)/8
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -373,12 +373,12 @@ CLEAR:
 ;
 
 SETVIEWPAGE:
-       clc
-       ror
-       ror
-       ror
-       ldx     #VDC_DSP_HI
-       jmp     VDCWriteReg
+        clc
+        ror
+        ror
+        ror
+        ldx     #VDC_DSP_HI
+        jmp     VDCWriteReg
 
 ; ------------------------------------------------------------------------
 ; SETDRAWPAGE: Set the drawable page. Called with the new page in A (0..n).
@@ -388,12 +388,12 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-       clc
-       ror
-       ror
-       ror
-       sta     SCRBASE
-       rts
+        clc
+        ror
+        ror
+        ror
+        sta     SCRBASE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
@@ -428,16 +428,16 @@ SETPALETTE:
 ; Get the color entries from the palette
 
         ldy     PALETTE+1       ; Foreground color
-       lda     COLTRANS,y
+        lda     COLTRANS,y
         asl     a
         asl     a
         asl     a
         asl     a
         ldy     PALETTE         ; Background color
-       ora     COLTRANS,y
+        ora     COLTRANS,y
 
-       ldx     #VDC_COLORS
-               jsr     VDCWriteReg
+        ldx     #VDC_COLORS
+        jsr     VDCWriteReg
         lda     #TGI_ERR_OK     ; Clear error code
         sta     ERROR
         rts
@@ -480,23 +480,23 @@ GETDEFPALETTE:
 SETPIXEL:
         jsr     CALC            ; Calculate coordinates
 
-       stx     TEMP
-       lda     ADDR
-       ldy     ADDR+1
-       jsr     VDCSetSourceAddr
-       jsr     VDCReadByte
-       ldx     TEMP
+        stx     TEMP
+        lda     ADDR
+        ldy     ADDR+1
+        jsr     VDCSetSourceAddr
+        jsr     VDCReadByte
+        ldx     TEMP
 
-       sta     TEMP
+        sta     TEMP
         eor     BITMASK
         and     BITTAB,X
-       eor     TEMP
-       pha
-       lda     ADDR
-       ldy     ADDR+1
-       jsr     VDCSetSourceAddr
-       pla
-       jsr     VDCWriteByte
+        eor     TEMP
+        pha
+        lda     ADDR
+        ldy     ADDR+1
+        jsr     VDCSetSourceAddr
+        pla
+        jsr     VDCWriteByte
 
 @L9:    rts
 
@@ -509,12 +509,12 @@ SETPIXEL:
 GETPIXEL:
         jsr     CALC            ; Calculate coordinates
 
-       stx     TEMP            ; preserve X
-       lda     ADDR
-       ldy     ADDR+1
-       jsr     VDCSetSourceAddr
-       jsr     VDCReadByte
-       ldx     TEMP
+        stx     TEMP            ; preserve X
+        lda     ADDR
+        ldy     ADDR+1
+        jsr     VDCSetSourceAddr
+        jsr     VDCReadByte
+        ldx     TEMP
 
         ldy     #$00
         and     BITTAB,X
@@ -542,127 +542,127 @@ GETPIXEL:
 ;
 
 BAR:
-       inc     Y2
-       bne     HORLINE
-       inc     Y2+1
+        inc     Y2
+        bne     HORLINE
+        inc     Y2+1
 
 ; Original code for a horizontal line
 
 HORLINE:
-       lda X1
-       pha
-       lda X1+1
-       pha
-       jsr CALC                ; get data for LEFT
-       lda BITMASKL,x          ; remember left address and bitmask
-       pha
-       lda ADDR
-       pha
-       lda ADDR+1
-       pha
-
-       lda X2
-       sta X1
-       lda X2+1
-       sta X1+1
-       jsr CALC                ; get data for RIGHT
-       lda BITMASKR,x
-       sta TEMP3
-
-       pla                     ; recall data for LEFT
-       sta X1+1
-       pla
-       sta X1                  ; put left address into X1
-       pla
-
-       cmp #%11111111          ; if left bit <> 0
-       beq @L1
-       sta TEMP2               ; do left byte only...
-       lda X1
-       ldy X1+1
-       jsr VDCSetSourceAddr
-       jsr VDCReadByte
-       sta TEMP
-       eor BITMASK
-       and TEMP2
-       eor TEMP
-       pha
-       lda X1
-       ldy X1+1
-       jsr VDCSetSourceAddr
-       pla
-       jsr VDCWriteByte
-       inc X1                  ; ... and proceed
-       bne @L1
-       inc X1+1
-
-       ; do right byte (if Y2=0 ++ADDR and skip)
-@L1:   lda TEMP3
-       cmp #%11111111          ; if right bit <> 7
-       bne @L11
-       inc ADDR                ; right bit = 7 - the next one is the last
-       bne @L10
-       inc ADDR+1
-@L10:  bne @L2
-
-@L11:  lda ADDR                ; do right byte only...
-       ldy ADDR+1
-       jsr VDCSetSourceAddr
-       jsr VDCReadByte
-       sta TEMP
-       eor BITMASK
-       and TEMP3
-       eor TEMP
-       pha
-       lda ADDR
-       ldy ADDR+1
-       jsr VDCSetSourceAddr
-       pla
-       jsr VDCWriteByte
-
-@L2:                           ; do the fill in the middle
-       lda ADDR                ; calculate offset in full bytes
-       sec
-       sbc X1
-       beq @L3                 ; if equal - there are no more bytes
-       sta ADDR
-
-       lda X1                  ; setup for the left side
-       ldy X1+1
-       jsr VDCSetSourceAddr
-       lda BITMASK             ; get color
-       jsr VDCWriteByte        ; put 1st value
-       ldx ADDR
-       dex
-       beq @L3                 ; 1 byte already written
-
-       stx ADDR                ; if there are more bytes - fill them...
-       ldx #VDC_VSCROLL
-       lda #0
-       jsr VDCWriteReg         ; setup for fill
-       ldx #VDC_COUNT
-       lda ADDR
-       jsr VDCWriteReg         ; ... fill them NOW!
-
-@L3:   pla
-       sta X1+1
-       pla
-       sta X1
+        lda X1
+        pha
+        lda X1+1
+        pha
+        jsr CALC                ; get data for LEFT
+        lda BITMASKL,x          ; remember left address and bitmask
+        pha
+        lda ADDR
+        pha
+        lda ADDR+1
+        pha
+
+        lda X2
+        sta X1
+        lda X2+1
+        sta X1+1
+        jsr CALC                ; get data for RIGHT
+        lda BITMASKR,x
+        sta TEMP3
+
+        pla                     ; recall data for LEFT
+        sta X1+1
+        pla
+        sta X1                  ; put left address into X1
+        pla
+
+        cmp #%11111111          ; if left bit <> 0
+        beq @L1
+        sta TEMP2               ; do left byte only...
+        lda X1
+        ldy X1+1
+        jsr VDCSetSourceAddr
+        jsr VDCReadByte
+        sta TEMP
+        eor BITMASK
+        and TEMP2
+        eor TEMP
+        pha
+        lda X1
+        ldy X1+1
+        jsr VDCSetSourceAddr
+        pla
+        jsr VDCWriteByte
+        inc X1                  ; ... and proceed
+        bne @L1
+        inc X1+1
+
+        ; do right byte (if Y2=0 ++ADDR and skip)
+@L1:    lda TEMP3
+        cmp #%11111111          ; if right bit <> 7
+        bne @L11
+        inc ADDR                ; right bit = 7 - the next one is the last
+        bne @L10
+        inc ADDR+1
+@L10:   bne @L2
+
+@L11:   lda ADDR                ; do right byte only...
+        ldy ADDR+1
+        jsr VDCSetSourceAddr
+        jsr VDCReadByte
+        sta TEMP
+        eor BITMASK
+        and TEMP3
+        eor TEMP
+        pha
+        lda ADDR
+        ldy ADDR+1
+        jsr VDCSetSourceAddr
+        pla
+        jsr VDCWriteByte
+
+@L2:                            ; do the fill in the middle
+        lda ADDR                ; calculate offset in full bytes
+        sec
+        sbc X1
+        beq @L3                 ; if equal - there are no more bytes
+        sta ADDR
+
+        lda X1                  ; setup for the left side
+        ldy X1+1
+        jsr VDCSetSourceAddr
+        lda BITMASK             ; get color
+        jsr VDCWriteByte        ; put 1st value
+        ldx ADDR
+        dex
+        beq @L3                 ; 1 byte already written
+
+        stx ADDR                ; if there are more bytes - fill them...
+        ldx #VDC_VSCROLL
+        lda #0
+        jsr VDCWriteReg         ; setup for fill
+        ldx #VDC_COUNT
+        lda ADDR
+        jsr VDCWriteReg         ; ... fill them NOW!
+
+@L3:    pla
+        sta X1+1
+        pla
+        sta X1
 
 ; End of horizontal line code
 
-       inc     Y1
-       bne     @L4
-       inc     Y1+1
-@L4:   lda     Y1
-       cmp     Y2
-       bne     @L5
-       lda     Y1+1
-       cmp     Y2+1
-       bne     @L5
-       rts
+        inc     Y1
+        bne     @L4
+        inc     Y1+1
+@L4:    lda     Y1
+        cmp     Y2
+        bne     @L5
+        lda     Y1+1
+        cmp     Y2+1
+        bne     @L5
+        rts
 
-@L5:   jmp     HORLINE
+@L5:    jmp     HORLINE
 
 
 ; ------------------------------------------------------------------------
@@ -697,82 +697,82 @@ OUTTEXT:
 ;> ADDR - address of card
 ;> X - bit number (X1 & 7)
 CALC:
-       lda     Y1+1
-       sta     ADDR+1
-       lda     Y1
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1          ; Y*4
-       clc
-       adc     Y1
-       sta     ADDR
-       lda     Y1+1
-       adc     ADDR+1
-       sta     ADDR+1          ; Y*4+Y=Y*5
-       lda     ADDR
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1
-       sta     ADDR            ; Y*5*16=Y*80
-       lda     X1+1
-       sta     TEMP
-       lda     X1
-       lsr     TEMP
-       ror
-       lsr     TEMP
-       ror
-       lsr     TEMP
-       ror
-       clc
-       adc     ADDR
-       sta     ADDR
-       lda     ADDR+1          ; ADDR = Y*80+x/8
-       adc     TEMP
-       sta     ADDR+1
-       lda     ADDR+1
-       adc     SCRBASE
-       sta     ADDR+1
-       lda     X1
-       and     #7
-       tax
-       rts
+        lda     Y1+1
+        sta     ADDR+1
+        lda     Y1
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1          ; Y*4
+        clc
+        adc     Y1
+        sta     ADDR
+        lda     Y1+1
+        adc     ADDR+1
+        sta     ADDR+1          ; Y*4+Y=Y*5
+        lda     ADDR
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1
+        sta     ADDR            ; Y*5*16=Y*80
+        lda     X1+1
+        sta     TEMP
+        lda     X1
+        lsr     TEMP
+        ror
+        lsr     TEMP
+        ror
+        lsr     TEMP
+        ror
+        clc
+        adc     ADDR
+        sta     ADDR
+        lda     ADDR+1          ; ADDR = Y*80+x/8
+        adc     TEMP
+        sta     ADDR+1
+        lda     ADDR+1
+        adc     SCRBASE
+        sta     ADDR+1
+        lda     X1
+        and     #7
+        tax
+        rts
 
 ;-------------
 ; VDC helpers
 
 VDCSetSourceAddr:
-       pha
-       tya
-       ldx     #VDC_DATA_HI
-       jsr     VDCWriteReg
-       pla
-       ldx     #VDC_DATA_LO
-       bne     VDCWriteReg
+        pha
+        tya
+        ldx     #VDC_DATA_HI
+        jsr     VDCWriteReg
+        pla
+        ldx     #VDC_DATA_LO
+        bne     VDCWriteReg
 
 VDCReadByte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 VDCReadReg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     VDC_DATA_REG
+        rts
 
 VDCWriteByte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 VDCWriteReg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       sta     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        sta     VDC_DATA_REG
+        rts
 
 ; ------------------------------------------------------------------------
 
-       .include        "../../tgi/tgidrv_line.inc"
+        .include        "../../tgi/tgidrv_line.inc"
index 7f2dbdf5c9bde8a88e812b46a993955372d6b3ce..e3c08037f33833160206bc43b36ede3ad6f47843 100644 (file)
@@ -21,9 +21,9 @@
 ; Register 25 ($19) is said to require different value for VDC v1, but I
 ; couldn't find what it should be.
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
         .include        "tgi-error.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VDC_ADDR_REG     = $D600                 ; VDC address
-VDC_DATA_REG     = $D601                 ; VDC data
+VDC_ADDR_REG      = $D600                 ; VDC address
+VDC_DATA_REG      = $D601                 ; VDC data
 
-VDC_DSP_HI       = 12                    ; registers used
-VDC_DSP_LO       = 13
-VDC_DATA_HI      = 18
-VDC_DATA_LO      = 19
-VDC_VSCROLL      = 24
-VDC_HSCROLL      = 25
-VDC_COLORS       = 26
-VDC_CSET         = 28
-VDC_COUNT        = 30
-VDC_DATA         = 31
+VDC_DSP_HI        = 12                    ; registers used
+VDC_DSP_LO        = 13
+VDC_DATA_HI       = 18
+VDC_DATA_LO       = 19
+VDC_VSCROLL       = 24
+VDC_HSCROLL       = 25
+VDC_COLORS        = 26
+VDC_CSET          = 28
+VDC_COUNT         = 30
+VDC_DATA          = 31
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table and constants.
@@ -59,7 +59,7 @@ VDC_DATA        = 31
 xres:   .word   640                     ; X resolution
 yres:   .word   480                     ; Y resolution
         .byte   2                       ; Number of drawing colors
-pages: .byte   0                       ; Number of screens available
+pages:  .byte   0                       ; Number of screens available
         .byte   8                       ; System font X size
         .byte   8                       ; System font Y size
         .word   $0100                   ; Aspect ratio (based on 4/3 display)
@@ -72,7 +72,7 @@ pages:        .byte   0                       ; Number of screens available
         .addr   UNINSTALL
         .addr   INIT
         .addr   DONE
-               .addr   GETERROR
+        .addr   GETERROR
         .addr   CONTROL
         .addr   CLEAR
         .addr   SETVIEWPAGE
@@ -100,21 +100,21 @@ Y1              = ptr2
 X2              = ptr3
 Y2              = ptr4
 
-ADDR           = tmp1
-TEMP           = tmp3
-TEMP2          = tmp4          ; HORLINE
-TEMP3          = sreg          ; HORLINE
+ADDR            = tmp1
+TEMP            = tmp3
+TEMP2           = tmp4          ; HORLINE
+TEMP3           = sreg          ; HORLINE
 
 ; Absolute variables used in the code
 
 .bss
 
-ERROR:         .res    1       ; Error code
+ERROR:          .res    1       ; Error code
 PALETTE:        .res    2       ; The current palette
 
 BITMASK:        .res    1       ; $00 = clear, $FF = set pixels
 
-OLDCOLOR:      .res    1       ; colors before entering gfx mode
+OLDCOLOR:       .res    1       ; colors before entering gfx mode
 
 ; Text output stuff
 TEXTMAGX:       .res    1
@@ -130,33 +130,33 @@ PALETTESIZE     = * - DEFPALETTE
 
 BITTAB:         .byte   $80,$40,$20,$10,$08,$04,$02,$01
 
-BITMASKL:      .byte   %11111111, %01111111, %00111111, %00011111
-               .byte   %00001111, %00000111, %00000011, %00000001
+BITMASKL:       .byte   %11111111, %01111111, %00111111, %00011111
+                .byte   %00001111, %00000111, %00000011, %00000001
 
-BITMASKR:      .byte   %10000000, %11000000, %11100000, %11110000
-               .byte   %11111000, %11111100, %11111110, %11111111
+BITMASKR:       .byte   %10000000, %11000000, %11100000, %11110000
+                .byte   %11111000, %11111100, %11111110, %11111111
 
 ; color translation table (indexed by VIC color)
-COLTRANS:      .byte $00, $0f, $08, $06, $0a, $04, $02, $0c
-               .byte $0d, $0b, $09, $01, $0e, $05, $03, $07
-               ; colors BROWN and GRAY3 are wrong
+COLTRANS:       .byte $00, $0f, $08, $06, $0a, $04, $02, $0c
+                .byte $0d, $0b, $09, $01, $0e, $05, $03, $07
+                ; colors BROWN and GRAY3 are wrong
 
 ; VDC initialization table (reg),(val),...,$ff
 InitVDCTab:
-               .byte VDC_DSP_HI, 0             ; viewpage 0 as default
-               .byte VDC_DSP_LO, 0
-               .byte VDC_HSCROLL, $87
-               .byte 2, $66
-               .byte 4, $4c
-               .byte 5, $06
-               .byte 6, $4c
-               .byte 7, $47
-               .byte 8, $03
-               .byte 9, $06
-               .byte 27, $00
-               .byte $ff
-
-SCN80CLR:      .byte 27,88,147,27,88,0
+                .byte VDC_DSP_HI, 0             ; viewpage 0 as default
+                .byte VDC_DSP_LO, 0
+                .byte VDC_HSCROLL, $87
+                .byte 2, $66
+                .byte 4, $4c
+                .byte 5, $06
+                .byte 6, $4c
+                .byte 7, $47
+                .byte 8, $03
+                .byte 9, $06
+                .byte 27, $00
+                .byte $ff
+
+SCN80CLR:       .byte 27,88,147,27,88,0
 
 .code
 
@@ -169,76 +169,76 @@ SCN80CLR:         .byte 27,88,147,27,88,0
 ;
 
 INSTALL:
-       ; check for VDC version and update register $19 value
-
-       ; check for VDC ram size and update number of available screens
-
-       ldx     #VDC_CSET       ; determine size of RAM...
-       jsr     VDCReadReg
-       sta     tmp1
-       ora     #%00010000
-       jsr     VDCWriteReg     ; turn on 64k
-
-       jsr     settestadr1     ; save original value of test byte
-       jsr     VDCReadByte
-       sta     tmp2
-
-       lda     #$55            ; write $55 here
-       ldy     #ptr1
-       jsr     test64k         ; read it here and there
-       lda     #$aa            ; write $aa here
-       ldy     #ptr2
-       jsr     test64k         ; read it here and there
-
-       jsr     settestadr1
-       lda     tmp2
-       jsr     VDCWriteByte    ; restore original value of test byte
-
-       lda     ptr1            ; do bytes match?
-       cmp     ptr1+1
-       bne     @have64k
-       lda     ptr2
-       cmp     ptr2+1
-       bne     @have64k
-
-       ldx     #VDC_CSET
-       lda     tmp1
-       jsr     VDCWriteReg     ; restore 16/64k flag
-       jmp     @endok          ; and leave default values for 16k
+        ; check for VDC version and update register $19 value
+
+        ; check for VDC ram size and update number of available screens
+
+        ldx     #VDC_CSET       ; determine size of RAM...
+        jsr     VDCReadReg
+        sta     tmp1
+        ora     #%00010000
+        jsr     VDCWriteReg     ; turn on 64k
+
+        jsr     settestadr1     ; save original value of test byte
+        jsr     VDCReadByte
+        sta     tmp2
+
+        lda     #$55            ; write $55 here
+        ldy     #ptr1
+        jsr     test64k         ; read it here and there
+        lda     #$aa            ; write $aa here
+        ldy     #ptr2
+        jsr     test64k         ; read it here and there
+
+        jsr     settestadr1
+        lda     tmp2
+        jsr     VDCWriteByte    ; restore original value of test byte
+
+        lda     ptr1            ; do bytes match?
+        cmp     ptr1+1
+        bne     @have64k
+        lda     ptr2
+        cmp     ptr2+1
+        bne     @have64k
+
+        ldx     #VDC_CSET
+        lda     tmp1
+        jsr     VDCWriteReg     ; restore 16/64k flag
+        jmp     @endok          ; and leave default values for 16k
 
 @have64k:
-       lda     #1
-       sta     pages
+        lda     #1
+        sta     pages
 @endok:
         rts
 
 test64k:
-       sta     tmp1
-       sty     ptr3
-       lda     #0
-       sta     ptr3+1
-       jsr     settestadr1
-       lda     tmp1
-       jsr     VDCWriteByte            ; write $55
-       jsr     settestadr1
-       jsr     VDCReadByte             ; read here
-       pha
-       jsr     settestadr2
-       jsr     VDCReadByte             ; and there
-       ldy     #1
-       sta     (ptr3),y
-       pla
-       dey
-       sta     (ptr3),y
-       rts
+        sta     tmp1
+        sty     ptr3
+        lda     #0
+        sta     ptr3+1
+        jsr     settestadr1
+        lda     tmp1
+        jsr     VDCWriteByte            ; write $55
+        jsr     settestadr1
+        jsr     VDCReadByte             ; read here
+        pha
+        jsr     settestadr2
+        jsr     VDCReadByte             ; and there
+        ldy     #1
+        sta     (ptr3),y
+        pla
+        dey
+        sta     (ptr3),y
+        rts
 
 settestadr1:
-       ldy     #$02                    ; test page 2 (here)
-       .byte   $2c
+        ldy     #$02                    ; test page 2 (here)
+        .byte   $2c
 settestadr2:
-       ldy     #$42                    ; or page 64+2 (there)
-       lda     #0
-       jmp     VDCSetSourceAddr
+        ldy     #$42                    ; or page 64+2 (there)
+        lda     #0
+        jmp     VDCSetSourceAddr
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory. May
@@ -266,10 +266,10 @@ UNINSTALL:
 ;
 
 INIT:
-       lda     pages                   ; is there enough memory?
-       bne     @L1                     ; Jump if there is one screen
-       lda     #TGI_ERR_INV_MODE       ; Error
-       bne     @L9
+        lda     pages                   ; is there enough memory?
+        bne     @L1                     ; Jump if there is one screen
+        lda     #TGI_ERR_INV_MODE       ; Error
+        bne     @L9
 
 ; Initialize variables
 
@@ -277,20 +277,20 @@ INIT:
         stx     BITMASK
 
 ; Remeber current color value
-       ldx     #VDC_COLORS
-       jsr     VDCReadReg
-       sta     OLDCOLOR
+        ldx     #VDC_COLORS
+        jsr     VDCReadReg
+        sta     OLDCOLOR
 
 ; Switch into graphics mode (set view page 0)
 
-       ldy     #0
-@L2:   ldx     InitVDCTab,y
-       bmi     @L3
-       iny
-       lda     InitVDCTab,y
-       jsr     VDCWriteReg
-       iny
-       bne     @L2
+        ldy     #0
+@L2:    ldx     InitVDCTab,y
+        bmi     @L3
+        iny
+        lda     InitVDCTab,y
+        jsr     VDCWriteReg
+        iny
+        bne     @L2
 @L3:
 
 ; Done, reset the error code
@@ -308,35 +308,35 @@ INIT:
 ;
 
 DONE:
-       ; This part is C128-mode specific
-       jsr $e179               ; reload character set and setup VDC
-       jsr $ff62
-       lda $d7                 ; in 80-columns?
-       bne @L01
-@L0:   lda SCN80CLR,y
-       beq @L1
-       jsr $ffd2               ; print \xe,clr,\xe
-       iny
-       bne @L0
-@L01:  lda #147
-       jsr $ffd2               ; print clr
-@L1:   lda #0                  ; restore view page
-       ldx #VDC_DSP_HI
-       jsr VDCWriteReg
-       lda OLDCOLOR
-       ldx #VDC_COLORS
-       jsr VDCWriteReg         ; restore color (background)
-       lda #$47
-       ldx #VDC_HSCROLL
-               jmp VDCWriteReg         ; switch to text screen
+        ; This part is C128-mode specific
+        jsr $e179               ; reload character set and setup VDC
+        jsr $ff62
+        lda $d7                 ; in 80-columns?
+        bne @L01
+@L0:    lda SCN80CLR,y
+        beq @L1
+        jsr $ffd2               ; print \xe,clr,\xe
+        iny
+        bne @L0
+@L01:   lda #147
+        jsr $ffd2               ; print clr
+@L1:    lda #0                  ; restore view page
+        ldx #VDC_DSP_HI
+        jsr VDCWriteReg
+        lda OLDCOLOR
+        ldx #VDC_COLORS
+        jsr VDCWriteReg         ; restore color (background)
+        lda #$47
+        ldx #VDC_HSCROLL
+        jmp VDCWriteReg         ; switch to text screen
 
 ; ------------------------------------------------------------------------
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-               ldx     #TGI_ERR_OK
-       lda     ERROR
-       stx     ERROR
+        ldx     #TGI_ERR_OK
+        lda     ERROR
+        stx     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -346,8 +346,8 @@ GETERROR:
 ;
 
 CONTROL:
-       lda     #TGI_ERR_INV_FUNC
-       sta     ERROR
+        lda     #TGI_ERR_INV_FUNC
+        sta     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -357,21 +357,21 @@ CONTROL:
 ;
 
 CLEAR:
-       lda     #0
-       tay
-       jsr     VDCSetSourceAddr
-       lda     #0
-       ldx     #VDC_VSCROLL
-       jsr     VDCWriteReg                     ; set fill mode
-       lda     #0
-       jsr     VDCWriteByte                    ; put 1rst byte (fill value)
-       ldy     #159                            ; 159 times
-       lda     #0                              ; 256 bytes
-       ldx     #VDC_COUNT
-@L1:   jsr     VDCWriteReg
-       dey
-       bne     @L1
-       rts
+        lda     #0
+        tay
+        jsr     VDCSetSourceAddr
+        lda     #0
+        ldx     #VDC_VSCROLL
+        jsr     VDCWriteReg                     ; set fill mode
+        lda     #0
+        jsr     VDCWriteByte                    ; put 1rst byte (fill value)
+        ldy     #159                            ; 159 times
+        lda     #0                              ; 256 bytes
+        ldx     #VDC_COUNT
+@L1:    jsr     VDCWriteReg
+        dey
+        bne     @L1
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -381,7 +381,7 @@ CLEAR:
 ;
 
 SETVIEWPAGE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETDRAWPAGE: Set the drawable page. Called with the new page in A (0..n).
@@ -391,7 +391,7 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
@@ -426,16 +426,16 @@ SETPALETTE:
 ; Get the color entries from the palette
 
         ldy     PALETTE+1       ; Foreground color
-       lda     COLTRANS,y
+        lda     COLTRANS,y
         asl     a
         asl     a
         asl     a
         asl     a
         ldy     PALETTE         ; Background color
-       ora     COLTRANS,y
+        ora     COLTRANS,y
 
-       ldx     #VDC_COLORS
-               jsr     VDCWriteReg
+        ldx     #VDC_COLORS
+        jsr     VDCWriteReg
         lda     #TGI_ERR_OK     ; Clear error code
         sta     ERROR
         rts
@@ -478,23 +478,23 @@ GETDEFPALETTE:
 SETPIXEL:
         jsr     CALC            ; Calculate coordinates
 
-       stx     TEMP
-       lda     ADDR
-       ldy     ADDR+1
-       jsr     VDCSetSourceAddr
-       jsr     VDCReadByte
-       ldx     TEMP
+        stx     TEMP
+        lda     ADDR
+        ldy     ADDR+1
+        jsr     VDCSetSourceAddr
+        jsr     VDCReadByte
+        ldx     TEMP
 
-       sta     TEMP
+        sta     TEMP
         eor     BITMASK
         and     BITTAB,X
-       eor     TEMP
-       pha
-       lda     ADDR
-       ldy     ADDR+1
-       jsr     VDCSetSourceAddr
-       pla
-       jsr     VDCWriteByte
+        eor     TEMP
+        pha
+        lda     ADDR
+        ldy     ADDR+1
+        jsr     VDCSetSourceAddr
+        pla
+        jsr     VDCWriteByte
 
 @L9:    rts
 
@@ -507,12 +507,12 @@ SETPIXEL:
 GETPIXEL:
         jsr     CALC            ; Calculate coordinates
 
-       stx     TEMP            ; preserve X
-       lda     ADDR
-       ldy     ADDR+1
-       jsr     VDCSetSourceAddr
-       jsr     VDCReadByte
-       ldx     TEMP
+        stx     TEMP            ; preserve X
+        lda     ADDR
+        ldy     ADDR+1
+        jsr     VDCSetSourceAddr
+        jsr     VDCReadByte
+        ldx     TEMP
 
         ldy     #$00
         and     BITTAB,X
@@ -540,127 +540,127 @@ GETPIXEL:
 ;
 
 BAR:
-       inc     Y2
-       bne     HORLINE
-       inc     Y2+1
+        inc     Y2
+        bne     HORLINE
+        inc     Y2+1
 
 ; Original code for a horizontal line
 
 HORLINE:
-       lda X1
-       pha
-       lda X1+1
-       pha
-       jsr CALC                ; get data for LEFT
-       lda BITMASKL,x          ; remember left address and bitmask
-       pha
-       lda ADDR
-       pha
-       lda ADDR+1
-       pha
-
-       lda X2
-       sta X1
-       lda X2+1
-       sta X1+1
-       jsr CALC                ; get data for RIGHT
-       lda BITMASKR,x
-       sta TEMP3
-
-       pla                     ; recall data for LEFT
-       sta X1+1
-       pla
-       sta X1                  ; put left address into X1
-       pla
-
-       cmp #%11111111          ; if left bit <> 0
-       beq @L1
-       sta TEMP2               ; do left byte only...
-       lda X1
-       ldy X1+1
-       jsr VDCSetSourceAddr
-       jsr VDCReadByte
-       sta TEMP
-       eor BITMASK
-       and TEMP2
-       eor TEMP
-       pha
-       lda X1
-       ldy X1+1
-       jsr VDCSetSourceAddr
-       pla
-       jsr VDCWriteByte
-       inc X1                  ; ... and proceed
-       bne @L1
-       inc X1+1
-
-       ; do right byte (if Y2=0 ++ADDR and skip)
-@L1:   lda TEMP3
-       cmp #%11111111          ; if right bit <> 7
-       bne @L11
-       inc ADDR                ; right bit = 7 - the next one is the last
-       bne @L10
-       inc ADDR+1
-@L10:  bne @L2
-
-@L11:  lda ADDR                ; do right byte only...
-       ldy ADDR+1
-       jsr VDCSetSourceAddr
-       jsr VDCReadByte
-       sta TEMP
-       eor BITMASK
-       and TEMP3
-       eor TEMP
-       pha
-       lda ADDR
-       ldy ADDR+1
-       jsr VDCSetSourceAddr
-       pla
-       jsr VDCWriteByte
-
-@L2:                           ; do the fill in the middle
-       lda ADDR                ; calculate offset in full bytes
-       sec
-       sbc X1
-       beq @L3                 ; if equal - there are no more bytes
-       sta ADDR
-
-       lda X1                  ; setup for the left side
-       ldy X1+1
-       jsr VDCSetSourceAddr
-       lda BITMASK             ; get color
-       jsr VDCWriteByte        ; put 1st value
-       ldx ADDR
-       dex
-       beq @L3                 ; 1 byte already written
-
-       stx ADDR                ; if there are more bytes - fill them...
-       ldx #VDC_VSCROLL
-       lda #0
-       jsr VDCWriteReg         ; setup for fill
-       ldx #VDC_COUNT
-       lda ADDR
-       jsr VDCWriteReg         ; ... fill them NOW!
-
-@L3:   pla
-       sta X1+1
-       pla
-       sta X1
+        lda X1
+        pha
+        lda X1+1
+        pha
+        jsr CALC                ; get data for LEFT
+        lda BITMASKL,x          ; remember left address and bitmask
+        pha
+        lda ADDR
+        pha
+        lda ADDR+1
+        pha
+
+        lda X2
+        sta X1
+        lda X2+1
+        sta X1+1
+        jsr CALC                ; get data for RIGHT
+        lda BITMASKR,x
+        sta TEMP3
+
+        pla                     ; recall data for LEFT
+        sta X1+1
+        pla
+        sta X1                  ; put left address into X1
+        pla
+
+        cmp #%11111111          ; if left bit <> 0
+        beq @L1
+        sta TEMP2               ; do left byte only...
+        lda X1
+        ldy X1+1
+        jsr VDCSetSourceAddr
+        jsr VDCReadByte
+        sta TEMP
+        eor BITMASK
+        and TEMP2
+        eor TEMP
+        pha
+        lda X1
+        ldy X1+1
+        jsr VDCSetSourceAddr
+        pla
+        jsr VDCWriteByte
+        inc X1                  ; ... and proceed
+        bne @L1
+        inc X1+1
+
+        ; do right byte (if Y2=0 ++ADDR and skip)
+@L1:    lda TEMP3
+        cmp #%11111111          ; if right bit <> 7
+        bne @L11
+        inc ADDR                ; right bit = 7 - the next one is the last
+        bne @L10
+        inc ADDR+1
+@L10:   bne @L2
+
+@L11:   lda ADDR                ; do right byte only...
+        ldy ADDR+1
+        jsr VDCSetSourceAddr
+        jsr VDCReadByte
+        sta TEMP
+        eor BITMASK
+        and TEMP3
+        eor TEMP
+        pha
+        lda ADDR
+        ldy ADDR+1
+        jsr VDCSetSourceAddr
+        pla
+        jsr VDCWriteByte
+
+@L2:                            ; do the fill in the middle
+        lda ADDR                ; calculate offset in full bytes
+        sec
+        sbc X1
+        beq @L3                 ; if equal - there are no more bytes
+        sta ADDR
+
+        lda X1                  ; setup for the left side
+        ldy X1+1
+        jsr VDCSetSourceAddr
+        lda BITMASK             ; get color
+        jsr VDCWriteByte        ; put 1st value
+        ldx ADDR
+        dex
+        beq @L3                 ; 1 byte already written
+
+        stx ADDR                ; if there are more bytes - fill them...
+        ldx #VDC_VSCROLL
+        lda #0
+        jsr VDCWriteReg         ; setup for fill
+        ldx #VDC_COUNT
+        lda ADDR
+        jsr VDCWriteReg         ; ... fill them NOW!
+
+@L3:    pla
+        sta X1+1
+        pla
+        sta X1
 
 ; End of horizontal line code
 
-       inc     Y1
-       bne     @L4
-       inc     Y1+1
-@L4:   lda     Y1
-       cmp     Y2
-       bne     @L5
-       lda     Y1+1
-       cmp     Y2+1
-       bne     @L5
-       rts
+        inc     Y1
+        bne     @L4
+        inc     Y1+1
+@L4:    lda     Y1
+        cmp     Y2
+        bne     @L5
+        lda     Y1+1
+        cmp     Y2+1
+        bne     @L5
+        rts
 
-@L5:   jmp     HORLINE
+@L5:    jmp     HORLINE
 
 
 ; ------------------------------------------------------------------------
@@ -695,98 +695,98 @@ OUTTEXT:
 ;> ADDR - address of card
 ;> X - bit number (X1 & 7)
 CALC:
-       lda     Y1
-       pha
-       lda     Y1+1
-       pha
-       lsr
-       ror     Y1              ; Y=Y/2
-       sta     Y1+1
-       sta     ADDR+1
-       lda     Y1
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1          ; Y*4
-       clc
-       adc     Y1
-       sta     ADDR
-       lda     Y1+1
-       adc     ADDR+1
-       sta     ADDR+1          ; Y*4+Y=Y*5
-       lda     ADDR
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1
-       asl
-       rol     ADDR+1
-       sta     ADDR            ; Y*5*16=Y*80
-       lda     X1+1
-       sta     TEMP
-       lda     X1
-       lsr     TEMP
-       ror
-       lsr     TEMP
-       ror
-       lsr     TEMP
-       ror
-       clc
-       adc     ADDR
-       sta     ADDR
-       lda     ADDR+1          ; ADDR = Y*80+x/8
-       adc     TEMP
-       sta     ADDR+1
-       pla
-       sta     Y1+1
-       pla
-       sta     Y1
-       and     #1
-       beq     @even           ; even line - no offset
-       lda     ADDR
-       clc
-       adc     #<21360
-       sta     ADDR
-       lda     ADDR+1
-       adc     #>21360
-       sta     ADDR+1          ; odd lines are 21360 bytes farther
-@even: lda     X1
-       and     #7
-       tax
-       rts
+        lda     Y1
+        pha
+        lda     Y1+1
+        pha
+        lsr
+        ror     Y1              ; Y=Y/2
+        sta     Y1+1
+        sta     ADDR+1
+        lda     Y1
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1          ; Y*4
+        clc
+        adc     Y1
+        sta     ADDR
+        lda     Y1+1
+        adc     ADDR+1
+        sta     ADDR+1          ; Y*4+Y=Y*5
+        lda     ADDR
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1
+        asl
+        rol     ADDR+1
+        sta     ADDR            ; Y*5*16=Y*80
+        lda     X1+1
+        sta     TEMP
+        lda     X1
+        lsr     TEMP
+        ror
+        lsr     TEMP
+        ror
+        lsr     TEMP
+        ror
+        clc
+        adc     ADDR
+        sta     ADDR
+        lda     ADDR+1          ; ADDR = Y*80+x/8
+        adc     TEMP
+        sta     ADDR+1
+        pla
+        sta     Y1+1
+        pla
+        sta     Y1
+        and     #1
+        beq     @even           ; even line - no offset
+        lda     ADDR
+        clc
+        adc     #<21360
+        sta     ADDR
+        lda     ADDR+1
+        adc     #>21360
+        sta     ADDR+1          ; odd lines are 21360 bytes farther
+@even:  lda     X1
+        and     #7
+        tax
+        rts
 
 ;-------------
 ; VDC helpers
 
 VDCSetSourceAddr:
-       pha
-       tya
-       ldx     #VDC_DATA_HI
-       jsr     VDCWriteReg
-       pla
-       ldx     #VDC_DATA_LO
-       bne     VDCWriteReg
+        pha
+        tya
+        ldx     #VDC_DATA_HI
+        jsr     VDCWriteReg
+        pla
+        ldx     #VDC_DATA_LO
+        bne     VDCWriteReg
 
 VDCReadByte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 VDCReadReg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     VDC_DATA_REG
+        rts
 
 VDCWriteByte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 VDCWriteReg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       sta     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        sta     VDC_DATA_REG
+        rts
 
 ; ------------------------------------------------------------------------
 
-       .include        "../../tgi/tgidrv_line.inc"
+        .include        "../../tgi/tgidrv_line.inc"
index 4dab483e292d0109f3e278a094f0aaaa2b87dd78..6ef3729b40158600c1c4f084c49b5a37c4d3e27e 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $01
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $01
index e6c2874d3e8be90d17a6960a78a25e4efea11014..62f515d4eedbdfbf3aadd9cec91e1817927fef78 100644 (file)
@@ -6,8 +6,8 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .import        _c128_vdc_tgi
+        .export _tgi_static_stddrv
+        .import _c128_vdc_tgi
 
 .rodata
 
index 70dadde670a835e031ef91c9a37a4c6d04b305b7..6efd0854f0ec4d3a913e52f936f43cbb63bc5b3f 100644 (file)
@@ -6,8 +6,8 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
-_tgi_stddrv:   .asciiz "c128-vdc.tgi"
+_tgi_stddrv:    .asciiz "c128-vdc.tgi"
index a94e416eeb1cbd813e80ffb0985839aebec83ab3..e09a16cab059792e824736b1d2729278d28663f6 100644 (file)
@@ -5,7 +5,7 @@
 ; /* Toggle the video mode between 40 and 80 chars (calls SWAPPER) */
 ;
 
-       .export         _toggle_videomode
+        .export         _toggle_videomode
         .import         SWAPPER, BSOUT
 
 ; This function is deprecated
@@ -16,8 +16,8 @@
 .proc   _toggle_videomode
 
         jsr     SWAPPER                 ; Toggle the mode
-       lda     #14
-       jmp     BSOUT                   ; Switch to lower case chars
+        lda     #14
+        jmp     BSOUT                   ; Switch to lower case chars
 
 .endproc
 
index d07df5160c3f94bec412df7705a350a7c9ee9ba7..dc7df0fc22ed74216f449d38dccce52166d17bc6 100644 (file)
@@ -5,7 +5,7 @@
 ; /* Set the video mode, return the old mode */
 ;
 
-       .export         _videomode
+        .export         _videomode
         .import         SWAPPER, BSOUT
 
         .include        "c128.inc"
@@ -20,8 +20,8 @@
         pha                             ; ... and save it
 
         jsr     SWAPPER                 ; Toggle the mode
-       lda     #14
-               jsr     BSOUT                   ; Switch to lower case chars
+        lda     #14
+        jsr     BSOUT                   ; Switch to lower case chars
 
         pla                             ; Get old mode into A
 
index c0a746198b24f5756d9b9626d1ac10c673eaae6a..57ad4f30ff9cdc67c4c833a134e302e6f6d5e727 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
         .import         SCREEN
 
 screensize      = SCREEN
index c51cc4b07bb21b2e24ace0df67bf7fb1bd1e00e7..e143ac6d5a6b7899a09fb4de435a4d07c0da36cd 100644 (file)
@@ -5,65 +5,65 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
-       .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -71,37 +71,37 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
-
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 5a2125a0afc089fd969362e6778b4352180c2571..8bcb721002d32b25fd16879b910b83a0c51a7ea4 100644 (file)
@@ -4,82 +4,82 @@
 ; char cgetc (void);
 ;
 
-               .export         _cgetc
-               .import         cursor
+        .export         _cgetc
+        .import         cursor
 
-               .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 ; --------------------------------------------------------------------------
 
-_cgetc:        lda     KEY_COUNT       ; Get number of characters
-               ora     FKEY_COUNT      ; Or with number of function key chars
-               bne     L2              ; Jump if there are already chars waiting
+_cgetc: lda     KEY_COUNT       ; Get number of characters
+        ora     FKEY_COUNT      ; Or with number of function key chars
+        bne     L2              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed
 
-               ldy     CURS_X
-               lda     (CRAM_PTR),y    ; Get current char
-               pha                     ; And save it
-               lda     CHARCOLOR
-               sta     (CRAM_PTR),y
-
-               lda     cursor
-               beq     L1              ; Jump if no cursor
-               tya
-               clc
-               adc     SCREEN_PTR
-               sta     TED_CURSLO
-               lda     SCREEN_PTR+1
-               adc     #$00
-               sbc     #$0B            ; + carry = $C00 (screen address)
-               sta     TED_CURSHI
-
-L1:            lda     KEY_COUNT
-               ora     FKEY_COUNT
-               beq     L1
-               pla
-               sta     (CRAM_PTR),y
-               lda     #$ff
-               sta     TED_CURSLO      ; Cursor off
-               sta     TED_CURSHI
-
-L2:            jsr     KBDREAD         ; Read char and return in A
-               ldx     #0
-               rts
+        ldy     CURS_X
+        lda     (CRAM_PTR),y    ; Get current char
+        pha                     ; And save it
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y
+
+        lda     cursor
+        beq     L1              ; Jump if no cursor
+        tya
+        clc
+        adc     SCREEN_PTR
+        sta     TED_CURSLO
+        lda     SCREEN_PTR+1
+        adc     #$00
+        sbc     #$0B            ; + carry = $C00 (screen address)
+        sta     TED_CURSHI
+
+L1:     lda     KEY_COUNT
+        ora     FKEY_COUNT
+        beq     L1
+        pla
+        sta     (CRAM_PTR),y
+        lda     #$ff
+        sta     TED_CURSLO      ; Cursor off
+        sta     TED_CURSHI
+
+L2:     jsr     KBDREAD         ; Read char and return in A
+        ldx     #0
+        rts
 
 ; --------------------------------------------------------------------------
 ; Make the function keys return function key codes instead of the current
 ; strings so the program will see and may handle them.
 ; Undo this change when the program ends
 
-       .constructor    initkbd
-       .destructor     donekbd
+        .constructor    initkbd
+        .destructor     donekbd
 
 .segment        "INIT"
 
-.proc  initkbd
+.proc   initkbd
 
-       ldy     #15
-@L1:   lda     fnkeys,y
-       sta     FKEY_SPACE,y
-       dey
-       bpl     @L1
-       rts
+        ldy     #15
+@L1:    lda     fnkeys,y
+        sta     FKEY_SPACE,y
+        dey
+        bpl     @L1
+        rts
 
 .endproc
 
 
 .code
 
-.proc  donekbd
+.proc   donekbd
 
-       ldx     #$39            ; Copy the original function keys
-@L1:   lda     FKEY_ORIG,x
-       sta     FKEY_SPACE,x
-       dex
-       bpl     @L1
-       rts
+        ldx     #$39            ; Copy the original function keys
+@L1:    lda     FKEY_ORIG,x
+        sta     FKEY_SPACE,x
+        dex
+        bpl     @L1
+        rts
 
 .endproc
 
@@ -87,6 +87,6 @@ L2:           jsr     KBDREAD         ; Read char and return in A
 ; Function key table, readonly
 
 .rodata
-fnkeys:        .byte   $01, $01, $01, $01, $01, $01, $01, $01
-       .byte   133, 137, 134, 138, 135, 139, 136, 140
+fnkeys: .byte   $01, $01, $01, $01, $01, $01, $01, $01
+        .byte   133, 137, 134, 138, 135, 139, 136, 140
 
index 4b6c4835518d3b598677d3599ee10e2ad307ab3f..56fe0c62c39dc4f781416b95c2fe1bb64474e813 100644 (file)
@@ -4,11 +4,11 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
+        .export         _clrscr
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
-_clrscr        = CLRSCR
+_clrscr = CLRSCR
 
 
 
index 9d7107de8e12645f48ff24075a48af8e3561fb79..2f3046e8f8ed5f7ee9d18645607d58671b4a4b09 100644 (file)
@@ -6,28 +6,28 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
+        .export         _textcolor, _bgcolor, _bordercolor
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 _textcolor:
-       ldx     CHARCOLOR       ; get old value
-       sta     CHARCOLOR       ; set new value
-       txa
-       rts
+        ldx     CHARCOLOR       ; get old value
+        sta     CHARCOLOR       ; set new value
+        txa
+        rts
 
 
 _bgcolor:
-               ldx     TED_BGCOLOR     ; get old value
-       sta     TED_BGCOLOR     ; set new value
-       txa
-       rts
+        ldx     TED_BGCOLOR     ; get old value
+        sta     TED_BGCOLOR     ; set new value
+        txa
+        rts
 
 
 _bordercolor:
-               ldx     TED_BORDERCOLOR ; get old value
-       sta     TED_BORDERCOLOR ; set new value
-       txa
-       rts
+        ldx     TED_BORDERCOLOR ; get old value
+        sta     TED_BORDERCOLOR ; set new value
+        txa
+        rts
 
 
index 23c7948560605f6ce4818c57270b7a974a1a21b6..feca30c6898dfc1ca9500b0e29333d11405076c8 100644 (file)
@@ -4,7 +4,7 @@
 ; Low level stuff for screen output/console input
 ;
 
-       .exportzp       CURS_X, CURS_Y
+        .exportzp       CURS_X, CURS_Y
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
index 5788c1cb01540cb172105348bc4e4ce126d63267..a83a9c60beaad68aa2f8ae9c8b0ba3a5be0f578e 100644 (file)
@@ -5,45 +5,45 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .import         popa, _gotoxy
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .import         popa, _gotoxy
         .import         PLOT
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
@@ -57,39 +57,39 @@ L3:     sty     CURS_X
         rts
 
 newline:
-       clc
-       lda     #XSIZE
-       adc     SCREEN_PTR
-       sta     SCREEN_PTR
-       bcc     L4
-       inc     SCREEN_PTR+1
-       clc
-L4:    lda     #XSIZE
-       adc     CRAM_PTR
-       sta     CRAM_PTR
-       bcc     L5
-       inc     CRAM_PTR+1
-L5:    inc     CURS_Y
-       rts
+        clc
+        lda     #XSIZE
+        adc     SCREEN_PTR
+        sta     SCREEN_PTR
+        bcc     L4
+        inc     SCREEN_PTR+1
+        clc
+L4:     lda     #XSIZE
+        adc     CRAM_PTR
+        sta     CRAM_PTR
+        bcc     L5
+        inc     CRAM_PTR+1
+L5:     inc     CURS_Y
+        rts
 
 ; Handle character if high bit set
 
-L10:   and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L11
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L11:   ora     #$40
-       bne     cputdirect
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect
 
 
 
 ; Set cursor position, calculate RAM pointers
 
-plot:  ldy     CURS_X
-       ldx     CURS_Y
-       clc
-       jmp     PLOT            ; Set the new cursor
+plot:   ldy     CURS_X
+        ldx     CURS_Y
+        clc
+        jmp     PLOT            ; Set the new cursor
 
 
 
@@ -97,9 +97,9 @@ plot: ldy     CURS_X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (SCREEN_PTR),y  ; Set char
-       lda     CHARCOLOR
-       sta     (CRAM_PTR),y    ; Set color
-       rts
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (SCREEN_PTR),y  ; Set char
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y    ; Set color
+        rts
index 4df348f6eb2d23e210e0a10708c1893fe44fe1a4..2875aff49a28c43891c887ee0991ab72b59a198a 100644 (file)
@@ -5,97 +5,97 @@
 ; things are similar here, and we even use the plus4.inc include file.
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib
-       .import         callmain, zerobss
-       .import         MEMTOP, RESTOR, BSOUT, CLRCH
-       .importzp       ST
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .import         initlib, donelib
+        .import         callmain, zerobss
+        .import         MEMTOP, RESTOR, BSOUT, CLRCH
+        .importzp       ST
 
-       .include        "zeropage.inc"
-       .include        "plus4.inc"
+        .include        "zeropage.inc"
+        .include        "plus4.inc"
 
 ; ------------------------------------------------------------------------
 ; Startup code
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 Start:
 
 ; Save the zero page locations we need
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
 
 ; Switch to second charset
 
-       lda     #14
-       jsr     BSOUT
+        lda     #14
+        jsr     BSOUT
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Save system stuff and setup the stack
 
-       tsx
-       stx     spsave          ; save system stk ptr
+        tsx
+        stx     spsave          ; save system stk ptr
 
-       sec
-       jsr     MEMTOP          ; Get top memory
-       cpy     #$80            ; We can only use the low 32K :-(
-       bcc     MemOk
-       ldy     #$80
-       ldx     #$00
-MemOk: stx     sp
-       sty     sp+1            ; set argument stack ptr
+        sec
+        jsr     MEMTOP          ; Get top memory
+        cpy     #$80            ; We can only use the low 32K :-(
+        bcc     MemOk
+        ldy     #$80
+        ldx     #$00
+MemOk:  stx     sp
+        sty     sp+1            ; set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-       jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry.
 
-_exit:         pha                     ; Save the return code on stack
-       jsr     donelib         ; Run module destructors
+_exit:  pha                     ; Save the return code on stack
+        jsr     donelib         ; Run module destructors
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Store the return code into ST
 
-       pla
-       sta     ST
+        pla
+        sta     ST
 
 ; Restore the stack pointer
 
-       ldx     spsave
-       txs
+        ldx     spsave
+        txs
 
 ; Back to BASIC
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave:        .res    zpspace
+zpsave: .res    zpspace
 
 ; ------------------------------------------------------------------------
 
 .bss
 
-spsave:        .res    1
+spsave: .res    1
index 105c9bda8d990da0be5d681a336c4005f8ee9b1b..e35d45ba826c3d9a380a44fa52faad9cb7efda8e 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "c16.inc"
+        .include        "c16.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index 8f879095cc9ac94ab0126134b17a136eee365ff4..98ba5e909e9380059fa0b6d1581bfcec5d9799e0 100644 (file)
@@ -5,11 +5,11 @@
 ; Ullrich von Bassewitz, 2003-12-15
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
         .macpack        generic
 
@@ -22,7 +22,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-BASE           = $8000
+BASE    = $8000
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -63,7 +63,7 @@ INSTALL:
 ; $8000 up to MEMTOP
 
         sec
-        jsr     $FF99                  ; MEMTOP: Get top memory into Y/X
+        jsr     $FF99                   ; MEMTOP: Get top memory into Y/X
         tya
         sub     #>BASE                  ; Low 32 K are used
         bcc     nomem
@@ -104,17 +104,17 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:    sta     curpage                        ; Remember the new page
+MAP:    sta     curpage                 ; Remember the new page
 
         add     #>BASE
-        sta    ptr1+1
-        ldy    #$00
-        sty            ptr1
+        sta     ptr1+1
+        ldy     #$00
+        sty     ptr1
 
-        lda    #<window
-        sta    ptr2
-        lda    #>window
-        sta    ptr2+1
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
 ; Transfer one page
 
@@ -137,18 +137,18 @@ USE:    sta     curpage                 ; Remember the page
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
-COMMIT: lda     curpage                        ; Get the current page
+COMMIT: lda     curpage                 ; Get the current page
         bmi     done                    ; Jump if no page mapped
 
         add     #>BASE
-        sta    ptr2+1
-        ldy    #$00
-        sty            ptr2
+        sta     ptr2+1
+        ldy     #$00
+        sty     ptr2
 
-        lda    #<window
-        sta    ptr1
-        lda    #>window
-        sta    ptr1+1
+        lda     #<window
+        sta     ptr1
+        lda     #>window
+        sta     ptr1+1
 
 ; Transfer one page. Y must be zero on entry. Because we bank out the
 ; kernal, we will run the routine with interrupts disabled but leave
@@ -158,11 +158,11 @@ transfer:
         sei
         sta     ENABLE_RAM
 
-       .repeat 8
-        lda    (ptr1),y
-        sta    (ptr2),y
+        .repeat 8
+        lda     (ptr1),y
+        sta     (ptr2),y
         iny
-       .endrepeat
+        .endrepeat
 
         sta     ENABLE_ROM
         cli
@@ -225,8 +225,8 @@ common: ldy     #EM_COPY::COUNT+1
 ; Transfer the bytes in the last page
 
         ldy     #$00
-@L3:    lda    (ptr1),y
-        sta    (ptr2),y
+@L3:    lda     (ptr1),y
+        sta     (ptr2),y
         iny
         dex
         bne     @L3
index 84f09b12cf6247e0b93b2bd0d8d54daf419f22ab..f6d82a3510a4aa1f0057693afc470f207bec0536 100644 (file)
@@ -6,7 +6,7 @@
 ;
 
         .include        "plus4.inc"
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
 
 ;--------------------------------------------------------------------------
@@ -14,7 +14,7 @@
 
 .proc   _get_tv
 
-        ldx     #TV::PAL       ; Assume PAL
+        ldx     #TV::PAL        ; Assume PAL
         bit     TED_MULTI1      ; Test bit 6
         bvc     pal
         dex                     ; NTSC
index 224f5745d6e71b4e87a0cfcc6ffbd9bb72cd3cbe..46dd75fe8c0062b26d3b6037c32da3193144a10b 100644 (file)
@@ -2,48 +2,48 @@
 ; IRQ handling (C16 version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     IRQVec
-       ldx     IRQVec+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       jmp     setvec
+        lda     IRQVec
+        ldx     IRQVec+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        jmp     setvec
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     IRQInd+1
-       ldx     IRQInd+2
-setvec:        sei
-       sta     IRQVec
-       stx     IRQVec+1
-       cli
-       rts
+        lda     IRQInd+1
+        ldx     IRQInd+2
+setvec: sei
+        sta     IRQVec
+        stx     IRQVec+1
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       jsr     callirq                 ; Call the functions
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        jsr     callirq                 ; Call the functions
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
 
 ; ------------------------------------------------------------------------
 
 .data
 
-IRQInd:        jmp     $0000
+IRQInd: jmp     $0000
index a448f30e8fdc3dbdeb08014e74a5b6cd884522ae..54ba47e1949d93b52db848729cd0e1e1c7aad6ed 100644 (file)
@@ -5,5 +5,5 @@
 ; Ullrich von Bassewitz, 2002-12-21
 ;
 
-       .include        "../../plus4/joy/plus4-stdjoy.s"
+        .include        "../../plus4/joy/plus4-stdjoy.s"
 
index 68d67403d581b894ac73257b64815e25cefdf3d1..2dea36be616d511a20331ddea6b501ac6773ee4e 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _c16_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _c16_stdjoy_joy
 
 .rodata
 
index a55eefeb0900aa07c2eeffda7cdb32119fa34d1a..10aa8c63d76ad63d9df724b4cc3174d45250213e 100644 (file)
@@ -6,9 +6,9 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "c16-stdjoy.joy"
+_joy_stddrv:    .asciiz "c16-stdjoy.joy"
 
index f408c4e5179e074a56111755b66953340f4e66ab..bb88beea886d7137b110420740caa19a79336e6c 100644 (file)
@@ -4,16 +4,16 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-       lda     KEY_COUNT       ; Get number of characters
-       ora     FKEY_COUNT      ; Or with number of chars from function keys
+        lda     KEY_COUNT       ; Get number of characters
+        ora     FKEY_COUNT      ; Or with number of chars from function keys
         beq     L9
         lda     #1
 L9:     rts
index e957117c568a99c974381832c430b56cb4d84f3c..ef7004732a9257013b2755983456ebd458026482 100644 (file)
@@ -7,8 +7,8 @@
         .export         CLOSE
 
 .proc   CLOSE
-       clc                             ; Force C64 compatible behaviour
-        jmp    $FFC3                   ; Call the ROM routine
+        clc                             ; Force C64 compatible behaviour
+        jmp     $FFC3                   ; Call the ROM routine
 .endproc
 
 
index 376f8250688c373e258257a163d71a3da93d4c21..7ba27b62c67200f04e825179d4371e7b733a768f 100644 (file)
 ;-----------------------------------------------------------------------------
 ; All functions are available in the kernal jump table
 
-CINT           = $FF81
-IOINIT         = $FF84
-RAMTAS         = $FF87
-RESTOR         = $FF8A
-VECTOR         = $FF8D
-SETMSG         = $FF90
-SECOND         = $FF93
-TKSA           = $FF96
-MEMTOP         = $FF99
-MEMBOT         = $FF9C
-SCNKEY         = $FF9F
-SETTMO         = $FFA2
-ACPTR          = $FFA5
-CIOUT          = $FFA8
-UNTLK          = $FFAB
-UNLSN          = $FFAE
-LISTEN         = $FFB1
-TALK           = $FFB4
-READST         = $FFB7
-SETLFS         = $FFBA
-SETNAM         = $FFBD
-OPEN           = $FFC0
-;CLOSE         = $FFC3
-CHKIN          = $FFC6
-CKOUT          = $FFC9
-CLRCH          = $FFCC
-BASIN          = $FFCF
-BSOUT          = $FFD2
-LOAD           = $FFD5
-SAVE           = $FFD8
-SETTIM         = $FFDB
-RDTIM          = $FFDE
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-UDTIM          = $FFEA
-SCREEN         = $FFED
-PLOT           = $FFF0
-IOBASE         = $FFF3
+CINT            = $FF81
+IOINIT          = $FF84
+RAMTAS          = $FF87
+RESTOR          = $FF8A
+VECTOR          = $FF8D
+SETMSG          = $FF90
+SECOND          = $FF93
+TKSA            = $FF96
+MEMTOP          = $FF99
+MEMBOT          = $FF9C
+SCNKEY          = $FF9F
+SETTMO          = $FFA2
+ACPTR           = $FFA5
+CIOUT           = $FFA8
+UNTLK           = $FFAB
+UNLSN           = $FFAE
+LISTEN          = $FFB1
+TALK            = $FFB4
+READST          = $FFB7
+SETLFS          = $FFBA
+SETNAM          = $FFBD
+OPEN            = $FFC0
+;CLOSE          = $FFC3
+CHKIN           = $FFC6
+CKOUT           = $FFC9
+CLRCH           = $FFCC
+BASIN           = $FFCF
+BSOUT           = $FFD2
+LOAD            = $FFD5
+SAVE            = $FFD8
+SETTIM          = $FFDB
+RDTIM           = $FFDE
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+UDTIM           = $FFEA
+SCREEN          = $FFED
+PLOT            = $FFF0
+IOBASE          = $FFF3
 
index 418bfe90f4a43bba68cfbcdeb0d62d7c9dd2120e..0a402d27dc16d79012af026d607af8ffb55eae86 100644 (file)
 ; - The "file-name" might be a path-name; don't copy the directory-components.
 ; - Add a control-character quoting mechanism.
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $8f                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $8f                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run
@@ -45,26 +45,26 @@ initmainargs:
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     FNAM_LEN
-       cpy     #NAME_LEN + 1
-       bcc     L1
-       ldy     #NAME_LEN - 1   ; limit the length
-L0:            lda     #FNAM           ; Vector address
+        ldy     FNAM_LEN
+        cpy     #NAME_LEN + 1
+        bcc     L1
+        ldy     #NAME_LEN - 1   ; limit the length
+L0:     lda     #FNAM           ; Vector address
         jsr     FETCH           ; Load byte from RAM
-       sta     name,y
-L1:    dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        sta     name,y
+L1:     dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-               beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
@@ -90,11 +90,11 @@ setterm:sta     term            ; Set end of argument marker
 ; necessary.
 
         txa                     ; Get low byte
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       lda     #>BASIC_BUF
-       sta     argv,y
-       iny
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        lda     #>BASIC_BUF
+        sta     argv,y
+        iny
         inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
@@ -121,21 +121,21 @@ argloop:lda     BASIC_BUF,x
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
-       rts
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
+        rts
 
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
 argv:   .addr   name
-        .res           MAXARGS * 2
+        .res    MAXARGS * 2
 
index e65fd4dab747e2113a41358ce57dae5cb7f6d477..903a0809a24becaa6b74123b5d3dfefc8b32ec9c 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 __randomize:
         ldx     TED_VLINELO     ; Use TED rasterline as high byte
index c48ff9862212c0ecd1918af22aba9ba39b067dc5..f1c0b4d64a4d9dc0ed92a2e6863b00f1cd5c7c34 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "plus4.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index 3620c9107361a5eab3bebebab44d1a4f771b83bc..c6f27923064bfbf5160015fb10a5491fbeaf81b0 100644 (file)
@@ -2,4 +2,4 @@
 ; Oliver Schmidt, 2012-09-30
 ;
 
-       .exportzp       ST := $90       ; IEC status byte
+        .exportzp       ST := $90       ; IEC status byte
index 1d039e80e0ac43fc79e4baa583a12bc17b8894a3..d22b8c596c8dff2f4624405b064373c8d7e20663 100644 (file)
@@ -9,7 +9,7 @@
 ;  */
 ;
 
-       .export         __systime
+        .export         __systime
 
         .importzp       sreg
 
index c0a746198b24f5756d9b9626d1ac10c673eaae6a..57ad4f30ff9cdc67c4c833a134e302e6f6d5e727 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
         .import         SCREEN
 
 screensize      = SCREEN
index 76315b7b961ea9222671a7b031ccaebc917c4160..1c44c59a0864c73b98501cb23130c3296a346ead 100644 (file)
@@ -5,65 +5,65 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
-               .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -71,37 +71,37 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
-
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 5c4b407c9f2b616c3ab1be88483e1c035397c4c6..042f99fd32f41c26806593fd7ade5ed0f5ed0ad6 100644 (file)
@@ -4,58 +4,58 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
-       .import         cursor
+        .export         _cgetc
+        .import         cursor
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
-_cgetc:        lda     KEY_COUNT       ; Get number of characters
-               bne     L3              ; Jump if there are already chars waiting
+_cgetc: lda     KEY_COUNT       ; Get number of characters
+        bne     L3              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed
 
-       lda     CURS_FLAG
-       pha
-       lda     cursor
-       jsr     setcursor
-L1:    lda     KEY_COUNT
-       beq     L1
-       ldx     #0
-       pla
-       bne     L2
-               inx
-L2:            txa
-               jsr     setcursor
+        lda     CURS_FLAG
+        pha
+        lda     cursor
+        jsr     setcursor
+L1:     lda     KEY_COUNT
+        beq     L1
+        ldx     #0
+        pla
+        bne     L2
+        inx
+L2:     txa
+        jsr     setcursor
 
-L3:            jsr     KBDREAD         ; Read char and return in A
-       ldx     #0
-       rts
+L3:     jsr     KBDREAD         ; Read char and return in A
+        ldx     #0
+        rts
 
 
 ; Switch the cursor on or off
 
-.proc  setcursor
-
-               tax                     ; On or off?
-       bne     seton           ; Go set it on
-       lda     CURS_FLAG       ; Is the cursor currently off?
-       bne     crs9            ; Jump if yes
-       lda     #1
-       sta     CURS_FLAG       ; Mark it as off
-       lda     CURS_STATE      ; Cursor currently displayed?
-       beq     crs8            ; Jump if no
-       ldy     CURS_X          ; Get the character column
-               lda     (SCREEN_PTR),y  ; Get character
-       eor     #$80
-       sta     (SCREEN_PTR),y  ; Store character back
-       lda     CURS_COLOR
-       sta     (CRAM_PTR),y    ; Store color back
-crs8:  lda     #0
-       sta     CURS_STATE      ; Cursor not displayed
-crs9:  rts
-
-seton:         lda     #0
-       sta     CURS_FLAG
-       rts
+.proc   setcursor
+
+        tax                     ; On or off?
+        bne     seton           ; Go set it on
+        lda     CURS_FLAG       ; Is the cursor currently off?
+        bne     crs9            ; Jump if yes
+        lda     #1
+        sta     CURS_FLAG       ; Mark it as off
+        lda     CURS_STATE      ; Cursor currently displayed?
+        beq     crs8            ; Jump if no
+        ldy     CURS_X          ; Get the character column
+        lda     (SCREEN_PTR),y  ; Get character
+        eor     #$80
+        sta     (SCREEN_PTR),y  ; Store character back
+        lda     CURS_COLOR
+        sta     (CRAM_PTR),y    ; Store color back
+crs8:   lda     #0
+        sta     CURS_STATE      ; Cursor not displayed
+crs9:   rts
+
+seton:  lda     #0
+        sta     CURS_FLAG
+        rts
 
 .endproc
index e0f8aedfbc40d87ab10de2737ea6379a5ae453ba..3968288477a18985ac348f8d00a848d86cafa938 100644 (file)
@@ -4,9 +4,9 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
+        .export         _clrscr
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 _clrscr = CLRSCR
 
index 2ba136a7e43969db2741e1e0a461c7a2f29f02cf..bfc37193103cb711b4deb24a3b91ecec8539bda7 100644 (file)
@@ -7,27 +7,27 @@
 ;
 
 
-       .export         _textcolor, _bgcolor, _bordercolor
+        .export         _textcolor, _bgcolor, _bordercolor
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 _textcolor:
-       ldx     CHARCOLOR       ; get old value
-       sta     CHARCOLOR       ; set new value
-       txa
-       rts
+        ldx     CHARCOLOR       ; get old value
+        sta     CHARCOLOR       ; set new value
+        txa
+        rts
 
 
 _bgcolor:
-       ldx     VIC_BG_COLOR0   ; get old value
-       sta     VIC_BG_COLOR0   ; set new value
-       txa
-       rts
+        ldx     VIC_BG_COLOR0   ; get old value
+        sta     VIC_BG_COLOR0   ; set new value
+        txa
+        rts
 
 
 _bordercolor:
-               ldx     VIC_BORDERCOLOR ; get old value
-       sta     VIC_BORDERCOLOR ; set new value
-       txa
-       rts
+        ldx     VIC_BORDERCOLOR ; get old value
+        sta     VIC_BORDERCOLOR ; set new value
+        txa
+        rts
 
index 0e3f97947eed0aec5827d0b1d8472beaf50e4484..92313c71d877da3309de5c7e1726f737f92fe5d2 100644 (file)
@@ -4,7 +4,7 @@
 ; Low level stuff for screen output/console input
 ;
 
-       .exportzp       CURS_X, CURS_Y
+        .exportzp       CURS_X, CURS_Y
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
index d5ba79ed79b8cdf634b58dffdafecef7d590ccf8..606d6f596fe2df7e620e940aeac304928dfd96db 100644 (file)
@@ -5,91 +5,91 @@
 ; void __fastcall__ cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .import         popa, _gotoxy
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .import         popa, _gotoxy
         .import         PLOT
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
 advance:
-       iny
-       cpy     #XSIZE
-       bne     L3
-       jsr     newline         ; new line
-       ldy     #0              ; + cr
-L3:    sty     CURS_X
-       rts
+        iny
+        cpy     #XSIZE
+        bne     L3
+        jsr     newline         ; new line
+        ldy     #0              ; + cr
+L3:     sty     CURS_X
+        rts
 
 newline:
-       clc
-       lda     #XSIZE
-       adc     SCREEN_PTR
-       sta     SCREEN_PTR
-       bcc     L4
-       inc     SCREEN_PTR+1
-       clc
-L4:    lda     #XSIZE
-       adc     CRAM_PTR
-       sta     CRAM_PTR
-       bcc     L5
-       inc     CRAM_PTR+1
-L5:    inc     CURS_Y
-       rts
+        clc
+        lda     #XSIZE
+        adc     SCREEN_PTR
+        sta     SCREEN_PTR
+        bcc     L4
+        inc     SCREEN_PTR+1
+        clc
+L4:     lda     #XSIZE
+        adc     CRAM_PTR
+        sta     CRAM_PTR
+        bcc     L5
+        inc     CRAM_PTR+1
+L5:     inc     CURS_Y
+        rts
 
 ; Handle character if high bit set
 
-L10:   and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L11
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L11:   ora     #$40
-       bne     cputdirect
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect
 
 
 
 ; Set cursor position, calculate RAM pointers.
 
-plot:  ldy     CURS_X
-       ldx     CURS_Y
-       clc
-               jmp     PLOT            ; Set the new cursor
+plot:   ldy     CURS_X
+        ldx     CURS_Y
+        clc
+        jmp     PLOT            ; Set the new cursor
 
 
 
@@ -97,9 +97,9 @@ plot: ldy     CURS_X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (SCREEN_PTR),y  ; Set char
-       lda     CHARCOLOR
-       sta     (CRAM_PTR),y    ; Set color
-       rts
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (SCREEN_PTR),y  ; Set char
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y    ; Set color
+        rts
index b3cacfd40be23dbd7f4c77354f760b61f5f1f70e..ab44e9033837cf805a71b3ebc3b742e9f563c34d 100644 (file)
 ; Startup code for cc65 (C64 version)
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib
-       .import         zerobss
-       .import         callmain
-       .import         RESTOR, BSOUT, CLRCH
-       .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
-       .import         __STACKSIZE__                   ; Linker generated
-       .importzp       ST
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .import         initlib, donelib
+        .import         zerobss
+        .import         callmain
+        .import         RESTOR, BSOUT, CLRCH
+        .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
+        .import         __STACKSIZE__                   ; Linker generated
+        .importzp       ST
 
-       .include        "zeropage.inc"
-       .include        "c64.inc"
+        .include        "zeropage.inc"
+        .include        "c64.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Startup code
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 Start:
 
 ; Save the zero page locations we need
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
 
 ; Switch to second charset
 
-       lda     #14
-       jsr     BSOUT
+        lda     #14
+        jsr     BSOUT
 
 ; Switch off the BASIC ROM
 
-       lda     $01
-       pha                     ; Remember the value
-       and     #$F8
-       ora     #$06            ; Enable kernal+I/O, disable basic
-       sta     $01
+        lda     $01
+        pha                     ; Remember the value
+        and     #$F8
+        ora     #$06            ; Enable kernal+I/O, disable basic
+        sta     $01
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Save system settings and setup the stack
 
-       pla
-       sta     mmusave         ; Save the memory configuration
+        pla
+        sta     mmusave         ; Save the memory configuration
 
-       tsx
-       stx     spsave          ; Save the system stack ptr
+        tsx
+        stx     spsave          ; Save the system stack ptr
 
-       lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp
-       lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp+1            ; Set argument stack ptr
+        lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp
+        lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp+1            ; Set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main
 
-       jsr     callmain
+        jsr     callmain
 
 ; Back from main (This is also the _exit entry). Run module destructors
 
-_exit: pha                     ; Save the return code on stack
-       jsr     donelib
+_exit:  pha                     ; Save the return code on stack
+        jsr     donelib
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Place the program return code into ST
 
-       pla
-       sta     ST
+        pla
+        sta     ST
 
 ; Restore system stuff
 
-       ldx     spsave
-       txs                     ; Restore stack pointer
-       ldx     mmusave
-       stx     $01             ; Restore memory configuration
+        ldx     spsave
+        txs                     ; Restore stack pointer
+        ldx     mmusave
+        stx     $01             ; Restore memory configuration
 
 ; Back to basic
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; Data
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave:        .res    zpspace
+zpsave: .res    zpspace
 
 .bss
 
-spsave:        .res    1
-mmusave:.res   1
+spsave: .res    1
+mmusave:.res    1
index e7b5f94b2e509735d9be00e8e439ed3493e05406..33c0461bcb6e0ed0f87861d0311993f4a8899a4c 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index ed8bf7732f579cf2ea0bdb515435a90af9a711f3..f559bf7f3d4b22b96d090e6c48cc14a2e9b4f86c 100644 (file)
@@ -3,13 +3,13 @@
 ; Marco van den Heuvel, 2010-01-27
 ;
 
-        .include       "zeropage.inc"
+        .include        "zeropage.inc"
 
-        .include       "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
-        .macpack       generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 
 ; Driver signature
 
-        .byte  $65, $6d, $64           ; "emd"
-        .byte  EMD_API_VERSION         ; EM API version number
+        .byte   $65, $6d, $64           ; "emd"
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
-        .word  INSTALL
-        .word  UNINSTALL
-        .word  PAGECOUNT
-        .word  MAP
-        .word  USE
-        .word  COMMIT
-        .word  COPYFROM
-        .word  COPYTO
+        .word   INSTALL
+        .word   UNINSTALL
+        .word   PAGECOUNT
+        .word   MAP
+        .word   USE
+        .word   COMMIT
+        .word   COPYFROM
+        .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
@@ -96,13 +96,13 @@ done:   stx     $01
 
 .bss
 
-curpage:        .res           2       ; Current page number
-curbank:        .res   1       ; Current bank
-window:         .res           256     ; Memory "window"
+curpage:        .res    2       ; Current page number
+curbank:        .res    1       ; Current bank
+window:         .res    256     ; Memory "window"
 
 ; Since the functions above are copied to $200, the current contents of this
 ; memory area must be saved into backup storage. Allocate enough space.
-backup:         .res           .max (.sizeof (copy), .sizeof (check))
+backup:         .res    .max (.sizeof (copy), .sizeof (check))
 
 
 
@@ -115,52 +115,52 @@ backup:         .res      .max (.sizeof (copy), .sizeof (check))
 ;
 
 INSTALL:
-        lda    PIA+1           ; Select Peripheral Registers
-        ora    #4
-        sta    PIA+1
+        lda     PIA+1           ; Select Peripheral Registers
+        ora     #4
+        sta     PIA+1
         tax
-        lda    PIA+3
-        ora    #4
-        sta    PIA+3
+        lda     PIA+3
+        ora     #4
+        sta     PIA+3
         tay
 
-        lda    #$DC            ; Set the default memory bank data
-        sta    PIA
-        lda    #$FE
-        sta    PIA+2
+        lda     #$DC            ; Set the default memory bank data
+        sta     PIA
+        lda     #$FE
+        sta     PIA+2
 
-        txa                    ; Select Data Direction Registers
-        and    #$FB
-        sta    PIA+1
+        txa                     ; Select Data Direction Registers
+        and     #$FB
+        sta     PIA+1
         tya
-        and    #$FB
-        sta    PIA+3
+        and     #$FB
+        sta     PIA+3
 
-        lda    #$FF            ; Set the ports to output
-        sta    PIA
-        sta    PIA+2
+        lda     #$FF            ; Set the ports to output
+        sta     PIA
+        sta     PIA+2
 
         txa
-        and    #$C7
-        ora    #$30            ; Set CA1 and
-        sta    PIA+1           ; select Peripheral Registers
-        sty    PIA+3
+        and     #$C7
+        ora     #$30            ; Set CA1 and
+        sta     PIA+1           ; select Peripheral Registers
+        sty     PIA+3
 
-        jsr    backup_and_setup_check_routine
-        jsr    check::entry
+        jsr     backup_and_setup_check_routine
+        jsr     check::entry
         cli
-        ldx    #.sizeof (check) - 1
-        jsr    restore_data
-        cpy    #$01
-        beq    @present
-        lda    #<EM_ERR_NO_DEVICE
-        ldx    #>EM_ERR_NO_DEVICE
+        ldx     #.sizeof (check) - 1
+        jsr     restore_data
+        cpy     #$01
+        beq     @present
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
         rts
 
 @present:
-        lda    #<EM_ERR_OK
-        ldx    #>EM_ERR_OK
-;       rts                    ; Run into UNINSTALL instead
+        lda     #<EM_ERR_OK
+        ldx     #>EM_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -176,8 +176,8 @@ UNINSTALL:
 ;
 
 PAGECOUNT:
-        lda    #<PAGES
-        ldx    #>PAGES
+        lda     #<PAGES
+        ldx     #>PAGES
         rts
 
 ; ------------------------------------------------------------------------
@@ -188,41 +188,41 @@ PAGECOUNT:
 
 MAP:
         sei
-        sta    curpage         ; Remember the new page
-        stx    curpage+1
-        jsr    adjust_page_and_bank
-        stx    curbank
+        sta     curpage         ; Remember the new page
+        stx     curpage+1
+        jsr     adjust_page_and_bank
+        stx     curbank
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #0
-        sty    ptr1
-        jsr    backup_and_setup_copy_routine
-        ldx    #<ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
+        jsr     backup_and_setup_copy_routine
+        ldx     #<ptr1
         stx     copy::address
 @L1:
-        ldx    curbank
-        jsr    copy::entry
-        ldx    ptr1
-        sta    window,x
-        inc    ptr1
-        bne    @L1
+        ldx     curbank
+        jsr     copy::entry
+        ldx     ptr1
+        sta     window,x
+        inc     ptr1
+        bne     @L1
 
 ; Return the memory window
 
-        jsr    restore_copy_routine
-        lda    #<window
-        ldx    #>window                ; Return the window address
+        jsr     restore_copy_routine
+        lda     #<window
+        ldx     #>window                ; Return the window address
         cli
         rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
 
-USE:    sta    curpage         ; Remember the page
-        stx    curpage+1
-        lda    #<window
-        ldx    #>window                ; Return the window
+USE:    sta     curpage         ; Remember the page
+        stx     curpage+1
+        lda     #<window
+        ldx     #>window                ; Return the window
         rts
 
 ; ------------------------------------------------------------------------
@@ -230,32 +230,32 @@ USE:    sta       curpage         ; Remember the page
 
 COMMIT:
         sei
-        lda    curpage         ; Get the current page
-        ldx    curpage+1
+        lda     curpage         ; Get the current page
+        ldx     curpage+1
 
-        jsr    adjust_page_and_bank
-        stx    curbank
+        jsr     adjust_page_and_bank
+        stx     curbank
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #0
-        sty    ptr1
-        jsr    backup_and_setup_copy_routine
-        ldx    #<ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
+        jsr     backup_and_setup_copy_routine
+        ldx     #<ptr1
         stx     copy::address
-        ldx    #<copy::stashop
-        stx    copy::operation
+        ldx     #<copy::stashop
+        stx     copy::operation
 @L1:
-        ldx    ptr1
-        lda    window,x
-        ldx    curbank
-        jsr    copy::entry
-        inc    ptr1
-        bne    @L1
+        ldx     ptr1
+        lda     window,x
+        ldx     curbank
+        jsr     copy::entry
+        inc     ptr1
+        bne     @L1
 
 ; Return the memory window
 
-        jsr    restore_copy_routine
+        jsr     restore_copy_routine
 done:
         cli
         rts
@@ -269,8 +269,8 @@ done:
 
 COPYFROM:
         sei
-        jsr    setup
-        jsr    backup_and_setup_copy_routine
+        jsr     setup
+        jsr     backup_and_setup_copy_routine
 
 ; Setup is:
 ;
@@ -281,48 +281,48 @@ COPYFROM:
 ;   - tmp1 contains zero (to be used for linear memory buffer offset)
 ;   - tmp2 contains the bank value
 
-        lda    #<ptr4
+        lda     #<ptr4
         sta     copy::address
-        jmp    @L3
+        jmp     @L3
 
 @L1:
-        ldx    tmp2
-        ldy    #0
-        jsr    copy::entry
-        ldy    tmp1
-        sta    (ptr2),y
-        inc    tmp1
-        bne    @L2
-        inc    ptr2+1
+        ldx     tmp2
+        ldy     #0
+        jsr     copy::entry
+        ldy     tmp1
+        sta     (ptr2),y
+        inc     tmp1
+        bne     @L2
+        inc     ptr2+1
 @L2:
-        inc    ptr4
-        beq    @L4
+        inc     ptr4
+        beq     @L4
 
 ; Bump count and repeat
 
 @L3:
-        inc    ptr3
-        bne    @L1
-        inc    ptr3+1
-        bne    @L1
-        jsr    restore_copy_routine
+        inc     ptr3
+        bne     @L1
+        inc     ptr3+1
+        bne     @L1
+        jsr     restore_copy_routine
         cli
         rts
 
 ; Bump page register
 
 @L4:
-        inc    ptr4+1
-        lda    ptr4+1
-        cmp    #$80
-        bne    @L3
-        lda    #>BASE
-        sta    ptr4+1
-        lda    tmp2
+        inc     ptr4+1
+        lda     ptr4+1
+        cmp     #$80
+        bne     @L3
+        lda     #>BASE
+        sta     ptr4+1
+        lda     tmp2
         clc
-        adc    #$10
-        sta    tmp2
-        jmp    @L3
+        adc     #$10
+        sta     tmp2
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -332,8 +332,8 @@ COPYFROM:
 
 COPYTO:
         sei
-        jsr    setup
-        jsr    backup_and_setup_copy_routine
+        jsr     setup
+        jsr     backup_and_setup_copy_routine
 
 ; Setup is:
 ;
@@ -344,101 +344,101 @@ COPYTO:
 ;   - tmp1 contains zero (to be used for linear memory buffer offset)
 ;   - tmp2 contains the bank value
 
-        lda    #<ptr4
+        lda     #<ptr4
         sta     copy::address
-        lda    #<copy::stashop
-        sta    copy::operation
-        jmp    @L3
+        lda     #<copy::stashop
+        sta     copy::operation
+        jmp     @L3
 
 @L1:
-        ldy    tmp1
-        lda    (ptr2),y
-        ldx    tmp2
-        ldy    #0
-        jsr    copy::entry
-        inc    tmp1
-        bne    @L2
-        inc    ptr2+1
+        ldy     tmp1
+        lda     (ptr2),y
+        ldx     tmp2
+        ldy     #0
+        jsr     copy::entry
+        inc     tmp1
+        bne     @L2
+        inc     ptr2+1
 @L2:
-        inc    ptr4
-        beq    @L4
+        inc     ptr4
+        beq     @L4
 
 ; Bump count and repeat
 
 @L3:
-        inc    ptr3
-        bne    @L1
-        inc    ptr3+1
-        bne    @L1
-        jsr    restore_copy_routine
+        inc     ptr3
+        bne     @L1
+        inc     ptr3+1
+        bne     @L1
+        jsr     restore_copy_routine
         cli
         rts
 
 ; Bump page register
 
 @L4:
-        inc    ptr4+1
-        lda    ptr4+1
+        inc     ptr4+1
+        lda     ptr4+1
         cmp     #$80
-        bne    @L3
-        lda    #>BASE
-        sta    ptr4+1
-        lda    tmp2
+        bne     @L3
+        lda     #>BASE
+        sta     ptr4+1
+        lda     tmp2
         clc
-        adc    #$10
-        sta    tmp2
-        jmp    @L3
+        adc     #$10
+        sta     tmp2
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
 ; structure and prepare data for the copy
 
 setup:
-        sta    ptr1
-        stx    ptr1+1                                  ; Save passed pointer
+        sta     ptr1
+        stx     ptr1+1                                  ; Save passed pointer
 
 ; Get the page number from the struct and adjust it so that it may be used
 ; with the hardware. That is: ptr4 has the page address and page offset
 ; tmp2 will hold the bank value
 
-        ldy    #EM_COPY::PAGE+1
-        lda    (ptr1),y
+        ldy     #EM_COPY::PAGE+1
+        lda     (ptr1),y
         tax
-        ldy    #EM_COPY::PAGE
-        lda    (ptr1),y
-        jsr    adjust_page_and_bank
+        ldy     #EM_COPY::PAGE
+        lda     (ptr1),y
+        jsr     adjust_page_and_bank
         clc
-        adc    #>BASE
-        sta    ptr4+1
-        stx    tmp2
+        adc     #>BASE
+        sta     ptr4+1
+        stx     tmp2
 
 ; Get the buffer pointer into ptr2
 
-        ldy    #EM_COPY::BUF
-        lda    (ptr1),y
-        sta    ptr2
+        ldy     #EM_COPY::BUF
+        lda     (ptr1),y
+        sta     ptr2
         iny
-        lda    (ptr1),y
-        sta    ptr2+1
+        lda     (ptr1),y
+        sta     ptr2+1
 
 ; Get the count, calculate -(count-1) and store it into ptr3
 
-        ldy    #EM_COPY::COUNT
-        lda    (ptr1),y
-        eor    #$FF
-        sta    ptr3
+        ldy     #EM_COPY::COUNT
+        lda     (ptr1),y
+        eor     #$FF
+        sta     ptr3
         iny
-        lda    (ptr1),y
-        eor    #$FF
-        sta    ptr3+1
+        lda     (ptr1),y
+        eor     #$FF
+        sta     ptr3+1
 
 ; Get the page offset into ptr4 and clear tmp1
 
-        ldy    #EM_COPY::OFFS
-        lda    (ptr1),y
-        sta    ptr4
-        lda    #0
-        sta    tmp1
+        ldy     #EM_COPY::OFFS
+        lda     (ptr1),y
+        sta     ptr4
+        lda     #0
+        sta     tmp1
 
 ; Done
 
@@ -447,47 +447,47 @@ setup:
 ; Helper routines for copying to and from the +256k ram
 
 backup_and_setup_copy_routine:
-        ldx    #.sizeof (copy) - 1
+        ldx     #.sizeof (copy) - 1
 @L1:
-        lda            copy::entry,x
-        sta    backup,x
-        lda    copy::template,x
-        sta    copy::entry,x
+        lda     copy::entry,x
+        sta     backup,x
+        lda     copy::template,x
+        sta     copy::entry,x
         dex
-        bpl    @L1
+        bpl     @L1
         rts
 
 backup_and_setup_check_routine:
-        ldx    #.sizeof (check) - 1
+        ldx     #.sizeof (check) - 1
 @L1:
-        lda    check::entry,x
-        sta    backup,x
-        lda    check::template,x
-        sta    check::entry,x
+        lda     check::entry,x
+        sta     backup,x
+        lda     check::template,x
+        sta     check::entry,x
         dex
-        bpl    @L1
+        bpl     @L1
         rts
 
 restore_copy_routine:
-        ldx    #.sizeof (copy) - 1
+        ldx     #.sizeof (copy) - 1
 restore_data:
-        lda    backup,x
-        sta    TARGETLOC,x
+        lda     backup,x
+        sta     TARGETLOC,x
         dex
-        bpl    restore_data
+        bpl     restore_data
         rts
 
 ; Helper routine to correct for the bank and page
 adjust_page_and_bank:
-        sta    tmp4
-        lda    #$0C
+        sta     tmp4
+        lda     #$0C
         sta     tmp3
-        lda    tmp4
-        and    #$c0
+        lda     tmp4
+        and     #$c0
         lsr
         lsr
-        ora    tmp3
-        sta    tmp3
+        ora     tmp3
+        sta     tmp3
         txa
         asl
         asl
@@ -495,8 +495,8 @@ adjust_page_and_bank:
         asl
         asl
         asl
-        ora    tmp3
+        ora     tmp3
         tax
-        lda    tmp4
-        and    #$3f
+        lda     tmp4
+        and     #$3f
         rts
index 3f581e11ac9988043655f2933018785d9d0fa68b..fcfeaeb9b0bc8541f7a03f0067826d22786d0e62 100644 (file)
@@ -3,13 +3,13 @@
 ; Marco van den Heuvel, 2010-01-27
 ;
 
-        .include       "zeropage.inc"
+        .include        "zeropage.inc"
 
-        .include       "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
-        .macpack       generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 
 ; Driver signature
 
-        .byte  $65, $6d, $64           ; "emd"
-        .byte  EMD_API_VERSION         ; EM API version number
+        .byte   $65, $6d, $64           ; "emd"
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
-        .word  INSTALL
-        .word  UNINSTALL
-        .word  PAGECOUNT
-        .word  MAP
-        .word  USE
-        .word  COMMIT
-        .word  COPYFROM
-        .word  COPYTO
+        .word   INSTALL
+        .word   UNINSTALL
+        .word   PAGECOUNT
+        .word   MAP
+        .word   USE
+        .word   COMMIT
+        .word   COPYFROM
+        .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
@@ -115,12 +115,12 @@ address         := *+1          ; Patched at runtime
 
 .bss
 
-curpage:        .res   1               ; Current page number
-window:         .res   256             ; Memory "window"
+curpage:        .res    1               ; Current page number
+window:         .res    256             ; Memory "window"
 
 ; Since the functions above are copied to $200, the current contents of this
 ; memory area must be saved into backup storage. Allocate enough space.
-backup:         .res           .max (.sizeof (copy), .sizeof (check))
+backup:         .res    .max (.sizeof (copy), .sizeof (check))
 
 
 
@@ -135,21 +135,21 @@ backup:         .res      .max (.sizeof (copy), .sizeof (check))
 
 INSTALL:
         sei
-        jsr    backup_and_setup_check_routine
-        jsr    check::entry
+        jsr     backup_and_setup_check_routine
+        jsr     check::entry
         cli
-        ldx    #.sizeof (check) - 1
-        jsr    restore_data
-        cpy    #$01
-        beq    @present
-        lda    #<EM_ERR_NO_DEVICE
-        ldx    #>EM_ERR_NO_DEVICE
+        ldx     #.sizeof (check) - 1
+        jsr     restore_data
+        cpy     #$01
+        beq     @present
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
         rts
 
 @present:
-        lda    #<EM_ERR_OK
-        ldx    #>EM_ERR_OK
-;       rts                    ; Run into UNINSTALL instead
+        lda     #<EM_ERR_OK
+        ldx     #>EM_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -165,8 +165,8 @@ UNINSTALL:
 ;
 
 PAGECOUNT:
-        lda    #<PAGES
-        ldx    #>PAGES
+        lda     #<PAGES
+        ldx     #>PAGES
         rts
 
 ; ------------------------------------------------------------------------
@@ -177,37 +177,37 @@ PAGECOUNT:
 
 MAP:
         sei
-        sta    curpage         ; Remember the new page
+        sta     curpage         ; Remember the new page
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #0
-        sty    ptr1
-        jsr    backup_and_setup_copy_routine
-        ldx    #<ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
+        jsr     backup_and_setup_copy_routine
+        ldx     #<ptr1
         stx     copy::fetch::address
 @L1:
-        ldx    #$14
-        jsr    copy::fetch
-        ldx    ptr1
-        sta    window,x
-        inc    ptr1
-        bne    @L1
+        ldx     #$14
+        jsr     copy::fetch
+        ldx     ptr1
+        sta     window,x
+        inc     ptr1
+        bne     @L1
 
 ; Return the memory window
 
-        jsr    restore_copy_routine
-        lda    #<window
-        ldx    #>window                ; Return the window address
+        jsr     restore_copy_routine
+        lda     #<window
+        ldx     #>window                ; Return the window address
         cli
         rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
 
-USE:    sta    curpage         ; Remember the page
-        lda    #<window
-        ldx    #>window                ; Return the window
+USE:    sta     curpage         ; Remember the page
+        lda     #<window
+        ldx     #>window                ; Return the window
         rts
 
 ; ------------------------------------------------------------------------
@@ -215,26 +215,26 @@ USE:    sta       curpage         ; Remember the page
 
 COMMIT:
         sei
-        lda    curpage         ; Get the current page
+        lda     curpage         ; Get the current page
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #0
-        sty    ptr1
-        jsr    backup_and_setup_copy_routine
-        ldx    #<ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
+        jsr     backup_and_setup_copy_routine
+        ldx     #<ptr1
         stx     copy::stash::address
 @L1:
-        ldx    ptr1
-        lda    window,x
-        ldx    #$14
-        jsr    copy::stash
-        inc    ptr1
-        bne    @L1
+        ldx     ptr1
+        lda     window,x
+        ldx     #$14
+        jsr     copy::stash
+        inc     ptr1
+        bne     @L1
 
 ; Return the memory window
 
-        jsr    restore_copy_routine
+        jsr     restore_copy_routine
         cli
         rts
 
@@ -250,11 +250,11 @@ COPYFROM:
         pha
         txa
         pha
-        jsr    backup_and_setup_copy_routine
+        jsr     backup_and_setup_copy_routine
         pla
         tax
         pla
-        jsr    setup
+        jsr     setup
 
 ; Setup is:
 ;
@@ -264,39 +264,39 @@ COPYFROM:
 ;   - ptr4 contains the page memory buffer plus offset
 ;   - tmp1 contains zero (to be used for linear memory buffer offset)
 
-        lda    #<ptr4
+        lda     #<ptr4
         sta     copy::fetch::address
-        jmp    @L3
+        jmp     @L3
 
 @L1:
-        ldx    #$14
-        ldy    #0
-        jsr    copy::fetch
-        ldy    tmp1
-        sta    (ptr2),y
-        inc    tmp1
-        bne    @L2
-        inc    ptr2+1
+        ldx     #$14
+        ldy     #0
+        jsr     copy::fetch
+        ldy     tmp1
+        sta     (ptr2),y
+        inc     tmp1
+        bne     @L2
+        inc     ptr2+1
 @L2:
-        inc    ptr4
-        beq    @L4
+        inc     ptr4
+        beq     @L4
 
 ; Bump count and repeat
 
 @L3:
-        inc    ptr3
-        bne    @L1
-        inc    ptr3+1
-        bne    @L1
-        jsr    restore_copy_routine
+        inc     ptr3
+        bne     @L1
+        inc     ptr3+1
+        bne     @L1
+        jsr     restore_copy_routine
         cli
         rts
 
 ; Bump page register
 
 @L4:
-        inc    ptr4+1
-        jmp    @L3
+        inc     ptr4+1
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -309,11 +309,11 @@ COPYTO:
         pha
         txa
         pha
-        jsr    backup_and_setup_copy_routine
+        jsr     backup_and_setup_copy_routine
         pla
         tax
         pla
-        jsr    setup
+        jsr     setup
 
 ; Setup is:
 ;
@@ -323,85 +323,85 @@ COPYTO:
 ;   - ptr4 contains the page memory buffer plus offset
 ;   - tmp1 contains zero (to be used for linear memory buffer offset)
 
-        lda    #<ptr4
+        lda     #<ptr4
         sta     copy::stash::address
-        jmp    @L3
+        jmp     @L3
 
 @L1:
-        ldy    tmp1
-        lda    (ptr2),y
-        ldx    #$14
-        ldy    #0
-        jsr    copy::stash
-        inc    tmp1
-        bne    @L2
-        inc    ptr2+1
+        ldy     tmp1
+        lda     (ptr2),y
+        ldx     #$14
+        ldy     #0
+        jsr     copy::stash
+        inc     tmp1
+        bne     @L2
+        inc     ptr2+1
 @L2:
-        inc    ptr4
-        beq    @L4
+        inc     ptr4
+        beq     @L4
 
 ; Bump count and repeat
 
 @L3:
-        inc    ptr3
-        bne    @L1
-        inc    ptr3+1
-        bne    @L1
-        jsr    restore_copy_routine
+        inc     ptr3
+        bne     @L1
+        inc     ptr3+1
+        bne     @L1
+        jsr     restore_copy_routine
         cli
         rts
 
 ; Bump page register
 
 @L4:
-        inc    ptr4+1
-        jmp    @L3
+        inc     ptr4+1
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
 ; structure and prepare data for the copy
 
 setup:
-        sta    ptr1
-        stx    ptr1+1          ; Save passed pointer
+        sta     ptr1
+        stx     ptr1+1          ; Save passed pointer
 
 ; Get the page number from the struct and adjust it so that it may be used
 ; with the hardware. That is: ptr4 has the page address and page offset
 ; tmp2 will hold the bank value
 
-        ldy    #EM_COPY::PAGE
-        lda    (ptr1),y
+        ldy     #EM_COPY::PAGE
+        lda     (ptr1),y
         clc
-        adc    #>BASE
-        sta    ptr4+1
+        adc     #>BASE
+        sta     ptr4+1
 
 ; Get the buffer pointer into ptr2
 
-        ldy    #EM_COPY::BUF
-        lda    (ptr1),y
-        sta    ptr2
+        ldy     #EM_COPY::BUF
+        lda     (ptr1),y
+        sta     ptr2
         iny
-        lda    (ptr1),y
-        sta    ptr2+1
+        lda     (ptr1),y
+        sta     ptr2+1
 
 ; Get the count, calculate -(count-1) and store it into ptr3
 
-        ldy    #EM_COPY::COUNT
-        lda    (ptr1),y
-        eor    #$FF
-        sta    ptr3
+        ldy     #EM_COPY::COUNT
+        lda     (ptr1),y
+        eor     #$FF
+        sta     ptr3
         iny
-        lda    (ptr1),y
-        eor    #$FF
-        sta    ptr3+1
+        lda     (ptr1),y
+        eor     #$FF
+        sta     ptr3+1
 
 ; Get the page offset into ptr4 and clear tmp1
 
-        ldy    #EM_COPY::OFFS
-        lda    (ptr1),y
-        sta    ptr4
-        lda    #0
-        sta    tmp1
+        ldy     #EM_COPY::OFFS
+        lda     (ptr1),y
+        sta     ptr4
+        lda     #0
+        sta     tmp1
 
 ; Done
 
@@ -410,32 +410,32 @@ setup:
 ; Helper routines for copying to and from the +256k ram
 
 backup_and_setup_copy_routine:
-        ldx    #.sizeof (copy) - 1
+        ldx     #.sizeof (copy) - 1
 @L1:
-        lda    copy::entry,x
-        sta    backup,x
-        lda    copy::template,x
-        sta    copy::entry,x
+        lda     copy::entry,x
+        sta     backup,x
+        lda     copy::template,x
+        sta     copy::entry,x
         dex
-        bpl    @L1
+        bpl     @L1
         rts
 
 backup_and_setup_check_routine:
-        ldx    #.sizeof (check) - 1
+        ldx     #.sizeof (check) - 1
 @L1:
-        lda    check::entry,x
-        sta    backup,x
-        lda    check::template,x
-        sta    check::entry,x
+        lda     check::entry,x
+        sta     backup,x
+        lda     check::template,x
+        sta     check::entry,x
         dex
-        bpl    @L1
+        bpl     @L1
         rts
 
 restore_copy_routine:
-        ldx    #.sizeof (copy) - 1
+        ldx     #.sizeof (copy) - 1
 restore_data:
-        lda    backup,x
-        sta    TARGETLOC,x
+        lda     backup,x
+        sta     TARGETLOC,x
         dex
-        bpl    restore_data
+        bpl     restore_data
         rts
index 5b1f64b8c70b2f0344c5ec0b92204cf56d08076c..0c106f406838e735a4f884f3426c006b71c41966 100644 (file)
@@ -8,9 +8,9 @@
 ; Marco van den Heuvel, 2010-01-21
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
 
 
@@ -25,7 +25,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -35,7 +35,7 @@
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -62,83 +62,83 @@ pagecount:      .res    2               ; Number of available pages
 ;
 
 INSTALL:
-               ldx     GR_WINDOW
+        ldx     GR_WINDOW
         cpx     GR_WINDOW
         bne     @notpresent
         inc     GR_WINDOW
-               cpx     GR_WINDOW
-               beq     @notpresent
-
-               lda     #4
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has64k
-               lda     #8
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has128k
-               lda     #16
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has256k
-               lda     #32
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has512k
-               lda     #64
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has1024k
-               lda     #128
-               jsr     check
-               cpy     GR_WINDOW
-               beq     @has2048k
-               ldx     #>16384
+        cpx     GR_WINDOW
+        beq     @notpresent
+
+        lda     #4
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has64k
+        lda     #8
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has128k
+        lda     #16
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has256k
+        lda     #32
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has512k
+        lda     #64
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has1024k
+        lda     #128
+        jsr     check
+        cpy     GR_WINDOW
+        beq     @has2048k
+        ldx     #>16384
         bne     @setok
 
 @has64k:
-               ldx     #>256
-               bne     @setok
+        ldx     #>256
+        bne     @setok
 @has128k:
-               ldx     #>512
-               bne     @setok
+        ldx     #>512
+        bne     @setok
 @has256k:
-               ldx     #>1024
-               bne     @setok
+        ldx     #>1024
+        bne     @setok
 @has512k:
-               ldx     #>2048
-               bne     @setok
+        ldx     #>2048
+        bne     @setok
 @has1024k:
-               ldx     #>4096
-               bne     @setok
+        ldx     #>4096
+        bne     @setok
 @has2048k:
-               ldx     #>8192
-               bne     @setok
+        ldx     #>8192
+        bne     @setok
 
 @notpresent:
-               lda     #<EM_ERR_NO_DEVICE
-               ldx     #>EM_ERR_NO_DEVICE
-       rts
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
+        rts
 
 @setok:
-               lda     #0
-               sta     pagecount
-               stx     pagecount+1
-               lda     #<EM_ERR_OK
-               ldx     #>EM_ERR_OK
-       rts
+        lda     #0
+        sta     pagecount
+        stx     pagecount+1
+        lda     #<EM_ERR_OK
+        ldx     #>EM_ERR_OK
+        rts
 
 check:
-               ldx     #0
-               stx     GR_PAGE_LO
-               stx     GR_PAGE_HI
-               ldy     GR_WINDOW
-               iny
-               sta     GR_PAGE_HI
-               sty     GR_WINDOW
-               ldx     #0
-               stx     GR_PAGE_HI
-;      rts                     ; Run into UNINSTALL instead
+        ldx     #0
+        stx     GR_PAGE_LO
+        stx     GR_PAGE_HI
+        ldy     GR_WINDOW
+        iny
+        sta     GR_PAGE_HI
+        sty     GR_WINDOW
+        ldx     #0
+        stx     GR_PAGE_HI
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
index 533dfaffa2c5afa81d2bf1b94fb516cab458861f..a2a2e4783e65c13c56a9d59962eae29f8512f78a 100644 (file)
@@ -3,13 +3,13 @@
 ; Marco van den Heuvel, 2010-01-24
 ;
 
-        .include       "zeropage.inc"
+        .include        "zeropage.inc"
 
-        .include       "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
-        .macpack       generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 
 ; Driver signature
 
-        .byte  $65, $6d, $64           ; "emd"
-        .byte  EMD_API_VERSION         ; EM API version number
+        .byte   $65, $6d, $64           ; "emd"
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
-        .word  INSTALL
-        .word  UNINSTALL
-        .word  PAGECOUNT
-        .word  MAP
-        .word  USE
-        .word  COMMIT
-        .word  COPYFROM
-        .word  COPYTO
+        .word   INSTALL
+        .word   UNINSTALL
+        .word   PAGECOUNT
+        .word   MAP
+        .word   USE
+        .word   COMMIT
+        .word   COPYFROM
+        .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-IP_WINDOW       = $DF00                ; Address of ISEPIC window
+IP_WINDOW       = $DF00         ; Address of ISEPIC window
 IP_CTRL_BASE    = $DE00
 PAGES           = 8
 
@@ -53,32 +53,32 @@ PAGES           = 8
 ;
 
 INSTALL:
-        lda    #0
-        sta    IP_CTRL_BASE
-        ldx    IP_WINDOW
-        cpx    IP_WINDOW
-        bne    @notpresent
-        inc    IP_WINDOW
-        cpx    IP_WINDOW
-        beq    @notpresent
-        ldx    IP_WINDOW
-        sta    IP_CTRL_BASE+1
+        lda     #0
+        sta     IP_CTRL_BASE
+        ldx     IP_WINDOW
+        cpx     IP_WINDOW
+        bne     @notpresent
+        inc     IP_WINDOW
+        cpx     IP_WINDOW
+        beq     @notpresent
+        ldx     IP_WINDOW
+        sta     IP_CTRL_BASE+1
         inx
-        stx    IP_WINDOW
+        stx     IP_WINDOW
         dex
-        sta    IP_CTRL_BASE
-        cpx    IP_WINDOW
-        beq    @setok
+        sta     IP_CTRL_BASE
+        cpx     IP_WINDOW
+        beq     @setok
 
 @notpresent:
-        lda    #<EM_ERR_NO_DEVICE
-        ldx    #>EM_ERR_NO_DEVICE
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
         rts
 
 @setok:
-        lda    #<EM_ERR_OK
-        ldx    #>EM_ERR_OK
-;       rts                            ; Run into UNINSTALL instead
+        lda     #<EM_ERR_OK
+        ldx     #>EM_ERR_OK
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -93,8 +93,8 @@ UNINSTALL:
 ;
 
 PAGECOUNT:
-        lda    #<PAGES
-        ldx    #>PAGES
+        lda     #<PAGES
+        ldx     #>PAGES
         rts
 
 ; ------------------------------------------------------------------------
@@ -112,9 +112,9 @@ USE     := MAP
 
 MAP:
         tax
-        sta    IP_CTRL_BASE,x
-        lda    #<IP_WINDOW
-        ldx    #>IP_WINDOW
+        sta     IP_CTRL_BASE,x
+        lda     #<IP_WINDOW
+        ldx     #>IP_WINDOW
 
 ; Use the RTS from COMMIT below to save a precious byte of storage
 
@@ -131,7 +131,7 @@ COMMIT:
 ;
 
 COPYFROM:
-        jsr    setup
+        jsr     setup
 
 ; Setup is:
 ;
@@ -142,37 +142,37 @@ COPYFROM:
 ;   - X contains the page offset
 ;   - Y contains zero
 
-        jmp    @L5
+        jmp     @L5
 
 @L1:
-        lda    IP_WINDOW,x
-        sta    (ptr2),y
+        lda     IP_WINDOW,x
+        sta     (ptr2),y
         iny
-        bne    @L2
-        inc    ptr2+1
+        bne     @L2
+        inc     ptr2+1
 @L2:
         inx
-        beq    @L4
+        beq     @L4
 
 ; Bump count and repeat
 
 @L3:
-        inc    ptr3
-        bne    @L1
-        inc    ptr3+1
-        bne    @L1
+        inc     ptr3
+        bne     @L1
+        inc     ptr3+1
+        bne     @L1
         rts
 
 ; Bump page register
 
 @L4:
-        inc    tmp1            ; Bump low page register
+        inc     tmp1            ; Bump low page register
 @L5:
-        stx    tmp2
-        ldx    tmp1
-        sta    IP_CTRL_BASE,x
-        ldx    tmp2
-        jmp    @L3
+        stx     tmp2
+        ldx     tmp1
+        sta     IP_CTRL_BASE,x
+        ldx     tmp2
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -181,7 +181,7 @@ COPYFROM:
 ;
 
 COPYTO:
-        jsr    setup
+        jsr     setup
 
 ; Setup is:
 ;
@@ -192,78 +192,78 @@ COPYTO:
 ;   - X contains the page offset
 ;   - Y contains zero
 
-        jmp    @L5
+        jmp     @L5
 
 @L1:
-        lda    (ptr2),y
-        sta    IP_WINDOW,x
+        lda     (ptr2),y
+        sta     IP_WINDOW,x
         iny
-        bne    @L2
-        inc    ptr2+1
+        bne     @L2
+        inc     ptr2+1
 @L2:
         inx
-        beq    @L4
+        beq     @L4
 
 ; Bump count and repeat
 
 @L3:
-        inc    ptr3
-        bne    @L1
-        inc    ptr3+1
-        bne    @L1
+        inc     ptr3
+        bne     @L1
+        inc     ptr3+1
+        bne     @L1
         rts
 
 ; Bump page register
 
 @L4:
-        inc    tmp1            ; Bump page register
+        inc     tmp1            ; Bump page register
 @L5:
-        stx    tmp2
-        ldx    tmp1
-        sta    IP_CTRL_BASE,x
-        ldx    tmp2
-        jmp    @L3
+        stx     tmp2
+        ldx     tmp1
+        sta     IP_CTRL_BASE,x
+        ldx     tmp2
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
 ; structure and prepare data for the copy
 
 setup:
-        sta    ptr1
-        stx    ptr1+1          ; Save passed pointer
+        sta     ptr1
+        stx     ptr1+1          ; Save passed pointer
 
 ; Get the page number from the struct and remember it.
 
-        ldy    #EM_COPY::PAGE
-        lda    (ptr1),y
-        sta    tmp1
+        ldy     #EM_COPY::PAGE
+        lda     (ptr1),y
+        sta     tmp1
 
 ; Get the buffer pointer into ptr2
 
-        ldy    #EM_COPY::BUF
-        lda    (ptr1),y
-        sta    ptr2
+        ldy     #EM_COPY::BUF
+        lda     (ptr1),y
+        sta     ptr2
         iny
-        lda    (ptr1),y
-        sta    ptr2+1
+        lda     (ptr1),y
+        sta     ptr2+1
 
 ; Get the count, calculate -(count-1) and store it into ptr3
 
-        ldy    #EM_COPY::COUNT
-        lda    (ptr1),y
-        eor    #$FF
-        sta    ptr3
+        ldy     #EM_COPY::COUNT
+        lda     (ptr1),y
+        eor     #$FF
+        sta     ptr3
         iny
-        lda    (ptr1),y
-        eor    #$FF
-        sta    ptr3+1
+        lda     (ptr1),y
+        eor     #$FF
+        sta     ptr3+1
 
 ; Get the page offset into X and clear Y
 
-        ldy    #EM_COPY::OFFS
-        lda    (ptr1),y
+        ldy     #EM_COPY::OFFS
+        lda     (ptr1),y
         tax
-        ldy    #0
+        ldy     #0
 
 ; Done
 
index f176eda494f031f4f5e58cc740d236593e7ab228..1c2961591004a3f8290c7b79605a5877d5a0950a 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-12-02
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
 
 
@@ -22,7 +22,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-BASE   = $D000
-PAGES          = ($10000 - BASE) / 256
+BASE    = $D000
+PAGES   = ($10000 - BASE) / 256
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -88,18 +88,18 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:    sta     curpage                        ; Remember the new page
+MAP:    sta     curpage                 ; Remember the new page
 
         clc
-        adc    #>BASE
-        sta    ptr1+1
-        ldy    #$00
-        sty            ptr1
+        adc     #>BASE
+        sta     ptr1+1
+        ldy     #$00
+        sty     ptr1
 
-        lda    #<window
-        sta    ptr2
-        lda    #>window
-        sta    ptr2+1
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
 ; Transfer one page
 
@@ -122,36 +122,36 @@ USE:    sta     curpage                 ; Remember the page
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
-COMMIT: lda     curpage                        ; Get the current page
+COMMIT: lda     curpage                 ; Get the current page
         bmi     done                    ; Jump if no page mapped
 
         clc
-        adc    #>BASE
-        sta    ptr2+1
-        ldy    #$00
-        sty            ptr2
+        adc     #>BASE
+        sta     ptr2+1
+        ldy     #$00
+        sty     ptr2
 
-        lda    #<window
-        sta    ptr1
-        lda    #>window
-        sta    ptr1+1
+        lda     #<window
+        sta     ptr1
+        lda     #>window
+        sta     ptr1+1
 
 ; Transfer one page. Y must be zero on entry
 
 transfer:
-        ldx            $01                     ; Remember c64 control port
+        ldx     $01                     ; Remember c64 control port
         txa
-        and     #$F8                           ; Bank out ROMs, I/O
+        and     #$F8                    ; Bank out ROMs, I/O
         sei
-        sta            $01
+        sta     $01
 
 ; Unroll the following loop
 
-loop:  .repeat 8
-       lda     (ptr1),y
-        sta    (ptr2),y
+loop:   .repeat 8
+        lda     (ptr1),y
+        sta     (ptr2),y
         iny
-       .endrepeat
+        .endrepeat
 
         bne     loop
 
@@ -162,7 +162,7 @@ loop:       .repeat 8
 
 ; Done
 
-done:   rts              
+done:   rts               
 
 ; ------------------------------------------------------------------------
 ; COPYFROM: Copy from extended into linear memory. A pointer to a structure
@@ -173,7 +173,7 @@ done:   rts
 COPYFROM:
         sta     ptr3
         stx     ptr3+1                  ; Save the passed em_copy pointer
-                      
+                       
         ldy     #EM_COPY::OFFS
         lda     (ptr3),y
         sta     ptr1
@@ -213,15 +213,15 @@ common: ldy     #EM_COPY::COUNT+1
 
         lda     $01                     ; Remember c64 control port
         pha
-        and     #$F8                           ; Bank out ROMs, I/O
+        and     #$F8                    ; Bank out ROMs, I/O
         sei
-        sta            $01
+        sta     $01
 
 ; Transfer the bytes in the last page
 
         ldy     #$00
-@L3:    lda    (ptr1),y
-        sta    (ptr2),y
+@L3:    lda     (ptr1),y
+        sta     (ptr2),y
         iny
         dex
         bne     @L3
index 43e42af3b6c0c468f0e9e39e080520857943e08e..b4192e74bf4c99bafd3ded076069d9ac768ef868 100644 (file)
@@ -7,10 +7,10 @@
 ;
 
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
         .macpack        generic
@@ -24,7 +24,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -32,9 +32,9 @@
         .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
-       .word   USE
+        .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -61,46 +61,46 @@ pagecount:      .res    2               ; Number of available pages
 ;
 
 INSTALL:
-       ldx     RAMC_WINDOW
-       cpx     RAMC_WINDOW
-       bne     @notpresent
-
-       lda     #0
-       sta     RAMC_PAGE_LO
-       sta     RAMC_PAGE_HI
-       ldx     RAMC_WINDOW
-       cpx     RAMC_WINDOW
-       bne     @notpresent
-       lda     #2
-       sta     RAMC_WINDOW
-       cmp     RAMC_WINDOW
-       beq     @cont
-       cpx     RAMC_WINDOW
-       beq     @readonly
-@cont: ldy     #1
-       sty     RAMC_PAGE_HI
-       sty     RAMC_WINDOW
-       dey
-       sty     RAMC_PAGE_HI
-       iny
-       cpy     RAMC_WINDOW
-       beq     @rc64
-       ; we're on rc128
-       ldx     #>512
-       bne     @setsize
-@rc64: ldx     #>256
+        ldx     RAMC_WINDOW
+        cpx     RAMC_WINDOW
+        bne     @notpresent
+
+        lda     #0
+        sta     RAMC_PAGE_LO
+        sta     RAMC_PAGE_HI
+        ldx     RAMC_WINDOW
+        cpx     RAMC_WINDOW
+        bne     @notpresent
+        lda     #2
+        sta     RAMC_WINDOW
+        cmp     RAMC_WINDOW
+        beq     @cont
+        cpx     RAMC_WINDOW
+        beq     @readonly
+@cont:  ldy     #1
+        sty     RAMC_PAGE_HI
+        sty     RAMC_WINDOW
+        dey
+        sty     RAMC_PAGE_HI
+        iny
+        cpy     RAMC_WINDOW
+        beq     @rc64
+        ; we're on rc128
+        ldx     #>512
+        bne     @setsize
+@rc64:  ldx     #>256
 @setsize:
-       lda     #0
-       sta     pagecount
-       stx     pagecount+1
+        lda     #0
+        sta     pagecount
+        stx     pagecount+1
         lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
         rts
 @notpresent:
 @readonly:
-       lda     #<EM_ERR_NO_DEVICE
-       ldx     #>EM_ERR_NO_DEVICE
-;      rts                             ; Run into UNINSTALL instead
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -134,8 +134,8 @@ USE     = MAP
 ; by the driver.
 ;
 
-MAP:    sta    RAMC_PAGE_LO
-       stx     RAMC_PAGE_HI
+MAP:    sta     RAMC_PAGE_LO
+        stx     RAMC_PAGE_HI
         lda     #<RAMC_WINDOW
         ldx     #>RAMC_WINDOW
 
@@ -185,14 +185,14 @@ COPYFROM:
 
 ; Bump page register
 
-@L4:   inc     tmp1
-       bne     @L5
-       inc     tmp2
-@L5:   lda     tmp1
-       sta     RAMC_PAGE_LO
-       lda     tmp2
-       sta     RAMC_PAGE_HI
-       jmp     @L3
+@L4:    inc     tmp1
+        bne     @L5
+        inc     tmp2
+@L5:    lda     tmp1
+        sta     RAMC_PAGE_LO
+        lda     tmp2
+        sta     RAMC_PAGE_HI
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -233,14 +233,14 @@ COPYTO:
 
 ; Bump page register
 
-@L4:   inc     tmp1
-       bne     @L5
-       inc     tmp2
-@L5:   lda     tmp1
-       sta     RAMC_PAGE_LO
-       lda     tmp2
-       sta     RAMC_PAGE_HI
-       jmp     @L3
+@L4:    inc     tmp1
+        bne     @L5
+        inc     tmp2
+@L5:    lda     tmp1
+        sta     RAMC_PAGE_LO
+        lda     tmp2
+        sta     RAMC_PAGE_HI
+        jmp     @L3
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
index 59dbb791337f76019034c4dcedb53c782af7c682..133e0af03cff950c2c1e67e9879c7c5b642f01ba 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-11-29
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
 
 
@@ -22,7 +22,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -32,7 +32,7 @@
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -60,12 +60,12 @@ curpage:        .res    2               ; Current page number
 
 window:         .res    256             ; Memory "window"
 
-reu_params:     .word  $0000           ; Host address, lo, hi
-               .word   $0000           ; Exp  address, lo, hi
-                .byte  $00             ; Expansion  bank no.
-                       .word   $0000           ; # bytes to move, lo, hi
-                       .byte   $00             ; Interrupt mask reg.
-                       .byte   $00             ; Adress control reg.
+reu_params:     .word   $0000           ; Host address, lo, hi
+                .word   $0000           ; Exp  address, lo, hi
+                .byte   $00             ; Expansion  bank no.
+                .word   $0000           ; # bytes to move, lo, hi
+                .byte   $00             ; Interrupt mask reg.
+                .byte   $00             ; Adress control reg.
 
 .code
 
@@ -142,7 +142,7 @@ done:   rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
-                                       
+                                        
 USE:    sta     curpage
         stx     curpage+1               ; Remember the page
         lda     #<window
@@ -220,15 +220,15 @@ transfer1:
 ; Transfer subroutine for the REU. Expects command in Y.
 
 transfer:
-        sty            REU_COMMAND     ; Issue command
+        sty     REU_COMMAND     ; Issue command
 
-        ldy    $01             ; Save the value of the c64 control port...
-        tya                    ;
+        ldy     $01             ; Save the value of the c64 control port...
+        tya                     ;
         and     #$F8            ; Disable ROMs and I/O.
-       sei                     ;
-        sta    $01
+        sei                     ;
+        sta     $01
         lda     REU_TRIGGER     ; Don't change $FF00
-        sta    REU_TRIGGER     ; Start the transfer...
+        sta     REU_TRIGGER     ; Start the transfer...
 
         sty     $01             ; Restore the old configuration
         cli
index be1626b1eb649c18cb3674f3af374f6e1a0df409..a69c68f1535e53e5689b918239c36c509a91b302 100644 (file)
@@ -8,10 +8,10 @@
 ; Marco van den Heuvel, 2010-01-22
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
-        .include       "em-error.inc"
+        .include        "em-kernel.inc"
+        .include        "em-error.inc"
 
 
         .macpack        generic
@@ -25,7 +25,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
         .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
-       .word   USE
+        .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VDC_ADDR_REG     = $D600                 ; VDC address
-VDC_DATA_REG     = $D601                 ; VDC data
+VDC_ADDR_REG      = $D600                 ; VDC address
+VDC_DATA_REG      = $D601                 ; VDC data
 
-VDC_DATA_HI      = 18                    ; used registers
-VDC_DATA_LO      = 19
-VDC_CSET         = 28
-VDC_DATA         = 31
+VDC_DATA_HI       = 18                    ; used registers
+VDC_DATA_LO       = 19
+VDC_CSET          = 28
+VDC_DATA          = 31
 
 ; ------------------------------------------------------------------------
 ; Data.
 
 .data
 
-pagecount:      .word  64                 ; $0000-$3fff as 16k default
-curpage:       .word  $ffff               ; currently mapped-in page (invalid)
+pagecount:      .word  64                  ; $0000-$3fff as 16k default
+curpage:        .word  $ffff               ; currently mapped-in page (invalid)
 
 .bss
 
-window:                .res    256                ; memory window
+window:         .res    256                ; memory window
 
 .code
 
@@ -73,8 +73,8 @@ window:               .res    256                ; memory window
 INSTALL:
         ldx     #0
         ldy     #0
-               lda     #VDC_CSET       ; determine size of RAM...
-               sta     VDC_ADDR_REG
+        lda     #VDC_CSET       ; determine size of RAM...
+        sta     VDC_ADDR_REG
 
 @L0:    bit     VDC_ADDR_REG
         bmi     @present
@@ -82,81 +82,81 @@ INSTALL:
         bne     @L0
         iny
         bne     @L0
-       lda     #<EM_ERR_NO_DEVICE
-       ldx     #>EM_ERR_NO_DEVICE
-       rts
+        lda     #<EM_ERR_NO_DEVICE
+        ldx     #>EM_ERR_NO_DEVICE
+        rts
 
 @present:
-       ldx     #VDC_CSET       ; determine size of RAM...
-       jsr     vdcgetreg
-       sta     tmp1
-       ora     #%00010000
-       jsr     vdcputreg       ; turn on 64k
-
-       jsr     settestadr1     ; save original value of test byte
-       jsr     vdcgetbyte
-       sta     tmp2
-
-       lda     #$55            ; write $55 here
-       ldy     #ptr1
-       jsr     test64k         ; read it here and there
-       lda     #$aa            ; write $aa here
-       ldy     #ptr2
-       jsr     test64k         ; read it here and there
-
-       jsr     settestadr1
-       lda     tmp2
-       jsr     vdcputbyte      ; restore original value of test byte
-
-       lda     ptr1            ; do bytes match?
-       cmp     ptr1+1
-       bne     @have64k
-       lda     ptr2
-       cmp     ptr2+1
-       bne     @have64k
-
-       ldx     #VDC_CSET
-       lda     tmp1
-       jsr     vdcputreg       ; restore 16/64k flag
-       jmp     @endok          ; and leave default values for 16k
+        ldx     #VDC_CSET       ; determine size of RAM...
+        jsr     vdcgetreg
+        sta     tmp1
+        ora     #%00010000
+        jsr     vdcputreg       ; turn on 64k
+
+        jsr     settestadr1     ; save original value of test byte
+        jsr     vdcgetbyte
+        sta     tmp2
+
+        lda     #$55            ; write $55 here
+        ldy     #ptr1
+        jsr     test64k         ; read it here and there
+        lda     #$aa            ; write $aa here
+        ldy     #ptr2
+        jsr     test64k         ; read it here and there
+
+        jsr     settestadr1
+        lda     tmp2
+        jsr     vdcputbyte      ; restore original value of test byte
+
+        lda     ptr1            ; do bytes match?
+        cmp     ptr1+1
+        bne     @have64k
+        lda     ptr2
+        cmp     ptr2+1
+        bne     @have64k
+
+        ldx     #VDC_CSET
+        lda     tmp1
+        jsr     vdcputreg       ; restore 16/64k flag
+        jmp     @endok          ; and leave default values for 16k
 
 @have64k:
-       lda     #<256
-       ldx     #>256
-       sta     pagecount
-       stx     pagecount+1
+        lda     #<256
+        ldx     #>256
+        sta     pagecount
+        stx     pagecount+1
 @endok:
-       lda     #<EM_ERR_OK
+        lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
         rts
 
 test64k:
-       sta     tmp1
-       sty     ptr3
-       lda     #0
-       sta     ptr3+1
-       jsr     settestadr1
-       lda     tmp1
-       jsr     vdcputbyte              ; write $55
-       jsr     settestadr1
-       jsr     vdcgetbyte              ; read here
-       pha
-       jsr     settestadr2
-       jsr     vdcgetbyte              ; and there
-       ldy     #1
-       sta     (ptr3),y
-       pla
-       dey
-       sta     (ptr3),y
-       rts
+        sta     tmp1
+        sty     ptr3
+        lda     #0
+        sta     ptr3+1
+        jsr     settestadr1
+        lda     tmp1
+        jsr     vdcputbyte              ; write $55
+        jsr     settestadr1
+        jsr     vdcgetbyte              ; read here
+        pha
+        jsr     settestadr2
+        jsr     vdcgetbyte              ; and there
+        ldy     #1
+        sta     (ptr3),y
+        pla
+        dey
+        sta     (ptr3),y
+        rts
 
 settestadr1:
-       ldy     #$02                    ; test page 2 (here)
-       .byte   $2c
+        ldy     #$02                    ; test page 2 (here)
+        .byte   $2c
 settestadr2:
-       ldy     #$42                    ; or page 64+2 (there)
-       lda     #0
-       jmp     vdcsetsrcaddr
+        ldy     #$42                    ; or page 64+2 (there)
+        lda     #0
+        jmp     vdcsetsrcaddr
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -164,7 +164,7 @@ settestadr2:
 ;
 
 UNINSTALL:
-       ;on C128 restore font and clear the screen?
+        ;on C128 restore font and clear the screen?
         rts
 
 ; ------------------------------------------------------------------------
@@ -182,42 +182,42 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:   sta     curpage
-       stx     curpage+1
-       sta     ptr1+1
-       ldy     #0
-       sty     ptr1
+MAP:    sta     curpage
+        stx     curpage+1
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
 
-       lda     #<window
-       sta     ptr2
-       lda     #>window
-       sta     ptr2+1
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
-       jsr     transferin
+        jsr     transferin
 
         lda     #<window
         ldx     #>window
-       rts
+        rts
 
 ; copy a single page from (ptr1):VDCRAM to (ptr2):RAM
 
 transferin:
-       lda     ptr1
-       ldy     ptr1+1
-       jsr     vdcsetsrcaddr           ; set source address in VDC
-       ldy     #0
-       ldx     #VDC_DATA
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     VDC_DATA_REG            ; get 2 bytes at a time to speed-up
-       sta     (ptr2),y                ; (in fact up to 8 bytes could be fetched with special VDC config)
-       iny
-       lda     VDC_DATA_REG
-       sta     (ptr2),y
-       iny
-       bne     @L0
-       rts
+        lda     ptr1
+        ldy     ptr1+1
+        jsr     vdcsetsrcaddr           ; set source address in VDC
+        ldy     #0
+        ldx     #VDC_DATA
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     VDC_DATA_REG            ; get 2 bytes at a time to speed-up
+        sta     (ptr2),y                ; (in fact up to 8 bytes could be fetched with special VDC config)
+        iny
+        lda     VDC_DATA_REG
+        sta     (ptr2),y
+        iny
+        bne     @L0
+        rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
@@ -232,36 +232,36 @@ done:   rts
 ; COMMIT: Commit changes in the memory window to extended storage.
 
 COMMIT:
-       lda     curpage                 ; jump if no page mapped
-       ldx     curpage+1
-       bmi     done
-       sta     ptr1+1
-       ldy     #0
-       sty     ptr1
-
-       lda     #<window
-       sta     ptr2
-       lda     #>window
-       sta     ptr2+1
+        lda     curpage                 ; jump if no page mapped
+        ldx     curpage+1
+        bmi     done
+        sta     ptr1+1
+        ldy     #0
+        sty     ptr1
+
+        lda     #<window
+        sta     ptr2
+        lda     #>window
+        sta     ptr2+1
 
 ; fall through to transferout
 
 ; copy a single page from (ptr2):RAM to (ptr1):VDCRAM
 
 transferout:
-       lda     ptr1
-       ldy     ptr1+1
-       jsr     vdcsetsrcaddr           ; set source address in VDC
-       ldy     #0
-       ldx     #VDC_DATA
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     (ptr2),y                ; speedup does not work for writing
-       sta     VDC_DATA_REG
-       iny
-       bne     @L0
-       rts
+        lda     ptr1
+        ldy     ptr1+1
+        jsr     vdcsetsrcaddr           ; set source address in VDC
+        ldy     #0
+        ldx     #VDC_DATA
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     (ptr2),y                ; speedup does not work for writing
+        sta     VDC_DATA_REG
+        iny
+        bne     @L0
+        rts
 
 ; ------------------------------------------------------------------------
 ; COPYFROM: Copy from extended into linear memory. A pointer to a structure
@@ -270,8 +270,8 @@ transferout:
 ;
 
 COPYFROM:
-       jsr     setup
-       beq     @L2                     ; Skip if no full pages
+        jsr     setup
+        beq     @L2                     ; Skip if no full pages
 
 ; Copy full pages
 
@@ -286,18 +286,18 @@ COPYFROM:
 @L2:    ldy     #EM_COPY::COUNT
         lda     (ptr3),y                ; Get bytes in last page
         beq     @L4
-        sta    tmp1
+        sta     tmp1
 
 ; Transfer the bytes in the last page
 
-       ldy     #0
-@L3:   jsr     vdcgetbyte
-       sta     (ptr2),y
-       iny
-       dec     tmp1
-       lda     tmp1
-       bne     @L3
-@L4:   rts
+        ldy     #0
+@L3:    jsr     vdcgetbyte
+        sta     (ptr2),y
+        iny
+        dec     tmp1
+        lda     tmp1
+        bne     @L3
+@L4:    rts
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -306,8 +306,8 @@ COPYFROM:
 ;
 
 COPYTO:
-       jsr     setup
-       beq     @L2                     ; Skip if no full pages
+        jsr     setup
+        beq     @L2                     ; Skip if no full pages
 
 ; Copy full pages
 
@@ -322,52 +322,52 @@ COPYTO:
 @L2:    ldy     #EM_COPY::COUNT
         lda     (ptr3),y                ; Get bytes in last page
         beq     @L4
-        sta    tmp1
+        sta     tmp1
 
 ; Transfer the bytes in the last page
 
-       ldy     #0
-@L3:   lda     (ptr2),y
-       jsr     vdcputbyte
-       iny
-       dec     tmp1
-       lda     tmp1
-       bne     @L3
-@L4:   rts
+        ldy     #0
+@L3:    lda     (ptr2),y
+        jsr     vdcputbyte
+        iny
+        dec     tmp1
+        lda     tmp1
+        bne     @L3
+@L4:    rts
 
 ;-------------------------------------------------------------------------
 ; Helper functions to handle VDC ram
 ;
 
 vdcsetsrcaddr:
-       ldx     #VDC_DATA_LO
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       sta     VDC_DATA_REG
-       dex
-       tya
-       stx     VDC_ADDR_REG
-       sta     VDC_DATA_REG
-       rts
+        ldx     #VDC_DATA_LO
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        sta     VDC_DATA_REG
+        dex
+        tya
+        stx     VDC_ADDR_REG
+        sta     VDC_DATA_REG
+        rts
 
 vdcgetbyte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 vdcgetreg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       lda     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        lda     VDC_DATA_REG
+        rts
 
 vdcputbyte:
-       ldx     #VDC_DATA
+        ldx     #VDC_DATA
 vdcputreg:
-       stx     VDC_ADDR_REG
-@L0:   bit     VDC_ADDR_REG
-       bpl     @L0
-       sta     VDC_DATA_REG
-       rts
+        stx     VDC_ADDR_REG
+@L0:    bit     VDC_ADDR_REG
+        bpl     @L0
+        sta     VDC_DATA_REG
+        rts
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
@@ -375,7 +375,7 @@ vdcputreg:
 ;
 
 setup:
-       sta     ptr3
+        sta     ptr3
         stx     ptr3+1                  ; Save the passed em_copy pointer
 
         ldy     #EM_COPY::OFFS
@@ -392,8 +392,8 @@ setup:
         lda     (ptr3),y
         sta     ptr2+1                  ; To
 
-       ldy     #EM_COPY::COUNT+1
+        ldy     #EM_COPY::COUNT+1
         lda     (ptr3),y                ; Get number of pages
         sta     tmp1
-       rts
+        rts
 
index 72a6bdc7a20c828c5e765e7c66ae8e69e7c86103..555b0b95a7c40086d24f9b4b656ab9e9ddae0b45 100644 (file)
@@ -6,11 +6,11 @@
 ;
 
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
-       .import _get_ostype
+        .import _get_ostype
 
 
         .macpack        generic
@@ -24,7 +24,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -34,7 +34,7 @@
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -58,10 +58,10 @@ window:         .res    256             ; Memory "window"
 ; The MAP and COMMIT entries will actually call COPYFROM/COPYTO with
 ; a pointer to the following data structure:
 
-dma_params:     .word          window          ; Host address
+dma_params:     .word   window          ; Host address
                 .byte   0               ; Offset in page
-curpage:        .word          $0000           ; Page
-                       .word   .sizeof (window); # bytes to move, lo, hi
+curpage:        .word   $0000           ; Page
+                .word   .sizeof (window); # bytes to move, lo, hi
 
 .code
 
index 4058e116ef830d9b6ef8679220f2ffc2842c2035..cddb5842a4e0dae8f0ba6cd6a9492df787973132 100644 (file)
 ; $FF C64DTV
 ;
 
-       .export         _get_ostype
+        .export         _get_ostype
 
-.proc  _get_ostype
+.proc   _get_ostype
 
-       ldx     #0            ; Clear high byte
+        ldx     #0            ; Clear high byte
 
-               ldy     #1
-       sty     $d03f
-       ldy     $d040
-       cpy     $d000
-       bne     @c64dtv
-       inc     $d000
-       cpy     $d040
-       beq     @c64dtv
+        ldy     #1
+        sty     $d03f
+        ldy     $d040
+        cpy     $d000
+        bne     @c64dtv
+        inc     $d000
+        cpy     $d040
+        beq     @c64dtv
 
 ; Normal C64
 
-       lda     $ff80
-       rts
+        lda     $ff80
+        rts
 
 ; C64 DTV
 
 @c64dtv:
-               stx     $d03f
-       lda     #$ff
-       rts
+        stx     $d03f
+        lda     #$ff
+        rts
 .endproc
index 97d53b698e3113834579fe8470d600ee8d004758..4f46b8d64fbd0e2391be7c130d6ec2e1f64735b7 100644 (file)
@@ -6,7 +6,7 @@
 ;
 
         .include        "c64.inc"
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
 ;--------------------------------------------------------------------------
 ; _get_tv
index 64e80c18e6b6621b1c9a9897b21485baab41b996..10d03aa2c12b8f0460dd40b7ff163e2fe2727931 100644 (file)
@@ -2,48 +2,48 @@
 ; IRQ handling (C64 version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     IRQVec
-       ldx     IRQVec+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       jmp     setvec
+        lda     IRQVec
+        ldx     IRQVec+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        jmp     setvec
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     IRQInd+1
-       ldx     IRQInd+2
-setvec:        sei
-       sta     IRQVec
-       stx     IRQVec+1
-       cli
-       rts
+        lda     IRQInd+1
+        ldx     IRQInd+2
+setvec: sei
+        sta     IRQVec
+        stx     IRQVec+1
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       jsr     callirq                 ; Call the functions
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        jsr     callirq                 ; Call the functions
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
 
 ; ------------------------------------------------------------------------
 
 .data
 
-IRQInd:        jmp     $0000
+IRQInd: jmp     $0000
index ae09182dc3b5f4231c35f1eb62948f1c1e8d636d..637244b87c2cb4e160054317d41fe7fa6bee5f69 100644 (file)
@@ -20,8 +20,8 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79  ; "joy"
-        .byte   JOY_API_VERSION        ; Driver API version number
+        .byte   $6A, $6F, $79   ; "joy"
+        .byte   JOY_API_VERSION ; Driver API version number
 
 ; Button state masks (8 values)
 
@@ -52,8 +52,8 @@ JOY_COUNT       = 4             ; Number of joysticks we support
 
 .bss
 
-temp3:         .byte 0
-temp4: .byte 0
+temp3:  .byte 0
+temp4:  .byte 0
 
 .code
 
@@ -193,16 +193,16 @@ joy1:   lda #$7F
 joy2:   dex
         bne joy3
 
-        ; ldx  #0
-        lda    #$E0
-        ldy    #$FF
+        ; ldx   #0
+        lda     #$E0
+        ldy     #$FF
         sei
-        sta    CIA1_DDRA
-        lda    CIA1_PRA
-        sty    CIA1_DDRA
+        sta     CIA1_DDRA
+        lda     CIA1_PRA
+        sty     CIA1_DDRA
         cli
-        and    #$1F
-        eor    #$1F
+        and     #$1F
+        eor     #$1F
         rts
 
         ; Read joystick 3
@@ -211,13 +211,13 @@ joy3:   dex
         bne     joy4
 
         lda     temp3
-        eor    #$1F
+        eor     #$1F
         rts
 
         ; Read joystick 4
 
 joy4:   lda     temp4
-        eor    #$1F
+        eor     #$1F
         ldx     #0
         rts
 
index a224be57a859e913013f7e265b8a44122a185236..28fd7e2b090d98cde5a013293b5127cc3afe56e4 100644 (file)
@@ -6,48 +6,48 @@
 ; Based on Ullrich von Bassewitz, 2002-12-20
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
-       .include        "joy-error.inc"
-       .include        "c64.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+        .include        "c64.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79           ; "joy"
-       .byte   JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $02                     ; JOY_UP        "8"
-       .byte   $10                     ; JOY_DOWN      "2"
-       .byte   $20                     ; JOY_LEFT      "4"
-       .byte   $08                     ; JOY_RIGHT     "6"
-       .byte   $04                     ; JOY_FIRE      "5" ENTER
-       .byte   $00                     ; JOY_FIRE2 unavailable
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
+        .byte   $02                     ; JOY_UP        "8"
+        .byte   $10                     ; JOY_DOWN      "2"
+        .byte   $20                     ; JOY_LEFT      "4"
+        .byte   $08                     ; JOY_RIGHT     "6"
+        .byte   $04                     ; JOY_FIRE      "5" ENTER
+        .byte   $00                     ; JOY_FIRE2 unavailable
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
 
 ; Jump table.
 
-               .addr   INSTALL
-               .addr   UNINSTALL
-               .addr   COUNT
-               .addr   READ
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READ
         .addr   0                       ; IRQ entry unused
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 1             ; Number of joysticks we support
+JOY_COUNT       = 1             ; Number of joysticks we support
 
 
 ; ------------------------------------------------------------------------
@@ -71,7 +71,7 @@ INSTALL:
         lda     #JOY_ERR_NO_DEVICE      ; No C128 -> no numpad
 @C128:  ldx     #0                      ; Set high byte
 
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -79,37 +79,37 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
 ; COUNT: Return the total number of available joysticks in a/x.
 ;
 
-COUNT:  lda    #JOY_COUNT
-       ldx     #0
-       rts
+COUNT:  lda     #JOY_COUNT
+        ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:  tax                     ; Clear high byte
-       lda     #$FD
-       ldy     #$FE
-       sei
-       sta     VIC_KBD_128
-       lda     CIA1_PRB
-       and     #%00110000
-       eor     #%00110000
-       lsr
-       lsr
-       sty     VIC_KBD_128
-       eor     CIA1_PRB
-       iny
-       sty     VIC_KBD_128     ; Reset to $FF
-       cli
-       and     #%11111110
-       eor     #%11111110
-       rts
+READ:   tax                     ; Clear high byte
+        lda     #$FD
+        ldy     #$FE
+        sei
+        sta     VIC_KBD_128
+        lda     CIA1_PRB
+        and     #%00110000
+        eor     #%00110000
+        lsr
+        lsr
+        sty     VIC_KBD_128
+        eor     CIA1_PRB
+        iny
+        sty     VIC_KBD_128     ; Reset to $FF
+        cli
+        and     #%11111110
+        eor     #%11111110
+        rts
 
index b4314968e1ddfeaa31505e0d86e650d3c04636c7..0b0e80e626710deea04e9828d99ebeeb3ba98417 100644 (file)
@@ -21,7 +21,7 @@
 ; Driver signature
 
         .byte   $6A, $6F, $79   ; "joy"
-        .byte   JOY_API_VERSION        ; Driver API version number
+        .byte   JOY_API_VERSION ; Driver API version number
 
 ; Button state masks (8 values)
 
@@ -60,7 +60,7 @@ JOY_COUNT       = 4             ; Number of joysticks we support
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -84,18 +84,18 @@ COUNT:
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:   tax                    ; Joystick number into X
+READ:   tax                     ; Joystick number into X
         bne     joy2
 
 ; Read joystick 1
 
-joy1:   lda    #$7F
+joy1:   lda     #$7F
         sei
-        sta    CIA1_PRA
-        lda    CIA1_PRB
+        sta     CIA1_PRA
+        lda     CIA1_PRB
         cli
-        and    #$1F
-        eor    #$1F
+        and     #$1F
+        eor     #$1F
         rts
 
 ; Read joystick 2
@@ -103,15 +103,15 @@ joy1:   lda       #$7F
 joy2:   dex
         bne     joy3
 
-        lda    #$E0
-        ldy    #$FF
+        lda     #$E0
+        ldy     #$FF
         sei
-        sta    CIA1_DDRA
-        lda    CIA1_PRA
-        sty    CIA1_DDRA
+        sta     CIA1_DDRA
+        lda     CIA1_PRA
+        sty     CIA1_DDRA
         cli
-        and    #$1F
-        eor    #$1F
+        and     #$1F
+        eor     #$1F
         rts
 
 ; Read joystick 3
index 8bbd7bbf8e596d8bf611ad491973e7857f3598ce..dc9434f4c2db74cc206412cb07b79011d1e49cae 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-12-20
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "c64.inc"
 
@@ -21,8 +21,8 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79          ; "joy"
-        .byte   JOY_API_VERSION                ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
@@ -66,7 +66,7 @@ INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
 
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -90,32 +90,32 @@ COUNT:
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:   tax                    ; Joystick number into X
-       bne     joy2
+READ:   tax                     ; Joystick number into X
+        bne     joy2
 
 ; Read joystick 1
 
-joy1:  lda     #$7F
-       sei
-       sta     CIA1_PRA
-       lda     CIA1_PRB
-       cli
-       and     #$1F
-       eor     #$1F
-       rts
+joy1:   lda     #$7F
+        sei
+        sta     CIA1_PRA
+        lda     CIA1_PRB
+        cli
+        and     #$1F
+        eor     #$1F
+        rts
 
 ; Read joystick 2
 
-joy2:  ldx     #0
-       lda     #$E0
-       ldy     #$FF
-       sei
-       sta     CIA1_DDRA
-       lda     CIA1_PRA
-       sty     CIA1_DDRA
-       cli
-       and     #$1F
-       eor     #$1F
-       rts
+joy2:   ldx     #0
+        lda     #$E0
+        ldy     #$FF
+        sei
+        sta     CIA1_DDRA
+        lda     CIA1_PRA
+        sty     CIA1_DDRA
+        cli
+        and     #$1F
+        eor     #$1F
+        rts
 
 
index 7de5c7a1f70daaacd6d37641061d0fdc77bfa99e..60a0630354c0295e98ec570d56317128e94f162f 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _c64_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _c64_stdjoy_joy
 
 .rodata
 
index 01f5c9c399ab6c61e40f527632369808adf83870..5845437edce45ad19e4a79312c0777bf9dc349d1 100644 (file)
@@ -6,9 +6,9 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "c64-stdjoy.joy"
+_joy_stddrv:    .asciiz "c64-stdjoy.joy"
 
index 9fa04b5501db7d2b478835577e5bffd08b650076..17e5c6fc16c84773aaa0a933c0fef74287b3ffb3 100644 (file)
@@ -4,15 +4,15 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-       lda     KEY_COUNT       ; Get number of characters
+        lda     KEY_COUNT       ; Get number of characters
         beq     L9
         lda     #1
 L9:     rts
index 22160c911865850d336f88f6fdb14062e9391902..a4eaad0d7e3f0ce8e15215d65c2b948ce821e911 100644 (file)
 ;-----------------------------------------------------------------------------
 ; All functions are available in the kernal jump table
 
-CINT           = $FF81
-IOINIT         = $FF84
-RAMTAS         = $FF87
-RESTOR         = $FF8A
-VECTOR         = $FF8D
-SETMSG         = $FF90
-SECOND         = $FF93
-TKSA           = $FF96
-MEMTOP         = $FF99
-MEMBOT         = $FF9C
-SCNKEY         = $FF9F
-SETTMO         = $FFA2
-ACPTR          = $FFA5
-CIOUT          = $FFA8
-UNTLK          = $FFAB
-UNLSN          = $FFAE
-LISTEN         = $FFB1
-TALK           = $FFB4
-READST         = $FFB7
-SETLFS         = $FFBA
-SETNAM         = $FFBD
-OPEN           = $FFC0
-CLOSE          = $FFC3
-CHKIN          = $FFC6
-CKOUT          = $FFC9
-CLRCH          = $FFCC
-BASIN          = $FFCF
-BSOUT          = $FFD2
-LOAD           = $FFD5
-SAVE           = $FFD8
-SETTIM         = $FFDB
-RDTIM          = $FFDE
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-UDTIM          = $FFEA
-SCREEN         = $FFED
-IOBASE         = $FFF3
+CINT            = $FF81
+IOINIT          = $FF84
+RAMTAS          = $FF87
+RESTOR          = $FF8A
+VECTOR          = $FF8D
+SETMSG          = $FF90
+SECOND          = $FF93
+TKSA            = $FF96
+MEMTOP          = $FF99
+MEMBOT          = $FF9C
+SCNKEY          = $FF9F
+SETTMO          = $FFA2
+ACPTR           = $FFA5
+CIOUT           = $FFA8
+UNTLK           = $FFAB
+UNLSN           = $FFAE
+LISTEN          = $FFB1
+TALK            = $FFB4
+READST          = $FFB7
+SETLFS          = $FFBA
+SETNAM          = $FFBD
+OPEN            = $FFC0
+CLOSE           = $FFC3
+CHKIN           = $FFC6
+CKOUT           = $FFC9
+CLRCH           = $FFCC
+BASIN           = $FFCF
+BSOUT           = $FFD2
+LOAD            = $FFD5
+SAVE            = $FFD8
+SETTIM          = $FFDB
+RDTIM           = $FFDE
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+UDTIM           = $FFEA
+SCREEN          = $FFED
+IOBASE          = $FFF3
 
index 6b2f624bf2f572a9528fbe14b1b086028eebcf1a..1c9031eb0b5df4991b969ab0804e3b735d9e1463 100644 (file)
 ; - The "file-name" might be a path-name; don't copy the directory-components.
 ; - Add a control-character quoting mechanism.
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $8f                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $8f                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run
@@ -45,25 +45,25 @@ initmainargs:
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     FNAM_LEN
-       cpy     #NAME_LEN + 1
-       bcc     L1
-       ldy     #NAME_LEN - 1   ; limit the length
-L0:    lda     (FNAM),y
-       sta     name,y
-L1:    dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        ldy     FNAM_LEN
+        cpy     #NAME_LEN + 1
+        bcc     L1
+        ldy     #NAME_LEN - 1   ; limit the length
+L0:     lda     (FNAM),y
+        sta     name,y
+L1:     dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-               beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
@@ -89,11 +89,11 @@ setterm:sta     term            ; Set end of argument marker
 ; necessary.
 
         txa                     ; Get low byte
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       lda     #>BASIC_BUF
-       sta     argv,y
-       iny
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        lda     #>BASIC_BUF
+        sta     argv,y
+        iny
         inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
@@ -120,21 +120,21 @@ argloop:lda     BASIC_BUF,x
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
-       rts
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
+        rts
 
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
 argv:   .addr   name
-        .res           MAXARGS * 2
+        .res    MAXARGS * 2
 
index f9af34f7828d43c7b90cce6a4fa3ff6ccc083de1..96c7c9ef44d0f6e579a5a3516084fa024b343c71 100644 (file)
@@ -64,13 +64,13 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
         txa
         adc     #0
         bne     @L1                     ; Branch if high byte not zero
-       lda     VIC_SPR_HI_X            ; Get high X bits of all sprites
-       and     #MOUSE_SPR_NMASK        ; Clear high bit for sprite
+        lda     VIC_SPR_HI_X            ; Get high X bits of all sprites
+        and     #MOUSE_SPR_NMASK        ; Clear high bit for sprite
         sta     VIC_SPR_HI_X
         rts
 
-@L1:    lda    VIC_SPR_HI_X            ; Get high X bits of all sprites
-               ora     #MOUSE_SPR_MASK         ; Set high bit for sprite
+@L1:    lda     VIC_SPR_HI_X            ; Get high X bits of all sprites
+        ora     #MOUSE_SPR_MASK         ; Set high bit for sprite
         sta     VIC_SPR_HI_X
         rts
 
@@ -83,7 +83,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 .proc   movey
 
         add     #50                     ; Y correction (first visible line)
-               sta     VIC_SPR_Y               ; Set Y position
+        sta     VIC_SPR_Y               ; Set Y position
         rts
 
 .endproc
index 8dd5c012c0a2cf6866ddcad995ba4966e0c668d2..7ffc0510e4dc58161f620228c6f360d39dc562ec 100644 (file)
@@ -26,7 +26,7 @@
 
         .include        "zeropage.inc"
         .include        "mouse-kernel.inc"
-       .include        "c64.inc"
+        .include        "c64.inc"
 
         .macpack        generic
 
@@ -72,7 +72,7 @@ CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 ;----------------------------------------------------------------------------
 ; Constants
 
-SCREEN_HEIGHT   = YSIZE * 8 - 1                ; (origin is zero)
+SCREEN_HEIGHT   = YSIZE * 8 - 1         ; (origin is zero)
 SCREEN_WIDTH    = XSIZE * 8 - 1
 
 ;----------------------------------------------------------------------------
@@ -83,19 +83,19 @@ SCREEN_WIDTH    = XSIZE * 8 - 1
 .bss
 
 Vars:
-OldPotX:       .res    1               ; Old hw counter values
-OldPotY:       .res    1
+OldPotX:        .res    1               ; Old hw counter values
+OldPotY:        .res    1
 
 XPos:           .res    2               ; Current mouse position, X
 YPos:           .res    2               ; Current mouse position, Y
-XMin:          .res    2               ; X1 value of bounding box
-YMin:          .res    2               ; Y1 value of bounding box
-XMax:          .res    2               ; X2 value of bounding box
-YMax:          .res    2               ; Y2 value of bounding box
-Buttons:       .res    1               ; button status bits
+XMin:           .res    2               ; X1 value of bounding box
+YMin:           .res    2               ; Y1 value of bounding box
+XMax:           .res    2               ; X2 value of bounding box
+YMax:           .res    2               ; Y2 value of bounding box
+Buttons:        .res    1               ; button status bits
 
-OldValue:      .res    1               ; Temp for MoveCheck routine
-NewValue:      .res    1               ; Temp for MoveCheck routine
+OldValue:       .res    1               ; Temp for MoveCheck routine
+NewValue:       .res    1               ; Temp for MoveCheck routine
 
 ; Default values for above variables
 
@@ -111,7 +111,7 @@ NewValue:   .res    1               ; Temp for MoveCheck routine
         .word   0                       ; YMin
         .word   SCREEN_WIDTH            ; XMax
         .word   SCREEN_HEIGHT           ; YMax
-       .byte   %00000000               ; Buttons
+        .byte   %00000000               ; Buttons
 .endproc
 
 .code
@@ -200,7 +200,7 @@ SETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
@@ -214,7 +214,7 @@ GETBOX: sta     ptr1
         sta     (ptr1),y
         dey
         bpl     @L1
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
@@ -238,42 +238,42 @@ MOVE:   sei                             ; No interrupts
         lda     (sp),y
         sta     XPos                    ; New X position
 
-        jsr     CMOVEX                 ; Move the cursor
+        jsr     CMOVEX                  ; Move the cursor
 
-       cli                             ; Allow interrupts
-               rts
+        cli                             ; Allow interrupts
+        rts
 
 ;----------------------------------------------------------------------------
 ; BUTTONS: Return the button mask in a/x.
 
 BUTTONS:
-       lda     Buttons
+        lda     Buttons
         ldx     #0
-       and     #$1F
+        and     #$1F
         rts
 
 ;----------------------------------------------------------------------------
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 
-POS:    ldy            #MOUSE_POS::XCOORD      ; Structure offset
+POS:    ldy     #MOUSE_POS::XCOORD      ; Structure offset
 
-       sei                             ; Disable interrupts
-       lda     XPos                    ; Transfer the position
-       sta     (ptr1),y
-       lda     XPos+1
-       iny
-       sta     (ptr1),y
-       lda     YPos
+        sei                             ; Disable interrupts
+        lda     XPos                    ; Transfer the position
+        sta     (ptr1),y
+        lda     XPos+1
+        iny
+        sta     (ptr1),y
+        lda     YPos
         iny
         sta     (ptr1),y
-       lda     YPos+1
-       cli                             ; Enable interrupts
+        lda     YPos+1
+        cli                             ; Enable interrupts
 
         iny
         sta     (ptr1),y                ; Store last byte
 
-       rts                             ; Done
+        rts                             ; Done
 
 ;----------------------------------------------------------------------------
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
@@ -284,15 +284,15 @@ POS:    ldy       #MOUSE_POS::XCOORD      ; Structure offset
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-INFO:   jsr    POS
+INFO:   jsr     POS
 
 ; Fill in the button state
 
-       jsr     BUTTONS                 ; Will not touch ptr1
-       ldy     #MOUSE_INFO::BUTTONS
-       sta     (ptr1),y
+        jsr     BUTTONS                 ; Will not touch ptr1
+        ldy     #MOUSE_INFO::BUTTONS
+        sta     (ptr1),y
 
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -316,51 +316,51 @@ IRQ:
 ; Record the state of the buttons.
 ; Avoid crosstalk between the keyboard and the mouse.
 
-       ldy     #%00000000              ; Set ports A and B to input
-       sty     CIA1_DDRB
-       sty     CIA1_DDRA               ; Keyboard won't look like mouse
-       lda     CIA1_PRB                ; Read Control-Port 1
-       dec     CIA1_DDRA               ; Set port A back to output
-       eor     #%11111111              ; Bit goes up when button goes down
-       sta     Buttons
-       beq     @L0                     ;(bze)
-       dec     CIA1_DDRB               ; Mouse won't look like keyboard
-       sty     CIA1_PRB                ; Set "all keys pushed"
-
-@L0:    lda    SID_ADConv1             ; Get mouse X movement
-       ldy     OldPotX
-       jsr     MoveCheck               ; Calculate movement vector
+        ldy     #%00000000              ; Set ports A and B to input
+        sty     CIA1_DDRB
+        sty     CIA1_DDRA               ; Keyboard won't look like mouse
+        lda     CIA1_PRB                ; Read Control-Port 1
+        dec     CIA1_DDRA               ; Set port A back to output
+        eor     #%11111111              ; Bit goes up when button goes down
+        sta     Buttons
+        beq     @L0                     ;(bze)
+        dec     CIA1_DDRB               ; Mouse won't look like keyboard
+        sty     CIA1_PRB                ; Set "all keys pushed"
+
+@L0:    lda     SID_ADConv1             ; Get mouse X movement
+        ldy     OldPotX
+        jsr     MoveCheck               ; Calculate movement vector
 
 ; Skip processing if nothing has changed
 
         bcc     @SkipX
-       sty     OldPotX
+        sty     OldPotX
 
 ; Calculate the new X coordinate (--> a/y)
 
-               add     XPos
-       tay                             ; Remember low byte
-       txa
-       adc     XPos+1
-       tax
+        add     XPos
+        tay                             ; Remember low byte
+        txa
+        adc     XPos+1
+        tax
 
 ; Limit the X coordinate to the bounding box
 
-       cpy     XMin
-       sbc     XMin+1
-       bpl     @L1
-               ldy     XMin
-               ldx     XMin+1
-       jmp     @L2
-@L1:   txa
-
-       cpy     XMax
-       sbc     XMax+1
-       bmi     @L2
-       ldy     XMax
-       ldx     XMax+1
-@L2:   sty     XPos
-       stx     XPos+1
+        cpy     XMin
+        sbc     XMin+1
+        bpl     @L1
+        ldy     XMin
+        ldx     XMin+1
+        jmp     @L2
+@L1:    txa
+
+        cpy     XMax
+        sbc     XMax+1
+        bmi     @L2
+        ldy     XMax
+        ldx     XMax+1
+@L2:    sty     XPos
+        stx     XPos+1
 
 ; Move the mouse pointer to the new X pos
 
@@ -369,43 +369,43 @@ IRQ:
 
 ; Calculate the Y movement vector
 
-@SkipX: lda    SID_ADConv2             ; Get mouse Y movement
-       ldy     OldPotY
-       jsr     MoveCheck               ; Calculate movement
+@SkipX: lda     SID_ADConv2             ; Get mouse Y movement
+        ldy     OldPotY
+        jsr     MoveCheck               ; Calculate movement
 
 ; Skip processing if nothing has changed
 
         bcc     @SkipY
-       sty     OldPotY
+        sty     OldPotY
 
 ; Calculate the new Y coordinate (--> a/y)
 
-       sta     OldValue
-       lda     YPos
-       sub     OldValue
-       tay
-       stx     OldValue
-       lda     YPos+1
-       sbc     OldValue
-       tax
+        sta     OldValue
+        lda     YPos
+        sub     OldValue
+        tay
+        stx     OldValue
+        lda     YPos+1
+        sbc     OldValue
+        tax
 
 ; Limit the Y coordinate to the bounding box
 
-       cpy     YMin
-       sbc     YMin+1
-       bpl     @L3
-               ldy     YMin
-               ldx     YMin+1
-       jmp     @L4
-@L3:   txa
-
-       cpy     YMax
-       sbc     YMax+1
-       bmi     @L4
-       ldy     YMax
-       ldx     YMax+1
-@L4:   sty     YPos
-       stx     YPos+1
+        cpy     YMin
+        sbc     YMin+1
+        bpl     @L3
+        ldy     YMin
+        ldx     YMin+1
+        jmp     @L4
+@L3:    txa
+
+        cpy     YMax
+        sbc     YMax+1
+        bmi     @L4
+        ldy     YMax
+        ldx     YMax+1
+@L4:    sty     YPos
+        stx     YPos+1
 
 ; Move the mouse pointer to the new Y pos
 
@@ -421,38 +421,38 @@ IRQ:
 ;
 ; Move check routine, called for both coordinates.
 ;
-; Entry:       y = old value of pot register
-;              a = current value of pot register
-; Exit:                y = value to use for old value
-;              x/a = delta value for position
+; Entry:        y = old value of pot register
+;               a = current value of pot register
+; Exit:         y = value to use for old value
+;               x/a = delta value for position
 ;
 
 MoveCheck:
-       sty     OldValue
-       sta     NewValue
-       ldx     #$00
-
-       sub     OldValue                ; a = mod64 (new - old)
-       and     #%01111111
-       cmp     #%01000000              ; if (a > 0)
-       bcs     @L1                     ;
-       lsr     a                       ;   a /= 2;
-       beq     @L2                     ;   if (a != 0)
-       ldy     NewValue                ;     y = NewValue
+        sty     OldValue
+        sta     NewValue
+        ldx     #$00
+
+        sub     OldValue                ; a = mod64 (new - old)
+        and     #%01111111
+        cmp     #%01000000              ; if (a > 0)
+        bcs     @L1                     ;
+        lsr     a                       ;   a /= 2;
+        beq     @L2                     ;   if (a != 0)
+        ldy     NewValue                ;     y = NewValue
+        sec
+        rts                             ;   return
+
+@L1:    ora     #%11000000              ; else, "or" in high-order bits
+        cmp     #$FF                    ; if (a != -1)
+        beq     @L2
         sec
-       rts                             ;   return
-
-@L1:   ora     #%11000000              ; else, "or" in high-order bits
-       cmp     #$FF                    ; if (a != -1)
-       beq     @L2
-       sec
-       ror     a                       ;   a /= 2
-               dex                             ;   high byte = -1 (X = $FF)
-       ldy     NewValue
+        ror     a                       ;   a /= 2
+        dex                             ;   high byte = -1 (X = $FF)
+        ldy     NewValue
         sec
-       rts
+        rts
 
-@L2:           txa                             ; A = $00
+@L2:    txa                             ; A = $00
         clc
-       rts
+        rts
 
index bd32361298a308a844775db499361352f8750dc9..8390aa37d1da6cb156a648d64dd06c943086fe51 100644 (file)
@@ -25,7 +25,7 @@
 
         .include        "zeropage.inc"
         .include        "mouse-kernel.inc"
-       .include        "c64.inc"
+        .include        "c64.inc"
 
         .macpack        generic
 
@@ -92,11 +92,11 @@ SCREEN_WIDTH    = 320
 Vars:
 YPos:           .res    2               ; Current mouse position, Y
 XPos:           .res    2               ; Current mouse position, X
-XMin:          .res    2               ; X1 value of bounding box
-YMin:          .res    2               ; Y1 value of bounding box
-XMax:          .res    2               ; X2 value of bounding box
-YMax:          .res    2               ; Y2 value of bounding box
-Buttons:       .res    1               ; Button mask
+XMin:           .res    2               ; X1 value of bounding box
+YMin:           .res    2               ; Y1 value of bounding box
+XMax:           .res    2               ; X2 value of bounding box
+YMax:           .res    2               ; Y2 value of bounding box
+Buttons:        .res    1               ; Button mask
 
 ; Temporary value used in the int handler
 
@@ -113,7 +113,7 @@ Temp:           .res    1
         .word   0                       ; YMin
         .word   SCREEN_WIDTH            ; XMax
         .word   SCREEN_HEIGHT           ; YMax
-       .byte   0                       ; Buttons
+        .byte   0                       ; Buttons
 .endproc
 
 .code
@@ -202,7 +202,7 @@ SETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
@@ -218,7 +218,7 @@ GETBOX: sta     ptr1
         dey
         bpl     @L1
 
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
@@ -242,41 +242,41 @@ MOVE:   sei                             ; No interrupts
         lda     (sp),y
         sta     XPos                    ; New X position
 
-        jsr     CMOVEX                 ; Move the cursor
+        jsr     CMOVEX                  ; Move the cursor
 
-       cli                             ; Allow interrupts
-               rts
+        cli                             ; Allow interrupts
+        rts
 
 ;----------------------------------------------------------------------------
 ; BUTTONS: Return the button mask in a/x.
 
 BUTTONS:
-       lda     Buttons
-       ldx     #$00
-       rts
+        lda     Buttons
+        ldx     #$00
+        rts
 
 ;----------------------------------------------------------------------------
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 
-POS:    ldy            #MOUSE_POS::XCOORD      ; Structure offset
+POS:    ldy     #MOUSE_POS::XCOORD      ; Structure offset
 
-       sei                             ; Disable interrupts
-       lda     XPos                    ; Transfer the position
-       sta     (ptr1),y
-       lda     XPos+1
-       iny
-       sta     (ptr1),y
-       lda     YPos
+        sei                             ; Disable interrupts
+        lda     XPos                    ; Transfer the position
+        sta     (ptr1),y
+        lda     XPos+1
         iny
         sta     (ptr1),y
-       lda     YPos+1
-       cli                             ; Enable interrupts
+        lda     YPos
+        iny
+        sta     (ptr1),y
+        lda     YPos+1
+        cli                             ; Enable interrupts
 
         iny
         sta     (ptr1),y                ; Store last byte
 
-       rts                             ; Done
+        rts                             ; Done
 
 ;----------------------------------------------------------------------------
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
@@ -287,15 +287,15 @@ POS:    ldy       #MOUSE_POS::XCOORD      ; Structure offset
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-INFO:   jsr    POS
+INFO:   jsr     POS
 
 ; Fill in the button state
 
-               lda     Buttons
-       ldy     #MOUSE_INFO::BUTTONS
-       sta     (ptr1),y
+        lda     Buttons
+        ldy     #MOUSE_INFO::BUTTONS
+        sta     (ptr1),y
 
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -316,15 +316,15 @@ IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
 
 ; Avoid crosstalk between the keyboard and a joystick.
 
-IRQ:   ldy     #%00000000              ; Set ports A and B to input
-       sty     CIA1_DDRB
-       sty     CIA1_DDRA               ; Keyboard won't look like joystick
-       lda     CIA1_PRB                ; Read Control-Port 1
-       dec     CIA1_DDRA               ; Set port A back to output
-       eor     #%11111111              ; Bit goes up when switch goes down
-       beq     @Save                   ;(bze)
-       dec     CIA1_DDRB               ; Joystick won't look like keyboard
-       sty     CIA1_PRB                ; Set "all keys pushed"
+IRQ:    ldy     #%00000000              ; Set ports A and B to input
+        sty     CIA1_DDRB
+        sty     CIA1_DDRA               ; Keyboard won't look like joystick
+        lda     CIA1_PRB                ; Read Control-Port 1
+        dec     CIA1_DDRA               ; Set port A back to output
+        eor     #%11111111              ; Bit goes up when switch goes down
+        beq     @Save                   ;(bze)
+        dec     CIA1_DDRB               ; Joystick won't look like keyboard
+        sty     CIA1_PRB                ; Set "all keys pushed"
 @Save:  sta     Temp
 
 ; Check for a pressed button and place the result into Buttons
@@ -338,45 +338,45 @@ IRQ:      ldy     #%00000000              ; Set ports A and B to input
 ; Check left/right
 
         lda     Temp                    ; Read joystick #0
-               and     #(JOY::LEFT | JOY::RIGHT)
-        beq     @SkipX                 ;
+        and     #(JOY::LEFT | JOY::RIGHT)
+        beq     @SkipX                  ;
 
 ; We will cheat here and rely on the fact that either the left, OR the right
 ; bit can be active
 
-               and     #JOY::RIGHT             ; Check RIGHT bit
-               bne     @Right
-       lda     #$FF
-       tax
-       bne     @AddX                   ; Branch always
-@Right:        lda     #$01
-       ldx     #$00
+        and     #JOY::RIGHT             ; Check RIGHT bit
+        bne     @Right
+        lda     #$FF
+        tax
+        bne     @AddX                   ; Branch always
+@Right: lda     #$01
+        ldx     #$00
 
 ; Calculate the new X coordinate (--> a/y)
 
 @AddX:  add     XPos
-       tay                             ; Remember low byte
-       txa
-       adc     XPos+1
-       tax
+        tay                             ; Remember low byte
+        txa
+        adc     XPos+1
+        tax
 
 ; Limit the X coordinate to the bounding box
 
-       cpy     XMin
-       sbc     XMin+1
-       bpl     @L1
-               ldy     XMin
-               ldx     XMin+1
-       jmp     @L2
-@L1:   txa
-
-       cpy     XMax
-       sbc     XMax+1
-       bmi     @L2
-       ldy     XMax
-       ldx     XMax+1
-@L2:   sty     XPos
-       stx     XPos+1
+        cpy     XMin
+        sbc     XMin+1
+        bpl     @L1
+        ldy     XMin
+        ldx     XMin+1
+        jmp     @L2
+@L1:    txa
+
+        cpy     XMax
+        sbc     XMax+1
+        bmi     @L2
+        ldy     XMax
+        ldx     XMax+1
+@L2:    sty     XPos
+        stx     XPos+1
 
 ; Move the mouse pointer to the new X pos
 
@@ -386,45 +386,45 @@ IRQ:      ldy     #%00000000              ; Set ports A and B to input
 ; Calculate the Y movement vector
 
 @SkipX: lda     Temp                    ; Read joystick #0
-               and     #(JOY::UP | JOY::DOWN)  ; Check up/down
-        beq     @SkipY                 ;
+        and     #(JOY::UP | JOY::DOWN)  ; Check up/down
+        beq     @SkipY                  ;
 
 ; We will cheat here and rely on the fact that either the up, OR the down
 ; bit can be active
 
-               lsr     a                       ; Check UP bit
-               bcc     @Down
-       lda     #$FF
-       tax
-       bne     @AddY
-@Down: lda     #$01
-       ldx     #$00
+        lsr     a                       ; Check UP bit
+        bcc     @Down
+        lda     #$FF
+        tax
+        bne     @AddY
+@Down:  lda     #$01
+        ldx     #$00
 
 ; Calculate the new Y coordinate (--> a/y)
 
-@AddY:         add     YPos
-       tay                             ; Remember low byte
-       txa
-       adc     YPos+1
-       tax
+@AddY:  add     YPos
+        tay                             ; Remember low byte
+        txa
+        adc     YPos+1
+        tax
 
 ; Limit the Y coordinate to the bounding box
 
-       cpy     YMin
-       sbc     YMin+1
-       bpl     @L3
-               ldy     YMin
-               ldx     YMin+1
-       jmp     @L4
-@L3:   txa
-
-       cpy     YMax
-       sbc     YMax+1
-       bmi     @L4
-       ldy     YMax
-       ldx     YMax+1
-@L4:   sty     YPos
-       stx     YPos+1
+        cpy     YMin
+        sbc     YMin+1
+        bpl     @L3
+        ldy     YMin
+        ldx     YMin+1
+        jmp     @L4
+@L3:    txa
+
+        cpy     YMax
+        sbc     YMax+1
+        bmi     @L4
+        ldy     YMax
+        ldx     YMax+1
+@L4:    sty     YPos
+        stx     YPos+1
 
 ; Move the mouse pointer to the new X pos
 
index b49552ae865160d45cb054aaaa15694ddf9bd3c7..8ee0266e7221be871b1d49208d63e44f47b92b0b 100644 (file)
@@ -5,59 +5,59 @@
 ; Stefan Haubenthal, 2006-08-20
 ;
 
-       .include        "zeropage.inc"
-       .include        "mouse-kernel.inc"
-       .include        "c64.inc"
+        .include        "zeropage.inc"
+        .include        "mouse-kernel.inc"
+        .include        "c64.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 HEADER:
 
 ; Driver signature
 
-       .byte   $6d, $6f, $75           ; "mou"
-       .byte   MOUSE_API_VERSION       ; Mouse driver API version number
+        .byte   $6d, $6f, $75           ; "mou"
+        .byte   MOUSE_API_VERSION       ; Mouse driver API version number
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   HIDE
-       .addr   SHOW
-       .addr   SETBOX
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   HIDE
+        .addr   SHOW
+        .addr   SETBOX
         .addr   GETBOX
-       .addr   MOVE
-       .addr   BUTTONS
-       .addr   POS
-       .addr   INFO
-       .addr   IOCTL
-       .addr   IRQ
+        .addr   MOVE
+        .addr   BUTTONS
+        .addr   POS
+        .addr   INFO
+        .addr   IOCTL
+        .addr   IRQ
 
 ; Callback table, set by the kernel before INSTALL is called
 
-CHIDE: jmp     $0000                   ; Hide the cursor
-CSHOW: jmp     $0000                   ; Show the cursor
-CMOVEX: jmp    $0000                   ; Move the cursor to X coord
-CMOVEY: jmp    $0000                   ; Move the cursor to Y coord
+CHIDE:  jmp     $0000                   ; Hide the cursor
+CSHOW:  jmp     $0000                   ; Show the cursor
+CMOVEX: jmp     $0000                   ; Move the cursor to X coord
+CMOVEY: jmp     $0000                   ; Move the cursor to Y coord
 
 
 ;----------------------------------------------------------------------------
 ; Constants
 
-SCREEN_HEIGHT  = 200
-SCREEN_WIDTH   = 320
+SCREEN_HEIGHT   = 200
+SCREEN_WIDTH    = 320
 
-.enum  JOY
-       UP      = $01
-       DOWN    = $02
-       LEFT    = $04
-       RIGHT   = $08
-       FIRE    = $10
+.enum   JOY
+        UP      = $01
+        DOWN    = $02
+        LEFT    = $04
+        RIGHT   = $08
+        FIRE    = $10
 .endenum
 
 ;----------------------------------------------------------------------------
@@ -68,30 +68,30 @@ SCREEN_WIDTH        = 320
 .bss
 
 Vars:
-YPos:          .res    2               ; Current mouse position, Y
-XPos:          .res    2               ; Current mouse position, X
-XMin:          .res    2               ; X1 value of bounding box
-YMin:          .res    2               ; Y1 value of bounding box
-XMax:          .res    2               ; X2 value of bounding box
-YMax:          .res    2               ; Y2 value of bounding box
-Buttons:       .res    1               ; Button mask
+YPos:           .res    2               ; Current mouse position, Y
+XPos:           .res    2               ; Current mouse position, X
+XMin:           .res    2               ; X1 value of bounding box
+YMin:           .res    2               ; Y1 value of bounding box
+XMax:           .res    2               ; X2 value of bounding box
+YMax:           .res    2               ; Y2 value of bounding box
+Buttons:        .res    1               ; Button mask
 
 ; Temporary value used in the int handler
 
-Temp:          .res    1
+Temp:           .res    1
 
 ; Default values for above variables
 
 .rodata
 
-.proc  DefVars
-       .word   SCREEN_HEIGHT/2         ; YPos
-       .word   SCREEN_WIDTH/2          ; XPos
-       .word   0                       ; XMin
-       .word   0                       ; YMin
-       .word   SCREEN_WIDTH            ; XMax
-       .word   SCREEN_HEIGHT           ; YMax
-       .byte   0                       ; Buttons
+.proc   DefVars
+        .word   SCREEN_HEIGHT/2         ; YPos
+        .word   SCREEN_WIDTH/2          ; XPos
+        .word   0                       ; XMin
+        .word   0                       ; YMin
+        .word   SCREEN_WIDTH            ; XMax
+        .word   SCREEN_HEIGHT           ; YMax
+        .byte   0                       ; Buttons
 .endproc
 
 .code
@@ -105,37 +105,37 @@ INSTALL:
 
 ; Initialize variables. Just copy the default stuff over
 
-       ldx     #.sizeof(DefVars)-1
-@L1:   lda     DefVars,x
-       sta     Vars,x
-       dex
-       bpl     @L1
+        ldx     #.sizeof(DefVars)-1
+@L1:    lda     DefVars,x
+        sta     Vars,x
+        dex
+        bpl     @L1
 
 ; Be sure the mouse cursor is invisible and at the default location. We
 ; need to do that here, because our mouse interrupt handler doesn't set the
 ; mouse position if it hasn't changed.
 
-       sei
-       jsr     CHIDE
-       lda     XPos
-       ldx     XPos+1
-       jsr     CMOVEX
-       lda     YPos
-       ldx     YPos+1
-       jsr     CMOVEY
-       cli
+        sei
+        jsr     CHIDE
+        lda     XPos
+        ldx     XPos+1
+        jsr     CMOVEX
+        lda     YPos
+        ldx     YPos+1
+        jsr     CMOVEY
+        cli
 
 ; Done, return zero (= MOUSE_ERR_OK)
 
-       ldx     #$00
-       txa
-       rts
+        ldx     #$00
+        txa
+        rts
 
 ;----------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
 ; No return code required (the driver is removed from memory on return).
 
-UNINSTALL      = HIDE                  ; Hide cursor on exit
+UNINSTALL       = HIDE                  ; Hide cursor on exit
 
 ;----------------------------------------------------------------------------
 ; HIDE routine. Is called to hide the mouse pointer. The mouse kernel manages
@@ -144,10 +144,10 @@ UNINSTALL = HIDE                  ; Hide cursor on exit
 ; no special action is required besides hiding the mouse cursor.
 ; No return code required.
 
-HIDE:  sei
-       jsr     CHIDE
-       cli
-       rts
+HIDE:   sei
+        jsr     CHIDE
+        cli
+        rts
 
 ;----------------------------------------------------------------------------
 ; SHOW routine. Is called to show the mouse pointer. The mouse kernel manages
@@ -156,10 +156,10 @@ HIDE:     sei
 ; no special action is required besides enabling the mouse cursor.
 ; No return code required.
 
-SHOW:  sei
-       jsr     CSHOW
-       cli
-       rts
+SHOW:   sei
+        jsr     CSHOW
+        cli
+        rts
 
 ;----------------------------------------------------------------------------
 ; SETBOX: Set the mouse bounding box. The parameters are passed as they come
@@ -180,7 +180,7 @@ SETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GETBOX: Return the mouse bounding box. The parameters are passed as they
@@ -198,7 +198,7 @@ GETBOX: sta     ptr1
         bpl     @L1
 
         cli
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; MOVE: Move the mouse to a new position. The position is passed as it comes
@@ -208,55 +208,55 @@ GETBOX: sta     ptr1
 ; the screen). No return code required.
 ;
 
-MOVE:  sei                             ; No interrupts
+MOVE:   sei                             ; No interrupts
 
-       sta     YPos
-       stx     YPos+1                  ; New Y position
-       jsr     CMOVEY                  ; Set it
+        sta     YPos
+        stx     YPos+1                  ; New Y position
+        jsr     CMOVEY                  ; Set it
 
-       ldy     #$01
-       lda     (sp),y
-       sta     XPos+1
-       tax
-       dey
-       lda     (sp),y
-       sta     XPos                    ; New X position
+        ldy     #$01
+        lda     (sp),y
+        sta     XPos+1
+        tax
+        dey
+        lda     (sp),y
+        sta     XPos                    ; New X position
 
-       jsr     CMOVEX                  ; Move the cursor
+        jsr     CMOVEX                  ; Move the cursor
 
-       cli                             ; Allow interrupts
-       rts
+        cli                             ; Allow interrupts
+        rts
 
 ;----------------------------------------------------------------------------
 ; BUTTONS: Return the button mask in a/x.
 
 BUTTONS:
-       lda     Buttons
-       ldx     #$00
-       rts
+        lda     Buttons
+        ldx     #$00
+        rts
 
 ;----------------------------------------------------------------------------
 ; POS: Return the mouse position in the MOUSE_POS struct pointed to by ptr1.
 ; No return code required.
 
-POS:   ldy     #MOUSE_POS::XCOORD      ; Structure offset
+POS:    ldy     #MOUSE_POS::XCOORD      ; Structure offset
 
-       sei                             ; Disable interrupts
-       lda     XPos                    ; Transfer the position
-       sta     (ptr1),y
-       lda     XPos+1
-       iny
-       sta     (ptr1),y
-       lda     YPos
-       iny
-       sta     (ptr1),y
-       lda     YPos+1
-       cli                             ; Enable interrupts
+        sei                             ; Disable interrupts
+        lda     XPos                    ; Transfer the position
+        sta     (ptr1),y
+        lda     XPos+1
+        iny
+        sta     (ptr1),y
+        lda     YPos
+        iny
+        sta     (ptr1),y
+        lda     YPos+1
+        cli                             ; Enable interrupts
 
-       iny
-       sta     (ptr1),y                ; Store last byte
+        iny
+        sta     (ptr1),y                ; Store last byte
 
-       rts                             ; Done
+        rts                             ; Done
 
 ;----------------------------------------------------------------------------
 ; INFO: Returns mouse position and current button mask in the MOUSE_INFO
@@ -267,15 +267,15 @@ POS:      ldy     #MOUSE_POS::XCOORD      ; Structure offset
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-INFO:  jsr     POS
+INFO:   jsr     POS
 
 ; Fill in the button state
 
-       lda     Buttons
-       ldy     #MOUSE_INFO::BUTTONS
-       sta     (ptr1),y
+        lda     Buttons
+        ldy     #MOUSE_INFO::BUTTONS
+        sta     (ptr1),y
 
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -283,108 +283,108 @@ INFO:   jsr     POS
 ; Must return an error code in a/x.
 ;
 
-IOCTL: lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
-       ldx     #>MOUSE_ERR_INV_IOCTL
-       rts
+IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
+        ldx     #>MOUSE_ERR_INV_IOCTL
+        rts
 
 ;----------------------------------------------------------------------------
 ; IRQ: Irq handler entry point. Called as a subroutine but in IRQ context
 ; (so be careful).
 ;
 
-IRQ:   lda     #$7F
-       sta     CIA1_PRA
-       lda     CIA1_PRB                ; Read port #1
-       and     #%00001100
-       eor     #%00001100              ; Make all bits active high
-       asl
-       sta     Buttons
-       lsr
-       lsr
-       lsr
-       and     #%00000001
-       ora     Buttons
-       sta     Buttons
-       ldx     #%01000000
-       stx     CIA1_PRA
-       ldy     #0
-:      dey
-       bne     :-
-       ldx     SID_ADConv1
-       stx     XPos
-       ldx     SID_ADConv2
-       stx     YPos
-
-       lda     #$FF
-       tax
-       bne     @AddX                   ; Branch always
-       lda     #$01
-       ldx     #$00
+IRQ:    lda     #$7F
+        sta     CIA1_PRA
+        lda     CIA1_PRB                ; Read port #1
+        and     #%00001100
+        eor     #%00001100              ; Make all bits active high
+        asl
+        sta     Buttons
+        lsr
+        lsr
+        lsr
+        and     #%00000001
+        ora     Buttons
+        sta     Buttons
+        ldx     #%01000000
+        stx     CIA1_PRA
+        ldy     #0
+:       dey
+        bne     :-
+        ldx     SID_ADConv1
+        stx     XPos
+        ldx     SID_ADConv2
+        stx     YPos
+
+        lda     #$FF
+        tax
+        bne     @AddX                   ; Branch always
+        lda     #$01
+        ldx     #$00
 
 ; Calculate the new X coordinate (--> a/y)
 
-@AddX: add     XPos
-       tay                             ; Remember low byte
-       txa
-       adc     XPos+1
-       tax
+@AddX:  add     XPos
+        tay                             ; Remember low byte
+        txa
+        adc     XPos+1
+        tax
 
 ; Limit the X coordinate to the bounding box
 
-       cpy     XMin
-       sbc     XMin+1
-       bpl     @L1
-       ldy     XMin
-       ldx     XMin+1
-       jmp     @L2
-@L1:   txa
-
-       cpy     XMax
-       sbc     XMax+1
-       bmi     @L2
-       ldy     XMax
-       ldx     XMax+1
-@L2:   sty     XPos
-       stx     XPos+1
+        cpy     XMin
+        sbc     XMin+1
+        bpl     @L1
+        ldy     XMin
+        ldx     XMin+1
+        jmp     @L2
+@L1:    txa
+
+        cpy     XMax
+        sbc     XMax+1
+        bmi     @L2
+        ldy     XMax
+        ldx     XMax+1
+@L2:    sty     XPos
+        stx     XPos+1
 
 ; Move the mouse pointer to the new X pos
 
-       tya
-       jsr     CMOVEX
+        tya
+        jsr     CMOVEX
 
-       lda     #$FF
-       tax
-       bne     @AddY
-@Down: lda     #$01
-       ldx     #$00
+        lda     #$FF
+        tax
+        bne     @AddY
+@Down:  lda     #$01
+        ldx     #$00
 
 ; Calculate the new Y coordinate (--> a/y)
 
-@AddY: add     YPos
-       tay                             ; Remember low byte
-       txa
-       adc     YPos+1
-       tax
+@AddY:  add     YPos
+        tay                             ; Remember low byte
+        txa
+        adc     YPos+1
+        tax
 
 ; Limit the Y coordinate to the bounding box
 
-       cpy     YMin
-       sbc     YMin+1
-       bpl     @L3
-       ldy     YMin
-       ldx     YMin+1
-       jmp     @L4
-@L3:   txa
-
-       cpy     YMax
-       sbc     YMax+1
-       bmi     @L4
-       ldy     YMax
-       ldx     YMax+1
-@L4:   sty     YPos
-       stx     YPos+1
+        cpy     YMin
+        sbc     YMin+1
+        bpl     @L3
+        ldy     YMin
+        ldx     YMin+1
+        jmp     @L4
+@L3:    txa
+
+        cpy     YMax
+        sbc     YMax+1
+        bmi     @L4
+        ldy     YMax
+        ldx     YMax+1
+@L4:    sty     YPos
+        stx     YPos+1
 
 ; Move the mouse pointer to the new X pos
 
-       tya
-       jmp     CMOVEY
+        tya
+        jmp     CMOVEY
index 61e3121affc5ab6450de2276980514eb23850b8e..12db7edf39fc4f34b7a038b4b1a9f76784691a31 100644 (file)
@@ -6,8 +6,8 @@
 ; const void mouse_static_stddrv[];
 ;
 
-        .export        _mouse_static_stddrv
-        .import        _c64_1351_mou
+        .export _mouse_static_stddrv
+        .import _c64_1351_mou
 
 .rodata
 
index 87c4c3d4dcaca74fc8dec00d158db1bfd5704f71..b53440a52be5d8895cf2544c2d983dec7864e633 100644 (file)
@@ -6,10 +6,10 @@
 ; const char mouse_stddrv[];
 ;
 
-       .export _mouse_stddrv
+        .export _mouse_stddrv
 
 .rodata
 
-_mouse_stddrv: .asciiz "c64-1351.mou"
+_mouse_stddrv:  .asciiz "c64-1351.mou"
 
       
index c92cd51c7414da0cd0766b1fb94352c1c994228e..c77d6b411bde8d373e9b3ff219a85584e8d70709 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 __randomize:              
         ldx     VIC_HLINE       ; Use VIC rasterline as high byte
index b6afa9cd02e3e186cf15b6a667b17b3206f26167..da4ecce818733c9a5893846fadce7f569bc788fd 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "c64.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index 9f1b23c5b45a177cecb113395458a2486997248a..f9121b8b67ef2b807ddf8e173593c16b970e373e 100644 (file)
@@ -24,7 +24,7 @@
         .include        "zeropage.inc"
         .include        "ser-kernel.inc"
         .include        "ser-error.inc"
-       .include        "c64.inc"
+        .include        "c64.inc"
 
 
 ; ------------------------------------------------------------------------
@@ -52,7 +52,7 @@
 ;----------------------------------------------------------------------------
 ; I/O definitions
 
-ACIA                   = $DE00
+ACIA            = $DE00
 ACIA_DATA       = ACIA+0        ; Data register
 ACIA_STATUS     = ACIA+1        ; Status register
 ACIA_CMD        = ACIA+2        ; Command register
@@ -73,16 +73,16 @@ SendTail        = $F9           ; Tail of send buffer
 SendFreeCnt     = $FA           ; Number of bytes free in send buffer
 
 .bss
-Stopped:       .res    1       ; Flow-stopped flag
-RtsOff:                .res    1       ;
+Stopped:        .res    1       ; Flow-stopped flag
+RtsOff:         .res    1       ;
 
 ; Send and receive buffers: 256 bytes each
-RecvBuf:       .res    256
-SendBuf:       .res    256
+RecvBuf:        .res    256
+SendBuf:        .res    256
 
 .data
-NmiContinue:   .byte   $4c     ; JMP instruction for NMI save -- continue
-NmiSave:       .res    2       ; normal NMI handler
+NmiContinue:    .byte   $4c     ; JMP instruction for NMI save -- continue
+NmiSave:        .res    2       ; normal NMI handler
 
 .rodata
 
@@ -138,25 +138,25 @@ INSTALL:
 
 ; Deactivate DTR and disable 6551 interrupts
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Set up the nmi vector
 
-       lda     NMIVec
-       ldy     NMIVec+1
-       sta     NmiSave+0
-       sty     NmiSave+1
-       lda     #<NmiHandler
-       ldy     #>NmiHandler
-SetNMI: sta    NMIVec
-       sty     NMIVec+1
+        lda     NMIVec
+        ldy     NMIVec+1
+        sta     NmiSave+0
+        sty     NmiSave+1
+        lda     #<NmiHandler
+        ldy     #>NmiHandler
+SetNMI: sta     NMIVec
+        sty     NMIVec+1
 
 ; Done, return an error code
 
         lda     #<SER_ERR_OK
         tax                     ; A is zero
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -166,14 +166,14 @@ UNINSTALL:
 
 ; Stop interrupts, drop DTR
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Restore NMI vector and return OK
 
-       lda     NmiSave+0
-       ldy     NmiSave+1
-       jmp     SetNMI
+        lda     NmiSave+0
+        ldy     NmiSave+1
+        jmp     SetNMI
 
 ;----------------------------------------------------------------------------
 ; PARAMS routine. A pointer to a ser_params structure is passed in ptr1.
@@ -183,10 +183,10 @@ OPEN:
 
 ; Check if the handshake setting is valid
 
-        ldy    #SER_PARAMS::HANDSHAKE  ; Handshake
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
         lda     (ptr1),y
-        cmp    #SER_HS_HW              ; This is all we support
-        bne    InvParam
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
 
 ; Initialize buffers
 
@@ -199,48 +199,48 @@ OPEN:
         lda     (ptr1),y                ; Baudrate index
         tay
         lda     BaudTable,y             ; Get 6551 value
-        bmi     InvBaud                        ; Branch if rate not supported
+        bmi     InvBaud                 ; Branch if rate not supported
         sta     tmp1
 
-        ldy    #SER_PARAMS::DATABITS   ; Databits
+        ldy     #SER_PARAMS::DATABITS   ; Databits
         lda     (ptr1),y
         tay
         lda     BitTable,y
         ora     tmp1
         sta     tmp1
 
-        ldy    #SER_PARAMS::STOPBITS   ; Stopbits
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
         lda     (ptr1),y
         tay
         lda     StopTable,y
         ora     tmp1
-        ora    #%00010000              ; Receiver clock source = baudrate
-       sta     ACIA_CTRL
+        ora     #%00010000              ; Receiver clock source = baudrate
+        sta     ACIA_CTRL
 
 ; Set the value for the command register. We remember the base value in
 ; RtsOff, since we will have to manipulate ACIA_CMD often.
 
-        ldy            #SER_PARAMS::PARITY     ; Parity
+        ldy     #SER_PARAMS::PARITY     ; Parity
         lda     (ptr1),y
         tay
         lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-               ora     #%00001000              ; Enable receive interrupts
-               sta     ACIA_CMD
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
+        sta     ACIA_CMD
 
 ; Done
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ; Invalid parameter
 
 InvParam:
-       lda     #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
+        lda     #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
 
 ; Baud rate not available
 
@@ -258,8 +258,8 @@ CLOSE:
 
 ; Stop interrupts, drop DTR
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Initalize buffers. Returns zero in a
 
@@ -269,7 +269,7 @@ CLOSE:
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; GET: Will fetch a character from the receive buffer and store it into the
@@ -277,43 +277,43 @@ CLOSE:
 ; return.
 ;
 
-GET:    ldx    SendFreeCnt             ; Send data if necessary
-               inx                             ; X == $FF?
-       beq     @L1
-       lda     #$00
-       jsr     TryToSend
+GET:    ldx     SendFreeCnt             ; Send data if necessary
+        inx                             ; X == $FF?
+        beq     @L1
+        lda     #$00
+        jsr     TryToSend
 
 ; Check for buffer empty
 
-@L1:   lda     RecvFreeCnt             ; (25)
-       cmp     #$ff
-       bne     @L2
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
+@L1:    lda     RecvFreeCnt             ; (25)
+        cmp     #$ff
+        bne     @L2
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
 
 ; Check for flow stopped & enough free: release flow control
 
-@L2:   ldx     Stopped                 ; (34)
-       beq     @L3
-       cmp     #63
-       bcc     @L3
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
-       sta     ACIA_CMD
+@L2:    ldx     Stopped                 ; (34)
+        beq     @L3
+        cmp     #63
+        bcc     @L3
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
+        sta     ACIA_CMD
 
 ; Get byte from buffer
 
-@L3:   ldx     RecvHead                ; (41)
-               lda     RecvBuf,x
-       inc     RecvHead
-       inc     RecvFreeCnt
-               ldx     #$00                    ; (59)
-       sta     (ptr1,x)
-               txa                             ; Return code = 0
-       rts
+@L3:    ldx     RecvHead                ; (41)
+        lda     RecvBuf,x
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00                    ; (59)
+        sta     (ptr1,x)
+        txa                             ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
@@ -324,40 +324,40 @@ PUT:
 
 ; Try to send
 
-        ldx    SendFreeCnt
-               inx                             ; X = $ff?
-       beq     @L2
-       pha
-       lda     #$00
-       jsr     TryToSend
-       pla
+        ldx     SendFreeCnt
+        inx                             ; X = $ff?
+        beq     @L2
+        pha
+        lda     #$00
+        jsr     TryToSend
+        pla
 
 ; Put byte into send buffer & send
 
-@L2:   ldx     SendFreeCnt
-       bne     @L3
-       lda     #<SER_ERR_OVERFLOW      ; X is already zero
-       rts
-
-@L3:   ldx     SendTail
-       sta     SendBuf,x
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$ff
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-               rts
+@L2:    ldx     SendFreeCnt
+        bne     @L3
+        lda     #<SER_ERR_OVERFLOW      ; X is already zero
+        rts
+
+@L3:    ldx     SendTail
+        sta     SendBuf,x
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$ff
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
 ; Must return an error code in a/x.
 ;
 
-STATUS: lda            ACIA_STATUS
-               ldx     #0
-       sta     (ptr1,x)
-       txa                             ; SER_ERR_OK
+STATUS: lda     ACIA_STATUS
+        ldx     #0
+        sta     (ptr1,x)
+        txa                             ; SER_ERR_OK
         rts
 
 ;----------------------------------------------------------------------------
@@ -390,68 +390,68 @@ IRQ     = $0000
 ;
 
 NmiHandler:
-       pha
-               lda     ACIA_STATUS     ;(4) ;status ;check for byte received
-       and     #$08            ;(2)
-               beq     @L9             ;(2*)
-       cld
-       txa
-       pha
-       tya
-       pha
-@L1:   lda     ACIA_DATA       ;(4)  data  ;get byte and put into receive buffer
-       ldy     RecvTail        ;(4)
-       ldx     RecvFreeCnt     ;(4)
-       beq     @L3             ;(2*) Jump if no space in receive buffer
-       sta     RecvBuf,y       ;(5)
-       inc     RecvTail        ;(6)
-       dec     RecvFreeCnt     ;(6)
-       cpx     #33             ;(2)  check for buffer space low
-               bcc     @L2             ;(2*)
-       jmp     NMIEXIT         ;(3)
+        pha
+        lda     ACIA_STATUS     ;(4) ;status ;check for byte received
+        and     #$08            ;(2)
+        beq     @L9             ;(2*)
+        cld
+        txa
+        pha
+        tya
+        pha
+@L1:    lda     ACIA_DATA       ;(4)  data  ;get byte and put into receive buffer
+        ldy     RecvTail        ;(4)
+        ldx     RecvFreeCnt     ;(4)
+        beq     @L3             ;(2*) Jump if no space in receive buffer
+        sta     RecvBuf,y       ;(5)
+        inc     RecvTail        ;(6)
+        dec     RecvFreeCnt     ;(6)
+        cpx     #33             ;(2)  check for buffer space low
+        bcc     @L2             ;(2*)
+        jmp     NMIEXIT         ;(3)
 
 ; Assert flow control
 
-@L2:   lda     RtsOff          ;(3) assert flow control if buffer space too low
-       sta     ACIA_CMD        ;(4) command
-       sta     Stopped         ;(3)
-@L3:    jmp    NMIEXIT         ;(3)
+@L2:    lda     RtsOff          ;(3) assert flow control if buffer space too low
+        sta     ACIA_CMD        ;(4) command
+        sta     Stopped         ;(3)
+@L3:    jmp     NMIEXIT         ;(3)
 
-@L9:   pla
-       jmp     NmiContinue
+@L9:    pla
+        jmp     NmiContinue
 
 ;----------------------------------------------------------------------------
 ; Try to send a byte. Internal routine. A = TryHard
 
 .proc   TryToSend
 
-       sta     tmp1            ; Remember tryHard flag
-@L0:           lda     SendFreeCnt
-       cmp     #$ff
-       beq     @L3             ; Bail out
+        sta     tmp1            ; Remember tryHard flag
+@L0:    lda     SendFreeCnt
+        cmp     #$ff
+        beq     @L3             ; Bail out
 
 ; Check for flow stopped
 
-@L1:   lda     Stopped
-               bne     @L3             ; Bail out
+@L1:    lda     Stopped
+        bne     @L3             ; Bail out
 
 ; Check that swiftlink is ready to send
 
-@L2:           lda     ACIA_STATUS
-       and     #$10
-       bne     @L4
-       bit     tmp1            ;keep trying if must try hard
-               bmi     @L0
-@L3:   rts
+@L2:    lda     ACIA_STATUS
+        and     #$10
+        bne     @L4
+        bit     tmp1            ;keep trying if must try hard
+        bmi     @L0
+@L3:    rts
 
 ; Send byte and try again
 
-@L4:   ldx     SendHead
-       lda     SendBuf,x
-       sta     ACIA_DATA
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     @L0
+@L4:    ldx     SendHead
+        lda     SendBuf,x
+        sta     ACIA_DATA
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     @L0
 
 .endproc
 
@@ -460,14 +460,14 @@ NmiHandler:
 ; Initialize buffers
 
 InitBuffers:
-        ldx    #0
+        ldx     #0
         stx     Stopped
-               stx     RecvHead
-       stx     RecvTail
-       stx     SendHead
-       stx     SendTail
+        stx     RecvHead
+        stx     RecvTail
+        stx     SendHead
+        stx     SendTail
         dex                             ; X = 255
-               stx     RecvFreeCnt
-       stx     SendFreeCnt
+        stx     RecvFreeCnt
+        stx     SendFreeCnt
         rts
 
index 3620c9107361a5eab3bebebab44d1a4f771b83bc..c6f27923064bfbf5160015fb10a5491fbeaf81b0 100644 (file)
@@ -2,4 +2,4 @@
 ; Oliver Schmidt, 2012-09-30
 ;
 
-       .exportzp       ST := $90       ; IEC status byte
+        .exportzp       ST := $90       ; IEC status byte
index 28b3e8190026f27600533ea637ec1ed0d00f34a7..eb5f999f6d811f081ae1d6251cae07d78776cf3b 100644 (file)
 
         .include        "time.inc"
         .include        "c64.inc"
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
         .constructor    initsystime
-       .importzp       tmp1, tmp2
-       .import         _get_tv, _get_ostype
+        .importzp       tmp1, tmp2
+        .import         _get_tv, _get_ostype
 
 
 ;----------------------------------------------------------------------------
 .code
 
-.proc  __systime
-
-       lda     CIA1_TODHR
-       bpl     AM
-       and     #%01111111
-       sed
-       clc
-       adc     #$12
-       cld
-AM:    jsr     BCD2dec
-       sta     TM + tm::tm_hour
-       lda     CIA1_TODMIN
-       jsr     BCD2dec
-       sta     TM + tm::tm_min
-       lda     CIA1_TODSEC
-       jsr     BCD2dec
-       sta     TM + tm::tm_sec
-       lda     CIA1_TOD10              ; Dummy read to unfreeze
-       lda     #<TM
-       ldx     #>TM
-       jmp     _mktime
+.proc   __systime
+
+        lda     CIA1_TODHR
+        bpl     AM
+        and     #%01111111
+        sed
+        clc
+        adc     #$12
+        cld
+AM:     jsr     BCD2dec
+        sta     TM + tm::tm_hour
+        lda     CIA1_TODMIN
+        jsr     BCD2dec
+        sta     TM + tm::tm_min
+        lda     CIA1_TODSEC
+        jsr     BCD2dec
+        sta     TM + tm::tm_sec
+        lda     CIA1_TOD10              ; Dummy read to unfreeze
+        lda     #<TM
+        ldx     #>TM
+        jmp     _mktime
 
 ; dec = (((BCD>>4)*10) + (BCD&0xf))
 BCD2dec:tax
-       and     #%00001111
-       sta     tmp1
-       txa
+        and     #%00001111
+        sta     tmp1
+        txa
         and     #%11110000      ; *16
         lsr                     ; *8
         sta     tmp2
@@ -68,16 +68,16 @@ BCD2dec:tax
 
         lda     CIA1_TOD10
         sta     CIA1_TOD10
-       jsr     _get_tv
-       cmp     #TV::PAL
-       bne     @60Hz
-       jsr     _get_ostype
-       cmp     #$43
-       beq     @60Hz
-       lda     CIA1_CRA
-       ora     #$80
-       sta     CIA1_CRA
-@60Hz: rts
+        jsr     _get_tv
+        cmp     #TV::PAL
+        bne     @60Hz
+        jsr     _get_ostype
+        cmp     #$43
+        beq     @60Hz
+        lda     CIA1_CRA
+        ora     #$80
+        sta     CIA1_CRA
+@60Hz:  rts
 
 .endproc
 
@@ -86,7 +86,7 @@ BCD2dec:tax
 ; TM struct with date set to 1970-01-01
 .data
 
-TM:            .word           0       ; tm_sec
+TM:     .word           0       ; tm_sec
         .word           0       ; tm_min
         .word           0       ; tm_hour
         .word           1       ; tm_mday
index 8a206341cd5850dcd45b691aa531a9b7129d2d45..1e829d274945b7802d0561b6a7015cc2922967e4 100644 (file)
@@ -4,9 +4,9 @@
 ; Based on Stephen L. Judds GRLIB code
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
         .include        "tgi-error.inc"
 
 
@@ -39,7 +39,7 @@
         .addr   UNINSTALL
         .addr   INIT
         .addr   DONE
-               .addr   GETERROR
+        .addr   GETERROR
         .addr   CONTROL
         .addr   CLEAR
         .addr   SETVIEWPAGE
@@ -82,7 +82,7 @@ OLDCHUNK        := X2+1         ; Dito
 
 .bss
 
-ERROR:         .res    1       ; Error code
+ERROR:          .res    1       ; Error code
 PALETTE:        .res    2       ; The current palette
 
 BITMASK:        .res    1       ; $00 = clear, $FF = set pixels
@@ -117,7 +117,7 @@ BITCHUNK:       .byte   $FF,$7F,$3F,$1F,$0F,$07,$03,$01
 
 CHARROM         := $D000                ; Character rom base address
 CBASE           := $D000                ; Color memory base address
-VBASE                  := $E000                ; Video memory base address
+VBASE           := $E000                ; Video memory base address
 
 
 .code
@@ -177,10 +177,10 @@ INIT:
 
         lda     $D018
         sta     OLDD018
-        lda     #$48           ; Set color map to $D000, screen to $E000
+        lda     #$48            ; Set color map to $D000, screen to $E000
         sta     $D018
 
-        lda     $D011          ; And turn on bitmap
+        lda     $D011           ; And turn on bitmap
         ora     #$20
 DONE1:  sta     $D011
 
@@ -217,9 +217,9 @@ DONE:   lda     $DD02           ; Set the data direction regs
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-               ldx     #TGI_ERR_OK
-       lda     ERROR
-       stx     ERROR
+        ldx     #TGI_ERR_OK
+        lda     ERROR
+        stx     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -229,8 +229,8 @@ GETERROR:
 ;
 
 CONTROL:
-       lda     #TGI_ERR_INV_FUNC
-       sta     ERROR
+        lda     #TGI_ERR_INV_FUNC
+        sta     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -340,22 +340,22 @@ SETPALETTE:
 ; Initialize the color map with the new color settings (it is below the
 ; I/O area)
 
-               ldy     #$00
-               sei
-               lda     $01             ; Get ROM config
-               pha                     ; Save it
-               and     #%11111100      ; Clear bit 0 and 1
-               sta     $01
-               txa                     ; Load color code
-@L2:    sta    CBASE+$0000,y
-       sta     CBASE+$0100,y
-       sta     CBASE+$0200,y
-       sta     CBASE+$0300,y
-       iny
-       bne     @L2
-       pla
-       sta     $01
-       cli
+        ldy     #$00
+        sei
+        lda     $01             ; Get ROM config
+        pha                     ; Save it
+        and     #%11111100      ; Clear bit 0 and 1
+        sta     $01
+        txa                     ; Load color code
+@L2:    sta     CBASE+$0000,y
+        sta     CBASE+$0100,y
+        sta     CBASE+$0200,y
+        sta     CBASE+$0300,y
+        iny
+        bne     @L2
+        pla
+        sta     $01
+        cli
 
 ; Done, reset the error code
 
@@ -664,7 +664,7 @@ XFIXC:  sta     TEMP
         bmi     @C1          ;Skip if column is negative
         cmp     #39          ;End if move past end of screen
         bcs     EXIT
-@C1:   lda     POINT
+@C1:    lda     POINT
         adc     #8
         sta     POINT
         bcc     @CONT
@@ -734,7 +734,7 @@ FIXY:   cpy     #255         ;Y=255 or Y=8
         bmi     @C1          ;If negative, then don't update
         cmp     #24
         bcs     @TOAST       ;If at bottom of screen then quit
-@C1:           lda     POINT
+@C1:    lda     POINT
         adc     #<320
         sta     POINT
         lda     POINT+1
@@ -790,7 +790,7 @@ FIXY:   cpy     #255         ;Y=255 or Y=8
 ; the original C wrapper and could be written much smaller (besides that,
 ; calling LINE is not a good idea either).
 
-BAR:   lda     Y2
+BAR:    lda     Y2
         sta     Y2SAVE
         lda     Y2+1
         sta     Y2SAVE+1
@@ -810,11 +810,11 @@ BAR:      lda     Y2
         lda     X1+1
         sta     X1SAVE+1
 
-@L1:   lda     Y1
+@L1:    lda     Y1
         sta     Y2
         lda     Y1+1
         sta     Y2+1
-       jsr     LINE
+        jsr     LINE
 
         lda     Y1SAVE
         cmp     Y2SAVE
index 4dab483e292d0109f3e278a094f0aaaa2b87dd78..6ef3729b40158600c1c4f084c49b5a37c4d3e27e 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $01
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $01
index 1ef9b326753ff0525ef2bae7e3c95c14853c6bee..03ef91b392b5d94dc4ca28881cf668bac6bdbf06 100644 (file)
@@ -6,8 +6,8 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .import        _c64_hi_tgi
+        .export _tgi_static_stddrv
+        .import _c64_hi_tgi
 
 .rodata
 
index 4a8e49db8b5d937d42f054eb5c7e1f61a32edae9..c87fed359a6b90ef40cde20bb2784175ba291ec4 100644 (file)
@@ -6,8 +6,8 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
-_tgi_stddrv:   .asciiz "c64-hi.tgi"
+_tgi_stddrv:    .asciiz "c64-hi.tgi"
index 6a56659bf6ec10132a3e6603bb68d3591714d971..87f063a07a90d144c0f41da7890af90ceabc6534 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned char cbm_k_acptr (void);
 ;
 
-               .export         _cbm_k_acptr
+        .export         _cbm_k_acptr
         .import         ACPTR
 
 
 _cbm_k_acptr:
-       jsr     ACPTR
-       ldx     #0
-       rts
+        jsr     ACPTR
+        ldx     #0
+        rts
index 9b2a985df3a72a7b6b066bbf8d4fec61a0de54f0..15d7e7f5c4a85c9cc9c20a48c56cdc3e3349f3eb 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned char cbm_k_basin (void);
 ;
 
-       .export         _cbm_k_basin
-       .import         BASIN
+        .export         _cbm_k_basin
+        .import         BASIN
 
 
 _cbm_k_basin:
-       jsr     BASIN
-       ldx     #0              ; Clear high byte
-       rts
+        jsr     BASIN
+        ldx     #0              ; Clear high byte
+        rts
index 14b1252a60099f2981f151cdd00a9dc49beffd4b..8b9f4403764ff58c89957d3e0a8925778eabf01f 100644 (file)
@@ -4,7 +4,7 @@
 ; void __fastcall__ cbm_k_bsout (unsigned char C);
 ;
 
-               .export         _cbm_k_bsout
+        .export         _cbm_k_bsout
         .import         BSOUT
 
 _cbm_k_bsout = BSOUT
index 4565e6fb9f125450657523521f76cad0f1454ff6..4ed8c1bff8c50bba4616fdf146023d0bdff8783b 100644 (file)
@@ -4,14 +4,14 @@
 ; unsigned char __fastcall__ cbm_k_chkin (unsigned char FN);
 ;
 
-               .export         _cbm_k_chkin
+        .export         _cbm_k_chkin
         .import         CHKIN
 
 _cbm_k_chkin:
-       tax
-               jsr     CHKIN
-       ldx     #0              ; Clear high byte
-       bcs     @NotOk
+        tax
+        jsr     CHKIN
+        ldx     #0              ; Clear high byte
+        bcs     @NotOk
         txa
-@NotOk:        rts
+@NotOk: rts
 
index fd8a48380fe2aac27e7e27d31592c4850fb14bb8..9906e06584fa83893bef84f39c5af88de540efe5 100644 (file)
@@ -5,6 +5,6 @@
 ;
 
         .import         CIOUT
-               .export         _cbm_k_ciout := CIOUT
+        .export         _cbm_k_ciout := CIOUT
 
 
index faeee4b7088e2cd3f1cb678c542aaabbaa4cbaaf..380d7170a95a1f4f7223a66d193744051339ee86 100644 (file)
@@ -4,14 +4,14 @@
 ; unsigned char __fastcall__ cbm_k_ckout (unsigned char FN);
 ;
 
-               .export         _cbm_k_ckout
+        .export         _cbm_k_ckout
         .import         CKOUT
 
 
 _cbm_k_ckout:
-       tax
-               jsr     CKOUT
-       ldx     #0              ; Clear high byte
-       bcs     @NotOk
+        tax
+        jsr     CKOUT
+        ldx     #0              ; Clear high byte
+        bcs     @NotOk
         txa
-@NotOk:        rts
+@NotOk: rts
index c2bb93e34d10270408e07b65f593d0d4046b18bf..cdd7d4ddc9815c83163551f83fff1b0a023067d0 100644 (file)
@@ -5,4 +5,4 @@
 ;
 
         .import         CLALL
-               .export         _cbm_k_clall := CLALL
+        .export         _cbm_k_clall := CLALL
index 5a99f50570bf32b33ba7f7fed2bdafce583c1740..9582baca2d54f399a25d288cb8db07731d57fcf7 100644 (file)
@@ -4,11 +4,11 @@
 ; void __fastcall__ cbm_k_close (unsigned char FN);
 ;
 
-               .export         _cbm_k_close
+        .export         _cbm_k_close
         .import         CLOSE
 
 _cbm_k_close:
-               clc                  
-               jmp     CLOSE
+        clc                  
+        jmp     CLOSE
 
 
index d2ef11c601b57b79df908513037b814325f68c46..7c0506a1ca9e82af377c9f7d2d36098321b7cc58 100644 (file)
@@ -4,7 +4,7 @@
 ; void cbm_k_clrch (void);
 ;
 
-               .export         _cbm_k_clrch
+        .export         _cbm_k_clrch
         .import         CLRCH
 
 _cbm_k_clrch = CLRCH
index db7c7bc56c3f43f5e91e31300725d4daa7c85e7c..b4cb34f76509ad3496991ff20e8e3111c2d49f77 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned char cbm_k_getin (void);
 ;
 
-               .export         _cbm_k_getin
+        .export         _cbm_k_getin
         .import         GETIN
 
 
 _cbm_k_getin:
-       jsr     GETIN
-       ldx     #0
-       rts
+        jsr     GETIN
+        ldx     #0
+        rts
index c4dc4cb6fb5520a3ecde9ed34961926f316fd586..254879017d626b5871344061d7f7c9a3a5ab30dc 100644 (file)
@@ -4,14 +4,14 @@
 ; unsigned cbm_k_iobase (void);
 ;
 
-               .export         _cbm_k_iobase
+        .export         _cbm_k_iobase
         .import         IOBASE
 
 _cbm_k_iobase:                   
-       jsr     IOBASE
-       txa
-       pha
-       tya
-       tax
-       pla
-       rts
+        jsr     IOBASE
+        txa
+        pha
+        tya
+        tax
+        pla
+        rts
index b80813529db630a7a9e8d5bbdf35d749b4819151..85ef8b7fa98b8034ba0443a4f0588e182ef09d47 100644 (file)
@@ -5,7 +5,7 @@
 ;
 
         .import         LISTEN
-               .export         _cbm_k_listen := LISTEN
+        .export         _cbm_k_listen := LISTEN
 
 
 
index 8213307045b00c6717c46d05843ced94b1b0f8e7..f2b5b0c89309793d0e5dddc3e15add27e4657815 100644 (file)
@@ -4,20 +4,20 @@
 ; unsigned int __fastcall__ cbm_k_load (unsigned char flag, unsigned addr);
 ;
 
-               .export         _cbm_k_load
+        .export         _cbm_k_load
         .import         LOAD
         .import         __oserror
-       .import         popa
-       .importzp       ptr1
+        .import         popa
+        .importzp       ptr1
 
 _cbm_k_load:
-       sta     ptr1
-       stx     ptr1+1
-       jsr     popa            ; get flag
-       ldx     ptr1
-       ldy     ptr1+1
-       jsr     LOAD
-       bcc     @Ok
+        sta     ptr1
+        stx     ptr1+1
+        jsr     popa            ; get flag
+        ldx     ptr1
+        ldy     ptr1+1
+        jsr     LOAD
+        bcc     @Ok
         sta     __oserror
         ldx     ptr1
         ldy     ptr1+1
index 9a1e08f919c2c4f8cfe50094e432bbf2b858f1bd..6461ffedf01125ba159fd04d8217273df00d48bc 100644 (file)
@@ -4,13 +4,13 @@
 ; unsigned char cbm_k_open (void);
 ;
 
-               .export         _cbm_k_open
+        .export         _cbm_k_open
         .import         OPEN
 
 
 _cbm_k_open:
-       jsr     OPEN
-       ldx     #0              ; Clear high byte
-       bcs     @NotOk
+        jsr     OPEN
+        ldx     #0              ; Clear high byte
+        bcs     @NotOk
         txa
 @NotOk: rts
index 6e4f02dea41740a30c6b25759e74f48e1e13c6ea..301cd9b4260b054b917f04751680bc1317da4de7 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned char cbm_k_readst (void);
 ;
 
-       .export         _cbm_k_readst
-       .import         READST
+        .export         _cbm_k_readst
+        .import         READST
 
 
 _cbm_k_readst:
-       jsr     READST
-       ldx     #0              ; Clear high byte
-       rts
+        jsr     READST
+        ldx     #0              ; Clear high byte
+        rts
index 115d892421ba10b1181ea2a7c4a883824925f442..dfdb7df42c85f40f0ff9c0c6800ccdd99fc12b3c 100644 (file)
@@ -20,7 +20,7 @@ _cbm_k_save:
         ldx     tmp1
         ldy     tmp1+1
         jsr     SAVE
-       ldx     #0              ; Clear high byte
-       bcs     @NotOk
+        ldx     #0              ; Clear high byte
+        bcs     @NotOk
         txa
-@NotOk:        rts
+@NotOk: rts
index 5277cf453b798e5cb9e89f0e1ecbaf09e4e6abbd..00ebfae7adb40b5b7df2e244b8e4f0775e221c7c 100644 (file)
@@ -2,22 +2,22 @@
 ; Ullrich von Bassewitz, 03.06.1999
 ;
 ; void __fastcall__ cbm_k_setlfs (unsigned char LFN,
-;                                unsigned char DEV,
-;                                unsigned char SA);
+;                                 unsigned char DEV,
+;                                 unsigned char SA);
 ;
 
-               .export         _cbm_k_setlfs
+        .export         _cbm_k_setlfs
         .import         SETLFS
-       .import         popa
-       .importzp       tmp1
+        .import         popa
+        .importzp       tmp1
                               
 
 _cbm_k_setlfs:
-       sta     tmp1            ; Save SA
-       jsr     popa            ; Get DEV
-       tax
-       jsr     popa            ; Get LFN
-       ldy     tmp1            ; Get SA
-       jmp     SETLFS
+        sta     tmp1            ; Save SA
+        jsr     popa            ; Get DEV
+        tax
+        jsr     popa            ; Get LFN
+        ldy     tmp1            ; Get SA
+        jmp     SETLFS
 
 
index 8f35d37fb284f50ec966cb40d45d928f6bdfa690..3249d8539a39b0fbeef3efd0a81dbc867bd2d6a1 100644 (file)
@@ -4,21 +4,21 @@
 ; void __fastcall__ cbm_k_setnam (const char* Name);
 ;
 
-               .export         _cbm_k_setnam
+        .export         _cbm_k_setnam
         .import         SETNAM
-       .importzp       ptr1
+        .importzp       ptr1
                               
 
 _cbm_k_setnam:
-       sta     ptr1            ; Store pointer to file name
-       stx     ptr1+1
-       ldy     #$FF
-@Loop: iny                     ; Get length of name
-       lda     (ptr1),y
-       bne     @Loop
+        sta     ptr1            ; Store pointer to file name
+        stx     ptr1+1
+        ldy     #$FF
+@Loop:  iny                     ; Get length of name
+        lda     (ptr1),y
+        bne     @Loop
 
-       tya                     ; Length
-       ldx     ptr1
-       ldy     ptr1+1
-       jmp     SETNAM
+        tya                     ; Length
+        ldx     ptr1
+        ldy     ptr1+1
+        jmp     SETNAM
 
index 05a1b1cba171903d9ab1da34b63cbc87f5dccadf..ff80b3499ff4c9c0fb1d509ebde5ea8bb81fd1f6 100644 (file)
@@ -5,7 +5,7 @@
 ;
 
         .import         TALK
-               .export         _cbm_k_talk := TALK
+        .export         _cbm_k_talk := TALK
 
 
 
index 011755f39e140bb90e47767c05e3f6774013abdd..fd6b1b074fdd22f18112a8d84641c581ac5f9573 100644 (file)
@@ -5,4 +5,4 @@
 ;
 
         .import         UNLSN
-               .export         _cbm_k_unlsn := UNLSN
+        .export         _cbm_k_unlsn := UNLSN
index 6a309406c205b070e2f315ca237e337462e5f323..1d71c168b5477ccfbe4098fea956bb7963f58de6 100644 (file)
@@ -4,7 +4,7 @@
 ; void cbm_untlk (void);
 ;
 
-               .export         _cbm_untlk
+        .export         _cbm_untlk
         .import         UNTLK
 
 
index 25e48a72fd4a78191aeb2704d52bcacaee69c5ec..0e513ffe83ddd69f1fe39bdf9b532043b5b902b9 100644 (file)
@@ -7,45 +7,45 @@
 ; Subroutines available in the CBM jump table
 ;
 
-;CINT          = $FF81
-;IOINIT                = $FF84
-;RAMTAS                = $FF87
-;RESTOR                = $FF8A
-;VECTOR                = $FF8D
-;SETMSG                = $FF90
-;SECOND                = $FF93
-;TKSA          = $FF96
-;MEMTOP                = $FF99
-;MEMBOT                = $FF9C
-;SCNKEY                = $FF9F
-;SETTMO                = $FFA2
-;ACPTR         = $FFA5
-;CIOUT         = $FFA8
-;UNTLK         = $FFAB
-;UNLSN         = $FFAE
-;LISTEN                = $FFB1
-;TALK          = $FFB4
-;READST                = $FFB7
-;SETLFS                = $FFBA
-;SETNAM                = $FFBD
-;OPEN          = $FFC0
-;CLOSE         = $FFC3
-;CHKIN         = $FFC6
-;CKOUT         = $FFC9
-;CLRCH         = $FFCC
-;BASIN         = $FFCF
-;BSOUT         = $FFD2
-;LOAD          = $FFD5
-;SAVE          = $FFD8
-;SETTIM                = $FFDB
-;RDTIM         = $FFDE
-;STOP          = $FFE1
-;GETIN         = $FFE4
-;CLALL         = $FFE7
-;UDTIM         = $FFEA
-;SCREEN                = $FFED
-;PLOT          = $FFF0
-;IOBASE                = $FFF3
+;CINT           = $FF81
+;IOINIT         = $FF84
+;RAMTAS         = $FF87
+;RESTOR         = $FF8A
+;VECTOR         = $FF8D
+;SETMSG         = $FF90
+;SECOND         = $FF93
+;TKSA           = $FF96
+;MEMTOP         = $FF99
+;MEMBOT         = $FF9C
+;SCNKEY         = $FF9F
+;SETTMO         = $FFA2
+;ACPTR          = $FFA5
+;CIOUT          = $FFA8
+;UNTLK          = $FFAB
+;UNLSN          = $FFAE
+;LISTEN         = $FFB1
+;TALK           = $FFB4
+;READST         = $FFB7
+;SETLFS         = $FFBA
+;SETNAM         = $FFBD
+;OPEN           = $FFC0
+;CLOSE          = $FFC3
+;CHKIN          = $FFC6
+;CKOUT          = $FFC9
+;CLRCH          = $FFCC
+;BASIN          = $FFCF
+;BSOUT          = $FFD2
+;LOAD           = $FFD5
+;SAVE           = $FFD8
+;SETTIM         = $FFDB
+;RDTIM          = $FFDE
+;STOP           = $FFE1
+;GETIN          = $FFE4
+;CLALL          = $FFE7
+;UDTIM          = $FFEA
+;SCREEN         = $FFED
+;PLOT           = $FFF0
+;IOBASE         = $FFF3
 
 
 ;-----------------------------------------------------------------------------
index df3d21cb54ceaab2bd260cf0910a0eece4ec2dea..8f31c502ad70a6ed0bf18931031161310d328d1a 100644 (file)
@@ -117,11 +117,11 @@ unsigned char __fastcall__ cbm_readdir (unsigned char lfn, register struct cbm_d
             if (is_header) {
                 l_dirent->type = CBM_T_HEADER;
 
-               /* Get the disk-format code. */
-               i = 6;
-               do {
-                   l_dirent->access = byte = cbm_k_basin();
-               } while (--i != 0);
+                /* Get the disk-format code. */
+                i = 6;
+                do {
+                    l_dirent->access = byte = cbm_k_basin();
+                } while (--i != 0);
 
             } else {
                 /* Go to the file-type column. */
@@ -144,10 +144,10 @@ unsigned char __fastcall__ cbm_readdir (unsigned char lfn, register struct cbm_d
                 /* Determine the file type */
                 l_dirent->type = _cbm_filetype (byte);
 
-               /* Notice whether it's a directory or a deleted file. */
-               if (cbm_k_basin() == 'i' && byte == 'd') {
-                   l_dirent->type = CBM_T_DIR;
-               }
+                /* Notice whether it's a directory or a deleted file. */
+                if (cbm_k_basin() == 'i' && byte == 'd') {
+                    l_dirent->type = CBM_T_DIR;
+                }
                 cbm_k_basin();
 
                 /* Locked files shouldn't be written. */
index 055df9b4267ac9ac28a3d4685da8a6a441bca721..4d1cec040f91cb792c91b7a2bab117e656abd44e 100644 (file)
@@ -18,8 +18,8 @@
 ; }
 ;
 
-               .export         _cbm_open
-       .import         popa
+        .export         _cbm_open
+        .import         popa
         .import         _cbm_k_setlfs, _cbm_k_setnam, _cbm_k_open
         .import         __oserror
 
index 5df18e34d7f0b8ee30e5e3e6daaf45e6bfe0d762..d97ccbd8b390fefd0cf6ea3e37e6be588ba825ee 100644 (file)
 
         .include        "cbm.inc"
 
-               .export         _cbm_read
+        .export         _cbm_read
         .import         CHKIN, READST, BASIN, CLRCH
         .importzp       ptr1, ptr2, ptr3, tmp1
-       .import         popax, popa
+        .import         popax, popa
         .import         __oserror
 
 
index 295ff2cd05c2c4974b30bc21c45e1beef9d113a5..0b709dff88357b15c4424905e71f86eb8bd7cb94 100644 (file)
 
         .include        "cbm.inc"
 
-               .export         _cbm_write
+        .export         _cbm_write
         .import         CKOUT, READST, BSOUT, CLRCH
         .importzp       ptr1, ptr2, ptr3
-       .import         popax, popa
+        .import         popax, popa
         .import         __oserror
                                                    
 
index 586459cb0eb44f35242c8ca52faccfae715a8bf4..233c112c6cf7df619e1ab38950f32ad451e41cb0 100644 (file)
@@ -5,25 +5,25 @@
 ; void cclear (unsigned char length);
 ;
 
-       .export         _cclearxy, _cclear
-       .import         popa, _gotoxy, cputdirect
-       .importzp       tmp1
+        .export         _cclearxy, _cclear
+        .import         popa, _gotoxy, cputdirect
+        .importzp       tmp1
 
 _cclearxy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-               pla                     ; Restore the length and run into _cclear
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cclear
 
 _cclear:
-               cmp     #0              ; Is the length zero?
-               beq     L9              ; Jump if done
-       sta     tmp1                                 
-L1:            lda     #$20            ; Blank - screen code
-       jsr     cputdirect      ; Direct output
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1                                 
+L1:     lda     #$20            ; Blank - screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index 26be1c7a12b3b549ae08d9466e9c8a42b4c8c434..26603b2febbbcdcfa77dfcb1a6f36b8e6669e79d 100644 (file)
@@ -5,25 +5,25 @@
 ; void chline (unsigned char length);
 ;
 
-       .export         _chlinexy, _chline
-       .import         popa, _gotoxy, cputdirect
-       .importzp       tmp1
+        .export         _chlinexy, _chline
+        .import         popa, _gotoxy, cputdirect
+        .importzp       tmp1
 
 _chlinexy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-       pla                     ; Restore the length
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length
 
 _chline:
-       cmp     #0              ; Is the length zero?
-       beq     L9              ; Jump if done
-       sta     tmp1
-L1:            lda     #64             ; Horizontal line, screen code
-       jsr     cputdirect      ; Direct output
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1
+L1:     lda     #64             ; Horizontal line, screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index 71fa40336122b98937bdbc720582d2496b1c1160..ce36e3af5f065c6375d3bd907e7da16baf0d8c70 100644 (file)
@@ -4,19 +4,19 @@
 ; clock_t clock (void);
 ;
 
-       .export         _clock
+        .export         _clock
         .import         RDTIM
-       .importzp       sreg
+        .importzp       sreg
 
 
 
-.proc  _clock
+.proc   _clock
 
-       lda     #0              ; Byte 3 is always zero
-               sta     sreg+1
-       jsr     RDTIM
-       sty     sreg
-               rts
+        lda     #0              ; Byte 3 is always zero
+        sta     sreg+1
+        jsr     RDTIM
+        sty     sreg
+        rts
 
 .endproc
 
index e485881b3eaea1ab697e66509409253e61465b6a..ba096bb131b89602b5a9fa5db2d43d6d56283dfe 100644 (file)
 
 ; This table is taken from Craig S. Bruce's technical docs. for the ACE OS.
 
-       .include        "ctype.inc"
+        .include        "ctype.inc"
 
 ; The table is read-only, put it into the RODATA segment.
 
-       .rodata
+        .rodata
 
 __ctype:
-       .byte   CT_CTRL                                 ;   0/00 ___rvs_@___
-       .byte   CT_CTRL                                 ;   1/01 ___rvs_a___
-       .byte   CT_CTRL                                 ;   2/02 ___rvs_b___
-       .byte   CT_CTRL                                 ;   3/03 ___rvs_c___
-       .byte   CT_CTRL                                 ;   4/04 ___rvs_d___
-       .byte   CT_CTRL                                 ;   5/05 ___rvs_e___
-       .byte   CT_CTRL                                 ;   6/06 ___rvs_f___
-       .byte   CT_CTRL                                 ;   7/07 _BEL/rvs_g_
-       .byte   CT_CTRL                                 ;   8/08 ___rvs_h___
-       .byte   CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB    ;   9/09 _TAB/rvs_i_
-       .byte   CT_CTRL | CT_OTHER_WS                   ;  10/0a _BOL/rvs_j_
-       .byte   CT_CTRL                                 ;  11/0b ___rvs_k___
-       .byte   CT_CTRL                                 ;  12/0c ___rvs_l___
-       .byte   CT_CTRL | CT_OTHER_WS                   ;  13/0d _CR_/rvs_m_
-       .byte   CT_CTRL                                 ;  14/0e ___rvs_n___
-       .byte   CT_CTRL                                 ;  15/0f ___rvs_o___
-       .byte   CT_CTRL                                 ;  16/10 ___rvs_p___
-       .byte   CT_CTRL | CT_OTHER_WS                   ;  17/11 _VT_/rvs_q_
-       .byte   CT_CTRL                                 ;  18/12 ___rvs_r___
-       .byte   CT_CTRL | CT_OTHER_WS                   ;  19/13 HOME/rvs_s_
-       .byte   CT_CTRL | CT_OTHER_WS                   ;  20/14 _BS_/rvs_t_
-       .byte   CT_CTRL                                 ;  21/15 ___rvs_u___
-       .byte   CT_CTRL                                 ;  22/16 ___rvs_v___
-       .byte   CT_CTRL                                 ;  23/17 ___rvs_w___
-       .byte   CT_CTRL                                 ;  24/18 ___rvs_x___
-       .byte   CT_CTRL                                 ;  25/19 ___rvs_y___
-       .byte   CT_CTRL                                 ;  26/1a ___rvs_z___
-       .byte   CT_CTRL                                 ;  27/1b ___rvs_[___
-       .byte   CT_CTRL                                 ;  28/1c ___rvs_\___
-       .byte   CT_CTRL | CT_OTHER_WS                   ;  29/1d cursr-right
-       .byte   CT_CTRL                                 ;  30/1e ___rvs_^___
-       .byte   CT_CTRL                                 ;  31/1f _rvs_under_
-       .byte   CT_SPACE | CT_SPACE_TAB                 ;  32/20 ___SPACE___
-       .byte   $00                                     ;  33/21 _____!_____
-       .byte   $00                                     ;  34/22 _____"_____
-       .byte   $00                                     ;  35/23 _____#_____
-       .byte   $00                                     ;  36/24 _____$_____
-       .byte   $00                                     ;  37/25 _____%_____
-       .byte   $00                                     ;  38/26 _____&_____
-       .byte   $00                                     ;  39/27 _____'_____
-       .byte   $00                                     ;  40/28 _____(_____
-       .byte   $00                                     ;  41/29 _____)_____
-       .byte   $00                                     ;  42/2a _____*_____
-       .byte   $00                                     ;  43/2b _____+_____
-       .byte   $00                                     ;  44/2c _____,_____
-       .byte   $00                                     ;  45/2d _____-_____
-       .byte   $00                                     ;  46/2e _____._____
-       .byte   $00                                     ;  47/2f _____/_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  48/30 _____0_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  49/31 _____1_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  50/32 _____2_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  51/33 _____3_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  52/34 _____4_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  53/35 _____5_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  54/36 _____6_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  55/37 _____7_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  56/38 _____8_____
-       .byte   CT_DIGIT | CT_XDIGIT                    ;  57/39 _____9_____
-       .byte   $00                                     ;  58/3a _____:_____
-       .byte   $00                                     ;  59/3b _____;_____
-       .byte   $00                                     ;  60/3c _____<_____
-       .byte   $00                                     ;  61/3d _____=_____
-       .byte   $00                                     ;  62/3e _____>_____
-       .byte   $00                                     ;  63/3f _____?_____
+        .byte   CT_CTRL                                 ;   0/00 ___rvs_@___
+        .byte   CT_CTRL                                 ;   1/01 ___rvs_a___
+        .byte   CT_CTRL                                 ;   2/02 ___rvs_b___
+        .byte   CT_CTRL                                 ;   3/03 ___rvs_c___
+        .byte   CT_CTRL                                 ;   4/04 ___rvs_d___
+        .byte   CT_CTRL                                 ;   5/05 ___rvs_e___
+        .byte   CT_CTRL                                 ;   6/06 ___rvs_f___
+        .byte   CT_CTRL                                 ;   7/07 _BEL/rvs_g_
+        .byte   CT_CTRL                                 ;   8/08 ___rvs_h___
+        .byte   CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB    ;   9/09 _TAB/rvs_i_
+        .byte   CT_CTRL | CT_OTHER_WS                   ;  10/0a _BOL/rvs_j_
+        .byte   CT_CTRL                                 ;  11/0b ___rvs_k___
+        .byte   CT_CTRL                                 ;  12/0c ___rvs_l___
+        .byte   CT_CTRL | CT_OTHER_WS                   ;  13/0d _CR_/rvs_m_
+        .byte   CT_CTRL                                 ;  14/0e ___rvs_n___
+        .byte   CT_CTRL                                 ;  15/0f ___rvs_o___
+        .byte   CT_CTRL                                 ;  16/10 ___rvs_p___
+        .byte   CT_CTRL | CT_OTHER_WS                   ;  17/11 _VT_/rvs_q_
+        .byte   CT_CTRL                                 ;  18/12 ___rvs_r___
+        .byte   CT_CTRL | CT_OTHER_WS                   ;  19/13 HOME/rvs_s_
+        .byte   CT_CTRL | CT_OTHER_WS                   ;  20/14 _BS_/rvs_t_
+        .byte   CT_CTRL                                 ;  21/15 ___rvs_u___
+        .byte   CT_CTRL                                 ;  22/16 ___rvs_v___
+        .byte   CT_CTRL                                 ;  23/17 ___rvs_w___
+        .byte   CT_CTRL                                 ;  24/18 ___rvs_x___
+        .byte   CT_CTRL                                 ;  25/19 ___rvs_y___
+        .byte   CT_CTRL                                 ;  26/1a ___rvs_z___
+        .byte   CT_CTRL                                 ;  27/1b ___rvs_[___
+        .byte   CT_CTRL                                 ;  28/1c ___rvs_\___
+        .byte   CT_CTRL | CT_OTHER_WS                   ;  29/1d cursr-right
+        .byte   CT_CTRL                                 ;  30/1e ___rvs_^___
+        .byte   CT_CTRL                                 ;  31/1f _rvs_under_
+        .byte   CT_SPACE | CT_SPACE_TAB                 ;  32/20 ___SPACE___
+        .byte   $00                                     ;  33/21 _____!_____
+        .byte   $00                                     ;  34/22 _____"_____
+        .byte   $00                                     ;  35/23 _____#_____
+        .byte   $00                                     ;  36/24 _____$_____
+        .byte   $00                                     ;  37/25 _____%_____
+        .byte   $00                                     ;  38/26 _____&_____
+        .byte   $00                                     ;  39/27 _____'_____
+        .byte   $00                                     ;  40/28 _____(_____
+        .byte   $00                                     ;  41/29 _____)_____
+        .byte   $00                                     ;  42/2a _____*_____
+        .byte   $00                                     ;  43/2b _____+_____
+        .byte   $00                                     ;  44/2c _____,_____
+        .byte   $00                                     ;  45/2d _____-_____
+        .byte   $00                                     ;  46/2e _____._____
+        .byte   $00                                     ;  47/2f _____/_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  48/30 _____0_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  49/31 _____1_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  50/32 _____2_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  51/33 _____3_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  52/34 _____4_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  53/35 _____5_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  54/36 _____6_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  55/37 _____7_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  56/38 _____8_____
+        .byte   CT_DIGIT | CT_XDIGIT                    ;  57/39 _____9_____
+        .byte   $00                                     ;  58/3a _____:_____
+        .byte   $00                                     ;  59/3b _____;_____
+        .byte   $00                                     ;  60/3c _____<_____
+        .byte   $00                                     ;  61/3d _____=_____
+        .byte   $00                                     ;  62/3e _____>_____
+        .byte   $00                                     ;  63/3f _____?_____
 
-       .byte   $00                                     ;  64/40 _____@_____
-       .byte   CT_LOWER | CT_XDIGIT                    ;  65/41 _____a_____
-       .byte   CT_LOWER | CT_XDIGIT                    ;  66/42 _____b_____
-       .byte   CT_LOWER | CT_XDIGIT                    ;  67/43 _____c_____
-       .byte   CT_LOWER | CT_XDIGIT                    ;  68/44 _____d_____
-       .byte   CT_LOWER | CT_XDIGIT                    ;  69/45 _____e_____
-       .byte   CT_LOWER | CT_XDIGIT                    ;  70/46 _____f_____
-       .byte   CT_LOWER                                ;  71/47 _____g_____
-       .byte   CT_LOWER                                ;  72/48 _____h_____
-       .byte   CT_LOWER                                ;  73/49 _____i_____
-       .byte   CT_LOWER                                ;  74/4a _____j_____
-       .byte   CT_LOWER                                ;  75/4b _____k_____
-       .byte   CT_LOWER                                ;  76/4c _____l_____
-       .byte   CT_LOWER                                ;  77/4d _____m_____
-       .byte   CT_LOWER                                ;  78/4e _____n_____
-       .byte   CT_LOWER                                ;  79/4f _____o_____
-       .byte   CT_LOWER                                ;  80/50 _____p_____
-       .byte   CT_LOWER                                ;  81/51 _____q_____
-       .byte   CT_LOWER                                ;  82/52 _____r_____
-       .byte   CT_LOWER                                ;  83/53 _____s_____
-       .byte   CT_LOWER                                ;  84/54 _____t_____
-       .byte   CT_LOWER                                ;  85/55 _____u_____
-       .byte   CT_LOWER                                ;  86/56 _____v_____
-       .byte   CT_LOWER                                ;  87/57 _____w_____
-       .byte   CT_LOWER                                ;  88/58 _____x_____
-       .byte   CT_LOWER                                ;  89/59 _____y_____
-       .byte   CT_LOWER                                ;  90/5a _____z_____
-       .byte   $00                                     ;  91/5b _____[_____
-       .byte   $00                                     ;  92/5c _____\_____
-       .byte   $00                                     ;  93/5d _____]_____
-       .byte   $00                                     ;  94/5e _____^_____
-       .byte   $00                                     ;  95/5f _UNDERLINE_
-       .byte   $00                                     ;  96/60 _A`_grave__
-       .byte   $00                                     ;  97/61 _A'_acute__
-       .byte   $00                                     ;  98/62 _A^_circum_
-       .byte   $00                                     ;  99/63 _A~_tilde__
-       .byte   $00                                     ; 100/64 _A"_dieres_
-       .byte   $00                                     ; 101/65 _A__ring___
-       .byte   $00                                     ; 102/66 _AE________
-       .byte   $00                                     ; 103/67 _C,cedilla_
-       .byte   $00                                     ; 104/68 _E`_grave__
-       .byte   $00                                     ; 105/69 _E'_acute__
-       .byte   $00                                     ; 106/6a _E^_circum_
-       .byte   $00                                     ; 107/6b _E"_dieres_
-       .byte   $00                                     ; 108/6c _I`_grave__
-       .byte   $00                                     ; 109/6d _I'_acute__
-       .byte   $00                                     ; 110/6e _I^_circum_
-       .byte   $00                                     ; 111/6f _I"_dieres_
-       .byte   $00                                     ; 112/70 _D-_Eth_lr_
-       .byte   $00                                     ; 113/71 _N~_tilde__
-       .byte   $00                                     ; 114/72 _O`_grave__
-       .byte   $00                                     ; 115/73 _O'_acute__
-       .byte   $00                                     ; 116/74 _O^_circum_
-       .byte   $00                                     ; 117/75 _O~_tilde__
-       .byte   $00                                     ; 118/76 _O"_dieres_
-       .byte   $00                                     ; 119/77 __multiply_
-       .byte   $00                                     ; 120/78 _O/_slash__
-       .byte   $00                                     ; 121/79 _U`_grave__
-       .byte   $00                                     ; 122/7a _U'_acute__
-       .byte   $00                                     ; 123/7b _U^_circum_
-       .byte   $00                                     ; 124/7c _U"_dieres_
-       .byte   $00                                     ; 125/7d _Y'_acute__
-       .byte   $00                                     ; 126/7e _cap_thorn_
-       .byte   $00                                     ; 127/7f _Es-sed_B__
+        .byte   $00                                     ;  64/40 _____@_____
+        .byte   CT_LOWER | CT_XDIGIT                    ;  65/41 _____a_____
+        .byte   CT_LOWER | CT_XDIGIT                    ;  66/42 _____b_____
+        .byte   CT_LOWER | CT_XDIGIT                    ;  67/43 _____c_____
+        .byte   CT_LOWER | CT_XDIGIT                    ;  68/44 _____d_____
+        .byte   CT_LOWER | CT_XDIGIT                    ;  69/45 _____e_____
+        .byte   CT_LOWER | CT_XDIGIT                    ;  70/46 _____f_____
+        .byte   CT_LOWER                                ;  71/47 _____g_____
+        .byte   CT_LOWER                                ;  72/48 _____h_____
+        .byte   CT_LOWER                                ;  73/49 _____i_____
+        .byte   CT_LOWER                                ;  74/4a _____j_____
+        .byte   CT_LOWER                                ;  75/4b _____k_____
+        .byte   CT_LOWER                                ;  76/4c _____l_____
+        .byte   CT_LOWER                                ;  77/4d _____m_____
+        .byte   CT_LOWER                                ;  78/4e _____n_____
+        .byte   CT_LOWER                                ;  79/4f _____o_____
+        .byte   CT_LOWER                                ;  80/50 _____p_____
+        .byte   CT_LOWER                                ;  81/51 _____q_____
+        .byte   CT_LOWER                                ;  82/52 _____r_____
+        .byte   CT_LOWER                                ;  83/53 _____s_____
+        .byte   CT_LOWER                                ;  84/54 _____t_____
+        .byte   CT_LOWER                                ;  85/55 _____u_____
+        .byte   CT_LOWER                                ;  86/56 _____v_____
+        .byte   CT_LOWER                                ;  87/57 _____w_____
+        .byte   CT_LOWER                                ;  88/58 _____x_____
+        .byte   CT_LOWER                                ;  89/59 _____y_____
+        .byte   CT_LOWER                                ;  90/5a _____z_____
+        .byte   $00                                     ;  91/5b _____[_____
+        .byte   $00                                     ;  92/5c _____\_____
+        .byte   $00                                     ;  93/5d _____]_____
+        .byte   $00                                     ;  94/5e _____^_____
+        .byte   $00                                     ;  95/5f _UNDERLINE_
+        .byte   $00                                     ;  96/60 _A`_grave__
+        .byte   $00                                     ;  97/61 _A'_acute__
+        .byte   $00                                     ;  98/62 _A^_circum_
+        .byte   $00                                     ;  99/63 _A~_tilde__
+        .byte   $00                                     ; 100/64 _A"_dieres_
+        .byte   $00                                     ; 101/65 _A__ring___
+        .byte   $00                                     ; 102/66 _AE________
+        .byte   $00                                     ; 103/67 _C,cedilla_
+        .byte   $00                                     ; 104/68 _E`_grave__
+        .byte   $00                                     ; 105/69 _E'_acute__
+        .byte   $00                                     ; 106/6a _E^_circum_
+        .byte   $00                                     ; 107/6b _E"_dieres_
+        .byte   $00                                     ; 108/6c _I`_grave__
+        .byte   $00                                     ; 109/6d _I'_acute__
+        .byte   $00                                     ; 110/6e _I^_circum_
+        .byte   $00                                     ; 111/6f _I"_dieres_
+        .byte   $00                                     ; 112/70 _D-_Eth_lr_
+        .byte   $00                                     ; 113/71 _N~_tilde__
+        .byte   $00                                     ; 114/72 _O`_grave__
+        .byte   $00                                     ; 115/73 _O'_acute__
+        .byte   $00                                     ; 116/74 _O^_circum_
+        .byte   $00                                     ; 117/75 _O~_tilde__
+        .byte   $00                                     ; 118/76 _O"_dieres_
+        .byte   $00                                     ; 119/77 __multiply_
+        .byte   $00                                     ; 120/78 _O/_slash__
+        .byte   $00                                     ; 121/79 _U`_grave__
+        .byte   $00                                     ; 122/7a _U'_acute__
+        .byte   $00                                     ; 123/7b _U^_circum_
+        .byte   $00                                     ; 124/7c _U"_dieres_
+        .byte   $00                                     ; 125/7d _Y'_acute__
+        .byte   $00                                     ; 126/7e _cap_thorn_
+        .byte   $00                                     ; 127/7f _Es-sed_B__
 
-       .byte   CT_CTRL                                 ; 128/80 __bullet___
-       .byte   CT_CTRL                                 ; 129/81 __v_line___
-       .byte   CT_CTRL                                 ; 130/82 __h_line___
-       .byte   CT_CTRL                                 ; 131/83 ___cross___
-       .byte   CT_CTRL                                 ; 132/84 _tl_corner_
-       .byte   CT_CTRL                                 ; 133/85 _tr_corner_
-       .byte   CT_CTRL                                 ; 134/86 _bl_corner_
-       .byte   CT_CTRL                                 ; 135/87 _br_corner_
-       .byte   CT_CTRL                                 ; 136/88 ___l_tee___
-       .byte   CT_CTRL                                 ; 137/89 ___r_tee___
-       .byte   CT_CTRL                                 ; 138/8a ___t_tee___
-       .byte   CT_CTRL                                 ; 139/8b ___b_tee___
-       .byte   CT_CTRL                                 ; 140/8c ___heart___
-       .byte   CT_CTRL | CT_OTHER_WS                   ; 141/8d _CR/diamond
-       .byte   CT_CTRL                                 ; 142/8e ___club____
-       .byte   CT_CTRL                                 ; 143/8f ___spade___
-       .byte   CT_CTRL                                 ; 144/90 _s_circle__
-       .byte   CT_CTRL | CT_OTHER_WS                   ; 145/91 _cursor-up_
-       .byte   CT_CTRL                                 ; 146/92 ___pound___
-       .byte   CT_CTRL | CT_OTHER_WS                   ; 147/93 _CLS/check_
-       .byte   CT_CTRL | CT_OTHER_WS                   ; 148/94 __INSert___
-       .byte   CT_CTRL                                 ; 149/95 ____+/-____
-       .byte   CT_CTRL                                 ; 150/96 __divide___
-       .byte   CT_CTRL                                 ; 151/97 __degree___
-       .byte   CT_CTRL                                 ; 152/98 _c_checker_
-       .byte   CT_CTRL                                 ; 153/99 _f_checker_
-       .byte   CT_CTRL                                 ; 154/9a _solid_sq__
-       .byte   CT_CTRL                                 ; 155/9b __cr_char__
-       .byte   CT_CTRL                                 ; 156/9c _up_arrow__
-       .byte   CT_CTRL | CT_OTHER_WS                   ; 157/9d cursor-left
-       .byte   CT_CTRL                                 ; 158/9e _left_arro_
-       .byte   CT_CTRL                                 ; 159/9f _right_arr_
-       .byte   CT_SPACE | CT_SPACE_TAB                 ; 160/a0 _req space_
-       .byte   $00                                     ; 161/a1 _!_invertd_
-       .byte   $00                                     ; 162/a2 ___cent____
-       .byte   $00                                     ; 163/a3 ___pound___
-       .byte   $00                                     ; 164/a4 __currency_
-       .byte   $00                                     ; 165/a5 ____yen____
-       .byte   $00                                     ; 166/a6 _|_broken__
-       .byte   $00                                     ; 167/a7 __section__
-       .byte   $00                                     ; 168/a8 __umulaut__
-       .byte   $00                                     ; 169/a9 _copyright_
-       .byte   $00                                     ; 170/aa __fem_ord__
-       .byte   $00                                     ; 171/ab _l_ang_quo_
-       .byte   $00                                     ; 172/ac ____not____
-       .byte   $00                                     ; 173/ad _syl_hyphn_
-       .byte   $00                                     ; 174/ae _registerd_
-       .byte   $00                                     ; 175/af _overline__
-       .byte   $00                                     ; 176/b0 __degrees__
-       .byte   $00                                     ; 177/b1 ____+/-____
-       .byte   $00                                     ; 178/b2 _2_supersc_
-       .byte   $00                                     ; 179/b3 _3_supersc_
-       .byte   $00                                     ; 180/b4 ___acute___
-       .byte   $00                                     ; 181/b5 ____mu_____
-       .byte   $00                                     ; 182/b6 _paragraph_
-       .byte   $00                                     ; 183/b7 __mid_dot__
-       .byte   $00                                     ; 184/b8 __cedilla__
-       .byte   $00                                     ; 185/b9 _1_supersc_
-       .byte   $00                                     ; 186/ba __mas_ord__
-       .byte   $00                                     ; 187/bb _r_ang_quo_
-       .byte   $00                                     ; 188/bc ____1/4____
-       .byte   $00                                     ; 189/bd ____1/2____
-       .byte   $00                                     ; 190/be ____3/4____
-       .byte   $00                                     ; 191/bf _?_invertd_
+        .byte   CT_CTRL                                 ; 128/80 __bullet___
+        .byte   CT_CTRL                                 ; 129/81 __v_line___
+        .byte   CT_CTRL                                 ; 130/82 __h_line___
+        .byte   CT_CTRL                                 ; 131/83 ___cross___
+        .byte   CT_CTRL                                 ; 132/84 _tl_corner_
+        .byte   CT_CTRL                                 ; 133/85 _tr_corner_
+        .byte   CT_CTRL                                 ; 134/86 _bl_corner_
+        .byte   CT_CTRL                                 ; 135/87 _br_corner_
+        .byte   CT_CTRL                                 ; 136/88 ___l_tee___
+        .byte   CT_CTRL                                 ; 137/89 ___r_tee___
+        .byte   CT_CTRL                                 ; 138/8a ___t_tee___
+        .byte   CT_CTRL                                 ; 139/8b ___b_tee___
+        .byte   CT_CTRL                                 ; 140/8c ___heart___
+        .byte   CT_CTRL | CT_OTHER_WS                   ; 141/8d _CR/diamond
+        .byte   CT_CTRL                                 ; 142/8e ___club____
+        .byte   CT_CTRL                                 ; 143/8f ___spade___
+        .byte   CT_CTRL                                 ; 144/90 _s_circle__
+        .byte   CT_CTRL | CT_OTHER_WS                   ; 145/91 _cursor-up_
+        .byte   CT_CTRL                                 ; 146/92 ___pound___
+        .byte   CT_CTRL | CT_OTHER_WS                   ; 147/93 _CLS/check_
+        .byte   CT_CTRL | CT_OTHER_WS                   ; 148/94 __INSert___
+        .byte   CT_CTRL                                 ; 149/95 ____+/-____
+        .byte   CT_CTRL                                 ; 150/96 __divide___
+        .byte   CT_CTRL                                 ; 151/97 __degree___
+        .byte   CT_CTRL                                 ; 152/98 _c_checker_
+        .byte   CT_CTRL                                 ; 153/99 _f_checker_
+        .byte   CT_CTRL                                 ; 154/9a _solid_sq__
+        .byte   CT_CTRL                                 ; 155/9b __cr_char__
+        .byte   CT_CTRL                                 ; 156/9c _up_arrow__
+        .byte   CT_CTRL | CT_OTHER_WS                   ; 157/9d cursor-left
+        .byte   CT_CTRL                                 ; 158/9e _left_arro_
+        .byte   CT_CTRL                                 ; 159/9f _right_arr_
+        .byte   CT_SPACE | CT_SPACE_TAB                 ; 160/a0 _req space_
+        .byte   $00                                     ; 161/a1 _!_invertd_
+        .byte   $00                                     ; 162/a2 ___cent____
+        .byte   $00                                     ; 163/a3 ___pound___
+        .byte   $00                                     ; 164/a4 __currency_
+        .byte   $00                                     ; 165/a5 ____yen____
+        .byte   $00                                     ; 166/a6 _|_broken__
+        .byte   $00                                     ; 167/a7 __section__
+        .byte   $00                                     ; 168/a8 __umulaut__
+        .byte   $00                                     ; 169/a9 _copyright_
+        .byte   $00                                     ; 170/aa __fem_ord__
+        .byte   $00                                     ; 171/ab _l_ang_quo_
+        .byte   $00                                     ; 172/ac ____not____
+        .byte   $00                                     ; 173/ad _syl_hyphn_
+        .byte   $00                                     ; 174/ae _registerd_
+        .byte   $00                                     ; 175/af _overline__
+        .byte   $00                                     ; 176/b0 __degrees__
+        .byte   $00                                     ; 177/b1 ____+/-____
+        .byte   $00                                     ; 178/b2 _2_supersc_
+        .byte   $00                                     ; 179/b3 _3_supersc_
+        .byte   $00                                     ; 180/b4 ___acute___
+        .byte   $00                                     ; 181/b5 ____mu_____
+        .byte   $00                                     ; 182/b6 _paragraph_
+        .byte   $00                                     ; 183/b7 __mid_dot__
+        .byte   $00                                     ; 184/b8 __cedilla__
+        .byte   $00                                     ; 185/b9 _1_supersc_
+        .byte   $00                                     ; 186/ba __mas_ord__
+        .byte   $00                                     ; 187/bb _r_ang_quo_
+        .byte   $00                                     ; 188/bc ____1/4____
+        .byte   $00                                     ; 189/bd ____1/2____
+        .byte   $00                                     ; 190/be ____3/4____
+        .byte   $00                                     ; 191/bf _?_invertd_
 
-       .byte   $00                                     ; 192/c0 _____`_____
-       .byte   CT_UPPER | CT_XDIGIT                    ; 193/c1 _____A_____
-       .byte   CT_UPPER | CT_XDIGIT                    ; 194/c2 _____B_____
-       .byte   CT_UPPER | CT_XDIGIT                    ; 195/c3 _____C_____
-       .byte   CT_UPPER | CT_XDIGIT                    ; 196/c4 _____D_____
-       .byte   CT_UPPER | CT_XDIGIT                    ; 197/c5 _____E_____
-       .byte   CT_UPPER | CT_XDIGIT                    ; 198/c6 _____F_____
-       .byte   CT_UPPER                                ; 199/c7 _____G_____
-       .byte   CT_UPPER                                ; 200/c8 _____H_____
-       .byte   CT_UPPER                                ; 201/c9 _____I_____
-       .byte   CT_UPPER                                ; 202/ca _____J_____
-       .byte   CT_UPPER                                ; 203/cb _____K_____
-       .byte   CT_UPPER                                ; 204/cc _____L_____
-       .byte   CT_UPPER                                ; 205/cd _____M_____
-       .byte   CT_UPPER                                ; 206/ce _____N_____
-       .byte   CT_UPPER                                ; 207/cf _____O_____
-       .byte   CT_UPPER                                ; 208/d0 _____P_____
-       .byte   CT_UPPER                                ; 209/d1 _____Q_____
-       .byte   CT_UPPER                                ; 210/d2 _____R_____
-       .byte   CT_UPPER                                ; 211/d3 _____S_____
-       .byte   CT_UPPER                                ; 212/d4 _____T_____
-       .byte   CT_UPPER                                ; 213/d5 _____U_____
-       .byte   CT_UPPER                                ; 214/d6 _____V_____
-       .byte   CT_UPPER                                ; 215/d7 _____W_____
-       .byte   CT_UPPER                                ; 216/d8 _____X_____
-       .byte   CT_UPPER                                ; 217/d9 _____Y_____
-       .byte   CT_UPPER                                ; 218/da _____Z_____
-       .byte   $00                                     ; 219/db _____{_____
-       .byte   $00                                     ; 220/dc _____|_____
-       .byte   $00                                     ; 221/dd _____}_____
-       .byte   $00                                     ; 222/de _____~_____
-       .byte   $00                                     ; 223/df ___HOUSE___
-       .byte   $00                                     ; 224/e0 _a`_grave__
-       .byte   $00                                     ; 225/e1 _a'_acute__
-       .byte   $00                                     ; 226/e2 _a^_circum_
-       .byte   $00                                     ; 227/e3 _a~_tilde__
-       .byte   $00                                     ; 228/e4 _a"_dieres_
-       .byte   $00                                     ; 229/e5 _a__ring___
-       .byte   $00                                     ; 230/e6 _ae________
-       .byte   $00                                     ; 231/e7 _c,cedilla_
-       .byte   $00                                     ; 232/e8 _e`_grave__
-       .byte   $00                                     ; 233/e9 _e'_acute__
-       .byte   $00                                     ; 234/ea _e^_circum_
-       .byte   $00                                     ; 235/eb _e"_dieres_
-       .byte   $00                                     ; 236/ec _i`_grave__
-       .byte   $00                                     ; 237/ed _i'_acute__
-       .byte   $00                                     ; 238/ee _i^_circum_
-       .byte   $00                                     ; 239/ef _i"_dieres_
-       .byte   $00                                     ; 240/f0 _o^x_Eth_s_
-       .byte   $00                                     ; 241/f1 _n~_tilda__
-       .byte   $00                                     ; 242/f2 _o`_grave__
-       .byte   $00                                     ; 243/f3 _o'_acute__
-       .byte   $00                                     ; 244/f4 _o^_circum_
-       .byte   $00                                     ; 245/f5 _o~_tilde__
-       .byte   $00                                     ; 246/f6 _o"_dieres_
-       .byte   $00                                     ; 247/f7 __divide___
-       .byte   $00                                     ; 248/f8 _o/_slash__
-       .byte   $00                                     ; 249/f9 _u`_grave__
-       .byte   $00                                     ; 250/fa _u'_acute__
-       .byte   $00                                     ; 251/fb _u^_circum_
-       .byte   $00                                     ; 252/fc _u"_dieres_
-       .byte   $00                                     ; 253/fd _y'_acute__
-       .byte   $00                                     ; 254/fe _sm_thorn__
-       .byte   $00                                     ; 255/ff _y"_dieres_
+        .byte   $00                                     ; 192/c0 _____`_____
+        .byte   CT_UPPER | CT_XDIGIT                    ; 193/c1 _____A_____
+        .byte   CT_UPPER | CT_XDIGIT                    ; 194/c2 _____B_____
+        .byte   CT_UPPER | CT_XDIGIT                    ; 195/c3 _____C_____
+        .byte   CT_UPPER | CT_XDIGIT                    ; 196/c4 _____D_____
+        .byte   CT_UPPER | CT_XDIGIT                    ; 197/c5 _____E_____
+        .byte   CT_UPPER | CT_XDIGIT                    ; 198/c6 _____F_____
+        .byte   CT_UPPER                                ; 199/c7 _____G_____
+        .byte   CT_UPPER                                ; 200/c8 _____H_____
+        .byte   CT_UPPER                                ; 201/c9 _____I_____
+        .byte   CT_UPPER                                ; 202/ca _____J_____
+        .byte   CT_UPPER                                ; 203/cb _____K_____
+        .byte   CT_UPPER                                ; 204/cc _____L_____
+        .byte   CT_UPPER                                ; 205/cd _____M_____
+        .byte   CT_UPPER                                ; 206/ce _____N_____
+        .byte   CT_UPPER                                ; 207/cf _____O_____
+        .byte   CT_UPPER                                ; 208/d0 _____P_____
+        .byte   CT_UPPER                                ; 209/d1 _____Q_____
+        .byte   CT_UPPER                                ; 210/d2 _____R_____
+        .byte   CT_UPPER                                ; 211/d3 _____S_____
+        .byte   CT_UPPER                                ; 212/d4 _____T_____
+        .byte   CT_UPPER                                ; 213/d5 _____U_____
+        .byte   CT_UPPER                                ; 214/d6 _____V_____
+        .byte   CT_UPPER                                ; 215/d7 _____W_____
+        .byte   CT_UPPER                                ; 216/d8 _____X_____
+        .byte   CT_UPPER                                ; 217/d9 _____Y_____
+        .byte   CT_UPPER                                ; 218/da _____Z_____
+        .byte   $00                                     ; 219/db _____{_____
+        .byte   $00                                     ; 220/dc _____|_____
+        .byte   $00                                     ; 221/dd _____}_____
+        .byte   $00                                     ; 222/de _____~_____
+        .byte   $00                                     ; 223/df ___HOUSE___
+        .byte   $00                                     ; 224/e0 _a`_grave__
+        .byte   $00                                     ; 225/e1 _a'_acute__
+        .byte   $00                                     ; 226/e2 _a^_circum_
+        .byte   $00                                     ; 227/e3 _a~_tilde__
+        .byte   $00                                     ; 228/e4 _a"_dieres_
+        .byte   $00                                     ; 229/e5 _a__ring___
+        .byte   $00                                     ; 230/e6 _ae________
+        .byte   $00                                     ; 231/e7 _c,cedilla_
+        .byte   $00                                     ; 232/e8 _e`_grave__
+        .byte   $00                                     ; 233/e9 _e'_acute__
+        .byte   $00                                     ; 234/ea _e^_circum_
+        .byte   $00                                     ; 235/eb _e"_dieres_
+        .byte   $00                                     ; 236/ec _i`_grave__
+        .byte   $00                                     ; 237/ed _i'_acute__
+        .byte   $00                                     ; 238/ee _i^_circum_
+        .byte   $00                                     ; 239/ef _i"_dieres_
+        .byte   $00                                     ; 240/f0 _o^x_Eth_s_
+        .byte   $00                                     ; 241/f1 _n~_tilda__
+        .byte   $00                                     ; 242/f2 _o`_grave__
+        .byte   $00                                     ; 243/f3 _o'_acute__
+        .byte   $00                                     ; 244/f4 _o^_circum_
+        .byte   $00                                     ; 245/f5 _o~_tilde__
+        .byte   $00                                     ; 246/f6 _o"_dieres_
+        .byte   $00                                     ; 247/f7 __divide___
+        .byte   $00                                     ; 248/f8 _o/_slash__
+        .byte   $00                                     ; 249/f9 _u`_grave__
+        .byte   $00                                     ; 250/fa _u'_acute__
+        .byte   $00                                     ; 251/fb _u^_circum_
+        .byte   $00                                     ; 252/fc _u"_dieres_
+        .byte   $00                                     ; 253/fd _y'_acute__
+        .byte   $00                                     ; 254/fe _sm_thorn__
+        .byte   $00                                     ; 255/ff _y"_dieres_
 
index 151a4925a58f8daa4705083a24249de6704ea5bf..f310e43223ee39ca700295de8568104219a5ff64 100644 (file)
@@ -5,26 +5,26 @@
 ; void cvline (unsigned char length);
 ;
 
-       .export         _cvlinexy, _cvline
-       .import         popa, _gotoxy, putchar, newline
-       .importzp       tmp1
+        .export         _cvlinexy, _cvline
+        .import         popa, _gotoxy, putchar, newline
+        .importzp       tmp1
 
 _cvlinexy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-       pla                     ; Restore the length and run into _cvline
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cvline
 
 _cvline:
-       cmp     #0              ; Is the length zero?
-       beq     L9              ; Jump if done
-       sta     tmp1
-L1:    lda     #93             ; Vertical bar
-       jsr     putchar         ; Write, no cursor advance
-       jsr     newline         ; Advance cursor to next line
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1
+L1:     lda     #93             ; Vertical bar
+        jsr     putchar         ; Write, no cursor advance
+        jsr     newline         ; Advance cursor to next line
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index f3239c4aa949ef1164d74fce6a0cbeacef9d9bea..c206e6ed9915fd783685417ab92e7622927eb0c7 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 struct DIR {
-    int                fd;             /* File descriptor for directory */
+    int         fd;             /* File descriptor for directory */
     unsigned    off;            /* Current byte offset in directory */
     char        name[16+1];     /* Name passed to opendir */
 };
@@ -29,7 +29,7 @@ struct DIR {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e5884bbdf960f6815d050c21722a9c381f21d1a9..a2b8aab5a298b9fc7bb33ded642f49b953cf20e9 100644 (file)
@@ -172,7 +172,7 @@ drivedone:
 ; fnaddmode: Add ",m" to a filename, where "m" is passed in A
 
 fncomplete:
-       pha                     ; Save mode
+        pha                     ; Save mode
         lda     __filetype
         jsr     fnaddmode       ; Add the type
         pla
index 25de6c3f4257606ec2d70406cc5291aa11dc0e1e..f122a276c9f93f32172412bad9a34d3a85b9423a 100644 (file)
@@ -4,12 +4,12 @@
 ; void gotox (unsigned char x);
 ;
 
-       .export         _gotox
-       .import         plot           
-       .importzp       CURS_X
+        .export         _gotox
+        .import         plot           
+        .importzp       CURS_X
 
-_gotox:        sta     CURS_X          ; Set new position
-       jmp     plot            ; And activate it
+_gotox: sta     CURS_X          ; Set new position
+        jmp     plot            ; And activate it
 
 
 
index cce95aee57e39af0ca46d0909d23dcbcc01d6c61..64c6bd21d1639d9f26e07d940273ab77fce1180a 100644 (file)
@@ -4,14 +4,14 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-       .export         _gotoxy
-       .import         popa, plot
-       .importzp       CURS_X, CURS_Y
+        .export         _gotoxy
+        .import         popa, plot
+        .importzp       CURS_X, CURS_Y
 
 _gotoxy:
-       sta     CURS_Y          ; Set Y
-       jsr     popa            ; Get X
-       sta     CURS_X          ; Set X
-       jmp     plot            ; Set the cursor position
+        sta     CURS_Y          ; Set Y
+        jsr     popa            ; Get X
+        sta     CURS_X          ; Set X
+        jmp     plot            ; Set the cursor position
 
 
index 7779b54f9518ee3d9d530996eff6977ace582a38..6a7ee87bdebe9bc13efffa7187476f33977b76a9 100644 (file)
@@ -4,10 +4,10 @@
 ; void gotoy (unsigned char y);
 ;
 
-       .export         _gotoy
-       .import         plot
-       .importzp       CURS_Y
+        .export         _gotoy
+        .import         plot
+        .importzp       CURS_Y
 
-_gotoy:        sta     CURS_Y          ; Set the new position
-       jmp     plot            ; And activate it
+_gotoy: sta     CURS_Y          ; Set the new position
+        jmp     plot            ; And activate it
 
index 1289b71dc5af6a019fb0244257d183ca3a86f6f5..d5e5b929665521a8f014ead41126bbcad5af6921 100644 (file)
@@ -4,38 +4,38 @@
 ; CBM _curunit to _cwd
 ;
 
-       .export         initcwd, devicestr
-       .import         curunit, __cwd
-       .import         pusha0, tosudiva0
-       .importzp       sreg, ptr1, ptr2
+        .export         initcwd, devicestr
+        .import         curunit, __cwd
+        .import         pusha0, tosudiva0
+        .importzp       sreg, ptr1, ptr2
 
-       .macpack        generic
+        .macpack        generic
 
 initcwd:
-       lda     #<__cwd
-       ldx     #>__cwd
-       sta     ptr2
-       stx     ptr2+1
-       lda     curunit
-       ; Fall through
+        lda     #<__cwd
+        ldx     #>__cwd
+        sta     ptr2
+        stx     ptr2+1
+        lda     curunit
+        ; Fall through
 
 ;------------------------------------------------------------------------------
 ; Convert unit number in A into string representation pointed to by ptr2.
 
 devicestr:
-       jsr     pusha0
-       lda     #10
-       jsr     tosudiva0
-       ldy     #0
-       lda     sreg
-       beq     @L0             ; >=10
-       add     #'0'
-       sta     (ptr2),y
-       iny
-@L0:   lda     ptr1            ; rem
-       add     #'0'
-       sta     (ptr2),y
-       iny
-       lda     #0
-       sta     (ptr2),y
-       rts
+        jsr     pusha0
+        lda     #10
+        jsr     tosudiva0
+        ldy     #0
+        lda     sreg
+        beq     @L0             ; >=10
+        add     #'0'
+        sta     (ptr2),y
+        iny
+@L0:    lda     ptr1            ; rem
+        add     #'0'
+        sta     (ptr2),y
+        iny
+        lda     #0
+        sta     (ptr2),y
+        rts
index dadf82d33b0cd1e5f3acc71651d4faed4d64f5bb..4e57f5efc5a4628983e5fc61decc3c2878815dcb 100644 (file)
@@ -1,7 +1,7 @@
 ;
 ; Ullrich von Bassewitz, 16.11.2002
 ;
-; int open (const char* name, int flags, ...); /* May take a mode argument */
+; int open (const char* name, int flags, ...);  /* May take a mode argument */
 ;
 ; Be sure to keep the value priority of closeallfiles lower than that of
 ; closeallstreams (which is the high level C file I/O counterpart and must be
@@ -58,12 +58,12 @@ next:   dex
 
 ; Throw away any additional parameters passed through the ellipsis
 
-               dey                     ; Parm count < 4 shouldn't be needed to be...
-               dey                     ; ...checked (it generates a c compiler warning)
+        dey                     ; Parm count < 4 shouldn't be needed to be...
+        dey                     ; ...checked (it generates a c compiler warning)
         dey
-               dey
-               beq     parmok          ; Branch if parameter count ok
-               jsr     addysp          ; Fix stack, throw away unused parameters
+        dey
+        beq     parmok          ; Branch if parameter count ok
+        jsr     addysp          ; Fix stack, throw away unused parameters
 
 ; Parameters ok. Pop the flags and save them into tmp3
 
index b48f90970569aa4de767f50ae8e4d9d6da47fe08..c8572391098473fd777fb7bcaffb492f3f4cf1a8 100644 (file)
@@ -41,45 +41,45 @@ End:
 
 __sys_oserrlist:
         sys_oserr_entry          1, "Too many open files"
-               sys_oserr_entry          2, "File is open"
-               sys_oserr_entry          3, "File not open"
-               sys_oserr_entry          4, "File not found"
-               sys_oserr_entry          5, "Device not present"
-               sys_oserr_entry          6, "File not input"
-               sys_oserr_entry          7, "File not output"
-               sys_oserr_entry          8, "Filename missing"
-               sys_oserr_entry          9, "Ilegal device"
-               sys_oserr_entry         20, "Read error"
-               sys_oserr_entry         21, "Read error"
-               sys_oserr_entry         22, "Read error"
-               sys_oserr_entry         23, "Read error"
-               sys_oserr_entry         24, "Read error"
-               sys_oserr_entry         25, "Write error"
-               sys_oserr_entry         26, "Write protect on"
-               sys_oserr_entry         27, "Read error"
-               sys_oserr_entry         28, "Write error"
-               sys_oserr_entry         29, "Disk ID mismatch"
-               sys_oserr_entry         30, "Syntax error"
-               sys_oserr_entry         31, "Syntax error"
-               sys_oserr_entry         32, "Syntax error"
-               sys_oserr_entry         33, "Syntax error (invalid file name)"
-               sys_oserr_entry         34, "Syntax error (no file given)"
-               sys_oserr_entry         39, "Syntax error"
-               sys_oserr_entry         50, "Record not present"
-               sys_oserr_entry         51, "Overflow in record"
-               sys_oserr_entry         52, "File too large"
-               sys_oserr_entry         60, "Write file open"
-               sys_oserr_entry         61, "File not open"
-               sys_oserr_entry         62, "File not found"
-               sys_oserr_entry         63, "File exists"
-               sys_oserr_entry         64, "File type mismatch"
-               sys_oserr_entry         65, "No block"
-               sys_oserr_entry         66, "Illegal track or sector"
-               sys_oserr_entry         67, "Illegal system track or sector"
-               sys_oserr_entry         70, "No channel"
-               sys_oserr_entry         71, "Directory error"
-               sys_oserr_entry         72, "Disk full"
-               sys_oserr_entry         73, "DOS version mismatch"
+        sys_oserr_entry          2, "File is open"
+        sys_oserr_entry          3, "File not open"
+        sys_oserr_entry          4, "File not found"
+        sys_oserr_entry          5, "Device not present"
+        sys_oserr_entry          6, "File not input"
+        sys_oserr_entry          7, "File not output"
+        sys_oserr_entry          8, "Filename missing"
+        sys_oserr_entry          9, "Ilegal device"
+        sys_oserr_entry         20, "Read error"
+        sys_oserr_entry         21, "Read error"
+        sys_oserr_entry         22, "Read error"
+        sys_oserr_entry         23, "Read error"
+        sys_oserr_entry         24, "Read error"
+        sys_oserr_entry         25, "Write error"
+        sys_oserr_entry         26, "Write protect on"
+        sys_oserr_entry         27, "Read error"
+        sys_oserr_entry         28, "Write error"
+        sys_oserr_entry         29, "Disk ID mismatch"
+        sys_oserr_entry         30, "Syntax error"
+        sys_oserr_entry         31, "Syntax error"
+        sys_oserr_entry         32, "Syntax error"
+        sys_oserr_entry         33, "Syntax error (invalid file name)"
+        sys_oserr_entry         34, "Syntax error (no file given)"
+        sys_oserr_entry         39, "Syntax error"
+        sys_oserr_entry         50, "Record not present"
+        sys_oserr_entry         51, "Overflow in record"
+        sys_oserr_entry         52, "File too large"
+        sys_oserr_entry         60, "Write file open"
+        sys_oserr_entry         61, "File not open"
+        sys_oserr_entry         62, "File not found"
+        sys_oserr_entry         63, "File exists"
+        sys_oserr_entry         64, "File type mismatch"
+        sys_oserr_entry         65, "No block"
+        sys_oserr_entry         66, "Illegal track or sector"
+        sys_oserr_entry         67, "Illegal system track or sector"
+        sys_oserr_entry         70, "No channel"
+        sys_oserr_entry         71, "Directory error"
+        sys_oserr_entry         72, "Disk full"
+        sys_oserr_entry         73, "DOS version mismatch"
         sys_oserr_entry         74, "Drive not ready"
         sys_oserr_sentinel      "Unknown error"
 
index de1b08c0dbb4bf83a4d86fded3780e74b413f836..29980548a2373d2be1f0b5729f8a6844d5afecb5 100644 (file)
@@ -5,73 +5,73 @@
 ; /* Map a system specific error into a system independent code */
 ;
 
-       .include        "errno.inc"
+        .include        "errno.inc"
 
 .code
 
 __osmaperrno:
-       ldx     #ErrTabSize
-@L1:   cmp     ErrTab-2,x      ; Search for the error code
-       beq     @L2             ; Jump if found
-       dex
-       dex
-       bne     @L1             ; Next entry
+        ldx     #ErrTabSize
+@L1:    cmp     ErrTab-2,x      ; Search for the error code
+        beq     @L2             ; Jump if found
+        dex
+        dex
+        bne     @L1             ; Next entry
 
 ; Code not found, return EUNKNOWN
 
-       lda     #<EUNKNOWN
-       ldx     #>EUNKNOWN
-       rts
+        lda     #<EUNKNOWN
+        ldx     #>EUNKNOWN
+        rts
 
 ; Found the code
 
-@L2:   lda     ErrTab-1,x
-       ldx     #$00            ; High byte always zero
-       rts
+@L2:    lda     ErrTab-1,x
+        ldx     #$00            ; High byte always zero
+        rts
 
 .rodata
 
 ErrTab:
-       .byte   1, EMFILE       ; Too many open files
-       .byte   2, EINVAL       ; File is open
-       .byte   3, EINVAL       ; File not open
-       .byte   4, ENOENT       ; File not found
-       .byte   5, ENODEV       ; Device not present
-       .byte   6, EINVAL       ; File not input
-       .byte   7, EINVAL       ; File not output
-       .byte   8, EINVAL       ; Filename missing
-       .byte   9, ENODEV       ; Ilegal device
-;      .byte  20,              ; Read error
-;              .byte  21,              ; Read error
-;      .byte  22,              ; Read error
-;              .byte  23,              ; Read error
-;              .byte  24,              ; Read error
-;              .byte  25,              ; Write error
-       .byte  26, EACCES       ; Write protect on
-;              .byte  27,              ; Read error
-;              .byte  28,              ; Write error
-;              .byte  29,              ; Disk ID mismatch
-;              .byte  30,              ; Syntax error
-;              .byte  31,              ; Syntax error
-;              .byte  32,              ; Syntax error
-               .byte  33, EINVAL       ; Syntax error (invalid file name)
-               .byte  34, EINVAL       ; Syntax error (no file given)
-;              .byte  39,              ; Syntax error
-;              .byte  50,              ; Record not present
-;              .byte  51,              ; Overflow in record
-;      .byte  52,              ; File too large
-       .byte  60, EINVAL       ; Write file open
-       .byte  61, EINVAL       ; File not open
-       .byte  62, ENOENT       ; File not found
-       .byte  63, EEXIST       ; File exists
-       .byte  64, EINVAL       ; File type mismatch
-;      .byte  65,              ; No block
-;      .byte  66,              ; Illegal track or sector
-;              .byte  67,              ; Illegal system track or sector
-       .byte  70, EBUSY        ; No channel
-;              .byte  71,              ; Directory error
-;      .byte  72,              ; Disk full
-;              .byte  73,              ; DOS version mismatch
+        .byte   1, EMFILE       ; Too many open files
+        .byte   2, EINVAL       ; File is open
+        .byte   3, EINVAL       ; File not open
+        .byte   4, ENOENT       ; File not found
+        .byte   5, ENODEV       ; Device not present
+        .byte   6, EINVAL       ; File not input
+        .byte   7, EINVAL       ; File not output
+        .byte   8, EINVAL       ; Filename missing
+        .byte   9, ENODEV       ; Ilegal device
+;       .byte  20,              ; Read error
+;       .byte  21,              ; Read error
+;       .byte  22,              ; Read error
+;       .byte  23,              ; Read error
+;       .byte  24,              ; Read error
+;       .byte  25,              ; Write error
+        .byte  26, EACCES       ; Write protect on
+;       .byte  27,              ; Read error
+;       .byte  28,              ; Write error
+;       .byte  29,              ; Disk ID mismatch
+;       .byte  30,              ; Syntax error
+;       .byte  31,              ; Syntax error
+;       .byte  32,              ; Syntax error
+        .byte  33, EINVAL       ; Syntax error (invalid file name)
+        .byte  34, EINVAL       ; Syntax error (no file given)
+;       .byte  39,              ; Syntax error
+;       .byte  50,              ; Record not present
+;       .byte  51,              ; Overflow in record
+;       .byte  52,              ; File too large
+        .byte  60, EINVAL       ; Write file open
+        .byte  61, EINVAL       ; File not open
+        .byte  62, ENOENT       ; File not found
+        .byte  63, EEXIST       ; File exists
+        .byte  64, EINVAL       ; File type mismatch
+;       .byte  65,              ; No block
+;       .byte  66,              ; Illegal track or sector
+;       .byte  67,              ; Illegal system track or sector
+        .byte  70, EBUSY        ; No channel
+;       .byte  71,              ; Directory error
+;       .byte  72,              ; Disk full
+;       .byte  73,              ; DOS version mismatch
         .byte  74, ENODEV       ; Drive not ready
 
 ErrTabSize = (* - ErrTab)
index c44a93278446f6a25d3a7457f408de2e734d3268..e491263afaa5f5fe37f10fdf72b13d6fbf1e2924 100644 (file)
@@ -5,7 +5,7 @@
 ; /* Convert a target specific character to ascii */
 ;
 
-               .export         _toascii
+        .export         _toascii
 
         .macpack        generic
 
index b8f5e16d4e342c7023cdf22171867d7c0fe64bf5..29cf06fa3d6e358d62d9d369eb096562043076f4 100644 (file)
@@ -4,13 +4,13 @@
 ; unsigned char wherex (void);
 ;
 
-       .export         _wherex
+        .export         _wherex
         .import         CURS_X: zp
 
 
 .proc   _wherex
         lda     CURS_X
         ldx     #$00
-       rts
+        rts
 .endproc
 
index 53c5b4f6d6c3c9800fe40103718aa548cd386398..9bc74730a5cf3bca417baebf4731983c93ff4c85 100644 (file)
@@ -4,13 +4,13 @@
 ; unsigned char wherey (void);
 ;
 
-       .export         _wherey
+        .export         _wherey
         .import         CURS_Y: zp
 
 
 .proc   _wherey
         lda     CURS_Y
         ldx     #$00
-       rts
+        rts
 .endproc
 
index b97c3d2267c73b26a9d6e47bad0863ff26350707..8b68b8cdce109d9a75d4a3f3009e70e31303bc6a 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
         .import         SCREEN
                               
         screensize      = SCREEN
index 385f5d5c894c92ae54342b499d958e6c704f504c..8ed72d02be9c466df135922e98b14988bf8f534b 100644 (file)
@@ -4,38 +4,38 @@
 ; Banking routines for the 610.
 ;
 
-       .export         set_bank, sys_bank, restore_bank
-       .importzp       ptr1, segsave
+        .export         set_bank, sys_bank, restore_bank
+        .importzp       ptr1, segsave
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 .code
 
-.proc  sys_bank
-       pha
-       lda     IndReg
-       sta     segsave
-       lda     #$0F
-       sta     IndReg
-       pla
-       rts
+.proc   sys_bank
+        pha
+        lda     IndReg
+        sta     segsave
+        lda     #$0F
+        sta     IndReg
+        pla
+        rts
 .endproc
 
-.proc  set_bank
-       pha
-       lda     IndReg
-       sta     segsave
-       pla
-       sta     IndReg
-       rts
+.proc   set_bank
+        pha
+        lda     IndReg
+        sta     segsave
+        pla
+        sta     IndReg
+        rts
 .endproc
 
-.proc  restore_bank
-       pha
-       lda     segsave
-       sta     IndReg
-       pla
-       rts
+.proc   restore_bank
+        pha
+        lda     segsave
+        sta     IndReg
+        pla
+        rts
 .endproc
 
 
index 2c23e77ed72ed31488f6b7d1d929e6355f3851fa..b58db068ec0172fedede5e8e56235e7a85529de3 100644 (file)
@@ -5,66 +5,66 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-               .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
-       .import         _atexit, BRKVec
+        .export         _set_brk, _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .import         _atexit, BRKVec
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
-_brk_01:       .res    1
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
+_brk_01:        .res    1
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -72,42 +72,42 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
+.proc   brk_handler
 
         pla
-       sta     _brk_01
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_01
+        sta     _brk_01
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_01
         sta     IndReg
 
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 5fed54e0a52592d82f29350ca4680803d96287e4..c58b45232ab95f77491ecbce266635544cab617b 100644 (file)
@@ -4,93 +4,93 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
-       .condes         k_blncur, 2
-       .import         cursor
+        .export         _cgetc
+        .condes         k_blncur, 2
+        .import         cursor
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
         .include        "extzp.inc"
 
 
 ; ------------------------------------------------------------------------
 
-.proc  _cgetc
+.proc   _cgetc
 
-       lda     keyidx                  ; Characters waiting?
-               bne     L3                      ; Jump if so
+        lda     keyidx                  ; Characters waiting?
+        bne     L3                      ; Jump if so
 
 ; Switch on the cursor if needed
 
-       lda     CURS_FLAG
-       pha
-       lda     cursor
-       jsr     setcursor
-L1:    lda     keyidx
-       beq     L1
-       ldx     #0
-       pla
-       bne     L2
-               inx
-L2:            txa
-               jsr     setcursor
+        lda     CURS_FLAG
+        pha
+        lda     cursor
+        jsr     setcursor
+L1:     lda     keyidx
+        beq     L1
+        ldx     #0
+        pla
+        bne     L2
+        inx
+L2:     txa
+        jsr     setcursor
 
 ; Read the character from the keyboard buffer
 
-L3:            ldx     #$00            ; Get index
-               ldy     keybuf          ; Get first character in the buffer
-               sei
-L4:            lda     keybuf+1,x      ; Move up the remaining chars
-               sta     keybuf,x
-               inx
-               cpx     keyidx
-               bne     L4
-               dec     keyidx
-               cli
-
-               ldx     #$00            ; High byte
-               tya                     ; First char from buffer
-               rts
+L3:     ldx     #$00            ; Get index
+        ldy     keybuf          ; Get first character in the buffer
+        sei
+L4:     lda     keybuf+1,x      ; Move up the remaining chars
+        sta     keybuf,x
+        inx
+        cpx     keyidx
+        bne     L4
+        dec     keyidx
+        cli
+
+        ldx     #$00            ; High byte
+        tya                     ; First char from buffer
+        rts
 
 .endproc
 
 ; ------------------------------------------------------------------------
 ;
 
-.proc  setcursor
+.proc   setcursor
 
-       ldy     #$00                    ;
-               tax                             ; On or off?
-               bne     @L9                     ; Go set it on
-       lda     CURS_FLAG               ; Is the cursor currently off?
-               bne     @L8                     ; Jump if yes
-       lda     #1
-       sta     CURS_FLAG               ; Mark it as off
-       lda     CURS_STATE              ; Cursor currently displayed?
-       sty     CURS_STATE              ; Cursor will be cleared later
-               beq     @L8                     ; Jump if no
+        ldy     #$00                    ;
+        tax                             ; On or off?
+        bne     @L9                     ; Go set it on
+        lda     CURS_FLAG               ; Is the cursor currently off?
+        bne     @L8                     ; Jump if yes
+        lda     #1
+        sta     CURS_FLAG               ; Mark it as off
+        lda     CURS_STATE              ; Cursor currently displayed?
+        sty     CURS_STATE              ; Cursor will be cleared later
+        beq     @L8                     ; Jump if no
 
 ; Switch to the system bank, load Y with the cursor X coordinate
 
-       lda     #$0F
-       sta     IndReg                  ; Access system bank
-       ldy     CURS_X
+        lda     #$0F
+        sta     IndReg                  ; Access system bank
+        ldy     CURS_X
 
 ; Reset the current cursor
 
-       lda     CURS_COLOR
-       sta     (CRAM_PTR),y            ; Store cursor color
-       lda     ExecReg
-       sta     IndReg                  ; Switch to our segment
-       lda     (SCREEN_PTR),y
-       eor     #$80                    ; Toggle reverse flag
-       sta     (SCREEN_PTR),y
+        lda     CURS_COLOR
+        sta     (CRAM_PTR),y            ; Store cursor color
+        lda     ExecReg
+        sta     IndReg                  ; Switch to our segment
+        lda     (SCREEN_PTR),y
+        eor     #$80                    ; Toggle reverse flag
+        sta     (SCREEN_PTR),y
 
 ; Done
 
-@L8:   rts
+@L8:    rts
 
-@L9:   sty     CURS_FLAG               ; Cursor on (Y = 0)
-       rts
+@L9:    sty     CURS_FLAG               ; Cursor on (Y = 0)
+        rts
 
 .endproc
 
@@ -103,48 +103,48 @@ L4:       lda     keybuf+1,x      ; Move up the remaining chars
 
 .proc   k_blncur
 
-        lda     CURS_FLAG              ; Is the cursor on?
-        bne     curend                 ; Jump if not
+        lda     CURS_FLAG               ; Is the cursor on?
+        bne     curend                  ; Jump if not
         dec     CURS_BLINK
         bne     curend
 
 ; Re-initialize the blink counter
 
-        lda     #20                    ; Initial value
+        lda     #20                     ; Initial value
         sta     CURS_BLINK
 
 ; Load Y with the cursor X coordinate
 
-       ldy     CURS_X
+        ldy     CURS_X
 
 ; Check if the cursor state was on or off before
 
-       lda     CURS_COLOR              ; Load color behind cursor
-       lsr     CURS_STATE              ; Cursor currently displayed?
-       bcs     curset                  ; Jump if yes
+        lda     CURS_COLOR              ; Load color behind cursor
+        lsr     CURS_STATE              ; Cursor currently displayed?
+        bcs     curset                  ; Jump if yes
 
 ; Cursor was off before, switch it on
 
-       inc     CURS_STATE              ; Mark as displayed
-       lda     (CRAM_PTR),y            ; Get color behind cursor...
-       sta     CURS_COLOR              ; ...and remember it
-       lda     CHARCOLOR               ; Use character color
+        inc     CURS_STATE              ; Mark as displayed
+        lda     (CRAM_PTR),y            ; Get color behind cursor...
+        sta     CURS_COLOR              ; ...and remember it
+        lda     CHARCOLOR               ; Use character color
 
 ; Set the cursor with color in A
 
-curset:        sta     (CRAM_PTR),y            ; Store cursor color
-       lda     ExecReg
-       sta     IndReg                  ; Switch to our segment
-       lda     (SCREEN_PTR),y
-       eor     #$80                    ; Toggle reverse flag
-       sta     (SCREEN_PTR),y
+curset: sta     (CRAM_PTR),y            ; Store cursor color
+        lda     ExecReg
+        sta     IndReg                  ; Switch to our segment
+        lda     (SCREEN_PTR),y
+        eor     #$80                    ; Toggle reverse flag
+        sta     (SCREEN_PTR),y
 
 ; Switch back to the system bank
 
-       lda     #$0F
-       sta     IndReg
+        lda     #$0F
+        sta     IndReg
 
-curend:        rts
+curend: rts
 
 .endproc
 
index 0a1ef3aaa38c7e3b5fd6131bbf94e99749e556fc..2233f6074dd721e1207b946e9e67c13e6520d42d 100644 (file)
@@ -2,61 +2,61 @@
 ; Ullrich von Bassewitz, 14.09.2001
 ;
 
-       .export         _clrscr
-       .import         plot
+        .export         _clrscr
+        .import         plot
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
         .include        "extzp.inc"
 
 ; ------------------------------------------------------------------------
 ; void clrscr (void);
 
-.proc  _clrscr
+.proc   _clrscr
 
-       lda     #0
-       sta     CURS_X
-       sta     CURS_Y
-               jsr     plot            ; Set cursor to top left corner
+        lda     #0
+        sta     CURS_X
+        sta     CURS_Y
+        jsr     plot            ; Set cursor to top left corner
 
-               ldx     #$00            ; Count
-       jsr     clearpage
-       jsr     clearpage
-       jsr     clearpage
-               ldx     #<(40*25)       ; Count
-       jsr     clearpage       ; Clear remainder of last page
-       jmp     plot            ; Set screen pointer again
+        ldx     #$00            ; Count
+        jsr     clearpage
+        jsr     clearpage
+        jsr     clearpage
+        ldx     #<(40*25)       ; Count
+        jsr     clearpage       ; Clear remainder of last page
+        jmp     plot            ; Set screen pointer again
 
 .endproc
 
 
-.proc  clearpage
-
-       txa
-       pha                     ; Save count
-
-       lda     #$20            ; Screencode for blank
-       ldy     #$00
-@L1:   sta     (SCREEN_PTR),y
-       iny
-       dex
-       bne     @L1
-       inc     SCREEN_PTR+1
-
-       pla
-       tax                     ; Reload count
-       lda     IndReg
-       pha
-       lda     #$0F
-       sta     IndReg          ; Switch to the system bank
-       lda     CHARCOLOR       ; Load color
-       ldy     #$00
-@L2:   sta     (CRAM_PTR),y
-       iny
-       dex
-       bne     @L2
-       inc     CRAM_PTR+1
-       pla
-       sta     IndReg          ; Restore the old indirect bank
-       rts
+.proc   clearpage
+
+        txa
+        pha                     ; Save count
+
+        lda     #$20            ; Screencode for blank
+        ldy     #$00
+@L1:    sta     (SCREEN_PTR),y
+        iny
+        dex
+        bne     @L1
+        inc     SCREEN_PTR+1
+
+        pla
+        tax                     ; Reload count
+        lda     IndReg
+        pha
+        lda     #$0F
+        sta     IndReg          ; Switch to the system bank
+        lda     CHARCOLOR       ; Load color
+        ldy     #$00
+@L2:    sta     (CRAM_PTR),y
+        iny
+        dex
+        bne     @L2
+        inc     CRAM_PTR+1
+        pla
+        sta     IndReg          ; Restore the old indirect bank
+        rts
 
 .endproc
index d75e9c9f40dcad099cc7789ce5e12b6fb2993c98..127450ba51664a416c0961264c5b5aa45ba6e56f 100644 (file)
@@ -2,11 +2,11 @@
 ; Ullrich von Bassewitz, 13.09.2001
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
-       .import         sys_bank, restore_bank
-       .import         vic: zp, CHARCOLOR: zp
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         sys_bank, restore_bank
+        .import         vic: zp, CHARCOLOR: zp
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
 ; ------------------------------------------------------------------------
 ; /* Set the color for text output. The old color setting is returned. */
 ;
 
-.proc  _textcolor
+.proc   _textcolor
 
-       ldx     CHARCOLOR       ; get old value
-       sta     CHARCOLOR       ; set new value
-       txa
-       rts
+        ldx     CHARCOLOR       ; get old value
+        sta     CHARCOLOR       ; set new value
+        txa
+        rts
 
 .endproc
 
 
 .proc   _bgcolor
 
-       jsr     sys_bank                ; Switch to the system bank
-       pha                             ; Save new color
-       ldy     #VIC_BG_COLOR0
-       lda     (vic),y                 ; Get current color...
-       tax                             ; ...into X
-       pla                             ; Get new color
-       sta     (vic),y                 ; Set new color
-       txa                             ; Get old color into X
-       jmp     restore_bank            ; Restore the old color
+        jsr     sys_bank                ; Switch to the system bank
+        pha                             ; Save new color
+        ldy     #VIC_BG_COLOR0
+        lda     (vic),y                 ; Get current color...
+        tax                             ; ...into X
+        pla                             ; Get new color
+        sta     (vic),y                 ; Set new color
+        txa                             ; Get old color into X
+        jmp     restore_bank            ; Restore the old color
 
 .endproc
 
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ; /* Set the color for the border. The old color setting is returned. */
 
-.proc  _bordercolor
-
-       jsr     sys_bank                ; Switch to the system bank
-       pha                             ; Save new color
-       ldy     #VIC_BORDERCOLOR
-       lda     (vic),y                 ; Get current color...
-       tax                             ; ...into X
-       pla                             ; Get new color
-       sta     (vic),y                 ; Set new color
-       txa                             ; Get old color into X
-       jmp     restore_bank            ; Restore the old color
+.proc   _bordercolor
+
+        jsr     sys_bank                ; Switch to the system bank
+        pha                             ; Save new color
+        ldy     #VIC_BORDERCOLOR
+        lda     (vic),y                 ; Get current color...
+        tax                             ; ...into X
+        pla                             ; Get new color
+        sta     (vic),y                 ; Set new color
+        txa                             ; Get old color into X
+        jmp     restore_bank            ; Restore the old color
 
 .endproc
 
index e4d1ee5d43e16a5fcf66c60d50a00bddd163770d..bd8c364e880d092b03e06b8ca4cf141277c1f47d 100644 (file)
@@ -5,15 +5,15 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
 
-       .import         popa, _gotoxy
+        .import         popa, _gotoxy
         .import         __VIDRAM_START__
         .import         CURS_X: zp, CURS_Y: zp, CHARCOLOR: zp, RVS: zp
         .import         SCREEN_PTR: zp, CRAM_PTR: zp
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
         .macpack        generic
 
 ;
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
 advance:
-       iny
-       cpy     #XSIZE
-       bne     L3
-       jsr     newline         ; new line
-       ldy     #0              ; + cr
-L3:    sty     CURS_X
-       rts
+        iny
+        cpy     #XSIZE
+        bne     L3
+        jsr     newline         ; new line
+        ldy     #0              ; + cr
+L3:     sty     CURS_X
+        rts
 
 ; Handle character if high bit set
 
-L10:           and     #$7F
-               cmp     #$7E            ; PI?
-               bne     L11
-               lda     #$5E            ; Load screen code for PI
-               bne     cputdirect
-L11:           ora     #$40
-               bne     cputdirect      ; Branch always
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect      ; Branch always
 
 ; Move the cursor into the next line
 
 newline:
-        inc    CURS_Y
+        inc     CURS_Y
 
 ; Set cursor position, calculate RAM pointers
 
-plot:          ldx     CURS_Y
-               lda     LineLSBTab,x
-               sta     SCREEN_PTR
-               sta     CRAM_PTR
-               lda     LineMSBTab,x
-               sta     SCREEN_PTR+1
-               add     #.hibyte(COLOR_RAM - __VIDRAM_START__)
-               sta     CRAM_PTR+1
-               rts
+plot:   ldx     CURS_Y
+        lda     LineLSBTab,x
+        sta     SCREEN_PTR
+        sta     CRAM_PTR
+        lda     LineMSBTab,x
+        sta     SCREEN_PTR+1
+        add     #.hibyte(COLOR_RAM - __VIDRAM_START__)
+        sta     CRAM_PTR+1
+        rts
 
 ; Write one character to the screen without doing anything else, return X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (SCREEN_PTR),y  ; Set char
-       ldx     IndReg
-       lda     #$0F
-       sta     IndReg
-       lda     CHARCOLOR
-       sta     (CRAM_PTR),y    ; Set color
-       stx     IndReg
-       rts
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (SCREEN_PTR),y  ; Set char
+        ldx     IndReg
+        lda     #$0F
+        sta     IndReg
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y    ; Set color
+        stx     IndReg
+        rts
 
 ; -------------------------------------------------------------------------
 ; Low bytes of the start address of the screen lines
@@ -111,14 +111,14 @@ putchar:
 .rodata
 
 LineLSBTab:
-       .repeat 25, I
-               .byte   .lobyte(__VIDRAM_START__ + I * 40)
-       .endrep
+        .repeat 25, I
+        .byte   .lobyte(__VIDRAM_START__ + I * 40)
+        .endrep
 
 ; -------------------------------------------------------------------------
 ; High bytes of the start address of the screen lines
 
 LineMSBTab:
-       .repeat 25, I
-       .byte   .hibyte(__VIDRAM_START__ + I * 40)
-       .endrep
+        .repeat 25, I
+        .byte   .hibyte(__VIDRAM_START__ + I * 40)
+        .endrep
index 16c75ba812f881a99ba03d404417c3bc25598962..871fbb850fd46be9679e195a78111ad16eac1b9c 100644 (file)
@@ -2,19 +2,19 @@
 ; Startup code for cc65 (CBM 500 version)
 ;
 
-       .export         _exit, BRKVec
+        .export         _exit, BRKVec
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
-       .import         _clrscr, initlib, donelib, callirq_y
-       .import         push0, callmain
-       .import         __CHARRAM_START__, __CHARRAM_SIZE__, __VIDRAM_START__
-       .import         __BSS_RUN__, __BSS_SIZE__, __EXTZP_RUN__
-       .import         __INTERRUPTOR_COUNT__
-       .import         scnkey, UDTIM
+        .import         _clrscr, initlib, donelib, callirq_y
+        .import         push0, callmain
+        .import         __CHARRAM_START__, __CHARRAM_SIZE__, __VIDRAM_START__
+        .import         __BSS_RUN__, __BSS_SIZE__, __EXTZP_RUN__
+        .import         __INTERRUPTOR_COUNT__
+        .import         scnkey, UDTIM
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
         .include        "extzp.inc"
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
 ; ------------------------------------------------------------------------
@@ -37,8 +37,8 @@
 ; The machine program in the data lines is:
 ;
 ; sei
-; lda    #$00
-; sta     $00          <-- Switch to bank 0 after this command
+; lda     #$00
+; sta     $00           <-- Switch to bank 0 after this command
 ;
 ; Initialization is not only complex because of the jumping from one bank
 ; into another. but also because we want to save memory, and because of
 
 .segment        "EXEHDR"
 
-        .byte          $03,$00,$11,$00,$0a,$00,$81,$20,$49,$b2,$30,$20,$a4,$20,$34,$00
-       .byte   $19,$00,$14,$00,$87,$20,$4a,$00,$27,$00,$1e,$00,$97,$20,$32,$35
-       .byte   $36,$aa,$49,$2c,$4a,$00,$2f,$00,$28,$00,$82,$20,$49,$00,$39,$00
-       .byte   $32,$00,$9e,$20,$32,$35,$36,$00,$4f,$00,$3c,$00,$83,$20,$31,$32
-       .byte   $30,$2c,$31,$36,$39,$2c,$30,$2c,$31,$33,$33,$2c,$30,$00,$00,$00
+        .byte   $03,$00,$11,$00,$0a,$00,$81,$20,$49,$b2,$30,$20,$a4,$20,$34,$00
+        .byte   $19,$00,$14,$00,$87,$20,$4a,$00,$27,$00,$1e,$00,$97,$20,$32,$35
+        .byte   $36,$aa,$49,$2c,$4a,$00,$2f,$00,$28,$00,$82,$20,$49,$00,$39,$00
+        .byte   $32,$00,$9e,$20,$32,$35,$36,$00,$4f,$00,$3c,$00,$83,$20,$31,$32
+        .byte   $30,$2c,$31,$36,$39,$2c,$30,$2c,$31,$33,$33,$2c,$30,$00,$00,$00
 
 ;------------------------------------------------------------------------------
 ; A table that contains values that must be transfered from the system zero
@@ -182,15 +182,15 @@ expull: pla
 
 .segment        "STARTUP"
 
-Back:   sta    ExecReg
+Back:   sta     ExecReg
 
 ; We are at $100 now. The following snippet is a copy of the code that is poked
 ; in the system bank memory by the basic header program, it's only for
 ; documentation and not actually used here:
 
-       sei
-       lda     #$00
-       sta     ExecReg
+        sei
+        lda     #$00
+        sta     ExecReg
 
 ; This is the actual starting point of our code after switching banks for
 ; startup. Beware: The following code will get overwritten as soon as we
@@ -205,9 +205,9 @@ Back:   sta ExecReg
         sta     ExecReg
         rts
         nop
-               .word   nmi             ; NMI vector
-               .word   0               ; Reset - not used
-               .word   irq             ; IRQ vector
+        .word   nmi             ; NMI vector
+        .word   0               ; Reset - not used
+        .word   irq             ; IRQ vector
 .endproc
 
 ; Initializers for the extended zeropage. See extzp.s
@@ -215,23 +215,23 @@ Back:   sta       ExecReg
 .proc   extzp
         .word   $0100           ; sysp1
         .word   $0300           ; sysp3
-        .word          $d800           ; vic
-       .word   $da00           ; sid
-       .word   $db00           ; cia1
-       .word   $dc00           ; cia2
-       .word   $dd00           ; acia
-       .word   $de00           ; tpi1
-       .word   $df00           ; tpi2
-       .word   $eab1           ; ktab1
-       .word   $eb11           ; ktab2
-       .word   $eb71           ; ktab3
-       .word   $ebd1           ; ktab4
+        .word   $d800           ; vic
+        .word   $da00           ; sid
+        .word   $db00           ; cia1
+        .word   $dc00           ; cia2
+        .word   $dd00           ; acia
+        .word   $de00           ; tpi1
+        .word   $df00           ; tpi2
+        .word   $eab1           ; ktab1
+        .word   $eb11           ; ktab2
+        .word   $eb71           ; ktab3
+        .word   $ebd1           ; ktab4
 .endproc
 
 ; Switch the indirect segment to the system bank
 
-Origin: lda    #$0F
-       sta     IndReg
+Origin: lda     #$0F
+        sta     IndReg
 
 ; Initialize the extended zeropage
 
@@ -247,8 +247,8 @@ L1:     lda     extzp,x
         txa
         ldy     #$FF
         sta     (sysp1),y       ; Save system stack point into $F:$1FF
-       ldx     #$FE            ; Leave $1FF untouched for cross bank calls
-       txs                     ; Set up our own stack
+        ldx     #$FE            ; Leave $1FF untouched for cross bank calls
+        txs                     ; Set up our own stack
 
 ; Copy stuff from the system zeropage to ours
 
@@ -266,18 +266,18 @@ L2:     ldx     ktmp
 
 ; Set the interrupt, NMI and other vectors
 
-       ldx     #.sizeof(vectors)-1
-L3:            lda     vectors,x
-       sta     $10000 - .sizeof(vectors),x
-       dex
-               bpl     L3
+        ldx     #.sizeof(vectors)-1
+L3:     lda     vectors,x
+        sta     $10000 - .sizeof(vectors),x
+        dex
+        bpl     L3
 
 ; Setup the C stack
 
-       lda     #.lobyte(callbank15::entry)
-       sta     sp
-       lda     #.hibyte(callbank15::entry)
-       sta     sp+1
+        lda     #.lobyte(callbank15::entry)
+        sta     sp
+        lda     #.hibyte(callbank15::entry)
+        sta     sp+1
 
 ; Setup the subroutine and jump vector table that redirects kernal calls to
 ; the system bank.
@@ -305,39 +305,39 @@ L3:       lda     vectors,x
 
 ; Set the indirect segment to bank we're executing in
 
-       lda     ExecReg
-       sta     IndReg
+        lda     ExecReg
+        sta     IndReg
 
 ; Zero the BSS segment. We will do that here instead calling the routine
 ; in the common library, since we have the memory anyway, and this way,
 ; it's reused later.
 
-       lda     #<__BSS_RUN__
-       sta     ptr1
-       lda     #>__BSS_RUN__
-       sta     ptr1+1
-       lda     #0
-       tay
+        lda     #<__BSS_RUN__
+        sta     ptr1
+        lda     #>__BSS_RUN__
+        sta     ptr1+1
+        lda     #0
+        tay
 
 ; Clear full pages
 
-       ldx     #>__BSS_SIZE__
-       beq     Z2
-Z1:    sta     (ptr1),y
-       iny
-       bne     Z1
-       inc     ptr1+1                  ; Next page
-       dex
-       bne     Z1
+        ldx     #>__BSS_SIZE__
+        beq     Z2
+Z1:     sta     (ptr1),y
+        iny
+        bne     Z1
+        inc     ptr1+1                  ; Next page
+        dex
+        bne     Z1
 
 ; Clear the remaining page
 
-Z2:    ldx     #<__BSS_SIZE__
-       beq     Z4
-Z3:    sta     (ptr1),y
-       iny
-       dex
-       bne     Z3
+Z2:     ldx     #<__BSS_SIZE__
+        beq     Z4
+Z3:     sta     (ptr1),y
+        iny
+        dex
+        bne     Z3
 Z4:     jmp     Init
 
 ; ------------------------------------------------------------------------
@@ -349,32 +349,32 @@ Z4:     jmp     Init
 ; Copy the character rom from the system bank into the execution bank
 
 Init:   lda     #<$C000
-       sta     ptr1
-       lda     #>$C000
-       sta     ptr1+1
-        lda    #<__CHARRAM_START__
-       sta     ptr2
-       lda     #>__CHARRAM_START__
-       sta     ptr2+1
-               lda     #>__CHARRAM_SIZE__      ; 16 * 256 bytes to copy
-       sta     tmp1
-       ldy     #$00
-ccopy: lda     #$0F
-       sta     IndReg                  ; Access the system bank
-ccopy1:        lda     (ptr1),y
-               sta     __VIDRAM_START__,y
-               iny
-               bne     ccopy1
-               lda     ExecReg
-               sta     IndReg
-ccopy2:        lda     __VIDRAM_START__,y
-               sta     (ptr2),y
-               iny
-               bne     ccopy2
-               inc     ptr1+1
-               inc     ptr2+1                  ; Bump high pointer bytes
-               dec     tmp1
-               bne     ccopy
+        sta     ptr1
+        lda     #>$C000
+        sta     ptr1+1
+        lda     #<__CHARRAM_START__
+        sta     ptr2
+        lda     #>__CHARRAM_START__
+        sta     ptr2+1
+        lda     #>__CHARRAM_SIZE__      ; 16 * 256 bytes to copy
+        sta     tmp1
+        ldy     #$00
+ccopy:  lda     #$0F
+        sta     IndReg                  ; Access the system bank
+ccopy1: lda     (ptr1),y
+        sta     __VIDRAM_START__,y
+        iny
+        bne     ccopy1
+        lda     ExecReg
+        sta     IndReg
+ccopy2: lda     __VIDRAM_START__,y
+        sta     (ptr2),y
+        iny
+        bne     ccopy2
+        inc     ptr1+1
+        inc     ptr2+1                  ; Bump high pointer bytes
+        dec     tmp1
+        bne     ccopy
 
 ; Clear the video memory. We will do this before switching the video to bank 0
 ; to avoid garbage when doing so.
@@ -384,67 +384,67 @@ ccopy2:   lda     __VIDRAM_START__,y
 ; Reprogram the VIC so that the text screen and the character ROM is in the
 ; execution bank. This is done in three steps:
 
-        lda     #$0F                   ; We need access to the system bank
-               sta     IndReg
+        lda     #$0F                    ; We need access to the system bank
+        sta     IndReg
 
 ; Place the VIC video RAM into bank 0
 ; CA (STATVID)   = 0
 ; CB (VICDOTSEL) = 0
 
-               ldy     #TPI::CR
-               lda     (tpi1),y
-               sta     vidsave+0
-               and     #%00001111
-               ora     #%10100000
-               sta     (tpi1),y
+        ldy     #TPI::CR
+        lda     (tpi1),y
+        sta     vidsave+0
+        and     #%00001111
+        ora     #%10100000
+        sta     (tpi1),y
 
 ; Set bit 14/15 of the VIC address range to the high bits of __VIDRAM_START__
 ; PC6/PC7 (VICBANKSEL 0/1) = 11
 
-               ldy     #TPI::PRC
-               lda     (tpi2),y
-               sta     vidsave+1
-               and     #$3F
-               ora     #<((>__VIDRAM_START__) & $C0)
-               sta     (tpi2),y
+        ldy     #TPI::PRC
+        lda     (tpi2),y
+        sta     vidsave+1
+        and     #$3F
+        ora     #<((>__VIDRAM_START__) & $C0)
+        sta     (tpi2),y
 
 ; Set the VIC base address register to the addresses of the video and
 ; character RAM.
 
-        ldy    #VIC_VIDEO_ADR
-               lda     (vic),y
-               sta     vidsave+2
-       and     #$01
-               ora     #<(((__VIDRAM_START__ >> 6) & $F0) | ((__CHARRAM_START__ >> 10) & $0E) | $02)
-;              and     #$0F
-;              ora     #<(((>__VIDRAM_START__) << 2) & $F0)
-               sta     (vic),y
+        ldy     #VIC_VIDEO_ADR
+        lda     (vic),y
+        sta     vidsave+2
+        and     #$01
+        ora     #<(((__VIDRAM_START__ >> 6) & $F0) | ((__CHARRAM_START__ >> 10) & $0E) | $02)
+;       and     #$0F
+;       ora     #<(((>__VIDRAM_START__) << 2) & $F0)
+        sta     (vic),y
 
 ; Switch back to the execution bank
 
         lda     ExecReg
-               sta     IndReg
+        sta     IndReg
 
 ; Activate chained interrupt handlers, then enable interrupts.
 
         lda     #.lobyte(__INTERRUPTOR_COUNT__*2)
         sta     irqcount
-       cli
+        cli
 
 ; Call module constructors.
 
-        jsr    initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-               jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry and the default entry
 ; point for the break vector.
 
-_exit:  pha                    ; Save the return code on stack
-        jsr    donelib         ; Run module destructors
-       lda     #$00
+_exit:  pha                     ; Save the return code on stack
+        jsr     donelib         ; Run module destructors
+        lda     #$00
         sta     irqcount        ; Disable custom irq handlers
 
 ; Address the system bank
@@ -454,17 +454,17 @@ _exit:  pha                       ; Save the return code on stack
 
 ; Switch back the video to the system bank
 
-       ldy     #TPI::CR
-       lda     vidsave+0
-       sta     (tpi1),y
+        ldy     #TPI::CR
+        lda     vidsave+0
+        sta     (tpi1),y
 
-       ldy     #TPI::PRC
-       lda     vidsave+1
-       sta     (tpi2),y
+        ldy     #TPI::PRC
+        lda     vidsave+1
+        sta     (tpi2),y
 
-        ldy    #VIC_VIDEO_ADR
-       lda     vidsave+2
-       sta     (vic),y
+        ldy     #VIC_VIDEO_ADR
+        lda     vidsave+2
+        sta     (vic),y
 
 ; Copy stuff back from our zeropage to the systems
 
@@ -484,9 +484,9 @@ _exit:  pha                 ; Save the return code on stack
 
 ; Place the program return code into ST
 
-       pla
-       ldy     #$9C            ; ST
-       sta     (sysp0),y
+        pla
+        ldy     #$9C            ; ST
+        sta     (sysp0),y
 
 ; Setup the welcome code at the stack bottom in the system bank.
 
@@ -499,9 +499,9 @@ _exit:  pha                 ; Save the return code on stack
         iny
         lda     #$60            ; RTS opcode
         sta     (sysp1),y
-       lda     IndReg
+        lda     IndReg
         sei
-       txs
+        txs
         jmp     Back
 
 ; -------------------------------------------------------------------------
@@ -509,7 +509,7 @@ _exit:  pha                 ; Save the return code on stack
 ; easier chaining, we do handle the IRQs in the execution bank (instead of
 ; passing them to the system bank).
 
-; This is the mapping of the active irq register of the        6525 (tpi1):
+; This is the mapping of the active irq register of the 6525 (tpi1):
 ;
 ; Bit   7       6       5       4       3       2       1       0
 ;                               |       |       |       |       ^ 50 Hz
@@ -527,10 +527,10 @@ irq:    pha
         pha
         lda     ExecReg
         sta     IndReg                  ; Be sure to address our segment
-       tsx
-               lda     $105,x                  ; Get the flags from the stack
-       and     #$10                    ; Test break flag
-               bne     dobrk
+        tsx
+        lda     $105,x                  ; Get the flags from the stack
+        and     #$10                    ; Test break flag
+        bne     dobrk
 
 ; It's an IRQ
 
@@ -538,46 +538,46 @@ irq:    pha
 
 ; Call chained IRQ handlers
 
-               ldy     irqcount
+        ldy     irqcount
         beq     irqskip
-               jsr     callirq_y               ; Call the functions
+        jsr     callirq_y               ; Call the functions
 
 ; Done with chained IRQ handlers, check the TPI for IRQs and handle them
 
-irqskip:lda    #$0F
-       sta     IndReg
-       ldy     #TPI::AIR
-       lda     (tpi1),y                ; Interrupt Register 6525
-       beq     noirq
+irqskip:lda     #$0F
+        sta     IndReg
+        ldy     #TPI::AIR
+        lda     (tpi1),y                ; Interrupt Register 6525
+        beq     noirq
 
 ; 50/60Hz interrupt
 
-       cmp     #%00000001              ; ticker irq?
-       bne     irqend
-               jsr     scnkey                  ; Poll the keyboard
-        jsr    UDTIM                   ; Bump the time
+        cmp     #%00000001              ; ticker irq?
+        bne     irqend
+        jsr     scnkey                  ; Poll the keyboard
+        jsr     UDTIM                   ; Bump the time
 
 ; Done
 
-irqend:        ldy     #TPI::AIR
-               sta     (tpi1),y                ; Clear interrupt
+irqend: ldy     #TPI::AIR
+        sta     (tpi1),y                ; Clear interrupt
 
-noirq: pla
+noirq:  pla
         sta     IndReg
         pla
         tay
         pla
         tax
         pla
-nmi:   rti
+nmi:    rti
 
-dobrk:  jmp    (BRKVec)
+dobrk:  jmp     (BRKVec)
 
 ; -------------------------------------------------------------------------
 ; Data area
 
 .data
-vidsave:.res   3
+vidsave:.res    3
 
 .bss
 irqcount:       .byte   0
index a10004e852b762ab6f6f27c459edb38d4df06d87..d678a2a92a8a9470ebfe48d829cee97bad611cfa 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "extzp.inc"
+        .include        "extzp.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index 42474b051f139c3e36066e0e77123382b25e5eb1..65ebbddf85d28df60c467012f2169c66914e3b1d 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-12-09, 2003-12-27
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
         .include        "cbm510.inc"
 
@@ -22,7 +22,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -32,7 +32,7 @@
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -48,7 +48,7 @@ OFFS    = 2
 curpage:        .res    1               ; Current page number
 
 window:         .res    256             ; Memory "window"
-pagecount:     .res    1               ; Number of available pages
+pagecount:      .res    1               ; Number of available pages
 
 
 .code
@@ -61,14 +61,14 @@ pagecount:  .res    1               ; Number of available pages
 ;
 
 INSTALL:
-               lda     #$FF
+        lda     #$FF
         sta     curpage                 ; Invalidate the current page
         sta     pagecount               ; Assume all memory available
 
         sec
         jsr     $FF99                   ; MEMTOP
 
-               cmp     #RAMBANK                ; Top of memory in bank 2?
+        cmp     #RAMBANK                ; Top of memory in bank 2?
         bne     @L1                     ; No: We can use all the memory
         txa
         sub     #OFFS
@@ -78,7 +78,7 @@ INSTALL:
 
 @L1:    lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
-;       rts                            ; Run into UNINSTALL instead
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -104,11 +104,11 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:    sta     curpage                        ; Remember the new page
+MAP:    sta     curpage                 ; Remember the new page
 
-        sta    ptr1+1
-        lda    #OFFS
-        sta            ptr1
+        sta     ptr1+1
+        lda     #OFFS
+        sta     ptr1
 
 ; Transfer one page
 
@@ -143,7 +143,7 @@ USE:    sta     curpage                 ; Remember the page
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
-COMMIT: lda     curpage                        ; Get the current page
+COMMIT: lda     curpage                 ; Get the current page
         cmp     #$FF
         beq     done                    ; Jump if no page mapped
 
index abbfd2c4354ee8bab649e219dab38eb5668c989e..a1ad6b6731fef1e5262653791a05985a4213183a 100644 (file)
 ; initializer table
 sysp1:          .res    2
 sysp3:          .res    2
-vic:           .res    2
-sid:           .res    2
-cia1:          .res    2
-cia2:                  .res    2
-acia:                  .res    2
-tpi1:          .res    2
-tpi2:                  .res    2
-ktab1:         .res    2
-ktab2:         .res    2
-ktab3:         .res    2
-ktab4:         .res    2
+vic:            .res    2
+sid:            .res    2
+cia1:           .res    2
+cia2:           .res    2
+acia:           .res    2
+tpi1:           .res    2
+tpi2:           .res    2
+ktab1:          .res    2
+ktab2:          .res    2
+ktab3:          .res    2
+ktab4:          .res    2
 
 sysp0:          .word   $0000
-time:          .dword  $0000
+time:           .dword  $0000
 segsave:        .byte   0
 ktmp:           .byte   0
 CURS_X:         .byte   0
index 34294b841f3124436c5268c52ab99ac58cab6b09..1f5a48b206f8fea1e68f3593d0f4a6ac2f93515c 100644 (file)
@@ -2,8 +2,8 @@
 ; IRQ handling (CBM 500 version)
 ;
 
-       .export         initirq, doneirq
+        .export         initirq, doneirq
 
 initirq:
 doneirq:
-       rts
+        rts
index 42f9696a741ebcc28789071f4714ba7567b1415f..8a24dcbbb5d31ce538db97342192e3658f9edd66 100644 (file)
@@ -5,10 +5,10 @@
 ; Ullrich von Bassewitz, 2003-02-16
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
         .include        "../extzp.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "cbm510.inc"
 
@@ -22,7 +22,7 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79          ; "joy"
+        .byte   $6A, $6F, $79           ; "joy"
         .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
@@ -66,7 +66,7 @@ JOY_COUNT       = 2             ; Number of joysticks we support
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -92,45 +92,45 @@ COUNT:
 
 READ:   ldx     #$0F            ; Switch to the system bank
         stx     IndReg
-               tax                     ; Save joystick number
+        tax                     ; Save joystick number
 
 ; Get the direction bits
 
-       ldy     #CIA::PRB
-       lda     (cia2),y        ; Read joystick inputs
-       sta     tmp1
+        ldy     #CIA::PRB
+        lda     (cia2),y        ; Read joystick inputs
+        sta     tmp1
 
 ; Get the fire bits
 
         ldy     #CIA::PRA
-       lda     (cia2),y
+        lda     (cia2),y
 
 ; Make the result value
 
-       cpx     #$00            ; Joystick 0?
-       bne     @L1             ; Jump if no
+        cpx     #$00            ; Joystick 0?
+        bne     @L1             ; Jump if no
 
 ; Joystick 1, fire is in bit 6, direction in bit 0-3
 
-       asl     a
-       jmp     @L2
+        asl     a
+        jmp     @L2
 
 ; Joystick 2, fire is in bit 7, direction in bit 5-7
 
-@L1:    ldx     #$00                   ; High byte of return value
-       lsr     tmp1
-       lsr     tmp1
-       lsr     tmp1
-               lsr     tmp1
+@L1:    ldx     #$00            ; High byte of return value
+        lsr     tmp1
+        lsr     tmp1
+        lsr     tmp1
+        lsr     tmp1
 
 ; Mask the relavant bits, get the fire bit
 
-@L2:   asl     a               ; Fire bit into carry
-       lda     tmp1
-       and     #$0F
-       bcc     @L3
-       ora     #$10
-@L3:   eor     #$1F            ; All bits are inverted
+@L2:    asl     a               ; Fire bit into carry
+        lda     tmp1
+        and     #$0F
+        bcc     @L3
+        ora     #$10
+@L3:    eor     #$1F            ; All bits are inverted
 
 ; Switch back to the execution bank and return the joystick mask in a/x
 
index 476ca65ad327eccc45085d7077fe89fa6220e43f..a38a5bd1311f317bc41e87ba96a0522a055a2488 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _cbm510_std_joy
+        .export _joy_static_stddrv
+        .import _cbm510_std_joy
 
 .rodata
 
index dc7d30f423d01bab32d86b9b11f9f2978d8f0b81..e07cb57e310c2822678d7acf38cff218a8d93bf8 100644 (file)
@@ -6,8 +6,8 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "cbm510-std.joy"
+_joy_stddrv:    .asciiz "cbm510-std.joy"
index 8a94db66e4f70d010052b36a17e0a8d7757d4d86..92c83e795a94bc237ca539cd7c87a89852317a60 100644 (file)
@@ -4,14 +4,14 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
         .import         keyidx: zp
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-               lda     keyidx          ; Get number of characters
+        lda     keyidx          ; Get number of characters
         beq     L9
         lda     #1
 L9:     rts
index db9d852ebc09857ed59c20a0e21a2313694b71d1..9ea4f0e96272ea8c85e2f78ef589fb1595cdabf0 100644 (file)
 ; replacements (usually short ones where the overhead of the cross bank call
 ; is not worth the trouble) are commented out.
 
-CINT           = $FF81
-IOINIT         = $FF84
-RAMTAS         = $FF87
-RESTOR         = $FF8A
-VECTOR         = $FF8D
-SETMSG         = $FF90
-SECOND         = $FF93
-TKSA           = $FF96
-MEMTOP         = $FF99
-MEMBOT         = $FF9C
-SCNKEY         = $FF9F
-SETTMO         = $FFA2
-ACPTR          = $FFA5
-CIOUT          = $FFA8
-UNTLK          = $FFAB
-UNLSN          = $FFAE
-LISTEN         = $FFB1
-TALK           = $FFB4
-;READST                = $FFB7
-SETLFS         = $FFBA
-;SETNAM                = $FFBD
-;OPEN          = $FFC0
-;CLOSE         = $FFC3
-CHKIN          = $FFC6
-CKOUT          = $FFC9
-CLRCH          = $FFCC
-BASIN          = $FFCF
-BSOUT          = $FFD2
-LOAD           = $FFD5
-SAVE           = $FFD8
-;SETTIM                = $FFDB
-;RDTIM         = $FFDE
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-;UDTIM         = $FFEA
-;SCREEN                = $FFED
-PLOT           = $FFF0
-;IOBASE                = $FFF3
+CINT            = $FF81
+IOINIT          = $FF84
+RAMTAS          = $FF87
+RESTOR          = $FF8A
+VECTOR          = $FF8D
+SETMSG          = $FF90
+SECOND          = $FF93
+TKSA            = $FF96
+MEMTOP          = $FF99
+MEMBOT          = $FF9C
+SCNKEY          = $FF9F
+SETTMO          = $FFA2
+ACPTR           = $FFA5
+CIOUT           = $FFA8
+UNTLK           = $FFAB
+UNLSN           = $FFAE
+LISTEN          = $FFB1
+TALK            = $FFB4
+;READST         = $FFB7
+SETLFS          = $FFBA
+;SETNAM         = $FFBD
+;OPEN           = $FFC0
+;CLOSE          = $FFC3
+CHKIN           = $FFC6
+CKOUT           = $FFC9
+CLRCH           = $FFCC
+BASIN           = $FFCF
+BSOUT           = $FFD2
+LOAD            = $FFD5
+SAVE            = $FFD8
+;SETTIM         = $FFDB
+;RDTIM          = $FFDE
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+;UDTIM          = $FFEA
+;SCREEN         = $FFED
+PLOT            = $FFF0
+;IOBASE         = $FFF3
 
index 1f21f0249b32ee8d4068e922e48e04558ed86d00..55e5ba57c681275c22c3cb7524e70ed3c9ec7257 100644 (file)
@@ -11,9 +11,9 @@
 
 .proc   IOBASE
 
-       ldx     cia
-       ldy     cia+1
-       rts
+        ldx     cia
+        ldy     cia+1
+        rts
 
 .endproc
 
index 85e2f5a0cf037f673f717400f717945b091d13bf..241c6389ed629d9fe04000bb402586448d73f316 100644 (file)
 
 .proc   RDTIM
 
-       sei
-       lda     time+0
-       ldx     time+1
-       ldy     time+2
-       cli
-       rts
+        sei
+        lda     time+0
+        ldx     time+1
+        ldy     time+2
+        cli
+        rts
 
 .endproc
 
index 3413c6b8093db8f443304fa0e4222572d0195352..37af3b1e4098558e1ef18c3b444e3eb8364e12f3 100644 (file)
@@ -4,83 +4,83 @@
 ; Keyboard polling stuff for the 510.
 ;
 
-       .export         scnkey
-       .importzp       tpi2, ktab1, ktab2, ktab3, ktab4
+        .export         scnkey
+        .importzp       tpi2, ktab1, ktab2, ktab3, ktab4
         .importzp       keyidx, keybuf, keyscanbuf, keysave, modkey, norkey
         .importzp       graphmode, lastidx, rptdelay, rptcount
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
-.proc  scnkey
+.proc   scnkey
 
         lda     #$FF
         sta     modkey
         sta     norkey
-        lda    #$00
-       sta     keyscanbuf
-       ldy     #TPI::PRB
-       sta     (tpi2),y
-       ldy     #TPI::PRA
-       sta     (tpi2),y
+        lda     #$00
+        sta     keyscanbuf
+        ldy     #TPI::PRB
+        sta     (tpi2),y
+        ldy     #TPI::PRA
+        sta     (tpi2),y
         jsr     Poll
         and     #$3F
         eor     #$3F
         bne     L1
         jmp     NoKey
 
-L1:    lda     #$FF
-       ldy     #TPI::PRA
-       sta     (tpi2),y
+L1:     lda     #$FF
+        ldy     #TPI::PRA
+        sta     (tpi2),y
         asl     a
-       ldy     #TPI::PRB
-       sta     (tpi2),y
+        ldy     #TPI::PRB
+        sta     (tpi2),y
         jsr     Poll
         pha
         sta     modkey
         ora     #$30
-        bne     L3             ; Branch always
+        bne     L3              ; Branch always
 
-L2:    jsr     Poll
-L3:    ldx     #$05
-       ldy     #$00
-L4:    lsr     a
+L2:     jsr     Poll
+L3:     ldx     #$05
+        ldy     #$00
+L4:     lsr     a
         bcc     L5
-        inc    keyscanbuf
+        inc     keyscanbuf
         dex
         bpl     L4
         sec
-       ldy     #TPI::PRB
-       lda     (tpi2),y
-       rol     a
-       sta     (tpi2),y
-               ldy     #TPI::PRA
-       lda     (tpi2),y
-       rol     a
-       sta     (tpi2),y
+        ldy     #TPI::PRB
+        lda     (tpi2),y
+        rol     a
+        sta     (tpi2),y
+        ldy     #TPI::PRA
+        lda     (tpi2),y
+        rol     a
+        sta     (tpi2),y
         bcs     L2
         pla
-        bcc     NoKey          ; Branch always
+        bcc     NoKey           ; Branch always
 
-L5:    ldy     keyscanbuf
-       sty     norkey
+L5:     ldy     keyscanbuf
+        sty     norkey
         pla
         asl     a
         asl     a
         asl     a
         bcc     L6
         bmi     L7
-        lda     (ktab2),y              ; Shifted normal key
+        lda     (ktab2),y               ; Shifted normal key
         ldx     graphmode
         beq     L8
-        lda     (ktab3),y              ; Shifted key in graph mode
+        lda     (ktab3),y               ; Shifted key in graph mode
         bne     L8
 
-L6:    lda     (ktab4),y               ; Key with ctrl pressed
-       bne     L8
-L7:    lda     (ktab1),y               ; Normal key
-L8:    tax
-       cpx     #$FF                    ; Valid key?
+L6:     lda     (ktab4),y               ; Key with ctrl pressed
+        bne     L8
+L7:     lda     (ktab1),y               ; Normal key
+L8:     tax
+        cpx     #$FF                    ; Valid key?
         beq     Done
         cpy     lastidx
         beq     Repeat
@@ -97,17 +97,17 @@ L8: tax
         inx
         bne     PutKey
 
-NoKey: ldy     #$FF
-Done:          sty     lastidx
-End:   lda     #$7F
-       ldy     #TPI::PRA
-       sta     (tpi2),y
-       ldy     #TPI::PRB
-       lda     #$FF
-       sta     (tpi2),y
+NoKey:  ldy     #$FF
+Done:   sty     lastidx
+End:    lda     #$7F
+        ldy     #TPI::PRA
+        sta     (tpi2),y
+        ldy     #TPI::PRB
+        lda     #$FF
+        sta     (tpi2),y
         rts
 
-Repeat:        dec     rptdelay
+Repeat: dec     rptdelay
         bpl     End
         inc     rptdelay
         dec     rptcount
@@ -116,7 +116,7 @@ Repeat:     dec     rptdelay
         ldx     keyidx
         bne     End
 
-PutKey:        sta     keybuf,x
+PutKey: sta     keybuf,x
         inx
         stx     keyidx
         ldx     #$03
@@ -128,14 +128,14 @@ PutKey:   sta     keybuf,x
 
 ; Poll the keyboard port until it's stable
 
-.proc  Poll
-       ldy     #TPI::PRC
-L1:    lda     (tpi2),y
-       sta     keysave
-       lda     (tpi2),y
-       cmp     keysave
-       bne     L1
-       rts
+.proc   Poll
+        ldy     #TPI::PRC
+L1:     lda     (tpi2),y
+        sta     keysave
+        lda     (tpi2),y
+        cmp     keysave
+        bne     L1
+        rts
 .endproc
 
 
index 87b91c1aaf96c9f309fc500cecd4dc1b72ba5128..cab5cbd64663b668a979e50d6d714bcb69959b2f 100644 (file)
@@ -9,8 +9,8 @@
 
 .proc   SCREEN
 
-               ldx     #40             ; Columns
-       ldy     #25             ; Lines
-       rts
+        ldx     #40             ; Columns
+        ldy     #25             ; Lines
+        rts
 
 .endproc
index 8de8f1c49bbf8fda3d1e17f0ae1846c481629b27..c338c0de42fe904954d213668ae7981e8c3589ce 100644 (file)
@@ -29,9 +29,9 @@
         iny
         sta     (sysp0),y
 
-       lda     ExecReg                 ; Assume name is always in this segment
-       ldy     #$92                    ; FNAM_SEG
-       sta     (sysp0),y
+        lda     ExecReg                 ; Assume name is always in this segment
+        ldy     #$92                    ; FNAM_SEG
+        sta     (sysp0),y
 
         ldy     #$9D                    ; FNAM_LEN
         pla
index dab570fe6662204e359d7ebdad05391fab4a5196..69f01b4c2551cbbfac6dbfae6bee0383e81fc580 100644 (file)
 
 .proc   SETTIM
 
-       sei
-       sta     time+0
-       stx     time+1
-       sty     time+2
-       cli
-       rts
+        sei
+        sta     time+0
+        stx     time+1
+        sty     time+2
+        cli
+        rts
 
 .endproc
 
index 4653d8148a94ae7c5f0a3bea8a2fe59943aa2654..6862787fb6cd6cba93b513cdb6a1b8820a0ed720 100644 (file)
@@ -8,16 +8,16 @@
         .export         UDTIM
         .import         time: zp
 
-.proc  UDTIM
+.proc   UDTIM
 
-       inc     time
-       bne     L9
-       inc     time+1
-       bne     L9
-       inc     time+2
-       bne     L9
-       inc     time+3
-L9:    rts
+        inc     time
+        bne     L9
+        inc     time+1
+        bne     L9
+        inc     time+2
+        bne     L9
+        inc     time+3
+L9:     rts
 
 .endproc
 
index a9233382f0ed81ad1b7cfedd681a34d9d5068382..7ed8d46f4af4d8f64405a0482c0ec36427781a7d 100644 (file)
@@ -5,8 +5,8 @@
 ;
 
 
-       .constructor    initmainargs, 24
-               .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
 
 ;---------------------------------------------------------------------------
index 3d551e75cebd10c44a16372299e8c2d017dcbe70..ea3ed7134108f8a7680c28902e2fafe4f175c5de 100644 (file)
@@ -2,49 +2,49 @@
 ; Ullrich von Bassewitz, 14.09.2001
 ;
 
-       .export         _peekbsys, _peekwsys
-       .importzp       ptr1
+        .export         _peekbsys, _peekwsys
+        .importzp       ptr1
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
 ; ------------------------------------------------------------------------
 ; unsigned char __fastcall__ peekbsys (unsigned addr);
 
-.proc  _peekbsys
+.proc   _peekbsys
 
-       sta     ptr1            ; Store argument pointer
-       stx     ptr1+1
-               ldx     IndReg
-       lda     #$0F
-       sta     IndReg
-       ldy     #$00
-       lda     (ptr1),y
-       stx     IndReg
-       ldx     #$00            ; Extend to word
-       rts
+        sta     ptr1            ; Store argument pointer
+        stx     ptr1+1
+        ldx     IndReg
+        lda     #$0F
+        sta     IndReg
+        ldy     #$00
+        lda     (ptr1),y
+        stx     IndReg
+        ldx     #$00            ; Extend to word
+        rts
 
 .endproc
 
 ; ------------------------------------------------------------------------
 ; unsigned __fastcall__ peekwsys (unsigned addr);
 
-.proc  _peekwsys
-
-       sta     ptr1            ; Store argument pointer
-       stx     ptr1+1
-               ldx     IndReg
-       lda     #$0F
-       sta     IndReg
-       ldy     #$00
-       lda     (ptr1),y        ; Get low byte
-       pha
-       iny
-       lda     (ptr1),y        ; Get high byte
-       stx     IndReg
-       tax                     ; High byte -> X
-       pla                     ; Low byte -> A
-       rts
+.proc   _peekwsys
+
+        sta     ptr1            ; Store argument pointer
+        stx     ptr1+1
+        ldx     IndReg
+        lda     #$0F
+        sta     IndReg
+        ldy     #$00
+        lda     (ptr1),y        ; Get low byte
+        pha
+        iny
+        lda     (ptr1),y        ; Get high byte
+        stx     IndReg
+        tax                     ; High byte -> X
+        pla                     ; Low byte -> A
+        rts
 
 .endproc
 
index 41b4567063aa028347a06f6a7edc290beb3006ce..ea9c5f45f5f7802e7325326c8c7e398ba33c3a40 100644 (file)
@@ -4,46 +4,46 @@
 ; void pokebsys (unsigned Addr, unsigned char Val);
 ; void pokewsys (unsigned Addr, unsigned Val);
 
-       .export         _pokebsys, _pokewsys
-       .import         popsreg
-       .importzp       sreg, tmp1
+        .export         _pokebsys, _pokewsys
+        .import         popsreg
+        .importzp       sreg, tmp1
 
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
 ; ------------------------------------------------------------------------
 ;
 
-.proc  _pokebsys
+.proc   _pokebsys
 
-       jsr     popsreg         ; Get the address
-       ldx     IndReg
-               ldy     #$0F
-       sty     IndReg          ; Switch to the system bank
-       ldy     #$00
-       sta     (sreg),y
-       stx     IndReg
-       rts
+        jsr     popsreg         ; Get the address
+        ldx     IndReg
+        ldy     #$0F
+        sty     IndReg          ; Switch to the system bank
+        ldy     #$00
+        sta     (sreg),y
+        stx     IndReg
+        rts
 
 .endproc
 
 ; ------------------------------------------------------------------------
 ;
 
-.proc  _pokewsys
-
-       stx     tmp1            ; Save high byte
-               jsr     popsreg         ; Get the address
-       ldx     IndReg
-               ldy     #$0F
-       sty     IndReg          ; Switch to the system bank
-       ldy     #$00
-       sta     (sreg),y
-       iny
-       lda     tmp1
-       sta     (sreg),y
-       stx     IndReg
-       rts
+.proc   _pokewsys
+
+        stx     tmp1            ; Save high byte
+        jsr     popsreg         ; Get the address
+        ldx     IndReg
+        ldy     #$0F
+        sty     IndReg          ; Switch to the system bank
+        ldy     #$00
+        sta     (sreg),y
+        iny
+        lda     tmp1
+        sta     (sreg),y
+        stx     IndReg
+        rts
 
 .endproc
 
index ea8d29efd808b3e0b628d699745210ed330ddfe6..d5420165cb4c16291c20e695796281cd6042c23d 100644 (file)
@@ -5,8 +5,8 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
         .importzp       time
 
 __randomize:
index 3d21c97718e9ef44c56c179a513329becbdb7eff..1cef045886985f67b6dd057b3c8a804541cc5e84 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
         .import         RVS: zp
 
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index eeaddaf688e613aa28f9ac656b9a7bf337a51ca9..9b721bd4139cde08f42becbc7299eb673e2778e0 100644 (file)
@@ -25,7 +25,7 @@
         .include        "../extzp.inc"
         .include        "ser-kernel.inc"
         .include        "ser-error.inc"
-       .include        "cbm510.inc"
+        .include        "cbm510.inc"
 
 
 ; ------------------------------------------------------------------------
@@ -48,7 +48,7 @@
         .word   PUT
         .word   STATUS
         .word   IOCTL
-       .word   IRQ
+        .word   IRQ
 
 ;----------------------------------------------------------------------------
 ;
 ;
 
 .bss
-RecvHead:      .res    1       ; Head of receive buffer
-RecvTail:      .res    1       ; Tail of receive buffer
-RecvFreeCnt:   .res    1       ; Number of bytes in receive buffer
-SendHead:      .res    1       ; Head of send buffer
-SendTail:      .res    1       ; Tail of send buffer
-SendFreeCnt:   .res    1       ; Number of bytes in send buffer
+RecvHead:       .res    1       ; Head of receive buffer
+RecvTail:       .res    1       ; Tail of receive buffer
+RecvFreeCnt:    .res    1       ; Number of bytes in receive buffer
+SendHead:       .res    1       ; Head of send buffer
+SendTail:       .res    1       ; Tail of send buffer
+SendFreeCnt:    .res    1       ; Number of bytes in send buffer
 
-Stopped:       .res    1       ; Flow-stopped flag
-RtsOff:                .res    1       ;
+Stopped:        .res    1       ; Flow-stopped flag
+RtsOff:         .res    1       ;
 
 ; Send and receive buffers: 256 bytes each
-RecvBuf:       .res    256
-SendBuf:       .res    256
+RecvBuf:        .res    256
+SendBuf:        .res    256
 
 .rodata
 
@@ -137,14 +137,14 @@ CLOSE:
 
 ; Deactivate DTR and disable 6551 interrupts
 
-       lda     #%00001010
+        lda     #%00001010
         jsr     write_cmd
 
 ; Done, return an error code
 
         lda     #<SER_ERR_OK
         tax                     ; A is zero
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; PARAMS routine. A pointer to a ser_params structure is passed in ptr1.
@@ -154,22 +154,22 @@ OPEN:
 
 ; Check if the handshake setting is valid
 
-        ldy    #SER_PARAMS::HANDSHAKE  ; Handshake
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
         lda     (ptr1),y
-        cmp    #SER_HS_HW              ; This is all we support
-        bne    InvParam
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
 
 ; Initialize buffers
 
-        ldx    #0
+        ldx     #0
         stx     Stopped
-               stx     RecvHead
-       stx     RecvTail
-       stx     SendHead
-       stx     SendTail
+        stx     RecvHead
+        stx     RecvTail
+        stx     SendHead
+        stx     SendTail
         dex                             ; X = 255
-               stx     RecvFreeCnt
-       stx     SendFreeCnt
+        stx     RecvFreeCnt
+        stx     SendFreeCnt
 
 ; Set the value for the control register, which contains stop bits, word
 ; length and the baud rate.
@@ -178,49 +178,49 @@ OPEN:
         lda     (ptr1),y                ; Baudrate index
         tay
         lda     BaudTable,y             ; Get 6551 value
-        bmi     InvBaud                        ; Branch if rate not supported
+        bmi     InvBaud                 ; Branch if rate not supported
         sta     tmp1
 
-        ldy    #SER_PARAMS::DATABITS   ; Databits
+        ldy     #SER_PARAMS::DATABITS   ; Databits
         lda     (ptr1),y
         tay
         lda     BitTable,y
         ora     tmp1
         sta     tmp1
 
-        ldy    #SER_PARAMS::STOPBITS   ; Stopbits
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
         lda     (ptr1),y
         tay
         lda     StopTable,y
         ora     tmp1
-        ora    #%00010000              ; Receiver clock source = baudrate
-       ldy     #ACIA::CTRL
+        ora     #%00010000              ; Receiver clock source = baudrate
+        ldy     #ACIA::CTRL
         jsr     write
 
 ; Set the value for the command register. We remember the base value in
 ; RtsOff, since we will have to manipulate ACIA_CMD often.
 
-        ldy            #SER_PARAMS::PARITY     ; Parity
+        ldy     #SER_PARAMS::PARITY     ; Parity
         lda     (ptr1),y
         tay
         lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-               ora     #%00001000              ; Enable receive interrupts
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
         jsr     write_cmd
 
 ; Done
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ; Invalid parameter
 
 InvParam:
-       lda     #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
+        lda     #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
 
 ; Baud rate not available
 
@@ -235,43 +235,43 @@ InvBaud:
 ; return.
 ;
 
-GET:    ldx    SendFreeCnt             ; Send data if necessary
-               inx                             ; X == $FF?
-       beq     @L1
-       lda     #$00
-       jsr     TryToSend
+GET:    ldx     SendFreeCnt             ; Send data if necessary
+        inx                             ; X == $FF?
+        beq     @L1
+        lda     #$00
+        jsr     TryToSend
 
 ; Check for buffer empty
 
-@L1:   lda     RecvFreeCnt
-       cmp     #$ff
-       bne     @L2
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
+@L1:    lda     RecvFreeCnt
+        cmp     #$ff
+        bne     @L2
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
 
 ; Check for flow stopped & enough free: release flow control
 
-@L2:   ldx     Stopped
-       beq     @L3
-       cmp     #63
-       bcc     @L3
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
+@L2:    ldx     Stopped
+        beq     @L3
+        cmp     #63
+        bcc     @L3
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
         jsr     write_cmd
 
 ; Get byte from buffer
 
-@L3:   ldx     RecvHead
-               lda     RecvBuf,x
-       inc     RecvHead
-       inc     RecvFreeCnt
-               ldx     #$00
-       sta     (ptr1,x)
-               txa                             ; Return code = 0
-       rts
+@L3:    ldx     RecvHead
+        lda     RecvBuf,x
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00
+        sta     (ptr1,x)
+        txa                             ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
@@ -282,30 +282,30 @@ PUT:
 
 ; Try to send
 
-        ldx    SendFreeCnt
-               inx                             ; X = $ff?
-       beq     @L2
-       pha
-       lda     #$00
-       jsr     TryToSend
-       pla
+        ldx     SendFreeCnt
+        inx                             ; X = $ff?
+        beq     @L2
+        pha
+        lda     #$00
+        jsr     TryToSend
+        pla
 
 ; Put byte into send buffer & send
 
-@L2:   ldx     SendFreeCnt
-       bne     @L3
-       lda     #<SER_ERR_OVERFLOW      ; X is already zero
-       rts
-
-@L3:   ldx     SendTail
-       sta     SendBuf,x
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$ff
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-               rts
+@L2:    ldx     SendFreeCnt
+        bne     @L3
+        lda     #<SER_ERR_OVERFLOW      ; X is already zero
+        rts
+
+@L3:    ldx     SendTail
+        sta     SendBuf,x
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$ff
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
@@ -316,11 +316,11 @@ STATUS: lda     #$0F
         sta     IndReg
         ldy     #ACIA::STATUS
         lda     (acia),y
-               ldx     #0
-       sta     (ptr1,x)
+        ldx     #0
+        sta     (ptr1,x)
         lda     IndReg
         sta     ExecReg
-       txa                             ; SER_ERR_OK
+        txa                             ; SER_ERR_OK
         rts
 
 ;----------------------------------------------------------------------------
@@ -344,25 +344,25 @@ IRQ:    lda     #$0F
         sta     IndReg          ; Switch to the system bank
         ldy     #ACIA::STATUS
         lda     (acia),y        ; Check ACIA status for receive interrupt
-       and     #$08
-               beq     @L9             ; Jump if no ACIA interrupt (carry still clear)
+        and     #$08
+        beq     @L9             ; Jump if no ACIA interrupt (carry still clear)
         ldy     #ACIA::DATA
-        lda            (acia),y        ; Get byte from ACIA
-       ldx     RecvFreeCnt     ; Check if we have free space left
-               beq     @L1             ; Jump if no space in receive buffer
-       ldy     RecvTail        ; Load buffer pointer
-       sta     RecvBuf,y       ; Store received byte in buffer
-       inc     RecvTail        ; Increment buffer pointer
-       dec     RecvFreeCnt     ; Decrement free space counter
-       cpx     #33             ; Check for buffer space low
-               bcs     @L9             ; Assert flow control if buffer space low
+        lda     (acia),y        ; Get byte from ACIA
+        ldx     RecvFreeCnt     ; Check if we have free space left
+        beq     @L1             ; Jump if no space in receive buffer
+        ldy     RecvTail        ; Load buffer pointer
+        sta     RecvBuf,y       ; Store received byte in buffer
+        inc     RecvTail        ; Increment buffer pointer
+        dec     RecvFreeCnt     ; Decrement free space counter
+        cpx     #33             ; Check for buffer space low
+        bcs     @L9             ; Assert flow control if buffer space low
 
 ; Assert flow control if buffer space too low
 
-@L1:   lda     RtsOff
+@L1:    lda     RtsOff
         ldy     #ACIA::CMD
         sta     (acia),y
-       sta     Stopped
+        sta     Stopped
         sec                     ; Interrupt handled
 
 ; Done, switch back to the execution segment
@@ -376,26 +376,26 @@ IRQ:    lda     #$0F
 
 .proc   TryToSend
 
-       sta     tmp1            ; Remember tryHard flag
+        sta     tmp1            ; Remember tryHard flag
         lda     #$0F
         sta     IndReg          ; Switch to the system bank
-@L0:           lda     SendFreeCnt
-       cmp     #$ff
-       beq     @L3             ; Bail out
+@L0:    lda     SendFreeCnt
+        cmp     #$ff
+        beq     @L3             ; Bail out
 
 ; Check for flow stopped
 
-@L1:   lda     Stopped
-               bne     @L3             ; Bail out
+@L1:    lda     Stopped
+        bne     @L3             ; Bail out
 
 ; Check that swiftlink is ready to send
 
-@L2:           ldy     #ACIA::STATUS
+@L2:    ldy     #ACIA::STATUS
         lda     (acia),y
-       and     #$10
-       bne     @L4
-       bit     tmp1            ; Keep trying if must try hard
-               bmi     @L0
+        and     #$10
+        bne     @L4
+        bit     tmp1            ; Keep trying if must try hard
+        bmi     @L0
 
 ; Switch back the bank and return
 
@@ -405,13 +405,13 @@ IRQ:    lda     #$0F
 
 ; Send byte and try again
 
-@L4:   ldx     SendHead
-       lda     SendBuf,x
+@L4:    ldx     SendHead
+        lda     SendBuf,x
         ldy     #ACIA::DATA
-       sta     (acia),y
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     @L0
+        sta     (acia),y
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     @L0
 
 .endproc
 
index 69e60e7e659b05bf2e245f3eff6d9b5257244c75..8a3858cef981a6f180831cbd587ba87cbed79e7b 100644 (file)
 
         .include        "time.inc"
         .include        "cbm510.inc"
-       .include        "extzp.inc"
+        .include        "extzp.inc"
 
-       .import         sys_bank, restore_bank
-       .importzp       tmp1, tmp2
+        .import         sys_bank, restore_bank
+        .importzp       tmp1, tmp2
 
 
 ;----------------------------------------------------------------------------
 .code
 
-.proc  __systime
+.proc   __systime
 
 ; Switch to the system bank
 
-       jsr     sys_bank
+        jsr     sys_bank
 
 ; Read the clock
 
-       ldy     #CIA::TODHR
-               lda     (cia2),y
-       bpl     AM
-       and     #%01111111
-       sed
-       clc
-       adc     #$12
-       cld
-AM:    jsr     BCD2dec
-       sta     TM + tm::tm_hour
-       ldy     #CIA::TODMIN
-       lda     (cia2),y
-       jsr     BCD2dec
-       sta     TM + tm::tm_min
-       ldy     #CIA::TODSEC
-       lda     (cia2),y
-       jsr     BCD2dec
-       sta     TM + tm::tm_sec
-       ldy     #CIA::TOD10
-       lda     (cia2),y                ; Dummy read to unfreeze
+        ldy     #CIA::TODHR
+        lda     (cia2),y
+        bpl     AM
+        and     #%01111111
+        sed
+        clc
+        adc     #$12
+        cld
+AM:     jsr     BCD2dec
+        sta     TM + tm::tm_hour
+        ldy     #CIA::TODMIN
+        lda     (cia2),y
+        jsr     BCD2dec
+        sta     TM + tm::tm_min
+        ldy     #CIA::TODSEC
+        lda     (cia2),y
+        jsr     BCD2dec
+        sta     TM + tm::tm_sec
+        ldy     #CIA::TOD10
+        lda     (cia2),y                ; Dummy read to unfreeze
 
 ; Restore the bank
 
-       jsr     restore_bank
+        jsr     restore_bank
 
 ; Convert to a time
 
-       lda     #<TM
-       ldx     #>TM
-       jmp     _mktime
+        lda     #<TM
+        ldx     #>TM
+        jmp     _mktime
 
 .endproc
 
 ;----------------------------------------------------------------------------
 ; dec = (((BCD>>4)*10) + (BCD&0xf))
 
-.proc  BCD2dec
+.proc   BCD2dec
 
-       tax
-       and     #%00001111
-       sta     tmp1
-       txa
+        tax
+        and     #%00001111
+        sta     tmp1
+        txa
         and     #%11110000      ; *16
         lsr                     ; *8
         sta     tmp2
@@ -86,7 +86,7 @@ AM:   jsr     BCD2dec
 ; TM struct with date set to 1970-01-01
 .data
 
-TM:            .word           0       ; tm_sec
+TM:     .word           0       ; tm_sec
         .word           0       ; tm_min
         .word           0       ; tm_hour
         .word           1       ; tm_mday
index b97c3d2267c73b26a9d6e47bad0863ff26350707..8b68b8cdce109d9a75d4a3f3009e70e31303bc6a 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
         .import         SCREEN
                               
         screensize      = SCREEN
index 18e64523f3f4c2769e5075900d4629afd278a642..51316cf8dff9aeef20fc19104201c73eae936fcb 100644 (file)
@@ -4,38 +4,38 @@
 ; Banking routines for the 610.
 ;
 
-       .export         set_bank, sys_bank, restore_bank
-       .importzp       ptr1, segsave
+        .export         set_bank, sys_bank, restore_bank
+        .importzp       ptr1, segsave
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 .code
 
-.proc  sys_bank
-       pha
-       lda     IndReg
-       sta     segsave
-       lda     #$0F
-       sta     IndReg
-       pla
-       rts
+.proc   sys_bank
+        pha
+        lda     IndReg
+        sta     segsave
+        lda     #$0F
+        sta     IndReg
+        pla
+        rts
 .endproc
 
-.proc  set_bank
-       pha
-       lda     IndReg
-       sta     segsave
-       pla
-       sta     IndReg
-       rts
+.proc   set_bank
+        pha
+        lda     IndReg
+        sta     segsave
+        pla
+        sta     IndReg
+        rts
 .endproc
 
-.proc  restore_bank
-       pha
-       lda     segsave
-       sta     IndReg
-       pla
-       rts
+.proc   restore_bank
+        pha
+        lda     segsave
+        sta     IndReg
+        pla
+        rts
 .endproc
 
 
index 114ecbfdefaa8679140b1f0d2216c0dfae3b88f0..03927fa70210985f9999515939d95f5c07605130 100644 (file)
@@ -5,66 +5,66 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-               .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
-       .import         _atexit, BRKVec
+        .export         _set_brk, _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .import         _atexit, BRKVec
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
-_brk_01:       .res    1
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
+_brk_01:        .res    1
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -72,42 +72,42 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
+.proc   brk_handler
 
         pla
-       sta     _brk_01
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_01
+        sta     _brk_01
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_01
         sta     IndReg
 
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 8a017b4f5ad7c4070fff66fc8c8ef521a1211234..b565866f720df282f0759eb3e1447810121ed12c 100644 (file)
@@ -4,47 +4,47 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
-       .import         plot, write_crtc
-       .import         cursor
+        .export         _cgetc
+        .import         plot, write_crtc
+        .import         cursor
 
         .import         keyidx: zp, keybuf: zp, config: zp
 
 
 
-_cgetc:        lda     keyidx          ; Get number of characters
-       bne     L2              ; Jump if there are already chars waiting
+_cgetc: lda     keyidx          ; Get number of characters
+        bne     L2              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed
 
-               lda     cursor
-               beq     L1              ; Jump if no cursor
-
-               jsr     plot            ; Set the current cursor position
-               ldy     #10
-               lda     config          ; Cursor format
-               jsr     write_crtc      ; Set the cursor formar
-
-L1:            lda     keyidx
-               beq     L1
-
-               ldy     #10
-               lda     #$20            ; Cursor off
-               jsr     write_crtc
-
-L2:            ldx     #$00            ; Get index
-               ldy     keybuf          ; Get first character in the buffer
-               sei
-L3:            lda     keybuf+1,x      ; Move up the remaining chars
-               sta     keybuf,x
-               inx
-               cpx     keyidx
-               bne     L3
-               dec     keyidx
-               cli
-
-               ldx     #$00            ; High byte
-               tya                     ; First char from buffer
-               rts
+        lda     cursor
+        beq     L1              ; Jump if no cursor
+
+        jsr     plot            ; Set the current cursor position
+        ldy     #10
+        lda     config          ; Cursor format
+        jsr     write_crtc      ; Set the cursor formar
+
+L1:     lda     keyidx
+        beq     L1
+
+        ldy     #10
+        lda     #$20            ; Cursor off
+        jsr     write_crtc
+
+L2:     ldx     #$00            ; Get index
+        ldy     keybuf          ; Get first character in the buffer
+        sei
+L3:     lda     keybuf+1,x      ; Move up the remaining chars
+        sta     keybuf,x
+        inx
+        cpx     keyidx
+        bne     L3
+        dec     keyidx
+        cli
+
+        ldx     #$00            ; High byte
+        tya                     ; First char from buffer
+        rts
 
 
index 6e620f44bfe6a3928da74b7b1f11bad01edfbe01..8ecc4b056d8f2a38c11f76991c2dc564f5fbdac4 100644 (file)
@@ -4,38 +4,38 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
-       .import         plot
+        .export         _clrscr
+        .import         plot
         .import         CURS_X: zp, CURS_Y: zp, CharPtr: zp
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
-.proc  _clrscr
+.proc   _clrscr
 
-       lda     #0
-       sta     CURS_X
-       sta     CURS_Y
-               jsr     plot            ; Set cursor to top left corner
+        lda     #0
+        sta     CURS_X
+        sta     CURS_Y
+        jsr     plot            ; Set cursor to top left corner
 
-       lda     IndReg
-       pha
-       lda     #$0F
-       sta     IndReg          ; Switch to the system bank
+        lda     IndReg
+        pha
+        lda     #$0F
+        sta     IndReg          ; Switch to the system bank
 
-       ldx     #8
-       ldy     #$00
-       lda     #$20            ; Screencode for blank
-L1:    sta     (CharPtr),y
-       iny
-       bne     L1
-       inc     CharPtr+1
-       dex
-       bne     L1
+        ldx     #8
+        ldy     #$00
+        lda     #$20            ; Screencode for blank
+L1:     sta     (CharPtr),y
+        iny
+        bne     L1
+        inc     CharPtr+1
+        dex
+        bne     L1
 
-       pla
-       sta     IndReg          ; Restore old indirect segment
+        pla
+        sta     IndReg          ; Restore old indirect segment
 
-       jmp     plot            ; Set screen pointer again
+        jmp     plot            ; Set screen pointer again
 
 .endproc
 
index f36fdf11ee86856052dd04b4e0ca104df1b4f84b..bd7a1556ee0240ca7ead7d9c94d9100a54ce5c1c 100644 (file)
@@ -6,15 +6,15 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
-       .import         return0, return1
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         return0, return1
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
-_textcolor     = return1
+_textcolor      = return1
 
-_bgcolor       = return0
+_bgcolor        = return0
 
-_bordercolor   = return0
+_bordercolor    = return0
 
 
index f34bcad22b7b7df013546ac49beca354a50776a4..831ead6d63df864df7670ca10cd04c47b0e8e433 100644 (file)
@@ -5,51 +5,51 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .destructor     setsyscursor
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .destructor     setsyscursor
 
-       .import         _gotoxy
-       .import         popa
-       .import         PLOT
+        .import         _gotoxy
+        .import         popa
+        .import         PLOT
 
         .import         ktmp: zp, crtc: zp, CURS_X: zp, CURS_Y: zp, RVS: zp
         .import         CharPtr: zp
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
@@ -63,87 +63,87 @@ L3:     sty     CURS_X
         rts
 
 newline:
-       clc
-       lda     #XSIZE
-       adc     CharPtr
-       sta     CharPtr
-       bcc     L4
-       inc     CharPtr+1
-L4:    inc     CURS_Y
-       rts
+        clc
+        lda     #XSIZE
+        adc     CharPtr
+        sta     CharPtr
+        bcc     L4
+        inc     CharPtr+1
+L4:     inc     CURS_Y
+        rts
 
 ; Handle character if high bit set
 
-L10:   and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L11
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L11:   ora     #$40
-       bne     cputdirect      ; Branch always
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect      ; Branch always
 
 ; Write one character to the screen without doing anything else, return X
 ; position in Y
 
 putchar:
-       ldx     IndReg
-       ldy     #$0F
-       sty     IndReg
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (CharPtr),y     ; Set char
-       stx     IndReg
-       rts
+        ldx     IndReg
+        ldy     #$0F
+        sty     IndReg
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (CharPtr),y     ; Set char
+        stx     IndReg
+        rts
 
 ; Set cursor position, calculate RAM pointers
 
 plot:   ldx     CURS_Y
-        lda    LineLSBTab,x
-       sta     CharPtr
-       lda     LineMSBTab,x
-       sta     CharPtr+1
-
-       lda     IndReg
-       pha
-       lda     #$0F
-       sta     IndReg
-
-       ldy     #$00
-       clc
-       sei
-       sta     (crtc),y
-       lda     CharPtr
-       adc     CURS_X
-       iny
-       sta     (crtc),y
-       dey
-       lda     #$0E
-       sta     (crtc),y
-       iny
-       lda     (crtc),y
-       and     #$F8
-       sta     ktmp
-       lda     CharPtr+1
-       adc     #$00
-       and     #$07
-       ora     ktmp
-       sta     (crtc),y
-       cli
-
-       pla
-       sta     IndReg
-       rts
+        lda     LineLSBTab,x
+        sta     CharPtr
+        lda     LineMSBTab,x
+        sta     CharPtr+1
+
+        lda     IndReg
+        pha
+        lda     #$0F
+        sta     IndReg
+
+        ldy     #$00
+        clc
+        sei
+        sta     (crtc),y
+        lda     CharPtr
+        adc     CURS_X
+        iny
+        sta     (crtc),y
+        dey
+        lda     #$0E
+        sta     (crtc),y
+        iny
+        lda     (crtc),y
+        and     #$F8
+        sta     ktmp
+        lda     CharPtr+1
+        adc     #$00
+        and     #$07
+        ora     ktmp
+        sta     (crtc),y
+        cli
+
+        pla
+        sta     IndReg
+        rts
 
 ; -------------------------------------------------------------------------
 ; Cleanup routine that sets the kernal cursor position to ours
 
-.segment       "PAGE2"
+.segment        "PAGE2"
 
 setsyscursor:
-       ldy     CURS_X
-       ldx     CURS_Y
-       clc
-       jmp     PLOT            ; Set the new cursor
+        ldy     CURS_X
+        ldx     CURS_Y
+        clc
+        jmp     PLOT            ; Set the new cursor
 
 ; -------------------------------------------------------------------------
 ; Low bytes of the start address of the screen lines
index 130042b506edcb7a31c2e88fe28c82e6ba383a15..cc59148cc5b581e0d9771b42fc340c431721cc79 100644 (file)
@@ -2,18 +2,18 @@
 ; Startup code for cc65 (CBM 600/700 version)
 ;
 
-       .export         _exit, BRKVec
+        .export         _exit, BRKVec
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
-       .import         callirq_y, initlib, donelib
-       .import         push0, callmain
-       .import         __BSS_RUN__, __BSS_SIZE__, __EXTZP_RUN__
-       .import         __INTERRUPTOR_COUNT__
-       .import         scnkey, UDTIM
+        .import         callirq_y, initlib, donelib
+        .import         push0, callmain
+        .import         __BSS_RUN__, __BSS_SIZE__, __EXTZP_RUN__
+        .import         __INTERRUPTOR_COUNT__
+        .import         scnkey, UDTIM
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
         .include        "extzp.inc"
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 ; ------------------------------------------------------------------------
@@ -36,8 +36,8 @@
 ; The machine program in the data lines is:
 ;
 ; sei
-; lda    #$01
-; sta     $00          <-- Switch to bank 1 after this command
+; lda     #$01
+; sta     $00           <-- Switch to bank 1 after this command
 ;
 ; Initialization is not only complex because of the jumping from one bank
 ; into another. but also because we want to save memory, and because of
 
 .segment        "EXEHDR"
 
-        .byte  $03,$00,$11,$00,$0a,$00,$81,$20,$49,$b2,$30,$20,$a4,$20,$34,$00
-       .byte   $19,$00,$14,$00,$87,$20,$4a,$00,$27,$00,$1e,$00,$97,$20,$32,$35
-       .byte   $36,$aa,$49,$2c,$4a,$00,$2f,$00,$28,$00,$82,$20,$49,$00,$39,$00
-       .byte   $32,$00,$9e,$20,$32,$35,$36,$00,$4f,$00,$3c,$00,$83,$20,$31,$32
-       .byte   $30,$2c,$31,$36,$39,$2c,$31,$2c,$31,$33,$33,$2c,$30,$00,$00,$00
+        .byte   $03,$00,$11,$00,$0a,$00,$81,$20,$49,$b2,$30,$20,$a4,$20,$34,$00
+        .byte   $19,$00,$14,$00,$87,$20,$4a,$00,$27,$00,$1e,$00,$97,$20,$32,$35
+        .byte   $36,$aa,$49,$2c,$4a,$00,$2f,$00,$28,$00,$82,$20,$49,$00,$39,$00
+        .byte   $32,$00,$9e,$20,$32,$35,$36,$00,$4f,$00,$3c,$00,$83,$20,$31,$32
+        .byte   $30,$2c,$31,$36,$39,$2c,$31,$2c,$31,$33,$33,$2c,$30,$00,$00,$00
 
 ;------------------------------------------------------------------------------
 ; A table that contains values that must be transfered from the system zero
@@ -182,15 +182,15 @@ expull: pla
 
 .segment        "STARTUP"
 
-Back:   sta    ExecReg
+Back:   sta     ExecReg
 
 ; We are at $100 now. The following snippet is a copy of the code that is poked
 ; in the system bank memory by the basic header program, it's only for
 ; documentation and not actually used here:
 
-       sei
-       lda     #$01
-       sta     ExecReg
+        sei
+        lda     #$01
+        sta     ExecReg
 
 ; This is the actual starting point of our code after switching banks for
 ; startup. Beware: The following code will get overwritten as soon as we
@@ -205,9 +205,9 @@ Back:   sta ExecReg
         sta     ExecReg
         rts
         nop
-               .word   nmi             ; NMI vector
-               .word   0               ; Reset - not used
-               .word   irq             ; IRQ vector
+        .word   nmi             ; NMI vector
+        .word   0               ; Reset - not used
+        .word   irq             ; IRQ vector
 .endproc
 
 ; Initializers for the extended zeropage. See extzp.s
@@ -215,23 +215,23 @@ Back:   sta       ExecReg
 .proc   extzp
         .word   $0100           ; sysp1
         .word   $0300           ; sysp3
-        .word          $d800           ; crtc
-        .word          $da00           ; sid
-        .word          $db00           ; ipccia
-        .word          $dc00           ; cia
-        .word          $dd00           ; acia
-        .word          $de00           ; tpi1
-        .word          $df00           ; tpi2
-        .word          $ea29           ; ktab1
-        .word          $ea89           ; ktab2
-        .word  $eae9           ; ktab3
-        .word          $eb49           ; ktab4
+        .word   $d800           ; crtc
+        .word   $da00           ; sid
+        .word   $db00           ; ipccia
+        .word   $dc00           ; cia
+        .word   $dd00           ; acia
+        .word   $de00           ; tpi1
+        .word   $df00           ; tpi2
+        .word   $ea29           ; ktab1
+        .word   $ea89           ; ktab2
+        .word   $eae9           ; ktab3
+        .word   $eb49           ; ktab4
 .endproc
 
 ; Switch the indirect segment to the system bank
 
-Origin: lda    #$0F
-       sta     IndReg
+Origin: lda     #$0F
+        sta     IndReg
 
 ; Initialize the extended zeropage
 
@@ -247,8 +247,8 @@ L1:     lda     extzp,x
         txa
         ldy     #$FF
         sta     (sysp1),y       ; Save system stack point into $F:$1FF
-       ldx     #$FE            ; Leave $1FF untouched for cross bank calls
-       txs                     ; Set up our own stack
+        ldx     #$FE            ; Leave $1FF untouched for cross bank calls
+        txs                     ; Set up our own stack
 
 ; Copy stuff from the system zeropage to ours
 
@@ -266,18 +266,18 @@ L2:     ldx     ktmp
 
 ; Set the interrupt, NMI and other vectors
 
-       ldx     #.sizeof(vectors)-1
-L3:            lda     vectors,x
-       sta     $10000 - .sizeof(vectors),x
-       dex
-               bpl     L3
+        ldx     #.sizeof(vectors)-1
+L3:     lda     vectors,x
+        sta     $10000 - .sizeof(vectors),x
+        dex
+        bpl     L3
 
 ; Setup the C stack
 
-       lda     #.lobyte(callbank15::entry)
-       sta     sp
-       lda     #.hibyte(callbank15::entry)
-       sta     sp+1
+        lda     #.lobyte(callbank15::entry)
+        sta     sp
+        lda     #.hibyte(callbank15::entry)
+        sta     sp+1
 
 ; Setup the subroutine and jump vector table that redirects kernal calls to
 ; the system bank.
@@ -305,39 +305,39 @@ L3:       lda     vectors,x
 
 ; Set the indirect segment to bank we're executing in
 
-       lda     ExecReg
-       sta     IndReg
+        lda     ExecReg
+        sta     IndReg
 
 ; Zero the BSS segment. We will do that here instead calling the routine
 ; in the common library, since we have the memory anyway, and this way,
 ; it's reused later.
 
-       lda     #<__BSS_RUN__
-       sta     ptr1
-       lda     #>__BSS_RUN__
-       sta     ptr1+1
-       lda     #0
-       tay
+        lda     #<__BSS_RUN__
+        sta     ptr1
+        lda     #>__BSS_RUN__
+        sta     ptr1+1
+        lda     #0
+        tay
 
 ; Clear full pages
 
-       ldx     #>__BSS_SIZE__
-       beq     Z2
-Z1:    sta     (ptr1),y
-       iny
-       bne     Z1
-       inc     ptr1+1                  ; Next page
-       dex
-       bne     Z1
+        ldx     #>__BSS_SIZE__
+        beq     Z2
+Z1:     sta     (ptr1),y
+        iny
+        bne     Z1
+        inc     ptr1+1                  ; Next page
+        dex
+        bne     Z1
 
 ; Clear the remaining page
 
-Z2:    ldx     #<__BSS_SIZE__
-       beq     Z4
-Z3:    sta     (ptr1),y
-       iny
-       dex
-       bne     Z3
+Z2:     ldx     #<__BSS_SIZE__
+        beq     Z4
+Z3:     sta     (ptr1),y
+        iny
+        dex
+        bne     Z3
 Z4:     jmp     Init
 
 ; ------------------------------------------------------------------------
@@ -350,22 +350,22 @@ Z4:     jmp     Init
 
 Init:   lda     #.lobyte(__INTERRUPTOR_COUNT__*2)
         sta     irqcount
-       cli
+        cli
 
 ; Call module constructors.
 
-        jsr    initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-               jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry and the default entry
 ; point for the break vector.
 
-_exit:  pha                    ; Save the return code
-        jsr    donelib         ; Run module destructors
-       lda     #$00
+_exit:  pha                     ; Save the return code
+        jsr     donelib         ; Run module destructors
+        lda     #$00
         sta     irqcount        ; Disable custom irq handlers
 
 ; Address the system bank
@@ -391,9 +391,9 @@ _exit:  pha                 ; Save the return code
 
 ; Place the program return code into ST
 
-       pla
-       ldy     #$9C            ; ST
-       sta     (sysp0),y
+        pla
+        ldy     #$9C            ; ST
+        sta     (sysp0),y
 
 ; Setup the welcome code at the stack bottom in the system bank.
 
@@ -406,9 +406,9 @@ _exit:  pha                 ; Save the return code
         iny
         lda     #$60            ; RTS opcode
         sta     (sysp1),y
-       lda     IndReg
+        lda     IndReg
         sei
-       txs
+        txs
         jmp     Back
 
 ; -------------------------------------------------------------------------
@@ -416,7 +416,7 @@ _exit:  pha                 ; Save the return code
 ; easier chaining, we do handle the IRQs in the execution bank (instead of
 ; passing them to the system bank).
 
-; This is the mapping of the active irq register of the        6525 (tpi1):
+; This is the mapping of the active irq register of the 6525 (tpi1):
 ;
 ; Bit   7       6       5       4       3       2       1       0
 ;                               |       |       |       |       ^ 50 Hz
@@ -434,10 +434,10 @@ irq:    pha
         pha
         lda     ExecReg
         sta     IndReg                  ; Be sure to address our segment
-       tsx
-               lda     $105,x                  ; Get the flags from the stack
-       and     #$10                    ; Test break flag
-               bne     dobrk
+        tsx
+        lda     $105,x                  ; Get the flags from the stack
+        and     #$10                    ; Test break flag
+        bne     dobrk
 
 ; It's an IRQ
 
@@ -445,40 +445,40 @@ irq:    pha
 
 ; Call chained IRQ handlers
 
-               ldy     irqcount
+        ldy     irqcount
         beq     irqskip
-               jsr     callirq_y               ; Call the functions
+        jsr     callirq_y               ; Call the functions
 
 ; Done with chained IRQ handlers, check the TPI for IRQs and handle them
 
-irqskip:lda    #$0F
-       sta     IndReg
-       ldy     #TPI::AIR
-       lda     (tpi1),y                ; Interrupt Register 6525
-       beq     noirq
+irqskip:lda     #$0F
+        sta     IndReg
+        ldy     #TPI::AIR
+        lda     (tpi1),y                ; Interrupt Register 6525
+        beq     noirq
 
 ; 50/60Hz interrupt
 
-       cmp     #%00000001              ; ticker irq?
-       bne     irqend
-               jsr     scnkey                  ; Poll the keyboard
-        jsr    UDTIM                   ; Bump the time
+        cmp     #%00000001              ; ticker irq?
+        bne     irqend
+        jsr     scnkey                  ; Poll the keyboard
+        jsr     UDTIM                   ; Bump the time
 
 ; Done
 
-irqend:        ldy     #TPI::AIR
-               sta     (tpi1),y                ; Clear interrupt
+irqend: ldy     #TPI::AIR
+        sta     (tpi1),y                ; Clear interrupt
 
-noirq: pla
+noirq:  pla
         sta     IndReg
         pla
         tay
         pla
         tax
         pla
-nmi:   rti
+nmi:    rti
 
-dobrk:  jmp    (BRKVec)
+dobrk:  jmp     (BRKVec)
 
 ; -------------------------------------------------------------------------
 ; Data area.
index f7b0184094dbd0c741959a906bd3906e05f2adb6..ad9ddefb56f60e8b3c9d1aa94f4a0475a84a8984 100644 (file)
@@ -4,54 +4,54 @@
 ; Write to the CRTC.
 ;
 
-       .export         write_crtc, read_crtc
-       .importzp       crtc, ktmp
+        .export         write_crtc, read_crtc
+        .importzp       crtc, ktmp
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 ; Write a value to the CRTC. The index is in Y, the value in A
 
-.proc  write_crtc
-       sta     ktmp
-       lda     IndReg
-       pha
-       lda     #$0F
-       sta     IndReg
-       tya
-       ldy     #$00
-       sei
-       sta     (crtc),y
-       iny
-       lda     ktmp
-       sta     (crtc),y
-       cli
-       pla
-       sta     IndReg
-       lda     ktmp
-       rts
+.proc   write_crtc
+        sta     ktmp
+        lda     IndReg
+        pha
+        lda     #$0F
+        sta     IndReg
+        tya
+        ldy     #$00
+        sei
+        sta     (crtc),y
+        iny
+        lda     ktmp
+        sta     (crtc),y
+        cli
+        pla
+        sta     IndReg
+        lda     ktmp
+        rts
 .endproc
 
 
-.proc  read_crtc
-       sty     ktmp
-       lda     IndReg
-       pha
-       lda     #$0F
-       sta     IndReg
-       lda     ktmp
-       ldy     #$00
-       sei
-       sta     (crtc),y
-       iny
-               lda     (crtc),y
-       cli
-       tay
-       pla
-       sta     IndReg
-       tya
-       ldy     ktmp
-       rts
+.proc   read_crtc
+        sty     ktmp
+        lda     IndReg
+        pha
+        lda     #$0F
+        sta     IndReg
+        lda     ktmp
+        ldy     #$00
+        sei
+        sta     (crtc),y
+        iny
+        lda     (crtc),y
+        cli
+        tay
+        pla
+        sta     IndReg
+        tya
+        ldy     ktmp
+        rts
 .endproc
 
 
index a10004e852b762ab6f6f27c459edb38d4df06d87..d678a2a92a8a9470ebfe48d829cee97bad611cfa 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "extzp.inc"
+        .include        "extzp.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index ccdcb4290505f2aa172591ccd5c2ea486da0a4d0..8f71e405c1e41225d2388013cdeef3491022ccf4 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-12-09, 2003-12-20
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "em-kernel.inc"
+        .include        "em-kernel.inc"
         .include        "em-error.inc"
         .include        "cbm610.inc"
 
@@ -22,7 +22,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   EMD_API_VERSION                ; EM API version number
+        .byte   EMD_API_VERSION         ; EM API version number
 
 ; Jump table.
 
@@ -32,7 +32,7 @@
         .word   MAP
         .word   USE
         .word   COMMIT
-       .word   COPYFROM
+        .word   COPYFROM
         .word   COPYTO
 
 ; ------------------------------------------------------------------------
@@ -48,7 +48,7 @@ OFFS    = 2
 curpage:        .res    1               ; Current page number
 
 window:         .res    256             ; Memory "window"
-pagecount:     .res    1               ; Number of available pages
+pagecount:      .res    1               ; Number of available pages
 
 
 .code
@@ -61,14 +61,14 @@ pagecount:  .res    1               ; Number of available pages
 ;
 
 INSTALL:
-               lda     #$FF
+        lda     #$FF
         sta     curpage                 ; Invalidate the current page
         sta     pagecount               ; Assume all memory available
 
         sec
         jsr     $FF99                   ; MEMTOP
 
-               cmp     #RAMBANK                ; Top of memory in bank 2?
+        cmp     #RAMBANK                ; Top of memory in bank 2?
         bne     @L1                     ; No: We can use all the memory
         txa
         sub     #OFFS
@@ -78,7 +78,7 @@ INSTALL:
 
 @L1:    lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
-;       rts                            ; Run into UNINSTALL instead
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -104,11 +104,11 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:    sta     curpage                        ; Remember the new page
+MAP:    sta     curpage                 ; Remember the new page
 
-        sta    ptr1+1
-        lda    #OFFS
-        sta            ptr1
+        sta     ptr1+1
+        lda     #OFFS
+        sta     ptr1
 
 ; Transfer one page
 
@@ -143,7 +143,7 @@ USE:    sta     curpage                 ; Remember the page
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
-COMMIT: lda     curpage                        ; Get the current page
+COMMIT: lda     curpage                 ; Get the current page
         cmp     #$FF
         beq     done                    ; Jump if no page mapped
 
index b0f3e76882afcf708cd768b9065bb3504c5595c2..0adda548308fd9d8d23e285f461da8753f84d13f 100644 (file)
 ; initializer table
 sysp1:          .word   $0000
 sysp3:          .word   $0000
-crtc:                  .word   $0000
-sid:                   .word   $0000
-ipccia:                .word   $0000
-cia:                   .word   $0000
-acia:                  .word   $0000
-tpi1:                  .word   $0000
-tpi2:                  .word   $0000
-ktab1:                 .word   $0000
-ktab2:                 .word   $0000
-ktab3:                 .word   $0000
-ktab4:                 .word   $0000
+crtc:           .word   $0000
+sid:            .word   $0000
+ipccia:         .word   $0000
+cia:            .word   $0000
+acia:           .word   $0000
+tpi1:           .word   $0000
+tpi2:           .word   $0000
+ktab1:          .word   $0000
+ktab2:          .word   $0000
+ktab3:          .word   $0000
+ktab4:          .word   $0000
 
 sysp0:          .word   $0000
-time:          .dword  $0000
+time:           .dword  $0000
 segsave:        .byte   0
 ktmp:           .byte   0
 CURS_X:         .byte   0
index 2edc0539960f4814d8460fa521dacdd7b5763aaa..50f909a59c04171aec6b333aaba09faf533fd700 100644 (file)
@@ -5,16 +5,16 @@
 ; /* Return the video mode the machine is using */
 ;
 
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
 
 ;--------------------------------------------------------------------------
 ; _get_tv
 
-.proc  _get_tv
+.proc   _get_tv
 
-               lda     #<TV::OTHER     ; CRTC
-       ldx     #>TV::OTHER
-       rts
+        lda     #<TV::OTHER     ; CRTC
+        ldx     #>TV::OTHER
+        rts
 
 .endproc
index 7b570888caf4529918dc64aad9849eb288fa4d97..7003fa58ac76b70a59ffa95e8433cb7386435f2f 100644 (file)
@@ -2,8 +2,8 @@
 ; IRQ handling (CBM 600/700 version)
 ;
 
-       .export         initirq, doneirq
+        .export         initirq, doneirq
 
 initirq:
 doneirq:
-       rts
+        rts
index 09b724b8dfe6b2b8e3cabe0ef289d4b43c6d5425..dc66a390b90c152d523a6ccb627bc9201ab09d60 100644 (file)
@@ -4,14 +4,14 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
         .import         keyidx: zp
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-               lda     keyidx          ; Get number of characters
+        lda     keyidx          ; Get number of characters
         beq     L9
         lda     #1
 L9:     rts
index db9d852ebc09857ed59c20a0e21a2313694b71d1..9ea4f0e96272ea8c85e2f78ef589fb1595cdabf0 100644 (file)
 ; replacements (usually short ones where the overhead of the cross bank call
 ; is not worth the trouble) are commented out.
 
-CINT           = $FF81
-IOINIT         = $FF84
-RAMTAS         = $FF87
-RESTOR         = $FF8A
-VECTOR         = $FF8D
-SETMSG         = $FF90
-SECOND         = $FF93
-TKSA           = $FF96
-MEMTOP         = $FF99
-MEMBOT         = $FF9C
-SCNKEY         = $FF9F
-SETTMO         = $FFA2
-ACPTR          = $FFA5
-CIOUT          = $FFA8
-UNTLK          = $FFAB
-UNLSN          = $FFAE
-LISTEN         = $FFB1
-TALK           = $FFB4
-;READST                = $FFB7
-SETLFS         = $FFBA
-;SETNAM                = $FFBD
-;OPEN          = $FFC0
-;CLOSE         = $FFC3
-CHKIN          = $FFC6
-CKOUT          = $FFC9
-CLRCH          = $FFCC
-BASIN          = $FFCF
-BSOUT          = $FFD2
-LOAD           = $FFD5
-SAVE           = $FFD8
-;SETTIM                = $FFDB
-;RDTIM         = $FFDE
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-;UDTIM         = $FFEA
-;SCREEN                = $FFED
-PLOT           = $FFF0
-;IOBASE                = $FFF3
+CINT            = $FF81
+IOINIT          = $FF84
+RAMTAS          = $FF87
+RESTOR          = $FF8A
+VECTOR          = $FF8D
+SETMSG          = $FF90
+SECOND          = $FF93
+TKSA            = $FF96
+MEMTOP          = $FF99
+MEMBOT          = $FF9C
+SCNKEY          = $FF9F
+SETTMO          = $FFA2
+ACPTR           = $FFA5
+CIOUT           = $FFA8
+UNTLK           = $FFAB
+UNLSN           = $FFAE
+LISTEN          = $FFB1
+TALK            = $FFB4
+;READST         = $FFB7
+SETLFS          = $FFBA
+;SETNAM         = $FFBD
+;OPEN           = $FFC0
+;CLOSE          = $FFC3
+CHKIN           = $FFC6
+CKOUT           = $FFC9
+CLRCH           = $FFCC
+BASIN           = $FFCF
+BSOUT           = $FFD2
+LOAD            = $FFD5
+SAVE            = $FFD8
+;SETTIM         = $FFDB
+;RDTIM          = $FFDE
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+;UDTIM          = $FFEA
+;SCREEN         = $FFED
+PLOT            = $FFF0
+;IOBASE         = $FFF3
 
index 1f21f0249b32ee8d4068e922e48e04558ed86d00..55e5ba57c681275c22c3cb7524e70ed3c9ec7257 100644 (file)
@@ -11,9 +11,9 @@
 
 .proc   IOBASE
 
-       ldx     cia
-       ldy     cia+1
-       rts
+        ldx     cia
+        ldy     cia+1
+        rts
 
 .endproc
 
index 85e2f5a0cf037f673f717400f717945b091d13bf..241c6389ed629d9fe04000bb402586448d73f316 100644 (file)
 
 .proc   RDTIM
 
-       sei
-       lda     time+0
-       ldx     time+1
-       ldy     time+2
-       cli
-       rts
+        sei
+        lda     time+0
+        ldx     time+1
+        ldy     time+2
+        cli
+        rts
 
 .endproc
 
index 7e637540e41a8e8adb123b02d488644b39721a86..23909b7429668433e9e82808312233c3471bc2d4 100644 (file)
@@ -4,82 +4,82 @@
 ; Keyboard polling stuff for the 610.
 ;
 
-       .export         scnkey
-       .importzp       tpi2, ktab1, ktab2, ktab3, ktab4
+        .export         scnkey
+        .importzp       tpi2, ktab1, ktab2, ktab3, ktab4
         .importzp       keyidx, keybuf, keyscanbuf, keysave, modkey, norkey
         .importzp       graphmode, lastidx, rptdelay, rptcount
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
-.proc  scnkey
+.proc   scnkey
 
         lda     #$FF
         sta     modkey
         sta     norkey
-        lda    #$00
-       sta     keyscanbuf
-       ldy     #TPI::PRB
-       sta     (tpi2),y
-       ldy     #TPI::PRA
-       sta     (tpi2),y
+        lda     #$00
+        sta     keyscanbuf
+        ldy     #TPI::PRB
+        sta     (tpi2),y
+        ldy     #TPI::PRA
+        sta     (tpi2),y
         jsr     Poll
         and     #$3F
         eor     #$3F
         bne     L1
         jmp     NoKey
 
-L1:    lda     #$FF
-       ldy     #TPI::PRA
-       sta     (tpi2),y
+L1:     lda     #$FF
+        ldy     #TPI::PRA
+        sta     (tpi2),y
         asl     a
-       ldy     #TPI::PRB
-       sta     (tpi2),y
+        ldy     #TPI::PRB
+        sta     (tpi2),y
         jsr     Poll
         pha
         sta     modkey
         ora     #$30
-        bne     L3             ; Branch always
+        bne     L3              ; Branch always
 
-L2:    jsr     Poll
-L3:    ldx     #$05
-       ldy     #$00
-L4:    lsr     a
+L2:     jsr     Poll
+L3:     ldx     #$05
+        ldy     #$00
+L4:     lsr     a
         bcc     L5
-        inc    keyscanbuf
+        inc     keyscanbuf
         dex
         bpl     L4
         sec
-       ldy     #TPI::PRB
-       lda     (tpi2),y
-       rol     a
-       sta     (tpi2),y
-               ldy     #TPI::PRA
-       lda     (tpi2),y
-       rol     a
-       sta     (tpi2),y
+        ldy     #TPI::PRB
+        lda     (tpi2),y
+        rol     a
+        sta     (tpi2),y
+        ldy     #TPI::PRA
+        lda     (tpi2),y
+        rol     a
+        sta     (tpi2),y
         bcs     L2
         pla
-        bcc     NoKey          ; Branch always
+        bcc     NoKey           ; Branch always
 
-L5:    ldy     keyscanbuf
-       sty     norkey
+L5:     ldy     keyscanbuf
+        sty     norkey
         pla
         asl     a
         asl     a
         asl     a
         bcc     L6
         bmi     L7
-        lda     (ktab2),y              ; Shifted normal key
+        lda     (ktab2),y               ; Shifted normal key
         ldx     graphmode
         beq     L8
-        lda     (ktab3),y              ; Shifted key in graph mode
+        lda     (ktab3),y               ; Shifted key in graph mode
         bne     L8
 
-L6:    lda     (ktab4),y               ; Key with ctrl pressed
-       bne     L8
-L7:    lda     (ktab1),y               ; Normal key
-L8:    tax
-       cpx     #$FF                    ; Valid key?
+L6:     lda     (ktab4),y               ; Key with ctrl pressed
+        bne     L8
+L7:     lda     (ktab1),y               ; Normal key
+L8:     tax
+        cpx     #$FF                    ; Valid key?
         beq     Done
         cpy     lastidx
         beq     Repeat
@@ -96,17 +96,17 @@ L8:         tax
         inx
         bne     PutKey
 
-NoKey: ldy     #$FF
-Done:          sty     lastidx
-End:   lda     #$7F
-       ldy     #TPI::PRA
-       sta     (tpi2),y
-       ldy     #TPI::PRB
-       lda     #$FF
-       sta     (tpi2),y
+NoKey:  ldy     #$FF
+Done:   sty     lastidx
+End:    lda     #$7F
+        ldy     #TPI::PRA
+        sta     (tpi2),y
+        ldy     #TPI::PRB
+        lda     #$FF
+        sta     (tpi2),y
         rts
 
-Repeat:        dec     rptdelay
+Repeat: dec     rptdelay
         bpl     End
         inc     rptdelay
         dec     rptcount
@@ -115,7 +115,7 @@ Repeat:     dec     rptdelay
         ldx     keyidx
         bne     End
 
-PutKey:        sta     keybuf,x
+PutKey: sta     keybuf,x
         inx
         stx     keyidx
         ldx     #$03
@@ -130,14 +130,14 @@ PutKey:   sta     keybuf,x
 
 .segment        "PAGE2"
 
-.proc  Poll
-       ldy     #TPI::PRC
-L1:    lda     (tpi2),y
-       sta     keysave
-       lda     (tpi2),y
-       cmp     keysave
-       bne     L1
-       rts
+.proc   Poll
+        ldy     #TPI::PRC
+L1:     lda     (tpi2),y
+        sta     keysave
+        lda     (tpi2),y
+        cmp     keysave
+        bne     L1
+        rts
 .endproc
 
 
index c25d192bca996a6765144206c951255440980aaa..fab55b618c947f5bc4f7c054d96e48a974bcf65c 100644 (file)
@@ -9,8 +9,8 @@
 
 .proc   SCREEN
 
-       ldx     #80             ; Columns
-       ldy     #25             ; Lines
-       rts
+        ldx     #80             ; Columns
+        ldy     #25             ; Lines
+        rts
 
 .endproc
index aeb72bd0b1d63cfd82df62ddade305cb2d099dd8..ab5c6d730749f89f73c3c24d119109b155d76239 100644 (file)
@@ -29,9 +29,9 @@
         iny
         sta     (sysp0),y
 
-       lda     ExecReg                 ; Assume name is always in this segment
-       ldy     #$92                    ; FNAM_SEG
-       sta     (sysp0),y
+        lda     ExecReg                 ; Assume name is always in this segment
+        ldy     #$92                    ; FNAM_SEG
+        sta     (sysp0),y
 
         ldy     #$9D                    ; FNAM_LEN
         pla
index dab570fe6662204e359d7ebdad05391fab4a5196..69f01b4c2551cbbfac6dbfae6bee0383e81fc580 100644 (file)
 
 .proc   SETTIM
 
-       sei
-       sta     time+0
-       stx     time+1
-       sty     time+2
-       cli
-       rts
+        sei
+        sta     time+0
+        stx     time+1
+        sty     time+2
+        cli
+        rts
 
 .endproc
 
index 4653d8148a94ae7c5f0a3bea8a2fe59943aa2654..6862787fb6cd6cba93b513cdb6a1b8820a0ed720 100644 (file)
@@ -8,16 +8,16 @@
         .export         UDTIM
         .import         time: zp
 
-.proc  UDTIM
+.proc   UDTIM
 
-       inc     time
-       bne     L9
-       inc     time+1
-       bne     L9
-       inc     time+2
-       bne     L9
-       inc     time+3
-L9:    rts
+        inc     time
+        bne     L9
+        inc     time+1
+        bne     L9
+        inc     time+2
+        bne     L9
+        inc     time+3
+L9:     rts
 
 .endproc
 
index a9233382f0ed81ad1b7cfedd681a34d9d5068382..7ed8d46f4af4d8f64405a0482c0ec36427781a7d 100644 (file)
@@ -5,8 +5,8 @@
 ;
 
 
-       .constructor    initmainargs, 24
-               .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
 
 ;---------------------------------------------------------------------------
index 4002b26bcb575bd34ed3da5e8c62edb21f87fc1e..face7025879882b979ee69060d9914971e48d351 100644 (file)
@@ -2,49 +2,49 @@
 ; Ullrich von Bassewitz, 14.09.2001
 ;
 
-       .export         _peekbsys, _peekwsys
-       .importzp       ptr1
+        .export         _peekbsys, _peekwsys
+        .importzp       ptr1
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 ; ------------------------------------------------------------------------
 ; unsigned char __fastcall__ peekbsys (unsigned addr);
 
-.proc  _peekbsys
+.proc   _peekbsys
 
-       sta     ptr1            ; Store argument pointer
-       stx     ptr1+1
-               ldx     IndReg
-       lda     #$0F
-       sta     IndReg
-       ldy     #$00
-       lda     (ptr1),y
-       stx     IndReg
-       ldx     #$00            ; Extend to word
-       rts
+        sta     ptr1            ; Store argument pointer
+        stx     ptr1+1
+        ldx     IndReg
+        lda     #$0F
+        sta     IndReg
+        ldy     #$00
+        lda     (ptr1),y
+        stx     IndReg
+        ldx     #$00            ; Extend to word
+        rts
 
 .endproc
 
 ; ------------------------------------------------------------------------
 ; unsigned __fastcall__ peekwsys (unsigned addr);
 
-.proc  _peekwsys
-
-       sta     ptr1            ; Store argument pointer
-       stx     ptr1+1
-               ldx     IndReg
-       lda     #$0F
-       sta     IndReg
-       ldy     #$00
-       lda     (ptr1),y        ; Get low byte
-       pha
-       iny
-       lda     (ptr1),y        ; Get high byte
-       stx     IndReg
-       tax                     ; High byte -> X
-       pla                     ; Low byte -> A
-       rts
+.proc   _peekwsys
+
+        sta     ptr1            ; Store argument pointer
+        stx     ptr1+1
+        ldx     IndReg
+        lda     #$0F
+        sta     IndReg
+        ldy     #$00
+        lda     (ptr1),y        ; Get low byte
+        pha
+        iny
+        lda     (ptr1),y        ; Get high byte
+        stx     IndReg
+        tax                     ; High byte -> X
+        pla                     ; Low byte -> A
+        rts
 
 .endproc
 
index 96cad928e2319141775cd6490fca69a536e792fc..fa690fb6e086dc8316de73ad9bb68282d0fbe024 100644 (file)
@@ -4,35 +4,35 @@
 ; void pokebsys (unsigned Addr, unsigned char Val);
 ; void pokewsys (unsigned Addr, unsigned Val);
 
-       .export         _pokebsys, _pokewsys
-       .import         popsreg
-       .importzp       sreg, tmp1
+        .export         _pokebsys, _pokewsys
+        .import         popsreg
+        .importzp       sreg, tmp1
 
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 _pokebsys:
-       jsr     popsreg         ; Get the address
-       ldx     IndReg
-               ldy     #$0F
-       sty     IndReg          ; Switch to the system bank
-       ldy     #$00
-       sta     (sreg),y
-       stx     IndReg
-       rts
+        jsr     popsreg         ; Get the address
+        ldx     IndReg
+        ldy     #$0F
+        sty     IndReg          ; Switch to the system bank
+        ldy     #$00
+        sta     (sreg),y
+        stx     IndReg
+        rts
 
 _pokewsys:
-       stx     tmp1            ; Save high byte
-               jsr     popsreg         ; Get the address
-       ldx     IndReg
-               ldy     #$0F
-       sty     IndReg          ; Switch to the system bank
-       ldy     #$00
-       sta     (sreg),y
-       iny
-       lda     tmp1
-       sta     (sreg),y
-       stx     IndReg
-       rts
+        stx     tmp1            ; Save high byte
+        jsr     popsreg         ; Get the address
+        ldx     IndReg
+        ldy     #$0F
+        sty     IndReg          ; Switch to the system bank
+        ldy     #$00
+        sta     (sreg),y
+        iny
+        lda     tmp1
+        sta     (sreg),y
+        stx     IndReg
+        rts
 
 
index 08168aa67fa2281a5b1a48504b83a91fba6c5a84..a936f8a2f3c02ce80a4a0428c6174673a8f44f74 100644 (file)
@@ -5,8 +5,8 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
         .importzp       time
 
 __randomize:               
index 10dba117ebf9ccbe32f9509609b376b27518fc94..eb44f0282d1882cf66f2f9bbad0bbce14dd70daf 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .import         RVS: zp
 
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index a5da97e4dc40ae5e9a810d07ab3ffb5d6dc48ef9..671698a2801c8b0f34c1d5bd052331c59e7c2f5e 100644 (file)
@@ -25,7 +25,7 @@
         .include        "../extzp.inc"
         .include        "ser-kernel.inc"
         .include        "ser-error.inc"
-       .include        "cbm610.inc"
+        .include        "cbm610.inc"
 
 
 ; ------------------------------------------------------------------------
@@ -48,7 +48,7 @@
         .word   PUT
         .word   STATUS
         .word   IOCTL
-       .word   IRQ
+        .word   IRQ
 
 ;----------------------------------------------------------------------------
 ;
 ;
 
 .bss
-RecvHead:      .res    1       ; Head of receive buffer
-RecvTail:      .res    1       ; Tail of receive buffer
-RecvFreeCnt:   .res    1       ; Number of bytes in receive buffer
-SendHead:      .res    1       ; Head of send buffer
-SendTail:      .res    1       ; Tail of send buffer
-SendFreeCnt:   .res    1       ; Number of bytes in send buffer
+RecvHead:       .res    1       ; Head of receive buffer
+RecvTail:       .res    1       ; Tail of receive buffer
+RecvFreeCnt:    .res    1       ; Number of bytes in receive buffer
+SendHead:       .res    1       ; Head of send buffer
+SendTail:       .res    1       ; Tail of send buffer
+SendFreeCnt:    .res    1       ; Number of bytes in send buffer
 
-Stopped:       .res    1       ; Flow-stopped flag
-RtsOff:                .res    1       ;
+Stopped:        .res    1       ; Flow-stopped flag
+RtsOff:         .res    1       ;
 
 ; Send and receive buffers: 256 bytes each
-RecvBuf:       .res    256
-SendBuf:       .res    256
+RecvBuf:        .res    256
+SendBuf:        .res    256
 
 .rodata
 
@@ -138,14 +138,14 @@ CLOSE:
 
 ; Deactivate DTR and disable 6551 interrupts
 
-       lda     #%00001010
+        lda     #%00001010
         jsr     write_cmd
 
 ; Done, return an error code
 
         lda     #<SER_ERR_OK
         tax                     ; A is zero
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; PARAMS routine. A pointer to a ser_params structure is passed in ptr1.
@@ -155,22 +155,22 @@ OPEN:
 
 ; Check if the handshake setting is valid
 
-        ldy    #SER_PARAMS::HANDSHAKE  ; Handshake
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
         lda     (ptr1),y
-        cmp    #SER_HS_HW              ; This is all we support
-        bne    InvParam
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
 
 ; Initialize buffers
 
-        ldx    #0
+        ldx     #0
         stx     Stopped
-               stx     RecvHead
-       stx     RecvTail
-       stx     SendHead
-       stx     SendTail
+        stx     RecvHead
+        stx     RecvTail
+        stx     SendHead
+        stx     SendTail
         dex                             ; X = 255
-               stx     RecvFreeCnt
-       stx     SendFreeCnt
+        stx     RecvFreeCnt
+        stx     SendFreeCnt
 
 ; Set the value for the control register, which contains stop bits, word
 ; length and the baud rate.
@@ -179,49 +179,49 @@ OPEN:
         lda     (ptr1),y                ; Baudrate index
         tay
         lda     BaudTable,y             ; Get 6551 value
-        bmi     InvBaud                        ; Branch if rate not supported
+        bmi     InvBaud                 ; Branch if rate not supported
         sta     tmp1
 
-        ldy    #SER_PARAMS::DATABITS   ; Databits
+        ldy     #SER_PARAMS::DATABITS   ; Databits
         lda     (ptr1),y
         tay
         lda     BitTable,y
         ora     tmp1
         sta     tmp1
 
-        ldy    #SER_PARAMS::STOPBITS   ; Stopbits
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
         lda     (ptr1),y
         tay
         lda     StopTable,y
         ora     tmp1
-        ora    #%00010000              ; Receiver clock source = baudrate
-       ldy     #ACIA::CTRL
+        ora     #%00010000              ; Receiver clock source = baudrate
+        ldy     #ACIA::CTRL
         jsr     write
 
 ; Set the value for the command register. We remember the base value in
 ; RtsOff, since we will have to manipulate ACIA_CMD often.
 
-        ldy            #SER_PARAMS::PARITY     ; Parity
+        ldy     #SER_PARAMS::PARITY     ; Parity
         lda     (ptr1),y
         tay
         lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-               ora     #%00001000              ; Enable receive interrupts
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
         jsr     write_cmd
 
 ; Done
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ; Invalid parameter
 
 InvParam:
-       lda     #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
+        lda     #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
 
 ; Baud rate not available
 
@@ -236,43 +236,43 @@ InvBaud:
 ; return.
 ;
 
-GET:    ldx    SendFreeCnt             ; Send data if necessary
-               inx                             ; X == $FF?
-       beq     @L1
-       lda     #$00
-       jsr     TryToSend
+GET:    ldx     SendFreeCnt             ; Send data if necessary
+        inx                             ; X == $FF?
+        beq     @L1
+        lda     #$00
+        jsr     TryToSend
 
 ; Check for buffer empty
 
-@L1:   lda     RecvFreeCnt
-       cmp     #$ff
-       bne     @L2
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
+@L1:    lda     RecvFreeCnt
+        cmp     #$ff
+        bne     @L2
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
 
 ; Check for flow stopped & enough free: release flow control
 
-@L2:   ldx     Stopped
-       beq     @L3
-       cmp     #63
-       bcc     @L3
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
+@L2:    ldx     Stopped
+        beq     @L3
+        cmp     #63
+        bcc     @L3
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
         jsr     write_cmd
 
 ; Get byte from buffer
 
-@L3:   ldx     RecvHead
-               lda     RecvBuf,x
-       inc     RecvHead
-       inc     RecvFreeCnt
-               ldx     #$00
-       sta     (ptr1,x)
-               txa                             ; Return code = 0
-       rts
+@L3:    ldx     RecvHead
+        lda     RecvBuf,x
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00
+        sta     (ptr1,x)
+        txa                             ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
@@ -283,30 +283,30 @@ PUT:
 
 ; Try to send
 
-        ldx    SendFreeCnt
-               inx                             ; X = $ff?
-       beq     @L2
-       pha
-       lda     #$00
-       jsr     TryToSend
-       pla
+        ldx     SendFreeCnt
+        inx                             ; X = $ff?
+        beq     @L2
+        pha
+        lda     #$00
+        jsr     TryToSend
+        pla
 
 ; Put byte into send buffer & send
 
-@L2:   ldx     SendFreeCnt
-       bne     @L3
-       lda     #<SER_ERR_OVERFLOW      ; X is already zero
-       rts
-
-@L3:   ldx     SendTail
-       sta     SendBuf,x
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$ff
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-               rts
+@L2:    ldx     SendFreeCnt
+        bne     @L3
+        lda     #<SER_ERR_OVERFLOW      ; X is already zero
+        rts
+
+@L3:    ldx     SendTail
+        sta     SendBuf,x
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$ff
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
@@ -317,11 +317,11 @@ STATUS: lda     #$0F
         sta     IndReg
         ldy     #ACIA::STATUS
         lda     (acia),y
-               ldx     #0
-       sta     (ptr1,x)
+        ldx     #0
+        sta     (ptr1,x)
         lda     IndReg
         sta     ExecReg
-       txa                             ; SER_ERR_OK
+        txa                             ; SER_ERR_OK
         rts
 
 ;----------------------------------------------------------------------------
@@ -345,25 +345,25 @@ IRQ:    lda     #$0F
         sta     IndReg          ; Switch to the system bank
         ldy     #ACIA::STATUS
         lda     (acia),y        ; Check ACIA status for receive interrupt
-       and     #$08
-               beq     @L9             ; Jump if no ACIA interrupt (carry still clear)
+        and     #$08
+        beq     @L9             ; Jump if no ACIA interrupt (carry still clear)
         ldy     #ACIA::DATA
-        lda            (acia),y        ; Get byte from ACIA
-       ldx     RecvFreeCnt     ; Check if we have free space left
-               beq     @L1             ; Jump if no space in receive buffer
-       ldy     RecvTail        ; Load buffer pointer
-       sta     RecvBuf,y       ; Store received byte in buffer
-       inc     RecvTail        ; Increment buffer pointer
-       dec     RecvFreeCnt     ; Decrement free space counter
-       cpx     #33             ; Check for buffer space low
-               bcs     @L9             ; Assert flow control if buffer space low
+        lda     (acia),y        ; Get byte from ACIA
+        ldx     RecvFreeCnt     ; Check if we have free space left
+        beq     @L1             ; Jump if no space in receive buffer
+        ldy     RecvTail        ; Load buffer pointer
+        sta     RecvBuf,y       ; Store received byte in buffer
+        inc     RecvTail        ; Increment buffer pointer
+        dec     RecvFreeCnt     ; Decrement free space counter
+        cpx     #33             ; Check for buffer space low
+        bcs     @L9             ; Assert flow control if buffer space low
 
 ; Assert flow control if buffer space too low
 
-@L1:   lda     RtsOff
+@L1:    lda     RtsOff
         ldy     #ACIA::CMD
         sta     (acia),y
-       sta     Stopped
+        sta     Stopped
         sec                     ; Interrupt handled
 
 ; Done, switch back to the execution segment
@@ -377,26 +377,26 @@ IRQ:    lda     #$0F
 
 .proc   TryToSend
 
-       sta     tmp1            ; Remember tryHard flag
+        sta     tmp1            ; Remember tryHard flag
         lda     #$0F
         sta     IndReg          ; Switch to the system bank
-@L0:           lda     SendFreeCnt
-       cmp     #$ff
-       beq     @L3             ; Bail out
+@L0:    lda     SendFreeCnt
+        cmp     #$ff
+        beq     @L3             ; Bail out
 
 ; Check for flow stopped
 
-@L1:   lda     Stopped
-               bne     @L3             ; Bail out
+@L1:    lda     Stopped
+        bne     @L3             ; Bail out
 
 ; Check that swiftlink is ready to send
 
-@L2:           ldy     #ACIA::STATUS
+@L2:    ldy     #ACIA::STATUS
         lda     (acia),y
-       and     #$10
-       bne     @L4
-       bit     tmp1            ; Keep trying if must try hard
-               bmi     @L0
+        and     #$10
+        bne     @L4
+        bit     tmp1            ; Keep trying if must try hard
+        bmi     @L0
 
 ; Switch back the bank and return
 
@@ -406,13 +406,13 @@ IRQ:    lda     #$0F
 
 ; Send byte and try again
 
-@L4:   ldx     SendHead
-       lda     SendBuf,x
+@L4:    ldx     SendHead
+        lda     SendBuf,x
         ldy     #ACIA::DATA
-       sta     (acia),y
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     @L0
+        sta     (acia),y
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     @L0
 
 .endproc
 
index 7d44a38f4c90a24dea8f7e9d851a3e5159cd55e8..a6e72e8a56c83bf816e5eb44e830212972606e0b 100644 (file)
 
         .include        "time.inc"
         .include        "cbm610.inc"
-       .include        "extzp.inc"
+        .include        "extzp.inc"
 
-       .import         sys_bank, restore_bank
-       .importzp       tmp1, tmp2
+        .import         sys_bank, restore_bank
+        .importzp       tmp1, tmp2
 
 
 ;----------------------------------------------------------------------------
 .code
 
-.proc  __systime
+.proc   __systime
 
 ; Switch to the system bank
 
-       jsr     sys_bank
+        jsr     sys_bank
 
 ; Read the clock
 
-       ldy     #CIA::TODHR
-       lda     (cia),y
-       bpl     AM
-       and     #%01111111
-       sed
-       clc
-       adc     #$12
-       cld
-AM:    jsr     BCD2dec
-       sta     TM + tm::tm_hour
-       ldy     #CIA::TODMIN
-       lda     (cia),y
-       jsr     BCD2dec
-       sta     TM + tm::tm_min
-       ldy     #CIA::TODSEC
-       lda     (cia),y
-       jsr     BCD2dec
-       sta     TM + tm::tm_sec
-       ldy     #CIA::TOD10
-       lda     (cia),y                 ; Dummy read to unfreeze
+        ldy     #CIA::TODHR
+        lda     (cia),y
+        bpl     AM
+        and     #%01111111
+        sed
+        clc
+        adc     #$12
+        cld
+AM:     jsr     BCD2dec
+        sta     TM + tm::tm_hour
+        ldy     #CIA::TODMIN
+        lda     (cia),y
+        jsr     BCD2dec
+        sta     TM + tm::tm_min
+        ldy     #CIA::TODSEC
+        lda     (cia),y
+        jsr     BCD2dec
+        sta     TM + tm::tm_sec
+        ldy     #CIA::TOD10
+        lda     (cia),y                 ; Dummy read to unfreeze
 
 ; Restore the bank
 
-       jsr     restore_bank
+        jsr     restore_bank
 
 ; Convert to a time
 
-       lda     #<TM
-       ldx     #>TM
-       jmp     _mktime
+        lda     #<TM
+        ldx     #>TM
+        jmp     _mktime
 
 .endproc
 
 ;----------------------------------------------------------------------------
 ; dec = (((BCD>>4)*10) + (BCD&0xf))
 
-.proc  BCD2dec
+.proc   BCD2dec
 
-       tax
-       and     #%00001111
-       sta     tmp1
-       txa
+        tax
+        and     #%00001111
+        sta     tmp1
+        txa
         and     #%11110000      ; *16
         lsr                     ; *8
         sta     tmp2
@@ -86,7 +86,7 @@ AM:   jsr     BCD2dec
 ; TM struct with date set to 1970-01-01
 .data
 
-TM:            .word           0       ; tm_sec
+TM:     .word           0       ; tm_sec
         .word           0       ; tm_min
         .word           0       ; tm_hour
         .word           1       ; tm_mday
index a3ee362f6438f5cae12943ce73d6828d59f26a13..eeda10f1d0dff2dc732fbf5c2289b0cf9f2881a4 100644 (file)
@@ -7,7 +7,7 @@
 ; by the constructor defined in this module.
 ;
 
-               .export         __cwd
+        .export         __cwd
         .export         __cwd_buf_size
         .constructor    cwd_init
 
@@ -21,7 +21,7 @@
 
 .bss
 
-__cwd:  .res   __cwd_buf_size
+__cwd:  .res    __cwd_buf_size
 
 
 ; NOTE: Some of the code working with directories is not able to handle
index 3df9cb7ef8cc6cf7d4c0a0ff72dbd43ac7a2b6c2..6a53f80a85c5ce7ebb711b4217e3801384185880 100644 (file)
 ;
 
         .export         __environ, __envcount, __envsize
-       .import         initenv
-       .constructor    env_init
-       
-       env_init := initenv
-                          
+        .import         initenv
+        .constructor    env_init
+        
+        env_init := initenv
+                           
 .bss
 
 __environ:
index 682bcb78eaa924f2d85e2b446a2b39f65c15dc06..4905c0100e4f0b6a68671897a2aa7b53da7c6f7c 100644 (file)
@@ -5,27 +5,27 @@
 ; /* Find a free descriptor slot */
 
 
-               .export         __fdesc
-       .import         return0
+        .export         __fdesc
+        .import         return0
 
         .include        "stdio.inc"
         .include        "_file.inc"
 
 .proc   __fdesc
 
-               ldy     #0
+        ldy     #0
         lda     #_FOPEN
-Loop:          and     __filetab + _FILE::f_flags,y    ; load flags
-               beq     Found                           ; jump if closed
+Loop:   and     __filetab + _FILE::f_flags,y    ; load flags
+        beq     Found                           ; jump if closed
 .repeat .sizeof(_FILE)
-       iny
+        iny
 .endrepeat
-               cpy     #(FOPEN_MAX * .sizeof(_FILE))   ; Done?
-       bne     Loop
+        cpy     #(FOPEN_MAX * .sizeof(_FILE))   ; Done?
+        bne     Loop
 
 ; File table is full
 
-       jmp     return0
+        jmp     return0
 
 ; Free slot found, get address
 
index 8ee46ff2a0186da696994bcd69f17dfd0136d773..66c8af828ffc1c07b329090d331898a5669afedf 100644 (file)
@@ -18,8 +18,8 @@
 
 /* Definition of struct _FILE */
 struct _FILE {
-    char           f_fd;
-    char           f_flags;
+    char            f_fd;
+    char            f_flags;
     unsigned char   f_pushback;
 };
 
@@ -27,10 +27,10 @@ struct _FILE {
 extern FILE _filetab[FOPEN_MAX];
 
 /* Flags field */
-#define _FCLOSED       0x00
-#define        _FOPEN          0x01
-#define _FEOF          0x02
-#define _FERROR                0x04
+#define _FCLOSED        0x00
+#define _FOPEN          0x01
+#define _FEOF           0x02
+#define _FERROR         0x04
 #define _FPUSHBACK      0x08
 
 
index 84686a062ac834d3dbfeacaf96c82ddbd4411306..db46943d0b0bd520edfd53fbffa9a54cad82d0ab 100644 (file)
@@ -4,7 +4,7 @@
 ; Data for the stdio file stream.
 ;
 
-               .export         __filetab
+        .export         __filetab
 
         .include        "stdio.inc"
         .include        "fcntl.inc"
@@ -27,12 +27,12 @@ __filetab:
 ; Standard file descriptors
 
 _stdin:
-       .word   __filetab + (STDIN_FILENO * .sizeof(_FILE))
+        .word   __filetab + (STDIN_FILENO * .sizeof(_FILE))
 
 _stdout:
-       .word   __filetab + (STDOUT_FILENO * .sizeof(_FILE))
+        .word   __filetab + (STDOUT_FILENO * .sizeof(_FILE))
 
 _stderr:
-       .word   __filetab + (STDERR_FILENO * .sizeof(_FILE))
+        .word   __filetab + (STDERR_FILENO * .sizeof(_FILE))
 
 
index 5b45b85cc33051a2f92a68694b094be1f46c7f11..5af434050f6381e9494e56028000bf4e8f1622a9 100644 (file)
@@ -4,9 +4,9 @@
 ; Heap variables and initialization.
 ;
 
-               .constructor    initheap, 24
-               .import         __BSS_RUN__, __BSS_SIZE__, __STACKSIZE__
-       .importzp       sp
+        .constructor    initheap, 24
+        .import         __BSS_RUN__, __BSS_SIZE__, __STACKSIZE__
+        .importzp       sp
 
         .include        "_heap.inc"
 
 .data
 
 __heaporg:
-               .word   __BSS_RUN__+__BSS_SIZE__        ; Linker calculates this symbol
+        .word   __BSS_RUN__+__BSS_SIZE__        ; Linker calculates this symbol
 __heapptr:
-       .word   __BSS_RUN__+__BSS_SIZE__        ; Dito
+        .word   __BSS_RUN__+__BSS_SIZE__        ; Dito
 __heapend:
-               .word   __BSS_RUN__+__BSS_SIZE__
+        .word   __BSS_RUN__+__BSS_SIZE__
 __heapfirst:
-       .word   0
+        .word   0
 __heaplast:
-       .word   0
+        .word   0
 
 
 ; Initialization. Will be called from startup!
@@ -30,13 +30,13 @@ __heaplast:
 .segment        "INIT"
 
 initheap:
-       sec
-       lda     sp
-       sbc     #<__STACKSIZE__
-       sta     __heapend
-       lda     sp+1
-       sbc     #>__STACKSIZE__
-       sta     __heapend+1
-       rts
+        sec
+        lda     sp
+        sbc     #<__STACKSIZE__
+        sta     __heapend
+        lda     sp+1
+        sbc     #>__STACKSIZE__
+        sta     __heapend+1
+        rts
 
                       
index 547e0478b0c433c42898f5b4826315651ee638c7..14080cb5e42be68a8abb6201d9c1e8c54db8260d 100644 (file)
@@ -7,46 +7,46 @@
 ;
 ;
 
-       .importzp       ptr1, ptr2
-       .import         popax
-       .import         heapadd
-               .export         __heapadd
+        .importzp       ptr1, ptr2
+        .import         popax
+        .import         heapadd
+        .export         __heapadd
 
         .include        "_heap.inc"
 
-               .macpack        generic
+        .macpack        generic
 
 ;-----------------------------------------------------------------------------
 ; Code
 
 __heapadd:
-       sta     ptr1            ; Store size in ptr1
-       stx     ptr1+1
-       jsr     popax           ; Get the block pointer
-               sta     ptr2
-       stx     ptr2+1          ; Store block pointer in ptr2
+        sta     ptr1            ; Store size in ptr1
+        stx     ptr1+1
+        jsr     popax           ; Get the block pointer
+        sta     ptr2
+        stx     ptr2+1          ; Store block pointer in ptr2
 
 ; Check if size is greater or equal than min_size. Otherwise we don't care
 ; about the block (this may only happen for user supplied blocks, blocks
 ; from the heap are always large enough to hold a freeblock structure).
 
-       lda     ptr1            ; Load low byte
-       ldx     ptr1+1          ; Load/check high byte
-       bne     @L1
-       cmp     #HEAP_MIN_BLOCKSIZE
-       bcs     @L1
+        lda     ptr1            ; Load low byte
+        ldx     ptr1+1          ; Load/check high byte
+        bne     @L1
+        cmp     #HEAP_MIN_BLOCKSIZE
+        bcs     @L1
 
-       rts                     ; Block not large enough
+        rts                     ; Block not large enough
 
 ; The block is large enough. Set the size field in the block.
 
-@L1:   ldy     #usedblock::size
-       sta     (ptr2),y
-       iny
-       txa
-       sta     (ptr2),y
+@L1:    ldy     #usedblock::size
+        sta     (ptr2),y
+        iny
+        txa
+        sta     (ptr2),y
 
 ; Call the internal function since variables are now setup correctly
 
-       jmp     heapadd
+        jmp     heapadd
 
index b7458479c6e98083c4a988b0f362590b55132c8f..db33f594c3f1ad0be1835417beb75afe7cdaf4b6 100644 (file)
@@ -6,8 +6,8 @@
 ; Return the size of an allocated block.
 ;
 
-       .importzp       ptr1, ptr2
-               .export         __heapblocksize
+        .importzp       ptr1, ptr2
+        .export         __heapblocksize
 
         .include        "_heap.inc"
 
index 1fe5e0606811be62dc166c7c4f9cfe27daa1d80c..16fc10dded81088d702296d18d822a873ca94165 100644 (file)
@@ -7,12 +7,12 @@
 ;
 ;
                             
-       .importzp       ptr1, ptr2
-               .export         __heapmaxavail
+        .importzp       ptr1, ptr2
+        .export         __heapmaxavail
 
         .include        "_heap.inc"
 
-               .macpack        generic
+        .macpack        generic
 
 ;-----------------------------------------------------------------------------
 ; Code
index b7a05a087acba309dc6cab45515c666d4d99f8f7..69aa75f8ae44ab3575a8974092730fde76d8b654 100644 (file)
@@ -7,12 +7,12 @@
 ;
 ;
 
-       .importzp       ptr1, ptr2
-               .export         __heapmemavail
+        .importzp       ptr1, ptr2
+        .export         __heapmemavail
 
         .include        "_heap.inc"
 
-               .macpack        generic
+        .macpack        generic
 
 ;-----------------------------------------------------------------------------
 ; Code
index 19073933aea277e2da55befb84a14de95ae0d49c..256d89658f947a5385fb00ce06cc0e2305c08cf4 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Operating system specific errors from the low level functions */
 
 
-               .export         __oserror
+        .export         __oserror
 
 .bss
 
 __oserror:
-       .res    1
+        .res    1
 
index 03869747835e6d1b5faab22a83373273f72bf64b..e965b0d8529f9b9c2cb9752616ff296dda6ab698 100644 (file)
@@ -25,10 +25,10 @@ typedef void (*outfunc) (struct outdesc* desc, const char* buf, unsigned count);
  * so check this when altering the structure.
  */
 struct outdesc {
-    int                ccount;         /* Character counter */
-    outfunc            fout;           /* Routine used to output data */
-    void*      ptr;            /* Data internal to print routine */
-    unsigned   uns;            /* Data internal to print routine */
+    int         ccount;         /* Character counter */
+    outfunc     fout;           /* Routine used to output data */
+    void*       ptr;            /* Data internal to print routine */
+    unsigned    uns;            /* Data internal to print routine */
 };
 
 
index 2169896ba4ddcf683ae850b650b5adc09827d05a..f5d1784ec004a2af9610682426ddddd0b7462a42 100644 (file)
@@ -6,28 +6,28 @@
                                    
         .include        "zeropage.inc"
 
-       .export         __printf
+        .export         __printf
 
-       .import         popax, pushax, pusheax, decsp6, push1, axlong, axulong
-       .import         _ltoa, _ultoa
-       .import         _strlower, _strlen
+        .import         popax, pushax, pusheax, decsp6, push1, axlong, axulong
+        .import         _ltoa, _ultoa
+        .import         _strlower, _strlen
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; We will store variables into the register bank in the zeropage. Define
 ; equates for these variables.
 
-ArgList                = regbank+0             ; Argument list pointer
-Format                 = regbank+2             ; Format string
-OutData                = regbank+4             ; Function parameters
+ArgList         = regbank+0             ; Argument list pointer
+Format          = regbank+2             ; Format string
+OutData         = regbank+4             ; Function parameters
 
 ; ----------------------------------------------------------------------------
 ; Other zero page cells
 
-Base           = ptr1
-FSave          = ptr1
-FCount         = ptr2
+Base            = ptr1
+FSave           = ptr1
+FCount          = ptr2
 
 .code
 
@@ -36,68 +36,68 @@ FCount              = ptr2
 ; return zero in Y.
 
 GetFormatChar:
-       ldy     #0
-       lda     (Format),y
+        ldy     #0
+        lda     (Format),y
 IncFormatPtr:
-       inc     Format
-       bne     @L1
-       inc     Format+1
-@L1:   rts
+        inc     Format
+        bne     @L1
+        inc     Format+1
+@L1:    rts
 
 ; ----------------------------------------------------------------------------
 ; Output a pad character: outfunc (d, &padchar, 1)
 
 OutputPadChar:
-       lda     PadChar
+        lda     PadChar
 
 ; ----------------------------------------------------------------------------
 ; Call the output function with one character in A
 
 Output1:
-       sta     CharArg
-       jsr     PushOutData
-       lda     #<CharArg
-       ldx     #>CharArg
-       jsr     pushax
-       jsr     push1
-       jmp     CallOutFunc     ; fout (OutData, &CharArg, 1)
+        sta     CharArg
+        jsr     PushOutData
+        lda     #<CharArg
+        ldx     #>CharArg
+        jsr     pushax
+        jsr     push1
+        jmp     CallOutFunc     ; fout (OutData, &CharArg, 1)
 
 ; ----------------------------------------------------------------------------
 ; Decrement the argument list pointer by 2
 
 DecArgList2:
-       lda     ArgList
-       sub     #2
-       sta     ArgList
-       bcs     @L1
-       dec     ArgList+1
-@L1:   rts
+        lda     ArgList
+        sub     #2
+        sta     ArgList
+        bcs     @L1
+        dec     ArgList+1
+@L1:    rts
 
 ; ----------------------------------------------------------------------------
 ; Get an unsigned int or long argument depending on the IsLong flag.
 
 GetUnsignedArg:
-       lda     IsLong                  ; Check flag
-       bne     GetLongArg              ; Long sets all
-       jsr     GetIntArg               ; Get an integer argument
-       jmp     axulong                 ; Convert to unsigned long
+        lda     IsLong                  ; Check flag
+        bne     GetLongArg              ; Long sets all
+        jsr     GetIntArg               ; Get an integer argument
+        jmp     axulong                 ; Convert to unsigned long
 
 ; ----------------------------------------------------------------------------
 ; Get an signed int or long argument depending on the IsLong flag.
 
 GetSignedArg:
-       lda     IsLong                  ; Check flag
-       bne     GetLongArg              ; Long sets all
-       jsr     GetIntArg               ; Get an integer argument
-       jmp     axlong                  ; Convert to long
+        lda     IsLong                  ; Check flag
+        bne     GetLongArg              ; Long sets all
+        jsr     GetIntArg               ; Get an integer argument
+        jmp     axlong                  ; Convert to long
 
 ; ----------------------------------------------------------------------------
 ; Get a long argument from the argument list. Returns 0 in Y.
 
 GetLongArg:
-       jsr     GetIntArg               ; Get high word
-       sta     sreg
-       stx     sreg+1
+        jsr     GetIntArg               ; Get high word
+        sta     sreg
+        stx     sreg+1
 
 ; Run into GetIntArg fetching the low word
 
@@ -105,133 +105,133 @@ GetLongArg:
 ; Get an integer argument from the argument list. Returns 0 in Y.
 
 GetIntArg:
-       jsr     DecArgList2
-       ldy     #1
-       lda     (ArgList),y
-       tax
-       dey
-       lda     (ArgList),y
-       rts
+        jsr     DecArgList2
+        ldy     #1
+        lda     (ArgList),y
+        tax
+        dey
+        lda     (ArgList),y
+        rts
 
 ; ----------------------------------------------------------------------------
 ; Read an integer from the format string. Will return zero in Y.
 
 ReadInt:
-       ldy     #0
-       sty     ptr1
-       sty     ptr1+1                  ; Start with zero
-@Loop: lda     (Format),y              ; Get format string character
-       sub     #'0'                    ; Make number from ascii digit
-       bcc     @L9                     ; Jump if done
-       cmp     #9+1
-       bcs     @L9                     ; Jump if done
+        ldy     #0
+        sty     ptr1
+        sty     ptr1+1                  ; Start with zero
+@Loop:  lda     (Format),y              ; Get format string character
+        sub     #'0'                    ; Make number from ascii digit
+        bcc     @L9                     ; Jump if done
+        cmp     #9+1
+        bcs     @L9                     ; Jump if done
 
 ; Skip the digit character
 
-       jsr     IncFormatPtr
+        jsr     IncFormatPtr
 
 ; Add the digit to the value we have in ptr1
 
-       pha                             ; Save digit value
-       lda     ptr1
-       ldx     ptr1+1
-       asl     ptr1
-       rol     ptr1+1                  ; * 2
-       asl     ptr1
-       rol     ptr1+1                  ; * 4, assume carry clear
-               adc     ptr1
-       sta     ptr1
-       txa
-       adc     ptr1+1
-       sta     ptr1+1                  ; * 5
-       asl     ptr1
-       rol     ptr1+1                  ; * 10, assume carry clear
-       pla
-               adc     ptr1                    ; Add digit value
-       sta     ptr1
-       bcc     @Loop
-       inc     ptr1+1
-       bcs     @Loop                   ; Branch always
+        pha                             ; Save digit value
+        lda     ptr1
+        ldx     ptr1+1
+        asl     ptr1
+        rol     ptr1+1                  ; * 2
+        asl     ptr1
+        rol     ptr1+1                  ; * 4, assume carry clear
+        adc     ptr1
+        sta     ptr1
+        txa
+        adc     ptr1+1
+        sta     ptr1+1                  ; * 5
+        asl     ptr1
+        rol     ptr1+1                  ; * 10, assume carry clear
+        pla
+        adc     ptr1                    ; Add digit value
+        sta     ptr1
+        bcc     @Loop
+        inc     ptr1+1
+        bcs     @Loop                   ; Branch always
 
 ; We're done converting
 
-@L9:   lda     ptr1
-       ldx     ptr1+1                  ; Load result
-       rts
+@L9:    lda     ptr1
+        ldx     ptr1+1                  ; Load result
+        rts
 
 
 ; ----------------------------------------------------------------------------
 ; Put a character into the argument buffer and increment the buffer index
 
-PutBuf:        ldy     BufIdx
-       inc     BufIdx
-       sta     Buf,y
-       rts
+PutBuf: ldy     BufIdx
+        inc     BufIdx
+        sta     Buf,y
+        rts
 
 ; ----------------------------------------------------------------------------
 ; Get a pointer to the current buffer end and push it onto the stack
 
 PushBufPtr:
-       lda     #<Buf
-       ldx     #>Buf
-       add     BufIdx
-       bcc     @L1
-       inx
-@L1:   jmp     pushax
+        lda     #<Buf
+        ldx     #>Buf
+        add     BufIdx
+        bcc     @L1
+        inx
+@L1:    jmp     pushax
 
 ; ----------------------------------------------------------------------------
 ; Push OutData onto the software stack
 
 PushOutData:
-       lda     OutData
-       ldx     OutData+1
-       jmp     pushax
+        lda     OutData
+        ldx     OutData+1
+        jmp     pushax
 
 ; ----------------------------------------------------------------------------
 ; Output Width pad characters
 ;
 
 PadLoop:
-               jsr     OutputPadChar
+        jsr     OutputPadChar
 OutputPadding:
-       inc     Width
-       bne     PadLoop
-       inc     Width+1
-       bne     PadLoop
-       rts
+        inc     Width
+        bne     PadLoop
+        inc     Width+1
+        bne     PadLoop
+        rts
 
 ; ----------------------------------------------------------------------------
 ; Output the argument itself: outfunc (d, str, arglen);
 ;
 
 OutputArg:
-       jsr     PushOutData
-       lda     Str
-       ldx     Str+1
-       jsr     pushax
-       lda     ArgLen
-       ldx     ArgLen+1
-       jsr     pushax
-       jmp     CallOutFunc
+        jsr     PushOutData
+        lda     Str
+        ldx     Str+1
+        jsr     pushax
+        lda     ArgLen
+        ldx     ArgLen+1
+        jsr     pushax
+        jmp     CallOutFunc
 
 ; ----------------------------------------------------------------------------
 ; ltoa: Wrapper for _ltoa that pushes all arguments
 
-ltoa:  sty     Base                    ; Save base
-       jsr     pusheax                 ; Push value
-       jsr     PushBufPtr              ; Push the buffer pointer...
-               lda     Base                    ; Restore base
-       jmp     _ltoa                   ; ultoa (l, s, base);
+ltoa:   sty     Base                    ; Save base
+        jsr     pusheax                 ; Push value
+        jsr     PushBufPtr              ; Push the buffer pointer...
+        lda     Base                    ; Restore base
+        jmp     _ltoa                   ; ultoa (l, s, base);
 
 
 ; ----------------------------------------------------------------------------
 ; ultoa: Wrapper for _ultoa that pushes all arguments
 
-ultoa:         sty     Base                    ; Save base
-       jsr     pusheax                 ; Push value
-       jsr     PushBufPtr              ; Push the buffer pointer...
-               lda     Base                    ; Restore base
-       jmp     _ultoa                  ; ultoa (l, s, base);
+ultoa:  sty     Base                    ; Save base
+        jsr     pusheax                 ; Push value
+        jsr     PushBufPtr              ; Push the buffer pointer...
+        lda     Base                    ; Restore base
+        jmp     _ultoa                  ; ultoa (l, s, base);
 
 
 ; ----------------------------------------------------------------------------
@@ -241,133 +241,133 @@ __printf:
 
 ; Save the register bank variables into the save area
 
-       pha                             ; Save low byte of ap
-               ldy     #5
-Save:  lda     regbank,y
-       sta     RegSave,y
-       dey
-               bpl     Save
+        pha                             ; Save low byte of ap
+        ldy     #5
+Save:   lda     regbank,y
+        sta     RegSave,y
+        dey
+        bpl     Save
 
 ; Get the parameters from the stack
 
-       pla                             ; Restore low byte of ap
-       sta     ArgList                 ; Argument list pointer
-       stx     ArgList+1
+        pla                             ; Restore low byte of ap
+        sta     ArgList                 ; Argument list pointer
+        stx     ArgList+1
 
-       jsr     popax                   ; Format string
-       sta     Format
-       stx     Format+1
+        jsr     popax                   ; Format string
+        sta     Format
+        stx     Format+1
 
-       jsr     popax                   ; Output descriptor
-       sta     OutData
-       stx     OutData+1
+        jsr     popax                   ; Output descriptor
+        sta     OutData
+        stx     OutData+1
 
 ; Initialize the output counter in the output descriptor to zero
 
-       lda     #0
-       tay
-       sta     (OutData),y
-       iny
-       sta     (OutData),y
+        lda     #0
+        tay
+        sta     (OutData),y
+        iny
+        sta     (OutData),y
 
 ; Get the output function from the output descriptor and remember it
 
-       iny
-       lda     (OutData),y
-       sta     CallOutFunc+1
-       iny
-       lda     (OutData),y
-       sta     CallOutFunc+2
+        iny
+        lda     (OutData),y
+        sta     CallOutFunc+1
+        iny
+        lda     (OutData),y
+        sta     CallOutFunc+2
 
 ; Start parsing the format string
 
 MainLoop:
-       lda     Format                  ; Remember current format pointer
-       sta     FSave
-       lda     Format+1
-       sta     FSave+1
-
-       ldy     #0                      ; Index
-@L1:   lda     (Format),y              ; Get next char
-               beq     @L2                     ; Jump on end of string
-       cmp     #'%'                    ; Format spec?
-       beq     @L2
-       iny                             ; Bump pointer
-               bne     @L1
-       inc     Format+1                ; Bump high byte of pointer
-       bne     @L1                     ; Branch always
+        lda     Format                  ; Remember current format pointer
+        sta     FSave
+        lda     Format+1
+        sta     FSave+1
+
+        ldy     #0                      ; Index
+@L1:    lda     (Format),y              ; Get next char
+        beq     @L2                     ; Jump on end of string
+        cmp     #'%'                    ; Format spec?
+        beq     @L2
+        iny                             ; Bump pointer
+        bne     @L1
+        inc     Format+1                ; Bump high byte of pointer
+        bne     @L1                     ; Branch always
 
 ; Found a '%' character or end of string. Update the Format pointer so it is
 ; current (points to this character).
 
-@L2:   tya                             ; Low byte of offset
-       add     Format
-       sta     Format
-       bcc     @L3
-       inc     Format+1
+@L2:    tya                             ; Low byte of offset
+        add     Format
+        sta     Format
+        bcc     @L3
+        inc     Format+1
 
 ; Calculate, how many characters must be output. Beware: This number may
 ; be zero. A still contains the low byte of the pointer.
 
-@L3:   sub     FSave
-       sta     FCount
-       lda     Format+1
-       sbc     FSave+1
-       sta     FCount+1
-       ora     FCount                  ; Is the result zero?
-               beq     @L4                     ; Jump if yes
+@L3:    sub     FSave
+        sta     FCount
+        lda     Format+1
+        sbc     FSave+1
+        sta     FCount+1
+        ora     FCount                  ; Is the result zero?
+        beq     @L4                     ; Jump if yes
 
 ; Output the characters that we have until now. To make the call to out
 ; faster, build the stack frame by hand (don't use pushax)
 
-       jsr     decsp6                  ; 3 args
-       ldy     #5
-       lda     OutData+1
-       sta     (sp),y
-       dey
-       lda     OutData
-       sta     (sp),y
-       dey
-       lda     FSave+1
-       sta     (sp),y
-       dey
-       lda     FSave
-       sta     (sp),y
-       dey
-       lda     FCount+1
-       sta     (sp),y
-       dey
-       lda     FCount
-       sta     (sp),y
-       jsr     CallOutFunc             ; Call the output function
+        jsr     decsp6                  ; 3 args
+        ldy     #5
+        lda     OutData+1
+        sta     (sp),y
+        dey
+        lda     OutData
+        sta     (sp),y
+        dey
+        lda     FSave+1
+        sta     (sp),y
+        dey
+        lda     FSave
+        sta     (sp),y
+        dey
+        lda     FCount+1
+        sta     (sp),y
+        dey
+        lda     FCount
+        sta     (sp),y
+        jsr     CallOutFunc             ; Call the output function
 
 ; We're back from out(), or we didn't call it. Check for end of string.
 
-@L4:   jsr     GetFormatChar           ; Get one char, zero in Y
-       tax                             ; End of format string reached?
-               bne     NotDone                 ; End not reached
+@L4:    jsr     GetFormatChar           ; Get one char, zero in Y
+        tax                             ; End of format string reached?
+        bne     NotDone                 ; End not reached
 
 ; End of format string reached. Restore the zeropage registers and return.
 
-       ldx     #5
-Rest:  lda     RegSave,x
-       sta     regbank,x
-       dex
-       bpl     Rest
-       rts
+        ldx     #5
+Rest:   lda     RegSave,x
+        sta     regbank,x
+        dex
+        bpl     Rest
+        rts
 
 ; Still a valid format character. Check for '%' and a '%%' sequence. Output
 ; anything that is not a format specifier. On intro, Y is zero.
 
 NotDone:
-       cmp     #'%'
-       bne     @L1
-       lda     (Format),y              ; Check for "%%"
-       cmp     #'%'
-       bne     FormatSpec              ; Jump if really a format specifier
-       jsr     IncFormatPtr            ; Skip the second '%'
-@L1:   jsr     Output1                 ; Output the character...
-       jmp     MainLoop                ; ...and continue
+        cmp     #'%'
+        bne     @L1
+        lda     (Format),y              ; Check for "%%"
+        cmp     #'%'
+        bne     FormatSpec              ; Jump if really a format specifier
+        jsr     IncFormatPtr            ; Skip the second '%'
+@L1:    jsr     Output1                 ; Output the character...
+        jmp     MainLoop                ; ...and continue
 
 ; We have a real format specifier
 ; Format is: %[flags][width][.precision][mod]type
@@ -377,105 +377,105 @@ FormatSpec:
 
 ; Initialize the flags
 
-       lda     #0
-               ldx     #FormatVarSize-1
-@L1:   sta     FormatVars,x
-       dex
-       bpl     @L1
+        lda     #0
+        ldx     #FormatVarSize-1
+@L1:    sta     FormatVars,x
+        dex
+        bpl     @L1
 
 ; Start with reading the flags if there are any. X is $FF which is used
 ; for "true"
 
 ReadFlags:
-       lda     (Format),y              ; Get next char...
-       cmp     #'-'
-       bne     @L1
-       stx     LeftJust
-       beq     @L4
+        lda     (Format),y              ; Get next char...
+        cmp     #'-'
+        bne     @L1
+        stx     LeftJust
+        beq     @L4
 
-@L1:   cmp     #'+'
-       bne     @L2
-       stx     AddSign
-       beq     @L4
+@L1:    cmp     #'+'
+        bne     @L2
+        stx     AddSign
+        beq     @L4
 
-@L2:   cmp     #' '
-       bne     @L3
-       stx     AddBlank
-       beq     @L4
+@L2:    cmp     #' '
+        bne     @L3
+        stx     AddBlank
+        beq     @L4
 
-@L3:   cmp     #'#'
-       bne     ReadPadding
-       stx     AltForm
+@L3:    cmp     #'#'
+        bne     ReadPadding
+        stx     AltForm
 
-@L4:   jsr     IncFormatPtr
-       jmp     ReadFlags               ; ...and start over
+@L4:    jsr     IncFormatPtr
+        jmp     ReadFlags               ; ...and start over
 
 ; Done with flags, read the pad char. Y is still zero if we come here.
 
 ReadPadding:
-       ldx     #' '                    ; PadChar
-       cmp     #'0'
-       bne     @L1
-       tax                             ; PadChar is '0'
-       jsr     IncFormatPtr
-       lda     (Format),y              ; Read current for later
-@L1:   stx     PadChar
+        ldx     #' '                    ; PadChar
+        cmp     #'0'
+        bne     @L1
+        tax                             ; PadChar is '0'
+        jsr     IncFormatPtr
+        lda     (Format),y              ; Read current for later
+@L1:    stx     PadChar
 
 ; Read the width. Even here, Y is still zero. A contains the current character
 ; from the format string
 
 ReadWidth:
-       cmp     #'*'
-       bne     @L1
-       jsr     IncFormatPtr
-       jsr     GetIntArg               ; Width is an additional argument
-       jmp     @L2
+        cmp     #'*'
+        bne     @L1
+        jsr     IncFormatPtr
+        jsr     GetIntArg               ; Width is an additional argument
+        jmp     @L2
 
-@L1:   jsr     ReadInt                 ; Read integer from format string...
-@L2:   sta     Width
-       stx     Width+1                 ; ...and remember in Width
+@L1:    jsr     ReadInt                 ; Read integer from format string...
+@L2:    sta     Width
+        stx     Width+1                 ; ...and remember in Width
 
 ; Read the precision. Even here, Y is still zero.
 
-       sty     Prec                    ; Assume Precision is zero
-       sty     Prec+1
-       lda     (Format),y              ; Load next format string char
-       cmp     #'.'                    ; Precision given?
-       bne     ReadMod                 ; Branch if no precision given
+        sty     Prec                    ; Assume Precision is zero
+        sty     Prec+1
+        lda     (Format),y              ; Load next format string char
+        cmp     #'.'                    ; Precision given?
+        bne     ReadMod                 ; Branch if no precision given
 
 ReadPrec:
-       jsr     IncFormatPtr            ; Skip the '.'
-       lda     (Format),y
-       cmp     #'*'                    ; Variable precision?
-       bne     @L1
-       jsr     IncFormatPtr            ; Skip the '*'
-       jsr     GetIntArg               ; Get integer argument
-       jmp     @L2
-
-@L1:   jsr     ReadInt                 ; Read integer from format string
-@L2:   sta     Prec
-       stx     Prec+1
+        jsr     IncFormatPtr            ; Skip the '.'
+        lda     (Format),y
+        cmp     #'*'                    ; Variable precision?
+        bne     @L1
+        jsr     IncFormatPtr            ; Skip the '*'
+        jsr     GetIntArg               ; Get integer argument
+        jmp     @L2
+
+@L1:    jsr     ReadInt                 ; Read integer from format string
+@L2:    sta     Prec
+        stx     Prec+1
 
 ; Read the modifiers. Y is still zero.
 
 ReadMod:
-       lda     (Format),y
-       cmp     #'z'                    ; size_t - same as unsigned
-       beq     @L2
-       cmp     #'h'                    ; short - same as int
-       beq     @L2
+        lda     (Format),y
+        cmp     #'z'                    ; size_t - same as unsigned
+        beq     @L2
+        cmp     #'h'                    ; short - same as int
+        beq     @L2
         cmp     #'t'                    ; ptrdiff_t - same as int
         beq     @L2
         cmp     #'j'                    ; intmax_t/uintmax_t - same as long
         beq     @L1
-       cmp     #'L'                    ; long double
-       beq     @L1
-       cmp     #'l'                    ; long int
-       bne     DoFormat
-@L1:    lda    #$FF
-       sta     IsLong
-@L2:   jsr     IncFormatPtr
-       jmp     ReadMod
+        cmp     #'L'                    ; long double
+        beq     @L1
+        cmp     #'l'                    ; long int
+        bne     DoFormat
+@L1:    lda     #$FF
+        sta     IsLong
+@L2:    jsr     IncFormatPtr
+        jmp     ReadMod
 
 ; Initialize the argument buffer pointers. We use a static buffer (ArgBuf) to
 ; assemble strings. A zero page index (BufIdx) is used to keep the current
@@ -484,183 +484,183 @@ ReadMod:
 ; Y is zero when we come here.
 
 DoFormat:
-       sty     BufIdx                  ; Clear BufIdx
-       ldx     #<Buf
-               stx     Str
-       ldx     #>Buf
-       stx     Str+1
+        sty     BufIdx                  ; Clear BufIdx
+        ldx     #<Buf
+        stx     Str
+        ldx     #>Buf
+        stx     Str+1
 
 ; Skip the current format character, then check it (current char in A)
 
-       jsr     IncFormatPtr
+        jsr     IncFormatPtr
 
 ; Is it a character?
 
-       cmp     #'c'
-       bne     CheckInt
+        cmp     #'c'
+        bne     CheckInt
 
 ; It is a character
 
-       jsr     GetIntArg               ; Get the argument (promoted to int)
-       sta     Buf                     ; Place it as zero terminated string...
-       lda     #0
-       sta     Buf+1                   ; ...into the buffer
-       jmp     HaveArg                 ; Done
+        jsr     GetIntArg               ; Get the argument (promoted to int)
+        sta     Buf                     ; Place it as zero terminated string...
+        lda     #0
+        sta     Buf+1                   ; ...into the buffer
+        jmp     HaveArg                 ; Done
 
 ; Is it an integer?
 
 CheckInt:
-       cmp     #'d'
-       beq     @L1
-       cmp     #'i'
-       bne     CheckCount
+        cmp     #'d'
+        beq     @L1
+        cmp     #'i'
+        bne     CheckCount
 
 ; It is an integer
 
-@L1:   ldx     #0
-       lda     AddBlank                ; Add a blank for positives?
-       beq     @L2                     ; Jump if no
-       ldx     #' '
-@L2:   lda     AddSign                 ; Add a plus for positives (precedence)?
-       beq     @L3
-       ldx     #'+'
-@L3:   stx     Leader
+@L1:    ldx     #0
+        lda     AddBlank                ; Add a blank for positives?
+        beq     @L2                     ; Jump if no
+        ldx     #' '
+@L2:    lda     AddSign                 ; Add a plus for positives (precedence)?
+        beq     @L3
+        ldx     #'+'
+@L3:    stx     Leader
 
 ; Integer argument
 
-       jsr     GetSignedArg            ; Get argument as a long
-       ldy     sreg+1                  ; Check sign
-       bmi     @Int1
-       ldy     Leader
-       beq     @Int1
-       sty     Buf
-       inc     BufIdx
+        jsr     GetSignedArg            ; Get argument as a long
+        ldy     sreg+1                  ; Check sign
+        bmi     @Int1
+        ldy     Leader
+        beq     @Int1
+        sty     Buf
+        inc     BufIdx
 
-@Int1: ldy     #10                     ; Base
-       jsr     ltoa                    ; Push arguments, call _ltoa
-       jmp     HaveArg
+@Int1:  ldy     #10                     ; Base
+        jsr     ltoa                    ; Push arguments, call _ltoa
+        jmp     HaveArg
 
 ; Is it a count pseudo format?
 
 CheckCount:
-       cmp     #'n'
-       bne     CheckOctal
+        cmp     #'n'
+        bne     CheckOctal
 
 ; It is a count pseudo argument
 
-       jsr     GetIntArg
-       sta     ptr1
-       stx     ptr1+1                  ; Get user supplied pointer
-       ldy     #0
-       lda     (OutData),y             ; Low byte of OutData->ccount
-       sta     (ptr1),y
-       iny
-       lda     (OutData),y             ; High byte of OutData->ccount
-       sta     (ptr1),y
-       jmp     MainLoop                ; Done
+        jsr     GetIntArg
+        sta     ptr1
+        stx     ptr1+1                  ; Get user supplied pointer
+        ldy     #0
+        lda     (OutData),y             ; Low byte of OutData->ccount
+        sta     (ptr1),y
+        iny
+        lda     (OutData),y             ; High byte of OutData->ccount
+        sta     (ptr1),y
+        jmp     MainLoop                ; Done
 
 ; Check for an octal digit
 
 CheckOctal:
-       cmp     #'o'
-       bne     CheckPointer
+        cmp     #'o'
+        bne     CheckPointer
 
 ; Integer in octal representation
 
-       jsr     GetSignedArg            ; Get argument as a long
-               ldy     AltForm                 ; Alternative form?
-       beq     @Oct1                   ; Jump if no
-       pha                             ; Save low byte of value
-       stx     tmp1
-       ora     tmp1
-       ora     sreg
-       ora     sreg+1
-       ora     Prec
-       ora     Prec+1                  ; Check if value or Prec != 0
-       beq     @Oct1
-       lda     #'0'
-       jsr     PutBuf
-       pla                             ; Restore low byte
-
-@Oct1: ldy     #8                      ; Load base
-       jsr     ltoa                    ; Push arguments, call _ltoa
-       jmp     HaveArg
+        jsr     GetSignedArg            ; Get argument as a long
+        ldy     AltForm                 ; Alternative form?
+        beq     @Oct1                   ; Jump if no
+        pha                             ; Save low byte of value
+        stx     tmp1
+        ora     tmp1
+        ora     sreg
+        ora     sreg+1
+        ora     Prec
+        ora     Prec+1                  ; Check if value or Prec != 0
+        beq     @Oct1
+        lda     #'0'
+        jsr     PutBuf
+        pla                             ; Restore low byte
+
+@Oct1:  ldy     #8                      ; Load base
+        jsr     ltoa                    ; Push arguments, call _ltoa
+        jmp     HaveArg
 
 ; Check for a pointer specifier (%p)
 
 CheckPointer:
-       cmp     #'p'
-       bne     CheckString
+        cmp     #'p'
+        bne     CheckString
 
 ; It's a pointer. Use %#x conversion
 
-       ldx     #0
-       stx     IsLong                  ; IsLong = 0;
-       inx
-               stx     AltForm                 ; AltForm = 1;
-       lda     #'x'
-       bne     IsHex                   ; Branch always
+        ldx     #0
+        stx     IsLong                  ; IsLong = 0;
+        inx
+        stx     AltForm                 ; AltForm = 1;
+        lda     #'x'
+        bne     IsHex                   ; Branch always
 
 ; Check for a string specifier (%s)
 
 CheckString:
-       cmp     #'s'
-       bne     CheckUnsigned
+        cmp     #'s'
+        bne     CheckUnsigned
 
 ; It's a string
 
-       jsr     GetIntArg               ; Get 16bit argument
-       sta     Str
-       stx     Str+1
-       jmp     HaveArg
+        jsr     GetIntArg               ; Get 16bit argument
+        sta     Str
+        stx     Str+1
+        jmp     HaveArg
 
 ; Check for an unsigned integer (%u)
 
 CheckUnsigned:
-       cmp     #'u'
-       bne     CheckHex
+        cmp     #'u'
+        bne     CheckHex
 
 ; It's an unsigned integer
 
-       jsr     GetUnsignedArg          ; Get argument as unsigned long
-               ldy     #10                     ; Load base
-               jsr     ultoa                   ; Push arguments, call _ultoa
-       jmp     HaveArg
+        jsr     GetUnsignedArg          ; Get argument as unsigned long
+        ldy     #10                     ; Load base
+        jsr     ultoa                   ; Push arguments, call _ultoa
+        jmp     HaveArg
 
 ; Check for a hexadecimal integer (%x)
 
 CheckHex:
-       cmp     #'x'
-       beq     IsHex
-       cmp     #'X'
-       bne     UnknownFormat
+        cmp     #'x'
+        beq     IsHex
+        cmp     #'X'
+        bne     UnknownFormat
 
 ; Hexadecimal integer
 
-IsHex: pha                             ; Save the format spec
-       lda     AltForm
-       beq     @L1
-       lda     #'0'
-       jsr     PutBuf
-       lda     #'X'
-       jsr     PutBuf
-
-@L1:   jsr     GetUnsignedArg          ; Get argument as an unsigned long
-               ldy     #16                     ; Load base
-               jsr     ultoa                   ; Push arguments, call _ultoa
-
-       pla                             ; Get the format spec
-       cmp     #'x'                    ; Lower case?
-       bne     @L2
-       lda     Str
-       ldx     Str+1
-       jsr     _strlower               ; Make characters lower case
-@L2:   jmp     HaveArg
+IsHex:  pha                             ; Save the format spec
+        lda     AltForm
+        beq     @L1
+        lda     #'0'
+        jsr     PutBuf
+        lda     #'X'
+        jsr     PutBuf
+
+@L1:    jsr     GetUnsignedArg          ; Get argument as an unsigned long
+        ldy     #16                     ; Load base
+        jsr     ultoa                   ; Push arguments, call _ultoa
+
+        pla                             ; Get the format spec
+        cmp     #'x'                    ; Lower case?
+        bne     @L2
+        lda     Str
+        ldx     Str+1
+        jsr     _strlower               ; Make characters lower case
+@L2:    jmp     HaveArg
 
 ; Unknown format character, skip it
 
 UnknownFormat:
-       jmp     MainLoop
+        jmp     MainLoop
 
 ; We have the argument, do argument string formatting
 
@@ -668,81 +668,81 @@ HaveArg:
 
 ; ArgLen = strlen (Str);
 
-       lda     Str
-       ldx     Str+1
-       jsr     _strlen                 ; Get length of argument
-       sta     ArgLen
-       stx     ArgLen+1
+        lda     Str
+        ldx     Str+1
+        jsr     _strlen                 ; Get length of argument
+        sta     ArgLen
+        stx     ArgLen+1
 
 ; if (Prec && Prec < ArgLen) ArgLen = Prec;
 
-       lda     Prec
-       ora     Prec+1
-       beq     @L1
-       ldx     Prec
-       cpx     ArgLen
-       lda     Prec+1
-       tay
-       sbc     ArgLen+1
-        bcs    @L1
-       stx     ArgLen
-       sty     ArgLen+1
+        lda     Prec
+        ora     Prec+1
+        beq     @L1
+        ldx     Prec
+        cpx     ArgLen
+        lda     Prec+1
+        tay
+        sbc     ArgLen+1
+        bcs     @L1
+        stx     ArgLen
+        sty     ArgLen+1
 
 ;  if (Width > ArgLen) {
-;      Width -= ArgLen;                /* padcount */
+;      Width -= ArgLen;                 /* padcount */
 ;  } else {
 ;      Width = 0;
 ;  }
 ; Since width is used as a counter below, calculate -(width+1)
 
-@L1:   sec
-       lda     Width
-       sbc     ArgLen
-       tax
-       lda     Width+1
-       sbc     ArgLen+1
-       bcs     @L2
-       lda     #0
-       tax
-@L2:   eor     #$FF
-       sta     Width+1
-       txa
-       eor     #$FF
-       sta     Width
+@L1:    sec
+        lda     Width
+        sbc     ArgLen
+        tax
+        lda     Width+1
+        sbc     ArgLen+1
+        bcs     @L2
+        lda     #0
+        tax
+@L2:    eor     #$FF
+        sta     Width+1
+        txa
+        eor     #$FF
+        sta     Width
 
 ;  /* Do padding on the left side if needed */
 ;  if (!leftjust) {
 ;      /* argument right justified */
 ;      while (width) {
-;        fout (d, &padchar, 1);
-;        --width;
+;         fout (d, &padchar, 1);
+;         --width;
 ;      }
 ;  }
 
-       lda     LeftJust
-       bne     @L3
-       jsr     OutputPadding
+        lda     LeftJust
+        bne     @L3
+        jsr     OutputPadding
 
 ; Output the argument itself
 
-@L3:   jsr     OutputArg
+@L3:    jsr     OutputArg
 
 ;  /* Output right padding bytes if needed */
 ;  if (leftjust) {
 ;      /* argument left justified */
 ;      while (width) {
-;        fout (d, &padchar, 1);
-;        --width;
+;         fout (d, &padchar, 1);
+;         --width;
 ;      }
 ;  }
 
-       lda     LeftJust
-       beq     @L4
-       jsr     OutputPadding
+        lda     LeftJust
+        beq     @L4
+        jsr     OutputPadding
 
 ; Done, parse next chars from format string
 
-@L4:   jmp     MainLoop
+@L4:    jmp     MainLoop
 
 
 ; ----------------------------------------------------------------------------
@@ -751,34 +751,34 @@ HaveArg:
 .bss
 
 ; Save area for the zero page registers
-RegSave:       .res    regbanksize
+RegSave:        .res    regbanksize
 
 ; One character argument for OutFunc
-CharArg:       .byte   0
+CharArg:        .byte   0
 
 ; Format variables
 FormatVars:
-LeftJust:      .byte   0
-AddSign:       .byte   0
-AddBlank:      .byte   0
-AltForm:       .byte   0
-PadChar:       .byte   0
-Width:         .word   0
-Prec:          .word   0
-IsLong:                .byte   0
-Leader:                .byte   0
-BufIdx:                .byte   0       ; Argument string pointer
-FormatVarSize  = * - FormatVars
+LeftJust:       .byte   0
+AddSign:        .byte   0
+AddBlank:       .byte   0
+AltForm:        .byte   0
+PadChar:        .byte   0
+Width:          .word   0
+Prec:           .word   0
+IsLong:         .byte   0
+Leader:         .byte   0
+BufIdx:         .byte   0       ; Argument string pointer
+FormatVarSize   = * - FormatVars
 
 ; Argument buffer and pointer
-Buf:           .res    20
-Str:           .word   0
-ArgLen:                .res    2
+Buf:            .res    20
+Str:            .word   0
+ArgLen:         .res    2
 
 .data
 
 ; Stuff from OutData. Is used as a vector and must be aligned
-CallOutFunc:   jmp     $0000
+CallOutFunc:    jmp     $0000
 
 
 
index 34728f8dde7100c073cb0761cd500429c8eb15e0..108fc6095e6694129b44a0a838e2114b596071de 100644 (file)
@@ -34,7 +34,7 @@
 
 
 /*****************************************************************************/
-/*                           SetJmp return codes                            */
+/*                            SetJmp return codes                            */
 /*****************************************************************************/
 
 
@@ -48,28 +48,28 @@ enum {
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 static const char*    format;           /* Copy of function argument */
 static const struct scanfdata* D_;      /* Copy of function argument */
-static va_list        ap;              /* Copy of function argument */
-static jmp_buf        JumpBuf;         /* "Label" that is used for failures */
-static char           F;               /* Character from format string */
+static va_list        ap;               /* Copy of function argument */
+static jmp_buf        JumpBuf;          /* "Label" that is used for failures */
+static char           F;                /* Character from format string */
 static unsigned       CharCount;        /* Characters read so far */
-static int            C;               /* Character from input */
-static unsigned       Width;           /* Maximum field width */
-static long           IntVal;          /* Converted int value */
-static int            Assignments;     /* Number of assignments */
+static int            C;                /* Character from input */
+static unsigned       Width;            /* Maximum field width */
+static long           IntVal;           /* Converted int value */
+static int            Assignments;      /* Number of assignments */
 static unsigned char  IntBytes;         /* Number of bytes-1 for int conversions */
 
 /* Flags */
-static bool           Converted;       /* Some object was converted */
-static bool           Positive;                /* Flag for positive value */
-static bool           NoAssign;                /* Suppress assignment */
-static bool           Invert;          /* Do we need to invert the charset? */
+static bool           Converted;        /* Some object was converted */
+static bool           Positive;         /* Flag for positive value */
+static bool           NoAssign;         /* Suppress assignment */
+static bool           Invert;           /* Do we need to invert the charset? */
 static unsigned char  CharSet[(1+UCHAR_MAX)/CHAR_BIT];
 static const unsigned char Bits[CHAR_BIT] = {
     0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
@@ -87,7 +87,7 @@ static const unsigned char Bits[CHAR_BIT] = {
 
 
 /*****************************************************************************/
-/*                             Character sets                               */
+/*                              Character sets                               */
 /*****************************************************************************/
 
 
@@ -137,7 +137,7 @@ static unsigned char IsCharInSet (void)
     /* Get the character from C. */
     asm ("lda #$00");
     asm ("ldx %v+1", C);
-    asm ("bne L1");                    /* EOF never is in the set */
+    asm ("bne L1");                     /* EOF never is in the set */
     asm ("lda %v", C);
     FindBit();
     asm ("and %v,x", CharSet);
@@ -165,7 +165,7 @@ static void InvertCharSet (void)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -433,7 +433,7 @@ static void __fastcall__ ScanInt (unsigned char Base)
                 case 'x':
                 case 'X':
                     Base = 16;
-                   Converted = true;
+                    Converted = true;
                     ReadChar ();
                     break;
                 default:
@@ -481,7 +481,7 @@ static char GetFormat (void)
 
 
 int __fastcall__ _scanf (const struct scanfdata* D,
-                        const char* format_, va_list ap_)
+                         const char* format_, va_list ap_)
 /* This is the routine used to do the actual work. It is called from several
  * types of wrappers to implement the actual ISO xxscanf functions.
  */
@@ -519,16 +519,16 @@ Again:
             /* Check for a conversion */
             if (F != '%') {
 
-               /* Check for a match */
-               if ((bool) isspace ((int) F)) {
+                /* Check for a match */
+                if ((bool) isspace ((int) F)) {
 
-                   /* Special white space handling: Any whitespace in the
+                    /* Special white space handling: Any whitespace in the
                      * format string matches any amount of whitespace including
                      * none(!). So this match will never fail.
-                    */
-                   SkipWhite ();
-                   continue;
-               }
+                     */
+                    SkipWhite ();
+                    continue;
+                }
 
 Percent:
                 /* ### Note:  The opposite test (C == F)
@@ -540,27 +540,27 @@ Percent:
                      * and return the number of assigned conversions.
                      */
                     goto NoConv;
-               }
+                }
 
                 /* A match -- get the next input character, and continue. */
                 goto Again;
 
             } else {
 
-               /* A conversion. Skip the percent sign. */
-               /* 0. Check for %% */
-               if (GetFormat () == '%') {
-                   goto Percent;
-               }
+                /* A conversion. Skip the percent sign. */
+                /* 0. Check for %% */
+                if (GetFormat () == '%') {
+                    goto Percent;
+                }
 
-               /* 1. Assignment suppression */
+                /* 1. Assignment suppression */
                 NoAssign = (F == '*');
                 if (NoAssign) {
                     GetFormat ();
                 }
 
                 /* 2. Maximum field width */
-                       Width     = UINT_MAX;
+                Width     = UINT_MAX;
                 HaveWidth = (bool) isdigit (F);
                 if (HaveWidth) {
                     Width = 0;
@@ -594,7 +594,7 @@ Percent:
                             IntBytes = sizeof(char) - 1;
                             ++format;
                         }
-                       GetFormat ();
+                        GetFormat ();
                         break;
 
                     case 'l':
@@ -605,14 +605,14 @@ Percent:
                         /* FALLTHROUGH */
                     case 'j':   /* intmax_t */
                         IntBytes = sizeof(long) - 1;
-                       /* FALLTHROUGH */
+                        /* FALLTHROUGH */
 
                     case 'z':   /* size_t */
                     case 't':   /* ptrdiff_t */
-                       /* Same size as int */
+                        /* Same size as int */
 
                     case 'L':   /* long double - ignore this one */
-                       GetFormat ();
+                        GetFormat ();
                 }
 
                 /* 4. Conversion specifier */
@@ -621,92 +621,92 @@ Percent:
                      * standard says that even the 'u' modifier allows an
                      * optionally signed integer.
                      */
-                   case 'd':   /* Optionally signed decimal integer */
+                    case 'd':   /* Optionally signed decimal integer */
                     case 'u':
-                       ScanInt (10);
-                       break;
-
-                   case 'i':
-                       /* Optionally signed integer with a base */
-                       ScanInt (0);
-                       break;
-
-                   case 'o':
-                       /* Optionally signed octal integer */
-                       ScanInt (8);
-                       break;
-
-                   case 'x':
-                   case 'X':
-                       /* Optionally signed hexadecimal integer */
-                       ScanInt (16);
-                       break;
-
-                   case 's':
-                       /* Whitespace-terminated string */
-                       SkipWhite ();
-                       CheckEnd ();       /* Is it an input failure? */
+                        ScanInt (10);
+                        break;
+
+                    case 'i':
+                        /* Optionally signed integer with a base */
+                        ScanInt (0);
+                        break;
+
+                    case 'o':
+                        /* Optionally signed octal integer */
+                        ScanInt (8);
+                        break;
+
+                    case 'x':
+                    case 'X':
+                        /* Optionally signed hexadecimal integer */
+                        ScanInt (16);
+                        break;
+
+                    case 's':
+                        /* Whitespace-terminated string */
+                        SkipWhite ();
+                        CheckEnd ();       /* Is it an input failure? */
                         Converted = true;  /* No, conversion will succeed */
-                       if (NoAssign == false) {
-                           S = va_arg (ap, char*);
-                       }
-                               while (C != EOF
-                              && (bool) isspace (C) == false
-                              && ++Width) {
-                           if (NoAssign == false) {
-                               *S++ = C;
-                           }
-                           ReadChar ();
-                       }
-                       /* Terminate the string just read */
-                       if (NoAssign == false) {
-                           *S = '\0';
-                           ++Assignments;
-                       }
-                       break;
+                        if (NoAssign == false) {
+                            S = va_arg (ap, char*);
+                        }
+                        while (C != EOF
+                               && (bool) isspace (C) == false
+                               && ++Width) {
+                            if (NoAssign == false) {
+                                *S++ = C;
+                            }
+                            ReadChar ();
+                        }
+                        /* Terminate the string just read */
+                        if (NoAssign == false) {
+                            *S = '\0';
+                            ++Assignments;
+                        }
+                        break;
 
                     case 'c':
-                       /* Fixed-length string, NOT zero-terminated */
-                       if (HaveWidth == false) {
-                           /* No width given, default is 1 */
-                           Width = ~1u;
-                       }
-                       CheckEnd ();       /* Is it an input failure? */
-                       Converted = true;  /* No, at least 1 char. available */
-                       if (NoAssign == false) {
-                           S = va_arg (ap, char*);
-                           /* ## This loop is convenient for us, but it isn't
-                            * standard C.  The standard implies that a failure
-                            * shouldn't put anything into the array argument.
-                            */
+                        /* Fixed-length string, NOT zero-terminated */
+                        if (HaveWidth == false) {
+                            /* No width given, default is 1 */
+                            Width = ~1u;
+                        }
+                        CheckEnd ();       /* Is it an input failure? */
+                        Converted = true;  /* No, at least 1 char. available */
+                        if (NoAssign == false) {
+                            S = va_arg (ap, char*);
+                            /* ## This loop is convenient for us, but it isn't
+                             * standard C.  The standard implies that a failure
+                             * shouldn't put anything into the array argument.
+                             */
                             while (++Width) {
-                               CheckEnd ();  /* Is it a matching failure? */
+                                CheckEnd ();  /* Is it a matching failure? */
                                 *S++ = C;
                                 ReadChar ();
                             }
-                           ++Assignments;
-                       } else {
+                            ++Assignments;
+                        } else {
                             /* Just skip as many chars as given */
                             while (++Width) {
-                               CheckEnd ();  /* Is it a matching failure? */
+                                CheckEnd ();  /* Is it a matching failure? */
                                 ReadChar ();
                             }
                         }
-                       break;
+                        break;
 
                     case '[':
-                       /* String using characters from a set */
+                        /* String using characters from a set */
                         /* Clear the set */
                         memset (CharSet, 0, sizeof (CharSet));
-                       /* Skip the left-bracket, and test for inversion. */
-                       Invert = (GetFormat () == '^');
+                        /* Skip the left-bracket, and test for inversion. */
+                        Invert = (GetFormat () == '^');
                         if (Invert) {
                             GetFormat ();
                         }
                         if (F == ']') {
-                           /* Empty sets aren't allowed; so, a right-bracket
-                            * at the beginning must be a member of the set.
-                            */
+                            /* Empty sets aren't allowed; so, a right-bracket
+                             * at the beginning must be a member of the set.
+                             */
                             AddCharToSet (F);
                             GetFormat ();
                         }
@@ -761,10 +761,10 @@ Percent:
                          */
                         Match = false;
                         if (NoAssign == false) {
-                           S = va_arg (ap, char*);
+                            S = va_arg (ap, char*);
                         }
                         while (IsCharInSet () && ++Width) {
-                           if (NoAssign == false) {
+                            if (NoAssign == false) {
                                 *S++ = C;
                             }
                             Match = Converted = true;
@@ -778,17 +778,17 @@ Percent:
                             *S = '\0';
                             ++Assignments;
                         }
-                       break;
+                        break;
 
                     case 'p':
-                       /* Pointer, general format is 0xABCD.
+                        /* Pointer, general format is 0xABCD.
                          * %hhp --> zero-page pointer
                          * %hp --> near pointer
                          * %lp --> far pointer
-                        */
-                       SkipWhite ();
+                         */
+                        SkipWhite ();
                         if (CHAR (C) != '0') {
-                           goto NoConv;
+                            goto NoConv;
                         }
                         Converted = true;
                         ReadChar ();
@@ -809,32 +809,32 @@ Percent:
                          * (the read-ahead character hasn't been consumed).
                          */
                         IntVal = (long) (CharCount - (C == EOF ? 0u : 1u));
-                       AssignInt ();
+                        AssignInt ();
                         /* Don't count it. */
                         if (NoAssign == false) {
-                           --Assignments;
+                            --Assignments;
                         }
                         break;
 
-                   case 'S':
-                   case 'C':
+                    case 'S':
+                    case 'C':
                         /* Wide characters */
 
-                   case 'a':
-                   case 'A':
-                   case 'e':
-                   case 'E':
-                   case 'f':
-                   case 'F':
-                   case 'g':
-                   case 'G':
-                       /* Optionally signed float */
+                    case 'a':
+                    case 'A':
+                    case 'e':
+                    case 'E':
+                    case 'f':
+                    case 'F':
+                    case 'g':
+                    case 'G':
+                        /* Optionally signed float */
 
                         /* Those 2 groups aren't implemented. */
                         _seterrno (ENOSYS);
                         Assignments = EOF;
-                       PushBack ();
-                       return Assignments;
+                        PushBack ();
+                        return Assignments;
 
                     default:
                         /* Invalid specification */
@@ -853,7 +853,7 @@ NoConv:
          * the number of assignments is returned (the default behaviour).
          */
         if (C == EOF && Converted == false) {
-            Assignments = EOF; /* Special case:  error */
+            Assignments = EOF;  /* Special case:  error */
         }
     }
 
index f8aad5be3fc1b5daf08371da5b190e8ab05a3f52..0a8b09b7dec24741799e971e8a6ff5a74a1ff479 100644 (file)
@@ -27,9 +27,9 @@ typedef int __fastcall__ (*ungetfunc) (int c, void* data);
  * file, so check this when altering the structure.
  */
 struct scanfdata {
-    getfunc    get;    /* Pointer to input routine */
-    ungetfunc  unget;  /* Pointer to pushback routine */
-    void*      data;   /* Pointer to struct. used outside of _scanf() */
+    getfunc     get;    /* Pointer to input routine */
+    ungetfunc   unget;  /* Pointer to pushback routine */
+    void*       data;   /* Pointer to struct. used outside of _scanf() */
 };
 
 
index 4321252becac00be8735d1e132ce0452501465d9..e35c0b342220ead04411655be51ed56182f9dca5 100644 (file)
@@ -6,7 +6,7 @@
 ;             currently only called from asm code.
 ;
 
-       .include        "errno.inc"
+        .include        "errno.inc"
 
 .code
 
index 7f0b59e940d9c171119cf0bb7cd2a9b3187d6b2e..a16aecc52545073b0dffae3605d0b0b0f6c9d1ef 100644 (file)
@@ -4,42 +4,42 @@
 ; void __fastcall__ _swap (void* p, void* q, size_t size);
 ;
 
-       .export         __swap
-       .import         popax
-       .importzp       ptr1, ptr2, ptr3
+        .export         __swap
+        .import         popax
+        .importzp       ptr1, ptr2, ptr3
 
 
-__swap:        eor     #$FF
-        sta    ptr3
+__swap: eor     #$FF
+        sta     ptr3
         txa
         eor     #$FF
-               sta     ptr3+1          ; Save -(size+1) into ptr3
+        sta     ptr3+1          ; Save -(size+1) into ptr3
 
-       jsr     popax           ; Get q
-       sta     ptr2
-       stx     ptr2+1
+        jsr     popax           ; Get q
+        sta     ptr2
+        stx     ptr2+1
 
-       jsr     popax           ; Get p
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax           ; Get p
+        sta     ptr1
+        stx     ptr1+1
 
 ; Prepare for swap
 
-       ldy     #$00
+        ldy     #$00
 
 ; Swap loop
 
 @L1:    inc     ptr3            ; Bump counter low byte
         beq     @L3             ; Branch on overflow
 
-@L2:    lda    (ptr1),y
-       tax
-       lda     (ptr2),y
-       sta     (ptr1),y
-       txa
-       sta     (ptr2),y
-       iny
-       bne     @L1
+@L2:    lda     (ptr1),y
+        tax
+        lda     (ptr2),y
+        sta     (ptr1),y
+        txa
+        sta     (ptr2),y
+        iny
+        bne     @L1
         inc     ptr1+1
         inc     ptr2+1
         bne     @L1             ; Branch always (hopefully)
index 12c28adee2829b9eacda25d35c4b3e7454648690..492e85673b38debbcc31c91db45af6d3345526c4 100644 (file)
@@ -4,22 +4,22 @@
 ; Ullrich von Bassewitz, 16.12.1998
 ;
 
-       .export         __sys
-       .import         jmpvec
-       .importzp       ptr1
+        .export         __sys
+        .import         jmpvec
+        .importzp       ptr1
 
 
-__sys: sta     ptr1
-       stx     ptr1+1          ; Save the pointer to r
+__sys:  sta     ptr1
+        stx     ptr1+1          ; Save the pointer to r
 
 ; Fetch the PC and store it into the jump vector
 
-       ldy     #5
-       lda     (ptr1),y
-       sta     jmpvec+2
-       dey
-       lda     (ptr1),y
-       sta     jmpvec+1
+        ldy     #5
+        lda     (ptr1),y
+        sta     jmpvec+2
+        dey
+        lda     (ptr1),y
+        sta     jmpvec+1
 
 ; Remember the flags so we can restore them to a known state after calling the
 ; routine
@@ -29,51 +29,51 @@ __sys:      sta     ptr1
 ; Get the flags, keep the state of bit 4 and 5 using the other flags from
 ; the flags value passed by the caller. Push the new flags and push A.
 
-       dey
+        dey
         php
         pla                     ; Current flags -> A
         eor     (ptr1),y
         and     #%00110000
         eor     (ptr1),y
-       pha                     ; Push new flags value
-       ldy     #0
-       lda     (ptr1),y
-       pha
+        pha                     ; Push new flags value
+        ldy     #0
+        lda     (ptr1),y
+        pha
 
 ; Get and assign X and Y
 
-       iny
-       lda     (ptr1),y
-       tax
-       iny
-       lda     (ptr1),y
-       tay
+        iny
+        lda     (ptr1),y
+        tax
+        iny
+        lda     (ptr1),y
+        tay
 
 ; Set a and the flags, call the machine code routine
 
-       pla
-       plp
-       jsr     jmpvec
+        pla
+        plp
+        jsr     jmpvec
 
 ; Back from the routine. Save the flags and A.
 
-       php
-       pha
+        php
+        pha
 
 ; Put the register values into the regs structure
 
-       tya
-       ldy     #2
-       sta     (ptr1),y
-       dey
-       txa
-       sta     (ptr1),y
-       dey
-       pla
-       sta     (ptr1),y
-       ldy     #3
-       pla
-       sta     (ptr1),y
+        tya
+        ldy     #2
+        sta     (ptr1),y
+        dey
+        txa
+        sta     (ptr1),y
+        dey
+        pla
+        sta     (ptr1),y
+        ldy     #3
+        pla
+        sta     (ptr1),y
 
 ; Restore the old flags value
 
@@ -81,5 +81,5 @@ __sys:        sta     ptr1
 
 ; Done
 
-       rts
+        rts
 
index 273ec1c9a83ae80e27c47c38f3d65862b9081b0c..5daa8a14acb8c355cc3b98e5fe19d4b46b77c21b 100644 (file)
@@ -4,13 +4,13 @@
 ; int abs (int x);
 ;
 
-       .export         _abs
-       .import         negax
+        .export         _abs
+        .import         negax
 
-_abs:  cpx     #$00            ; test hi byte
-       bpl     L1
-       jmp     negax           ; Negate if negative
-L1:    rts
+_abs:   cpx     #$00            ; test hi byte
+        bpl     L1
+        jmp     negax           ; Negate if negative
+L1:     rts
 
 
 
index 7bb063306e83c8121f5b7395c4a946738b743fe9..6edfd4a5dc220806c9a69191de704d68dceab611 100644 (file)
@@ -4,44 +4,44 @@
 ; int atexit (void (*f) (void));
 ;
 
-       .export         _atexit
-               .destructor     doatexit, 17
-       .import         callax
+        .export         _atexit
+        .destructor     doatexit, 17
+        .import         callax
 
-       .include        "errno.inc"
+        .include        "errno.inc"
 
         .macpack        cpu
 
 ; ---------------------------------------------------------------------------
 
-.proc  _atexit
+.proc   _atexit
 
-       ldy     exitfunc_index
-               cpy     #exitfunc_max           ; Slot available?
-               beq     @Error                  ; Jump if no
+        ldy     exitfunc_index
+        cpy     #exitfunc_max           ; Slot available?
+        beq     @Error                  ; Jump if no
 
 ; Enter the function into the table
 
-       sta     exitfunc_table,y
-       iny
-       txa
-       sta     exitfunc_table,y
-       iny
-       sty     exitfunc_index
+        sta     exitfunc_table,y
+        iny
+        txa
+        sta     exitfunc_table,y
+        iny
+        sty     exitfunc_index
 
 ; Done, return zero
 
-       lda     #0
-       tax
-       rts
+        lda     #0
+        tax
+        rts
 
 ; Error, no space left
 
-@Error:        lda     #ENOSPC         ; No space left
+@Error: lda     #ENOSPC         ; No space left
         jsr     __seterrno
-               ldx     #$FF            ; Return -1
-       txa
-       rts
+        ldx     #$FF            ; Return -1
+        txa
+        rts
 
 .endproc
 
 
 .code
 
-.proc  doatexit
-
-               ldy     exitfunc_index          ; Get index
-               beq     @L9                     ; Jump if done
-       dey
-       lda     exitfunc_table,y
-       tax
-       dey
-       lda     exitfunc_table,y
-       sty     exitfunc_index
-               jsr     callax                  ; Call the function
+.proc   doatexit
+
+        ldy     exitfunc_index          ; Get index
+        beq     @L9                     ; Jump if done
+        dey
+        lda     exitfunc_table,y
+        tax
+        dey
+        lda     exitfunc_table,y
+        sty     exitfunc_index
+        jsr     callax                  ; Call the function
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-       bra     doatexit
+        bra     doatexit
 .else
-       jmp     doatexit                ; Next one
+        jmp     doatexit                ; Next one
 .endif
 
-@L9:   rts
+@L9:    rts
 
 .endproc
 
@@ -77,8 +77,8 @@
 ; ---------------------------------------------------------------------------
 
 .bss
-exitfunc_index:        .res    1       ; Index into table, inc'ed by 2
-exitfunc_table:        .res    10      ; 5 exit functions
-exitfunc_max   = <(* - exitfunc_table)
+exitfunc_index: .res    1       ; Index into table, inc'ed by 2
+exitfunc_table: .res    10      ; 5 exit functions
+exitfunc_max    = <(* - exitfunc_table)
 
 
index d55ddb9e8b71c04654c2e7a445b9238d923a58ec..cb598f71962985d34d67a1c566879a10e0b68998 100644 (file)
@@ -5,9 +5,9 @@
 ; long atol (const char* s);
 ;
 
-       .export         _atoi, _atol
-               .import         negeax, __ctype
-       .importzp       sreg, ptr1, ptr2, tmp1
+        .export         _atoi, _atol
+        .import         negeax, __ctype
+        .importzp       sreg, ptr1, ptr2, tmp1
 
         .include        "ctype.inc"
 
 ;
 
 _atoi:
-_atol: sta     ptr1            ; Store s
-       stx     ptr1+1
-       ldy     #0
-               sty     ptr2
-       sty     ptr2+1          ; initial value (32 bit)
-       sty     sreg
-       sty     sreg+1
+_atol:  sta     ptr1            ; Store s
+        stx     ptr1+1
+        ldy     #0
+        sty     ptr2
+        sty     ptr2+1          ; initial value (32 bit)
+        sty     sreg
+        sty     sreg+1
 
 ; Skip whitespace
 
-L1:    lda     (ptr1),y
-       tax
-       lda     __ctype,x       ; get character classification
-               and     #CT_SPACE_TAB   ; tab or space?
-       beq     L2              ; jump if no
-       iny
-       bne     L1
-       inc     ptr1+1
-       bne     L1              ; branch always
+L1:     lda     (ptr1),y
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_SPACE_TAB   ; tab or space?
+        beq     L2              ; jump if no
+        iny
+        bne     L1
+        inc     ptr1+1
+        bne     L1              ; branch always
 
 ; Check for a sign. The character is in X
 
-L2:    txa                     ; get char
-       ldx     #0              ; flag: positive
-       cmp     #'+'            ; ### portable?
-               beq     L3
-       cmp     #'-'            ; ### portable?
-       bne     L5
-       dex                     ; flag: negative
+L2:     txa                     ; get char
+        ldx     #0              ; flag: positive
+        cmp     #'+'            ; ### portable?
+        beq     L3
+        cmp     #'-'            ; ### portable?
+        bne     L5
+        dex                     ; flag: negative
 L3:     iny
-       bne     L5
-       inc     ptr1+1
+        bne     L5
+        inc     ptr1+1
 
 ; Store the sign flag and setup for conversion
 
-L5:    stx     tmp1            ; remember sign flag
+L5:     stx     tmp1            ; remember sign flag
 
-L6:    lda     (ptr1),y        ; get next char
-       tax
-       lda     __ctype,x       ; get character classification
-       and     #$04            ; digit?
-               beq     L8              ; done
+L6:     lda     (ptr1),y        ; get next char
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #$04            ; digit?
+        beq     L8              ; done
 
 ; Multiply ptr2 (the converted value) by 10
 
-               jsr     mul2            ; * 2
-
-       lda     sreg+1
-       pha
-       lda     sreg
-       pha
-       lda     ptr2+1
-       pha
-       lda     ptr2
-       pha                     ; Save value
-
-               jsr     mul2            ; * 4
-               jsr     mul2            ; * 8
-
-       clc
-       pla
-       adc     ptr2
-       sta     ptr2
-       pla
-       adc     ptr2+1
-       sta     ptr2+1
-       pla
-       adc     sreg
-       sta     sreg
-       pla
-       adc     sreg+1
-       sta     sreg+1          ; x*2 + x*8 = x*10
+        jsr     mul2            ; * 2
+
+        lda     sreg+1
+        pha
+        lda     sreg
+        pha
+        lda     ptr2+1
+        pha
+        lda     ptr2
+        pha                     ; Save value
+
+        jsr     mul2            ; * 4
+        jsr     mul2            ; * 8
+
+        clc
+        pla
+        adc     ptr2
+        sta     ptr2
+        pla
+        adc     ptr2+1
+        sta     ptr2+1
+        pla
+        adc     sreg
+        sta     sreg
+        pla
+        adc     sreg+1
+        sta     sreg+1          ; x*2 + x*8 = x*10
 
 ; Get the character back and add it
 
-       txa                     ; get char back
-       sec
-       sbc     #'0'            ; make numeric value
-       clc
-       adc     ptr2
-       sta     ptr2
-       bcc     L7
-       inc     ptr2+1
-       bne     L7
-       inc     sreg
-       bne     L7
-       inc     sreg+1
+        txa                     ; get char back
+        sec
+        sbc     #'0'            ; make numeric value
+        clc
+        adc     ptr2
+        sta     ptr2
+        bcc     L7
+        inc     ptr2+1
+        bne     L7
+        inc     sreg
+        bne     L7
+        inc     sreg+1
 
 ; Next character
 
-L7:    iny
-       bne     L6
-       inc     ptr1+1
-       bne     L6
+L7:     iny
+        bne     L6
+        inc     ptr1+1
+        bne     L6
 
 ; Conversion done. Load the low 16 bit into A/X
 
@@ -118,8 +118,8 @@ L8:     lda     ptr2
 
 ; Negate the value if necessary, otherwise we're done
 
-       ldy     tmp1            ; sign
-       beq     L9              ; Branch if positive
+        ldy     tmp1            ; sign
+        beq     L9              ; Branch if positive
 
 ; Negate the 32 bit value in ptr2/sreg
 
@@ -129,10 +129,10 @@ L8:     lda     ptr2
 ; Helper functions
 ;
 
-mul2:   asl    ptr2
-       rol     ptr2+1
-       rol     sreg
-       rol     sreg+1          ; * 2
+mul2:   asl     ptr2
+        rol     ptr2+1
+        rol     sreg
+        rol     sreg+1          ; * 2
 L9:     rts
 
 
index bc609be2cdd6721963cbf4f37815890854a296b2..7d64dbbe9f5a0753317a22b124023b9cac8d31db 100644 (file)
@@ -22,23 +22,23 @@ void* __fastcall__ bsearch (const void* key, const void* base, size_t n,
     /* Binary search */
     while (first <= last) {
 
-       /* Set current to mid of range */
-       current = (last + first) / 2;
+        /* Set current to mid of range */
+        current = (last + first) / 2;
 
-       /* Do a compare */
-               result = cmp ((void*) (((int) base) + current*size), key);
+        /* Do a compare */
+        result = cmp ((void*) (((int) base) + current*size), key);
         if (result < 0) {
-           first = current + 1;
-       } else {
-           last = current - 1;
-           if (result == 0) {
-               /* Found one entry that matches the search key. However there may be
-                * more than one entry with the same key value and ANSI guarantees
-                * that we return the first of a row of items with the same key.
-                */
-               found = 1;
-           }
-       }
+            first = current + 1;
+        } else {
+            last = current - 1;
+            if (result == 0) {
+                /* Found one entry that matches the search key. However there may be
+                 * more than one entry with the same key value and ANSI guarantees
+                 * that we return the first of a row of items with the same key.
+                 */
+                found = 1;
+            }
+        }
     }
 
     /* Did we find the entry? */
index 2a66a7d1bab5f75c5903687a76ed90e252064349..6e3e1bd3f816bc2027ae8091076964cbd73daf75 100644 (file)
@@ -6,49 +6,49 @@
 ; void* __fastcall__ calloc (size_t count, size_t size);
 ;
 
-       .export _calloc
-       .import _malloc, __bzero
-       .import tosumulax, pushax
+        .export _calloc
+        .import _malloc, __bzero
+        .import tosumulax, pushax
 
 
 ; -------------------------------------------------------------------------
 
-.proc  _calloc
+.proc   _calloc
 
 ; We have the first argument in a/x and the second on the stack. Calling
 ; tosumulax will give the product of both in a/x.
 
-       jsr     tosumulax
+        jsr     tosumulax
 
 ; Save size for later
 
-       sta     Size
-       stx     Size+1
+        sta     Size
+        stx     Size+1
 
 ; malloc() is a fastcall function, so we do already have the argument in
 ; the right place
 
-        jsr    _malloc
+        jsr     _malloc
 
 ; Check for a NULL pointer
 
-       cpx     #0
-       bne     ClearBlock
-       cmp     #0
-               bne     ClearBlock
+        cpx     #0
+        bne     ClearBlock
+        cmp     #0
+        bne     ClearBlock
 
 ; We have a NULL pointer, bail out
 
-       rts
+        rts
 
 ; No NULL pointer, clear the block. _bzero will return a pointer to the
 ; block which is exactly what we want.
 
 ClearBlock:
-        jsr    pushax                  ; ptr
-       lda     Size
-       ldx     Size+1                  ; Size
-       jmp     __bzero
+        jsr     pushax                  ; ptr
+        lda     Size
+        ldx     Size+1                  ; Size
+        jmp     __bzero
 
 .endproc
 
@@ -57,7 +57,7 @@ ClearBlock:
 
 .bss
 
-Size:  .res    2
+Size:   .res    2
 
 
 
index 74394672b1c799039ab1810e30f84ce885bb3131..9c30984b8b572f145d5a3745fe22e0b893be815e 100644 (file)
@@ -4,7 +4,7 @@
 ; CC65 library: 32by16 => 16 signed division
 ;
 
-               .export         _cc65_idiv32by16r16
+        .export         _cc65_idiv32by16r16
         .import         idiv32by16r16, incsp4
 
         .include        "zeropage.inc"
index 23fcbbe178641ff81ff688fd0d041c6b26e5e06e..9cad63bd4518b95ff62255aafaee3bba05deea61 100644 (file)
@@ -4,7 +4,7 @@
 ; CC65 library: 32by16 => 16 unsigned division
 ;
 
-               .export         _cc65_udiv32by16r16
+        .export         _cc65_udiv32by16r16
         .import         udiv32by16r16m, incsp4
 
         .include        "zeropage.inc"
index b0a9987fdf887bda61d55bd93c7073a29ee5da4a..fec0204eab99c6342c0cd1d087355ea54dd9e1ea 100644 (file)
@@ -4,21 +4,21 @@
 ; Copy the data segment from the LOAD to the RUN location
 ;
 
-       .export         copydata
-       .import         __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
-       .importzp       ptr1, ptr2, tmp1
+        .export         copydata
+        .import         __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
+        .importzp       ptr1, ptr2, tmp1
 
 
 copydata:
-       lda     #<__DATA_LOAD__         ; Source pointer
-       sta     ptr1
-       lda     #>__DATA_LOAD__
-       sta     ptr1+1
+        lda     #<__DATA_LOAD__         ; Source pointer
+        sta     ptr1
+        lda     #>__DATA_LOAD__
+        sta     ptr1+1
 
-       lda     #<__DATA_RUN__          ; Target pointer
-       sta     ptr2
-       lda     #>__DATA_RUN__
-       sta     ptr2+1
+        lda     #<__DATA_RUN__          ; Target pointer
+        sta     ptr2
+        lda     #>__DATA_RUN__
+        sta     ptr2+1
 
         ldx     #<~__DATA_SIZE__
         lda     #>~__DATA_SIZE__        ; Use -(__DATASIZE__+1)
@@ -30,13 +30,13 @@ copydata:
 @L1:    inx
         beq     @L3
 
-@L2:    lda    (ptr1),y
-        sta    (ptr2),y
+@L2:    lda     (ptr1),y
+        sta     (ptr2),y
         iny
         bne     @L1
-        inc    ptr1+1
-        inc    ptr2+1                  ; Bump pointers
-        bne    @L1                     ; Branch always (hopefully)
+        inc     ptr1+1
+        inc     ptr2+1                  ; Bump pointers
+        bne     @L1                     ; Branch always (hopefully)
 
 ; Bump the high counter byte
 
index d15df3c9aa1e91e3fcab9a0ac7363c8ac02ecf8b..ace1c09ffae8687f4642aaff978c914f7f4fff76 100644 (file)
@@ -4,7 +4,7 @@
 ; char* __fastcall__ ctime (time_t* timep);
 ;
 
-       .export         _ctime
+        .export         _ctime
         .import         _localtime, _asctime
 
 
index 034394a9a552555779f37a356ddf65ecbdb5ba2c..b532f6f95c76ff8e3bc0506441186182b2a8ceed 100644 (file)
 ; div_t __fastcall__ div (int numer, int denom);
 ;
 
-       .export         _div
+        .export         _div
 
-       .import         tosdivax, negax
-       .importzp       sreg, ptr1, tmp1
+        .import         tosdivax, negax
+        .importzp       sreg, ptr1, tmp1
 
-_div:  jsr     tosdivax        ; Division-operator does most of the work
-        sta     sreg           ; Quotient is in sreg
+_div:   jsr     tosdivax        ; Division-operator does most of the work
+        sta     sreg            ; Quotient is in sreg
         stx     sreg+1
-        lda     ptr1           ; Unsigned remainder is in ptr1
+        lda     ptr1            ; Unsigned remainder is in ptr1
         ldx     ptr1+1
 
 ; Adjust the sign of the remainder.
 ; It must be the same as the sign of the dividend.
 ;
-       bit     tmp1            ; Load high-byte of left argument
-       bpl     Pos             ; Jump if sign-of-result is positive
-       jmp     negax           ; Result is negative, adjust the sign
+        bit     tmp1            ; Load high-byte of left argument
+        bpl     Pos             ; Jump if sign-of-result is positive
+        jmp     negax           ; Result is negative, adjust the sign
 
-Pos:   rts
+Pos:    rts
 
index 2ab1ad86beeabec2f00c455ae7e3bd0794988945..5c2bf288ec3a37bce06dc5e0585c55f80645eb58 100644 (file)
@@ -43,5 +43,5 @@ ok:     rts
 .bss
 
 __errno:
-       .word   0
+        .word   0
 
index fc8d0f77682bd07b37ce205b02186ca4d23c2abb..43559ce8b92bb268caa575dc10777a3008ccf26d 100644 (file)
@@ -14,7 +14,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -29,8 +29,8 @@ FILE* __fastcall__ fdopen (int handle, const char* /*mode*/)
         f->f_fd    = handle;
         f->f_flags = _FOPEN;
     } else {
-               /* No slots */
-               _seterrno (EMFILE);      /* Too many files */
+        /* No slots */
+        _seterrno (EMFILE);      /* Too many files */
     }
 
     /* Return the file descriptor */
index 7e6a4db9cac2a16e63663e7170deb6726eb076fe..c873cd1d052692f5e0ba75b02ea65879eb3bfead 100644 (file)
@@ -14,7 +14,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -25,7 +25,7 @@ int __fastcall__ fgetc (register FILE* f)
 
     /* Check if the file is open or if there is an error condition */
     if ((f->f_flags & _FOPEN) == 0 || (f->f_flags & (_FERROR | _FEOF)) != 0) {
-       return EOF;
+        return EOF;
     }
 
     /* If we have a pushed back character, return it */
@@ -38,18 +38,18 @@ int __fastcall__ fgetc (register FILE* f)
     switch (read (f->f_fd, &c, 1)) {
 
         case -1:
-           /* Error */
-           f->f_flags |= _FERROR;
-           return EOF;
+            /* Error */
+            f->f_flags |= _FERROR;
+            return EOF;
 
         case 0:
-           /* EOF */
-           f->f_flags |= _FEOF;
-           return EOF;
+            /* EOF */
+            f->f_flags |= _FEOF;
+            return EOF;
 
         default:
-           /* Char read */
-           return c;
+            /* Char read */
+            return c;
 
     }
 }
index e3851f873444949f0461f76d3f5aa71c0e916f18..796792afa8e6a5b46dd5fd1db06a8ac41e94d5ce 100644 (file)
@@ -11,7 +11,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d2e2c72e4bb36082d00c87ec655608f23df9e76d..259f3904e0a927df841f00f7e2e5ff89ef1febd0 100644 (file)
@@ -13,7 +13,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -33,28 +33,28 @@ char* __fastcall__ fgets (char* s, unsigned size, register FILE* f)
     i = 0;
     while (--size) {
 
-               /* Get next character */
-               if ((c = fgetc (f)) == EOF) {
-                   /* Error or EOF */
-                   if ((f->f_flags & _FERROR) != 0 || i == 0) {
-                       /* ERROR or EOF on first char */
+        /* Get next character */
+        if ((c = fgetc (f)) == EOF) {
+            /* Error or EOF */
+            if ((f->f_flags & _FERROR) != 0 || i == 0) {
+                /* ERROR or EOF on first char */
                 *p = '\0';
-                       return 0;
-                   } else {
-                       /* EOF with data already read */
+                return 0;
+            } else {
+                /* EOF with data already read */
                 break;
-           }
-               }
+            }
+        }
 
-               /* One char more */
-               *p = c;
+        /* One char more */
+        *p = c;
         ++p;
         ++i;
 
-       /* Stop at end of line */
-       if ((char)c == '\n') {
-           break;
-       }
+        /* Stop at end of line */
+        if ((char)c == '\n') {
+            break;
+        }
     }
 
     /* Terminate the string */
index 481be417644f7b88901ba226368f23bdcba3b898..156a80dbcde58e02cb0b73580e52768e60eabc07 100644 (file)
@@ -4,9 +4,9 @@
 ; Several small file stream functions
 ;
 
-       .export         _clearerr, _feof, _ferror, _fileno, _fflush
-       .import         return0
-       .importzp       ptr1
+        .export         _clearerr, _feof, _ferror, _fileno, _fflush
+        .import         return0
+        .importzp       ptr1
 
         .include        "_file.inc"
         .include        "errno.inc"
 ; and zero flag set in case of an error.
 
 .proc   getf
-        sta            ptr1
-       stx     ptr1+1
-       ldy     #_FILE::f_flags
-       lda     (ptr1),y        ; get f->f_flags
-       and     #_FOPEN         ; file open?
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #_FILE::f_flags
+        lda     (ptr1),y        ; get f->f_flags
+        and     #_FOPEN         ; file open?
+        rts
 .endproc
 
 ;
 ;
 
 .proc   _clearerr
-               jsr     getf
-               beq     err
-               lda     (ptr1),y
-               and     #<~(_FEOF | _FERROR)
-               sta     (ptr1),y
-err:   rts
+        jsr     getf
+        beq     err
+        lda     (ptr1),y
+        and     #<~(_FEOF | _FERROR)
+        sta     (ptr1),y
+err:    rts
 .endproc
 
 ;
@@ -42,12 +42,12 @@ err:        rts
 ;
 
 .proc   _feof
-       jsr     getf
+        jsr     getf
         beq     @L1             ; Return 0 on error
-       lda     (ptr1),y
-       and     #_FEOF
-@L1:    ldx    #0
-       rts
+        lda     (ptr1),y
+        and     #_FEOF
+@L1:    ldx     #0
+        rts
 .endproc
 
 ;
@@ -55,12 +55,12 @@ err:        rts
 ;
 
 .proc   _ferror
-       jsr     getf
+        jsr     getf
         beq     @L1             ; Return 0 on error
-       lda     (ptr1),y
-       and     #_FERROR
-@L1:    ldx    #0
-       rts
+        lda     (ptr1),y
+        and     #_FERROR
+@L1:    ldx     #0
+        rts
 .endproc
 
 ;
@@ -68,12 +68,12 @@ err:        rts
 ;
 
 .proc   _fileno
-       jsr     getf
+        jsr     getf
         beq     error
-       ldy     #_FILE::f_fd
-       lda     (ptr1),y
-       ldx     #0
-       rts
+        ldy     #_FILE::f_fd
+        lda     (ptr1),y
+        ldx     #0
+        rts
 
 ; If the file is not valid, fileno must set errno and return -1
 
@@ -88,6 +88,6 @@ error:  lda     #<EBADF
 ; int __fastcall__ fflush (FILE* f);
 ;
 
-_fflush        = return0
+_fflush = return0
 
 
index 0ef37bc508934e6e52fcbf5c36631adae5247732..1582e65213f66b54c2cd9758c65071fe382d13fc 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 1.12.2000
 ;
 
-       .export         _fprintf
-       .import         addysp, decsp4, _vfprintf
-       .importzp       sp, ptr1
+        .export         _fprintf
+        .import         addysp, decsp4, _vfprintf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; Code
@@ -24,7 +24,7 @@ ParamSize:    .res    1               ; Number of parameter bytes
 
 
 _fprintf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; We have to push f and format, both in the order they already have on stack.
 ; To make this somewhat more efficient, we will create space on the stack and
@@ -33,37 +33,37 @@ _fprintf:
 ; of the fixed arguments, this will allow us to calculate the pointer to the
 ; fixed size arguments easier (they're just ParamSize bytes away).
 
-       jsr     decsp4
+        jsr     decsp4
 
 ; Calculate a pointer to the Format argument
 
-       lda     ParamSize
-       add     sp
-       sta     ptr1
-       ldx     sp+1
-       bcc     @L1
-       inx
-@L1:   stx     ptr1+1
+        lda     ParamSize
+        add     sp
+        sta     ptr1
+        ldx     sp+1
+        bcc     @L1
+        inx
+@L1:    stx     ptr1+1
 
 ; Now copy both, f and format
 
-       ldy     #4-1
-@L2:   lda     (ptr1),y
-       sta     (sp),y
-       dey
-       bpl     @L2
+        ldy     #4-1
+@L2:    lda     (ptr1),y
+        sta     (sp),y
+        dey
+        bpl     @L2
 
 ; Load va_list (last and __fastcall__ parameter to vfprintf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vfprintf
 
-       jsr     _vfprintf
+        jsr     _vfprintf
 
 ; Cleanup the stack. We will return what we got from vfprintf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
index 6d5f37e201d5e1d3c1dea3c9e45683a1e8f4c06f..73d4860a7c09720098b5a7669dd6f4bbf7e4e3d6 100644 (file)
@@ -13,7 +13,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -22,15 +22,15 @@ int __fastcall__ fputc (int c, register FILE* f)
 {
     /* Check if the file is open or if there is an error condition */
     if ((f->f_flags & _FOPEN) == 0 || (f->f_flags & (_FERROR | _FEOF)) != 0) {
-       goto ReturnEOF;
+        goto ReturnEOF;
     }
 
     /* Write the byte */
     if (write (f->f_fd, &c, 1) != 1) {
-       /* Error */
-       f->f_flags |= _FERROR;
+        /* Error */
+        f->f_flags |= _FERROR;
 ReturnEOF:
-       return EOF;
+        return EOF;
     }
 
     /* Return the byte written */
index c4c87eaa3a6fe3d3e85928ef58f101697e7f17e1..26c20cbe243944fef3bbb32df4fe38f1403f4011 100644 (file)
@@ -17,7 +17,7 @@ int __fastcall__ fputs (const char* s, register FILE* f)
 {
     /* Check if the file is open or if there is an error condition */
     if ((f->f_flags & _FOPEN) == 0 || (f->f_flags & (_FERROR | _FEOF)) != 0) {
-       return EOF;
+        return EOF;
     }
 
     /* Write the string */
index 8e065ff0b9fcb857e4db5e48b89f48f5cbe09974..91d69298539d65fa5be31664da0ce46235177740 100644 (file)
 
 ; Save the file pointer into the register bank
 
-       sta     file
-       stx     file+1
+        sta     file
+        stx     file+1
 
 ; Check if the file is open
 
-       ldy     #_FILE::f_flags
-       lda     (file),y
-       and     #_FOPEN                 ; Is the file open?
-               beq     @L1                     ; Branch if no
+        ldy     #_FILE::f_flags
+        lda     (file),y
+        and     #_FOPEN                 ; Is the file open?
+        beq     @L1                     ; Branch if no
 
 ; Check if the stream is in an error state
 
-        lda    (file),y                ; get file->f_flags again
-       and     #_FERROR
-       beq     @L2
+        lda     (file),y                ; get file->f_flags again
+        and     #_FERROR
+        beq     @L2
 
 ; File not open or in error state
 
-@L1:    lda            #EINVAL
+@L1:    lda     #EINVAL
         jsr     __seterrno              ; Set __errno, return zero in A
         tax                             ; a/x = 0
         jmp     @L99                    ; Bail out
 ; Data
 
 .bss
-save:          .res    2
+save:   .res    2
 pb:     .res    1
 
index 4ac96f1af67cc779d66252aca2440edd16280d20..b6b77aae81eea4a2f1d10e473182753964767661 100644 (file)
@@ -41,7 +41,7 @@
 ;                 /* Remove the last block */
 ;                 _hptr = (unsigned*) (((int) _hptr) - f->size);
 ;                 if (_hlast = f->prev) {
-;                  /* Block before is now last block */
+;                   /* Block before is now last block */
 ;                     f->prev->next = 0;
 ;                 } else {
 ;                     /* The freelist is empty now */
 ;
 ;     } else {
 ;
-;              /* Not at heap top, enter the block into the free list */
-;              _hadd (b, size);
+;               /* Not at heap top, enter the block into the free list */
+;       _hadd (b, size);
 ;
 ;     }
 ; }
 ;
 
-       .importzp       ptr1, ptr2, ptr3, ptr4
-       .export         _free, heapadd
+        .importzp       ptr1, ptr2, ptr3, ptr4
+        .export         _free, heapadd
 
         .include        "_heap.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ;-----------------------------------------------------------------------------
 ; Code
 
-_free:         sta     ptr2
-       stx     ptr2+1                  ; Save block
+_free:  sta     ptr2
+        stx     ptr2+1                  ; Save block
 
 ; Is the argument NULL? If so, bail out.
 
-       ora     ptr2+1                  ; Is the argument NULL?
-               bne     @L1                     ; Jump if no
+        ora     ptr2+1                  ; Is the argument NULL?
+        bne     @L1                     ; Jump if no
         rts                             ; Bail out if yes
 
 ; There's a pointer below the user space that points to the real start of the
@@ -84,7 +84,7 @@ _free:        sta     ptr2
 ; block. Remember the block size in ptr1.
 
 @L1:    dec     ptr2+1                  ; Decrement high pointer byte
-       ldy     #$FF
+        ldy     #$FF
         lda     (ptr2),y                ; High byte of real block address
         tax
         dey
@@ -93,91 +93,91 @@ _free:      sta     ptr2
         sta     ptr2                    ; Set ptr2 to start of real block
 
         ldy     #usedblock::size+1
-       lda     (ptr2),y                ; High byte of size
-               sta     ptr1+1                  ; Save it
-       dey
-       lda     (ptr2),y
-       sta     ptr1
+        lda     (ptr2),y                ; High byte of size
+        sta     ptr1+1                  ; Save it
+        dey
+        lda     (ptr2),y
+        sta     ptr1
 
 ; Check if the block is on top of the heap
 
-       add     ptr2
-       tay
-       lda     ptr2+1
-       adc     ptr1+1
-       cpy     __heapptr
-       bne     heapadd                 ; Add to free list
-       cmp     __heapptr+1
-               bne     heapadd
+        add     ptr2
+        tay
+        lda     ptr2+1
+        adc     ptr1+1
+        cpy     __heapptr
+        bne     heapadd                 ; Add to free list
+        cmp     __heapptr+1
+        bne     heapadd
 
 ; The pointer is located at the heap top. Lower the heap top pointer to
 ; release the block.
 
-@L3:   lda     ptr2
-       sta     __heapptr
-       lda     ptr2+1
-       sta     __heapptr+1
+@L3:    lda     ptr2
+        sta     __heapptr
+        lda     ptr2+1
+        sta     __heapptr+1
 
 ; Check if the last block in the freelist is now at heap top. If so, remove
 ; this block from the freelist.
 
-       lda     __heaplast
-       sta     ptr1
-       ora     __heaplast+1
-               beq     @L9                     ; Jump if free list empty
-       lda     __heaplast+1
-       sta     ptr1+1                  ; Pointer to last block now in ptr1
-
-       ldy     #freeblock::size
-               lda     (ptr1),y                ; Low byte of block size
-               add     ptr1
-       tax
-       iny                             ; High byte of block size
-       lda     (ptr1),y
-       adc     ptr1+1
-
-       cmp     __heapptr+1
-               bne     @L9                     ; Jump if last block not on top of heap
-       cpx     __heapptr
-       bne     @L9                     ; Jump if last block not on top of heap
+        lda     __heaplast
+        sta     ptr1
+        ora     __heaplast+1
+        beq     @L9                     ; Jump if free list empty
+        lda     __heaplast+1
+        sta     ptr1+1                  ; Pointer to last block now in ptr1
+
+        ldy     #freeblock::size
+        lda     (ptr1),y                ; Low byte of block size
+        add     ptr1
+        tax
+        iny                             ; High byte of block size
+        lda     (ptr1),y
+        adc     ptr1+1
+
+        cmp     __heapptr+1
+        bne     @L9                     ; Jump if last block not on top of heap
+        cpx     __heapptr
+        bne     @L9                     ; Jump if last block not on top of heap
 
 ; Remove the last block
 
-       lda     ptr1
-       sta     __heapptr
-       lda     ptr1+1
-       sta     __heapptr+1
+        lda     ptr1
+        sta     __heapptr
+        lda     ptr1+1
+        sta     __heapptr+1
 
 ; Correct the next pointer of the now last block
 
-       ldy     #freeblock::prev+1      ; Offset of ->prev field
-               lda     (ptr1),y
-       sta     ptr2+1                  ; Remember f->prev in ptr2
-       sta     __heaplast+1
-       dey
-       lda     (ptr1),y
-       sta     ptr2                    ; Remember f->prev in ptr2
-       sta     __heaplast
-       ora     __heaplast+1            ; -> prev == 0?
-               bne     @L8                     ; Jump if free list not empty
+        ldy     #freeblock::prev+1      ; Offset of ->prev field
+        lda     (ptr1),y
+        sta     ptr2+1                  ; Remember f->prev in ptr2
+        sta     __heaplast+1
+        dey
+        lda     (ptr1),y
+        sta     ptr2                    ; Remember f->prev in ptr2
+        sta     __heaplast
+        ora     __heaplast+1            ; -> prev == 0?
+        bne     @L8                     ; Jump if free list not empty
 
 ; Free list is now empty (A = 0)
 
-       sta     __heapfirst
-       sta     __heapfirst+1
+        sta     __heapfirst
+        sta     __heapfirst+1
 
 ; Done
 
-@L9:   rts
+@L9:    rts
 
 ; Block before is now last block. ptr2 points to f->prev.
 
-@L8:   lda     #$00
-       dey                             ; Points to high byte of ->next
-               sta     (ptr2),y
-       dey                             ; Low byte of f->prev->next
-       sta     (ptr2),y
-       rts                             ; Done
+@L8:    lda     #$00
+        dey                             ; Points to high byte of ->next
+        sta     (ptr2),y
+        dey                             ; Low byte of f->prev->next
+        sta     (ptr2),y
+        rts                             ; Done
 
 ; The block is not on top of the heap. Add it to the free list. This was
 ; formerly a separate function called __hadd that was implemented in C as
@@ -196,81 +196,81 @@ _free:    sta     ptr2
 ;
 ;     if (size >= sizeof (struct freeblock)) {
 ;
-;      /* Set the admin data */
-;      f = (struct freeblock*) mem;
-;      f->size = size;
+;       /* Set the admin data */
+;       f = (struct freeblock*) mem;
+;       f->size = size;
 ;
-;      /* Check if the freelist is empty */
-;      if (_hfirst == 0) {
+;       /* Check if the freelist is empty */
+;       if (_hfirst == 0) {
 ;
-;          /* The freelist is empty until now, insert the block */
-;          f->prev = 0;
-;          f->next = 0;
-;          _hfirst = f;
-;          _hlast  = f;
+;           /* The freelist is empty until now, insert the block */
+;           f->prev = 0;
+;           f->next = 0;
+;           _hfirst = f;
+;           _hlast  = f;
 ;
-;      } else {
+;       } else {
 ;
-;          /* We have to search the free list. As we are doing so, we check
-;           * if it is possible to combine this block with another already
-;           * existing block. Beware: The block may be the "missing link"
+;           /* We have to search the free list. As we are doing so, we check
+;            * if it is possible to combine this block with another already
+;            * existing block. Beware: The block may be the "missing link"
 ;              * between *two* other blocks.
-;           */
-;          left = 0;
-;          right = _hfirst;
-;          while (right && f > right) {
-;              left = right;
-;              right = right->next;
-;          }
+;            */
+;           left = 0;
+;           right = _hfirst;
+;           while (right && f > right) {
+;               left = right;
+;               right = right->next;
+;           }
 ;
 ;
-;          /* Ok, the current block must be inserted between left and right (but
-;           * beware: one of the two may be zero!). Also check for the condition
-;           * that we have to merge two or three blocks.
-;           */
-;          if (right) {
-;              /* Check if we must merge the block with the right one */
-;                      if (((unsigned) f) + size == (unsigned) right) {
-;                  /* Merge with the right block */
-;                  f->size += right->size;
-;                  if (f->next = right->next) {
-;                              f->next->prev = f;
-;                  } else {
-;                      /* This is now the last block */
-;                      _hlast = f;
-;                  }
-;              } else {
-;                  /* No merge, just set the link */
-;                  f->next = right;
-;                  right->prev = f;
-;              }
-;          } else {
-;              f->next = 0;
-;              /* Special case: This is the new freelist end */
-;              _hlast = f;
-;          }
-;          if (left) {
-;              /* Check if we must merge the block with the left one */
-;              if ((unsigned) f == ((unsigned) left) + left->size) {
-;                  /* Merge with the left block */
-;                  left->size += f->size;
-;                  if (left->next = f->next) {
-;                      left->next->prev = left;
-;                  } else {
-;                      /* This is now the last block */
-;                      _hlast = left;
-;                  }
-;              } else {
-;                  /* No merge, just set the link */
-;                  left->next = f;
-;                  f->prev = left;
-;              }
-;          } else {
-;              f->prev = 0;
-;              /* Special case: This is the new freelist start */
-;              _hfirst = f;
-;          }
-;      }
+;           /* Ok, the current block must be inserted between left and right (but
+;            * beware: one of the two may be zero!). Also check for the condition
+;            * that we have to merge two or three blocks.
+;            */
+;           if (right) {
+;               /* Check if we must merge the block with the right one */
+;                       if (((unsigned) f) + size == (unsigned) right) {
+;                   /* Merge with the right block */
+;                   f->size += right->size;
+;                   if (f->next = right->next) {
+;                               f->next->prev = f;
+;                   } else {
+;                       /* This is now the last block */
+;                       _hlast = f;
+;                   }
+;               } else {
+;                   /* No merge, just set the link */
+;                   f->next = right;
+;                   right->prev = f;
+;               }
+;           } else {
+;               f->next = 0;
+;               /* Special case: This is the new freelist end */
+;               _hlast = f;
+;           }
+;           if (left) {
+;               /* Check if we must merge the block with the left one */
+;               if ((unsigned) f == ((unsigned) left) + left->size) {
+;                   /* Merge with the left block */
+;                   left->size += f->size;
+;                   if (left->next = f->next) {
+;                       left->next->prev = left;
+;                   } else {
+;                       /* This is now the last block */
+;                       _hlast = left;
+;                   }
+;               } else {
+;                   /* No merge, just set the link */
+;                   left->next = f;
+;                   f->prev = left;
+;               }
+;           } else {
+;               f->prev = 0;
+;               /* Special case: This is the new freelist start */
+;               _hfirst = f;
+;           }
+;       }
 ;     }
 ; }
 ;
@@ -283,30 +283,30 @@ _free:    sta     ptr2
 ; Check if the free list is empty, storing _hfirst into ptr3 for later
 
 heapadd:
-       lda     __heapfirst
-       sta     ptr3
-       lda     __heapfirst+1
-       sta     ptr3+1
-       ora     ptr3
-       bne     SearchFreeList
+        lda     __heapfirst
+        sta     ptr3
+        lda     __heapfirst+1
+        sta     ptr3+1
+        ora     ptr3
+        bne     SearchFreeList
 
 ; The free list is empty, so this is the first and only block. A contains
 ; zero if we come here.
 
-       ldy     #freeblock::next-1
-@L2:   iny                             ; f->next = f->prev = 0;
-       sta     (ptr2),y
-       cpy     #freeblock::prev+1      ; Done?
-       bne     @L2
+        ldy     #freeblock::next-1
+@L2:    iny                             ; f->next = f->prev = 0;
+        sta     (ptr2),y
+        cpy     #freeblock::prev+1      ; Done?
+        bne     @L2
 
-       lda     ptr2
-       ldx     ptr2+1
-       sta     __heapfirst
-       stx     __heapfirst+1           ; _heapfirst = f;
-       sta     __heaplast
-       stx     __heaplast+1            ; _heaplast = f;
+        lda     ptr2
+        ldx     ptr2+1
+        sta     __heapfirst
+        stx     __heapfirst+1           ; _heapfirst = f;
+        sta     __heaplast
+        stx     __heaplast+1            ; _heaplast = f;
 
-       rts                             ; Done
+        rts                             ; Done
 
 ; We have to search the free list. As we are doing so, check if it is possible
 ; to combine this block with another, already existing block. Beware: The
@@ -316,225 +316,225 @@ heapadd:
 ; ptr3) is not zero on entry.
 
 SearchFreeList:
-       lda     #0
-       sta     ptr4
-       sta     ptr4+1                  ; left = 0;
-       ldy     #freeblock::next+1
-               ldx     ptr3
-
-@Loop: lda     ptr3+1                  ; High byte of right
-       cmp     ptr2+1
-       bne     @L1
-       cpx     ptr2
-       beq     @L2
-@L1:   bcs     CheckRightMerge
-
-@L2:   stx     ptr4                    ; left = right;
-               sta     ptr4+1
-
-               dey                             ; Points to next
-               lda     (ptr3),y                ; right = right->next;
-       tax
-       iny                             ; Points to next+1
-       lda     (ptr3),y
-       stx     ptr3
-       sta     ptr3+1
-       ora     ptr3
-       bne     @Loop
+        lda     #0
+        sta     ptr4
+        sta     ptr4+1                  ; left = 0;
+        ldy     #freeblock::next+1
+        ldx     ptr3
+
+@Loop:  lda     ptr3+1                  ; High byte of right
+        cmp     ptr2+1
+        bne     @L1
+        cpx     ptr2
+        beq     @L2
+@L1:    bcs     CheckRightMerge
+
+@L2:    stx     ptr4                    ; left = right;
+        sta     ptr4+1
+
+        dey                             ; Points to next
+        lda     (ptr3),y                ; right = right->next;
+        tax
+        iny                             ; Points to next+1
+        lda     (ptr3),y
+        stx     ptr3
+        sta     ptr3+1
+        ora     ptr3
+        bne     @Loop
 
 ; If we come here, the right pointer is zero, so we don't need to check for
 ; a merge. The new block is the new freelist end.
 ; A is zero when we come here, Y points to next+1
 
-       sta     (ptr2),y                ; Clear high byte of f->next
-       dey
-       sta     (ptr2),y                ; Clear low byte of f->next
+        sta     (ptr2),y                ; Clear high byte of f->next
+        dey
+        sta     (ptr2),y                ; Clear low byte of f->next
 
-       lda     ptr2                    ; _heaplast = f;
-       sta     __heaplast
-       lda     ptr2+1
-       sta     __heaplast+1
+        lda     ptr2                    ; _heaplast = f;
+        sta     __heaplast
+        lda     ptr2+1
+        sta     __heaplast+1
 
 ; Since we have checked the case that the freelist is empty before, if the
 ; right pointer is NULL, the left *cannot* be NULL here. So skip the
 ; pointer check and jump right to the left block merge
 
-       jmp     CheckLeftMerge2
+        jmp     CheckLeftMerge2
 
 ; The given block must be inserted between left and right, and right is not
 ; zero.
 
 CheckRightMerge:
-       lda     ptr2
-       add     ptr1                    ; f + size
-       tax
-       lda     ptr2+1
-       adc     ptr1+1
+        lda     ptr2
+        add     ptr1                    ; f + size
+        tax
+        lda     ptr2+1
+        adc     ptr1+1
 
-       cpx     ptr3
-       bne     NoRightMerge
-       cmp     ptr3+1
-       bne     NoRightMerge
+        cpx     ptr3
+        bne     NoRightMerge
+        cmp     ptr3+1
+        bne     NoRightMerge
 
 ; Merge with the right block. Do f->size += right->size;
 
-       ldy     #freeblock::size
-       lda     ptr1
-               add     (ptr3),y
-       sta     (ptr2),y
-       iny                             ; Points to size+1
-       lda     ptr1+1
-       adc     (ptr3),y
-       sta     (ptr2),y
+        ldy     #freeblock::size
+        lda     ptr1
+        add     (ptr3),y
+        sta     (ptr2),y
+        iny                             ; Points to size+1
+        lda     ptr1+1
+        adc     (ptr3),y
+        sta     (ptr2),y
 
 ; Set f->next = right->next and remember f->next in ptr1 (we don't need the
 ; size stored there any longer)
 
-       iny                             ; Points to next
-       lda     (ptr3),y                ; Low byte of right->next
-       sta     (ptr2),y                ; Store to low byte of f->next
-       sta     ptr1
-       iny                             ; Points to next+1
-       lda     (ptr3),y                ; High byte of right->next
-       sta     (ptr2),y                ; Store to high byte of f->next
-       sta     ptr1+1
-       ora     ptr1
-               beq     @L1                     ; Jump if f->next zero
+        iny                             ; Points to next
+        lda     (ptr3),y                ; Low byte of right->next
+        sta     (ptr2),y                ; Store to low byte of f->next
+        sta     ptr1
+        iny                             ; Points to next+1
+        lda     (ptr3),y                ; High byte of right->next
+        sta     (ptr2),y                ; Store to high byte of f->next
+        sta     ptr1+1
+        ora     ptr1
+        beq     @L1                     ; Jump if f->next zero
 
 ; f->next->prev = f;
 
-       iny                             ; Points to prev
-       lda     ptr2                    ; Low byte of f
-       sta     (ptr1),y                ; Low byte of f->next->prev
-       iny                             ; Points to prev+1
-       lda     ptr2+1                  ; High byte of f
-       sta     (ptr1),y                ; High byte of f->next->prev
-       jmp     CheckLeftMerge          ; Done
+        iny                             ; Points to prev
+        lda     ptr2                    ; Low byte of f
+        sta     (ptr1),y                ; Low byte of f->next->prev
+        iny                             ; Points to prev+1
+        lda     ptr2+1                  ; High byte of f
+        sta     (ptr1),y                ; High byte of f->next->prev
+        jmp     CheckLeftMerge          ; Done
 
 ; f->next is zero, this is now the last block
 
-@L1:   lda     ptr2                    ; _heaplast = f;
-       sta     __heaplast
-       lda     ptr2+1
-       sta     __heaplast+1
-       jmp     CheckLeftMerge
+@L1:    lda     ptr2                    ; _heaplast = f;
+        sta     __heaplast
+        lda     ptr2+1
+        sta     __heaplast+1
+        jmp     CheckLeftMerge
 
 ; No right merge, just set the link.
 
 NoRightMerge:
-       ldy     #freeblock::next        ; f->next = right;
-       lda     ptr3
-       sta     (ptr2),y
-       iny                             ; Points to next+1
-       lda     ptr3+1
-       sta     (ptr2),y
-
-       iny                             ; Points to prev
-       lda     ptr2                    ; right->prev = f;
-       sta     (ptr3),y
-       iny                             ; Points to prev+1
-       lda     ptr2+1
-       sta     (ptr3),y
+        ldy     #freeblock::next        ; f->next = right;
+        lda     ptr3
+        sta     (ptr2),y
+        iny                             ; Points to next+1
+        lda     ptr3+1
+        sta     (ptr2),y
+
+        iny                             ; Points to prev
+        lda     ptr2                    ; right->prev = f;
+        sta     (ptr3),y
+        iny                             ; Points to prev+1
+        lda     ptr2+1
+        sta     (ptr3),y
 
 ; Check if the left pointer is zero
 
 CheckLeftMerge:
-       lda     ptr4                    ; left == NULL?
-       ora     ptr4+1
-               bne     CheckLeftMerge2         ; Jump if there is a left block
+        lda     ptr4                    ; left == NULL?
+        ora     ptr4+1
+        bne     CheckLeftMerge2         ; Jump if there is a left block
 
 ; We don't have a left block, so f is actually the new freelist start
 
-       ldy     #freeblock::prev
-       sta     (ptr2),y                ; f->prev = 0;
-       iny
-       sta     (ptr2),y
+        ldy     #freeblock::prev
+        sta     (ptr2),y                ; f->prev = 0;
+        iny
+        sta     (ptr2),y
 
-       lda     ptr2                    ; _heapfirst = f;
-       sta     __heapfirst
-       lda     ptr2+1
-       sta     __heapfirst+1
+        lda     ptr2                    ; _heapfirst = f;
+        sta     __heapfirst
+        lda     ptr2+1
+        sta     __heapfirst+1
 
-       rts                             ; Done
+        rts                             ; Done
 
 ; Check if the left block is adjacent to the following one
 
 CheckLeftMerge2:
-       ldy     #freeblock::size        ; Calculate left + left->size
-       lda     (ptr4),y                ; Low byte of left->size
-       add     ptr4
-       tax
-       iny                             ; Points to size+1
-       lda     (ptr4),y                ; High byte of left->size
-       adc     ptr4+1
-
-       cpx     ptr2
-               bne     NoLeftMerge
-       cmp     ptr2+1
-       bne     NoLeftMerge             ; Jump if blocks not adjacent
+        ldy     #freeblock::size        ; Calculate left + left->size
+        lda     (ptr4),y                ; Low byte of left->size
+        add     ptr4
+        tax
+        iny                             ; Points to size+1
+        lda     (ptr4),y                ; High byte of left->size
+        adc     ptr4+1
+
+        cpx     ptr2
+        bne     NoLeftMerge
+        cmp     ptr2+1
+        bne     NoLeftMerge             ; Jump if blocks not adjacent
 
 ; Merge with the left block. Do left->size += f->size;
 
-       dey                             ; Points to size
-       lda     (ptr4),y
-       add     (ptr2),y
-       sta     (ptr4),y
-       iny                             ; Points to size+1
-       lda     (ptr4),y
-       adc     (ptr2),y
-       sta     (ptr4),y
+        dey                             ; Points to size
+        lda     (ptr4),y
+        add     (ptr2),y
+        sta     (ptr4),y
+        iny                             ; Points to size+1
+        lda     (ptr4),y
+        adc     (ptr2),y
+        sta     (ptr4),y
 
 ; Set left->next = f->next and remember left->next in ptr1.
 
-       iny                             ; Points to next
-       lda     (ptr2),y                ; Low byte of f->next
-       sta     (ptr4),y
-       sta     ptr1
-       iny                             ; Points to next+1
-       lda     (ptr2),y                ; High byte of f->next
-       sta     (ptr4),y
-       sta     ptr1+1
-       ora     ptr1                    ; left->next == NULL?
-       beq     @L1
+        iny                             ; Points to next
+        lda     (ptr2),y                ; Low byte of f->next
+        sta     (ptr4),y
+        sta     ptr1
+        iny                             ; Points to next+1
+        lda     (ptr2),y                ; High byte of f->next
+        sta     (ptr4),y
+        sta     ptr1+1
+        ora     ptr1                    ; left->next == NULL?
+        beq     @L1
 
 ; Do left->next->prev = left
 
-       iny                             ; Points to prev
-       lda     ptr4                    ; Low byte of left
-       sta     (ptr1),y
-       iny
-       lda     ptr4+1                  ; High byte of left
-       sta     (ptr1),y
-       rts                             ; Done
+        iny                             ; Points to prev
+        lda     ptr4                    ; Low byte of left
+        sta     (ptr1),y
+        iny
+        lda     ptr4+1                  ; High byte of left
+        sta     (ptr1),y
+        rts                             ; Done
 
 ; This is now the last block, do _heaplast = left
 
-@L1:   lda     ptr4
-       sta     __heaplast
-       lda     ptr4+1
-       sta     __heaplast+1
-       rts                             ; Done
+@L1:    lda     ptr4
+        sta     __heaplast
+        lda     ptr4+1
+        sta     __heaplast+1
+        rts                             ; Done
 
 ; No merge of the left block, just set the link. Y points to size+1 if
 ; we come here. Do left->next = f.
 
 NoLeftMerge:
-       iny                             ; Points to next
-       lda     ptr2                    ; Low byte of left
-       sta     (ptr4),y
-       iny
-       lda     ptr2+1                  ; High byte of left
-       sta     (ptr4),y
+        iny                             ; Points to next
+        lda     ptr2                    ; Low byte of left
+        sta     (ptr4),y
+        iny
+        lda     ptr2+1                  ; High byte of left
+        sta     (ptr4),y
 
 ; Do f->prev = left
 
-       iny                             ; Points to prev
-       lda     ptr4
-       sta     (ptr2),y
-       iny
-       lda     ptr4+1
-       sta     (ptr2),y
-       rts                             ; Done
+        iny                             ; Points to prev
+        lda     ptr4
+        sta     (ptr2),y
+        iny
+        lda     ptr4+1
+        sta     (ptr2),y
+        rts                             ; Done
 
 
 
index e03cd9868c3c87f60968f75d6c72772ac847f1c3..3c4d92ee09c57878ec4bd76b6c2c50418803f483 100644 (file)
@@ -14,7 +14,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -23,7 +23,7 @@ FILE* __fastcall__ freopen (const char* name, const char* mode, FILE* f)
 {
     /* Check if the file is open, if so, close it */
     if ((f->f_flags & _FOPEN) == 0) {
-       /* File is not open */
+        /* File is not open */
         return (FILE*) _seterrno (EINVAL);      /* File not input */
     }
 
@@ -32,7 +32,7 @@ FILE* __fastcall__ freopen (const char* name, const char* mode, FILE* f)
      */
     if (close (f->f_fd) < 0) {
         /* An error occured, errno is already set */
-       return 0;
+        return 0;
     }
 
     /* Open the file and return the descriptor */
index 2411f742cef5591450d71d3ef35997c77fe37226..e519fbdd81002e8245df509565c9ff1bb50d4c74 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 2004-11-28
 ;
 
-       .export         _fscanf
-               .import         addysp, decsp4, _vfscanf
-       .importzp       sp, ptr1
+        .export         _fscanf
+        .import         addysp, decsp4, _vfscanf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; int fscanf (FILE* f, const char* format, ...)
@@ -36,7 +36,7 @@ ParamSize:    .res    1               ; Number of parameter bytes
 .code
 
 _fscanf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; We have to push f and format, both in the order they already have on stack.
 ; To make this somewhat more efficient, we will create space on the stack and
@@ -45,37 +45,37 @@ _fscanf:
 ; of the fixed arguments, this will allow us to calculate the pointer to the
 ; fixed size arguments easier (they're just ParamSize bytes away).
 
-       jsr     decsp4
+        jsr     decsp4
 
 ; Calculate a pointer to the Format argument
 
-       lda     ParamSize
-       add     sp
-       sta     ptr1
-       ldx     sp+1
-       bcc     @L1
-       inx
-@L1:   stx     ptr1+1
+        lda     ParamSize
+        add     sp
+        sta     ptr1
+        ldx     sp+1
+        bcc     @L1
+        inx
+@L1:    stx     ptr1+1
 
 ; Now copy both, f and format
 
-       ldy     #4-1
-@L2:   lda     (ptr1),y
-       sta     (sp),y
-       dey
-       bpl     @L2
+        ldy     #4-1
+@L2:    lda     (ptr1),y
+        sta     (sp),y
+        dey
+        bpl     @L2
 
 ; Load va_list (last and __fastcall__ parameter to vfscanf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vfscanf
 
-       jsr     _vfscanf
+        jsr     _vfscanf
 
 ; Cleanup the stack. We will return what we got from vfscanf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
index 0616fc101a121c2dc096011d6dc0540996727498..bd47383fd7ffae8146cec3f4b3b0fa9a9d5048cf 100644 (file)
@@ -15,7 +15,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6194a109c6fee6e676a3edab4dc3df4ded08f14a..9f57ca415b84a389e98aab5b3d5bcba6ccd2e77c 100644 (file)
@@ -11,7 +11,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9882cfc057a18cb87a2f7f8dc850701c24d979dd..efc2e7ce0928db201e16e9e0195028dee0552b1f 100644 (file)
@@ -15,7 +15,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 37cf8101577623de80ff80a0cd7c7d0d2a6cbca9..dc0bad1b619ad80651e728c8aeb8cde1576d8bd0 100644 (file)
 
 ; Save file and place it into ptr1
 
-       sta     file
-       sta     ptr1
-       stx     file+1
-       stx     ptr1+1
+        sta     file
+        sta     ptr1
+        stx     file+1
+        stx     ptr1+1
 
 ; Check if the file is open
 
-       ldy     #_FILE::f_flags
-       lda     (ptr1),y
-       and     #_FOPEN                 ; Is the file open?
-               bne     @L2                     ; Branch if yes
+        ldy     #_FILE::f_flags
+        lda     (ptr1),y
+        and     #_FOPEN                 ; Is the file open?
+        bne     @L2                     ; Branch if yes
 
 ; File not open
 
-@L1:    lda    #EBADF
+@L1:    lda     #EBADF
         jsr     __seterrno              ; Returns with A = 0
         tax                             ; A = X = 0
         jmp     incsp6
 
 ; Check if the stream is in an error state
 
-@L2:   lda     (ptr1),y                ; get file->f_flags again
-       and     #_FERROR
-       bne     @L1
+@L2:    lda     (ptr1),y                ; get file->f_flags again
+        and     #_FERROR
+        bne     @L1
 
 ; Build the stackframe for write()
 
 ; Data
 
 .bss
-file:  .res    2
+file:   .res    2
 
index 5c80b9b3630587ef55f08a05238c9d57f0c05ff4..363be02000eb900cf05fb054946b97bdee565c70 100644 (file)
@@ -7,12 +7,12 @@
 
 
 #include <stdio.h>
-#undef getchar         /* This is usually declared as a macro */
+#undef getchar          /* This is usually declared as a macro */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a65aac376cfa1a0abaaadbbdfbd9888e37ab111f..b7954f52f065c69396e758b356c6237fae334c13 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char getcpu (void);
 ;
 
-       .export         _getcpu
+        .export         _getcpu
 
 ; ---------------------------------------------------------------------------
 ; Subroutine to detect an 816. Returns
 ; of the 6502, but all of them interpret unknown opcodes as NOP so this is
 ; just what we want.
 
-.p816                          ; Enable 65816 instructions
+.p816                           ; Enable 65816 instructions
 
 _getcpu:
-       lda     #0
-       inc     a               ; .byte $1A
-       cmp     #1
-               bcc     @L9
+        lda     #0
+        inc     a               ; .byte $1A
+        cmp     #1
+        bcc     @L9
 
 ; This is at least a 65C02, check for a 65816
 
-       xba                     ; .byte $eb, put $01 in B accu
-       dec     a               ; .byte $3a, A=$00 if 65C02
-               xba                     ; .byte $eb, get $01 back if 65816
-               inc     a               ; .byte $1a, make $01/$02
-@L9:           ldx     #0              ; Load high byte of word
-       rts
+        xba                     ; .byte $eb, put $01 in B accu
+        dec     a               ; .byte $3a, A=$00 if 65C02
+        xba                     ; .byte $eb, get $01 back if 65816
+        inc     a               ; .byte $1a, make $01/$02
+@L9:    ldx     #0              ; Load high byte of word
+        rts
 
index 66690bab33eddc7ddc99eb6c3e969060129b105d..4da352430177d65d0620488876a413a88c3020a2 100644 (file)
@@ -12,7 +12,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -25,24 +25,24 @@ char* __fastcall__ gets (char* s)
 
     while (1) {
 
-               /* Get next character */
-               if ((c = fgetc (stdin)) == EOF) {
-                   /* Error or EOF */
-                   *p = '\0';
-                   if (stdin->f_flags & _FERROR) {
-                       /* ERROR */
-                       return 0;
-                   } else {
-                       /* EOF */
-               if (i) {
-                   return s;
-               } else {
-                   return 0;
-               }
-           }
-               }
-
-               /* One char more. Newline ends the input */
+        /* Get next character */
+        if ((c = fgetc (stdin)) == EOF) {
+            /* Error or EOF */
+            *p = '\0';
+            if (stdin->f_flags & _FERROR) {
+                /* ERROR */
+                return 0;
+            } else {
+                /* EOF */
+                if (i) {
+                    return s;
+                } else {
+                    return 0;
+                }
+            }
+        }
+
+        /* One char more. Newline ends the input */
         if ((char) c == '\n') {
             *p = '\0';
             break;
index c7d0d896c2bfdcfc13ce18c5190f012e9206b2ae..e1d53d6dce60099fa90992469d77653eaacccacb 100644 (file)
 ; void reset_irq (void);
 ;
 
-       .export         _set_irq, _reset_irq
-       .interruptor    clevel_irq, 1           ; Export as low priority IRQ handler
-       .import         popax
+        .export         _set_irq, _reset_irq
+        .interruptor    clevel_irq, 1           ; Export as low priority IRQ handler
+        .import         popax
         .importzp       __ZP_START__
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 
 ; ---------------------------------------------------------------------------
 
 .data
 
-irqvec:        jmp     $00FF           ; Patched at runtime
+irqvec: jmp     $00FF           ; Patched at runtime
 
 ; ---------------------------------------------------------------------------
 
 .bss
 
-irqsp: .res    2
+irqsp:  .res    2
 
 zpsave: .res    zpsavespace
 
 ; ---------------------------------------------------------------------------
 
-.proc  _set_irq
+.proc   _set_irq
 
-       ; Keep clevel_irq from being called right now
-       sei
+        ; Keep clevel_irq from being called right now
+        sei
 
-       ; Set irq stack pointer to stack_addr + stack_size
-       sta     irqsp
-       stx     irqsp+1
-       jsr     popax
-       add     irqsp
-       sta     irqsp
-       txa
-       adc     irqsp+1
-       sta     irqsp+1
+        ; Set irq stack pointer to stack_addr + stack_size
+        sta     irqsp
+        stx     irqsp+1
+        jsr     popax
+        add     irqsp
+        sta     irqsp
+        txa
+        adc     irqsp+1
+        sta     irqsp+1
 
-       ; Set irq vector to irq_handler
-       jsr     popax
-       sta     irqvec+1
-       stx     irqvec+2        ; Set the user vector
+        ; Set irq vector to irq_handler
+        jsr     popax
+        sta     irqvec+1
+        stx     irqvec+2        ; Set the user vector
 
-       ; Restore interrupt requests and return
-       cli
-       rts
+        ; Restore interrupt requests and return
+        cli
+        rts
 
 .endproc
 
 
-.proc  _reset_irq
+.proc   _reset_irq
 
-       lda     #$00
-       sta     irqvec+2        ; High byte is enough
-       rts
+        lda     #$00
+        sta     irqvec+2        ; High byte is enough
+        rts
 
 .endproc
 
 
-.proc  clevel_irq
+.proc   clevel_irq
 
-       ; Is C level interrupt request vector set?
-       lda     irqvec+2        ; High byte is enough
-       bne     @L1
-       clc                     ; Interrupt not handled
-       rts
+        ; Is C level interrupt request vector set?
+        lda     irqvec+2        ; High byte is enough
+        bne     @L1
+        clc                     ; Interrupt not handled
+        rts
 
-       ; Save our zero page locations
-@L1:   ldx     #.sizeof(::zpsave)-1
+        ; Save our zero page locations
+@L1:    ldx     #.sizeof(::zpsave)-1
 @L2:    lda     __ZP_START__,x
-       sta     zpsave,x
-       dex
-       bpl     @L2
+        sta     zpsave,x
+        dex
+        bpl     @L2
 
-       ; Set C level interrupt stack
-       lda     irqsp
-       ldx     irqsp+1
-       sta     sp
-       stx     sp+1
+        ; Set C level interrupt stack
+        lda     irqsp
+        ldx     irqsp+1
+        sta     sp
+        stx     sp+1
 
-       ; Call C level interrupt request handler
-       jsr     irqvec
+        ; Call C level interrupt request handler
+        jsr     irqvec
 
-       ; Copy back our zero page content
-       ldx     #.sizeof(::zpsave)-1
+        ; Copy back our zero page content
+        ldx     #.sizeof(::zpsave)-1
 @L3:    ldy     zpsave,x
-       sty     __ZP_START__,x
-       dex
-       bpl     @L3
+        sty     __ZP_START__,x
+        dex
+        bpl     @L3
 
-       ; Mark interrupt handled / not handled and return
-       lsr
-       rts
+        ; Mark interrupt handled / not handled and return
+        lsr
+        rts
 
 .endproc
 
index 26fd7a24c83a6c2c5eeae2511d0bc7776af6f802..33497a30c647498f6d03267bf5dd97467b930749 100644 (file)
@@ -4,18 +4,18 @@
 ; int isalnum (int c);
 ;
 
-       .export         _isalnum
-       .include        "ctype.inc"
+        .export         _isalnum
+        .include        "ctype.inc"
 
 _isalnum:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       and     #CT_ALNUM       ; Mask character/digit bits
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_ALNUM       ; Mask character/digit bits
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 093b3d006cbb6c104c253f87e2449e9c1d3b1068..2ab9bf269396b5625963a694fa5794ea37acb836 100644 (file)
@@ -4,18 +4,18 @@
 ; int isalpha (int c);
 ;
 
-       .export         _isalpha
-       .include        "ctype.inc"
+        .export         _isalpha
+        .include        "ctype.inc"
 
 _isalpha:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       and     #CT_ALPHA       ; Mask character bits
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_ALPHA       ; Mask character bits
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 6da645a92c55a8a18d8c3c64016e4fc13387490d..6babe8853c691fcd85e133d1cbed5c7d4db78994 100644 (file)
@@ -6,18 +6,18 @@
 ; cc65 (and GNU) extension.
 ;
 
-       .export         _isblank
-       .include        "ctype.inc"
+        .export         _isblank
+        .include        "ctype.inc"
 
 _isblank:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-               and     #CT_SPACE_TAB   ; Mask blank bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_SPACE_TAB   ; Mask blank bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index d94fddc272d92700eb323b742b5f00986818d347..728716450f83d61bf3c10133fbe09b9a71e6f16b 100644 (file)
@@ -4,18 +4,18 @@
 ; int iscntrl (int c);
 ;
 
-       .export         _iscntrl
-       .include        "ctype.inc"
+        .export         _iscntrl
+        .include        "ctype.inc"
 
 _iscntrl:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-               and     #CT_CTRL        ; Mask control character bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_CTRL        ; Mask control character bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 61dd637bbabbda19a7cc29f386ee59519d82dfac..2972c89411805f4d58121305885f094a6c50c966 100644 (file)
@@ -4,18 +4,18 @@
 ; int isdigit (int c);
 ;
 
-       .export         _isdigit
-               .include        "ctype.inc"
+        .export         _isdigit
+        .include        "ctype.inc"
 
 _isdigit:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       and     #CT_DIGIT       ; Mask digit bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_DIGIT       ; Mask digit bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 504cbd18079c37489d0e218605a709abccfba054..7b1daa62e9dc2d4e677d8b6d9e409da3adf1b6d7 100644 (file)
@@ -5,21 +5,21 @@
 ; int isgraph (int c);
 ;
 
-       .export         _isgraph
-       .include        "ctype.inc"
+        .export         _isgraph
+        .include        "ctype.inc"
 
 _isgraph:
-       cpx     #>0             ; Char range OK?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       and     #CT_CTRL_SPACE  ; Mask character bits
-       cmp     #1              ; If false, then set "borrow" flag
-       lda     #0
-       sbc     #0              ; Invert logic
-       rts                     ; Return NOT control and NOT space
+        cpx     #>0             ; Char range OK?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_CTRL_SPACE  ; Mask character bits
+        cmp     #1              ; If false, then set "borrow" flag
+        lda     #0
+        sbc     #0              ; Invert logic
+        rts                     ; Return NOT control and NOT space
 
-@L1:   lda     #<0             ; Return false
-       tax
-       rts
+@L1:    lda     #<0             ; Return false
+        tax
+        rts
 
index 0078366b8213395b02dc33d3ec32623193499e8d..32e00fbd68838c4991fc605c57667befeee94f62 100644 (file)
@@ -4,18 +4,18 @@
 ; int islower (int c);
 ;
 
-       .export         _islower
-               .include        "ctype.inc"
+        .export         _islower
+        .include        "ctype.inc"
 
 _islower:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-               and     #CT_LOWER       ; Mask lower char bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_LOWER       ; Mask lower char bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 956b54b887dfdfed19410265c9956aa0a2d559da..1511753fd0b05c92f709f8e71c7d2980eb587bda 100644 (file)
@@ -4,19 +4,19 @@
 ; int isprint (int c);
 ;
 
-       .export         _isprint
-               .include        "ctype.inc"
+        .export         _isprint
+        .include        "ctype.inc"
 
 _isprint:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-               eor     #CT_CTRL        ; NOT a control char
-               and     #CT_CTRL        ; Mask control char bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        eor     #CT_CTRL        ; NOT a control char
+        and     #CT_CTRL        ; Mask control char bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 8b12405411aeddecb2720c37904135546e6b8d1d..bf31efb1aab15c8d1094eb51a95d4c58f20c6887 100644 (file)
@@ -5,21 +5,21 @@
 ; int ispunct (int c);
 ;
 
-       .export         _ispunct
-       .include        "ctype.inc"
+        .export         _ispunct
+        .include        "ctype.inc"
 
 _ispunct:
-       cpx     #>0             ; Char range OK?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       and     #CT_NOT_PUNCT   ; Mask relevant bits
-       cmp     #1              ; If false, then set "borrow" flag
-       lda     #0
-       sbc     #0              ; Invert logic
-       rts                     ; Return NOT (space | control | digit | alpha)
+        cpx     #>0             ; Char range OK?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_NOT_PUNCT   ; Mask relevant bits
+        cmp     #1              ; If false, then set "borrow" flag
+        lda     #0
+        sbc     #0              ; Invert logic
+        rts                     ; Return NOT (space | control | digit | alpha)
 
-@L1:   lda     #<0             ; Return false
-       tax
-       rts
+@L1:    lda     #<0             ; Return false
+        tax
+        rts
 
index 67530c95e388c773f92f5fb5a93749dec28ffdcd..64849f7f76b117c62befdaa9150c8d3d6db10d32 100644 (file)
@@ -4,18 +4,18 @@
 ; int isspace (int c);
 ;
 
-       .export         _isspace
-               .include        "ctype.inc"
+        .export         _isspace
+        .include        "ctype.inc"
 
 _isspace:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-               and     #(CT_SPACE | CT_OTHER_WS)   ; Mask space bits
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #(CT_SPACE | CT_OTHER_WS)   ; Mask space bits
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index b9d53a61470bee6de5b2a6c7bf465dc89be3433e..698983ec87679f4643b67ef4a3a86b9f39a6f22d 100644 (file)
@@ -4,18 +4,18 @@
 ; int isupper (int c);
 ;
 
-       .export         _isupper
-               .include        "ctype.inc"
+        .export         _isupper
+        .include        "ctype.inc"
 
 _isupper:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       and     #CT_UPPER       ; Mask upper char bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_UPPER       ; Mask upper char bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 50146e82e366caf56982c9e231d3c3e5e24cd42b..36f86ef19bd39bb7fd8ff0f212a0a3a5fe18edea 100644 (file)
@@ -4,18 +4,18 @@
 ; int isxdigit (int c);
 ;
 
-       .export         _isxdigit
-       .include        "ctype.inc"
+        .export         _isxdigit
+        .include        "ctype.inc"
 
 _isxdigit:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-               and     #CT_XDIGIT      ; Mask xdigit bit
-       rts
+        cpx     #$00            ; Char range ok?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_XDIGIT      ; Mask xdigit bit
+        rts
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #$00            ; Return false
+        tax
+        rts
 
index 37544c4343f3d9ff023e101aa9f14d5dca39674c..176bc2ddd1e289c0d6d57313c3c4147f857eb109 100644 (file)
 ; char* utoa (unsigned value, char* s, int radix);
 ;
 
-       .export         _itoa, _utoa
-       .import         addysp1
-       .import         __hextab
-       .importzp       sp, sreg, ptr2, ptr3, tmp1
+        .export         _itoa, _utoa
+        .import         addysp1
+        .import         __hextab
+        .importzp       sp, sreg, ptr2, ptr3, tmp1
 
 .rodata
 specval:
-               .byte   '-', '3', '2', '7', '6', '8', 0
+        .byte   '-', '3', '2', '7', '6', '8', 0
 .code
 
 ;
 ; Common subroutine to pop the parameters and put them into core
 ;
 
-dopop:         sta     tmp1            ; will loose high byte
-       ldy     #0
-       lda     (sp),y
-       sta     ptr2
-       sta     ptr3
-       iny
-       lda     (sp),y
-       sta     ptr2+1
-       sta     ptr3+1
-       iny
-       lda     (sp),y
-       sta     sreg
-       iny
-       lda     (sp),y
-       sta     sreg+1
-       jmp     addysp1         ; Bump stack pointer
+dopop:  sta     tmp1            ; will loose high byte
+        ldy     #0
+        lda     (sp),y
+        sta     ptr2
+        sta     ptr3
+        iny
+        lda     (sp),y
+        sta     ptr2+1
+        sta     ptr3+1
+        iny
+        lda     (sp),y
+        sta     sreg
+        iny
+        lda     (sp),y
+        sta     sreg+1
+        jmp     addysp1         ; Bump stack pointer
 
 ;
 ; itoa
 ;
 
-_itoa: jsr     dopop           ; pop the arguments
+_itoa:  jsr     dopop           ; pop the arguments
 
 ; We must handle $8000 in a special way, since it is the only negative
 ; number that has no positive 16-bit counterpart
 
-       ldy     tmp1            ; get radix
-       cpy     #10
-       bne     utoa
-       cmp     #$00
-       bne     L2
-       cpx     #$80
-       bne     L2
-
-       ldy     #6
-L1:    lda     specval,y       ; copy -32768
-       sta     (ptr2),y
-       dey
-       bpl     L1
-       jmp     L10
+        ldy     tmp1            ; get radix
+        cpy     #10
+        bne     utoa
+        cmp     #$00
+        bne     L2
+        cpx     #$80
+        bne     L2
+
+        ldy     #6
+L1:     lda     specval,y       ; copy -32768
+        sta     (ptr2),y
+        dey
+        bpl     L1
+        jmp     L10
 
 ; Check if the value is negative. If so, write a - sign and negate the
 ; number.
 
-L2:            lda     sreg+1          ; get high byte
-       bpl     utoa
-       lda     #'-'
-       ldy     #0
-       sta     (ptr2),y        ; store sign
-       inc     ptr2
-       bne     L3
-               inc     ptr2+1
-
-L3:    lda     sreg
-       eor     #$FF
-       clc
-       adc     #$01
-       sta     sreg
-       lda     sreg+1
-       eor     #$FF
-       adc     #$00
-       sta     sreg+1
-       jmp     utoa
+L2:     lda     sreg+1          ; get high byte
+        bpl     utoa
+        lda     #'-'
+        ldy     #0
+        sta     (ptr2),y        ; store sign
+        inc     ptr2
+        bne     L3
+        inc     ptr2+1
+
+L3:     lda     sreg
+        eor     #$FF
+        clc
+        adc     #$01
+        sta     sreg
+        lda     sreg+1
+        eor     #$FF
+        adc     #$00
+        sta     sreg+1
+        jmp     utoa
 
 ;
 ; utoa
 ;
 
-_utoa: jsr     dopop           ; pop the arguments
+_utoa:  jsr     dopop           ; pop the arguments
 
 ; Convert to string by dividing and push the result onto the stack
 
-utoa:  lda     #$00
-       pha                     ; sentinel
+utoa:   lda     #$00
+        pha                     ; sentinel
 
 ; Divide sreg/tmp1 -> sreg, remainder in a
 
-L5:    ldy     #16             ; 16 bit
-       lda     #0              ; remainder
-L6:    asl     sreg
-       rol     sreg+1
-       rol     a
-       cmp     tmp1
-       bcc     L7
-       sbc     tmp1
-       inc     sreg
-L7:    dey
-       bne     L6
-
-       tay                     ; get remainder into y
-       lda     __hextab,y      ; get hex character
-       pha                     ; save char value on stack
-
-       lda     sreg
-       ora     sreg+1
-       bne     L5
+L5:     ldy     #16             ; 16 bit
+        lda     #0              ; remainder
+L6:     asl     sreg
+        rol     sreg+1
+        rol     a
+        cmp     tmp1
+        bcc     L7
+        sbc     tmp1
+        inc     sreg
+L7:     dey
+        bne     L6
+
+        tay                     ; get remainder into y
+        lda     __hextab,y      ; get hex character
+        pha                     ; save char value on stack
+
+        lda     sreg
+        ora     sreg+1
+        bne     L5
 
 ; Get the characters from the stack into the string
 
-       ldy     #0
-L9:    pla
-       sta     (ptr2),y
-       beq     L10             ; jump if sentinel
-       iny
-       bne     L9              ; jump always
+        ldy     #0
+L9:     pla
+        sta     (ptr2),y
+        beq     L10             ; jump if sentinel
+        iny
+        bne     L9              ; jump always
 
 ; Done! Return the target string
 
-L10:   lda     ptr3
-               ldx     ptr3+1
-       rts
+L10:    lda     ptr3
+        ldx     ptr3+1
+        rts
 
 
 
index 753e9f99d9874f76ddec8ab7ae516897f7faab21..544ce9951691bec01f8e8faab251a3f0b4c28f48 100644 (file)
@@ -5,15 +5,15 @@
 ; intmax_t __fastcall imaxabs (intmax_t val);
 ;
 
-       .export         _labs, _imaxabs
-       .import         negeax
-       .importzp       sreg
+        .export         _labs, _imaxabs
+        .import         negeax
+        .importzp       sreg
 
 
 _labs:
 _imaxabs:
-        ldy    sreg+1          ; test hi byte
-       bpl     L1
-       jmp     negeax          ; Negate if negative
-L1:            rts
+        ldy     sreg+1          ; test hi byte
+        bpl     L1
+        jmp     negeax          ; Negate if negative
+L1:     rts
 
index f03a68e6fcd3427df391392ed6c5d170c6d8204c..3b9c7506ade125c3174f6783cc1e22e60ecd1ced 100644 (file)
@@ -12,7 +12,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 static char EmptyString [] = "";
 
 static struct lconv lc = {
-    EmptyString,       /* currency_symbol */
-    ".",               /* decimal_point */
-    EmptyString,       /* grouping */
-    EmptyString,       /* int_curr_symbol */
-    EmptyString,       /* mon_decimal_point */
-    EmptyString,       /* mon_grouping */
-    EmptyString,       /* mon_thousands_sep */
-    EmptyString,       /* negative_sign */
-    EmptyString,       /* positive_sign */
-    EmptyString,       /* thousands_sep */
-    CHAR_MAX,          /* frac_digits */
-    CHAR_MAX,          /* int_frac_digits */
-    CHAR_MAX,          /* n_cs_precedes */
-    CHAR_MAX,          /* n_sep_by_space */
-    CHAR_MAX,          /* n_sign_posn */
-    CHAR_MAX,          /* p_cs_precedes */
-    CHAR_MAX,          /* p_sep_by_space */
-    CHAR_MAX,          /* p_sign_posn */
+    EmptyString,        /* currency_symbol */
+    ".",                /* decimal_point */
+    EmptyString,        /* grouping */
+    EmptyString,        /* int_curr_symbol */
+    EmptyString,        /* mon_decimal_point */
+    EmptyString,        /* mon_grouping */
+    EmptyString,        /* mon_thousands_sep */
+    EmptyString,        /* negative_sign */
+    EmptyString,        /* positive_sign */
+    EmptyString,        /* thousands_sep */
+    CHAR_MAX,           /* frac_digits */
+    CHAR_MAX,           /* int_frac_digits */
+    CHAR_MAX,           /* n_cs_precedes */
+    CHAR_MAX,           /* n_sep_by_space */
+    CHAR_MAX,           /* n_sign_posn */
+    CHAR_MAX,           /* p_cs_precedes */
+    CHAR_MAX,           /* p_sep_by_space */
+    CHAR_MAX,           /* p_sign_posn */
 };
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -59,11 +59,11 @@ struct lconv* localeconv (void)
 char* __fastcall__ setlocale (int, const char* locale)
 {
     if (locale == 0 || (locale [0] == 'C' && locale [1] == '\0') || locale [0] == '\0') {
-       /* No change, or value already set, our locale is the "C" locale */
-       return "C";
+        /* No change, or value already set, our locale is the "C" locale */
+        return "C";
     } else {
-       /* Cannot set this one */
-       return 0;
+        /* Cannot set this one */
+        return 0;
     }
 }
 
index 5941fbfae07ea28672547458ea4b2d11d4b3c3f9..a89f97fa07862b8063442eb4ea6f6c8024a4cc0a 100644 (file)
@@ -4,49 +4,49 @@
 ; void longjmp (jmp_buf buf, int retval);
 ;
 
-       .export         _longjmp
-       .import         popax
-       .importzp       sp, ptr1, ptr2
+        .export         _longjmp
+        .import         popax
+        .importzp       sp, ptr1, ptr2
 
 _longjmp:
-       sta     ptr2            ; Save retval
-       stx     ptr2+1
-       ora     ptr2+1          ; Check for 0
-       bne     @L1
-       lda     #1              ; 0 is illegal according to the standard...
-       sta     ptr2            ; ... and must be replaced by 1
-@L1:   jsr     popax           ; get buf
-       sta     ptr1
-       stx     ptr1+1
-       ldy     #0
+        sta     ptr2            ; Save retval
+        stx     ptr2+1
+        ora     ptr2+1          ; Check for 0
+        bne     @L1
+        lda     #1              ; 0 is illegal according to the standard...
+        sta     ptr2            ; ... and must be replaced by 1
+@L1:    jsr     popax           ; get buf
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #0
 
 ; Get the old parameter stack
 
-               lda     (ptr1),y
-       iny
-               sta     sp
-       lda     (ptr1),y
-       iny
-       sta     sp+1
+        lda     (ptr1),y
+        iny
+        sta     sp
+        lda     (ptr1),y
+        iny
+        sta     sp+1
 
 ; Get the old stack pointer
 
-       lda     (ptr1),y
-       iny
-       tax
-       txs
+        lda     (ptr1),y
+        iny
+        tax
+        txs
 
 ; Get the return address and push it on the stack
 
-       lda     (ptr1),y
-       iny
-       pha
-       lda     (ptr1),y
-       pha
+        lda     (ptr1),y
+        iny
+        pha
+        lda     (ptr1),y
+        pha
 
 ; Load the return value and return to the caller
 
-       lda     ptr2
-       ldx     ptr2+1
-       rts
+        lda     ptr2
+        ldx     ptr2+1
+        rts
 
index 65d6ca4208c7f15e6ba0d92b50ea2491de74ee2b..5dc215bd181fee3455e89e120f59d875a9e3d820 100644 (file)
@@ -5,10 +5,10 @@
 ; char* ultoa (unsigned long value, char* s, int radix);
 ;
 
-       .export         _ltoa, _ultoa
-       .import         popax
-       .import         __hextab, __longminstr
-       .importzp       sreg, ptr1, ptr2, ptr3, tmp1
+        .export         _ltoa, _ultoa
+        .import         popax
+        .import         __hextab, __longminstr
+        .importzp       sreg, ptr1, ptr2, ptr3, tmp1
 
 
 
 ; Common subroutine to pop the parameters and put them into core
 ;
 
-dopop:         sta     tmp1            ; will loose high byte
-       jsr     popax           ; get s
-       sta     ptr1
-       stx     ptr1+1
-               sta     sreg            ; save for return
-       stx     sreg+1
-       jsr     popax           ; get low word of value
-       sta     ptr2
-       stx     ptr2+1
-       jsr     popax           ; get high word of value
-       sta     ptr3
-       stx     ptr3+1
-       rts
+dopop:  sta     tmp1            ; will loose high byte
+        jsr     popax           ; get s
+        sta     ptr1
+        stx     ptr1+1
+        sta     sreg            ; save for return
+        stx     sreg+1
+        jsr     popax           ; get low word of value
+        sta     ptr2
+        stx     ptr2+1
+        jsr     popax           ; get high word of value
+        sta     ptr3
+        stx     ptr3+1
+        rts
 
 ;
 ; ltoa
 ;
 
-_ltoa: jsr     dopop           ; pop the arguments
+_ltoa:  jsr     dopop           ; pop the arguments
 
 ; We must handle $80000000 in a special way, since it is the only negative
 ; number that has no positive 32-bit counterpart
 
-       ldx     ptr3+1          ; get high byte
-       ldy     tmp1            ; get radix
-       cpy     #10
-       bne     ultoa
-       lda     ptr3
-       ora     ptr2+1
-       ora     ptr2
-       bne     L2
-               cpx     #$80
-       bne     L2
-
-       ldy     #11
-L1:    lda     __longminstr,y  ; copy -2147483648
-       sta     (ptr1),y
-       dey
-       bpl     L1
-       jmp     L10
+        ldx     ptr3+1          ; get high byte
+        ldy     tmp1            ; get radix
+        cpy     #10
+        bne     ultoa
+        lda     ptr3
+        ora     ptr2+1
+        ora     ptr2
+        bne     L2
+        cpx     #$80
+        bne     L2
+
+        ldy     #11
+L1:     lda     __longminstr,y  ; copy -2147483648
+        sta     (ptr1),y
+        dey
+        bpl     L1
+        jmp     L10
                   
 ; Check if the value is negative. If so, write a - sign and negate the
 ; number.
 
-L2:            txa                     ; get high byte
-       bpl     ultoa
-       lda     #'-'
-       ldy     #0
-       sta     (ptr1),y        ; store sign
-       inc     ptr1
-       bne     L3
-               inc     ptr1+1
-
-L3:    lda     ptr2            ; negate val
-       eor     #$FF
-       clc
-       adc     #$01
-       sta     ptr2
-       lda     ptr2+1
-       eor     #$FF
-       adc     #$00
-       sta     ptr2+1
-               lda     ptr3
-       eor     #$FF
-       adc     #$00
-       sta     ptr3
-               lda     ptr3+1
-       eor     #$FF
-       adc     #$00
-       sta     ptr3+1
-               jmp     ultoa
+L2:     txa                     ; get high byte
+        bpl     ultoa
+        lda     #'-'
+        ldy     #0
+        sta     (ptr1),y        ; store sign
+        inc     ptr1
+        bne     L3
+        inc     ptr1+1
+
+L3:     lda     ptr2            ; negate val
+        eor     #$FF
+        clc
+        adc     #$01
+        sta     ptr2
+        lda     ptr2+1
+        eor     #$FF
+        adc     #$00
+        sta     ptr2+1
+        lda     ptr3
+        eor     #$FF
+        adc     #$00
+        sta     ptr3
+        lda     ptr3+1
+        eor     #$FF
+        adc     #$00
+        sta     ptr3+1
+        jmp     ultoa
 
 ;
 ; utoa
 ;
 
-_ultoa:        jsr     dopop           ; pop the arguments
+_ultoa: jsr     dopop           ; pop the arguments
 
 ; Convert to string by dividing and push the result onto the stack
 
-ultoa: lda     #$00
-       pha                     ; sentinel
+ultoa:  lda     #$00
+        pha                     ; sentinel
 
 ; Divide val/tmp1 -> val, remainder in a
 
-L5:    ldy     #32             ; 32 bit
-       lda     #0              ; remainder
-L6:    asl     ptr2
-       rol     ptr2+1
-       rol     ptr3
-       rol     ptr3+1
-       rol     a
-       cmp     tmp1
-       bcc     L7
-       sbc     tmp1
-       inc     ptr2
-L7:    dey
-       bne     L6
-
-       tay                     ; get remainder into y
-       lda     __hextab,y      ; get hex character
-       pha                     ; save char value on stack
-
-       lda     ptr2
-       ora     ptr2+1
-       ora     ptr3
-       ora     ptr3+1
-       bne     L5
+L5:     ldy     #32             ; 32 bit
+        lda     #0              ; remainder
+L6:     asl     ptr2
+        rol     ptr2+1
+        rol     ptr3
+        rol     ptr3+1
+        rol     a
+        cmp     tmp1
+        bcc     L7
+        sbc     tmp1
+        inc     ptr2
+L7:     dey
+        bne     L6
+
+        tay                     ; get remainder into y
+        lda     __hextab,y      ; get hex character
+        pha                     ; save char value on stack
+
+        lda     ptr2
+        ora     ptr2+1
+        ora     ptr3
+        ora     ptr3+1
+        bne     L5
 
 ; Get the characters from the stack into the string
 
-       ldy     #0
-L9:    pla
-       sta     (ptr1),y
-       beq     L10             ; jump if sentinel
-       iny
-       bne     L9              ; jump always
+        ldy     #0
+L9:     pla
+        sta     (ptr1),y
+        beq     L10             ; jump if sentinel
+        iny
+        bne     L9              ; jump always
 
 ; Done! Return the target string
 
-L10:   lda     sreg
-               ldx     sreg+1
-       rts
+L10:    lda     sreg
+        ldx     sreg+1
+        rts
 
 
 
index 0f22090bbc5282028f311677cb54671bd02504f9..19add25a73ad8acf327ed622be8a8d500c177cc8 100644 (file)
@@ -22,7 +22,7 @@
 ;      * up the size if needed.
 ;      */
 ;     if (size == 0) {
-;      return 0;
+;       return 0;
 ;     }
 ;     size += HEAP_ADMIN_SPACE;
 ;     if (size < sizeof (struct freeblock)) {
 ;         } else {
 ;
 ;             /* We must slice the block found. Cut off space from the upper
-;           * end, so we can leave the actual free block chain intact.
-;           */
+;            * end, so we can leave the actual free block chain intact.
+;            */
 ;
-;          /* Decrement the size of the block */
-;          f->size -= size;
+;           /* Decrement the size of the block */
+;           f->size -= size;
 ;
-;          /* Set f to the now unused space above the current block */
-;          f = (struct freeblock*) (((unsigned) f) + f->size);
+;           /* Set f to the now unused space above the current block */
+;           f = (struct freeblock*) (((unsigned) f) + f->size);
 ;
 ;         }
 ;
 ;         /* We did not find a block big enough. Try to use new space from the
 ;          * heap top.
 ;          */
-;      if (((unsigned) _hend) - ((unsigned) _hptr) < size) {
+;       if (((unsigned) _hend) - ((unsigned) _hptr) < size) {
 ;             /* Out of heap space */
 ;             return 0;
-;      }
+;       }
 ;
 ;
-;      /* There is enough space left, take it from the heap top */
-;      p = _hptr;
-;              _hptr = (unsigned*) (((unsigned) _hptr) + size);
+;       /* There is enough space left, take it from the heap top */
+;       p = _hptr;
+;               _hptr = (unsigned*) (((unsigned) _hptr) + size);
 ;
 ;     }
 ;
 ;
 
 
-       .importzp       ptr1, ptr2, ptr3
-       .export         _malloc
+        .importzp       ptr1, ptr2, ptr3
+        .export         _malloc
 
         .include        "_heap.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 ;-----------------------------------------------------------------------------
 ; Code
 
 _malloc:
-       sta     ptr1                    ; Store size in ptr1
-       stx     ptr1+1
+        sta     ptr1                    ; Store size in ptr1
+        stx     ptr1+1
 
 ; Check for a size of zero, if so, return NULL
 
-       ora     ptr1+1
-       beq     Done                    ; a/x already contains zero
+        ora     ptr1+1
+        beq     Done                    ; a/x already contains zero
 
 ; Add the administration space and round up the size if needed
 
-       lda     ptr1
-               add     #HEAP_ADMIN_SPACE
-       sta     ptr1
-       bcc     @L1
-       inc     ptr1+1
-@L1:   ldx     ptr1+1
-       bne     @L2
-       cmp     #HEAP_MIN_BLOCKSIZE+1
-       bcs     @L2
-       lda     #HEAP_MIN_BLOCKSIZE
-       sta     ptr1                    ; High byte is already zero
+        lda     ptr1
+        add     #HEAP_ADMIN_SPACE
+        sta     ptr1
+        bcc     @L1
+        inc     ptr1+1
+@L1:    ldx     ptr1+1
+        bne     @L2
+        cmp     #HEAP_MIN_BLOCKSIZE+1
+        bcs     @L2
+        lda     #HEAP_MIN_BLOCKSIZE
+        sta     ptr1                    ; High byte is already zero
 
 ; Load a pointer to the freelist into ptr2
 
-@L2:   lda     __heapfirst
-       sta     ptr2
-               lda     __heapfirst+1
-       sta     ptr2+1
+@L2:    lda     __heapfirst
+        sta     ptr2
+        lda     __heapfirst+1
+        sta     ptr2+1
 
 ; Search the freelist for a block that is big enough. We will calculate
 ; (f->size - size) here and keep it, since we need the value later.
 
-       jmp     @L4
+        jmp     @L4
 
-@L3:   ldy     #freeblock::size
-               lda     (ptr2),y
-               sub     ptr1
-       tax                             ; Remember low byte for later
-       iny                             ; Y points to freeblock::size+1
-               lda     (ptr2),y
-       sbc     ptr1+1
-       bcs     BlockFound              ; Beware: Contents of a/x/y are known!
+@L3:    ldy     #freeblock::size
+        lda     (ptr2),y
+        sub     ptr1
+        tax                             ; Remember low byte for later
+        iny                             ; Y points to freeblock::size+1
+        lda     (ptr2),y
+        sbc     ptr1+1
+        bcs     BlockFound              ; Beware: Contents of a/x/y are known!
 
 ; Next block in list
 
-       iny                             ; Points to freeblock::next
-       lda     (ptr2),y
-       tax
-       iny                             ; Points to freeblock::next+1
-       lda     (ptr2),y
-       stx     ptr2
-       sta     ptr2+1
-@L4:   ora     ptr2
-               bne     @L3
+        iny                             ; Points to freeblock::next
+        lda     (ptr2),y
+        tax
+        iny                             ; Points to freeblock::next+1
+        lda     (ptr2),y
+        stx     ptr2
+        sta     ptr2+1
+@L4:    ora     ptr2
+        bne     @L3
 
 ; We did not find a block big enough. Try to use new space from the heap top.
 
-       lda     __heapptr
-       add     ptr1                    ; _heapptr + size
-               tay
-               lda     __heapptr+1
-       adc     ptr1+1
-       bcs     OutOfHeapSpace          ; On overflow, we're surely out of space
+        lda     __heapptr
+        add     ptr1                    ; _heapptr + size
+        tay
+        lda     __heapptr+1
+        adc     ptr1+1
+        bcs     OutOfHeapSpace          ; On overflow, we're surely out of space
 
-               cmp     __heapend+1
-       bne     @L5
-       cpy     __heapend
-@L5:   bcc     TakeFromTop
-       beq     TakeFromTop
+        cmp     __heapend+1
+        bne     @L5
+        cpy     __heapend
+@L5:    bcc     TakeFromTop
+        beq     TakeFromTop
 
 ; Out of heap space
 
 OutOfHeapSpace:
-       lda     #0
-       tax
-Done:  rts
+        lda     #0
+        tax
+Done:   rts
 
 ; There is enough space left, take it from the heap top
 
 TakeFromTop:
-       ldx     __heapptr               ; p = _heapptr;
-       stx     ptr2
-       ldx     __heapptr+1
-       stx     ptr2+1
+        ldx     __heapptr               ; p = _heapptr;
+        stx     ptr2
+        ldx     __heapptr+1
+        stx     ptr2+1
 
-       sty     __heapptr               ; _heapptr += size;
-               sta     __heapptr+1
-       jmp     FillSizeAndRet          ; Done
+        sty     __heapptr               ; _heapptr += size;
+        sta     __heapptr+1
+        jmp     FillSizeAndRet          ; Done
 
 ; We found a block big enough. If the block can hold just the
 ; requested size, use the block in full. Beware: When slicing blocks,
@@ -213,73 +213,73 @@ TakeFromTop:
 ; flag is set if the high byte of this remaining size is zero.
 
 BlockFound:
-               bne     SliceBlock              ; Block is large enough to slice
-               cpx     #HEAP_MIN_BLOCKSIZE     ; Check low byte
-               bcs     SliceBlock              ; Jump if block is large enough to slice
+        bne     SliceBlock              ; Block is large enough to slice
+        cpx     #HEAP_MIN_BLOCKSIZE     ; Check low byte
+        bcs     SliceBlock              ; Jump if block is large enough to slice
 
 ; The block is too small to slice it. Use the block in full. The block
 ; does already contain the correct size word, all we have to do is to
 ; remove it from the free list.
 
-               ldy     #freeblock::prev+1      ; Load f->prev
-       lda     (ptr2),y
-       sta     ptr3+1
-       dey
-       lda     (ptr2),y
-       sta     ptr3
-       dey                             ; Points to freeblock::next+1
-       ora     ptr3+1
-       beq     @L1                     ; Jump if f->prev zero
+        ldy     #freeblock::prev+1      ; Load f->prev
+        lda     (ptr2),y
+        sta     ptr3+1
+        dey
+        lda     (ptr2),y
+        sta     ptr3
+        dey                             ; Points to freeblock::next+1
+        ora     ptr3+1
+        beq     @L1                     ; Jump if f->prev zero
 
 ; We have a previous block, ptr3 contains its address.
 ; Do f->prev->next = f->next
 
-       lda     (ptr2),y                ; Load high byte of f->next
-       sta     (ptr3),y                ; Store high byte of f->prev->next
-       dey                             ; Points to next
-       lda     (ptr2),y                ; Load low byte of f->next
-       sta     (ptr3),y                ; Store low byte of f->prev->next
-       jmp     @L2
+        lda     (ptr2),y                ; Load high byte of f->next
+        sta     (ptr3),y                ; Store high byte of f->prev->next
+        dey                             ; Points to next
+        lda     (ptr2),y                ; Load low byte of f->next
+        sta     (ptr3),y                ; Store low byte of f->prev->next
+        jmp     @L2
 
 ; This is the first block, correct the freelist pointer
 ; Do _hfirst = f->next
 
-@L1:           lda     (ptr2),y                ; Load high byte of f->next
-       sta     __heapfirst+1
-       dey                             ; Points to next
-       lda     (ptr2),y                ; Load low byte of f->next
-       sta     __heapfirst
+@L1:    lda     (ptr2),y                ; Load high byte of f->next
+        sta     __heapfirst+1
+        dey                             ; Points to next
+        lda     (ptr2),y                ; Load low byte of f->next
+        sta     __heapfirst
 
 ; Check f->next. Y points always to next if we come here
 
-@L2:   lda     (ptr2),y                ; Load low byte of f->next
-       sta     ptr3
-       iny                             ; Points to next+1
-       lda     (ptr2),y                ; Load high byte of f->next
-       sta     ptr3+1
-       iny                             ; Points to prev
-       ora     ptr3
-       beq     @L3                     ; Jump if f->next zero
+@L2:    lda     (ptr2),y                ; Load low byte of f->next
+        sta     ptr3
+        iny                             ; Points to next+1
+        lda     (ptr2),y                ; Load high byte of f->next
+        sta     ptr3+1
+        iny                             ; Points to prev
+        ora     ptr3
+        beq     @L3                     ; Jump if f->next zero
 
 ; We have a next block, ptr3 contains its address.
 ; Do f->next->prev = f->prev
 
-       lda     (ptr2),y                ; Load low byte of f->prev
-       sta     (ptr3),y                ; Store low byte of f->next->prev
-       iny                             ; Points to prev+1
-       lda     (ptr2),y                ; Load high byte of f->prev
-       sta     (ptr3),y                ; Store high byte of f->prev->next
-               jmp     RetUserPtr              ; Done
+        lda     (ptr2),y                ; Load low byte of f->prev
+        sta     (ptr3),y                ; Store low byte of f->next->prev
+        iny                             ; Points to prev+1
+        lda     (ptr2),y                ; Load high byte of f->prev
+        sta     (ptr3),y                ; Store high byte of f->prev->next
+        jmp     RetUserPtr              ; Done
 
 ; This is the last block, correct the freelist pointer.
 ; Do _hlast = f->prev
 
-@L3:           lda     (ptr2),y                ; Load low byte of f->prev
-       sta     __heaplast
-       iny                             ; Points to prev+1
-       lda     (ptr2),y                ; Load high byte of f->prev
-       sta     __heaplast+1
-       jmp     RetUserPtr              ; Done
+@L3:    lda     (ptr2),y                ; Load low byte of f->prev
+        sta     __heaplast
+        iny                             ; Points to prev+1
+        lda     (ptr2),y                ; Load high byte of f->prev
+        sta     __heaplast+1
+        jmp     RetUserPtr              ; Done
 
 ; We must slice the block found. Cut off space from the upper end, so we
 ; can leave the actual free block chain intact.
@@ -288,37 +288,37 @@ SliceBlock:
 
 ; Decrement the size of the block. Y points to size+1.
 
-       dey                             ; Points to size
-       lda     (ptr2),y                ; Low byte of f->size
-       sub     ptr1
-       sta     (ptr2),y
-       tax                             ; Save low byte of f->size in X
-       iny                             ; Points to size+1
-       lda     (ptr2),y                ; High byte of f->size
-       sbc     ptr1+1
-       sta     (ptr2),y
+        dey                             ; Points to size
+        lda     (ptr2),y                ; Low byte of f->size
+        sub     ptr1
+        sta     (ptr2),y
+        tax                             ; Save low byte of f->size in X
+        iny                             ; Points to size+1
+        lda     (ptr2),y                ; High byte of f->size
+        sbc     ptr1+1
+        sta     (ptr2),y
 
 ; Set f to the space above the current block, which is the new block returned
 ; to the caller.
 
-       txa                             ; Get low byte of f->size
-               add     ptr2
-       tax
-       lda     (ptr2),y                ; Get high byte of f->size
-       adc     ptr2+1
-       stx     ptr2
-       sta     ptr2+1
+        txa                             ; Get low byte of f->size
+        add     ptr2
+        tax
+        lda     (ptr2),y                ; Get high byte of f->size
+        adc     ptr2+1
+        stx     ptr2
+        sta     ptr2+1
 
 ; Fill the size and start address into the admin space of the block
 ; (struct usedblock) and return the user pointer
 
 FillSizeAndRet:
-       ldy     #usedblock::size        ; p->size = size;
-       lda     ptr1                    ; Low byte of block size
-       sta     (ptr2),y
-       iny                             ; Points to freeblock::size+1
-       lda     ptr1+1
-       sta     (ptr2),y
+        ldy     #usedblock::size        ; p->size = size;
+        lda     ptr1                    ; Low byte of block size
+        sta     (ptr2),y
+        iny                             ; Points to freeblock::size+1
+        lda     ptr1+1
+        sta     (ptr2),y
 
 RetUserPtr:
         ldy     #usedblock::start       ; p->start = p
@@ -330,10 +330,10 @@ RetUserPtr:
 
 ; Return the user pointer, which points behind the struct usedblock
 
-       lda     ptr2                    ; return ++p;
-       ldx     ptr2+1
-       add     #HEAP_ADMIN_SPACE
-       bcc     @L9
-       inx
-@L9:   rts
+        lda     ptr2                    ; return ++p;
+        ldx     ptr2+1
+        add     #HEAP_ADMIN_SPACE
+        bcc     @L9
+        inx
+@L9:    rts
 
index c4556370f576534ad103744e56e01192dbf23b02..1b60cbf73e5fee9db3dc394b3fb0be5477750a52 100644 (file)
@@ -4,23 +4,23 @@
 ; void* __fastcall__ memchr (const void* p, int c, size_t n);
 ;
 
-       .export         _memchr
-       .import         popax, return0
-       .importzp       ptr1, ptr2
+        .export         _memchr
+        .import         popax, return0
+        .importzp       ptr1, ptr2
 
 
 .proc   _memchr
 
         eor     #$FF
-               sta     ptr2
+        sta     ptr2
         txa
         eor     #$FF
-       sta     ptr2+1          ; Save ones complement of n
-       jsr     popax           ; get c
-       pha
-               jsr     popax           ; get p
-               sta     ptr1
-               stx     ptr1+1
+        sta     ptr2+1          ; Save ones complement of n
+        jsr     popax           ; get c
+        pha
+        jsr     popax           ; get p
+        sta     ptr1
+        stx     ptr1+1
 
         ldy     #$00
         pla                     ; Get c
@@ -45,13 +45,13 @@ notfound:
 
 ; Found, return pointer to char
 
-found:  ldx    ptr1+1          ; get high byte of pointer
-               tya                     ; low byte offset
-               clc
-               adc     ptr1
-               bcc     L9
-               inx
-L9:    rts
+found:  ldx     ptr1+1          ; get high byte of pointer
+        tya                     ; low byte offset
+        clc
+        adc     ptr1
+        bcc     L9
+        inx
+L9:     rts
 
 .endproc
 
index 5d82aa6d8abb6935fec91ae0e54ccfee7fcb8fe2..25628127a889aa482caed455edf09f783d6be372 100644 (file)
@@ -4,69 +4,69 @@
 ; int memcmp (const void* p1, const void* p2, size_t count);
 ;
 
-       .export         _memcmp
-       .import         popax, return0
-       .importzp       ptr1, ptr2, ptr3
+        .export         _memcmp
+        .import         popax, return0
+        .importzp       ptr1, ptr2, ptr3
 
 _memcmp:
 
 ; Calculate (-count-1) and store it into ptr3. This is some overhead here but
 ; saves time in the compare loop
 
-       eor     #$FF
-       sta     ptr3
-       txa
-       eor     #$FF
-       sta     ptr3+1
+        eor     #$FF
+        sta     ptr3
+        txa
+        eor     #$FF
+        sta     ptr3+1
 
 ; Get the pointer parameters
 
-               jsr     popax           ; Get p2
-       sta     ptr2
-       stx     ptr2+1
-       jsr     popax           ; Get p1
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax           ; Get p2
+        sta     ptr2
+        stx     ptr2+1
+        jsr     popax           ; Get p1
+        sta     ptr1
+        stx     ptr1+1
 
 ; Loop initialization
 
-       ldx     ptr3            ; Load low counter byte into X
-       ldy     #$00            ; Initialize pointer
+        ldx     ptr3            ; Load low counter byte into X
+        ldy     #$00            ; Initialize pointer
 
 ; Head of compare loop: Test for the end condition
 
-Loop:  inx                     ; Bump low byte of (-count-1)
-               beq     BumpHiCnt       ; Jump on overflow
+Loop:   inx                     ; Bump low byte of (-count-1)
+        beq     BumpHiCnt       ; Jump on overflow
 
 ; Do the compare
 
-Comp:  lda     (ptr1),y
-       cmp     (ptr2),y
-       bne     NotEqual        ; Jump if bytes not equal
+Comp:   lda     (ptr1),y
+        cmp     (ptr2),y
+        bne     NotEqual        ; Jump if bytes not equal
 
 ; Bump the pointers
 
-       iny                     ; Increment pointer
-       bne     Loop
-       inc     ptr1+1          ; Increment high bytes
-       inc     ptr2+1
-       bne     Loop            ; Branch always (pointer wrap is illegal)
+        iny                     ; Increment pointer
+        bne     Loop
+        inc     ptr1+1          ; Increment high bytes
+        inc     ptr2+1
+        bne     Loop            ; Branch always (pointer wrap is illegal)
 
 ; Entry on low counter byte overflow
 
 BumpHiCnt:
-       inc     ptr3+1          ; Bump high byte of (-count-1)
-               bne     Comp            ; Jump if not done
-       jmp     return0         ; Count is zero, areas are identical
+        inc     ptr3+1          ; Bump high byte of (-count-1)
+        bne     Comp            ; Jump if not done
+        jmp     return0         ; Count is zero, areas are identical
 
 ; Not equal, check which one is greater
 
 NotEqual:
-       bcs     Greater
-       ldx     #$FF            ; Make result negative
-       rts
+        bcs     Greater
+        ldx     #$FF            ; Make result negative
+        rts
 
 Greater:
-       ldx     #$01            ; Make result positive
-       rts
+        ldx     #$01            ; Make result positive
+        rts
 
index d432ffa0e3034dcfbfabaedd9e80ea9882089d04..c0c5e56d0e4657bfa52fa5f0b6da82ec7e8fbca5 100644 (file)
 ; at memmove!
 ;
 
-               .export         _memcpy, memcpy_upwards, memcpy_getparams
-               .import         popax
-               .importzp       sp, ptr1, ptr2, ptr3
+        .export         _memcpy, memcpy_upwards, memcpy_getparams
+        .import         popax
+        .importzp       sp, ptr1, ptr2, ptr3
 
 ; ----------------------------------------------------------------------
 _memcpy:
         jsr     memcpy_getparams
 
-memcpy_upwards:                        ; assert Y = 0
-       ldx     ptr3+1          ; Get high byte of n
-               beq     L2              ; Jump if zero
+memcpy_upwards:                 ; assert Y = 0
+        ldx     ptr3+1          ; Get high byte of n
+        beq     L2              ; Jump if zero
 
-L1:    .repeat 2               ; Unroll this a bit to make it faster...
-       lda     (ptr1),Y        ; copy a byte
-       sta     (ptr2),Y
-       iny
-       .endrepeat
-       bne     L1
-       inc     ptr1+1
-       inc     ptr2+1
-       dex                     ; Next 256 byte block
-       bne     L1              ; Repeat if any
+L1:     .repeat 2               ; Unroll this a bit to make it faster...
+        lda     (ptr1),Y        ; copy a byte
+        sta     (ptr2),Y
+        iny
+        .endrepeat
+        bne     L1
+        inc     ptr1+1
+        inc     ptr2+1
+        dex                     ; Next 256 byte block
+        bne     L1              ; Repeat if any
 
-       ; the following section could be 10% faster if we were able to copy
-       ; back to front - unfortunately we are forced to copy strict from
-       ; low to high since this function is also used for
-       ; memmove and blocks could be overlapping!
-       ; {
-L2:                            ; assert Y = 0
-       ldx     ptr3            ; Get the low byte of n
-       beq     done            ; something to copy
+        ; the following section could be 10% faster if we were able to copy
+        ; back to front - unfortunately we are forced to copy strict from
+        ; low to high since this function is also used for
+        ; memmove and blocks could be overlapping!
+        ; {
+L2:                             ; assert Y = 0
+        ldx     ptr3            ; Get the low byte of n
+        beq     done            ; something to copy
 
-L3:    lda     (ptr1),Y        ; copy a byte
-       sta     (ptr2),Y
-       iny
-       dex
-       bne     L3
+L3:     lda     (ptr1),Y        ; copy a byte
+        sta     (ptr2),Y
+        iny
+        dex
+        bne     L3
 
-       ; }
+        ; }
 
-done:  jmp     popax           ; Pop ptr and return as result
+done:   jmp     popax           ; Pop ptr and return as result
 
 ; ----------------------------------------------------------------------
 ; Get the parameters from stack as follows:
 ;
-;       size           --> ptr3
+;       size            --> ptr3
 ;       src             --> ptr1
 ;       dest            --> ptr2
-;      First argument (dest) will remain on stack and is returned in a/x!
+;       First argument (dest) will remain on stack and is returned in a/x!
 
-memcpy_getparams:              ; IMPORTANT! Function has to leave with Y=0!
-       sta     ptr3
+memcpy_getparams:               ; IMPORTANT! Function has to leave with Y=0!
+        sta     ptr3
         stx     ptr3+1          ; save n to ptr3
 
-       jsr     popax
-       sta     ptr1
-       stx     ptr1+1          ; save src to ptr1
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1          ; save src to ptr1
 
-                               ; save dest to ptr2
-               ldy     #1              ; (direct stack access is three cycles faster
+                                ; save dest to ptr2
+        ldy     #1              ; (direct stack access is three cycles faster
                                 ; (total cycle count with return))
         lda     (sp),y
-       tax
-        stx    ptr2+1          ; save high byte of ptr2
-        dey                    ; Y = 0
+        tax
+        stx     ptr2+1          ; save high byte of ptr2
+        dey                     ; Y = 0
         lda     (sp),y          ; Get ptr2 low
-       sta     ptr2
-       rts
+        sta     ptr2
+        rts
index 983b972770fc1934e9778494fecf4c06dfee264c..94ad7d102878ca64fa82b5d741ae53df423bad9b 100644 (file)
@@ -8,9 +8,9 @@
 ; NOTE: This function uses entry points from memcpy!
 ;
 
-               .export         _memmove
+        .export         _memmove
         .import         memcpy_getparams, memcpy_upwards, popax
-               .importzp       ptr1, ptr2, ptr3, ptr4, tmp1
+        .importzp       ptr1, ptr2, ptr3, ptr4, tmp1
 
         .macpack        generic
         .macpack        longbranch
@@ -31,54 +31,54 @@ _memmove:
 
 ; Copy downwards. Adjust the pointers to the end of the memory regions.
 
-        lda    ptr1+1
-               add     ptr3+1
-       sta     ptr1+1
+        lda     ptr1+1
+        add     ptr3+1
+        sta     ptr1+1
 
-       lda     ptr2+1
-       add     ptr3+1
-       sta     ptr2+1
+        lda     ptr2+1
+        add     ptr3+1
+        sta     ptr2+1
 
 ; handle fractions of a page size first
 
-       ldy     ptr3            ; count, low byte
-       bne     @entry          ; something to copy?
-       beq     PageSizeCopy    ; here like bra...
+        ldy     ptr3            ; count, low byte
+        bne     @entry          ; something to copy?
+        beq     PageSizeCopy    ; here like bra...
 
 @copyByte:
-       lda     (ptr1),y
-       sta     (ptr2),y
+        lda     (ptr1),y
+        sta     (ptr2),y
 @entry:
-       dey
-       bne     @copyByte
-       lda     (ptr1),y        ; copy remaining byte
-       sta     (ptr2),y
+        dey
+        bne     @copyByte
+        lda     (ptr1),y        ; copy remaining byte
+        sta     (ptr2),y
 
-PageSizeCopy:                  ; assert Y = 0
-       ldx     ptr3+1          ; number of pages
-       beq     done            ; none? -> done
+PageSizeCopy:                   ; assert Y = 0
+        ldx     ptr3+1          ; number of pages
+        beq     done            ; none? -> done
 
 @initBase:
-       dec     ptr1+1          ; adjust base...
-       dec     ptr2+1
-       dey                     ; in entry case: 0 -> FF
-        lda     (ptr1),y       ; need to copy this 'intro byte'
-        sta     (ptr2),y       ; to 'land' later on Y=0! (as a result of the '.repeat'-block!)
-       dey                     ; FF ->FE
+        dec     ptr1+1          ; adjust base...
+        dec     ptr2+1
+        dey                     ; in entry case: 0 -> FF
+        lda     (ptr1),y        ; need to copy this 'intro byte'
+        sta     (ptr2),y        ; to 'land' later on Y=0! (as a result of the '.repeat'-block!)
+        dey                     ; FF ->FE
 @copyBytes:
-       .repeat 2               ; Unroll this a bit to make it faster...
+        .repeat 2               ; Unroll this a bit to make it faster...
         lda     (ptr1),y
         sta     (ptr2),y
-       dey
-       .endrepeat
-@copyEntry:                    ; in entry case: 0 -> FF
-       bne     @copyBytes
-       lda     (ptr1),y        ; Y = 0, copy last byte
+        dey
+        .endrepeat
+@copyEntry:                     ; in entry case: 0 -> FF
+        bne     @copyBytes
+        lda     (ptr1),y        ; Y = 0, copy last byte
         sta     (ptr2),y
-       dex                     ; one page to copy less
-       bne     @initBase       ; still a page to copy?
+        dex                     ; one page to copy less
+        bne     @initBase       ; still a page to copy?
 
 ; Done, return dest
 
-done:          jmp     popax           ; Pop ptr and return as result
+done:   jmp     popax           ; Pop ptr and return as result
                 
index 6634e8fb73d47d3effc39aea1dfbc8000e18b93c..96f5d9e1115ad8fa99a78034c81fdb3e51ee638b 100644 (file)
 ;       in a/x is of any use.
 ;
 
-       .export         _memset, _bzero, __bzero
-       .import         popax
-               .importzp       sp, ptr1, ptr2, ptr3
+        .export         _memset, _bzero, __bzero
+        .import         popax
+        .importzp       sp, ptr1, ptr2, ptr3
 
 _bzero:
 __bzero:
         sta     ptr3
         stx     ptr3+1          ; Save n
-        ldx     #0             ; Fill with zeros
+        ldx     #0              ; Fill with zeros
         beq     common
 
 _memset:
-       sta     ptr3            ; Save n
-       stx     ptr3+1
-       jsr     popax           ; Get c
-       tax
+        sta     ptr3            ; Save n
+        stx     ptr3+1
+        jsr     popax           ; Get c
+        tax
 
 ; Common stuff for memset and bzero from here
 
-common:                                ; Fill value is in X!
-       ldy     #1
+common:                         ; Fill value is in X!
+        ldy     #1
         lda     (sp),y
-        sta    ptr1+1          ; save high byte of ptr
-        dey                    ; Y = 0
+        sta     ptr1+1          ; save high byte of ptr
+        dey                     ; Y = 0
         lda     (sp),y          ; Get ptr
-       sta     ptr1
+        sta     ptr1
 
-       lsr     ptr3+1          ; divide number of
-       ror     ptr3            ; bytes by two to increase
-       bcc     evenCount       ; speed (ptr3 = ptr3/2)
+        lsr     ptr3+1          ; divide number of
+        ror     ptr3            ; bytes by two to increase
+        bcc     evenCount       ; speed (ptr3 = ptr3/2)
 oddCount:
-                               ; y is still 0 here
-       txa                     ; restore fill value
-       sta     (ptr1),y        ; save value and increase
-       inc     ptr1            ; dest. pointer
-       bne     evenCount
-       inc     ptr1+1
+                                ; y is still 0 here
+        txa                     ; restore fill value
+        sta     (ptr1),y        ; save value and increase
+        inc     ptr1            ; dest. pointer
+        bne     evenCount
+        inc     ptr1+1
 evenCount:
-       lda     ptr1            ; build second pointer section
-       clc
-       adc     ptr3            ; ptr2 = ptr1 + (length/2) <- ptr3
-       sta     ptr2
-       lda     ptr1+1
-       adc     ptr3+1
-       sta     ptr2+1
+        lda     ptr1            ; build second pointer section
+        clc
+        adc     ptr3            ; ptr2 = ptr1 + (length/2) <- ptr3
+        sta     ptr2
+        lda     ptr1+1
+        adc     ptr3+1
+        sta     ptr2+1
 
-       txa                     ; restore fill value
-       ldx     ptr3+1          ; Get high byte of n
-               beq     L2              ; Jump if zero
+        txa                     ; restore fill value
+        ldx     ptr3+1          ; Get high byte of n
+        beq     L2              ; Jump if zero
 
 ; Set 256/512 byte blocks
-                               ; y is still 0 here
-L1:            .repeat 2               ; Unroll this a bit to make it faster
-       sta     (ptr1),y        ; Set byte in lower section
-       sta     (ptr2),y        ; Set byte in upper section
-       iny
-       .endrepeat
-       bne     L1
-       inc     ptr1+1
-       inc     ptr2+1
-               dex                     ; Next 256 byte block
-       bne     L1              ; Repeat if any
+                                ; y is still 0 here
+L1:     .repeat 2               ; Unroll this a bit to make it faster
+        sta     (ptr1),y        ; Set byte in lower section
+        sta     (ptr2),y        ; Set byte in upper section
+        iny
+        .endrepeat
+        bne     L1
+        inc     ptr1+1
+        inc     ptr2+1
+        dex                     ; Next 256 byte block
+        bne     L1              ; Repeat if any
 
 ; Set the remaining bytes if any
 
-L2:            ldy     ptr3            ; Get the low byte of n
-       beq     leave           ; something to set? No -> leave
+L2:     ldy     ptr3            ; Get the low byte of n
+        beq     leave           ; something to set? No -> leave
 
-L3:    dey
-       sta     (ptr1),y                ; set bytes in low
-       sta     (ptr2),y                ; and high section
-       bne     L3              ; flags still up to date from dey!
-leave: 
-       jmp     popax           ; Pop ptr and return as result
+L3:     dey
+        sta     (ptr1),y                ; set bytes in low
+        sta     (ptr2),y                ; and high section
+        bne     L3              ; flags still up to date from dey!
+leave:  
+        jmp     popax           ; Pop ptr and return as result
 
                 
index 55a98f058506ccb1ae73b0398b9dfe3b090f5957..1144983aa2ac6d7290159e0fb04c349356ddae3d 100644 (file)
@@ -1,7 +1,7 @@
 ;
 ; Oliver Schmidt, 2005-08-30
 ;
-; int mkdir (const char* name, ...);   /* May take a mode argument */
+; int mkdir (const char* name, ...);    /* May take a mode argument */
 ;
 
         .export         _mkdir
index 762e0bb94aa9913ab8f9828674ff9c851ef66bd2..c3ced33f6ce9e66f8341cf098b5a9ffac8400c79 100644 (file)
@@ -2,7 +2,7 @@
 ;*                                                                           */
 ;*                                   modfree.s                               */
 ;*                                                                           */
-;*                         Free loaded o65 modules                          */
+;*                          Free loaded o65 modules                          */
 ;*                                                                           */
 ;*                                                                           */
 ;*                                                                           */
index a8f34f7f6826d3f527c40033bf17fa08e6b88df6..e1dc497a279cd13f191e17a5abfc2fa01f78a6c0 100644 (file)
 
 
 
-#include <stddef.h>                    /* define NULL */
-#include <stdlib.h>                    /* declare function's prototype */
+#include <stddef.h>                     /* define NULL */
+#include <stdlib.h>                     /* declare function's prototype */
 #include <_heap.h>
 
 #include <errno.h>
-#define EOK            0               /* No errors (non-standard name) */
+#define EOK             0               /* No errors (non-standard name) */
 
 
 
index b164e887ddd674b40e3d21d1f014af244271bf1c..8d645dfa230e29151dd63a63f86eff25355cb118 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 1.12.2000
 ;
 
-       .export         _printf
-       .import         _stdout, pushax, addysp, _vfprintf
-       .importzp       sp, ptr1
+        .export         _printf
+        .import         _stdout, pushax, addysp, _vfprintf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; Code
@@ -24,10 +24,10 @@ ParamSize:  .res    1               ; Number of parameter bytes
 
 
 _printf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; We are using a (hopefully) clever trick here to reduce code size. On entry,
-; the stack pointer points to the last pushed parameter        of the variable
+; the stack pointer points to the last pushed parameter of the variable
 ; parameter list. Adding the number of parameter bytes, would result in a
 ; pointer that points *after* the Format parameter.
 ; Since we have to push stdout anyway, we will do that here, so
@@ -37,40 +37,40 @@ _printf:
 ;     be pushed next.
 ;
 
-       lda     _stdout
-       ldx     _stdout+1
-       jsr     pushax
+        lda     _stdout
+        ldx     _stdout+1
+        jsr     pushax
 
 ; Now calculate the va_list pointer, which does points to Format
 
-       lda     sp
-       ldx     sp+1
-       add     ParamSize
-       bcc     @L1
-       inx
-@L1:   sta     ptr1
-       stx     ptr1+1
+        lda     sp
+        ldx     sp+1
+        add     ParamSize
+        bcc     @L1
+        inx
+@L1:    sta     ptr1
+        stx     ptr1+1
 
 ; Push Format
 
-       ldy     #1
-       lda     (ptr1),y
-       tax
-       dey
-       lda     (ptr1),y
-       jsr     pushax
+        ldy     #1
+        lda     (ptr1),y
+        tax
+        dey
+        lda     (ptr1),y
+        jsr     pushax
 
 ; Load va_list (last and __fastcall__ parameter to vfprintf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vfprintf
 
-       jsr     _vfprintf
+        jsr     _vfprintf
 
 ; Cleanup the stack. We will return what we got from vfprintf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
index 7270ee5be7d27f4b92b70326895d94e178db454e..1de1a54abd4399485b918d73052101c71296b018 100644 (file)
@@ -4,7 +4,7 @@
 ; int __fastcall__ putchar (int c);
 ;
 
-               .export         _putchar
+        .export         _putchar
         .import         pushax
         .import         _stdout
         .import         _fputc
index 6f7982fcd01bb8d7cd29408f332cadd7bff4001c..7e44a7cd891087a04957ee3df894ec81239ae212 100644 (file)
 
 ; Since free() has destroyed ptr2, we need another copy ...
 
-        jsr    copyenvptr              ; Copy __environ to ptr2
+        jsr     copyenvptr              ; Copy __environ to ptr2
 
 ; Bump the environment count and remember it in X. Add the final NULL entry.
 
@@ -169,10 +169,10 @@ addentry:
 ; Error entries
 
 nomem:  lda     #ENOMEM
-error: jsr     __seterrno
-       lda     #$FF                    ; Return -1
-       tax
-       rts
+error:  jsr     __seterrno
+        lda     #$FF                    ; Return -1
+        tax
+        rts
 
 .endproc
 
index 85b8cc315d3149592ef239c54fd0586cc6ee792e..b0ad5180f7e549f39b193d7f3777ea157f257f79 100644 (file)
@@ -14,7 +14,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -25,9 +25,9 @@ int __fastcall__ puts (const char* s)
 
     /* Assume stdout is always open */
     if (write (stdout->f_fd, s, strlen (s)) < 0 ||
-       write (stdout->f_fd, &nl, 1)        < 0) {
-               stdout->f_flags |= _FERROR;
-       return -1;
+        write (stdout->f_fd, &nl, 1)        < 0) {
+        stdout->f_flags |= _FERROR;
+        return -1;
     }
 
     /* Done */
index e05fdfc3597304fdf755bf609d940b8ff5130c5f..383962934fb91244594f329fd69ba6de98638e62 100644 (file)
@@ -12,7 +12,7 @@
 
 static void QuickSort (register unsigned char* Base, int Lo, int Hi,
                        register size_t Size,
-                      int (*Compare)(const void*, const void*))
+                       int (*Compare)(const void*, const void*))
 /* Internal recursive function. Works with ints, but this shouldn't be
  * a problem.
  */
@@ -21,42 +21,42 @@ static void QuickSort (register unsigned char* Base, int Lo, int Hi,
 
     /* Quicksort */
     while (Hi > Lo) {
-       I = Lo + Size;
-       J = Hi;
-       while (I <= J) {
-           while (I <= J && Compare (Base + Lo, Base + I) >= 0) {
-               I += Size;
-           }
-           while (I <= J && Compare (Base + Lo, Base + J) < 0) {
-               J -= Size;
-           }
-           if (I <= J) {
-               _swap (Base + I, Base + J, Size);
-               I += Size;
-               J -= Size;
-           }
-       }
-       if (J != Lo) {
-           _swap (Base + J, Base + Lo, Size);
-       }
-               if (((unsigned) J) * 2 > (Hi + Lo)) {
-           QuickSort (Base, J + Size, Hi, Size, Compare);
-           Hi = J - Size;
-       } else {
-           QuickSort (Base, Lo, J - Size, Size, Compare);
-           Lo = J + Size;
-       }
+        I = Lo + Size;
+        J = Hi;
+        while (I <= J) {
+            while (I <= J && Compare (Base + Lo, Base + I) >= 0) {
+                I += Size;
+            }
+            while (I <= J && Compare (Base + Lo, Base + J) < 0) {
+                J -= Size;
+            }
+            if (I <= J) {
+                _swap (Base + I, Base + J, Size);
+                I += Size;
+                J -= Size;
+            }
+        }
+        if (J != Lo) {
+            _swap (Base + J, Base + Lo, Size);
+        }
+        if (((unsigned) J) * 2 > (Hi + Lo)) {
+            QuickSort (Base, J + Size, Hi, Size, Compare);
+            Hi = J - Size;
+        } else {
+            QuickSort (Base, Lo, J - Size, Size, Compare);
+            Lo = J + Size;
+        }
     }
 }
 
 
 
 void __fastcall__ qsort (void* base, size_t nmemb, size_t size,
-                        int (*compare)(const void*, const void*))
+                         int (*compare)(const void*, const void*))
 /* Quicksort implementation */
 {
     if (nmemb > 1) {
-               QuickSort (base, 0, (nmemb-1) * size, size, compare);
+        QuickSort (base, 0, (nmemb-1) * size, size, compare);
     }
 }
 
index 0ed52aa8b6fd246d580d9c4b3976cfa1848890a7..48a88b7c413254b4ebe3b2d675c9470ab91d4b35 100644 (file)
 ;  detectable patterns.
 ;
 
-       .export         _rand, _srand
+        .export         _rand, _srand
 
 .data
 
 ; The seed. When srand() is not called, the C standard says that that rand()
 ; should behave as if srand() was called with an argument of 1 before.
-rand:          .dword   1
+rand:   .dword   1
 
 .code
 
-_rand: clc
-       lda     rand+0          ; SEED *= $01010101
-       adc     rand+1
-       sta     rand+1
-       adc     rand+2
-       sta     rand+2
-       adc     rand+3
-       sta     rand+3
-       clc
-       lda     rand+0          ; SEED += $31415927
-       adc     #$27
-       sta     rand+0
-       lda     rand+1
-       adc     #$59
-       sta     rand+1
-       pha
-       lda     rand+2
-       adc     #$41
-       sta     rand+2
-       and     #$7f            ; Suppress sign bit (make it positive)
-       tax
-       lda     rand+3
-       adc     #$31
-       sta     rand+3
-       pla                     ; return bit 8-22 in (X,A)
-       rts
+_rand:  clc
+        lda     rand+0          ; SEED *= $01010101
+        adc     rand+1
+        sta     rand+1
+        adc     rand+2
+        sta     rand+2
+        adc     rand+3
+        sta     rand+3
+        clc
+        lda     rand+0          ; SEED += $31415927
+        adc     #$27
+        sta     rand+0
+        lda     rand+1
+        adc     #$59
+        sta     rand+1
+        pha
+        lda     rand+2
+        adc     #$41
+        sta     rand+2
+        and     #$7f            ; Suppress sign bit (make it positive)
+        tax
+        lda     rand+3
+        adc     #$31
+        sta     rand+3
+        pla                     ; return bit 8-22 in (X,A)
+        rts
 
-_srand:        sta     rand+0          ; Store the seed
-       stx     rand+1
-       lda     #0
-       sta     rand+2          ; Set MSW to zero
-       sta     rand+3
-       rts
+_srand: sta     rand+0          ; Store the seed
+        stx     rand+1
+        lda     #0
+        sta     rand+2          ; Set MSW to zero
+        sta     rand+3
+        rts
 
 
index 2bbc16d9f9e4e7ae75b21bf309c228aa6373d4d2..d9850b591015ac6056b9270126311a23dc179b13 100644 (file)
@@ -48,15 +48,15 @@ void* __fastcall__ realloc (void* block, register size_t size)
 
     /* Check the block parameter */
     if (!block) {
-       /* Block is NULL, same as malloc */
-       return malloc (size);
+        /* Block is NULL, same as malloc */
+        return malloc (size);
     }
 
     /* Check the size parameter */
     if (size == 0) {
-       /* Block is not NULL, but size is: free the block */
-       free (block);
-       return 0;
+        /* Block is not NULL, but size is: free the block */
+        free (block);
+        return 0;
     }
 
     /* Make the internal used size from the given size */
@@ -75,15 +75,15 @@ void* __fastcall__ realloc (void* block, register size_t size)
 
     /* Is the block at the current heap top? */
     if (((unsigned) b) + oldsize == ((unsigned) _heapptr)) {
-       /* Check if we've enough memory at the heap top */
-       newhptr = ((unsigned) _heapptr) - oldsize + size;
-       if (newhptr <= ((unsigned) _heapend)) {
-           /* Ok, there's space enough */
-                   _heapptr = (unsigned*) newhptr;
+        /* Check if we've enough memory at the heap top */
+        newhptr = ((unsigned) _heapptr) - oldsize + size;
+        if (newhptr <= ((unsigned) _heapend)) {
+            /* Ok, there's space enough */
+            _heapptr = (unsigned*) newhptr;
             b->size = size;
             b->start = b;
-           return block;
-       }
+            return block;
+        }
     }
 
     /* The given block was not located on top of the heap, or there's no
@@ -91,19 +91,19 @@ void* __fastcall__ realloc (void* block, register size_t size)
      */
     if (newblock = malloc (size)) {
 
-       /* Adjust the old size to the user visible portion */
-       oldsize -= HEAP_ADMIN_SPACE;
+        /* Adjust the old size to the user visible portion */
+        oldsize -= HEAP_ADMIN_SPACE;
 
-       /* If the new block is larger than the old one, copy the old
-        * data only
-        */
-       if (size > oldsize) {
-           size = oldsize;
-       }
+        /* If the new block is larger than the old one, copy the old
+         * data only
+         */
+        if (size > oldsize) {
+            size = oldsize;
+        }
 
-       /* Copy the block data */
-       memcpy (newblock, block, size);
-       free (block);
+        /* Copy the block data */
+        memcpy (newblock, block, size);
+        free (block);
     }
     return newblock;
 }
index b6055ece534dc592ff51e36fea2e5f91398e5e79..583b779f9e900335968462148820ce71d243c21a 100644 (file)
@@ -11,7 +11,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -22,4 +22,4 @@ void __fastcall__ rewind (FILE* f)
     clearerr(f);
 }
 
-                 
+                  
index e75c92327ba8e0857116ba5fff4a014f7d76472c..dd6c16ad1d57a7353ee8201fe45a6ed92e81868b 100644 (file)
@@ -5,18 +5,18 @@
 ; 2004-12-31, Greg King
 ;
 
-        .export                _scanf
+        .export         _scanf
 
-        .import                _stdin, pushax, addysp, _vfscanf
-        .import                sp:zp, ptr1:zp
+        .import         _stdin, pushax, addysp, _vfscanf
+        .import         sp:zp, ptr1:zp
 
-        .macpack       generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Code
 ;
 _scanf:
-        sty    ArgSize         ; Number of argument bytes passed in .Y
+        sty     ArgSize         ; Number of argument bytes passed in .Y
 
 ; We are using a (hopefully) clever trick here to reduce code size.  On entry,
 ; the stack pointer points to the last pushed argument of the variable
@@ -28,47 +28,47 @@ _scanf:
 ;   * we will have the address of the Format argument which needs to
 ;     be pushed next.
 
-        lda    _stdin
-        ldx    _stdin+1
-        jsr    pushax
+        lda     _stdin
+        ldx     _stdin+1
+        jsr     pushax
 
 ; Now, calculate the va_list pointer, which does point to Format.
 
-        lda    sp
-        ldx    sp+1
-        add    ArgSize
-        bcc    @L1
+        lda     sp
+        ldx     sp+1
+        add     ArgSize
+        bcc     @L1
         inx
-@L1:    sta    ptr1
-        stx    ptr1+1
+@L1:    sta     ptr1
+        stx     ptr1+1
 
 ; Push a copy of Format.
 
-        ldy    #1
-        lda    (ptr1),y
+        ldy     #1
+        lda     (ptr1),y
         tax
         dey
-        lda    (ptr1),y
-        jsr    pushax
+        lda     (ptr1),y
+        jsr     pushax
 
 ; Load va_list [last and __fastcall__ argument to vfscanf()].
 
-        lda    ptr1
-        ldx    ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vfscanf().
 
-        jsr    _vfscanf
+        jsr     _vfscanf
 
 ; Clean up the stack.  We will return what we got from vfscanf().
 
-        ldy    ArgSize
-        jmp    addysp
+        ldy     ArgSize
+        jmp     addysp
 
 ; ----------------------------------------------------------------------------
 ; Data
 ;
         .bss
 ArgSize:
-        .res   1               ; Number of argument bytes
+        .res    1               ; Number of argument bytes
 
index 5851333868a996320127b21c6ab068ddca332131..7a48a3a529ec80f4dd681c65f2cd6bc65717bb94 100644 (file)
@@ -23,7 +23,7 @@
 
 ; Copy the pointer to the environment to the zero page
 
-       jsr     copyenvptr
+        jsr     copyenvptr
 
 ; Loop over all environment entries trying to find the requested one.
 
 ; copyenvptr: Copy _environ to ptr2
 ;
 
-.proc  copyenvptr
+.proc   copyenvptr
 
         lda     __environ
         sta     ptr2
         lda     __environ+1
         sta     ptr2+1
-       rts
+        rts
 
 .endproc
 
index 38ca80e686766b20cbeb64d1356c905e0a573ded..a6448b29f89e47d4e0cecbbefa6920b3cedd1c33 100644 (file)
@@ -4,49 +4,49 @@
 ; int setjmp (jmp_buf buf);
 ;
 
-       .export         __setjmp
-       .importzp       sp, ptr1
+        .export         __setjmp
+        .importzp       sp, ptr1
 
 __setjmp:
-       sta     ptr1            ; Save buf
-       stx     ptr1+1
-       ldy     #0
+        sta     ptr1            ; Save buf
+        stx     ptr1+1
+        ldy     #0
 
 ; The parameter stack is now empty, put it into buf
 
-       lda     sp
-       sta     (ptr1),y
-       iny
-       lda     sp+1
-       sta     (ptr1),y
-       iny
+        lda     sp
+        sta     (ptr1),y
+        iny
+        lda     sp+1
+        sta     (ptr1),y
+        iny
 
 ; Put the return stack pointer next
 
-       tsx
-       inx
-       inx                     ; drop return address
-       txa
-       sta     (ptr1),y
-       iny
+        tsx
+        inx
+        inx                     ; drop return address
+        txa
+        sta     (ptr1),y
+        iny
 
 ; Last thing is the return address.
 
-       pla
-       tax
-       pla
-       sta     (ptr1),y        ; high byte first
-       iny
-       pha
-       txa
-       sta     (ptr1),y
-       pha
+        pla
+        tax
+        pla
+        sta     (ptr1),y        ; high byte first
+        iny
+        pha
+        txa
+        sta     (ptr1),y
+        pha
 
 ; Return zero
 
-       lda     #0
-       tax
-       rts
+        lda     #0
+        tax
+        rts
 
 
   
index 9327ca89c33f55d820d5192a85c06d71279d1141..333072801a442d08ce7304b29b8a35cf38dd98c7 100644 (file)
@@ -4,8 +4,8 @@
 ; __sigfunc __fastcall__ signal (int sig, __sigfunc func);
 ;
 
-       .import         popax
-       .importzp       ptr1
+        .import         popax
+        .importzp       ptr1
 
         .include        "signal.inc"
         .include        "errno.inc"
index 33ce4b1c90673c6e843b0b3518212e7e60563c3b..33afb434df1183a5433553260c2438907c83dcb3 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 2009-09-26
 ;
 
-       .export         _snprintf
-       .import         pushax, addysp, decsp6, _vsnprintf
-       .importzp       sp, ptr1
+        .export         _snprintf
+        .import         pushax, addysp, decsp6, _vsnprintf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; Code
@@ -24,7 +24,7 @@ ParamSize:    .res    1               ; Number of parameter bytes
 
 
 _snprintf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; We have to push buf/size/format, both in the order they already have on stack.
 ; To make this somewhat more efficient, we will create space on the stack and
@@ -33,37 +33,37 @@ _snprintf:
 ; of the fixed arguments, this will allow us to calculate the pointer to the
 ; fixed size arguments easier (they're just ParamSize bytes away).
 
-       jsr     decsp6
+        jsr     decsp6
 
 ; Calculate a pointer to the Format argument
 
-       lda     ParamSize
-       add     sp
-       sta     ptr1
-       ldx     sp+1
-       bcc     @L1
-       inx
-@L1:   stx     ptr1+1
+        lda     ParamSize
+        add     sp
+        sta     ptr1
+        ldx     sp+1
+        bcc     @L1
+        inx
+@L1:    stx     ptr1+1
 
 ; Now copy buf/size/format
 
-       ldy     #6-1
-@L2:   lda     (ptr1),y
-       sta     (sp),y
-       dey
-       bpl     @L2
+        ldy     #6-1
+@L2:    lda     (ptr1),y
+        sta     (sp),y
+        dey
+        bpl     @L2
 
 ; Load va_list (last and __fastcall__ parameter to vsprintf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vsnprintf
 
-       jsr     _vsnprintf
+        jsr     _vsnprintf
 
 ; Cleanup the stack. We will return what we got from vsprintf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
index 1b196450a842d7d8d08881a5e31f138952ace739..d502d8638bbdadd8224ff122f8a728f73a153b64 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 1.12.2000
 ;
 
-       .export         _sprintf
-       .import         pushax, addysp, decsp4, _vsprintf
-       .importzp       sp, ptr1
+        .export         _sprintf
+        .import         pushax, addysp, decsp4, _vsprintf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; Code
@@ -24,7 +24,7 @@ ParamSize:    .res    1               ; Number of parameter bytes
 
 
 _sprintf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; We have to push buf and format, both in the order they already have on stack.
 ; To make this somewhat more efficient, we will create space on the stack and
@@ -33,37 +33,37 @@ _sprintf:
 ; of the fixed arguments, this will allow us to calculate the pointer to the
 ; fixed size arguments easier (they're just ParamSize bytes away).
 
-       jsr     decsp4
+        jsr     decsp4
 
 ; Calculate a pointer to the Format argument
 
-       lda     ParamSize
-       add     sp
-       sta     ptr1
-       ldx     sp+1
-       bcc     @L1
-       inx
-@L1:   stx     ptr1+1
+        lda     ParamSize
+        add     sp
+        sta     ptr1
+        ldx     sp+1
+        bcc     @L1
+        inx
+@L1:    stx     ptr1+1
 
 ; Now copy both, buf and format
 
-       ldy     #4-1
-@L2:   lda     (ptr1),y
-       sta     (sp),y
-       dey
-       bpl     @L2
+        ldy     #4-1
+@L2:    lda     (ptr1),y
+        sta     (sp),y
+        dey
+        bpl     @L2
 
 ; Load va_list (last and __fastcall__ parameter to vsprintf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vsprintf
 
-       jsr     _vsprintf
+        jsr     _vsprintf
 
 ; Cleanup the stack. We will return what we got from vsprintf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
index 025e317a6b63620fd7bad8bad31c9c49d8d40b81..5e580e91fef2ba1b3e04b94b29746b8ccf81827e 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 2004-11-28
 ;
 
-       .export         _sscanf
-       .import         addysp, decsp4, _vsscanf
-       .importzp       sp, ptr1
+        .export         _sscanf
+        .import         addysp, decsp4, _vsscanf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; Code
@@ -37,7 +37,7 @@ ParamSize:    .res    1               ; Number of parameter bytes
 .code
 
 _sscanf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; We have to push buf and format, both in the order they already have on stack.
 ; To make this somewhat more efficient, we will create space on the stack and
@@ -46,37 +46,37 @@ _sscanf:
 ; of the fixed arguments, this will allow us to calculate the pointer to the
 ; fixed size arguments easier (they're just ParamSize bytes away).
 
-       jsr     decsp4
+        jsr     decsp4
 
 ; Calculate a pointer to the fixed parameters
 
-       lda     ParamSize
-       add     sp
-       sta     ptr1
-       ldx     sp+1
-       bcc     @L1
-       inx
-@L1:   stx     ptr1+1
+        lda     ParamSize
+        add     sp
+        sta     ptr1
+        ldx     sp+1
+        bcc     @L1
+        inx
+@L1:    stx     ptr1+1
 
 ; Now copy both, str and format
 
-       ldy     #4-1
-@L2:   lda     (ptr1),y
-       sta     (sp),y
-       dey
-       bpl     @L2
+        ldy     #4-1
+@L2:    lda     (ptr1),y
+        sta     (sp),y
+        dey
+        bpl     @L2
 
 ; Load va_list (last and __fastcall__ parameter to vsscanf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vsscanf
 
-       jsr     _vsscanf
+        jsr     _vsscanf
 
 ; Cleanup the stack. We will return what we got from vsscanf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
index 8640626f348bed943d1cbeaccffa10982a9dcaef..7784d89f762bc42be2577a4393976bad49c4c7d4 100644 (file)
@@ -4,52 +4,52 @@
 ; char* strcat (char* dest, const char* src);
 ;
 
-               .export         _strcat
-       .import         popax
-       .importzp       ptr1, ptr2, tmp3
+        .export         _strcat
+        .import         popax
+        .importzp       ptr1, ptr2, tmp3
 
 _strcat:
-               sta     ptr1            ; Save src
-               stx     ptr1+1
-               jsr     popax           ; Get dest
-       sta     ptr2
-       stx     ptr2+1
-       sta     tmp3            ; Remember for function return
-       ldy     #0
+        sta     ptr1            ; Save src
+        stx     ptr1+1
+        jsr     popax           ; Get dest
+        sta     ptr2
+        stx     ptr2+1
+        sta     tmp3            ; Remember for function return
+        ldy     #0
 
 ; find end of dest
 
-sc1:   lda     (ptr2),y
-       beq     sc2
-       iny
-       bne     sc1
-       inc     ptr2+1
-       bne     sc1
+sc1:    lda     (ptr2),y
+        beq     sc2
+        iny
+        bne     sc1
+        inc     ptr2+1
+        bne     sc1
 
 ; end found, get offset in y into pointer
 
-sc2:   tya
-       clc
-       adc     ptr2
-       sta     ptr2
-       bcc     sc3
-       inc     ptr2+1
+sc2:    tya
+        clc
+        adc     ptr2
+        sta     ptr2
+        bcc     sc3
+        inc     ptr2+1
 
 ; copy src
 
-sc3:   ldy     #0
-sc4:   lda     (ptr1),y
-       sta     (ptr2),y
-       beq     sc5
-       iny
-       bne     sc4
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     sc4
+sc3:    ldy     #0
+sc4:    lda     (ptr1),y
+        sta     (ptr2),y
+        beq     sc5
+        iny
+        bne     sc4
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     sc4
 
 ; done, return pointer to dest
 
-sc5:   lda     tmp3            ; X does still contain high byte
-       rts
+sc5:    lda     tmp3            ; X does still contain high byte
+        rts
 
 
index d1761b905fc549afd2b86cf43277f895071a9329..308381b06e1954fa6612076dd4a144ecea811df0 100644 (file)
@@ -4,45 +4,45 @@
 ; const char* strchr (const char* s, int c);
 ;
 
-       .export         _strchr
-       .import         popax
-       .importzp       ptr1, tmp1
+        .export         _strchr
+        .import         popax
+        .importzp       ptr1, tmp1
 
 _strchr:
-               sta     tmp1            ; Save c
-               jsr     popax           ; get s
-               sta     ptr1
-               stx     ptr1+1
-               ldy     #0
-
-Loop:  lda     (ptr1),y        ; Get next char
-       beq     EOS             ; Jump on end of string
-       cmp     tmp1            ; Found?
-       beq     Found           ; Jump if yes
-               iny
-               bne     Loop
-               inc     ptr1+1
-               bne     Loop            ; Branch always
+        sta     tmp1            ; Save c
+        jsr     popax           ; get s
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #0
+
+Loop:   lda     (ptr1),y        ; Get next char
+        beq     EOS             ; Jump on end of string
+        cmp     tmp1            ; Found?
+        beq     Found           ; Jump if yes
+        iny
+        bne     Loop
+        inc     ptr1+1
+        bne     Loop            ; Branch always
 
 ; End of string. Check if we're searching for the terminating zero
 
-EOS:   lda     tmp1            ; Get the char we're searching for
-       bne     NotFound        ; Jump if not searching for terminator
+EOS:    lda     tmp1            ; Get the char we're searching for
+        bne     NotFound        ; Jump if not searching for terminator
 
 ; Found. Calculate pointer to c.
 
-Found: ldx     ptr1+1          ; Load high byte of pointer
-       tya                     ; Low byte offset          
-               clc
-               adc     ptr1
-               bcc     Found1
-               inx
-Found1:        rts
+Found:  ldx     ptr1+1          ; Load high byte of pointer
+        tya                     ; Low byte offset          
+        clc
+        adc     ptr1
+        bcc     Found1
+        inx
+Found1: rts
 
 ; Not found, return NULL
 
 NotFound:
-       lda     #0
-       tax
-       rts
+        lda     #0
+        tax
+        rts
 
index db85d9bc3113a644ab72b58e710dc448250f9037..189ce8fa7a9f7df8f7d3d8f0affad61db0a9094d 100644 (file)
@@ -4,32 +4,32 @@
 ; int strcmp (const char* s1, const char* s2);
 ;
 
-       .export         _strcmp
-       .import         popax
-       .importzp       ptr1, ptr2
+        .export         _strcmp
+        .import         popax
+        .importzp       ptr1, ptr2
 
 _strcmp:
-       sta     ptr2            ; Save s2
-       stx     ptr2+1
-       jsr     popax           ; Get s1
-       sta     ptr1
-       stx     ptr1+1
-       ldy     #0
+        sta     ptr2            ; Save s2
+        stx     ptr2+1
+        jsr     popax           ; Get s1
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #0
 
-loop:  lda     (ptr1),y
-       cmp     (ptr2),y
-       bne     L1
-       tax                     ; end of strings?
-       beq     L3
-       iny
-       bne     loop
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     loop
+loop:   lda     (ptr1),y
+        cmp     (ptr2),y
+        bne     L1
+        tax                     ; end of strings?
+        beq     L3
+        iny
+        bne     loop
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     loop
 
-L1:    bcs     L2
-       ldx     #$FF
-       rts
+L1:     bcs     L2
+        ldx     #$FF
+        rts
 
-L2:    ldx     #$01
-L3:    rts
+L2:     ldx     #$01
+L3:     rts
index 664d1f48390754e73162d4ccdb635d5e471ca607..9b2db28935815c120bf6a0464a09d8959e6d8bbf 100644 (file)
@@ -6,8 +6,8 @@
 ; Since we don't have locales, this function is equivalent to strcmp.
 ;
 
-       .export         _strcoll
-       .import         _strcmp
+        .export         _strcoll
+        .import         _strcmp
 
-_strcoll       = _strcmp
+_strcoll        = _strcmp
 
index a48f0e35a52b4c9213cee9bea1dbe9f4f34aeb4f..77b39fe7617ad9da4cbe1e49bc63832d0bd97911 100644 (file)
@@ -4,27 +4,27 @@
 ; char* strcpy (char* dest, const char* src);
 ;
 
-       .export         _strcpy
-       .import         popax
-       .importzp       ptr1, ptr2
+        .export         _strcpy
+        .import         popax
+        .importzp       ptr1, ptr2
 
 _strcpy:
-       sta     ptr1            ; Save src
-       stx     ptr1+1
-       jsr     popax           ; Get dest
-       sta     ptr2
-       stx     ptr2+1
-       ldy     #$00
+        sta     ptr1            ; Save src
+        stx     ptr1+1
+        jsr     popax           ; Get dest
+        sta     ptr2
+        stx     ptr2+1
+        ldy     #$00
 
-L1:    lda     (ptr1),y
-       sta     (ptr2),y
-       beq     L9
-       iny
-       bne     L1
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     L1
+L1:     lda     (ptr1),y
+        sta     (ptr2),y
+        beq     L9
+        iny
+        bne     L1
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     L1
 
-L9:            lda     ptr2            ; X still contains high byte
-       rts
+L9:     lda     ptr2            ; X still contains high byte
+        rts
 
index 6c1256101053e6dcdc243916374a8e463a3d5d85..8fd567ae4417ce8f3b4dd887662e6036bf001dc2 100644 (file)
@@ -4,50 +4,50 @@
 ; size_t strcspn (const char* s1, const char* s2);
 ;
 
-       .export         _strcspn
-       .import         popax
-       .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
+        .export         _strcspn
+        .import         popax
+        .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
 
 _strcspn:
-       sta     ptr2            ; Save s2
-       stx     ptr2+1
-       jsr     popax           ; Get s1
-       sta     ptr1
-       stx     ptr1+1
-       ldx     #0              ; low counter byte
-       stx     tmp1            ; high counter byte
-       ldy     #$00
-
-L1:    lda     (ptr1),y        ; get next char from s1
-               beq     L6              ; jump if done
-       sta     tmp2            ; save char
-       iny
-       bne     L2
-       inc     ptr1+1
-L2:    sty     tmp3            ; save index into s1
-
-       ldy     #0              ; get index into s2
-L3:    lda     (ptr2),y        ;
-       beq     L4              ; jump if done
-       cmp     tmp2
-       beq     L6
-       iny
-       bne     L3
+        sta     ptr2            ; Save s2
+        stx     ptr2+1
+        jsr     popax           ; Get s1
+        sta     ptr1
+        stx     ptr1+1
+        ldx     #0              ; low counter byte
+        stx     tmp1            ; high counter byte
+        ldy     #$00
+
+L1:     lda     (ptr1),y        ; get next char from s1
+        beq     L6              ; jump if done
+        sta     tmp2            ; save char
+        iny
+        bne     L2
+        inc     ptr1+1
+L2:     sty     tmp3            ; save index into s1
+
+        ldy     #0              ; get index into s2
+L3:     lda     (ptr2),y        ;
+        beq     L4              ; jump if done
+        cmp     tmp2
+        beq     L6
+        iny
+        bne     L3
 
 ; The character was not found in s2. Increment the counter and start over
 
-L4:            ldy     tmp3            ; reload index
-       inx
-       bne     L1
-       inc     tmp1
-       bne     L1
+L4:     ldy     tmp3            ; reload index
+        inx
+        bne     L1
+        inc     tmp1
+        bne     L1
 
 ; The character was found, or we reached the end of s1. Return count of
 ; characters
 
-L6:    txa                     ; get low counter byte
-       ldx     tmp1            ; get high counter byte
-       rts
+L6:     txa                     ; get low counter byte
+        ldx     tmp1            ; get high counter byte
+        rts
 
 
 
index 57cf914882fed9d24ad3054439b505a2933fa09a..3ab07bda1d69c97149d5cc1d1a4a9ffa7325fb7d 100644 (file)
@@ -6,13 +6,13 @@
 ; Note: The code knowns which zero page locations are used by malloc.
 ;
 
-       .importzp       sp, tmp1, ptr4
-       .import         pushax, decsp4, incsp4
-       .import         _strlen, _malloc, _memcpy
-       .export         _strdup
+        .importzp       sp, tmp1, ptr4
+        .import         pushax, decsp4, incsp4
+        .import         _strlen, _malloc, _memcpy
+        .export         _strdup
 
         .macpack        cpu
-       .macpack        generic
+        .macpack        generic
 
 _strdup:
 
@@ -20,66 +20,66 @@ _strdup:
 ; stack frame. To make this somewhat more efficient, create the stackframe
 ; as needed for the final call to the memcpy function.
 
-       pha                     ; decsp will destroy A (but not X)
-       jsr     decsp4          ; Target/source
+        pha                     ; decsp will destroy A (but not X)
+        jsr     decsp4          ; Target/source
 
 ; Store the pointer into the source slot
 
-       ldy     #1
-       txa
-       sta     (sp),y
-       pla
+        ldy     #1
+        txa
+        sta     (sp),y
+        pla
 .if (.cpu .bitand CPU_ISET_65SC02)
-       sta     (sp)
+        sta     (sp)
 .else
-               dey
-               sta     (sp),y
+        dey
+        sta     (sp),y
 .endif
 
 ; Get length of S (which is still in a/x)
 
-       jsr     _strlen
+        jsr     _strlen
 
 ; Calculate strlen(S)+1 (the space needed)
 
-       add     #1
-       bcc     @L1
-       inx
+        add     #1
+        bcc     @L1
+        inx
 
 ; Save the space we're about to allocate in ptr4
 
-@L1:   sta     ptr4
-       stx     ptr4+1
+@L1:    sta     ptr4
+        stx     ptr4+1
 
 ; Allocate memory. _malloc will not use ptr4
 
-       jsr     _malloc
+        jsr     _malloc
 
 ; Store the result into the target stack slot
 
-       ldy     #2
-       sta     (sp),y          ; Store low byte
-       sta     tmp1
-       txa                     ; Get high byte
-       iny
-       sta     (sp),y          ; Store high byte
+        ldy     #2
+        sta     (sp),y          ; Store low byte
+        sta     tmp1
+        txa                     ; Get high byte
+        iny
+        sta     (sp),y          ; Store high byte
 
 ; Check for a NULL pointer
 
-       ora     tmp1
-       beq     OutOfMemory
+        ora     tmp1
+        beq     OutOfMemory
 
 ; Copy the string. memcpy will return the target string which is exactly
 ; what we need here. It will also drop the allocated stack frame.
 
-       lda     ptr4
-       ldx     ptr4+1          ; Load size
-       jmp     _memcpy         ; Copy string, drop stackframe
+        lda     ptr4
+        ldx     ptr4+1          ; Load size
+        jmp     _memcpy         ; Copy string, drop stackframe
 
 ; Out of memory, return NULL (A = 0)
 
 OutOfMemory:
-       tax
-       jmp     incsp4          ; Drop stack frame
+        tax
+        jmp     incsp4          ; Drop stack frame
 
 
index 98a5725b186ceba855edb32e3531dad715996028..0f41331ea9a8a5319556f0533fd851c04f952c4b 100644 (file)
@@ -5,16 +5,16 @@
 ; /* Map an error number to an error message */
 ;
 
-       .export         _strerror
-       .import         __sys_errlist
+        .export         _strerror
+        .import         __sys_errlist
 
-       .include        "errno.inc"
+        .include        "errno.inc"
 
 _strerror:
-       cpx     #$00            ; High byte must be zero
-               bne     @L1             ; Jump if invalid error
-       cmp     #EMAX           ; Valid error code (map EUNKNOWN to 0)?
-       bcc     @L2             ; Jump if ok
+        cpx     #$00            ; High byte must be zero
+        bne     @L1             ; Jump if invalid error
+        cmp     #EMAX           ; Valid error code (map EUNKNOWN to 0)?
+        bcc     @L2             ; Jump if ok
 
 ; The given error code is invalid
 
@@ -22,14 +22,14 @@ _strerror:
         sta     __errno
         lda     #>EINVAL        ; = 0
         sta     __errno+1
-;       lda    #$00            ; A contains zero: "Unknown error"
+;       lda     #$00            ; A contains zero: "Unknown error"
 
 ; Load the pointer to the error message and return
 
-@L2:   asl     a               ; * 2
-       tay
-               ldx     __sys_errlist+1,y
-       lda     __sys_errlist,y
-       rts
+@L2:    asl     a               ; * 2
+        tay
+        ldx     __sys_errlist+1,y
+        lda     __sys_errlist,y
+        rts
 
 
index baaa6fbe81106c3a055ec3205c92693592f30d0c..49d2677cf2aa8c4ac25a21d955f4e9a214f411c9 100644 (file)
@@ -162,9 +162,9 @@ size_t __fastcall__ strftime (char* buf, size_t bufsize, const char* format,
 
                 case 'c':
                     sprintf (arg, "%.3s %.3s%3d %02d:%02d:%02d %d",
-                            days[tm->tm_wday], months[tm->tm_mon],
-                            tm->tm_mday, tm->tm_hour, tm->tm_min,
-                            tm->tm_sec, tm->tm_year + 1900);
+                             days[tm->tm_wday], months[tm->tm_mon],
+                             tm->tm_mday, tm->tm_hour, tm->tm_min,
+                             tm->tm_sec, tm->tm_year + 1900);
                     break;
 
                 case 'd':
index 03638c8e2892befb39459cfdce1b329ebffb064f..501d0b6256b29a9d52cb47dc5d1039d9462f4e48 100644 (file)
@@ -1,60 +1,60 @@
 ;
 ; Ullrich von Bassewitz, 03.06.1998
 ;
-; int stricmp (const char* s1, const char* s2);                /* DOS way */
-; int strcasecmp (const char* s1, const char* s2);     /* UNIX way */
+; int stricmp (const char* s1, const char* s2);         /* DOS way */
+; int strcasecmp (const char* s1, const char* s2);      /* UNIX way */
 ;
 
-       .export         _stricmp, _strcasecmp
-       .import         popax
-       .import         __ctype
-       .importzp       ptr1, ptr2, tmp1
+        .export         _stricmp, _strcasecmp
+        .import         popax
+        .import         __ctype
+        .importzp       ptr1, ptr2, tmp1
 
         .include        "ctype.inc"
 
 _stricmp:
 _strcasecmp:
-       sta     ptr2            ; Save s2
-       stx     ptr2+1
-       jsr     popax           ; get s1
-       sta     ptr1
-       stx     ptr1+1
-       ldy     #0
+        sta     ptr2            ; Save s2
+        stx     ptr2+1
+        jsr     popax           ; get s1
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #0
 
-loop:          lda     (ptr2),y        ; get char from second string
-       tax
-       lda     __ctype,x       ; get character classification
-               and     #CT_LOWER       ; lower case char?
-       beq     L1              ; jump if no
-       txa                     ; get character back
-       clc
-       adc     #<('A'-'a')     ; make upper case char
-       tax                     ;
-L1:    stx     tmp1            ; remember upper case equivalent
+loop:   lda     (ptr2),y        ; get char from second string
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_LOWER       ; lower case char?
+        beq     L1              ; jump if no
+        txa                     ; get character back
+        clc
+        adc     #<('A'-'a')     ; make upper case char
+        tax                     ;
+L1:     stx     tmp1            ; remember upper case equivalent
 
-       lda     (ptr1),y        ; get character from first string
-       tax
-       lda     __ctype,x       ; get character classification
-       and     #CT_LOWER       ; lower case char?
-               beq     L2              ; jump if no
-       txa                     ; get character back
-       clc
-               adc     #<('A'-'a')     ; make upper case char
-       tax
+        lda     (ptr1),y        ; get character from first string
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_LOWER       ; lower case char?
+        beq     L2              ; jump if no
+        txa                     ; get character back
+        clc
+        adc     #<('A'-'a')     ; make upper case char
+        tax
                                 
-L2:    cpx     tmp1            ; compare characters
-       bne     L3
-       txa                     ; end of strings?
-       beq     L5              ; a/x both zero
-       iny
-       bne     loop
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     loop
+L2:     cpx     tmp1            ; compare characters
+        bne     L3
+        txa                     ; end of strings?
+        beq     L5              ; a/x both zero
+        iny
+        bne     loop
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     loop
 
-L3:    bcs     L4
-       ldx     #$FF
-       rts
+L3:     bcs     L4
+        ldx     #$FF
+        rts
 
-L4:    ldx     #$01
-L5:    rts
+L4:     ldx     #$01
+L5:     rts
index 6cef2eaf5b324b842dee8704295b3e132a6e4e81..b583eea50c4b1876538af312e90a23a65a99d4fa 100644 (file)
@@ -4,23 +4,23 @@
 ; int strlen (const char* s);
 ;
 
-       .export         _strlen
-       .importzp       ptr1
+        .export         _strlen
+        .importzp       ptr1
 
 _strlen:
-       sta     ptr1            ; Save s
-       stx     ptr1+1
-       ldx     #0              ; YX used as counter
-       ldy     #0
+        sta     ptr1            ; Save s
+        stx     ptr1+1
+        ldx     #0              ; YX used as counter
+        ldy     #0
 
-L1:    lda     (ptr1),y
-       beq     L9
-       iny
-       bne     L1
-       inc     ptr1+1
-       inx
-       bne     L1
+L1:     lda     (ptr1),y
+        beq     L9
+        iny
+        bne     L1
+        inc     ptr1+1
+        inx
+        bne     L1
 
-L9:    tya                     ; get low byte of counter, hi's all set
-               rts
+L9:     tya                     ; get low byte of counter, hi's all set
+        rts
 
index 28214b9905a9f63165e6954cee0527931ad482a8..9df79b732f9d1305c2f19d9420aa80c3f4a94a63 100644 (file)
@@ -7,41 +7,41 @@
 ; Non-ANSI
 ;
 
-       .export         _strlower, _strlwr
-       .import         popax
-       .import         __ctype
-       .importzp       ptr1, ptr2
+        .export         _strlower, _strlwr
+        .import         popax
+        .import         __ctype
+        .importzp       ptr1, ptr2
 
         .include        "ctype.inc"
 
 _strlower:
 _strlwr:
-       sta     ptr1            ; Save s (working copy)
-       stx     ptr1+1
-       sta     ptr2
-               sta     ptr2+1          ; save function result
-       ldy     #0
-
-loop:  lda     (ptr1),y        ; get character
-       beq     L9              ; jump if done
-       tax
-       lda     __ctype,x       ; get character classification
-               and     #CT_UPPER       ; upper case char?
-       beq     L1              ; jump if no
-       txa                     ; get character back into accu
-       sec
-       sbc     #<('A'-'a')     ; make lower case char
-       sta     (ptr1),y        ; store back
-L1:    iny                     ; next char
-       bne     loop
-       inc     ptr1+1          ; handle offset overflow
-       bne     loop            ; branch always
+        sta     ptr1            ; Save s (working copy)
+        stx     ptr1+1
+        sta     ptr2
+        sta     ptr2+1          ; save function result
+        ldy     #0
+
+loop:   lda     (ptr1),y        ; get character
+        beq     L9              ; jump if done
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_UPPER       ; upper case char?
+        beq     L1              ; jump if no
+        txa                     ; get character back into accu
+        sec
+        sbc     #<('A'-'a')     ; make lower case char
+        sta     (ptr1),y        ; store back
+L1:     iny                     ; next char
+        bne     loop
+        inc     ptr1+1          ; handle offset overflow
+        bne     loop            ; branch always
 
 ; Done, return the argument string
 
-L9:    lda     ptr2
-       ldx     ptr2+1
-       rts
+L9:     lda     ptr2
+        ldx     ptr2+1
+        rts
 
 
 
index 5171ad9b49e55cb28c0590437999f241ce3226be..b7bb04b2ad6fd83d56a0c8ceecc2b2a34a5b3538 100644 (file)
@@ -4,69 +4,69 @@
 ; char* strncat (char* dest, const char* src, size_t n);
 ;
 
-               .export         _strncat
-       .import         popax
-       .importzp       ptr1, ptr2, ptr3, tmp1, tmp2
+        .export         _strncat
+        .import         popax
+        .importzp       ptr1, ptr2, ptr3, tmp1, tmp2
 
 _strncat:
-       eor     #$FF            ; one's complement to count upwards
-       sta     tmp1
-       txa
-       eor     #$FF
-       sta     tmp2
-               jsr     popax           ; get src
-               sta     ptr1
-               stx     ptr1+1
-               jsr     popax           ; get dest
-       sta     ptr2
-       stx     ptr2+1
-       sta     ptr3            ; remember for function return
-       stx     ptr3+1
-       ldy     #0
+        eor     #$FF            ; one's complement to count upwards
+        sta     tmp1
+        txa
+        eor     #$FF
+        sta     tmp2
+        jsr     popax           ; get src
+        sta     ptr1
+        stx     ptr1+1
+        jsr     popax           ; get dest
+        sta     ptr2
+        stx     ptr2+1
+        sta     ptr3            ; remember for function return
+        stx     ptr3+1
+        ldy     #0
 
 ; find end of dest
 
-L1:    lda     (ptr2),y
-       beq     L2
-       iny
-       bne     L1
-       inc     ptr2+1
-       bne     L1
+L1:     lda     (ptr2),y
+        beq     L2
+        iny
+        bne     L1
+        inc     ptr2+1
+        bne     L1
 
 ; end found, get offset in y into pointer
 
-L2:    tya
-       clc
-       adc     ptr2
-       sta     ptr2
-       bcc     L3
-       inc     ptr2+1
+L2:     tya
+        clc
+        adc     ptr2
+        sta     ptr2
+        bcc     L3
+        inc     ptr2+1
 
 ; copy src. We've put the ones complement of the count into the counter, so
 ; we'll increment the counter on top of the loop
 
-L3:    ldy     #0
-       ldx     tmp1            ; low counter byte
+L3:     ldy     #0
+        ldx     tmp1            ; low counter byte
 
-L4:    inx
-       bne     L5
-       inc     tmp2
-               beq     L6              ; jump if done
-L5:    lda     (ptr1),y
-       sta     (ptr2),y
-       beq     L7
-       iny
-       bne     L4
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     L4
+L4:     inx
+        bne     L5
+        inc     tmp2
+        beq     L6              ; jump if done
+L5:     lda     (ptr1),y
+        sta     (ptr2),y
+        beq     L7
+        iny
+        bne     L4
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     L4
 
 ; done, set the trailing zero and return pointer to dest
 
-L6:            lda     #0
-       sta     (ptr2),y
-L7:    lda     ptr3
-       ldx     ptr3+1
-       rts
+L6:     lda     #0
+        sta     (ptr2),y
+L7:     lda     ptr3
+        ldx     ptr3+1
+        rts
 
 
index 3af44fa6985c367b5d2fe8bc3c5e094d4a43ef28..1035e15b82f4d2172f919a4fa860f43f21e7321d 100644 (file)
@@ -4,9 +4,9 @@
 ; int strncmp (const char* s1, const char* s2, unsigned n);
 ;
 
-       .export         _strncmp
-       .import         popax
-       .importzp       ptr1, ptr2, ptr3
+        .export         _strncmp
+        .import         popax
+        .importzp       ptr1, ptr2, ptr3
 
 
 _strncmp:
@@ -17,65 +17,65 @@ _strncmp:
 ; executing a more complex test in each iteration of the loop. We do also
 ; correct the value by one, so we can do the test on top of the loop.
 
-       eor     #$FF
-       sta     ptr3
-       txa
-       eor     #$FF
-       sta     ptr3+1
+        eor     #$FF
+        sta     ptr3
+        txa
+        eor     #$FF
+        sta     ptr3+1
 
 ; Get the remaining arguments
 
-               jsr     popax           ; get s2
-       sta     ptr2
-       stx     ptr2+1
-       jsr     popax           ; get s1
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax           ; get s2
+        sta     ptr2
+        stx     ptr2+1
+        jsr     popax           ; get s1
+        sta     ptr1
+        stx     ptr1+1
 
 ; Loop setup
 
-       ldy     #0
+        ldy     #0
 
 ; Start of compare loop. Check the counter.
 
-Loop:          inc     ptr3
-       beq     IncHi           ; Increment high byte
+Loop:   inc     ptr3
+        beq     IncHi           ; Increment high byte
 
 ; Compare a byte from the strings
 
-Comp:  lda     (ptr1),y
-       cmp     (ptr2),y
-               bne     NotEqual        ; Jump if strings different
-       tax                     ; End of strings?
-               beq     Equal1          ; Jump if EOS reached, a/x == 0
+Comp:   lda     (ptr1),y
+        cmp     (ptr2),y
+        bne     NotEqual        ; Jump if strings different
+        tax                     ; End of strings?
+        beq     Equal1          ; Jump if EOS reached, a/x == 0
 
 ; Increment the pointers
 
-       iny
-       bne     Loop
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     Loop            ; Branch always
+        iny
+        bne     Loop
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     Loop            ; Branch always
 
 ; Increment hi byte
 
-IncHi: inc     ptr3+1
-               bne     Comp            ; Jump if counter not zero
+IncHi:  inc     ptr3+1
+        bne     Comp            ; Jump if counter not zero
 
 ; Exit code if strings are equal. a/x not set
 
-Equal: lda     #$00
-       tax
-Equal1:        rts
+Equal:  lda     #$00
+        tax
+Equal1: rts
 
 ; Exit code if strings not equal
 
 NotEqual:
-       bcs     L1
-       ldx     #$FF            ; Make result negative
-       rts
+        bcs     L1
+        ldx     #$FF            ; Make result negative
+        rts
 
-L1:    ldx     #$01            ; Make result positive
-       rts
+L1:     ldx     #$01            ; Make result positive
+        rts
 
 
index 21de3a15954824412f7d7a6a442bb585293c8c34..042f9e28b625be52b1d4be99c3eaeead708aad57 100644 (file)
@@ -4,9 +4,9 @@
 ; char* __fastcall__ strncpy (char* dest, const char* src, unsigned size);
 ;
 
-       .export         _strncpy
-       .import         popax
-       .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
+        .export         _strncpy
+        .import         popax
+        .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
 
 .proc   _strncpy
 
         eor     #$FF
         sta     tmp2            ; Store -size - 1
 
-               jsr     popax           ; get src
-       sta     ptr1
-       stx     ptr1+1
-       jsr     popax           ; get dest
-       sta     ptr2
-       stx     ptr2+1
-               stx     tmp3            ; remember for function return
+        jsr     popax           ; get src
+        sta     ptr1
+        stx     ptr1+1
+        jsr     popax           ; get dest
+        sta     ptr2
+        stx     ptr2+1
+        stx     tmp3            ; remember for function return
 
 ; Copy src -> dest up to size bytes
 
         ldx     tmp1            ; Load low byte of ones complement of size
-       ldy     #$00
+        ldy     #$00
 L1:     inx
         bne     L2
         inc     tmp2
index 38bd21c73f4a8bffceff05e383e04bc63d4087f2..b1f973e3a030788b5fa841bf5737f71c19e70c9f 100644 (file)
@@ -6,9 +6,9 @@
 ; int __fastcall__ strncasecmp (const char* s1, const char* s2, size_t count);
 ;
 
-       .export         _strnicmp, _strncasecmp
-       .import         popax, __ctype
-       .importzp       ptr1, ptr2, ptr3, tmp1
+        .export         _strnicmp, _strncasecmp
+        .import         popax, __ctype
+        .importzp       ptr1, ptr2, ptr3, tmp1
 
         .include        "ctype.inc"
 
@@ -21,83 +21,83 @@ _strncasecmp:
 ; executing a more complex test in each iteration of the loop. We do also
 ; correct the value by one, so we can do the test on top of the loop.
 
-       eor     #$FF
-       sta     ptr3
-       txa
-       eor     #$FF
-       sta     ptr3+1
+        eor     #$FF
+        sta     ptr3
+        txa
+        eor     #$FF
+        sta     ptr3+1
 
 ; Get the remaining arguments
 
-               jsr     popax           ; get s2
-       sta     ptr2
-       stx     ptr2+1
-       jsr     popax           ; get s1
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax           ; get s2
+        sta     ptr2
+        stx     ptr2+1
+        jsr     popax           ; get s1
+        sta     ptr1
+        stx     ptr1+1
 
 ; Loop setup
 
-       ldy     #0
+        ldy     #0
 
 ; Start of compare loop. Check the counter.
 
-Loop:          inc     ptr3
-       beq     IncHi           ; Increment high byte
+Loop:   inc     ptr3
+        beq     IncHi           ; Increment high byte
 
 ; Compare a byte from the strings
 
-Comp:  lda     (ptr2),y
-       tax
-       lda     __ctype,x       ; get character classification
-               and     #CT_LOWER       ; lower case char?
-       beq     L1              ; jump if no
-       txa                     ; get character back
-       sec
-       sbc     #<('a'-'A')     ; make upper case char
-       tax                     ;
-L1:    stx     tmp1            ; remember upper case equivalent
-
-       lda     (ptr1),y        ; get character from first string
-       tax
-       lda     __ctype,x       ; get character classification
-       and     #CT_LOWER       ; lower case char?
-               beq     L2              ; jump if no
-       txa                     ; get character back
-       sec
-               sbc     #<('a'-'A')     ; make upper case char
-       tax
-
-L2:    cpx     tmp1            ; compare characters
-               bne     NotEqual        ; Jump if strings different
-       txa                     ; End of strings?
-               beq     Equal1          ; Jump if EOS reached, a/x == 0
+Comp:   lda     (ptr2),y
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_LOWER       ; lower case char?
+        beq     L1              ; jump if no
+        txa                     ; get character back
+        sec
+        sbc     #<('a'-'A')     ; make upper case char
+        tax                     ;
+L1:     stx     tmp1            ; remember upper case equivalent
+
+        lda     (ptr1),y        ; get character from first string
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_LOWER       ; lower case char?
+        beq     L2              ; jump if no
+        txa                     ; get character back
+        sec
+        sbc     #<('a'-'A')     ; make upper case char
+        tax
+
+L2:     cpx     tmp1            ; compare characters
+        bne     NotEqual        ; Jump if strings different
+        txa                     ; End of strings?
+        beq     Equal1          ; Jump if EOS reached, a/x == 0
 
 ; Increment the pointers
 
-       iny
-       bne     Loop
-       inc     ptr1+1
-       inc     ptr2+1
-       bne     Loop            ; Branch always
+        iny
+        bne     Loop
+        inc     ptr1+1
+        inc     ptr2+1
+        bne     Loop            ; Branch always
 
 ; Increment hi byte
 
-IncHi: inc     ptr3+1
-               bne     Comp            ; Jump if counter not zero
+IncHi:  inc     ptr3+1
+        bne     Comp            ; Jump if counter not zero
 
 ; Exit code if strings are equal. a/x not set
 
-Equal: lda     #$00
-       tax
-Equal1:        rts
+Equal:  lda     #$00
+        tax
+Equal1: rts
 
 ; Exit code if strings not equal
 
 NotEqual:
-       bcs     L3
-       ldx     #$FF            ; Make result negative
-       rts
+        bcs     L3
+        ldx     #$FF            ; Make result negative
+        rts
 
-L3:    ldx     #$01            ; Make result positive
-       rts
+L3:     ldx     #$01            ; Make result positive
+        rts
index c410b54d37d808490cbd03cae6a0904c586c836a..25ca30dafdc5ca6ad811fb0efe5868eaa120bc2b 100644 (file)
@@ -5,8 +5,8 @@
 ; /* Map an operating system error number to an error message. */
 ;
 
-       .export         __stroserror
-       .import         __sys_oserrlist
+        .export         __stroserror
+        .import         __sys_oserrlist
         .importzp       ptr1, tmp1
 
         .macpack        generic
index e34468b53c013a5e0daef7ad601edc668f6bcb47..5d1482913d73f0366f8707de12bb0b8e7c601b18 100644 (file)
@@ -1,59 +1,59 @@
-;                                                  
+;                                                   
 ; Ullrich von Bassewitz, 11.06.1998
 ;
 ; char* strpbrk (const char* s1, const char* s2);
 ;
 
-       .export         _strpbrk
-       .import         popax, return0
-       .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
+        .export         _strpbrk
+        .import         popax, return0
+        .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
 
 _strpbrk:
-               jsr     popax           ; get s2
-       sta     ptr2
-       stx     ptr2+1
-       jsr     popax           ; get s1
-       sta     ptr1
-       stx     ptr1+1
-       ldy     #$00
-
-L1:    lda     (ptr1),y        ; get next char from s1
-               beq     L9              ; jump if done
-       sta     tmp2            ; save char
-       iny
-       bne     L2
-       inc     ptr1+1
-L2:    sty     tmp3            ; save index into s1
-
-       ldy     #0              ; get index into s2
-L3:    lda     (ptr2),y        ;
-       beq     L4              ; jump if done
-       cmp     tmp2
-       beq     L6
-       iny
-       bne     L3
+        jsr     popax           ; get s2
+        sta     ptr2
+        stx     ptr2+1
+        jsr     popax           ; get s1
+        sta     ptr1
+        stx     ptr1+1
+        ldy     #$00
+
+L1:     lda     (ptr1),y        ; get next char from s1
+        beq     L9              ; jump if done
+        sta     tmp2            ; save char
+        iny
+        bne     L2
+        inc     ptr1+1
+L2:     sty     tmp3            ; save index into s1
+
+        ldy     #0              ; get index into s2
+L3:     lda     (ptr2),y        ;
+        beq     L4              ; jump if done
+        cmp     tmp2
+        beq     L6
+        iny
+        bne     L3
 
 ; The character was not found in s2. Increment the counter and start over
 
-L4:            ldy     tmp3            ; reload index
-       inx
-       bne     L1
-       inc     tmp1
-       bne     L1
+L4:     ldy     tmp3            ; reload index
+        inx
+        bne     L1
+        inc     tmp1
+        bne     L1
 
 ; A character was found. Calculate a pointer to this char in s1 and return it.
 
-L6:    ldx     ptr1+1
-       lda     tmp3            ; get y offset
-       clc
-       adc     ptr1
-       bcc     L7
-       inx
-L7:    rts
+L6:     ldx     ptr1+1
+        lda     tmp3            ; get y offset
+        clc
+        adc     ptr1
+        bcc     L7
+        inx
+L7:     rts
 
 ; None of the characters in s2 was found - return NULL
 
-L9:    jmp     return0
+L9:     jmp     return0
 
 
 
index bf09fbd7b9e953054e7dccda914ce250ec1f3c3f..bd7389e7614762bbf47c78f64c99bf0a92c57750 100644 (file)
@@ -4,44 +4,44 @@
 ; char* strrchr (const char* s, int c);
 ;
 
-       .export         _strrchr
-       .import         popax
-       .importzp       ptr1, ptr2, tmp1
+        .export         _strrchr
+        .import         popax
+        .importzp       ptr1, ptr2, tmp1
 
 _strrchr:
-               sta     tmp1            ; Save c
-               jsr     popax           ; get s
-               sta     ptr1
-               stx     ptr1+1
-       lda     #0              ; function result = NULL
-       sta     ptr2
-       sta     ptr2+1
-               tay
-
-L1:    lda     (ptr1),y        ; get next char
-               beq     L3              ; jump if end of string
-               cmp     tmp1            ; found?
-               bne     L2              ; jump if no
+        sta     tmp1            ; Save c
+        jsr     popax           ; get s
+        sta     ptr1
+        stx     ptr1+1
+        lda     #0              ; function result = NULL
+        sta     ptr2
+        sta     ptr2+1
+        tay
+
+L1:     lda     (ptr1),y        ; get next char
+        beq     L3              ; jump if end of string
+        cmp     tmp1            ; found?
+        bne     L2              ; jump if no
 
 ; Remember a pointer to the character
 
-       tya
-       clc
-       adc     ptr1
-       sta     ptr2
-       lda     ptr1+1
-       adc     #$00
-       sta     ptr2+1
+        tya
+        clc
+        adc     ptr1
+        sta     ptr2
+        lda     ptr1+1
+        adc     #$00
+        sta     ptr2+1
 
 ; Next char
 
-L2:    iny
-               bne     L1
-               inc     ptr1+1
-               bne     L1              ; jump always
+L2:     iny
+        bne     L1
+        inc     ptr1+1
+        bne     L1              ; jump always
 
 ; Return the pointer to the last occurrence
 
-L3:    lda     ptr2
-       ldx     ptr2+1
-       rts
+L3:     lda     ptr2
+        ldx     ptr2+1
+        rts
index 884a3376acf37b6c46f402145a857cc3f871666d..f8b8fff2ac4da37dc8de787e9a31508f0b838162 100644 (file)
@@ -4,50 +4,50 @@
 ; size_t strspn (const char* s1, const char* s2);
 ;
 
-       .export         _strspn
-       .import         popax
-       .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
+        .export         _strspn
+        .import         popax
+        .importzp       ptr1, ptr2, tmp1, tmp2, tmp3
 
 _strspn:
-       sta     ptr2            ; Save s2
-       stx     ptr2+1
-       jsr     popax           ; get s1
-       sta     ptr1
-       stx     ptr1+1
-       ldx     #0              ; low counter byte
-       stx     tmp1            ; high counter byte
-       ldy     #$00
-
-L1:    lda     (ptr1),y        ; get next char from s1
-               beq     L6              ; jump if done
-       sta     tmp2            ; save char
-       iny
-       bne     L2
-       inc     ptr1+1
-L2:    sty     tmp3            ; save index into s1
-
-       ldy     #0              ; get index into s2
-L3:    lda     (ptr2),y        ;
-               beq     L6              ; jump if done
-       cmp     tmp2
-       beq     L4
-       iny
-       bne     L3
+        sta     ptr2            ; Save s2
+        stx     ptr2+1
+        jsr     popax           ; get s1
+        sta     ptr1
+        stx     ptr1+1
+        ldx     #0              ; low counter byte
+        stx     tmp1            ; high counter byte
+        ldy     #$00
+
+L1:     lda     (ptr1),y        ; get next char from s1
+        beq     L6              ; jump if done
+        sta     tmp2            ; save char
+        iny
+        bne     L2
+        inc     ptr1+1
+L2:     sty     tmp3            ; save index into s1
+
+        ldy     #0              ; get index into s2
+L3:     lda     (ptr2),y        ;
+        beq     L6              ; jump if done
+        cmp     tmp2
+        beq     L4
+        iny
+        bne     L3
 
 ; The character was found in s2. Increment the counter and start over
 
-L4:            ldy     tmp3            ; reload index
-       inx
-       bne     L1
-       inc     tmp1
-       bne     L1
+L4:     ldy     tmp3            ; reload index
+        inx
+        bne     L1
+        inc     tmp1
+        bne     L1
 
 ; The character was not found, or we reached the end of s1. Return count of
 ; characters
 
-L6:    txa                     ; get low counter byte
-       ldx     tmp1            ; get high counter byte
-       rts
+L6:     txa                     ; get low counter byte
+        ldx     tmp1            ; get high counter byte
+        rts
 
 
 
index 62e1944ec86497949efc67bd1a349748fbcd99a9..55e2def03e4f55cb143f5c30f6ef186008503fa8 100644 (file)
@@ -4,86 +4,86 @@
 ; char* strstr (const char* haystack, const char* needle);
 ;
 
-       .export         _strstr
-       .import         popax
-       .importzp       ptr1, ptr2, ptr3, ptr4, tmp1
+        .export         _strstr
+        .import         popax
+        .importzp       ptr1, ptr2, ptr3, ptr4, tmp1
 
 _strstr:
-       sta     ptr2            ; Save needle
-       stx     ptr2+1
-       sta     ptr4            ; Setup temp copy for later
+        sta     ptr2            ; Save needle
+        stx     ptr2+1
+        sta     ptr4            ; Setup temp copy for later
 
-       jsr     popax           ; Get haystack
-       sta     ptr1
-       stx     ptr1+1          ; Save haystack
+        jsr     popax           ; Get haystack
+        sta     ptr1
+        stx     ptr1+1          ; Save haystack
 
 ; If needle is empty, return haystack
 
-       ldy     #$00
-       lda     (ptr2),y        ; Get first byte of needle
-               beq     @Found          ; Needle is empty --> we're done
+        ldy     #$00
+        lda     (ptr2),y        ; Get first byte of needle
+        beq     @Found          ; Needle is empty --> we're done
 
 ; Search for the beginning of the string (this is not an optimal search
 ; strategy [in fact, it's pretty dumb], but it's simple to implement).
 
-       sta     tmp1            ; Save start of needle
-@L1:   lda     (ptr1),y        ; Get next char from haystack
-               beq     @NotFound       ; Jump if end
-       cmp     tmp1            ; Start of needle found?
-               beq     @L2             ; Jump if so
-       iny                     ; Next char
-       bne     @L1
-       inc     ptr1+1          ; Bump high byte
-       bne     @L1             ; Branch always
+        sta     tmp1            ; Save start of needle
+@L1:    lda     (ptr1),y        ; Get next char from haystack
+        beq     @NotFound       ; Jump if end
+        cmp     tmp1            ; Start of needle found?
+        beq     @L2             ; Jump if so
+        iny                     ; Next char
+        bne     @L1
+        inc     ptr1+1          ; Bump high byte
+        bne     @L1             ; Branch always
 
 ; We found the start of needle in haystack
 
-@L2:   tya                     ; Get offset
-       clc
-       adc     ptr1
-       sta     ptr1            ; Make ptr1 point to start
-       bcc     @L3
-       inc     ptr1+1
+@L2:    tya                     ; Get offset
+        clc
+        adc     ptr1
+        sta     ptr1            ; Make ptr1 point to start
+        bcc     @L3
+        inc     ptr1+1
 
 ; ptr1 points to the start of needle now. Setup temporary pointers for the
 ; search. The low byte of ptr4 is already set.
 
-@L3:           sta     ptr3
-       lda     ptr1+1
-        sta    ptr3+1
-       lda     ptr2+1
-       sta     ptr4+1
-       ldy     #1              ; First char is identical, so start on second
+@L3:    sta     ptr3
+        lda     ptr1+1
+        sta     ptr3+1
+        lda     ptr2+1
+        sta     ptr4+1
+        ldy     #1              ; First char is identical, so start on second
 
 ; Do the compare
 
-@L4:   lda     (ptr4),y        ; Get char from needle
-               beq     @Found          ; Jump if end of needle (-> found)
-       cmp     (ptr3),y        ; Compare with haystack
-       bne     @L5             ; Jump if not equal
-       iny                     ; Next char
-               bne     @L4
-       inc     ptr3+1
-       inc     ptr4+1          ; Bump hi byte of pointers
-       bne     @L4             ; Next char (branch always)
+@L4:    lda     (ptr4),y        ; Get char from needle
+        beq     @Found          ; Jump if end of needle (-> found)
+        cmp     (ptr3),y        ; Compare with haystack
+        bne     @L5             ; Jump if not equal
+        iny                     ; Next char
+        bne     @L4
+        inc     ptr3+1
+        inc     ptr4+1          ; Bump hi byte of pointers
+        bne     @L4             ; Next char (branch always)
 
 ; The strings did not compare equal, search next start of needle
 
-@L5:   ldy     #1              ; Start after this char
-               bne     @L1             ; Branch always
+@L5:    ldy     #1              ; Start after this char
+        bne     @L1             ; Branch always
 
 ; We found the start of needle
 
-@Found:        lda     ptr1
-       ldx     ptr1+1
-       rts
+@Found: lda     ptr1
+        ldx     ptr1+1
+        rts
 
 ; We reached end of haystack without finding needle
 
 @NotFound:
-       lda     #$00            ; return NULL
-       tax
-       rts
+        lda     #$00            ; return NULL
+        tax
+        rts
 
 
 
index 10c0d428c4c24df1f1daafdfd4c0e348e82e35a9..122547fb31f138556f0d7b84a9bba0314d89e56c 100644 (file)
@@ -5,5 +5,5 @@
 ;
 
         .import         _strtol
-       .export         _strtoimax = _strtol
+        .export         _strtoimax = _strtol
 
index 3e5ff7dd58463d890b54c873890680243f00378b..30e3e81e425b98bbe4ba84470d4c379b4e93c69e 100644 (file)
@@ -11,7 +11,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -22,7 +22,7 @@ static char* Last = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -34,24 +34,24 @@ char* __fastcall__ strtok (register char* s1, const char* s2)
 
     /* Use the stored location if called with a NULL pointer */
     if (s1 == 0) {
-       s1 = Last;
+        s1 = Last;
     }
 
     /* If s1 is empty, there are no more tokens. Return 0 in this case. */
     if (*s1 == '\0') {
-       return 0;
+        return 0;
     }
 
     /* Search the address of the first element in s1 that equals none
      * of the characters in s2.
      */
     while ((c = *s1) && strchr (s2, c) != 0) {
-       ++s1;
+        ++s1;
     }
     if (c == '\0') {
-       /* No more tokens found */
-       Last = s1;
-       return 0;
+        /* No more tokens found */
+        Last = s1;
+        return 0;
     }
 
     /* Remember the start of the token */
@@ -59,14 +59,14 @@ char* __fastcall__ strtok (register char* s1, const char* s2)
 
     /* Search for the end of the token */
     while ((c = *s1) && strchr (s2, c) == 0) {
-       ++s1;
+        ++s1;
     }
     if (c == '\0') {
-       /* Last element */
-       Last = s1;
+        /* Last element */
+        Last = s1;
     } else {
-       *s1 = '\0';
-       Last = s1 + 1;
+        *s1 = '\0';
+        Last = s1 + 1;
     }
 
     /* Return the start of the token */
index c59d51c3c44f01aa6dc0aa4931b65029c9589983..89ea18b6bbe23c2a79000adcaa76a397ae91352f 100644 (file)
@@ -5,5 +5,5 @@
 ;
 
         .import         _strtoul
-       .export         _strtoumax = _strtoul
+        .export         _strtoumax = _strtoul
 
index e33b286755eb9a91c61076b7cab9c46a77e82d4f..d7aa2f9140407b66a6f9b18c19f6d1215fd7865b 100644 (file)
@@ -7,41 +7,41 @@
 ; Non-ANSI
 ;
 
-       .export         _strupper, _strupr
-       .import         popax
-       .import         __ctype
-       .importzp       ptr1, ptr2
+        .export         _strupper, _strupr
+        .import         popax
+        .import         __ctype
+        .importzp       ptr1, ptr2
 
         .include        "ctype.inc"
 
 _strupper:
 _strupr:
-       sta     ptr1            ; Save s (working copy)
-       stx     ptr1+1
-       sta     ptr2
-               sta     ptr2+1          ; save function result
-       ldy     #0
-
-loop:  lda     (ptr1),y        ; get character
-       beq     L9              ; jump if done
-       tax
-       lda     __ctype,x       ; get character classification
-               and     #CT_LOWER       ; lower case char?
-       beq     L1              ; jump if no
-       txa                     ; get character back into accu
-       clc
-               adc     #<('A'-'a')     ; make upper case char
-       sta     (ptr1),y        ; store back
-L1:    iny                     ; next char
-       bne     loop
-       inc     ptr1+1          ; handle offset overflow
-       bne     loop            ; branch always
+        sta     ptr1            ; Save s (working copy)
+        stx     ptr1+1
+        sta     ptr2
+        sta     ptr2+1          ; save function result
+        ldy     #0
+
+loop:   lda     (ptr1),y        ; get character
+        beq     L9              ; jump if done
+        tax
+        lda     __ctype,x       ; get character classification
+        and     #CT_LOWER       ; lower case char?
+        beq     L1              ; jump if no
+        txa                     ; get character back into accu
+        clc
+        adc     #<('A'-'a')     ; make upper case char
+        sta     (ptr1),y        ; store back
+L1:     iny                     ; next char
+        bne     loop
+        inc     ptr1+1          ; handle offset overflow
+        bne     loop            ; branch always
 
 ; Done, return the argument string
 
-L9:    lda     ptr2
-       ldx     ptr2+1
-       rts
+L9:     lda     ptr2
+        ldx     ptr2+1
+        rts
 
 
 
index 00171a82a2e624915046b6add0cf2db79736fa37..2157eb49fbc2871ea5b66b86bf6c7eddfe5a4ade 100644 (file)
@@ -4,7 +4,7 @@
 ; time_t __fastcall__ time (time_t* timep);
 ;
 
-       .export         _time
+        .export         _time
 
         .import         __systime
         .importzp       ptr1, sreg, tmp1
index f44aa9cad2778be6f40788339dbc5ef9e9e4cff5..2c624cb745f4248ad3f746e3627f27da04f97edd 100644 (file)
@@ -4,18 +4,18 @@
 ; int tolower (int c);
 ;
 
-       .export         _tolower
-       .import         __ctype
+        .export         _tolower
+        .import         __ctype
 
 _tolower:
         cpx     #$00            ; Outside valid range?
         bne     L9              ; If so, return the argument unchanged
-               tay                     ; Get C into Y
-       lda     __ctype,y       ; Get character classification
-       lsr     a
-       lsr     a               ; Get bit 1 (upper case char) into carry
-       tya                     ; Get char back into A
-               bcc     L9              ; Jump if no upper case char
-               sbc     #<('A'-'a')     ; Make lower case char (carry already set)
-L9:            rts
+        tay                     ; Get C into Y
+        lda     __ctype,y       ; Get character classification
+        lsr     a
+        lsr     a               ; Get bit 1 (upper case char) into carry
+        tya                     ; Get char back into A
+        bcc     L9              ; Jump if no upper case char
+        sbc     #<('A'-'a')     ; Make lower case char (carry already set)
+L9:     rts
 
index adc3d4a337687baa8f70bd30e60392f414e76bf5..da1ee0427f6c3a17db8272cf116020328dd69f95 100644 (file)
@@ -4,18 +4,18 @@
 ; int toupper (int c);
 ;
 
-       .export         _toupper
-       .import         __ctype
+        .export         _toupper
+        .import         __ctype
 
 _toupper:
         cpx     #$00            ; Outside valid range?
         bne     L9              ; If so, return the argument unchanged
-       tay                     ; Get c into Y
-       lda     __ctype,y       ; Get character classification
-       lsr     a               ; Get bit 0 (lower char) into carry
-       tya                     ; Get C back into A
-               bcc     L9              ; Jump if not lower char
-               clc
-               adc     #<('A'-'a')     ; make upper case char
-L9:    rts                     ; CC are set
+        tay                     ; Get c into Y
+        lda     __ctype,y       ; Get character classification
+        lsr     a               ; Get bit 0 (lower char) into carry
+        tya                     ; Get C back into A
+        bcc     L9              ; Jump if not lower char
+        clc
+        adc     #<('A'-'a')     ; make upper case char
+L9:     rts                     ; CC are set
 
index 0ad12e3a293ed5222c47e458902d2ce3c53cf14c..386c450a8ee1dbbb4c52ec7be9086bc912113226 100644 (file)
 
 ; Check if the file is open
 
-       ldy     #_FILE::f_flags
-       lda     (ptr1),y
-       and     #_FOPEN                 ; Is the file open?
-               beq     error                   ; Branch if no
+        ldy     #_FILE::f_flags
+        lda     (ptr1),y
+        and     #_FOPEN                 ; Is the file open?
+        beq     error                   ; Branch if no
 
 ; Set the pushback flag and reset the end-of-file indicator
 
index 881bf9b4219dc72ae0c19268f8eb6f65f1821813..9812f661bb9b9649b23bad4093cf206c4d15dbce 100644 (file)
@@ -5,12 +5,12 @@
 ; 2005-02-08, Ullrich von Bassewitz
 ; 2005-02-11, Greg King
 
-        .export                _vfprintf
-        .import                push1, pushwysp, incsp6
-        .import                _fwrite, __printf
-        .importzp              sp, ptr1
+        .export         _vfprintf
+        .import         push1, pushwysp, incsp6
+        .import         _fwrite, __printf
+        .importzp       sp, ptr1
 
-        .macpack       generic
+        .macpack        generic
 
 
 .data
 ; Static data for the _vfprintf routine
 ;
 outdesc:                        ; Static outdesc structure
-ccount: .res   2
-        .word  out             ; Output function pointer
-ptr:    .res   2               ; Points to output file
-        .res   2               ; (Not used by this function)
+ccount: .res    2
+        .word   out             ; Output function pointer
+ptr:    .res    2               ; Points to output file
+        .res    2               ; (Not used by this function)
 
 .code
 
@@ -57,21 +57,21 @@ out:    ldy     #5
         jsr     pushwysp        ; Push count
         lda     ptr
         ldx     ptr+1   
-        jsr    _fwrite
-        sta    ptr1            ; Save function result
-        stx    ptr1+1
+        jsr     _fwrite
+        sta     ptr1            ; Save function result
+        stx     ptr1+1
 
 ; Check the return value.
 
         ora     ptr1+1
-        bne    @Ok
+        bne     @Ok
 
 ; We had an error. Store -1 into ccount
 
 .ifp02
-        lda    #<-1
+        lda     #<-1
 .else
-        dec    a
+        dec     a
 .endif
         sta     ccount
         bne     @Done           ; Branch always
@@ -109,37 +109,37 @@ out:    ldy     #5
 ; }
 ;
 _vfprintf:
-        pha                    ; Save low byte of ap
+        pha                     ; Save low byte of ap
 
 ; Setup the outdesc structure
 
-        lda    #0
-        sta    ccount
-        sta    ccount+1        ; Clear character-count
+        lda     #0
+        sta     ccount
+        sta     ccount+1        ; Clear character-count
 
 ; Reorder the stack. Replace f on the stack by &d, so the stack frame is
 ; exactly as _printf expects it. Parameters will get dropped by _printf.
 
-        ldy    #2
-        lda    (sp),y          ; Low byte of f
-        sta    ptr
-        lda    #<outdesc
-        sta    (sp),y
+        ldy     #2
+        lda     (sp),y          ; Low byte of f
+        sta     ptr
+        lda     #<outdesc
+        sta     (sp),y
         iny
-        lda    (sp),y          ; High byte of f
-        sta    ptr+1
-        lda    #>outdesc
-        sta    (sp),y
+        lda     (sp),y          ; High byte of f
+        sta     ptr+1
+        lda     #>outdesc
+        sta     (sp),y
 
 ; Restore low byte of ap and call _printf
 
         pla
-        jsr    __printf
+        jsr     __printf
 
 ; Return the number of bytes written
 
-        lda    ccount
-        ldx    ccount+1
+        lda     ccount
+        ldx     ccount+1
         rts
 
 
index 44b05ef838e7af002ebe90bd6bcf0bf99565d29c..2123085c88bc7d0a28400d257ec29f11033b22de 100644 (file)
@@ -5,7 +5,7 @@
 ; 2004-12-21, Greg King
 ;
 
-       .export         _vfscanf
+        .export         _vfscanf
         .import         _fgetc, _ungetc, _ferror
 
         .include        "zeropage.inc"
@@ -22,8 +22,8 @@ count   :=      ptr3            ; Result of scan
 
 .data
 d:      .addr   _fgetc          ; GET
-       .addr   _ungetc         ; UNGET
-               .addr   0               ; data
+        .addr   _ungetc         ; UNGET
+        .addr   0               ; data
 
 
 ; ----------------------------------------------------------------------------
index 99e8018f94323b8c0f6970bc48c7e66e11f07ad8..0958b1038fb583afebd4a21a14fc9cc65f7e250e 100644 (file)
@@ -4,10 +4,10 @@
 ; int __fastcall__ vprintf (const char* format, va_list ap);
 ;
 
-       .export         _vprintf
+        .export         _vprintf
         .import         _vfprintf, _stdout
-       .import         decsp2
-       .importzp       sp
+        .import         decsp2
+        .importzp       sp
 
 
 .proc   _vprintf
index 038b79741f60f9461670826b75342691bc0ce161..94afe527fd3c711757f9fb20132893176f5bcc14 100644 (file)
@@ -4,7 +4,7 @@
 ; Ullrich von Bassewitz, 2004-11-27
 ;
 
-       .export         _vscanf
+        .export         _vscanf
         .import         _vfscanf
         .import         _stdin
         .import         decsp2
index 21c358780bbf5706b1ab6233cd3c0ea57f400470..db82bdaf3b8fbb6a7254a4a19143e308c4381675 100644 (file)
@@ -4,12 +4,12 @@
 ; Ullrich von Bassewitz, 2009-09-26
 ;
 
-       .export         _vsnprintf, vsnprintf
-       .import         ldaxysp, popax, incsp2, incsp6
-       .import         _memcpy, __printf
-       .importzp       sp, ptr1
+        .export         _vsnprintf, vsnprintf
+        .import         ldaxysp, popax, incsp2, incsp6
+        .import         _memcpy, __printf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 .data
 
 ; Static data for the _vsnprintf routine
 ;
 
-outdesc:                       ; Static outdesc structure
+outdesc:                        ; Static outdesc structure
 ccount: .word   0               ; ccount
-func:   .word   out            ; Output function pointer
-bufptr: .word   0              ; ptr
+func:   .word   out             ; Output function pointer
+bufptr: .word   0               ; ptr
 bufsize:.word   0               ; Buffer size
 
 .code
@@ -33,7 +33,7 @@ bufsize:.word   0               ; Buffer size
 ;
 
 _vsnprintf:
-       pha                     ; Save ap
+        pha                     ; Save ap
         txa
         pha
 
@@ -41,9 +41,9 @@ _vsnprintf:
 ; vsprintf with ap on stack
 
 vsnprintf:
-       lda     #0
-       sta     ccount+0
-       sta     ccount+1        ; Clear ccount
+        lda     #0
+        sta     ccount+0
+        sta     ccount+1        ; Clear ccount
 
 ; Get the size parameter and replace it by a pointer to outdesc. This is to
 ; build a stack frame for the call to _printf.
@@ -85,10 +85,10 @@ L1:     dex
 
 ; Restore ap and call _printf
 
-       pla
+        pla
         tax
         pla
-       jsr     __printf
+        jsr     __printf
 
 ; Terminate the string. The last char is either at bufptr+ccount or
 ; bufptr+bufsize, whichever is smaller.
@@ -116,7 +116,7 @@ L3:     adc     bufptr+0
 
         lda     ccount+0
         ldx     ccount+1
-       jmp     incsp2
+        jmp     incsp2
 
 ; Bail out if size is zero.
 
index f1a2fe5d8dd6b6b04e5664f02ab7338a90a76ae7..eb47dae1872b4282898c5fcac454e70af91df446 100644 (file)
@@ -4,9 +4,9 @@
 ; Ullrich von Bassewitz, 2009-09-26
 ;
 
-       .export         _vsprintf
-       .import         pushw0sp, staxysp
-       .import         vsnprintf
+        .export         _vsprintf
+        .import         pushw0sp, staxysp
+        .import         vsnprintf
 
 
 ; ----------------------------------------------------------------------------
@@ -17,7 +17,7 @@
 
 
 _vsprintf:
-       pha                     ; Save low byte of ap
+        pha                     ; Save low byte of ap
         txa
         pha                     ; Save high byte of op
 
index d6123bef67169d9911736e89019685bbd17b1d86..a04404a0a3fe0ec38c7ee1e91c60ca8ec2c1beb3 100644 (file)
@@ -6,12 +6,12 @@
 ; 2004-12-21, Greg King
 ;
 
-       .export         _vsscanf
+        .export         _vsscanf
 
-       .import         popax, __scanf
-       .importzp       sp, ptr1, ptr2
+        .import         popax, __scanf
+        .importzp       sp, ptr1, ptr2
 
-       .macpack        generic
+        .macpack        generic
 
 
 ; ----------------------------------------------------------------------------
index 321424efac8ab86d6a764d17a7688a7f3f3b19c2..de160aeefeb39844a6bdfd914823c4dcf2bc1070 100644 (file)
@@ -4,43 +4,43 @@
 ; Zero the bss segment.
 ;
 
-       .export         zerobss
-       .import         __BSS_RUN__, __BSS_SIZE__
-       .importzp       ptr1
+        .export         zerobss
+        .import         __BSS_RUN__, __BSS_SIZE__
+        .importzp       ptr1
 
 
 .segment "INIT"
 
 zerobss:
-       lda     #<__BSS_RUN__
-       sta     ptr1
-       lda     #>__BSS_RUN__
-       sta     ptr1+1
-       lda     #0
-       tay
+        lda     #<__BSS_RUN__
+        sta     ptr1
+        lda     #>__BSS_RUN__
+        sta     ptr1+1
+        lda     #0
+        tay
 
 ; Clear full pages
 
-L1:    ldx     #>__BSS_SIZE__
-       beq     L3
-L2:    sta     (ptr1),y
-       iny
-       bne     L2
-       inc     ptr1+1
-       dex
-       bne     L2
+L1:     ldx     #>__BSS_SIZE__
+        beq     L3
+L2:     sta     (ptr1),y
+        iny
+        bne     L2
+        inc     ptr1+1
+        dex
+        bne     L2
 
 ; Clear remaining page (y is zero on entry)
 
-L3:    cpy     #<__BSS_SIZE__
-       beq     L4
-       sta     (ptr1),y
-       iny
-       bne     L3
+L3:     cpy     #<__BSS_SIZE__
+        beq     L4
+        sta     (ptr1),y
+        iny
+        bne     L3
 
 ; Done
 
-L4:    rts
+L4:     rts
 
 
 
index 1e56bdb98be6983261d3b9c11727816ccd677db9..eb1bb700e3471c570fed7a55928bd8b14951568f 100644 (file)
@@ -4,10 +4,10 @@
 ; Cursor related variables
 ;
 
-       .export         cursor
+        .export         cursor
 
 .bss
 
-cursor:        .res    1
+cursor: .res    1
 
 
index d5e5691538197d634de883f863eb59dfaee4d66d..01bd0bbc62ee3c2ac8d69bc0f0c62a750d84dc3e 100644 (file)
@@ -4,18 +4,18 @@
 ; Ullrich von Bassewitz, 1.12.2000
 ;
 
-               .export         _cprintf
-               .import         pushax, addysp, _vcprintf
-       .importzp       sp, ptr1
+        .export         _cprintf
+        .import         pushax, addysp, _vcprintf
+        .importzp       sp, ptr1
 
-       .macpack        generic
+        .macpack        generic
 
 ; ----------------------------------------------------------------------------
 ; Data
 
 .bss
 
-ParamSize:     .res    1               ; Number of parameter bytes
+ParamSize:      .res    1               ; Number of parameter bytes
 
 ; ----------------------------------------------------------------------------
 ; Code
@@ -24,41 +24,41 @@ ParamSize:  .res    1               ; Number of parameter bytes
 
 
 _cprintf:
-       sty     ParamSize               ; Number of param bytes passed in Y
+        sty     ParamSize               ; Number of param bytes passed in Y
 
 ; Calculate a pointer that points to Format
 
-       dey
-       dey                             ; Sub size of Format
-       tya
-       add     sp
-       sta     ptr1
-       ldx     sp+1
-       bcc     @L1
-       inx
-@L1:   stx     ptr1+1
+        dey
+        dey                             ; Sub size of Format
+        tya
+        add     sp
+        sta     ptr1
+        ldx     sp+1
+        bcc     @L1
+        inx
+@L1:    stx     ptr1+1
 
 ; Push Format
 
-       ldy     #1
-       lda     (ptr1),y
-       tax
-       dey
-       lda     (ptr1),y
-       jsr     pushax
+        ldy     #1
+        lda     (ptr1),y
+        tax
+        dey
+        lda     (ptr1),y
+        jsr     pushax
 
 ; Load va_list (last and __fastcall__ parameter to vfprintf)
 
-       lda     ptr1
-       ldx     ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vcprintf
 
-       jsr     _vcprintf
+        jsr     _vcprintf
 
 ; Cleanup the stack. We will return what we got from vcprintf
 
-       ldy     ParamSize
-       jmp     addysp
+        ldy     ParamSize
+        jmp     addysp
 
 
index 1aaeed6b2441c928ef263790fb08d31c6e565783..88ef4bebd533944b621278daa61345287e6fc07a 100644 (file)
@@ -5,31 +5,31 @@
 ; void cputhex16 (unsigned val);
 ;
 
-       .export         _cputhex8, _cputhex16
-       .import         _cputc
-       .import         __hextab
+        .export         _cputhex8, _cputhex16
+        .import         _cputc
+        .import         __hextab
 
 
 _cputhex16:
-       pha                     ; Save low byte
-       txa                     ; Get high byte into A
-       jsr     _cputhex8       ; Output high byte
-       pla                     ; Restore low byte and run into _cputhex8
+        pha                     ; Save low byte
+        txa                     ; Get high byte into A
+        jsr     _cputhex8       ; Output high byte
+        pla                     ; Restore low byte and run into _cputhex8
 
 _cputhex8:
-       pha                     ; Save the value
-       lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
-       tay
-       lda     __hextab,y
-       jsr     _cputc
-       pla
-       and     #$0F
-       tay
-       lda     __hextab,y
-       jmp     _cputc
+        pha                     ; Save the value
+        lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
+        tay
+        lda     __hextab,y
+        jsr     _cputc
+        pla
+        and     #$0F
+        tay
+        lda     __hextab,y
+        jmp     _cputc
 
 
 
index 1d8662607643dd4eec6f583665d30c4cdb7a08a7..13cf847890f12b8917db372c3dc8e7b16ec7c63c 100644 (file)
@@ -5,32 +5,32 @@
 ; void cputs (char* s);
 ;
 
-       .export         _cputsxy, _cputs
-       .import         popa, _gotoxy, _cputc
-       .importzp       ptr1, tmp1
-                
+        .export         _cputsxy, _cputs
+        .import         popa, _gotoxy, _cputc
+        .importzp       ptr1, tmp1
+                 
 _cputsxy:
-       sta     ptr1            ; Save s for later
-       stx     ptr1+1
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, pop x
-       jmp     L0              ; Same as cputs...
+        sta     ptr1            ; Save s for later
+        stx     ptr1+1
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, pop x
+        jmp     L0              ; Same as cputs...
 
-_cputs:        sta     ptr1            ; Save s
-       stx     ptr1+1
-L0:    ldy     #0
-L1:    lda     (ptr1),y
-       beq     L9              ; Jump if done
-       iny
-       sty     tmp1            ; Save offset
-       jsr     _cputc          ; Output char, advance cursor
-       ldy     tmp1            ; Get offset
-       bne     L1              ; Next char
-       inc     ptr1+1          ; Bump high byte
-       bne     L1
+_cputs: sta     ptr1            ; Save s
+        stx     ptr1+1
+L0:     ldy     #0
+L1:     lda     (ptr1),y
+        beq     L9              ; Jump if done
+        iny
+        sty     tmp1            ; Save offset
+        jsr     _cputc          ; Output char, advance cursor
+        ldy     tmp1            ; Get offset
+        bne     L1              ; Next char
+        inc     ptr1+1          ; Bump high byte
+        bne     L1
 
 ; Done
 
-L9:    rts
+L9:     rts
 
 
index 6be4dc0dc0687669f87f0609cea6850cf246eb74..7e54a844fa594681f427363b07ab5f0c170547bb 100644 (file)
@@ -5,58 +5,58 @@
 ; 2005-01-01, Greg King
 ;
 
-        .export                _cscanf
+        .export         _cscanf
 
-        .import                pushax, addysp, _vcscanf
+        .import         pushax, addysp, _vcscanf
 
-        .macpack       generic
-        .include       "zeropage.inc"
+        .macpack        generic
+        .include        "zeropage.inc"
 
 ; ----------------------------------------------------------------------------
 ; Code
 ;
 _cscanf:
-        sty    ArgSize         ; Number of argument bytes passed in .Y
-        dey                    ; subtract size of format pointer
+        sty     ArgSize         ; Number of argument bytes passed in .Y
+        dey                     ; subtract size of format pointer
         dey
         tya
 
 ; Now, calculate the va_list pointer -- which points to format.
 
-        ldx    sp+1
-        add    sp
-        bcc    @L1
+        ldx     sp+1
+        add     sp
+        bcc     @L1
         inx
-@L1:    sta    ptr1
-        stx    ptr1+1
+@L1:    sta     ptr1
+        stx     ptr1+1
 
 ; Push a copy of the format pointer onto the stack.
 
-        ldy    #1
-        lda    (ptr1),y
+        ldy     #1
+        lda     (ptr1),y
         tax
         dey
-        lda    (ptr1),y
-        jsr    pushax
+        lda     (ptr1),y
+        jsr     pushax
 
 ; Load va_list [last and __fastcall__ argument for vcscanf()].
 
-        lda    ptr1
-        ldx    ptr1+1
+        lda     ptr1
+        ldx     ptr1+1
 
 ; Call vcscanf().
 
-        jsr    _vcscanf
+        jsr     _vcscanf
 
 ; Clean up the stack.  We will return what we got from vcscanf().
 
-        ldy    ArgSize
-        jmp    addysp
+        ldy     ArgSize
+        jmp     addysp
 
 ; ----------------------------------------------------------------------------
 ; Data
 ;
         .bss
 ArgSize:
-        .res   1               ; Number of argument bytes
+        .res    1               ; Number of argument bytes
 
index c16b28e5e712b65a621b32454b8c8df44898eb2f..cb59984f70ff3acdfafc253bfdadad231a19458c 100644 (file)
@@ -4,17 +4,17 @@
 ; unsigned char cursor (unsigned char onoff);
 ;
 
-       .export         _cursor
-       .import         cursor
+        .export         _cursor
+        .import         cursor
 
 
-.proc  _cursor
+.proc   _cursor
 
-       tay                     ; onoff into Y
-       ldx     #0              ; High byte of result
-       lda     cursor          ; Get old value
-       sty     cursor          ; Set new value
-       rts
+        tay                     ; onoff into Y
+        ldx     #0              ; High byte of result
+        lda     cursor          ; Get old value
+        sty     cursor          ; Set new value
+        rts
 
 .endproc
 
index 291f42d4a7b9d7a49b65a42536f6a44bcafe3216..6582568d77820df29fd246a998556cea65aaaf08 100644 (file)
@@ -4,22 +4,22 @@
 ; void screensize (unsigned char* x, unsigned char* y);
 ;
 
-       .export         _screensize
+        .export         _screensize
 
-       .import         popsreg
-       .import         screensize
-       .importzp       ptr1, sreg
+        .import         popsreg
+        .import         screensize
+        .importzp       ptr1, sreg
 
-.proc  _screensize
+.proc   _screensize
 
-       sta     ptr1            ; Store the y pointer
-       stx     ptr1+1
+        sta     ptr1            ; Store the y pointer
+        stx     ptr1+1
         jsr     popsreg         ; Get the x pointer into sreg
         jsr     screensize      ; Get screensize into X/Y
         tya                     ; Get Y size into A
 
 .IFP02
-       ldy     #0
+        ldy     #0
         sta     (ptr1),y
         txa
         sta     (sreg),y
@@ -29,7 +29,7 @@
         sta     (sreg)
 .ENDIF
 
-       rts
+        rts
 
 .endproc
 
index f994ad29a08eca1f4d996a44a00ced41cdb9b684..5dbbc051dea2f876ae501479371de868b78b45d5 100644 (file)
@@ -4,12 +4,12 @@
 ; Ullrich von Bassewitz, 2.12.2000
 ;
 
-       .export         _vcprintf
-       .import         pushax, popax
-       .import         __printf, _cputc
-       .importzp       sp, ptr1, ptr2, ptr3, tmp1
+        .export         _vcprintf
+        .import         pushax, popax
+        .import         __printf, _cputc
+        .importzp       sp, ptr1, ptr2, ptr3, tmp1
 
-       .macpack        generic
+        .macpack        generic
 
 
 .data
 ; Static data for the _vsprintf routine
 ;
 
-outdesc:                       ; Static outdesc structure
-       .word   0               ; ccount
-       .word   out             ; Output function pointer
-       .word   0               ; ptr
-               .word   0               ; uns
+outdesc:                        ; Static outdesc structure
+        .word   0               ; ccount
+        .word   out             ; Output function pointer
+        .word   0               ; ptr
+        .word   0               ; uns
 
 .code
 
@@ -36,60 +36,60 @@ outdesc:                    ; Static outdesc structure
 ;     /* Fast screen output */
 ;     d->ccount += count;
 ;     while (count) {
-;        cputc (*buf);
-;        ++buf;
-;        --count;
+;         cputc (*buf);
+;         ++buf;
+;         --count;
 ;     }
 ; }
 ;
 ; We're using ptr1 and tmp1, since we know that the cputc routine will not use
 ; them (they're also used in cputs, so they must be safe).
 
-out:   jsr     popax           ; count
-       sta     ptr2
-       eor     #$FF
-       sta     outdesc+6
-       txa
-       sta     ptr2+1
-       eor     #$FF
-               sta     outdesc+7
+out:    jsr     popax           ; count
+        sta     ptr2
+        eor     #$FF
+        sta     outdesc+6
+        txa
+        sta     ptr2+1
+        eor     #$FF
+        sta     outdesc+7
 
-       jsr     popax           ; buf
-               sta     ptr1
-       stx     ptr1+1
+        jsr     popax           ; buf
+        sta     ptr1
+        stx     ptr1+1
 
-       jsr     popax           ; d
-       sta     ptr3
-       stx     ptr3+1
+        jsr     popax           ; d
+        sta     ptr3
+        stx     ptr3+1
 
 ; Sum up the total count of characters
 
-       ldy     #0              ; ccount in struct outdesc
-       sty     tmp1            ; Initialize tmp1 while we have zero available
-       lda     (ptr3),y
-       add     ptr2
-       sta     (ptr3),y
-       iny
-       lda     (ptr3),y
-       adc     ptr2+1
-       sta     (ptr3),y
+        ldy     #0              ; ccount in struct outdesc
+        sty     tmp1            ; Initialize tmp1 while we have zero available
+        lda     (ptr3),y
+        add     ptr2
+        sta     (ptr3),y
+        iny
+        lda     (ptr3),y
+        adc     ptr2+1
+        sta     (ptr3),y
 
 ; Loop outputting characters
 
-@L1:   inc     outdesc+6
-       beq     @L4
-@L2:   ldy     tmp1
-       lda     (ptr1),y
-       iny
-       bne     @L3
-               inc     ptr1+1
-@L3:   sty     tmp1
-       jsr     _cputc
-       jmp     @L1
-
-@L4:   inc     outdesc+7
-       bne     @L2
-       rts
+@L1:    inc     outdesc+6
+        beq     @L4
+@L2:    ldy     tmp1
+        lda     (ptr1),y
+        iny
+        bne     @L3
+        inc     ptr1+1
+@L3:    sty     tmp1
+        jsr     _cputc
+        jmp     @L1
+
+@L4:    inc     outdesc+7
+        bne     @L2
+        rts
 
 ; ----------------------------------------------------------------------------
 ; vcprintf - formatted console i/o
@@ -113,46 +113,46 @@ out:      jsr     popax           ; count
 ; gained by using __fastcall__.
 
 _vcprintf:
-       sta     ptr1            ; Save ap
-       stx     ptr1+1
+        sta     ptr1            ; Save ap
+        stx     ptr1+1
 
 ; Setup the outdesc structure
 
-       lda     #0
-       sta     outdesc
-       sta     outdesc+1       ; Clear ccount
+        lda     #0
+        sta     outdesc
+        sta     outdesc+1       ; Clear ccount
 
 ; Get the format parameter and push it again
 
-       ldy     #1
-       lda     (sp),y
-       tax
-       dey
-       lda     (sp),y
-       jsr     pushax
+        ldy     #1
+        lda     (sp),y
+        tax
+        dey
+        lda     (sp),y
+        jsr     pushax
 
 ; Replace the passed format parameter on the stack by &d - this creates
 ; exactly the stack frame _printf expects. Parameters will get dropped
 ; by _printf.
 
-       ldy     #2              ; Low byte of d
-       lda     #<outdesc
-       sta     (sp),y
-       iny
-       lda     #>outdesc
-       sta     (sp),y
+        ldy     #2              ; Low byte of d
+        lda     #<outdesc
+        sta     (sp),y
+        iny
+        lda     #>outdesc
+        sta     (sp),y
 
 ; Restore ap and call _printf
 
-       lda     ptr1
-       ldx     ptr1+1
-       jsr     __printf
+        lda     ptr1
+        ldx     ptr1+1
+        jsr     __printf
 
 ; Return the number of bytes written.
 
-       lda     outdesc         ; ccount
-       ldx     outdesc+1
-       rts
+        lda     outdesc         ; ccount
+        ldx     outdesc+1
+        rts
 
-                     
+                      
 
index 87c58515b761208b5886b83a492b17fb387e7880..eb1c5a43aff6b0f5cec4542e0d067331ef447f10 100644 (file)
@@ -4,20 +4,20 @@
 ; 2005-01-02, Greg King
 ;
 
-        .export                _vcscanf
+        .export         _vcscanf
 
-        .import                _cgetc, _cputc
-        .import                popax, pushax, swapstk
+        .import         _cgetc, _cputc
+        .import         popax, pushax, swapstk
 
-        .include       "../common/_scanf.inc"
+        .include        "../common/_scanf.inc"
 
 
 ; static bool pushed;
 ; static char back;
 ;
         .bss
-pushed: .res   1
-back:   .res   1
+pushed: .res    1
+back:   .res    1
 
         .code
 ; /* Call-back functions:
@@ -39,26 +39,26 @@ back:   .res        1
 ;     return (int)C;
 ;     }
 ;
-get:    ldx    pushed
-        beq    L1
+get:    ldx     pushed
+        beq     L1
 
 ; Return the old, pushed-back character (instead of getting a new one).
 ;
-        dex                    ; ldx #>0
-        stx    pushed
-        lda    back
+        dex                     ; ldx #>0
+        stx     pushed
+        lda     back
         rts
 
 ; Directly read the keyboard.
 ;
-L1:     jsr    _cgetc
+L1:     jsr     _cgetc
 
 ; Echo the character to the screen.
 ;
         pha
-        jsr    _cputc
+        jsr     _cputc
         pla
-        ldx    #>0
+        ldx     #>0
         rts
 
 
@@ -68,10 +68,10 @@ L1:     jsr _cgetc
 ;     return back = c;
 ;     }
 ;
-unget:  ldx    #1
-        stx    pushed
-        jsr    popax           ; get the first argument
-        sta    back
+unget:  ldx     #1
+        stx     pushed
+        jsr     popax           ; get the first argument
+        sta     back
         rts
 
 
@@ -96,35 +96,35 @@ unget:  ldx #1
 ;
 ; Beware:  Because ap is a fastcall parameter, we must not destroy .XA.
 ;
-        .proc  _vcscanf
+        .proc   _vcscanf
 
 ; ----------------------------------------------------------------------------
 ; Static, constant scanfdata structure for the _vcscanf routine.
 ;
         .rodata
-d:      .addr  get             ; SCANFDATA::GET
-        .addr  unget           ; SCANFDATA::UNGET
-;       .addr  0               ; SCANFDATA::DATA (not used)
+d:      .addr   get             ; SCANFDATA::GET
+        .addr   unget           ; SCANFDATA::UNGET
+;       .addr   0               ; SCANFDATA::DATA (not used)
 
         .code
-        pha                    ; Save low byte of ap
+        pha                     ; Save low byte of ap
         txa
-        pha                    ; Save high byte of ap
-        ldx    #0
-        stx    pushed
+        pha                     ; Save high byte of ap
+        ldx     #0
+        stx     pushed
 
 ; Put &d on the stack in front of the format pointer.
 
         lda     #<d
         ldx     #>d
         jsr     swapstk         ; Swap .XA with top-of-stack
-        jsr    pushax          ; Put format pointer back on stack
+        jsr     pushax          ; Put format pointer back on stack
 
 ; Restore ap, and jump to _scanf which will clean up the stack.
 
         pla
         tax
         pla
-        jmp    __scanf
+        jmp     __scanf
         .endproc
 
index d094485212acd152d96f0a30683505dbbadb4e20..3d27aea1f19d530c8be1c69f9db743918ade78f1 100644 (file)
@@ -4,10 +4,10 @@
 ; Tables needed for the line assembler/disassembler.
 ;
 
-       .export         OffsetTab
-       .export         AdrFlagTab
-       .export         SymbolTab1, SymbolTab2
-       .export         MnemoTab1, MnemoTab2
+        .export         OffsetTab
+        .export         AdrFlagTab
+        .export         SymbolTab1, SymbolTab2
+        .export         MnemoTab1, MnemoTab2
 
 ; -------------------------------------------------------------------------
 ; Assembler tables
 
 
 OffsetTab:
-       .byte   $40,$02,$45,$03,$D0,$08,$40,$09
-       .byte   $30,$22,$45,$33,$D0,$08,$40,$09
-       .byte   $40,$02,$45,$33,$D0,$08,$40,$09
-       .byte   $40,$02,$45,$B3,$D0,$08,$40,$09
-       .byte   $00,$22,$44,$33,$D0,$8C,$44,$00
-       .byte   $11,$22,$44,$33,$D0,$8C,$44,$9A
-       .byte   $10,$22,$44,$33,$D0,$08,$40,$09
-       .byte   $10,$22,$44,$33,$D0,$08,$40,$09
-       .byte   $62,$13,$78,$A9
+        .byte   $40,$02,$45,$03,$D0,$08,$40,$09
+        .byte   $30,$22,$45,$33,$D0,$08,$40,$09
+        .byte   $40,$02,$45,$33,$D0,$08,$40,$09
+        .byte   $40,$02,$45,$B3,$D0,$08,$40,$09
+        .byte   $00,$22,$44,$33,$D0,$8C,$44,$00
+        .byte   $11,$22,$44,$33,$D0,$8C,$44,$9A
+        .byte   $10,$22,$44,$33,$D0,$08,$40,$09
+        .byte   $10,$22,$44,$33,$D0,$08,$40,$09
+        .byte   $62,$13,$78,$A9
 
 AdrFlagTab:
-       .byte   $00,$21,$81,$82,$00,$00,$59,$4D
-       .byte   $91,$92,$86,$4A,$85,$9D
+        .byte   $00,$21,$81,$82,$00,$00,$59,$4D
+        .byte   $91,$92,$86,$4A,$85,$9D
 
 SymbolTab1:
-       .byte   $2C,$29,$2C,$23,$28,$24
+        .byte   $2C,$29,$2C,$23,$28,$24
 
 SymbolTab2:
-       .byte   $59,$00,$58,$24,$24,$00
+        .byte   $59,$00,$58,$24,$24,$00
 
 MnemoTab1:
-       .byte   $1C,$8A,$1C,$23,$5D,$8B,$1B,$A1
-       .byte   $9D,$8A,$1D,$23,$9D,$8B,$1D,$A1
-       .byte   $00,$29,$19,$AE,$69,$A8,$19,$23
-       .byte   $24,$53,$1B,$23,$24,$53,$19,$A1
-       .byte   $00,$1A,$5B,$5B,$A5,$69,$24,$24
-       .byte   $AE,$AE,$A8,$AD,$29,$00,$7C,$00
-       .byte   $15,$9C,$6D,$9C,$A5,$69,$29,$53
-       .byte   $84,$13,$34,$11,$A5,$69,$23,$A0
+        .byte   $1C,$8A,$1C,$23,$5D,$8B,$1B,$A1
+        .byte   $9D,$8A,$1D,$23,$9D,$8B,$1D,$A1
+        .byte   $00,$29,$19,$AE,$69,$A8,$19,$23
+        .byte   $24,$53,$1B,$23,$24,$53,$19,$A1
+        .byte   $00,$1A,$5B,$5B,$A5,$69,$24,$24
+        .byte   $AE,$AE,$A8,$AD,$29,$00,$7C,$00
+        .byte   $15,$9C,$6D,$9C,$A5,$69,$29,$53
+        .byte   $84,$13,$34,$11,$A5,$69,$23,$A0
 
 MnemoTab2:
-       .byte   $D8,$62,$5A,$48,$26,$62,$94,$88
-       .byte   $54,$44,$C8,$54,$68,$44,$E8,$94
-       .byte   $00,$B4,$08,$84,$74,$B4,$28,$6E
-       .byte   $74,$F4,$CC,$4A,$72,$F2,$A4,$8A
-       .byte   $00,$AA,$A2,$A2,$74,$74,$74,$72
-       .byte   $44,$68,$B2,$32,$B2,$00,$22,$00
-       .byte   $1A,$1A,$26,$26,$72,$72,$88,$C8
-       .byte   $C4,$CA,$26,$48,$44,$44,$A2,$C8
+        .byte   $D8,$62,$5A,$48,$26,$62,$94,$88
+        .byte   $54,$44,$C8,$54,$68,$44,$E8,$94
+        .byte   $00,$B4,$08,$84,$74,$B4,$28,$6E
+        .byte   $74,$F4,$CC,$4A,$72,$F2,$A4,$8A
+        .byte   $00,$AA,$A2,$A2,$74,$74,$74,$72
+        .byte   $44,$68,$B2,$32,$B2,$00,$22,$00
+        .byte   $1A,$1A,$26,$26,$72,$72,$88,$C8
+        .byte   $C4,$CA,$26,$48,$44,$44,$A2,$C8
 
 
    
index 8090d73ddeb6465bce439b4f36d0f70c0be4e71c..32a0cfba0494d67151e0904903209575f276e48d 100644 (file)
@@ -18,7 +18,7 @@
 
 
 /*****************************************************************************/
-/*                            Function forwards                             */
+/*                             Function forwards                             */
 /*****************************************************************************/
 
 
@@ -41,42 +41,42 @@ static char GetKeyUpdate (void);
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Color definitions */
 #if defined(__PLUS4__) || defined(__C16__)
-#  define COLOR_BORDER         (BCOLOR_DARKBLUE | CATTR_LUMA6)
-#  define COLOR_BACKGROUND     COLOR_WHITE
-#  define COLOR_TEXTHIGH               COLOR_BLACK
-#  define COLOR_TEXTLOW        COLOR_GRAY1
-#  define COLOR_FRAMEHIGH      COLOR_BLACK
-#  define COLOR_FRAMELOW       COLOR_GRAY2
+#  define COLOR_BORDER          (BCOLOR_DARKBLUE | CATTR_LUMA6)
+#  define COLOR_BACKGROUND      COLOR_WHITE
+#  define COLOR_TEXTHIGH        COLOR_BLACK
+#  define COLOR_TEXTLOW         COLOR_GRAY1
+#  define COLOR_FRAMEHIGH       COLOR_BLACK
+#  define COLOR_FRAMELOW        COLOR_GRAY2
 #else
 #  if defined(COLOR_GRAY3)
-#    define COLOR_BORDER       COLOR_BLACK
-#    define COLOR_BACKGROUND   COLOR_BLACK
-#    define COLOR_TEXTHIGH     COLOR_WHITE
-#    define COLOR_TEXTLOW      COLOR_GRAY3
-#    define COLOR_FRAMEHIGH    COLOR_WHITE
-#    define COLOR_FRAMELOW     COLOR_GRAY3
+#    define COLOR_BORDER        COLOR_BLACK
+#    define COLOR_BACKGROUND    COLOR_BLACK
+#    define COLOR_TEXTHIGH      COLOR_WHITE
+#    define COLOR_TEXTLOW       COLOR_GRAY3
+#    define COLOR_FRAMEHIGH     COLOR_WHITE
+#    define COLOR_FRAMELOW      COLOR_GRAY3
 #  else
 #    if defined(__APPLE2__) || defined(__APPLE2ENH__)
-#      define COLOR_BORDER             COLOR_BLACK
+#      define COLOR_BORDER      COLOR_BLACK
 #      define COLOR_BACKGROUND  COLOR_BLACK
-#      define COLOR_TEXTHIGH   COLOR_BLACK
-#      define COLOR_TEXTLOW    COLOR_BLACK
-#      define COLOR_FRAMEHIGH  COLOR_BLACK
-#      define COLOR_FRAMELOW   COLOR_BLACK
+#      define COLOR_TEXTHIGH    COLOR_BLACK
+#      define COLOR_TEXTLOW     COLOR_BLACK
+#      define COLOR_FRAMEHIGH   COLOR_BLACK
+#      define COLOR_FRAMELOW    COLOR_BLACK
 #    else
-#      define COLOR_BORDER     COLOR_BLACK
+#      define COLOR_BORDER      COLOR_BLACK
 #      define COLOR_BACKGROUND  COLOR_BLACK
-#      define COLOR_TEXTHIGH   COLOR_WHITE
-#      define COLOR_TEXTLOW    COLOR_WHITE
-#      define COLOR_FRAMEHIGH  COLOR_WHITE
-#      define COLOR_FRAMELOW   COLOR_WHITE
+#      define COLOR_TEXTHIGH    COLOR_WHITE
+#      define COLOR_TEXTLOW     COLOR_WHITE
+#      define COLOR_FRAMEHIGH   COLOR_WHITE
+#      define COLOR_FRAMELOW    COLOR_WHITE
 #    endif
 #  endif
 #endif
@@ -90,17 +90,17 @@ static char GetKeyUpdate (void);
 /* Screen definitions */
 #if defined(__CBM610__)
 #  define BIGSCREEN
-#  define MAX_X                80
-#  define MAX_Y                25
-#  define DUMP_BYTES   16
+#  define MAX_X         80
+#  define MAX_Y         25
+#  define DUMP_BYTES    16
 #elif defined(__APPLE2__) || defined(__APPLE2ENH__) || defined(__ATARI__)
 #  define MAX_X         40
 #  define MAX_Y         24
 #  define DUMP_BYTES     8
 #else
-#  define MAX_X        40
-#  define MAX_Y                25
-#  define DUMP_BYTES    8
+#  define MAX_X         40
+#  define MAX_Y         25
+#  define DUMP_BYTES     8
 #endif
 
 /* Replacement key definitions */
@@ -138,27 +138,27 @@ static char GetKeyUpdate (void);
 #endif
 
 /* Defines for opcodes */
-#define        OPC_BRK         0x00
-#define OPC_BPL                0x10
-#define OPC_JSR                0x20
-#define OPC_BMI                0x30
-#define OPC_RTI                0x40
-#define OPC_JMP                0x4C
-#define OPC_BVC                0x50
-#define OPC_RTS                0x60
-#define OPC_JMPIND     0x6C
-#define OPC_BVS                0x70
-#define OPC_BCC                0x90
-#define OPC_BCS                0xB0
-#define OPC_BNE                0xD0
-#define OPC_BEQ                0xF0
+#define OPC_BRK         0x00
+#define OPC_BPL         0x10
+#define OPC_JSR         0x20
+#define OPC_BMI         0x30
+#define OPC_RTI         0x40
+#define OPC_JMP         0x4C
+#define OPC_BVC         0x50
+#define OPC_RTS         0x60
+#define OPC_JMPIND      0x6C
+#define OPC_BVS         0x70
+#define OPC_BCC         0x90
+#define OPC_BCS         0xB0
+#define OPC_BNE         0xD0
+#define OPC_BEQ         0xF0
 
 
 
 /* Register values that are used also in the assembler stuff */
-extern unsigned char DbgSP;            /* Stack pointer */
-extern unsigned      DbgCS;            /* C stack pointer */
-extern unsigned      DbgHI;            /* High 16 bit of primary reg */
+extern unsigned char DbgSP;             /* Stack pointer */
+extern unsigned      DbgCS;             /* C stack pointer */
+extern unsigned      DbgHI;             /* High 16 bit of primary reg */
 
 
 
@@ -166,22 +166,22 @@ extern unsigned      DbgHI;               /* High 16 bit of primary reg */
 typedef struct {
     unsigned char x;
     unsigned char y;
-    char*                text;
+    char*         text;
 } TextDesc;
 
 /* Window descriptor */
 typedef struct {
-    unsigned char fd_tl;                       /* Top left char */
-    unsigned char fd_tr;               /* Top right char */
-    unsigned char fd_bl;               /* Bottom left char */
-    unsigned char fd_br;               /* Bottom right char */
-    unsigned char fd_x1, fd_y1;                /* Upper left corner */
-    unsigned char fd_x2, fd_y2;                /* Lower right corner */
-    unsigned char fd_width, fd_height; /* Redundant but faster */
-    unsigned char fd_visible;          /* Is the window currently visible? */
-    char (*fd_func) (void);            /* Handler function */
-    unsigned char fd_textcount;                /* Number of text lines to print */
-    TextDesc*            fd_text;              /* Static text in the window */
+    unsigned char fd_tl;                /* Top left char */
+    unsigned char fd_tr;                /* Top right char */
+    unsigned char fd_bl;                /* Bottom left char */
+    unsigned char fd_br;                /* Bottom right char */
+    unsigned char fd_x1, fd_y1;         /* Upper left corner */
+    unsigned char fd_x2, fd_y2;         /* Lower right corner */
+    unsigned char fd_width, fd_height;  /* Redundant but faster */
+    unsigned char fd_visible;           /* Is the window currently visible? */
+    char (*fd_func) (void);             /* Handler function */
+    unsigned char fd_textcount;         /* Number of text lines to print */
+    TextDesc*     fd_text;              /* Static text in the window */
 } FrameDesc;
 
 
@@ -198,24 +198,24 @@ static TextDesc RegText [] = {
     { 1,  7, "HI" }
 };
 static TextDesc HelpText [] = {
-    { 1,  0, "F1, ?     Help"                          },
-    { 1,  1, "F2, t     Toggle breakpoint"             },
-    { 1,  2, "F3, u     Run until subroutine returns"  },
-    { 1,  3, "F4, h     Run to cursor"                         },
-    { 1,  4, "F7, space Step into"                             },
-    { 1,  5, "F8, enter Step over"                             },
-    { 1,  6, "1-5       Select active window"          },
-    { 1,  7, "+         Page down"                             },
-    { 1,  8, "-         Page up"                       },
-    { 1,  9, "Cursor    Move up/down"                          },
+    { 1,  0, "F1, ?     Help"                           },
+    { 1,  1, "F2, t     Toggle breakpoint"              },
+    { 1,  2, "F3, u     Run until subroutine returns"   },
+    { 1,  3, "F4, h     Run to cursor"                  },
+    { 1,  4, "F7, space Step into"                      },
+    { 1,  5, "F8, enter Step over"                      },
+    { 1,  6, "1-5       Select active window"           },
+    { 1,  7, "+         Page down"                      },
+    { 1,  8, "-         Page up"                        },
+    { 1,  9, "Cursor    Move up/down"                   },
     { 1, 10, "a/z       Move up/down"                   },
-    { 1, 11, "c         Continue"                      },
-    { 1, 12, "f         Follow instruction"            },
-    { 1, 13, "o         Goto origin"                           },
-    { 1, 14, "p         Use as new PC value"           },
-    { 1, 15, "q         Quit"                          },
-    { 1, 16, "r         Redraw screen"                         },
-    { 1, 17, "s         Skip next instruction"         },
+    { 1, 11, "c         Continue"                       },
+    { 1, 12, "f         Follow instruction"             },
+    { 1, 13, "o         Goto origin"                    },
+    { 1, 14, "p         Use as new PC value"            },
+    { 1, 15, "q         Quit"                           },
+    { 1, 16, "r         Redraw screen"                  },
+    { 1, 17, "s         Skip next instruction"          },
 };
 
 
@@ -281,51 +281,51 @@ static FrameDesc* Frames [] = {
 static int ActiveFrame = -1;
 
 /* Window names */
-#define        WIN_ASM         0
-#define WIN_REG                1
-#define WIN_STACK      2
-#define WIN_CSTACK     3
-#define WIN_DUMP       4
-#define WIN_HELP       5
+#define WIN_ASM         0
+#define WIN_REG         1
+#define WIN_STACK       2
+#define WIN_CSTACK      3
+#define WIN_DUMP        4
+#define WIN_HELP        5
 
 /* Other window data */
-static unsigned AsmAddr;       /* Start address of output */
-static unsigned DumpAddr;      /* Start address of output */
-static unsigned CStackAddr;    /* Start address of output */
-static unsigned char StackAddr;        /* Start address of output */
+static unsigned AsmAddr;        /* Start address of output */
+static unsigned DumpAddr;       /* Start address of output */
+static unsigned CStackAddr;     /* Start address of output */
+static unsigned char StackAddr; /* Start address of output */
 
 
 
 /* Prompt line data */
-static char* ActivePrompt = 0; /* Last prompt line displayed */
-static char PromptColor;       /* Color behind prompt */
-static char PromptLength;      /* Length of current prompt string */
+static char* ActivePrompt = 0;  /* Last prompt line displayed */
+static char PromptColor;        /* Color behind prompt */
+static char PromptLength;       /* Length of current prompt string */
 
 
 
 /* Values for the bk_use field of struct BreakPoint */
-#define BRK_EMPTY      0x00
-#define BRK_USER       0x01
-#define BRK_TMP                0x80
+#define BRK_EMPTY       0x00
+#define BRK_USER        0x01
+#define BRK_TMP         0x80
 
 /* Structure describing a breakpoint */
 typedef struct {
-    unsigned      bk_addr;     /* Address, 0 if unused */
-    unsigned char bk_opc;      /* Opcode */
-    unsigned char bk_use;      /* 1 if in use, 0 otherwise */
+    unsigned      bk_addr;      /* Address, 0 if unused */
+    unsigned char bk_opc;       /* Opcode */
+    unsigned char bk_use;       /* 1 if in use, 0 otherwise */
 } BreakPoint;
 
 
 
 /* Temporary breakpoints - also accessed from the assembler source */
-#define MAX_USERBREAKS 10
+#define MAX_USERBREAKS  10
 unsigned char DbgBreakCount = 0;
 BreakPoint DbgBreaks [MAX_USERBREAKS+2];
 
 
 
 /*****************************************************************************/
-/*             Forwards for functions in the assembler source               */
+/*              Forwards for functions in the assembler source               */
 /*****************************************************************************/
 
 
@@ -341,7 +341,7 @@ BreakPoint* DbgIsBreak (unsigned Addr);
 
 
 /*****************************************************************************/
-/*                        Frame/window drawing code                         */
+/*                         Frame/window drawing code                         */
 /*****************************************************************************/
 
 
@@ -357,17 +357,17 @@ static void DrawFrame (register FrameDesc* F, char Active)
 
     /* Determine the characters for the corners, set frame color */
     if (Active) {
-       OldColor = textcolor (COLOR_FRAMEHIGH);
-               tl = CH_ULCORNER;
-       tr = CH_URCORNER;
-       bl = CH_LLCORNER;
-       br = CH_LRCORNER;
+        OldColor = textcolor (COLOR_FRAMEHIGH);
+        tl = CH_ULCORNER;
+        tr = CH_URCORNER;
+        bl = CH_LLCORNER;
+        br = CH_LRCORNER;
     } else {
-       OldColor = textcolor (COLOR_FRAMELOW);
-               tl = F->fd_tl;
-       tr = F->fd_tr;
-       bl = F->fd_bl;
-       br = F->fd_br;
+        OldColor = textcolor (COLOR_FRAMELOW);
+        tl = F->fd_tl;
+        tr = F->fd_tr;
+        bl = F->fd_bl;
+        br = F->fd_br;
     }
 
     /* Get the coordinates into locals for faster access */
@@ -396,8 +396,8 @@ static void DrawFrame (register FrameDesc* F, char Active)
     Count = F->fd_textcount;
     T = F->fd_text;
     while (Count--) {
-       cputsxy (x1 + T->x, y1 + T->y, T->text);
-       ++T;
+        cputsxy (x1 + T->x, y1 + T->y, T->text);
+        ++T;
     }
 
     /* Set the old color */
@@ -414,10 +414,10 @@ static void DrawFrames (void)
 
     /* Build the frame layout of the screen */
     for (I = 0; I < sizeof (Frames) / sizeof (Frames [0]); ++I) {
-       F = Frames [I];
-       if (F->fd_visible) {
-           DrawFrame (F, 0);
-       }
+        F = Frames [I];
+        if (F->fd_visible) {
+            DrawFrame (F, 0);
+        }
     }
 }
 
@@ -431,25 +431,25 @@ static void ActivateFrame (int Num, unsigned char Clear)
 
     if (ActiveFrame != Num) {
 
-       /* Deactivate the old one */
-       if (ActiveFrame >= 0) {
-           DrawFrame (Frames [ActiveFrame], 0);
-       }
-
-       /* Activate the new one */
-       if ((ActiveFrame = Num) >= 0) {
-                   F = Frames [ActiveFrame];
-           /* Clear the frame if requested */
-           if (Clear) {
-               for (y = F->fd_y1+1; y < F->fd_y2; ++y) {
-                   cclearxy (F->fd_x1+1, y, F->fd_width);
-               }
-           }
-           DrawFrame (F, 1);
-       }
-
-       /* Redraw the current prompt line */
-       DisplayPrompt (ActivePrompt);
+        /* Deactivate the old one */
+        if (ActiveFrame >= 0) {
+            DrawFrame (Frames [ActiveFrame], 0);
+        }
+
+        /* Activate the new one */
+        if ((ActiveFrame = Num) >= 0) {
+            F = Frames [ActiveFrame];
+            /* Clear the frame if requested */
+            if (Clear) {
+                for (y = F->fd_y1+1; y < F->fd_y2; ++y) {
+                    cclearxy (F->fd_x1+1, y, F->fd_width);
+                }
+            }
+            DrawFrame (F, 1);
+        }
+
+        /* Redraw the current prompt line */
+        DisplayPrompt (ActivePrompt);
 
     }
 }
@@ -457,7 +457,7 @@ static void ActivateFrame (int Num, unsigned char Clear)
 
 
 /*****************************************************************************/
-/*                               Prompt line                                */
+/*                                Prompt line                                */
 /*****************************************************************************/
 
 
@@ -472,8 +472,8 @@ static void DisplayPrompt (char* s)
 
     /* Clear the old prompt if there is one */
     if (ActivePrompt) {
-       (void) textcolor (PromptColor);
-       chlinexy ((MAX_X - PromptLength) / 2, MAX_Y-1, PromptLength);
+        (void) textcolor (PromptColor);
+        chlinexy ((MAX_X - PromptLength) / 2, MAX_Y-1, PromptLength);
     }
 
     /* Get the new prompt data */
@@ -550,22 +550,22 @@ static char Input (char* Prompt, char* Buf, unsigned char Count)
     /* Get input and handle it */
     i = done = 0;
     do {
-       c = cgetc ();
-       if (isalnum (c) && i < Count) {
-           Buf [i] = c;
-           cputcxy (x1 + i, MAX_Y-1, c);
-                   ++i;
-               } else if (i > 0 && c == CH_DEL) {
-                   --i;
-           cputcxy (x1 + i, MAX_Y-1, ' ');
-           gotoxy (x1 + i, MAX_Y-1);
-       } else if (c == '\n') {
-           Buf [i] = '\0';
-           done = 1;
-       } else if (IsAbortKey (c)) {
-           /* Abort */
-           done = 2;
-       }
+        c = cgetc ();
+        if (isalnum (c) && i < Count) {
+            Buf [i] = c;
+            cputcxy (x1 + i, MAX_Y-1, c);
+            ++i;
+        } else if (i > 0 && c == CH_DEL) {
+            --i;
+            cputcxy (x1 + i, MAX_Y-1, ' ');
+            gotoxy (x1 + i, MAX_Y-1);
+        } else if (c == '\n') {
+            Buf [i] = '\0';
+            done = 1;
+        } else if (IsAbortKey (c)) {
+            /* Abort */
+            done = 2;
+        }
     } while (!done);
 
     /* Reset settings, display old prompt line */
@@ -592,25 +592,25 @@ static char InputHex (char* Prompt, unsigned* Val)
     /* Read input from the user (4 digits max), check input */
     if (Input (Prompt, Buf, sizeof (Buf)-1) && isxdigit (Buf [0])) {
 
-       /* Check the characters and convert to hex */
-       P = Buf;
-       V = 0;
-       while ((C = *P) && isxdigit (C)) {
-           V <<= 4;
-                   if (isdigit (C)) {
-               C -= '0';
-           } else {
-               C = toupper (C) - ('A' - 10);
-           }
-           V += C;
-           ++P;
-       }
-
-       /* Assign the value */
-       *Val = V;
-
-       /* Success */
-       return 1;
+        /* Check the characters and convert to hex */
+        P = Buf;
+        V = 0;
+        while ((C = *P) && isxdigit (C)) {
+            V <<= 4;
+            if (isdigit (C)) {
+                C -= '0';
+            } else {
+                C = toupper (C) - ('A' - 10);
+            }
+            V += C;
+            ++P;
+        }
+
+        /* Assign the value */
+        *Val = V;
+
+        /* Success */
+        return 1;
 
     } else {
 
@@ -662,7 +662,7 @@ static void BreakInRomError (void)
 
 
 /*****************************************************************************/
-/*                           Breakpoint handling                            */
+/*                            Breakpoint handling                            */
 /*****************************************************************************/
 
 
@@ -683,25 +683,25 @@ static void DbgToggleUserBreak (unsigned Addr)
     register BreakPoint* B = DbgIsBreak (Addr);
 
     if (B) {
-       /* We have a breakpoint, remove it */
-       B->bk_use = BRK_EMPTY;
-       --DbgBreakCount;
+        /* We have a breakpoint, remove it */
+        B->bk_use = BRK_EMPTY;
+        --DbgBreakCount;
     } else {
-       /* We don't have a breakpoint, set one */
-               if (DbgBreakCount >= MAX_USERBREAKS) {
-           ErrorPrompt ("Too many breakpoints - press a key");
-       } else {
-           /* Test if we can set a breakpoint at that address */
-           if (!DbgIsRAM (Addr)) {
-               BreakInRomError ();
-           } else {
-               /* Set the breakpoint */
-               B = DbgGetBreakSlot ();
-               B->bk_addr = Addr;
-               B->bk_use  = BRK_USER;
-               ++DbgBreakCount;
-           }
-       }
+        /* We don't have a breakpoint, set one */
+        if (DbgBreakCount >= MAX_USERBREAKS) {
+            ErrorPrompt ("Too many breakpoints - press a key");
+        } else {
+            /* Test if we can set a breakpoint at that address */
+            if (!DbgIsRAM (Addr)) {
+                BreakInRomError ();
+            } else {
+                /* Set the breakpoint */
+                B = DbgGetBreakSlot ();
+                B->bk_addr = Addr;
+                B->bk_use  = BRK_USER;
+                ++DbgBreakCount;
+            }
+        }
     }
 }
 
@@ -714,10 +714,10 @@ static void DbgResetTmpBreaks (void)
     BreakPoint* B = DbgBreaks;
 
     for (i = 0; i < MAX_USERBREAKS; ++i) {
-       if (B->bk_use == BRK_TMP) {
-           B->bk_use = BRK_EMPTY;
-       }
-       ++B;
+        if (B->bk_use == BRK_TMP) {
+            B->bk_use = BRK_EMPTY;
+        }
+        ++B;
     }
 }
 
@@ -731,12 +731,12 @@ static unsigned char DbgTmpBreaksOk (void)
     unsigned char i;
     BreakPoint* B = DbgBreaks;
     for (i = 0; i < MAX_USERBREAKS; ++i) {
-               if (B->bk_use == BRK_TMP && !DbgIsRAM (B->bk_addr)) {
-           BreakInRomError ();
-           DbgResetTmpBreaks ();
-           return 0;
-       }
-       ++B;
+        if (B->bk_use == BRK_TMP && !DbgIsRAM (B->bk_addr)) {
+            BreakInRomError ();
+            DbgResetTmpBreaks ();
+            return 0;
+        }
+        ++B;
     }
     return 1;
 }
@@ -744,7 +744,7 @@ static unsigned char DbgTmpBreaksOk (void)
 
 
 /*****************************************************************************/
-/*                         Assembler window stuff                           */
+/*                          Assembler window stuff                           */
 /*****************************************************************************/
 
 
@@ -760,25 +760,25 @@ static unsigned AsmBack (unsigned mem, unsigned char lines)
 
     unsigned offs = 6;
     while (1) {
-       in = 0;
-       cur = mem - (lines * 3) - offs;
-       while (1) {
-           cur += DbgDisAsmLen (cur);
-           adr [in] = cur;
-           in = (in + 1) & 0x1F;
-                   if (cur >= mem) {
-               if (cur == mem || offs == 12) {
-                   /* Found */
-                   return adr [(in - lines - 1) & 0x1F];
-               } else {
-                   /* The requested address is inside an instruction, go back
-                    * one more byte and try again.
-                    */
-                           ++offs;
-                   break;
-               }
-           }
-       }
+        in = 0;
+        cur = mem - (lines * 3) - offs;
+        while (1) {
+            cur += DbgDisAsmLen (cur);
+            adr [in] = cur;
+            in = (in + 1) & 0x1F;
+            if (cur >= mem) {
+                if (cur == mem || offs == 12) {
+                    /* Found */
+                    return adr [(in - lines - 1) & 0x1F];
+                } else {
+                    /* The requested address is inside an instruction, go back
+                     * one more byte and try again.
+                     */
+                    ++offs;
+                    break;
+                }
+            }
+        }
     }
 }
 
@@ -795,22 +795,22 @@ static unsigned UpdateAsm (void)
     unsigned      m = AsmBack (AsmAddr, 2);
 
     for (y = AsmFrame.fd_y1+1; y < AsmFrame.fd_y2; ++y) {
-       len = DbgDisAsm (m, buf, width);
-               if (m == brk_pc) {
-           buf [4] = '-';
-           buf [5] = '>';
-       }
-       if (DbgIsBreak (m)) {
-           buf [5] = '*';
-       }
-       if (m == AsmAddr) {
-           revers (1);
-           cputsxy (1, y, buf);
-           revers (0);
-       } else {
-           cputsxy (1, y, buf);
-       }
-       m += len;
+        len = DbgDisAsm (m, buf, width);
+        if (m == brk_pc) {
+            buf [4] = '-';
+            buf [5] = '>';
+        }
+        if (DbgIsBreak (m)) {
+            buf [5] = '*';
+        }
+        if (m == AsmAddr) {
+            revers (1);
+            cputsxy (1, y, buf);
+            revers (0);
+        } else {
+            cputsxy (1, y, buf);
+        }
+        m += len;
     }
     return m;
 }
@@ -830,33 +830,33 @@ static void AsmFollow (void)
 {
     switch (*(unsigned char*) AsmAddr) {
 
-       case OPC_JMP:
-       case OPC_JSR:
-                   AsmAddr = AsmArg16 ();
-           break;
+        case OPC_JMP:
+        case OPC_JSR:
+            AsmAddr = AsmArg16 ();
+            break;
 
         case OPC_JMPIND:
-           AsmAddr = *(unsigned*)AsmArg16 ();
-           break;
-
-       case OPC_BPL:
-       case OPC_BMI:
-       case OPC_BVC:
-       case OPC_BVS:
-       case OPC_BCC:
-       case OPC_BCS:
-       case OPC_BNE:
-       case OPC_BEQ:
-                   AsmAddr = AsmAddr + 2 + *(signed char*)(AsmAddr+1);
-           break;
+            AsmAddr = *(unsigned*)AsmArg16 ();
+            break;
+
+        case OPC_BPL:
+        case OPC_BMI:
+        case OPC_BVC:
+        case OPC_BVS:
+        case OPC_BCC:
+        case OPC_BCS:
+        case OPC_BNE:
+        case OPC_BEQ:
+            AsmAddr = AsmAddr + 2 + *(signed char*)(AsmAddr+1);
+            break;
 
         case OPC_RTS:
-           AsmAddr = (*(unsigned*) (DbgSP + 0x101) + 1);
-           break;
+            AsmAddr = (*(unsigned*) (DbgSP + 0x101) + 1);
+            break;
 
         case OPC_RTI:
-           AsmAddr = *(unsigned*) (DbgSP + 0x102);
-           break;
+            AsmAddr = *(unsigned*) (DbgSP + 0x102);
+            break;
 
     }
 }
@@ -888,68 +888,68 @@ static char AsmHandler (void)
 
     while (1) {
 
-       /* Update the window contents */
-       Last = UpdateAsm ();
+        /* Update the window contents */
+        Last = UpdateAsm ();
 
-       /* Read and handle input */
-       switch (c = GetKeyUpdate ()) {
+        /* Read and handle input */
+        switch (c = GetKeyUpdate ()) {
 
-           case  '+':
-               AsmAddr = Last;
-               break;
+            case  '+':
+                AsmAddr = Last;
+                break;
 
-           case '-':
-               AsmAddr = AsmBack (AsmAddr, AsmFrame.fd_height);
-               break;
+            case '-':
+                AsmAddr = AsmBack (AsmAddr, AsmFrame.fd_height);
+                break;
 
-           case 't':
+            case 't':
 #ifdef CH_F2
-           case CH_F2:
+            case CH_F2:
 #endif
-               DbgToggleUserBreak (AsmAddr);
-               break;
+                DbgToggleUserBreak (AsmAddr);
+                break;
 
-           case 'f':
-               AsmFollow ();
-               break;
+            case 'f':
+                AsmFollow ();
+                break;
 
-           case 'g':
-               InputGoto (&AsmAddr);
-               break;
+            case 'g':
+                InputGoto (&AsmAddr);
+                break;
 
-           case 'o':
-               AsmHome ();
-               break;
+            case 'o':
+                AsmHome ();
+                break;
 
-           case 'p':
-               brk_pc = AsmAddr;
-               break;
+            case 'p':
+                brk_pc = AsmAddr;
+                break;
 
             case 'a':
 #ifdef CH_CURS_UP
-           case CH_CURS_UP:
+            case CH_CURS_UP:
 #endif
-               AsmAddr = AsmBack (AsmAddr, 1);
-               break;
+                AsmAddr = AsmBack (AsmAddr, 1);
+                break;
 
             case 'z':
 #ifdef CH_CURS_DOWN
-           case CH_CURS_DOWN:
+            case CH_CURS_DOWN:
 #endif
-               AsmAddr += DbgDisAsmLen (AsmAddr);
-               break;
+                AsmAddr += DbgDisAsmLen (AsmAddr);
+                break;
 
-           default:
-               return c;
+            default:
+                return c;
 
-       }
+        }
     }
 }
 
 
 
 /*****************************************************************************/
-/*                          Register window stuff                           */
+/*                           Register window stuff                           */
 /*****************************************************************************/
 
 
@@ -962,14 +962,14 @@ static unsigned UpdateReg (void)
     unsigned char y = RegFrame.fd_y1;
 
     /* Print the register contents */
-    gotoxy (x1, ++y);          cputhex16 (brk_pc);
-    gotoxy (x2, ++y);          cputhex8  (brk_sr);
-    gotoxy (x2, ++y);          cputhex8  (brk_a);
-    gotoxy (x2, ++y);          cputhex8  (brk_x);
-    gotoxy (x2, ++y);          cputhex8  (brk_y);
-    gotoxy (x2, ++y);          cputhex8  (DbgSP);
+    gotoxy (x1, ++y);   cputhex16 (brk_pc);
+    gotoxy (x2, ++y);   cputhex8  (brk_sr);
+    gotoxy (x2, ++y);   cputhex8  (brk_a);
+    gotoxy (x2, ++y);   cputhex8  (brk_x);
+    gotoxy (x2, ++y);   cputhex8  (brk_y);
+    gotoxy (x2, ++y);   cputhex8  (DbgSP);
     gotoxy (x1, ++y);   cputhex16 (DbgCS);
-    gotoxy (x1, ++y);          cputhex16 (DbgHI);
+    gotoxy (x1, ++y);   cputhex16 (DbgHI);
 
     /* Not needed */
     return 0;
@@ -994,7 +994,7 @@ static char RegHandler (void)
 
 
 /*****************************************************************************/
-/*                            Stack window stuff                            */
+/*                             Stack window stuff                            */
 /*****************************************************************************/
 
 
@@ -1008,11 +1008,11 @@ static unsigned UpdateStack (void)
     unsigned char y;
 
     for (y = StackFrame.fd_y2-1; y > StackFrame.fd_y1; --y) {
-       gotoxy (x1, y);
-       cputhex8 (mem);
-       gotoxy (x2, y);
-       cputhex8 (* (unsigned char*) (mem + 0x100));
-               ++mem;
+        gotoxy (x1, y);
+        cputhex8 (mem);
+        gotoxy (x2, y);
+        cputhex8 (* (unsigned char*) (mem + 0x100));
+        ++mem;
     }
     return mem;
 }
@@ -1044,49 +1044,49 @@ static char StackHandler (void)
 
     while (1) {
 
-       /* Read and handle input */
-       switch (c = GetKeyUpdate ()) {
+        /* Read and handle input */
+        switch (c = GetKeyUpdate ()) {
 
-           case  '+':
-                       StackAddr += BytesPerPage;
-               break;
+            case  '+':
+                StackAddr += BytesPerPage;
+                break;
 
-           case '-':
-               StackAddr -= BytesPerPage;
-               break;
+            case '-':
+                StackAddr -= BytesPerPage;
+                break;
 
-           case 'o':
-               StackHome ();
-               break;
+            case 'o':
+                StackHome ();
+                break;
 
             case 'a':
 #ifdef CH_CURS_UP:
-           case CH_CURS_UP:
+            case CH_CURS_UP:
 #endif
-               --StackAddr;
-               break;
+                --StackAddr;
+                break;
 
             case 'z':
 #ifdef CH_CURS_DOWN
-           case CH_CURS_DOWN:
+            case CH_CURS_DOWN:
 #endif
-               ++StackAddr;
-               break;
+                ++StackAddr;
+                break;
 
-           default:
-               return c;
+            default:
+                return c;
 
-       }
+        }
 
-       /* Update the window contents */
-               UpdateStack ();
+        /* Update the window contents */
+        UpdateStack ();
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                  C Stack window stuff                            */
+/*                           C Stack window stuff                            */
 /*****************************************************************************/
 
 
@@ -1099,9 +1099,9 @@ static unsigned UpdateCStack (void)
     unsigned char y;
 
     for (y = CStackFrame.fd_y2-1; y > CStackFrame.fd_y1; --y) {
-       gotoxy (x, y);
-       cputhex16 (* (unsigned*)mem);
-       mem += 2;
+        gotoxy (x, y);
+        cputhex16 (* (unsigned*)mem);
+        mem += 2;
     }
     cputsxy (CStackFrame.fd_x1+1, CStackFrame.fd_y2-1, "->");
     return mem;
@@ -1134,49 +1134,49 @@ static char CStackHandler (void)
 
     while (1) {
 
-       /* Read and handle input */
-       switch (c = GetKeyUpdate ()) {
+        /* Read and handle input */
+        switch (c = GetKeyUpdate ()) {
 
-           case  '+':
-                       CStackAddr += BytesPerPage;
-               break;
+            case  '+':
+                CStackAddr += BytesPerPage;
+                break;
 
-           case '-':
-               CStackAddr -= BytesPerPage;
-               break;
+            case '-':
+                CStackAddr -= BytesPerPage;
+                break;
 
-           case 'o':
-               CStackHome ();
-               break;
+            case 'o':
+                CStackHome ();
+                break;
 
             case 'a':
 #ifdef CH_CURS_UP
-           case CH_CURS_UP:
+            case CH_CURS_UP:
 #endif
-               CStackAddr -= 2;
-               break;
+                CStackAddr -= 2;
+                break;
 
             case 'z':
 #ifdef CH_CURS_DOWN
-           case CH_CURS_DOWN:
+            case CH_CURS_DOWN:
 #endif
-               CStackAddr += 2;
-               break;
+                CStackAddr += 2;
+                break;
 
-           default:
-               return c;
+            default:
+                return c;
 
-       }
+        }
 
-       /* Update the window contents */
-               UpdateCStack ();
+        /* Update the window contents */
+        UpdateCStack ();
     }
 }
 
 
 
 /*****************************************************************************/
-/*                            Dump window stuff                             */
+/*                             Dump window stuff                             */
 /*****************************************************************************/
 
 
@@ -1191,8 +1191,8 @@ static unsigned UpdateDump (void)
     unsigned char* p = (unsigned char*) mem;
 
     for (y = DumpFrame.fd_y1+1; y < DumpFrame.fd_y2; ++y) {
-       cputsxy (x, y, DbgMemDump (mem, Buf, DUMP_BYTES));
-       mem += DUMP_BYTES;
+        cputsxy (x, y, DbgMemDump (mem, Buf, DUMP_BYTES));
+        mem += DUMP_BYTES;
     }
     return mem;
 }
@@ -1215,53 +1215,53 @@ static char DumpHandler (void)
 
     while (1) {
 
-       /* Read and handle input */
-       switch (c = GetKeyUpdate ()) {
+        /* Read and handle input */
+        switch (c = GetKeyUpdate ()) {
 
-           case  '+':
-               DumpAddr += BytesPerPage;
-               break;
+            case  '+':
+                DumpAddr += BytesPerPage;
+                break;
 
-           case '-':
-               DumpAddr -= BytesPerPage;
-               break;
+            case '-':
+                DumpAddr -= BytesPerPage;
+                break;
 
-           case 'g':
-               InputGoto (&DumpAddr);
-               break;
+            case 'g':
+                InputGoto (&DumpAddr);
+                break;
 
-           case 'o':
-               DumpHome ();
-               break;
+            case 'o':
+                DumpHome ();
+                break;
 
             case 'a':
 #ifdef CH_CURS_UP
-           case CH_CURS_UP:
+            case CH_CURS_UP:
 #endif
-               DumpAddr -= 8;
-               break;
+                DumpAddr -= 8;
+                break;
 
             case 'z':
 #ifdef CH_CURS_DOWN
-           case CH_CURS_DOWN:
+            case CH_CURS_DOWN:
 #endif
-               DumpAddr += 8;
-               break;
+                DumpAddr += 8;
+                break;
 
-           default:
-               return c;
+            default:
+                return c;
 
-       }
+        }
 
-       /* Update the window contents */
-               UpdateDump ();
+        /* Update the window contents */
+        UpdateDump ();
     }
 }
 
 
 
 /*****************************************************************************/
-/*                            Help window stuff                             */
+/*                             Help window stuff                             */
 /*****************************************************************************/
 
 
@@ -1289,7 +1289,7 @@ static char HelpHandler (void)
 
 
 /*****************************************************************************/
-/*                               Singlestep                                 */
+/*                                Singlestep                                 */
 /*****************************************************************************/
 
 
@@ -1325,49 +1325,49 @@ static void SingleStep (char StepInto)
     switch (*(unsigned char*) brk_pc) {
 
         case OPC_JMP:
-           /* Set breakpoint at target */
-           DbgSetTmpBreak (GetArg16 ());
-           return;
-
-       case OPC_JMPIND:
-           /* Indirect jump, ignore CPU error when crossing page */
-           DbgSetTmpBreak (*(unsigned*)GetArg16 ());
-           return;
-
-       case OPC_BPL:
-       case OPC_BMI:
-       case OPC_BVC:
-       case OPC_BVS:
-       case OPC_BCC:
-       case OPC_BCS:
-       case OPC_BNE:
-       case OPC_BEQ:
-           /* Be sure not to set the breakpoint twice if this is a jump to
-            * the following instruction.
-            */
+            /* Set breakpoint at target */
+            DbgSetTmpBreak (GetArg16 ());
+            return;
+
+        case OPC_JMPIND:
+            /* Indirect jump, ignore CPU error when crossing page */
+            DbgSetTmpBreak (*(unsigned*)GetArg16 ());
+            return;
+
+        case OPC_BPL:
+        case OPC_BMI:
+        case OPC_BVC:
+        case OPC_BVS:
+        case OPC_BCC:
+        case OPC_BCS:
+        case OPC_BNE:
+        case OPC_BEQ:
+            /* Be sure not to set the breakpoint twice if this is a jump to
+             * the following instruction.
+             */
             Offs = ((signed char*)brk_pc)[1];
-           if (Offs) {
-               DbgSetTmpBreak (brk_pc + Offs + 2);
-           }
-           break;
+            if (Offs) {
+                DbgSetTmpBreak (brk_pc + Offs + 2);
+            }
+            break;
 
         case OPC_RTS:
-           /* Set a breakpoint at the return target */
-           SetRTSBreak ();
-           return;
+            /* Set a breakpoint at the return target */
+            SetRTSBreak ();
+            return;
 
         case OPC_RTI:
-           /* Set a breakpoint at the return target */
-           DbgSetTmpBreak (GetStack16 (1));
-           return;
+            /* Set a breakpoint at the return target */
+            DbgSetTmpBreak (GetStack16 (1));
+            return;
 
         case OPC_JSR:
-           if (StepInto) {
-               /* Set breakpoint at target */
-               DbgSetTmpBreak (GetArg16 ());
-               return;
-           }
-           break;
+            if (StepInto) {
+                /* Set breakpoint at target */
+                DbgSetTmpBreak (GetArg16 ());
+                return;
+            }
+            break;
     }
 
     /* Place a breakpoint behind the instruction */
@@ -1377,7 +1377,7 @@ static void SingleStep (char StepInto)
 
 
 /*****************************************************************************/
-/*                       High level window handling                         */
+/*                        High level window handling                         */
 /*****************************************************************************/
 
 
@@ -1431,26 +1431,26 @@ static char GetKeyUpdate (void)
     /* While there are no keys... */
     while (!kbhit ()) {
 
-       switch (Win) {
+        switch (Win) {
 
-           case 0:
-               UpdateAsm ();
-               break;
+            case 0:
+                UpdateAsm ();
+                break;
 
-           case 1:
-               UpdateStack ();
-               break;
+            case 1:
+                UpdateStack ();
+                break;
 
-           case 2:
-               UpdateCStack ();
-               break;
+            case 2:
+                UpdateCStack ();
+                break;
 
-           case 3:
-               UpdateDump ();
-               break;
-       }
+            case 3:
+                UpdateDump ();
+                break;
+        }
 
-       Win = (Win + 1) & 0x03;
+        Win = (Win + 1) & 0x03;
 
     }
 
@@ -1461,7 +1461,7 @@ static char GetKeyUpdate (void)
 
 
 /*****************************************************************************/
-/*                      Externally visible functions                        */
+/*                       Externally visible functions                        */
 /*****************************************************************************/
 
 
@@ -1475,110 +1475,110 @@ void DbgEntry (void)
 
     /* If this is the first call, setup the display */
     if (FirstTime) {
-       FirstTime = 0;
-
-       /* Draw the window, default active frame is ASM frame */
-       RedrawStatic (WIN_ASM);
-       InitAsm ();
-       InitReg ();
-       InitStack ();
-       InitCStack ();
-       UpdateDump ();
+        FirstTime = 0;
+
+        /* Draw the window, default active frame is ASM frame */
+        RedrawStatic (WIN_ASM);
+        InitAsm ();
+        InitReg ();
+        InitStack ();
+        InitCStack ();
+        UpdateDump ();
     }
 
     /* Only initialize variables here, don't do a display update. The actual
      * display update will be done while waiting for user input.
      */
     AsmHome ();
-    UpdateReg ();              /* Must update this (static later) */
+    UpdateReg ();               /* Must update this (static later) */
     StackHome ();
     CStackHome ();
 
     /* Wait for user input */
     done = 0;
     while (!done) {
-       c = Frames [ActiveFrame]->fd_func ();
-       switch (c) {
-
-           case '1':
-           case '2':
-           case '3':
-           case '4':
-           case '5':
-               ActivateFrame (c - '1', 0);
-               break;
-
-           case '?':
+        c = Frames [ActiveFrame]->fd_func ();
+        switch (c) {
+
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+                ActivateFrame (c - '1', 0);
+                break;
+
+            case '?':
 #ifdef CH_F1
-                   case CH_F1:
+            case CH_F1:
 #endif
-                       HelpHandler ();
-                       break;
+                HelpHandler ();
+                break;
 
-           case 'u':
+            case 'u':
 #ifdef CH_F3
-                   case CH_F3:
+            case CH_F3:
 #endif
-               /* Go until return */
-               SetRTSBreak ();
-               done = 1;
-               break;
+                /* Go until return */
+                SetRTSBreak ();
+                done = 1;
+                break;
 
-           case 'h':
+            case 'h':
 #ifdef CH_F4
-           case CH_F4:
+            case CH_F4:
 #endif
-               /* Go to cursor, only possible if cursor not at current PC */
-               if (AsmAddr != brk_pc) {
-                   DbgSetTmpBreak (AsmAddr);
-                   done = 1;
-               }
-               break;
-
-           case ' ':
+                /* Go to cursor, only possible if cursor not at current PC */
+                if (AsmAddr != brk_pc) {
+                    DbgSetTmpBreak (AsmAddr);
+                    done = 1;
+                }
+                break;
+
+            case ' ':
 #ifdef CH_F7
-           case CH_F7:
+            case CH_F7:
 #endif
-               SingleStep (1);
-               if (DbgTmpBreaksOk ()) {
-                   /* Could set breakpoints */
-                   done = 1;
-               }
-               break;
-
-           case '\n':
+                SingleStep (1);
+                if (DbgTmpBreaksOk ()) {
+                    /* Could set breakpoints */
+                    done = 1;
+                }
+                break;
+
+            case '\n':
 #ifdef CH_F8
-           case CH_F8:
+            case CH_F8:
 #endif
-               SingleStep (0);
-               if (DbgTmpBreaksOk ()) {
-                   /* Could set breakpoints */
-                   done = 1;
-               }
-               break;
-
-           case 'c':
-           case 0:
-               done = 1;
-               break;
-
-                   case 's':
-               /* Skip instruction */
-               brk_pc += DbgDisAsmLen (brk_pc);
-               InitAsm ();
-               break;
-
-           case 'r':
-               /* Redraw screen */
-               Redraw (ActiveFrame);
-               break;
-
-           case 'q':
-               /* Quit program */
-               clrscr ();
-               exit (1);
-
-       }
+                SingleStep (0);
+                if (DbgTmpBreaksOk ()) {
+                    /* Could set breakpoints */
+                    done = 1;
+                }
+                break;
+
+            case 'c':
+            case 0:
+                done = 1;
+                break;
+
+            case 's':
+                /* Skip instruction */
+                brk_pc += DbgDisAsmLen (brk_pc);
+                InitAsm ();
+                break;
+
+            case 'r':
+                /* Redraw screen */
+                Redraw (ActiveFrame);
+                break;
+
+            case 'q':
+                /* Quit program */
+                clrscr ();
+                exit (1);
+
+        }
     }
 }
 
index b1e7f152f3bf17e99c731d08718d37df1a2b85ff..9899c0add601d8c64a0e7024b904a0a887afb449 100644 (file)
@@ -9,73 +9,73 @@
 ; (TEDMon).
 ;
 
-       .import         popax
-       .import         __hextab, OffsetTab, AdrFlagTab
-       .import         SymbolTab1, SymbolTab2, MnemoTab1, MnemoTab2
+        .import         popax
+        .import         __hextab, OffsetTab, AdrFlagTab
+        .import         SymbolTab1, SymbolTab2, MnemoTab1, MnemoTab2
 
 
 
 ; -------------------------------------------------------------------------
 ; Equates for better readability
 
-       .importzp       sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3
+        .importzp       sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3
 
-BufIndex       = tmp1          ; Index into output buffer
-OperandLen     = tmp2          ; Length of operand
-BufLen         = tmp3          ; Length of output buffer
-AdrFlagBuf     = tmp4          ; Flag for addressing mode
-YSave          = sreg          ; Temp storage
-XSave          = sreg+1        ; Dito
-BufPtr         = ptr1          ; Pointer to output buffer
-MemPtr         = ptr2          ; Pointer to memory to disassemble
-MnemoBuf       = ptr3          ; Buffer for decoding mnemonic
+BufIndex        = tmp1          ; Index into output buffer
+OperandLen      = tmp2          ; Length of operand
+BufLen          = tmp3          ; Length of output buffer
+AdrFlagBuf      = tmp4          ; Flag for addressing mode
+YSave           = sreg          ; Temp storage
+XSave           = sreg+1        ; Dito
+BufPtr          = ptr1          ; Pointer to output buffer
+MemPtr          = ptr2          ; Pointer to memory to disassemble
+MnemoBuf        = ptr3          ; Buffer for decoding mnemonic
 
 
 ; -------------------------------------------------------------------------
 ; Main entries
 
-       .export         _DbgDisAsm, _DbgDisAsmLen
-
-.proc  _DbgDisAsm
-       sta     BufLen          ; Save the buffer length
-       jsr     popax           ; Get the buffer pointer
-       sta     BufPtr
-       stx     BufPtr+1
-       jsr     popax           ; Get the address
-       sta     MemPtr
-       stx     MemPtr+1
-       lda     #0
-       sta     BufIndex        ; Initialize index into buffer
-       jsr     DisAssLine      ; Disassemble one line into the buffer
-
-       lda     BufLen          ; Get requested length
-       sec
-       sbc     BufIndex
-       beq     L2
-       tax                     ; Count into X
-       ldy     BufIndex
-       lda     #$20            ; Get a space
-L1:    sta     (BufPtr),y
-       iny
-       dex
-       bne     L1
-L2:            lda     #0              ; Add C string terminator
-       sta     (BufPtr),y
-       beq     disassret
+        .export         _DbgDisAsm, _DbgDisAsmLen
+
+.proc   _DbgDisAsm
+        sta     BufLen          ; Save the buffer length
+        jsr     popax           ; Get the buffer pointer
+        sta     BufPtr
+        stx     BufPtr+1
+        jsr     popax           ; Get the address
+        sta     MemPtr
+        stx     MemPtr+1
+        lda     #0
+        sta     BufIndex        ; Initialize index into buffer
+        jsr     DisAssLine      ; Disassemble one line into the buffer
+
+        lda     BufLen          ; Get requested length
+        sec
+        sbc     BufIndex
+        beq     L2
+        tax                     ; Count into X
+        ldy     BufIndex
+        lda     #$20            ; Get a space
+L1:     sta     (BufPtr),y
+        iny
+        dex
+        bne     L1
+L2:     lda     #0              ; Add C string terminator
+        sta     (BufPtr),y
+        beq     disassret
 
 .endproc
 
 
 _DbgDisAsmLen:
-       sta     MemPtr          ; Save address
-       stx     MemPtr+1
-               ldy     #$00
-               lda     (MemPtr),y      ; Get the opcode from memory...
-       jsr     AnalyzeOPCode   ; ...and analyze it
+        sta     MemPtr          ; Save address
+        stx     MemPtr+1
+        ldy     #$00
+        lda     (MemPtr),y      ; Get the opcode from memory...
+        jsr     AnalyzeOPCode   ; ...and analyze it
 disassret:
-       ldx     OperandLen      ; Get length of operand
-       inx                     ; Adjust for opcode byte
-       txa
+        ldx     OperandLen      ; Get length of operand
+        inx                     ; Adjust for opcode byte
+        txa
         ldx     #$00            ; Clear high byte
         rts     
 
@@ -84,140 +84,140 @@ disassret:
 
 
 Put3Spaces:
-               jsr     PutSpace
+        jsr     PutSpace
 Put2Spaces:
-               jsr     PutSpace
+        jsr     PutSpace
 PutSpace:
-               lda     #$20
+        lda     #$20
 PutChar:
-               sty     YSave           ; Save Y
-               ldy     BufIndex        ; Get current line pointer
-       cpy     BufLen          ; Be sure not to overflow the buffer
-       bcs     PC9
-               sta     (BufPtr),y      ; store character
-               iny                     ; bump index
-               sty     BufIndex
-PC9:           ldy     YSave           ; get old value
-       rts
+        sty     YSave           ; Save Y
+        ldy     BufIndex        ; Get current line pointer
+        cpy     BufLen          ; Be sure not to overflow the buffer
+        bcs     PC9
+        sta     (BufPtr),y      ; store character
+        iny                     ; bump index
+        sty     BufIndex
+PC9:    ldy     YSave           ; get old value
+        rts
 
 ; Print the 16 bit hex value in X/Y
 
 PutHex16:
-       txa
-       jsr     PutHex8
-       tya
+        txa
+        jsr     PutHex8
+        tya
 
 ; Print 8 bit value in A, save X and Y
 
 PutHex8:
-       stx     XSave
-       sty     YSave
-       ldy     BufIndex
-       pha
-       lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
-       tax
-       lda     __hextab,x
-       sta     (BufPtr),y
-       iny
-       pla
-       and     #$0F
-       tax
-       lda     __hextab,x
-       sta     (BufPtr),y
-       iny
-       sty     BufIndex
-       ldy     YSave
-       ldx     XSave
-       rts
+        stx     XSave
+        sty     YSave
+        ldy     BufIndex
+        pha
+        lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
+        tax
+        lda     __hextab,x
+        sta     (BufPtr),y
+        iny
+        pla
+        and     #$0F
+        tax
+        lda     __hextab,x
+        sta     (BufPtr),y
+        iny
+        sty     BufIndex
+        ldy     YSave
+        ldx     XSave
+        rts
 
 ; -------------------------------------------------------------------------
 ; Disassemble one line
 
 DisAssLine:
-       ldy     MemPtr
-       ldx     MemPtr+1
-               jsr     PutHex16                ; Print the address
-               jsr     Put2Spaces              ; Add some space
-       ldy     #$00
-               lda     (MemPtr),y              ; Get the opcode from memory...
-       jsr     AnalyzeOPCode           ; ...and analyze it
-       pha                             ; Save mnemonic
-       ldx     OperandLen              ; Number of bytes
+        ldy     MemPtr
+        ldx     MemPtr+1
+        jsr     PutHex16                ; Print the address
+        jsr     Put2Spaces              ; Add some space
+        ldy     #$00
+        lda     (MemPtr),y              ; Get the opcode from memory...
+        jsr     AnalyzeOPCode           ; ...and analyze it
+        pha                             ; Save mnemonic
+        ldx     OperandLen              ; Number of bytes
 
 ; Print the bytes that make up the instruction
 
-       inx
-L2083: dex
-       bpl     L208C                   ; Print the instruction bytes
-       jsr     Put3Spaces              ; If none left, print spaces instead
-       jmp     L2094
-L208C: lda     (MemPtr),y              ; Get a byte from memory
-               jsr     PutHex8                 ; ...and print it
-       jsr     PutSpace                ; Add some space
+        inx
+L2083:  dex
+        bpl     L208C                   ; Print the instruction bytes
+        jsr     Put3Spaces              ; If none left, print spaces instead
+        jmp     L2094
+L208C:  lda     (MemPtr),y              ; Get a byte from memory
+        jsr     PutHex8                 ; ...and print it
+        jsr     PutSpace                ; Add some space
 
-L2094: iny                             ; Next one...
-       cpy     #$03                    ; Maximum is three
-       bcc     L2083                   ;
+L2094:  iny                             ; Next one...
+        cpy     #$03                    ; Maximum is three
+        bcc     L2083                   ;
 
-       jsr     Put2Spaces              ; Add some space after bytes
+        jsr     Put2Spaces              ; Add some space after bytes
 
 ; Print the assembler mnemonic
 
-       pla                             ; Get mnemonic code
-       ldx     #$03
-       jsr     PutMnemo                ; Print the mnemonic
-       ldx     #$06
+        pla                             ; Get mnemonic code
+        ldx     #$03
+        jsr     PutMnemo                ; Print the mnemonic
+        ldx     #$06
 
 ; Print the operand
 
-L20A4: cpx     #$03
-       bne     L20BA
-       ldy     OperandLen
-       beq     L20BA
-
-L20AC: lda     AdrFlagBuf
-       cmp     #$E8                    ; Branch?
-       lda     (MemPtr),y              ; Get branch offset
-       bcs     GetBranchAdr            ; If branch: Calculate address
-       jsr     PutHex8                 ; Otherwise print 8bit value
-       dey
-       bne     L20AC
-
-L20BA: asl     AdrFlagBuf
-       bcc     L20CC
-       lda     SymbolTab1-1,x
-       jsr     PutChar
-       lda     SymbolTab2-1,x
-       beq     L20CC
-       jsr     PutChar
-
-L20CC: dex
-       bne     L20A4
-       rts
+L20A4:  cpx     #$03
+        bne     L20BA
+        ldy     OperandLen
+        beq     L20BA
+
+L20AC:  lda     AdrFlagBuf
+        cmp     #$E8                    ; Branch?
+        lda     (MemPtr),y              ; Get branch offset
+        bcs     GetBranchAdr            ; If branch: Calculate address
+        jsr     PutHex8                 ; Otherwise print 8bit value
+        dey
+        bne     L20AC
+
+L20BA:  asl     AdrFlagBuf
+        bcc     L20CC
+        lda     SymbolTab1-1,x
+        jsr     PutChar
+        lda     SymbolTab2-1,x
+        beq     L20CC
+        jsr     PutChar
+
+L20CC:  dex
+        bne     L20A4
+        rts
 
 ; If the instruction is a branch, calculate the absolute address of the
 ; branch target and print it.
 
 GetBranchAdr:
-       jsr     L20DD
-       clc
-       adc     #$01
-       bne     L20D9
-       inx                             ; Bump high byte
-L20D9: tay
-       jmp     PutHex16                ; Output address
-
-L20DD: ldx     MemPtr+1
-       tay
-       bpl     L20E3
-       dex
-L20E3: adc     MemPtr
-       bcc     L20E8
-       inx                             ; Bump high byte
-L20E8: rts
+        jsr     L20DD
+        clc
+        adc     #$01
+        bne     L20D9
+        inx                             ; Bump high byte
+L20D9:  tay
+        jmp     PutHex16                ; Output address
+
+L20DD:  ldx     MemPtr+1
+        tay
+        bpl     L20E3
+        dex
+L20E3:  adc     MemPtr
+        bcc     L20E8
+        inx                             ; Bump high byte
+L20E8:  rts
 
 ; -------------------------------------------------------------------------
 ; Subroutine to analyze an opcode byte in A. Will return a byte that
@@ -225,72 +225,72 @@ L20E8:    rts
 ; instruction in OperandLen
 
 AnalyzeOPCode:
-       tay
-       lsr     a
-       bcc     L20F8
-       lsr     a
-       bcs     L2107
-       cmp     #$22
-       beq     L2107
-       and     #$07
-       ora     #$80
-L20F8: lsr     a
-       tax
-       lda     OffsetTab,x
-       bcs     L2103
-       lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
-L2103: and     #$0F
-       bne     L210B
-L2107: ldy     #$80
-       lda     #$00
-L210B: tax
-       lda     AdrFlagTab,x
-       sta     AdrFlagBuf
-       and     #$03
-       sta     OperandLen
-       tya
-       and     #$8F
-       tax
-       tya
-       ldy     #$03
-       cpx     #$8A
-       beq     L212B
-
-L2120: lsr     a
-       bcc     L212B
-       lsr     a
-L2124: lsr     a
-       ora     #$20
-       dey
-       bne     L2124
-       iny
-L212B: dey
-       bne     L2120
-       rts
+        tay
+        lsr     a
+        bcc     L20F8
+        lsr     a
+        bcs     L2107
+        cmp     #$22
+        beq     L2107
+        and     #$07
+        ora     #$80
+L20F8:  lsr     a
+        tax
+        lda     OffsetTab,x
+        bcs     L2103
+        lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
+L2103:  and     #$0F
+        bne     L210B
+L2107:  ldy     #$80
+        lda     #$00
+L210B:  tax
+        lda     AdrFlagTab,x
+        sta     AdrFlagBuf
+        and     #$03
+        sta     OperandLen
+        tya
+        and     #$8F
+        tax
+        tya
+        ldy     #$03
+        cpx     #$8A
+        beq     L212B
+
+L2120:  lsr     a
+        bcc     L212B
+        lsr     a
+L2124:  lsr     a
+        ora     #$20
+        dey
+        bne     L2124
+        iny
+L212B:  dey
+        bne     L2120
+        rts
 
 ; -------------------------------------------------------------------------
 ; Print the mnemonic with code in A (that code was returned by
 ; AnalyzeOpcode).
 
 PutMnemo:
-       tay
-       lda     MnemoTab1,y
-       sta     MnemoBuf
-       lda     MnemoTab2,y
-       sta     MnemoBuf+1
-L213A: lda     #$00
-       ldy     #$05            ; 3*5 bits in two bytes
-L213E: asl     MnemoBuf+1
-       rol     MnemoBuf
-       rol     a
-       dey
-       bne     L213E
-       adc     #$3F
-       jsr     PutChar
-       dex
-       bne     L213A
-       jmp     PutSpace
+        tay
+        lda     MnemoTab1,y
+        sta     MnemoBuf
+        lda     MnemoTab2,y
+        sta     MnemoBuf+1
+L213A:  lda     #$00
+        ldy     #$05            ; 3*5 bits in two bytes
+L213E:  asl     MnemoBuf+1
+        rol     MnemoBuf
+        rol     a
+        dey
+        bne     L213E
+        adc     #$3F
+        jsr     PutChar
+        dex
+        bne     L213A
+        jmp     PutSpace
 
index ff8818f9694db894c216da451c890a172a660c88..b2045872fadc19f14f0f32b1ace162bafe8ec31f 100644 (file)
@@ -4,78 +4,78 @@
 ; char* DbgMemDump (unsigend Addr, char* Buf, unsigned char Length);
 ;
 
-       .export         _DbgMemDump
-       .import         addysp1
-       .import         __hextab
-       .importzp       sp, tmp2, tmp3, tmp4, ptr3, ptr4
+        .export         _DbgMemDump
+        .import         addysp1
+        .import         __hextab
+        .importzp       sp, tmp2, tmp3, tmp4, ptr3, ptr4
 
 _DbgMemDump:
-       ldy     #0
-       lda     (sp),y          ; Get length
-               sta     tmp4
-       iny
-       lda     (sp),y          ; Get the string buffer
-       sta     ptr3
-       iny
-       lda     (sp),y
-               sta     ptr3+1
-       iny
-       lda     (sp),y          ; Get the address
-       sta     ptr4
-       iny
-       lda     (sp),y
-       sta     ptr4+1
-       jsr     addysp1         ; Drop the parameters
+        ldy     #0
+        lda     (sp),y          ; Get length
+        sta     tmp4
+        iny
+        lda     (sp),y          ; Get the string buffer
+        sta     ptr3
+        iny
+        lda     (sp),y
+        sta     ptr3+1
+        iny
+        lda     (sp),y          ; Get the address
+        sta     ptr4
+        iny
+        lda     (sp),y
+        sta     ptr4+1
+        jsr     addysp1         ; Drop the parameters
 
-       lda     #0
-       sta     tmp2            ; String index
-       sta     tmp3            ; Byte index
+        lda     #0
+        sta     tmp2            ; String index
+        sta     tmp3            ; Byte index
 
 ; Print the address
 
-               lda     ptr4+1          ; Hi address byte
-               jsr     dump            ; Print address
-       lda     ptr4            ; Lo address byte
-       jsr     dump
-       jsr     putspace        ; Add a space
+        lda     ptr4+1          ; Hi address byte
+        jsr     dump            ; Print address
+        lda     ptr4            ; Lo address byte
+        jsr     dump
+        jsr     putspace        ; Add a space
 
-dump1: dec     tmp4            ; Bytes left?
-       bmi     dump9           ; Jump if no
-               jsr     putspace        ; Add a space
-       ldy     tmp3
-       inc     tmp3
-       lda     (ptr4),y
-       jsr     dump
-       jmp     dump1
+dump1:  dec     tmp4            ; Bytes left?
+        bmi     dump9           ; Jump if no
+        jsr     putspace        ; Add a space
+        ldy     tmp3
+        inc     tmp3
+        lda     (ptr4),y
+        jsr     dump
+        jmp     dump1
 
-dump9:         lda     #0
-       ldy     tmp2
-       sta     (ptr3),y        ; Add string terminator
-       lda     ptr3
-       ldx     ptr3+1          ; We assume this is not zero
-       rts
+dump9:  lda     #0
+        ldy     tmp2
+        sta     (ptr3),y        ; Add string terminator
+        lda     ptr3
+        ldx     ptr3+1          ; We assume this is not zero
+        rts
 
 ; Dump one hex byte
 
-dump:  pha
-       lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
-       tax
-       lda     __hextab,x
-       jsr     putc
-       pla
-       and     #$0F
-       tax
-       lda     __hextab,x
-putc:  ldy     tmp2
-       inc     tmp2
-       sta     (ptr3),y
-       rts
+dump:   pha
+        lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
+        tax
+        lda     __hextab,x
+        jsr     putc
+        pla
+        and     #$0F
+        tax
+        lda     __hextab,x
+putc:   ldy     tmp2
+        inc     tmp2
+        sta     (ptr3),y
+        rts
 
 putspace:
-       lda     #$20
-       bne     putc
+        lda     #$20
+        bne     putc
 
 
index f231b3fbb0775bf3cdaf59fc99efea5644c1dfbc..87cfa0ff454aa42408e0231d3b9bab8d401ca39b 100644 (file)
@@ -4,52 +4,52 @@
 ; int DbgIsRAM (unsigned Addr);
 ;
 
-       .export         _DbgIsRAM
-       .import         popax, return0, return1
-       .importzp       ptr1
+        .export         _DbgIsRAM
+        .import         popax, return0, return1
+        .importzp       ptr1
 
 _DbgIsRAM:
-       sta     ptr1            ; Store the address
-       stx     ptr1+1
+        sta     ptr1            ; Store the address
+        stx     ptr1+1
 
-       ldy     #0
-       php                     ; Save I flag
-       sei                     ; Disable interrupts
+        ldy     #0
+        php                     ; Save I flag
+        sei                     ; Disable interrupts
 
-       lda     (ptr1),y        ; Get old value
-       pha                     ; ...and save it
+        lda     (ptr1),y        ; Get old value
+        pha                     ; ...and save it
 
-       ldx     #3
-L1:    lda     TestVal,x
-       jsr     CheckCell
-       bne     L2
-       dex
-       bpl     L1
+        ldx     #3
+L1:     lda     TestVal,x
+        jsr     CheckCell
+        bne     L2
+        dex
+        bpl     L1
 
 ; This seems to be RAM
 
-       pla
-       sta     (ptr1),y        ; Restore old value
-       plp                     ; Restore old I flag
-       jmp     return1
+        pla
+        sta     (ptr1),y        ; Restore old value
+        plp                     ; Restore old I flag
+        jmp     return1
 
 ; No RAM at this address
 
-L2:    pla
-       sta     (ptr1),y        ; Restore old value
-       plp                     ; Restore old I flag
-       jmp     return0
+L2:     pla
+        sta     (ptr1),y        ; Restore old value
+        plp                     ; Restore old I flag
+        jmp     return0
 
 ; Check one memory cell
 
 CheckCell:
-       sta     (ptr1),y
-       cmp     (ptr1),y        ; Could we write it?
-       rts
+        sta     (ptr1),y
+        cmp     (ptr1),y        ; Could we write it?
+        rts
 
 
 .rodata
 TestVal:
-               .byte   $55, $AA, $33, $CC
+        .byte   $55, $AA, $33, $CC
 
 
index 0f9a7041c07265d1a6eb9d0d268fdc10374c0da8..9f044c728e1e13562f12e9dafca87d2aac47a634 100644 (file)
@@ -4,11 +4,11 @@
 ; Support routines for the debugger
 ;
 
-       .export         _DbgInit
-               .export         _DbgSP, _DbgCS, _DbgHI
-       .import         popax, return0, _DbgEntry, _set_brk, _end_brk
-       .import         _DbgBreaks
-       .import         _brk_pc
+        .export         _DbgInit
+        .export         _DbgSP, _DbgCS, _DbgHI
+        .import         popax, return0, _DbgEntry, _set_brk, _end_brk
+        .import         _DbgBreaks
+        .import         _brk_pc
         .import         __ZP_START__            ; Linker generated
 
         .include        "zeropage.inc"
 ; C callable function, will install the debugger
 
 _DbgInit:
-       lda     #<DbgBreak
-       ldx     #>DbgBreak
-       jmp     _set_brk
+        lda     #<DbgBreak
+        ldx     #>DbgBreak
+        jmp     _set_brk
 
 
 ; Entry for the break vector.
 
 DbgBreak:
-       pla
-       sta     retsav
-       pla
-       sta     retsav+1
+        pla
+        sta     retsav
+        pla
+        sta     retsav+1
 
-       cli
-       tsx                     ; Stack pointer
-       stx     _DbgSP
+        cli
+        tsx                     ; Stack pointer
+        stx     _DbgSP
 
-       jsr     DbgSwapZP       ; Swap stuff
-       lda     #<DbgStack      ; Set new stack
-       sta     sp
-       lda     #>DbgStack
-       sta     sp+1
-       jsr     ResetDbgBreaks  ; Reset temporary breakpoints
-       jsr     _DbgEntry       ; Call C code
-       jsr     SetDbgBreaks    ; Set temporary breakpoints
-               jsr     DbgSwapZP       ; Swap stuff back
+        jsr     DbgSwapZP       ; Swap stuff
+        lda     #<DbgStack      ; Set new stack
+        sta     sp
+        lda     #>DbgStack
+        sta     sp+1
+        jsr     ResetDbgBreaks  ; Reset temporary breakpoints
+        jsr     _DbgEntry       ; Call C code
+        jsr     SetDbgBreaks    ; Set temporary breakpoints
+        jsr     DbgSwapZP       ; Swap stuff back
 
-       lda     retsav+1
-       pha
-       lda     retsav
-       pha
-       rts
+        lda     retsav+1
+        pha
+        lda     retsav
+        pha
+        rts
 
 
 
 ; Stack used when in debugger mode
 
 .bss
-               .res    256
+        .res    256
 DbgStack:
 
 ; Swap space for the the C temporaries
 
 CTemp:
-_DbgCS:        .res    2               ; sp
-_DbgHI:        .res    2               ; sreg
-               .res    (zpsavespace-4) ; Other stuff
+_DbgCS: .res    2               ; sp
+_DbgHI: .res    2               ; sreg
+        .res    (zpsavespace-4) ; Other stuff
 
-_DbgSP:        .res    1
-retsav:        .res    2               ; Save buffer for return address
+_DbgSP: .res    1
+retsav: .res    2               ; Save buffer for return address
 
 .code
 
 ; Swap the C temporaries
 
 DbgSwapZP:
-       ldy     #zpsavespace-1
-Swap1:         ldx     CTemp,y
-               lda     <__ZP_START__,y
-               sta     CTemp,y
-               txa
-               sta     sp,y
-               dey
-               bpl     Swap1
-               rts
+        ldy     #zpsavespace-1
+Swap1:  ldx     CTemp,y
+        lda     <__ZP_START__,y
+        sta     CTemp,y
+        txa
+        sta     sp,y
+        dey
+        bpl     Swap1
+        rts
 
 ; ----------------------------------------------------------------------------
 ; Utility functions
@@ -92,114 +92,114 @@ Swap1:    ldx     CTemp,y
 ; reset the breakpoints. See declaration of struct breakpoint in the C
 ; source
 
-MaxBreaks      = 48            ; 4*12
+MaxBreaks       = 48            ; 4*12
 
 ResetDbgBreaks:
-               ldy     #0
-               ldx     #0
-L4:            lda     _DbgBreaks+3,x  ; Get bk_use
-               beq     L6              ; Jump if not set
-               bpl     L5              ; Jump if user breakpoint
-               lda     #0
-               sta     _DbgBreaks+3,x  ; Clear if temp breakpoint
-L5:            lda     _DbgBreaks+1,x  ; PC hi
-               sta     ptr1+1
-               lda     _DbgBreaks,x    ; PC lo
-               sta     ptr1
-               lda     _DbgBreaks+2,x  ; Old OPC
-               sta     (ptr1),y        ; Reset the breakpoint
-L6:            inx
-               inx
-               inx
-               inx
-               cpx     #MaxBreaks      ; Done?
-               bne     L4
-               rts
+        ldy     #0
+        ldx     #0
+L4:     lda     _DbgBreaks+3,x  ; Get bk_use
+        beq     L6              ; Jump if not set
+        bpl     L5              ; Jump if user breakpoint
+        lda     #0
+        sta     _DbgBreaks+3,x  ; Clear if temp breakpoint
+L5:     lda     _DbgBreaks+1,x  ; PC hi
+        sta     ptr1+1
+        lda     _DbgBreaks,x    ; PC lo
+        sta     ptr1
+        lda     _DbgBreaks+2,x  ; Old OPC
+        sta     (ptr1),y        ; Reset the breakpoint
+L6:     inx
+        inx
+        inx
+        inx
+        cpx     #MaxBreaks      ; Done?
+        bne     L4
+        rts
 
 SetDbgBreaks:
-               ldx     #0
-       ldy     #0
-L7:            lda     _DbgBreaks+3,x  ; Get bk_use
-               beq     L8              ; Jump if not set
-       lda     _DbgBreaks+1,x  ; PC hi
-               sta     ptr1+1
-               lda     _DbgBreaks,x    ; PC lo
-               sta     ptr1
-               lda     (ptr1),y        ; Get the breakpoint OPC...
-               sta     _DbgBreaks+2,x  ; ...and save it
-       lda     #$00            ; Load BRK opcode
-       sta     (ptr1),y
-L8:            inx
-               inx
-               inx
-               inx
-               cpx     #MaxBreaks      ; Done?
-               bne     L7
-               rts
+        ldx     #0
+        ldy     #0
+L7:     lda     _DbgBreaks+3,x  ; Get bk_use
+        beq     L8              ; Jump if not set
+        lda     _DbgBreaks+1,x  ; PC hi
+        sta     ptr1+1
+        lda     _DbgBreaks,x    ; PC lo
+        sta     ptr1
+        lda     (ptr1),y        ; Get the breakpoint OPC...
+        sta     _DbgBreaks+2,x  ; ...and save it
+        lda     #$00            ; Load BRK opcode
+        sta     (ptr1),y
+L8:     inx
+        inx
+        inx
+        inx
+        cpx     #MaxBreaks      ; Done?
+        bne     L7
+        rts
 
 ; Get a free breakpoint slot or return 0
 
-       .export         _DbgGetBreakSlot
+        .export         _DbgGetBreakSlot
 
 _DbgGetBreakSlot:
-               ldx     #0
-L10:   lda     _DbgBreaks+3,x  ; Get bk_use
-               beq     L11             ; Jump if not set
-       inx
-               inx
-               inx
-               inx
-               cpx     #MaxBreaks      ; Done?
-               bne     L10
-       jmp     return0         ; No free slot
-
-L11:   stx     tmp1
-       lda     #<_DbgBreaks
-       ldx     #>_DbgBreaks
-       clc
-       adc     tmp1
-       bcc     L12
-       inx
-L12:   ldy     #1              ; Force != 0
-       rts
+        ldx     #0
+L10:    lda     _DbgBreaks+3,x  ; Get bk_use
+        beq     L11             ; Jump if not set
+        inx
+        inx
+        inx
+        inx
+        cpx     #MaxBreaks      ; Done?
+        bne     L10
+        jmp     return0         ; No free slot
+
+L11:    stx     tmp1
+        lda     #<_DbgBreaks
+        ldx     #>_DbgBreaks
+        clc
+        adc     tmp1
+        bcc     L12
+        inx
+L12:    ldy     #1              ; Force != 0
+        rts
 
 
 ; Check if a given address has a user breakpoint set, if found, return the
 ; slot, otherwise return 0.
 
-       .export         _DbgIsBreak
+        .export         _DbgIsBreak
 
 _DbgIsBreak:
-       jsr     popax           ; Get address
-       sta     ptr1
-       stx     ptr1+1
-               ldx     #0
-L20:   lda     _DbgBreaks+3,x  ; Get bk_use
-               beq     L21             ; Jump if not set
-       bmi     L21             ; Jump if temp breakpoint
-       lda     _DbgBreaks,x    ; Low byte of address
-       cmp     ptr1
-       bne     L21
-       lda     _DbgBreaks+1,x  ; High byte of address
-       cmp     ptr1+1
-       beq     L22
-L21:   inx
-               inx
-               inx
-       inx
-               cpx     #MaxBreaks      ; Done?
-               bne     L20
-       jmp     return0         ; Not found
-
-L22:           stx     tmp1
-       lda     #<_DbgBreaks
-       ldx     #>_DbgBreaks
-       clc
-       adc     tmp1
-       bcc     L23
-       inx
-L23:           ldy     #1              ; Force != 0
-       rts
+        jsr     popax           ; Get address
+        sta     ptr1
+        stx     ptr1+1
+        ldx     #0
+L20:    lda     _DbgBreaks+3,x  ; Get bk_use
+        beq     L21             ; Jump if not set
+        bmi     L21             ; Jump if temp breakpoint
+        lda     _DbgBreaks,x    ; Low byte of address
+        cmp     ptr1
+        bne     L21
+        lda     _DbgBreaks+1,x  ; High byte of address
+        cmp     ptr1+1
+        beq     L22
+L21:    inx
+        inx
+        inx
+        inx
+        cpx     #MaxBreaks      ; Done?
+        bne     L20
+        jmp     return0         ; Not found
+
+L22:    stx     tmp1
+        lda     #<_DbgBreaks
+        ldx     #>_DbgBreaks
+        clc
+        adc     tmp1
+        bcc     L23
+        inx
+L23:    ldy     #1              ; Force != 0
+        rts
 
 
 
index 881c517482205b00c86df47e791b7fb6fad082c2..9c134296400e7fa3e751c88504028db2051c29bd 100644 (file)
 
 
 .bss
-_em_drv:        .res    2                      ; Pointer to driver
+_em_drv:        .res    2               ; Pointer to driver
 
 ; Jump table for the driver functions.
 .data
 emd_vectors:
-emd_install:           jmp     return0
-emd_uninstall:         jmp     return0
+emd_install:    jmp     return0
+emd_uninstall:  jmp     return0
 emd_pagecount:  jmp     return0
 emd_map:        jmp     return0
 emd_use:        jmp     return0
 emd_commit:     jmp     return0
-emd_copyfrom:          jmp     return0
+emd_copyfrom:   jmp     return0
 emd_copyto:     jmp     return0
 
 ; Driver header signature
 .rodata
-emd_sig:        .byte   $65, $6d, $64, EMD_API_VERSION ; "emd", version
+emd_sig:        .byte   $65, $6d, $64, EMD_API_VERSION  ; "emd", version
 
 
 ;----------------------------------------------------------------------------
@@ -41,10 +41,10 @@ emd_sig:        .byte   $65, $6d, $64, EMD_API_VERSION      ; "emd", version
 
 
 _em_install:
-               sta     _em_drv
-       sta     ptr1
-       stx     _em_drv+1
-       stx     ptr1+1
+        sta     _em_drv
+        sta     ptr1
+        stx     _em_drv+1
+        stx     ptr1+1
 
 ; Check the driver signature
 
index a7d235c3f7dc7703fea599d8577edf8c9fa7211e..66af02df9505156a8795db26937d6e6185542141 100644 (file)
@@ -11,4 +11,4 @@
 
         .include        "em-kernel.inc"
 
-               _em_commit      = emd_commit            ; Use driver entry
+        _em_commit      = emd_commit            ; Use driver entry
index 47bf1e6d26d59f4df0693156e71956116e3e60ef..edcff795beb11b5c80f9ca3b87e9123e04df07a8 100644 (file)
@@ -7,5 +7,5 @@
 
         .include        "em-kernel.inc"
 
-               _em_copyfrom    = emd_copyfrom          ; Use driver entry
+        _em_copyfrom    = emd_copyfrom          ; Use driver entry
 
index da2664c872abc69f7c0fcf1ef1ebcca5a30b21da..aa89b0e568928308ca129d1f23869d7c3da3b144 100644 (file)
@@ -7,5 +7,5 @@
 
         .include        "em-kernel.inc"
 
-       _em_copyto      = emd_copyto            ; Use driver entry
+        _em_copyto      = emd_copyto            ; Use driver entry
 
index 760103d24fa23f323469f42f77eb61e2b38cfe32..9897243a3be0381b9dcc530d41ebdbbe3b883dc3 100644 (file)
@@ -9,5 +9,5 @@
 
         .include        "em-kernel.inc"
 
-               _em_map         = emd_map               ; Use driver entry
+        _em_map         = emd_map               ; Use driver entry
 
index 298b2a7e08864c44334ed6c09a6597075d33facc..01b82d5f762bff02a9700224749ee15f6a2b2d05 100644 (file)
@@ -7,5 +7,5 @@
 
         .include        "em-kernel.inc"
 
-               _em_pagecount   = emd_pagecount                 ; Use driver entry
+        _em_pagecount   = emd_pagecount                 ; Use driver entry
 
index 74ee2f92a6869af203455812b633ea55d8d5141d..99a17844e091613e599bced6b6b453094ec6e3f4 100644 (file)
         .include        "modload.inc"
 
 _em_unload:
-       lda     _em_drv
-       ora     _em_drv+1
-               beq     no_driver               ; No driver
+        lda     _em_drv
+        ora     _em_drv+1
+        beq     no_driver               ; No driver
 
-       jsr     emd_uninstall           ; Deinstall the driver
+        jsr     emd_uninstall           ; Deinstall the driver
 
         lda     _em_drv
         ldx     _em_drv+1
@@ -25,6 +25,6 @@ _em_unload:
         jmp     em_clear_ptr            ; Clear the driver pointer, return zero
 
 no_driver:
-       tax                             ; X = 0
-       lda     #EM_ERR_NO_DRIVER
-       rts
+        tax                             ; X = 0
+        lda     #EM_ERR_NO_DRIVER
+        rts
index 3f07a5147d4bf20e5b684d5c3839c59c4d8b2915..8e4d57df074bd5c2adb6b6cf4208a710c9eadc6e 100644 (file)
@@ -13,5 +13,5 @@
 
         .include        "em-kernel.inc"
 
-               _em_use         = emd_use               ; Use driver entry
+        _em_use         = emd_use               ; Use driver entry
 
index 1a688ba12f8b62089f5ed3c6751af1555feef109..066546c65d10a4c825ac12fb265191710dfc52da 100644 (file)
@@ -5,7 +5,7 @@
 
 ; void EnterTurbo (void);
 
-           .export _EnterTurbo
-           .import return0
+            .export _EnterTurbo
+            .import return0
 
-_EnterTurbo    = return0
+_EnterTurbo     = return0
index 678a3d12f3d8302038b9f51236947a53b40dea7a..7098a56c4554effc2e937d9fc05bbdf3cb9642d3 100644 (file)
@@ -5,9 +5,9 @@
 
 ; void ExitTurbo (void);
 
-           .export _ExitTurbo
-           .import return0
+            .export _ExitTurbo
+            .import return0
 
-_ExitTurbo     = return0
-       
-       
+_ExitTurbo      = return0
+        
+        
index 059526630d98a96312e2f8d77b4dce181572d31c..631e7f17bb0f3330a0c2316c7be3ffbf9f591aab 100644 (file)
@@ -5,7 +5,7 @@
 
 ; void PurgeTurbo (void);
 
-           .export _PurgeTurbo
-           .import return0
+            .export _PurgeTurbo
+            .import return0
 
-_PurgeTurbo    = return0
+_PurgeTurbo     = return0
index 86809c8b9c3f4ef5c013a4ee1e3f9df55eb1254b..632717bb28ae52821ec9da929fa0ef7a41cbc101 100644 (file)
@@ -3,60 +3,60 @@
 ;Source: The Hitchhiker's Guide To GEOS
 ;http://lyonlabs.org/commodore/onrequest/geos-manuals/The_Hitchhikers_Guide_to_GEOS.pdf
 
-GetBlock               =       $0300
-PutBlock               =       $0303
-GetFile                        =       $030f
-LdFile                 =       $0312
-ReadFile               =       $0315
-SaveFile               =       $0318
-WriteFile              =       $031b
-GetVBM                 =       $031e
-PutVBM                 =       $0321
-CalcBlksFree           =       $0324
-FreeBlock              =       $032a
-SetNextFree            =       $032d
-AppendRecord           =       $0330
-CloseRecordFile                =       $0333
-DeleteRecord           =       $0336
-NextRecord             =       $0336
-InsertRecord           =       $0339
-OpenRecordFile         =       $033f
-PointRecord            =       $0342
-PreviousRecord         =       $0345
-ReadRecord             =       $0348
-UpdateRecordFile       =       $034b
-WriteRecord            =       $034e
-BlkAlloc               =       $0351
-NxtBlkAlloc            =       $0354
-DeleteFile             =       $0357
-FreeFile               =       $035a
-LdDeskAcc              =       $035d
-RstrAppl               =       $0360
-FdFTypesInDir          =       $0363
-FindFTypes             =       $0366
-FindFile               =       $0369
-FndFilinDir            =       $036c
-BldGDirEntry           =       $036f
-GetDirHead             =       $0372
-GetFreeDirBlk          =       $0375
-PutDirHead             =       $037b
-SetGDirEntry           =       $037b
-DeleteDir              =       $037e
-DownDirectory          =       $0381
-GetPathname            =       $0384
-MakeSubDir             =       $0387
-UpDirectory            =       $038a
-LdApplic               =       $038d
-GetFHdrInfo            =       $0390
-RenameFile             =       $0393
-OpenDisk               =       $0399
-Get1stDirEntry         =       $039c
-GetNxtDirEntry         =       $039c
-GoDirectory            =       $039f
-ReOpenDisk             =       $03a2
-SortAlpha              =       $03a5
-SaveFG                 =       $03ab
-RecoverFG              =       $03ae
-JsrToAux               =       $03b4
-UpdateParent           =       $03b7
-FreeDir                        =       $03ba
+GetBlock                =       $0300
+PutBlock                =       $0303
+GetFile                 =       $030f
+LdFile                  =       $0312
+ReadFile                =       $0315
+SaveFile                =       $0318
+WriteFile               =       $031b
+GetVBM                  =       $031e
+PutVBM                  =       $0321
+CalcBlksFree            =       $0324
+FreeBlock               =       $032a
+SetNextFree             =       $032d
+AppendRecord            =       $0330
+CloseRecordFile         =       $0333
+DeleteRecord            =       $0336
+NextRecord              =       $0336
+InsertRecord            =       $0339
+OpenRecordFile          =       $033f
+PointRecord             =       $0342
+PreviousRecord          =       $0345
+ReadRecord              =       $0348
+UpdateRecordFile        =       $034b
+WriteRecord             =       $034e
+BlkAlloc                =       $0351
+NxtBlkAlloc             =       $0354
+DeleteFile              =       $0357
+FreeFile                =       $035a
+LdDeskAcc               =       $035d
+RstrAppl                =       $0360
+FdFTypesInDir           =       $0363
+FindFTypes              =       $0366
+FindFile                =       $0369
+FndFilinDir             =       $036c
+BldGDirEntry            =       $036f
+GetDirHead              =       $0372
+GetFreeDirBlk           =       $0375
+PutDirHead              =       $037b
+SetGDirEntry            =       $037b
+DeleteDir               =       $037e
+DownDirectory           =       $0381
+GetPathname             =       $0384
+MakeSubDir              =       $0387
+UpDirectory             =       $038a
+LdApplic                =       $038d
+GetFHdrInfo             =       $0390
+RenameFile              =       $0393
+OpenDisk                =       $0399
+Get1stDirEntry          =       $039c
+GetNxtDirEntry          =       $039c
+GoDirectory             =       $039f
+ReOpenDisk              =       $03a2
+SortAlpha               =       $03a5
+SaveFG                  =       $03ab
+RecoverFG               =       $03ae
+JsrToAux                =       $03b4
+UpdateParent            =       $03b7
+FreeDir                 =       $03ba
index 039ea2d255076e383a72dc5abfd87eef85715364..7ca0a5f53d131e25c54f8467b18c6d67762a91ce 100644 (file)
 ;Source: The Hitchhiker's Guide To GEOS
 ;http://lyonlabs.org/commodore/onrequest/geos-manuals/The_Hitchhikers_Guide_to_GEOS.pdf
 
-r0                     =       $00
-r0L                    =       $00
-r0H                    =       $01
-r1                     =       $02
-r1L                    =       $02
-r1H                    =       $03
-r2                     =       $04
-r2L                    =       $04
-r2H                    =       $05
-r3                     =       $06
-r3L                    =       $06
-r3H                    =       $07
-r4                     =       $08
-r4L                    =       $08
-r4H                    =       $09
-r5                     =       $0a
-r5L                    =       $0a
-r5H                    =       $0b
-r6                     =       $0c
-r6L                    =       $0c
-r6H                    =       $0d
-r7                     =       $0e
-r7L                    =       $0e
-r7H                    =       $0f
-r8                     =       $10
-r8L                    =       $10
-r8H                    =       $11
-r9                     =       $12
-r9L                    =       $12
-r9H                    =       $13
-r10                    =       $14
-r10L                   =       $14
-r10H                   =       $15
-r11                    =       $16
-r11L                   =       $16
-r11H                   =       $17
-r12                    =       $18
-r12L                   =       $18
-r12H                   =       $19
-r13                    =       $1a
-r13L                   =       $1a
-r13H                   =       $1b
-r14                    =       $1c
-r14L                   =       $1c
-r14H                   =       $1d
-r15                    =       $1e
-r15L                   =       $1e
-r15H                   =       $1f
+r0                      =       $00
+r0L                     =       $00
+r0H                     =       $01
+r1                      =       $02
+r1L                     =       $02
+r1H                     =       $03
+r2                      =       $04
+r2L                     =       $04
+r2H                     =       $05
+r3                      =       $06
+r3L                     =       $06
+r3H                     =       $07
+r4                      =       $08
+r4L                     =       $08
+r4H                     =       $09
+r5                      =       $0a
+r5L                     =       $0a
+r5H                     =       $0b
+r6                      =       $0c
+r6L                     =       $0c
+r6H                     =       $0d
+r7                      =       $0e
+r7L                     =       $0e
+r7H                     =       $0f
+r8                      =       $10
+r8L                     =       $10
+r8H                     =       $11
+r9                      =       $12
+r9L                     =       $12
+r9H                     =       $13
+r10                     =       $14
+r10L                    =       $14
+r10H                    =       $15
+r11                     =       $16
+r11L                    =       $16
+r11H                    =       $17
+r12                     =       $18
+r12L                    =       $18
+r12H                    =       $19
+r13                     =       $1a
+r13L                    =       $1a
+r13H                    =       $1b
+r14                     =       $1c
+r14L                    =       $1c
+r14H                    =       $1d
+r15                     =       $1e
+r15L                    =       $1e
+r15H                    =       $1f
 
-string                 =       $53
-mouseTop               =       $57
-mouseBottom            =       $58
-mouseLeft              =       $59
-mouseRight             =       $5b
-mouseOn                        =       $5d
-curIndexTable          =       $5e
-cardDataPntr           =       $60
-returnAddress          =       $64
-shiftBuf               =       $70
-shiftOutBuf            =       $78
-appMain                        =       $0200
-intTopVector           =       $0202
-intBotVector           =       $0204
-mouseVector            =       $0206
-keyVector              =       $0208
-inputVector            =       $020a
-mouseFaultVec          =       $020c
-otherPressVec          =       $020e
-StringFaultVec         =       $0210
-alarmTmtVector         =       $0212
-BRKVector              =       $0214
-RecoverVector          =       $0216
-baselineOffset         =       $0218
-curSetWidth            =       $0219
-curHeight              =       $021b
-currentMode            =       $021c
-dispBufferOn           =       $021d
-windowTop              =       $021e
-leftMargin             =       $0220
-rightMargin            =       $0222
-selectionFlash         =       $0224
-alphaFlag              =       $0225
-iconSelFlag            =       $0226
-faultData              =       $0227
-MenuNumber             =       $0228
-mouseXOffset           =       $0229
-mouseYOffset           =       $022b
-curPattern             =       $022c
-stringX                        =       $022e
-stringY                        =       $0230
-noEraseSprites         =       $0240
-mouseXPos              =       $0241
-mouseYPos              =       $0243
-keyData                        =       $0245
-inputData              =       $0247
-random                 =       $024c
-saveFontTab            =       $024e
-dblClickCount          =       $0258
-sysDBData              =       $0259
-offFlag                        =       $027c
-maxMouseSpeed          =       $027d
-minMouseSpeed          =       $027e
-mouseAccel             =       $027f
-firstBoot              =       $0281
-dataFileName           =       $02a4
-dataDiskName           =       $02b4
-MachineType            =       $02c4
-intSource              =       $02c6
-reqXpos0               =       $0800
-reqXpos1               =       $0802
-reqXpos2               =       $0804
-reqXpos3               =       $0806
-reqXpos4               =       $0808
-reqXpos5               =       $080a
-reqXpos6               =       $080c
-reqXpos7               =       $080e
-mobenble               =       $0818
-mobx2                  =       $0819
-moby2                  =       $081a
-PrntFileName           =       $08ac
-inputDevName           =       $08cc
-pressFlag              =       $08fe
-curEnable              =       $0951
-sspr1back              =       $56d0
-sspr2back              =       $5820
-sspr3back              =       $5970
-sspr4back              =       $5ac0
-sspr5back              =       $5c10
-sspr6back              =       $5d60
-sspr7back              =       $5eb0
-backBufPtr             =       $9d7c
-softOnes               =       $d000
-softZeros              =       $d0e0
-curnoby2               =       $d952
-curmobx2               =       $d953
-curXpos0               =       $d954
-curYpos0               =       $d964
-backXBufNum            =       $d98c
-backYBufNum            =       $d994
-sizeFlags              =       $db1c
-doRestFlag             =       $db1d
-bootName               =       $e003
-version                        =       $e00c
-nationality            =       $e00d
-mouseSave              =       $ee53
-year                   =       $f200
-month                  =       $f201
-day                    =       $f202
-hour                   =       $f203
-minutes                        =       $f204
-seconds                        =       $f205
-dlgBoxRamBuf           =       $f381
-totNumBlks             =       $f60b
-curDrive               =       $f60d
-numDrives              =       $f60e
-diskOpenFlg            =       $f617
-curRecord              =       $f618
-usedRecords            =       $f619
-fileWritten            =       $f61a
-fileSize               =       $f61b
-dirBlkno               =       $f620
-dirPtr                 =       $f622
-indexBlkno             =       $f624
-diskBlkBuf             =       $f659
-fileHeader             =       $f859
-dirEntryBuf            =       $fa59
-curDirHead             =       $fa80
-DrACurDkNm             =       $faa7
-DrBCurDkNm             =       $fab7
-DrCCurDkNm             =       $fac7
-DrDCurDkNm             =       $fad7
-devTabHi               =       $fae7
-devTabLo               =       $faeb
-devUnitTab             =       $faef
-driveType              =       $faf3
-drSizeLo               =       $faf7
-drSizeHi               =       $fafb
+string                  =       $53
+mouseTop                =       $57
+mouseBottom             =       $58
+mouseLeft               =       $59
+mouseRight              =       $5b
+mouseOn                 =       $5d
+curIndexTable           =       $5e
+cardDataPntr            =       $60
+returnAddress           =       $64
+shiftBuf                =       $70
+shiftOutBuf             =       $78
+appMain                 =       $0200
+intTopVector            =       $0202
+intBotVector            =       $0204
+mouseVector             =       $0206
+keyVector               =       $0208
+inputVector             =       $020a
+mouseFaultVec           =       $020c
+otherPressVec           =       $020e
+StringFaultVec          =       $0210
+alarmTmtVector          =       $0212
+BRKVector               =       $0214
+RecoverVector           =       $0216
+baselineOffset          =       $0218
+curSetWidth             =       $0219
+curHeight               =       $021b
+currentMode             =       $021c
+dispBufferOn            =       $021d
+windowTop               =       $021e
+leftMargin              =       $0220
+rightMargin             =       $0222
+selectionFlash          =       $0224
+alphaFlag               =       $0225
+iconSelFlag             =       $0226
+faultData               =       $0227
+MenuNumber              =       $0228
+mouseXOffset            =       $0229
+mouseYOffset            =       $022b
+curPattern              =       $022c
+stringX                 =       $022e
+stringY                 =       $0230
+noEraseSprites          =       $0240
+mouseXPos               =       $0241
+mouseYPos               =       $0243
+keyData                 =       $0245
+inputData               =       $0247
+random                  =       $024c
+saveFontTab             =       $024e
+dblClickCount           =       $0258
+sysDBData               =       $0259
+offFlag                 =       $027c
+maxMouseSpeed           =       $027d
+minMouseSpeed           =       $027e
+mouseAccel              =       $027f
+firstBoot               =       $0281
+dataFileName            =       $02a4
+dataDiskName            =       $02b4
+MachineType             =       $02c4
+intSource               =       $02c6
+reqXpos0                =       $0800
+reqXpos1                =       $0802
+reqXpos2                =       $0804
+reqXpos3                =       $0806
+reqXpos4                =       $0808
+reqXpos5                =       $080a
+reqXpos6                =       $080c
+reqXpos7                =       $080e
+mobenble                =       $0818
+mobx2                   =       $0819
+moby2                   =       $081a
+PrntFileName            =       $08ac
+inputDevName            =       $08cc
+pressFlag               =       $08fe
+curEnable               =       $0951
+sspr1back               =       $56d0
+sspr2back               =       $5820
+sspr3back               =       $5970
+sspr4back               =       $5ac0
+sspr5back               =       $5c10
+sspr6back               =       $5d60
+sspr7back               =       $5eb0
+backBufPtr              =       $9d7c
+softOnes                =       $d000
+softZeros               =       $d0e0
+curnoby2                =       $d952
+curmobx2                =       $d953
+curXpos0                =       $d954
+curYpos0                =       $d964
+backXBufNum             =       $d98c
+backYBufNum             =       $d994
+sizeFlags               =       $db1c
+doRestFlag              =       $db1d
+bootName                =       $e003
+version                 =       $e00c
+nationality             =       $e00d
+mouseSave               =       $ee53
+year                    =       $f200
+month                   =       $f201
+day                     =       $f202
+hour                    =       $f203
+minutes                 =       $f204
+seconds                 =       $f205
+dlgBoxRamBuf            =       $f381
+totNumBlks              =       $f60b
+curDrive                =       $f60d
+numDrives               =       $f60e
+diskOpenFlg             =       $f617
+curRecord               =       $f618
+usedRecords             =       $f619
+fileWritten             =       $f61a
+fileSize                =       $f61b
+dirBlkno                =       $f620
+dirPtr                  =       $f622
+indexBlkno              =       $f624
+diskBlkBuf              =       $f659
+fileHeader              =       $f859
+dirEntryBuf             =       $fa59
+curDirHead              =       $fa80
+DrACurDkNm              =       $faa7
+DrBCurDkNm              =       $fab7
+DrCCurDkNm              =       $fac7
+DrDCurDkNm              =       $fad7
+devTabHi                =       $fae7
+devTabLo                =       $faeb
+devUnitTab              =       $faef
+driveType               =       $faf3
+drSizeLo                =       $faf7
+drSizeHi                =       $fafb
index f98858e800b10bedbfbfd3a19f8bdf2d1331cdf7..2590433bae6cba37b9ed0ac137f2b81e9519e6ca 100644 (file)
 ;Source: The Hitchhiker's Guide To GEOS
 ;http://lyonlabs.org/commodore/onrequest/geos-manuals/The_Hitchhikers_Guide_to_GEOS.pdf
 
-ReadClock              =       $0800
-ClockInt               =       $0803
-SetTimeDate            =       $0806
-SetAlarm               =       $0809
-ResetAlarm             =       $080c
-InitForPrint           =       $6000
-StartPrint             =       $6003
-StartASCII             =       $6006
-PrintBuffer            =       $6009
-PrintASCII             =       $600c
-StopPrint              =       $600f
-GetMode                        =       $6012
-SetMode                        =       $6015
-CancelPrint            =       $6018
-InitCard               =       $6700
-OpenCard               =       $6703
-OutputByte             =       $6706
-InputByte              =       $6709
-CloseCard              =       $670c
-InfoCard               =       $670f
-StatusCard             =       $6712
-ClearCard              =       $6715
-AuxDMain               =       $efa0
-AuxDInt                        =       $efa3
-AuxDKeyFilter          =       $efa6
-AuxDExit               =       $efa9
-InitMouse              =       $f000
-SlowMouse              =       $f003
-UpdateMouse            =       $f006
-KeyFilter              =       $f009
-MainLoop               =       $fe00
-InterruptMain          =       $fe03
-StartAppl              =       $fe06
-DoInlineReturn         =       $fe09
-DoIcons                        =       $fe0c
-DoMenu                 =       $fe0f
-ReDoMenu               =       $fe12
-DoPreviousMenu         =       $fe15
-GotoFirstMenu          =       $fe18
-RecoverMenu            =       $fe1b
-RecoverAllMenus                =       $fe1e
-DrawPoint              =       $fe21
-TestPoint              =       $fe24
-HorizontalLine         =       $fe27
-VerticalLine           =       $fe2a
-InvertLine             =       $fe2d
-RecoverLine            =       $fe30
-DrawLine               =       $fe33
-SetPattern             =       $fe36
-Rectangle              =       $fe39
-i_Rectangle            =       $fe3c
-FrameRectangle         =       $fe3f
-i_FrameRectangle       =       $fe42
-InvertRectangle                =       $fe45
-RecoverRectangle       =       $fe48
-i_RecoverRectangle     =       $fe4b
-ImprintRectangle       =       $fe4e
-i_ImprintRectangle     =       $fe51
-BitmapUp               =       $fe54
-i_BitmapUp             =       $fe57
-BitmapClip             =       $fe5a
-BitOtherClip           =       $fe5d
-GraphicsString         =       $fe60
-i_GraphicsString       =       $fe63
-GetScanLine            =       $fe66
-PutString              =       $fe69
-i_PutString            =       $fe6c
-PutDecimal             =       $fe6f
-GetString              =       $fe72
-GetNextChar            =       $fe75
-InitTextPrompt         =       $fe78
-PromptOn               =       $fe7b
-PromptOff              =       $fe7e
-PutChar                        =       $fe81
-GetRealSize            =       $fe84
-GetCharWidth           =       $fe87
-LoadCharSet            =       $fe8a
-UseSystemFont          =       $fe8d
-SmallPutChar           =       $fe90
-StartMouseMode         =       $fe93
-MouseOff               =       $fe96
-MouseUp                        =       $fe99
-IsMseInRegion          =       $fe9c
-ClearMouseMode         =       $fe9f
-DrawSprite             =       $fea2
-PosSprite              =       $fea5
-EnablSprite            =       $fea8
-DisablSprite           =       $feab
-InitProcesses          =       $feae
-RestartProcess         =       $feb1
-BlockProcess           =       $feb4
-UnblockProcess         =       $feb7
-FreezeProcess          =       $feba
-UnfreezeProcess                =       $febd
-Sleep                  =       $fec0
-EnableProcess          =       $fec3
-DShiftLeft             =       $fec6
-DShiftRight            =       $fec9
-BBMult                 =       $fecc
-BMult                  =       $fecf
-DMult                  =       $fed2
-Ddiv                   =       $fed5
-DSdiv                  =       $fed8
-Dabs                   =       $fedb
-Dnegate                        =       $fede
-Ddec                   =       $fee1
-GetRandom              =       $fee4
-CopyString             =       $fee7
-CopyFString            =       $feea
-CmpString              =       $feed
-CmpFString             =       $fef0
-Panic                  =       $fef3
-MoveData               =       $fef6
-i_MoveData             =       $fef9
-ClearRam               =       $fefc
-FillRam                        =       $feff
-i_FillRam              =       $ff02
-InitRam                        =       $ff05
-CallRoutine            =       $ff08
-NewBitOtherClip                =       $ff0e
-FirstInit              =       $ff11
-CRC                    =       $ff14
-DoDlgBox               =       $ff17
-RstrFrmDialogue                =       $ff1a
-NewBitUp               =       $ff1d
-IrqMiddle              =       $ff20
-TempHideMouse          =       $ff29
-SoftSprHandler         =       $ff2c
-SetMsePic              =       $ff2f
-InitSprite             =       $ff32
-SaveFontData           =       $ff35
-RestoreFontData                =       $ff38
-EraseCharacter         =       $ff3e
-ReadByte               =       $ff41
-GetLdVars              =       $ff44
-SetLdVars              =       $ff47
-InitForDialog          =       $ff4a
-WarmStart              =       $ff4d
-RecoverSysRam          =       $ff53
-GetPtrCurDkNm          =       $ff56
-EnterDeskTop           =       $ff59
-CopyScreenBlock                =       $ff5c
-CopyLine               =       $ff5f
-GetScreenLine          =       $ff62
-PutScreenLine          =       $ff65
-DivideBySeven          =       $ff68
-MoveAuxData            =       $ff6b
-GetSpriteData          =       $ff6e
-SwapMainAndAux         =       $ff71
-ReadBackLine           =       $ff74
-LoadAuxSet             =       $ff77
-HideOnlyMouse          =       $ff7a
-GetPattern             =       $ff7d
-SetUserPattern         =       $ff80
-Bell                   =       $ff86
-ImprintLine            =       $ff8f
-CopyFullScreen         =       $ff92
-NewBitClip             =       $ff95
-ReadScanLine           =       $ff98
-i_NewBitUp             =       $ff9e
+ReadClock               =       $0800
+ClockInt                =       $0803
+SetTimeDate             =       $0806
+SetAlarm                =       $0809
+ResetAlarm              =       $080c
+InitForPrint            =       $6000
+StartPrint              =       $6003
+StartASCII              =       $6006
+PrintBuffer             =       $6009
+PrintASCII              =       $600c
+StopPrint               =       $600f
+GetMode                 =       $6012
+SetMode                 =       $6015
+CancelPrint             =       $6018
+InitCard                =       $6700
+OpenCard                =       $6703
+OutputByte              =       $6706
+InputByte               =       $6709
+CloseCard               =       $670c
+InfoCard                =       $670f
+StatusCard              =       $6712
+ClearCard               =       $6715
+AuxDMain                =       $efa0
+AuxDInt                 =       $efa3
+AuxDKeyFilter           =       $efa6
+AuxDExit                =       $efa9
+InitMouse               =       $f000
+SlowMouse               =       $f003
+UpdateMouse             =       $f006
+KeyFilter               =       $f009
+MainLoop                =       $fe00
+InterruptMain           =       $fe03
+StartAppl               =       $fe06
+DoInlineReturn          =       $fe09
+DoIcons                 =       $fe0c
+DoMenu                  =       $fe0f
+ReDoMenu                =       $fe12
+DoPreviousMenu          =       $fe15
+GotoFirstMenu           =       $fe18
+RecoverMenu             =       $fe1b
+RecoverAllMenus         =       $fe1e
+DrawPoint               =       $fe21
+TestPoint               =       $fe24
+HorizontalLine          =       $fe27
+VerticalLine            =       $fe2a
+InvertLine              =       $fe2d
+RecoverLine             =       $fe30
+DrawLine                =       $fe33
+SetPattern              =       $fe36
+Rectangle               =       $fe39
+i_Rectangle             =       $fe3c
+FrameRectangle          =       $fe3f
+i_FrameRectangle        =       $fe42
+InvertRectangle         =       $fe45
+RecoverRectangle        =       $fe48
+i_RecoverRectangle      =       $fe4b
+ImprintRectangle        =       $fe4e
+i_ImprintRectangle      =       $fe51
+BitmapUp                =       $fe54
+i_BitmapUp              =       $fe57
+BitmapClip              =       $fe5a
+BitOtherClip            =       $fe5d
+GraphicsString          =       $fe60
+i_GraphicsString        =       $fe63
+GetScanLine             =       $fe66
+PutString               =       $fe69
+i_PutString             =       $fe6c
+PutDecimal              =       $fe6f
+GetString               =       $fe72
+GetNextChar             =       $fe75
+InitTextPrompt          =       $fe78
+PromptOn                =       $fe7b
+PromptOff               =       $fe7e
+PutChar                 =       $fe81
+GetRealSize             =       $fe84
+GetCharWidth            =       $fe87
+LoadCharSet             =       $fe8a
+UseSystemFont           =       $fe8d
+SmallPutChar            =       $fe90
+StartMouseMode          =       $fe93
+MouseOff                =       $fe96
+MouseUp                 =       $fe99
+IsMseInRegion           =       $fe9c
+ClearMouseMode          =       $fe9f
+DrawSprite              =       $fea2
+PosSprite               =       $fea5
+EnablSprite             =       $fea8
+DisablSprite            =       $feab
+InitProcesses           =       $feae
+RestartProcess          =       $feb1
+BlockProcess            =       $feb4
+UnblockProcess          =       $feb7
+FreezeProcess           =       $feba
+UnfreezeProcess         =       $febd
+Sleep                   =       $fec0
+EnableProcess           =       $fec3
+DShiftLeft              =       $fec6
+DShiftRight             =       $fec9
+BBMult                  =       $fecc
+BMult                   =       $fecf
+DMult                   =       $fed2
+Ddiv                    =       $fed5
+DSdiv                   =       $fed8
+Dabs                    =       $fedb
+Dnegate                 =       $fede
+Ddec                    =       $fee1
+GetRandom               =       $fee4
+CopyString              =       $fee7
+CopyFString             =       $feea
+CmpString               =       $feed
+CmpFString              =       $fef0
+Panic                   =       $fef3
+MoveData                =       $fef6
+i_MoveData              =       $fef9
+ClearRam                =       $fefc
+FillRam                 =       $feff
+i_FillRam               =       $ff02
+InitRam                 =       $ff05
+CallRoutine             =       $ff08
+NewBitOtherClip         =       $ff0e
+FirstInit               =       $ff11
+CRC                     =       $ff14
+DoDlgBox                =       $ff17
+RstrFrmDialogue         =       $ff1a
+NewBitUp                =       $ff1d
+IrqMiddle               =       $ff20
+TempHideMouse           =       $ff29
+SoftSprHandler          =       $ff2c
+SetMsePic               =       $ff2f
+InitSprite              =       $ff32
+SaveFontData            =       $ff35
+RestoreFontData         =       $ff38
+EraseCharacter          =       $ff3e
+ReadByte                =       $ff41
+GetLdVars               =       $ff44
+SetLdVars               =       $ff47
+InitForDialog           =       $ff4a
+WarmStart               =       $ff4d
+RecoverSysRam           =       $ff53
+GetPtrCurDkNm           =       $ff56
+EnterDeskTop            =       $ff59
+CopyScreenBlock         =       $ff5c
+CopyLine                =       $ff5f
+GetScreenLine           =       $ff62
+PutScreenLine           =       $ff65
+DivideBySeven           =       $ff68
+MoveAuxData             =       $ff6b
+GetSpriteData           =       $ff6e
+SwapMainAndAux          =       $ff71
+ReadBackLine            =       $ff74
+LoadAuxSet              =       $ff77
+HideOnlyMouse           =       $ff7a
+GetPattern              =       $ff7d
+SetUserPattern          =       $ff80
+Bell                    =       $ff86
+ImprintLine             =       $ff8f
+CopyFullScreen          =       $ff92
+NewBitClip              =       $ff95
+ReadScanLine            =       $ff98
+i_NewBitUp              =       $ff9e
index 7dfe54f07427b5707462c1708879ddcac547ca4e..2bd96ac5d8a1e5813e569938d06a669f00033c06 100644 (file)
@@ -1,12 +1,12 @@
 ; offsets into sectsizetab (DIO functions)
-sst_flag               =       0       ; length 1
-sst_sectsize           =       1       ;        2
-sst_driveno            =       3       ;        1  (drive #)
-sst_size               =       4       ; size of one entry
-                                       ; if changed, adapt diopncls.s
+sst_flag                =       0       ; length 1
+sst_sectsize            =       1       ;        2
+sst_driveno             =       3       ;        1  (drive #)
+sst_size                =       4       ; size of one entry
+                                        ; if changed, adapt diopncls.s
 
 ; offsets into dio_phys_pos
-diopp_head             =       0       ; head
-diopp_track            =       1       ; track / cylinder
-diopp_sector           =       3       ; sector
-diopp_size             =       5       ; size of structure
+diopp_head              =       0       ; head
+diopp_track             =       1       ; track / cylinder
+diopp_sector            =       3       ; sector
+diopp_size              =       5       ; size of structure
index dd2af089205f39a53bf1bb1dc06b2d4f2e80774b..c3035deeee14f9d489a039c0b3034dfb3215421b 100644 (file)
@@ -5,11 +5,11 @@
 
 ; char ChangeDiskDevice (char newDriveNumber);
 
-           .export _ChangeDiskDevice
-           .import setoserror
+            .export _ChangeDiskDevice
+            .import setoserror
 
-           .include "jumptab.inc"
-       
+            .include "jumptab.inc"
+        
 _ChangeDiskDevice:
-       jsr ChangeDiskDevice
-       jmp setoserror
+        jsr ChangeDiskDevice
+        jmp setoserror
index 2187d54327002408278d6bea1c77c6363710a548..c2b4821a43ebb2252aca01812d7bc16c4bf5fe75 100644 (file)
@@ -5,14 +5,14 @@
 
 ; char ChkDkGEOS (void);
 
-           .export _ChkDkGEOS
-           .import setoserror
+            .export _ChkDkGEOS
+            .import setoserror
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _ChkDkGEOS:
-       jsr ChkDkGEOS
-       jsr setoserror
-       lda isGEOS
-       rts
+        jsr ChkDkGEOS
+        jsr setoserror
+        lda isGEOS
+        rts
index b355c4ffd7f544e750996ca389098b89bc3381c2..8be34364105b18ccc097a36654bf391ef8661915 100644 (file)
 ;
 ;
 ; unsigned char __fastcall__ dio_phys_to_log (dhandle_t handle,
-;                                            dio_phys_pos *physpos,    /* input */
-;                                            unsigned *sectnum);       /* output */
+;                                             dio_phys_pos *physpos,    /* input */
+;                                             unsigned *sectnum);       /* output */
 ;
 
-           .export _dio_phys_to_log
-           .export sectab_1541_l, sectab_1541_h        ; for log_to_phys
-           .import popax,__oserror
-           .importzp ptr1,ptr2,ptr3,tmp1,tmp2,tmp3,tmp4
+            .export _dio_phys_to_log
+            .export sectab_1541_l, sectab_1541_h        ; for log_to_phys
+            .import popax,__oserror
+            .importzp ptr1,ptr2,ptr3,tmp1,tmp2,tmp3,tmp4
 
-           .include "dio.inc"
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "dio.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _dio_phys_to_log:
-       sta ptr1
-       stx ptr1+1              ; pointer to result
-           
-       jsr popax
-       sta ptr2
-       stx ptr2+1              ; pointer to input structure
-           
-       jsr popax
-       sta ptr3
-       stx ptr3+1              ; pointer to handle
-           
-       ldy #sst_flag
-       lda (ptr3),y
-       and #128
-       beq _inv_hand           ; handle not open or invalid
-           
-           
-       ldy #diopp_head
-       lda (ptr2),y
-       bne _inv_data           ; there is only head 0
-       ldy #diopp_track
-       lda (ptr2),y
-       beq _inv_data           ; there is no track 0
-       sta tmp1
-       iny
-       lda (ptr2),y
-       bne _inv_data           ; there are no more than 256 tracks
-       dec tmp1                ; normalize track to start from 0
-       ldy #diopp_sector
-       lda (ptr2),y
-       sta tmp2
-       iny
-       lda (ptr2),y
-       bne _inv_data           ; there are no more than 256 sectors
+        sta ptr1
+        stx ptr1+1              ; pointer to result
+            
+        jsr popax
+        sta ptr2
+        stx ptr2+1              ; pointer to input structure
+            
+        jsr popax
+        sta ptr3
+        stx ptr3+1              ; pointer to handle
+            
+        ldy #sst_flag
+        lda (ptr3),y
+        and #128
+        beq _inv_hand           ; handle not open or invalid
+            
+            
+        ldy #diopp_head
+        lda (ptr2),y
+        bne _inv_data           ; there is only head 0
+        ldy #diopp_track
+        lda (ptr2),y
+        beq _inv_data           ; there is no track 0
+        sta tmp1
+        iny
+        lda (ptr2),y
+        bne _inv_data           ; there are no more than 256 tracks
+        dec tmp1                ; normalize track to start from 0
+        ldy #diopp_sector
+        lda (ptr2),y
+        sta tmp2
+        iny
+        lda (ptr2),y
+        bne _inv_data           ; there are no more than 256 sectors
 
 ; tmp1 (int) holds track+sector, translate it using device info
 
-       ldy #sst_driveno
-       lda (ptr3),y
-       tay
-       lda driveType,y
-       and #%00000011          ; this is for RamDrive compatibility
-       cmp #DRV_1541
-       beq dio_cts1541
-       cmp #DRV_1571
-       beq dio_cts1571
-       cmp #DRV_1581
-       beq dio_cts1581
-           
-       lda #DEV_NOT_FOUND      ; unknown device
-       ldx #0
-       beq ret
+        ldy #sst_driveno
+        lda (ptr3),y
+        tay
+        lda driveType,y
+        and #%00000011          ; this is for RamDrive compatibility
+        cmp #DRV_1541
+        beq dio_cts1541
+        cmp #DRV_1571
+        beq dio_cts1571
+        cmp #DRV_1581
+        beq dio_cts1581
+            
+        lda #DEV_NOT_FOUND      ; unknown device
+        ldx #0
+        beq ret
 
 dio_ctsend:
-       ldy #1
-       lda tmp2
-       sta (ptr1),y
-       dey
-       lda tmp1
-       sta (ptr1),y
-           
-       ldx #0
-       txa
-ret:       
-       sta __oserror
-       rts                     ; return success
+        ldy #1
+        lda tmp2
+        sta (ptr1),y
+        dey
+        lda tmp1
+        sta (ptr1),y
+            
+        ldx #0
+        txa
+ret:        
+        sta __oserror
+        rts                     ; return success
 
 ; errors
 
 _inv_data:
-       lda #INV_TRACK
-       .byte $2c
+        lda #INV_TRACK
+        .byte $2c
 _inv_hand:
-       lda #INCOMPATIBLE
-       ldx #0
-       beq ret
+        lda #INCOMPATIBLE
+        ldx #0
+        beq ret
 
 ; device-depended stuff, tmp1=track-1, tmp2=sector
 
 dio_cts1541:
-       ldy tmp1
-       cpy #35
-       bcs _inv_data
-       lda sectab_1541_l,y
-       clc
-       adc tmp2
-       sta tmp1
-       lda sectab_1541_h,y
-       adc #0
-       sta tmp2
-       jmp dio_ctsend
+        ldy tmp1
+        cpy #35
+        bcs _inv_data
+        lda sectab_1541_l,y
+        clc
+        adc tmp2
+        sta tmp1
+        lda sectab_1541_h,y
+        adc #0
+        sta tmp2
+        jmp dio_ctsend
 
 dio_cts1571:
-       lda tmp1
-       cmp #70
-       bcs _inv_data
-       cmp #35                 ; last track of one side
-       bcs _sub35
-       jmp dio_cts1541         ; track <=35 - same as 1541
+        lda tmp1
+        cmp #70
+        bcs _inv_data
+        cmp #35                 ; last track of one side
+        bcs _sub35
+        jmp dio_cts1541         ; track <=35 - same as 1541
 
 _sub35:
-       sec
-       sbc #35
-       sta tmp1
-       jsr dio_cts1541         ; get offset on second side of disk
-       lda tmp1                ; add second side base
-       clc
-       adc #<683
-       sta tmp1
-       lda tmp2
-       adc #>683
-       sta tmp2
-       jmp dio_ctsend
+        sec
+        sbc #35
+        sta tmp1
+        jsr dio_cts1541         ; get offset on second side of disk
+        lda tmp1                ; add second side base
+        clc
+        adc #<683
+        sta tmp1
+        lda tmp2
+        adc #>683
+        sta tmp2
+        jmp dio_ctsend
 
 dio_cts1581:
 ; 1581 has 80 tracks, 40 sectors each secnum=track*40+sector
-       ldx #0
-       stx tmp3
-       stx tmp4
-       lda tmp1
-       beq _nomult
-       cmp #80
-       bcs _inv_data
+        ldx #0
+        stx tmp3
+        stx tmp4
+        lda tmp1
+        beq _nomult
+        cmp #80
+        bcs _inv_data
 
 ; mul40 by Christian Groessler
-       sta tmp4
-       asl a
-       rol tmp3
-       asl a
-       rol tmp3                ; val * 4
-       adc tmp4
-       bcc L1
-       inc tmp3                ; val * 5
-L1:    asl a
-       rol tmp3                ; val * 10
-       asl a
-       rol tmp3
-       asl a
-       rol tmp3                ; val * 40 = AX
-       ldx tmp3
-       sta tmp3
-       stx tmp4
+        sta tmp4
+        asl a
+        rol tmp3
+        asl a
+        rol tmp3                ; val * 4
+        adc tmp4
+        bcc L1
+        inc tmp3                ; val * 5
+L1:     asl a
+        rol tmp3                ; val * 10
+        asl a
+        rol tmp3
+        asl a
+        rol tmp3                ; val * 40 = AX
+        ldx tmp3
+        sta tmp3
+        stx tmp4
 
 _nomult:
-       lda tmp2
-       clc
-       adc tmp3
-       sta tmp1
-       lda tmp4
-       adc #0
-       sta tmp2
-       jmp dio_ctsend
+        lda tmp2
+        clc
+        adc tmp3
+        sta tmp1
+        lda tmp4
+        adc #0
+        sta tmp2
+        jmp dio_ctsend
 
 .rodata
 
 sectab_1541_l:
-       .byte $00, $15, $2a, $3f, $54, $69, $7e, $93
-       .byte $a8, $bd, $d2, $e7, $fc, $11, $26, $3b
-       .byte $50, $65, $78, $8b, $9e, $b1, $c4, $d7
-       .byte $ea, $fc, $0e, $20, $32, $44, $56, $67
-       .byte $78, $89, $9a, $ab
+        .byte $00, $15, $2a, $3f, $54, $69, $7e, $93
+        .byte $a8, $bd, $d2, $e7, $fc, $11, $26, $3b
+        .byte $50, $65, $78, $8b, $9e, $b1, $c4, $d7
+        .byte $ea, $fc, $0e, $20, $32, $44, $56, $67
+        .byte $78, $89, $9a, $ab
 sectab_1541_h:
-       .byte $00, $00, $00, $00, $00, $00, $00, $00
-       .byte $00, $00, $00, $00, $00, $01, $01, $01
-       .byte $01, $01, $01, $01, $01, $01, $01, $01
-       .byte $01, $01, $02, $02, $02, $02, $02, $02
-       .byte $02, $02, $02, $02
+        .byte $00, $00, $00, $00, $00, $00, $00, $00
+        .byte $00, $00, $00, $00, $00, $01, $01, $01
+        .byte $01, $01, $01, $01, $01, $01, $01, $01
+        .byte $01, $01, $02, $02, $02, $02, $02, $02
+        .byte $02, $02, $02, $02
index fc0fcecf2c28a71f110d8e57d51a9ed2605086d2..ec5aa87956b5f80f4154beca746b147fcf9cadc0 100644 (file)
 ; dio_open sets given device as current and initializes disk
 ; dio_close does nothing special
 
-           .export _dio_open, _dio_close
-           .import __oserror, _OpenDisk
-           .importzp ptr1, tmp1
+            .export _dio_open, _dio_close
+            .import __oserror, _OpenDisk
+            .importzp ptr1, tmp1
 
-           .include "dio.inc"
+            .include "dio.inc"
             .include "jumptab.inc"
             .include "geossym.inc"
-           .include "const.inc"
+            .include "const.inc"
 
 .bss
 
 sectsizetab:
-       .res 4 * sst_size       ; this is hardcoded
+        .res 4 * sst_size       ; this is hardcoded
 
 .code
 
 _dio_open:
-       pha
-       tax
-       lda driveType,x         ; check if there's a device
-       beq _inv_drive
-       txa
-       clc
-       adc #8                  ; normalize devnum
-       sta curDevice
-       jsr SetDevice
-       jsr _OpenDisk           ; take care for errors there
+        pha
+        tax
+        lda driveType,x         ; check if there's a device
+        beq _inv_drive
+        txa
+        clc
+        adc #8                  ; normalize devnum
+        sta curDevice
+        jsr SetDevice
+        jsr _OpenDisk           ; take care for errors there
 
-       pla
-       tay                     ; drive #
-       asl a                   ; make index from drive id
-       asl a
-       tax
-           
-       lda #0
-       sta sectsizetab+sst_sectsize,x
-       lda #128
-       sta sectsizetab+sst_flag,x ; set flag that drive is "open"
-       lda #1
-       sta sectsizetab+sst_sectsize+1,x
-       tya
-       sta sectsizetab+sst_driveno,x
-           
-       stx tmp1
-       lda #<sectsizetab
-       clc
-       adc tmp1
-       sta tmp1
-       lda #>sectsizetab
-       adc #0
-       tax
-       lda tmp1
+        pla
+        tay                     ; drive #
+        asl a                   ; make index from drive id
+        asl a
+        tax
+            
+        lda #0
+        sta sectsizetab+sst_sectsize,x
+        lda #128
+        sta sectsizetab+sst_flag,x ; set flag that drive is "open"
+        lda #1
+        sta sectsizetab+sst_sectsize+1,x
+        tya
+        sta sectsizetab+sst_driveno,x
+            
+        stx tmp1
+        lda #<sectsizetab
+        clc
+        adc tmp1
+        sta tmp1
+        lda #>sectsizetab
+        adc #0
+        tax
+        lda tmp1
 
-       rts
+        rts
 
 _inv_drive:
-       lda #DEV_NOT_FOUND
-       sta __oserror
-       lda #0
-       tax
-       rts
+        lda #DEV_NOT_FOUND
+        sta __oserror
+        lda #0
+        tax
+        rts
 
 _dio_close:
-       sta ptr1
-       stx ptr1+1
-       lda #0
-       ldy #sst_flag
-       sta (ptr1),y
-       sta __oserror           ; success
-       tax
-       rts                     ; return no error
+        sta ptr1
+        stx ptr1+1
+        lda #0
+        ldy #sst_flag
+        sta (ptr1),y
+        sta __oserror           ; success
+        tax
+        rts                     ; return no error
index d663b9591a052296d0ff59976991acb5787e9041..e9fbc60e05b7c39aaaf1addebf9768fe2faa903c 100644 (file)
@@ -5,48 +5,48 @@
 ; this function is used by dio_read and dio_write to fix parameters (secnum)
 ; this function calls SetDevice so that more than one drive can be used at once
 
-           .export dio_params,dio_secnum
-           .import popax,pushax,_dio_log_to_phys
-           .importzp ptr1
+            .export dio_params,dio_secnum
+            .import popax,pushax,_dio_log_to_phys
+            .importzp ptr1
 
-           .include "geossym.inc"
-           .include "jumptab.inc"
-           .include "dio.inc"
+            .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "dio.inc"
 
 .bss
 
 dio_secnum:
-       .res 2
+        .res 2
 
 .code
 
 dio_params:
-       sta r4L
-       stx r4H
-
-       jsr popax
-       sta dio_secnum
-       stx dio_secnum+1
-
-       jsr popax               ; get 3rd parameter
-       pha                     ; save it
-       txa
-       pha
-       jsr pushax              ; put it back
-       pla                     ; restore it
-       sta ptr1+1
-       pla
-       sta ptr1
-       ldy #sst_driveno
-       lda (ptr1),y
-       clc
-       adc #8
-       jsr SetDevice           ; setup device, load driver
-
-       lda #<dio_secnum
-       ldx #>dio_secnum
-       jsr pushax
-
-       lda #<r1L
-       ldx #>r1H
-       jmp _dio_log_to_phys
+        sta r4L
+        stx r4H
+
+        jsr popax
+        sta dio_secnum
+        stx dio_secnum+1
+
+        jsr popax               ; get 3rd parameter
+        pha                     ; save it
+        txa
+        pha
+        jsr pushax              ; put it back
+        pla                     ; restore it
+        sta ptr1+1
+        pla
+        sta ptr1
+        ldy #sst_driveno
+        lda (ptr1),y
+        clc
+        adc #8
+        jsr SetDevice           ; setup device, load driver
+
+        lda #<dio_secnum
+        ldx #>dio_secnum
+        jsr pushax
+
+        lda #<r1L
+        ldx #>r1H
+        jmp _dio_log_to_phys
index 0c9524a9b94755635ea07e1cdd9881bfd791dfab..5f10ac247160539425821ae8c9e17ce391ccc940 100644 (file)
@@ -4,12 +4,12 @@
 ; unsigned __fastcall__ dio_query_sectcount (dhandle_t handle);
 ;
 
-           .export _dio_query_sectcount
-           .import __oserror
+            .export _dio_query_sectcount
+            .import __oserror
 
 _dio_query_sectcount:
-       lda #0
-       sta __oserror
-       lda #<683
-       ldx #>683
-       rts
+        lda #0
+        sta __oserror
+        lda #<683
+        ldx #>683
+        rts
index 46a4386ab343eaa293003584f6913fe2fc116315..bf9178035ac399ffb44814c215abc844dd5bd6d7 100644 (file)
@@ -4,11 +4,11 @@
 ; unsigned __fastcall__ dio_query_sectsize (dhandle_t handle);
 ;
 
-           .export _dio_query_sectsize
-           .import __oserror
+            .export _dio_query_sectsize
+            .import __oserror
 
 _dio_query_sectsize:
-       lda #<256
-       ldx #>256
-       sta __oserror
-       rts
+        lda #<256
+        ldx #>256
+        sta __oserror
+        rts
index c1e21ada561d0f83f2dfe1aad23c1cdeec7385c2..db46c9b695bb3a2ca61e8dd9d54380e2301fd868 100644 (file)
@@ -7,15 +7,15 @@
 ; unsigned char __fastcall__ dio_read (dhandle_t handle, unsigned sect_num, void *buffer);
 ;
 
-           .export _dio_read
-           .import dio_params, __oserror
+            .export _dio_read
+            .import dio_params, __oserror
 
-           .include "geossym.inc"
-           .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "jumptab.inc"
 
 _dio_read:
-       jsr dio_params
-       jsr ReadBlock
-       stx __oserror
-       txa
-       rts
+        jsr dio_params
+        jsr ReadBlock
+        stx __oserror
+        txa
+        rts
index 00be2c84e9614709e3e81f8187bd048a5e7ac533..586e3f3db0ad6ada710dfa004c00bfdcb46bf4af 100644 (file)
 ; 2.7.2001
 ;
 ; unsigned char __fastcall__ dio_log_to_phys (dhandle_t handle,
-;                                            unsigned *sectnum,        /* input */
-;                                            dio_phys_pos *physpos);   /* output */
+;                                             unsigned *sectnum,        /* input */
+;                                             dio_phys_pos *physpos);   /* output */
 ;
 
-           .export _dio_log_to_phys
-           .importzp ptr1,ptr2,ptr3,tmp1,tmp2
-           .import popax,__oserror
-           .import sectab_1541_l, sectab_1541_h
+            .export _dio_log_to_phys
+            .importzp ptr1,ptr2,ptr3,tmp1,tmp2
+            .import popax,__oserror
+            .import sectab_1541_l, sectab_1541_h
 
-           .include "dio.inc"
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "dio.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _dio_log_to_phys:
 ; check device type
-       sta ptr1
-       stx ptr1+1              ; pointer to result (struct dio_phys_pos)
-           
-       jsr popax
-       sta ptr2
-       stx ptr2+1              ; pointer to input structure (pointer to int)
-           
-       jsr popax
-       sta ptr3
-       stx ptr3+1              ; pointer to handle
-           
-       ldy #sst_flag
-       lda (ptr3),y
-       and #128
-       beq _inv_hand           ; handle not open or invalid
+        sta ptr1
+        stx ptr1+1              ; pointer to result (struct dio_phys_pos)
+            
+        jsr popax
+        sta ptr2
+        stx ptr2+1              ; pointer to input structure (pointer to int)
+            
+        jsr popax
+        sta ptr3
+        stx ptr3+1              ; pointer to handle
+            
+        ldy #sst_flag
+        lda (ptr3),y
+        and #128
+        beq _inv_hand           ; handle not open or invalid
 
 ; fill in all we have
-       ldy #diopp_head
-       lda #0                  ; head 0
-       sta (ptr1),y
-       ldy #diopp_track+1
-       sta (ptr1),y            ; track <256
-       ldy #diopp_sector+1
-       sta (ptr1),y            ; sector <256
-           
-       ldy #0
-       lda (ptr2),y
-       sta tmp1
-       iny 
-       lda (ptr2),y
-       sta tmp2
+        ldy #diopp_head
+        lda #0                  ; head 0
+        sta (ptr1),y
+        ldy #diopp_track+1
+        sta (ptr1),y            ; track <256
+        ldy #diopp_sector+1
+        sta (ptr1),y            ; sector <256
+            
+        ldy #0
+        lda (ptr2),y
+        sta tmp1
+        iny 
+        lda (ptr2),y
+        sta tmp2
 
 ; get drive info
-       ldy #sst_driveno
-       lda (ptr3),y
-       tay 
-       lda driveType,y
-       and #%00000011          ; this is for RamDrive compatibility
-       cmp #DRV_1541
-       beq dio_stc1541
-       cmp #DRV_1571
-       beq dio_stc1571
-       cmp #DRV_1581
-       beq dio_stc1581
-           
-       lda #DEV_NOT_FOUND      ; unknown device
-       ldx #0
-       beq _ret
+        ldy #sst_driveno
+        lda (ptr3),y
+        tay 
+        lda driveType,y
+        and #%00000011          ; this is for RamDrive compatibility
+        cmp #DRV_1541
+        beq dio_stc1541
+        cmp #DRV_1571
+        beq dio_stc1571
+        cmp #DRV_1581
+        beq dio_stc1581
+            
+        lda #DEV_NOT_FOUND      ; unknown device
+        ldx #0
+        beq _ret
 
 dio_stcend:
-       ldy #diopp_track
-       lda tmp1
-       sta (ptr1),y
-       ldy #diopp_sector
-       lda tmp2
-       sta (ptr1),y
-           
-       ldx #0
-       txa 
-_ret:      
-       sta __oserror
-       rts                     ; return success
+        ldy #diopp_track
+        lda tmp1
+        sta (ptr1),y
+        ldy #diopp_sector
+        lda tmp2
+        sta (ptr1),y
+            
+        ldx #0
+        txa 
+_ret:       
+        sta __oserror
+        rts                     ; return success
 
 ; errors
 _inv_data:
-       lda #INV_TRACK
-       .byte $2c
+        lda #INV_TRACK
+        .byte $2c
 _inv_hand:
-       lda #INCOMPATIBLE
-       ldx #0
-       beq _ret
+        lda #INCOMPATIBLE
+        ldx #0
+        beq _ret
 
 dio_stc1541:
 ; if 1541:
 ; - compare with table to find track
 ; - subtract and find sector
 
-       ldx #0                  ; index=(track-1)
+        ldx #0                  ; index=(track-1)
 _loop41:
-       lda tmp2
-       cmp sectab_1541_h+1,x
-       bne _nxt
-       lda tmp1
-       cmp sectab_1541_l+1,x
-       bcc _found
-_nxt:  inx 
-       cpx #35
-       bne _loop41
-       beq _inv_data
-           
-_found:            
-       lda tmp1
-       sec 
-       sbc sectab_1541_l,x
-       sta tmp2
+        lda tmp2
+        cmp sectab_1541_h+1,x
+        bne _nxt
+        lda tmp1
+        cmp sectab_1541_l+1,x
+        bcc _found
+_nxt:   inx 
+        cpx #35
+        bne _loop41
+        beq _inv_data
+            
+_found:     
+        lda tmp1
+        sec 
+        sbc sectab_1541_l,x
+        sta tmp2
 _fndend:    
-       inx 
-       stx tmp1
-       jmp dio_stcend
+        inx 
+        stx tmp1
+        jmp dio_stcend
 
 dio_stc1571:
 ; if 1571:
 ; - check size, if too big - subtract and add 35 to track
 ; - fall down to 1541
-       lda tmp2
-       cmp #>683
-       bne _cnt71
-       lda tmp1
-       cmp #<683
-       bcc dio_stc1541
-           
-_cnt71:            
-       lda tmp1
-       sec 
-       sbc #<683
-       sta tmp1
-       lda tmp2
-       sbc #>683
-       sta tmp2
-       jsr dio_stc1541         ; will fall through here
-           
-       ldy #diopp_track
-       lda (ptr1),y
-       clc 
-       adc #35
-       sta (ptr1),y
-       lda #0
-       beq _ret
+        lda tmp2
+        cmp #>683
+        bne _cnt71
+        lda tmp1
+        cmp #<683
+        bcc dio_stc1541
+            
+_cnt71:     
+        lda tmp1
+        sec 
+        sbc #<683
+        sta tmp1
+        lda tmp2
+        sbc #>683
+        sta tmp2
+        jsr dio_stc1541         ; will fall through here
+            
+        ldy #diopp_track
+        lda (ptr1),y
+        clc 
+        adc #35
+        sta (ptr1),y
+        lda #0
+        beq _ret
 
 ; if 1581:
 ; - subtract 40 in loop (at most 80 times) to find track
 ; - the remainder is sector
 dio_stc1581:
-       ldx #0                  ; index=(track-1)
+        ldx #0                  ; index=(track-1)
 _loop81:    
-       lda tmp2
-       bne _sub81
-       lda tmp1
-       cmp #40
-       bcc _got81
-_sub81:        lda tmp1
-       sec 
-       sbc #40
-       sta tmp1
-       lda tmp2
-       sbc #0
-       sta tmp2
-       inx 
-       cpx #81
-       bne _loop81
-       beq _inv_data
-           
-_got81:        lda tmp1
-       sta tmp2
-       inx 
-       stx tmp1
-       jmp dio_stcend
+        lda tmp2
+        bne _sub81
+        lda tmp1
+        cmp #40
+        bcc _got81
+_sub81: lda tmp1
+        sec 
+        sbc #40
+        sta tmp1
+        lda tmp2
+        sbc #0
+        sta tmp2
+        inx 
+        cpx #81
+        bne _loop81
+        beq _inv_data
+            
+_got81: lda tmp1
+        sta tmp2
+        inx 
+        stx tmp1
+        jmp dio_stcend
index 1572b3f3b529c9abc85b6ae360bc1d640e8e1c64..14267803a20a163e2dc2e4eb148e6d35c0d35cea 100644 (file)
@@ -7,13 +7,13 @@
 ; unsigned char __fastcall__ dio_write (dhandle_t handle, unsigned sect_num, const void *buffer);
 ;
 
-           .export _dio_write
-           .import dio_params, setoserror
+            .export _dio_write
+            .import dio_params, setoserror
 
-           .include "geossym.inc"
-           .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "jumptab.inc"
 
 _dio_write:
-       jsr dio_params
-       jsr WriteBlock
-       jmp setoserror
+        jsr dio_params
+        jsr WriteBlock
+        jmp setoserror
index cc67e29954ddacf4d572a53b3f75e7aab08d4413..7cb9b029f8976f395131c0a4d5e8eb6294aadc7d 100644 (file)
@@ -7,15 +7,15 @@
 ; unsigned char __fastcall__ dio_write_verify (dhandle_t handle, unsigned sect_num, const void *buffer);
 ;
 
-           .export _dio_write_verify
-           .import dio_params, __oserror
+            .export _dio_write_verify
+            .import dio_params, __oserror
 
-           .include "geossym.inc"
-           .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "jumptab.inc"
 
 _dio_write_verify:
-       jsr dio_params
-       jsr VerWriteBlock
-       stx __oserror
-       txa
-       rts
+        jsr dio_params
+        jsr VerWriteBlock
+        stx __oserror
+        txa
+        rts
index c1741bb59052b224541a368bfce8d025df55f56c..777822baef901b1ba5f9e3146de343016225aa23 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void EnterTurbo (void);
 
-           .export _EnterTurbo
+            .export _EnterTurbo
 
-           .include "jumptab.inc"
-       
-_EnterTurbo    = EnterTurbo
+            .include "jumptab.inc"
+        
+_EnterTurbo     = EnterTurbo
index fdc771d6e3651c9653ec66563bb9edfc67b005e3..ab894aeff96e6b0770497732287fdf5889a332d6 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void ExitTurbo (void);
 
-           .export _ExitTurbo
+            .export _ExitTurbo
 
-           .include "jumptab.inc"
-       
-_ExitTurbo     = ExitTurbo
+            .include "jumptab.inc"
+        
+_ExitTurbo      = ExitTurbo
index 8bdedfa2c626194181c1ce119d61b2a8b3842294..3bb566f4d16183555bf652acb29b6685941b42cc 100644 (file)
@@ -6,18 +6,18 @@
 ; char FindBAMBit (struct tr_se *TS);
 ; (might be called inUSE (if (!inUSE(block))))
 
-           .export _FindBAMBit
-           .import gettrse
-           .import return0, return1
+            .export _FindBAMBit
+            .import gettrse
+            .import return0, return1
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _FindBAMBit:
-       jsr gettrse
-       sta r6L
-       stx r6H
-       jsr FindBAMBit
-       bne inUse
-       jmp return0
-inUse: jmp return1
+        jsr gettrse
+        sta r6L
+        stx r6H
+        jsr FindBAMBit
+        bne inUse
+        jmp return0
+inUse:  jmp return1
index c327299682eb5f53f65b56e2e9ca461adedc0358..30c7283ae4d311bcbb6c077041b6d802e6c97c49 100644 (file)
@@ -5,11 +5,11 @@
 
 ; char NewDisk (void);
 
-           .export _NewDisk
-           .import setoserror
+            .export _NewDisk
+            .import setoserror
 
-           .include "jumptab.inc"
-       
+            .include "jumptab.inc"
+        
 _NewDisk:
-       jsr NewDisk
-       jmp setoserror
+        jsr NewDisk
+        jmp setoserror
index 122a5c7cbbd84756e3cd7ccdaea784f041c2bb12..f0a293423cdcb0944285b2afb6e39cc06e6b83ac 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void PurgeTurbo (void);
 
-           .export _PurgeTurbo
+            .export _PurgeTurbo
 
-           .include "jumptab.inc"
-       
-_PurgeTurbo    = PurgeTurbo
+            .include "jumptab.inc"
+        
+_PurgeTurbo     = PurgeTurbo
index ec547415dbc2744218ebb5677cc42361a1d4a3eb..977860d91b7c79dd6777d86a7cd24f0f65581054 100644 (file)
@@ -5,19 +5,19 @@
 
 ; char ReadBlock (struct tr_se myTS, char *buffer);
 
-           .export _ReadBlock
-           .import popax, setoserror
-           .import gettrse
+            .export _ReadBlock
+            .import popax, setoserror
+            .import gettrse
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _ReadBlock:
-       sta r4L
-       stx r4H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr ReadBlock
-       jmp setoserror
+        sta r4L
+        stx r4H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr ReadBlock
+        jmp setoserror
index 036d42bcc121cbd9aeebea6a9ead714b87a86b60..149eae1b9f993c253890529b5f749f05cb85d531 100644 (file)
@@ -5,16 +5,16 @@
 
 ; char ReadBuff  (struct tr_se);
 
-           .export _ReadBuff
-           .import setoserror
-           .import gettrse
+            .export _ReadBuff
+            .import setoserror
+            .import gettrse
 
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _ReadBuff:
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr ReadBuff
-       jmp setoserror
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr ReadBuff
+        jmp setoserror
index eeb27909bbab4fee219e4ab446f7ea7705e7c6f2..5d40ee442e609ec6dbee08920cc4202f5a097fa4 100644 (file)
@@ -5,11 +5,11 @@
 
 ; char SetGEOSDisk (void);
 
-           .export _SetGEOSDisk
-           .import setoserror
+            .export _SetGEOSDisk
+            .import setoserror
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _SetGEOSDisk:
-       jsr SetGEOSDisk
-       jmp setoserror
+        jsr SetGEOSDisk
+        jmp setoserror
index 02aa3fbdd517bc477f5ff28c36a71b813b325a7b..74243f13f2a32eb67b4d3d668a68415c6f16bed7 100644 (file)
@@ -5,19 +5,19 @@
 
 ; char VerWriteBlock (struct tr_se *myTS, char *buffer);
 
-           .export _VerWriteBlock
-           .import popax, setoserror
-           .import gettrse
+            .export _VerWriteBlock
+            .import popax, setoserror
+            .import gettrse
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _VerWriteBlock:
-       sta r4L
-       stx r4H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr VerWriteBlock
-       jmp setoserror
+        sta r4L
+        stx r4H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr VerWriteBlock
+        jmp setoserror
index 927d93e0ddf80be4e101fdb525f81075552f6c69..c5a3b3f7a4c0ba7bc91570703b78036f98dac9b5 100644 (file)
@@ -5,19 +5,19 @@
 
 ; char WriteBlock (struct tr_se *myTS, char *buffer);
 
-           .export _WriteBlock
-           .import popax, setoserror
-           .import gettrse
+            .export _WriteBlock
+            .import popax, setoserror
+            .import gettrse
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _WriteBlock:
-       sta r4L
-       stx r4H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr WriteBlock
-       jmp setoserror
+        sta r4L
+        stx r4H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr WriteBlock
+        jmp setoserror
index f66ed2e1d7ed5bd7acee0d4c6fb156eae7c3003b..34e7b137b1bd67c37bf9fbb8a005aacf1b1848b0 100644 (file)
@@ -5,16 +5,16 @@
 
 ; char WriteBuff (struct tr_se*);
 
-           .export _WriteBuff
-           .import setoserror
-           .import gettrse
+            .export _WriteBuff
+            .import setoserror
+            .import gettrse
 
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _WriteBuff:
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr WriteBuff
-       jmp setoserror
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr WriteBuff
+        jmp setoserror
index f44ce279b46337fc0ac18bc578fc468ef0d2af1a..5dc3654957aef0929c4adcc8fc6394d8abea23e9 100644 (file)
@@ -4,39 +4,39 @@
 ;4-2-99
 
 ;pointers
-InitForIO_             =       $9000
-DoneWithIO_            =       $9002
-ExitTurbo_             =       $9004
-PurgeTurbo_            =       $9006
-EnterTurbo_            =       $9008
-ChangeDiskDevice_      =       $900a
-NewDisk_               =       $900c
-ReadBlock_             =       $900e
-WriteBlock_            =       $9010
-VerWriteBlock_         =       $9012
-OpenDisk_              =       $9014
-GetBlock_              =       $9016
-PutBlock_              =       $9018
-GetDirHead_            =       $901a
-PutDirHead_            =       $901c
-GetFreeDirBlk_         =       $901e
-CalcBlksFree_          =       $9020
-FreeBlock_             =       $9022
-SetNextFree_           =       $9024
-FindBAMBit_            =       $9026
-NxtBlkAlloc_           =       $9028
-BlkAlloc_              =       $902a
-ChkDkGEOS_             =       $902c
-SetGEOSDisk_           =       $902e
+InitForIO_              =       $9000
+DoneWithIO_             =       $9002
+ExitTurbo_              =       $9004
+PurgeTurbo_             =       $9006
+EnterTurbo_             =       $9008
+ChangeDiskDevice_       =       $900a
+NewDisk_                =       $900c
+ReadBlock_              =       $900e
+WriteBlock_             =       $9010
+VerWriteBlock_          =       $9012
+OpenDisk_               =       $9014
+GetBlock_               =       $9016
+PutBlock_               =       $9018
+GetDirHead_             =       $901a
+PutDirHead_             =       $901c
+GetFreeDirBlk_          =       $901e
+CalcBlksFree_           =       $9020
+FreeBlock_              =       $9022
+SetNextFree_            =       $9024
+FindBAMBit_             =       $9026
+NxtBlkAlloc_            =       $9028
+BlkAlloc_               =       $902a
+ChkDkGEOS_              =       $902c
+SetGEOSDisk_            =       $902e
 
 ;jump table
-Get1stDirEntry         =       $9030
-GetNxtDirEntry         =       $9033
-GetBorder              =       $9036
-AddDirBlock            =       $9039
-ReadBuff               =       $903c
-WriteBuff              =       $903f
+Get1stDirEntry          =       $9030
+GetNxtDirEntry          =       $9033
+GetBorder               =       $9036
+AddDirBlock             =       $9039
+ReadBuff                =       $903c
+WriteBuff               =       $903f
 ;??? = $9042
 ;??? = $9045
-AllocateBlock          =       $9048
-ReadLink               =       $904b
+AllocateBlock           =       $9048
+ReadLink                =       $904b
index 81c9d7aaf0722c7ee3a6b7f39f98fe9dbba052ee..7064a78fcf92e752200441cc3764e45d6091fb3c 100644 (file)
@@ -5,43 +5,43 @@
 ; Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
 ; 06,20,25.12.2002
 
-           .include "zeropage.inc"
-           .include "em-kernel.inc"
+            .include "zeropage.inc"
+            .include "em-kernel.inc"
             .include "em-error.inc"
 
-           .macpack generic
+            .macpack generic
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; Driver signature
 
-       .byte $65, $6d, $64     ; "emd"
-       .byte EMD_API_VERSION   ; EM API version number
+        .byte $65, $6d, $64     ; "emd"
+        .byte EMD_API_VERSION   ; EM API version number
 
 ; Jump table.
 
-       .word INSTALL
-       .word UNINSTALL
-       .word PAGECOUNT
-       .word MAP
-       .word USE
-       .word COMMIT
-       .word COPYFROM
-       .word COPYTO
+        .word INSTALL
+        .word UNINSTALL
+        .word PAGECOUNT
+        .word MAP
+        .word USE
+        .word COMMIT
+        .word COPYFROM
+        .word COPYTO
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VDC_ADDR_REG   = $D600         ; VDC address
-VDC_DATA_REG   = $D601         ; VDC data
+VDC_ADDR_REG    = $D600         ; VDC address
+VDC_DATA_REG    = $D601         ; VDC data
 
-VDC_DATA_HI    = 18            ; used registers
-VDC_DATA_LO    = 19
-VDC_CSET       = 28
-VDC_DATA       = 31
+VDC_DATA_HI     = 18            ; used registers
+VDC_DATA_LO     = 19
+VDC_CSET        = 28
+VDC_DATA        = 31
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -49,14 +49,14 @@ VDC_DATA    = 31
 .data
 
 pagecount:
-       .word 64                ; $0000-$3fff as 16k default
+        .word 64                ; $0000-$3fff as 16k default
 curpage:
-       .word $ffff             ; currently mapped-in page (invalid)
+        .word $ffff             ; currently mapped-in page (invalid)
 
 .bss
 
 window:
-       .res 256                ; memory window
+        .res 256                ; memory window
 
 .code
 
@@ -68,88 +68,88 @@ window:
 ;
 
 INSTALL:
-       ; do test for VDC presence here???
-
-       php
-       sei
-       lda $01
-       pha
-       lda #$35
-       sta $01
-           
-       ldx #VDC_CSET           ; determine size of RAM...
-       jsr vdcgetreg
-       sta tmp1
-       ora #%00010000
-       jsr vdcputreg           ; turn on 64k
-           
-       jsr settestadr1         ; save original value of test byte
-       jsr vdcgetbyte
-       sta tmp2
-           
-       lda #$55                ; write $55 here
-       ldy #ptr1
-       jsr test64k             ; read it here and there
-       lda #$aa                ; write $aa here
-       ldy #ptr2
-       jsr test64k             ; read it here and there
-           
-       jsr settestadr1
-       lda tmp2
-       jsr vdcputbyte          ; restore original value of test byte
-           
-       lda ptr1                ; do bytes match?
-       cmp ptr1+1
-       bne @have64k
-       lda ptr2
-       cmp ptr2+1
-       bne @have64k
-           
-       ldx #VDC_CSET
-       lda tmp1
-       jsr vdcputreg           ; restore 16/64k flag
-       jmp @endok              ; and leave default values for 16k
-           
+        ; do test for VDC presence here???
+
+        php
+        sei
+        lda $01
+        pha
+        lda #$35
+        sta $01
+            
+        ldx #VDC_CSET           ; determine size of RAM...
+        jsr vdcgetreg
+        sta tmp1
+        ora #%00010000
+        jsr vdcputreg           ; turn on 64k
+            
+        jsr settestadr1         ; save original value of test byte
+        jsr vdcgetbyte
+        sta tmp2
+            
+        lda #$55                ; write $55 here
+        ldy #ptr1
+        jsr test64k             ; read it here and there
+        lda #$aa                ; write $aa here
+        ldy #ptr2
+        jsr test64k             ; read it here and there
+            
+        jsr settestadr1
+        lda tmp2
+        jsr vdcputbyte          ; restore original value of test byte
+            
+        lda ptr1                ; do bytes match?
+        cmp ptr1+1
+        bne @have64k
+        lda ptr2
+        cmp ptr2+1
+        bne @have64k
+            
+        ldx #VDC_CSET
+        lda tmp1
+        jsr vdcputreg           ; restore 16/64k flag
+        jmp @endok              ; and leave default values for 16k
+            
 @have64k:   
-       lda #<256
-       ldx #>256
-       sta pagecount
-       stx pagecount+1
-@endok:            
-       pla
-       sta $01
-       plp
-       lda #<EM_ERR_OK
-       ldx #>EM_ERR_OK
-       rts 
-           
+        lda #<256
+        ldx #>256
+        sta pagecount
+        stx pagecount+1
+@endok:     
+        pla
+        sta $01
+        plp
+        lda #<EM_ERR_OK
+        ldx #>EM_ERR_OK
+        rts 
+            
 test64k:    
-       sta tmp1
-       sty ptr3
-       lda #0
-       sta ptr3+1
-       jsr settestadr1
-       lda tmp1
-       jsr vdcputbyte          ; write $55
-       jsr settestadr1
-       jsr vdcgetbyte          ; read here
-       pha
-       jsr settestadr2
-       jsr vdcgetbyte          ; and there
-       ldy #1
-       sta (ptr3),y
-       pla
-       dey
-       sta (ptr3),y
-       rts
+        sta tmp1
+        sty ptr3
+        lda #0
+        sta ptr3+1
+        jsr settestadr1
+        lda tmp1
+        jsr vdcputbyte          ; write $55
+        jsr settestadr1
+        jsr vdcgetbyte          ; read here
+        pha
+        jsr settestadr2
+        jsr vdcgetbyte          ; and there
+        ldy #1
+        sta (ptr3),y
+        pla
+        dey
+        sta (ptr3),y
+        rts
 
 settestadr1:
-       ldy #$02                ; test page 2 (here)
-       .byte $2c
+        ldy #$02                ; test page 2 (here)
+        .byte $2c
 settestadr2:
-       ldy #$42                ; or page 64+2 (there)
-       lda #0
-       jmp vdcsetsrcaddr
+        ldy #$42                ; or page 64+2 (there)
+        lda #0
+        jmp vdcsetsrcaddr
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -157,17 +157,17 @@ settestadr2:
 ;
 
 UNINSTALL:
-       ;on C128 restore font and clear the screen?
-       rts
+        ;on C128 restore font and clear the screen?
+        rts
 
 ; ------------------------------------------------------------------------
 ; PAGECOUNT: Return the total number of available pages in a/x.
 ;
 
 PAGECOUNT:
-       lda pagecount
-       ldx pagecount+1
-       rts
+        lda pagecount
+        ldx pagecount+1
+        rts
 
 ; ------------------------------------------------------------------------
 ; MAP: Map the page in a/x into memory and return a pointer to the page in
@@ -175,104 +175,104 @@ PAGECOUNT:
 ; by the driver.
 ;
 
-MAP:   sta curpage
-       stx curpage+1
-       sta ptr1+1
-       ldy #0
-       sty ptr1
-           
-       lda #<window
-       sta ptr2
-       lda #>window
-       sta ptr2+1
-           
-       jsr transferin
-           
-       lda #<window
-       ldx #>window
-       rts
+MAP:    sta curpage
+        stx curpage+1
+        sta ptr1+1
+        ldy #0
+        sty ptr1
+            
+        lda #<window
+        sta ptr2
+        lda #>window
+        sta ptr2+1
+            
+        jsr transferin
+            
+        lda #<window
+        ldx #>window
+        rts
 
 ; copy a single page from (ptr1):VDCRAM to (ptr2):RAM
 
 transferin:
-       php
-       sei
-       lda $01
-       pha
-       lda #$35
-       sta $01
-       lda ptr1
-       ldy ptr1+1
-       jsr vdcsetsrcaddr       ; set source address in VDC
-       ldy #0
-       ldx #VDC_DATA
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       lda VDC_DATA_REG        ; get 2 bytes at a time to speed-up
-       sta (ptr2),y            ; (in fact up to 8 bytes could be fetched with special VDC config)
-       iny
-       lda VDC_DATA_REG
-       sta (ptr2),y
-       iny
-       bne @L0
-       pla
-       sta $01
-       plp
-       rts
+        php
+        sei
+        lda $01
+        pha
+        lda #$35
+        sta $01
+        lda ptr1
+        ldy ptr1+1
+        jsr vdcsetsrcaddr       ; set source address in VDC
+        ldy #0
+        ldx #VDC_DATA
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        lda VDC_DATA_REG        ; get 2 bytes at a time to speed-up
+        sta (ptr2),y            ; (in fact up to 8 bytes could be fetched with special VDC config)
+        iny
+        lda VDC_DATA_REG
+        sta (ptr2),y
+        iny
+        bne @L0
+        pla
+        sta $01
+        plp
+        rts
 
 ; ------------------------------------------------------------------------
 ; USE: Tell the driver that the window is now associated with a given page.
 
 USE:    sta curpage
-       stx curpage+1           ; Remember the page
-       lda #<window
-       ldx #>window            ; Return the window
+        stx curpage+1           ; Remember the page
+        lda #<window
+        ldx #>window            ; Return the window
 done:   rts
 
 ; ------------------------------------------------------------------------
 ; COMMIT: Commit changes in the memory window to extended storage.
 
 COMMIT:
-       lda curpage             ; jump if no page mapped
-       ldx curpage+1
-       bmi done
-       sta ptr1+1
-       ldy #0
-       sty ptr1
-
-       lda #<window
-       sta ptr2
-       lda #>window
-       sta ptr2+1
+        lda curpage             ; jump if no page mapped
+        ldx curpage+1
+        bmi done
+        sta ptr1+1
+        ldy #0
+        sty ptr1
+
+        lda #<window
+        sta ptr2
+        lda #>window
+        sta ptr2+1
 
 ; fall through to transferout
 
 ; copy a single page from (ptr2):RAM to (ptr1):VDCRAM
 
 transferout:
-       php
-       sei
-       lda $01
-       pha
-       lda #$35
-       sta $01
-       lda ptr1
-       ldy ptr1+1
-       jsr vdcsetsrcaddr       ; set source address in VDC
-       ldy #0
-       ldx #VDC_DATA
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       lda (ptr2),y            ; speedup does not work for writing
-       sta VDC_DATA_REG
-       iny
-       bne @L0
-       pla
-       sta $01
-       plp
-       rts
+        php
+        sei
+        lda $01
+        pha
+        lda #$35
+        sta $01
+        lda ptr1
+        ldy ptr1+1
+        jsr vdcsetsrcaddr       ; set source address in VDC
+        ldy #0
+        ldx #VDC_DATA
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        lda (ptr2),y            ; speedup does not work for writing
+        sta VDC_DATA_REG
+        iny
+        bne @L0
+        pla
+        sta $01
+        plp
+        rts
 
 ; ------------------------------------------------------------------------
 ; COPYFROM: Copy from extended into linear memory. A pointer to a structure
@@ -281,42 +281,42 @@ transferout:
 ;
 
 COPYFROM:
-       jsr setup
-       beq @L2                 ; Skip if no full pages
+        jsr setup
+        beq @L2                 ; Skip if no full pages
 
 ; Copy full pages
 
 @L1:    jsr transferin
-       inc ptr1+1
-       inc ptr2+1
-       dec tmp1
-       bne @L1
+        inc ptr1+1
+        inc ptr2+1
+        dec tmp1
+        bne @L1
 
 ; Copy the remainder of the page
-                
+                 
 @L2:    ldy #EM_COPY::COUNT
-       lda (ptr3),y            ; Get bytes in last page
-       beq @L4
-       sta tmp1
+        lda (ptr3),y            ; Get bytes in last page
+        beq @L4
+        sta tmp1
 
 ; Transfer the bytes in the last page
-       php
-       sei
-       lda $01
-       pha
-       lda #$35
-       sta $01
-       ldy #0
-@L3:   jsr vdcgetbyte
-       sta (ptr2),y
-       iny
-       dec tmp1
-       lda tmp1
-       bne @L3
-       pla
-       sta $01
-       plp
-@L4:   rts
+        php
+        sei
+        lda $01
+        pha
+        lda #$35
+        sta $01
+        ldy #0
+@L3:    jsr vdcgetbyte
+        sta (ptr2),y
+        iny
+        dec tmp1
+        lda tmp1
+        bne @L3
+        pla
+        sta $01
+        plp
+@L4:    rts
 
 ; ------------------------------------------------------------------------
 ; COPYTO: Copy from linear into extended memory. A pointer to a structure
@@ -325,76 +325,76 @@ COPYFROM:
 ;
 
 COPYTO:
-       jsr setup
-       beq @L2                 ; Skip if no full pages
+        jsr setup
+        beq @L2                 ; Skip if no full pages
 
 ; Copy full pages
 
 @L1:    jsr transferout
-       inc ptr1+1
-       inc ptr2+1
-       dec tmp1
-       bne @L1
+        inc ptr1+1
+        inc ptr2+1
+        dec tmp1
+        bne @L1
 
 ; Copy the remainder of the page
 
 @L2:    ldy #EM_COPY::COUNT
-       lda (ptr3),y            ; Get bytes in last page
-       beq @L4
-       sta tmp1
+        lda (ptr3),y            ; Get bytes in last page
+        beq @L4
+        sta tmp1
 
 ; Transfer the bytes in the last page
-       php
-       sei
-       lda $01
-       pha
-       lda #$35
-       sta $01
-       ldy #0
-@L3:   lda (ptr2),y
-       jsr vdcputbyte
-       iny
-       dec tmp1
-       lda tmp1
-       bne @L3
-       pla
-       sta $01
-       plp
-@L4:   rts
+        php
+        sei
+        lda $01
+        pha
+        lda #$35
+        sta $01
+        ldy #0
+@L3:    lda (ptr2),y
+        jsr vdcputbyte
+        iny
+        dec tmp1
+        lda tmp1
+        bne @L3
+        pla
+        sta $01
+        plp
+@L4:    rts
 
 ;-------------------------------------------------------------------------
 ; Helper functions to handle VDC ram
 ;
 
 vdcsetsrcaddr:
-       ldx #VDC_DATA_LO
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       sta VDC_DATA_REG
-       dex
-       tya
-       stx VDC_ADDR_REG
-       sta VDC_DATA_REG
-       rts
+        ldx #VDC_DATA_LO
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        sta VDC_DATA_REG
+        dex
+        tya
+        stx VDC_ADDR_REG
+        sta VDC_DATA_REG
+        rts
 
 vdcgetbyte:
-       ldx #VDC_DATA
+        ldx #VDC_DATA
 vdcgetreg:
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       lda VDC_DATA_REG
-       rts 
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        lda VDC_DATA_REG
+        rts 
 
 vdcputbyte: 
-       ldx #VDC_DATA
+        ldx #VDC_DATA
 vdcputreg:
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       sta VDC_DATA_REG
-       rts
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        sta VDC_DATA_REG
+        rts
 
 ; ------------------------------------------------------------------------
 ; Helper function for COPYFROM and COPYTO: Store the pointer to the request
@@ -402,24 +402,24 @@ vdcputreg:
 ;
 
 setup:
-       sta ptr3
-       stx ptr3+1              ; Save the passed em_copy pointer
-
-       ldy #EM_COPY::OFFS
-       lda (ptr3),y
-       sta ptr1
-       ldy #EM_COPY::PAGE
-       lda (ptr3),y
-       sta ptr1+1              ; From
-
-       ldy #EM_COPY::BUF
-       lda (ptr3),y
-       sta ptr2
-       iny
-       lda (ptr3),y
-       sta ptr2+1              ; To
-
-       ldy #EM_COPY::COUNT+1
-       lda (ptr3),y            ; Get number of pages
-       sta tmp1
-       rts
+        sta ptr3
+        stx ptr3+1              ; Save the passed em_copy pointer
+
+        ldy #EM_COPY::OFFS
+        lda (ptr3),y
+        sta ptr1
+        ldy #EM_COPY::PAGE
+        lda (ptr3),y
+        sta ptr1+1              ; From
+
+        ldy #EM_COPY::BUF
+        lda (ptr3),y
+        sta ptr2
+        iny
+        lda (ptr3),y
+        sta ptr2+1              ; To
+
+        ldy #EM_COPY::COUNT+1
+        lda (ptr3),y            ; Get number of pages
+        sta tmp1
+        rts
index bcdfe635b96a702f049a4bd992c9aacbd4e98b34..df20bcaacaffe32622192844b53a8ba61a1d5a2d 100644 (file)
@@ -5,19 +5,19 @@
 
 ; char FollowChain  (struct tr_se *myTrSe, char *buffer);
 
-           .export _FollowChain
-           .import popax, setoserror
-           .import gettrse
+            .export _FollowChain
+            .import popax, setoserror
+            .import gettrse
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _FollowChain:
-       sta r3L
-       stx r3H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr FollowChain
-       jmp setoserror
+        sta r3L
+        stx r3H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr FollowChain
+        jmp setoserror
index 6cd250d89e89fc0da08360805a69276dc9a846a5..03fd451dafc6721c5b04c24a287b6184ae2c2587 100644 (file)
 ;reassembled by Maciej 'YTM/Elysium' Witkowiak
 ;4-2-99
 
-zpage                  =       $0000
+zpage                   =       $0000
 ;
 
-CPU_DDR                =       $00
-CPU_DATA               =       $01
+CPU_DDR                 =       $00
+CPU_DATA                =       $01
 ;
-r0                     =       $02
-r0L                    =       $02
-r0H                    =       $03
-r1                     =       $04
-r1L                    =       $04
-r1H                    =       $05
-r2                     =       $06
-r2L                    =       $06
-r2H                    =       $07
-r3                     =       $08
-r3L                    =       $08
-r3H                    =       $09
-r4                     =       $0a
-r4L                    =       $0a
-r4H                    =       $0b
-r5                     =       $0c
-r5L                    =       $0c
-r5H                    =       $0d
-r6                     =       $0e
-r6L                    =       $0e
-r6H                    =       $0f
-r7                     =       $10
-r7L                    =       $10
-r7H                    =       $11
-r8                     =       $12
-r8L                    =       $12
-r8H                    =       $13
-r9                     =       $14
-r9L                    =       $14
-r9H                    =       $15
-r10                    =       $16
-r10L                   =       $16
-r10H                   =       $17
-r11                    =       $18
-r11L                   =       $18
-r11H                   =       $19
-r12                    =       $1a
-r12L                   =       $1a
-r12H                   =       $1b
-r13                    =       $1c
-r13L                   =       $1c
-r13H                   =       $1d
-r14                    =       $1e
-r14L                   =       $1e
-r14H                   =       $1f
-r15                    =       $20
-r15L                   =       $20
-r15H                   =       $21
+r0                      =       $02
+r0L                     =       $02
+r0H                     =       $03
+r1                      =       $04
+r1L                     =       $04
+r1H                     =       $05
+r2                      =       $06
+r2L                     =       $06
+r2H                     =       $07
+r3                      =       $08
+r3L                     =       $08
+r3H                     =       $09
+r4                      =       $0a
+r4L                     =       $0a
+r4H                     =       $0b
+r5                      =       $0c
+r5L                     =       $0c
+r5H                     =       $0d
+r6                      =       $0e
+r6L                     =       $0e
+r6H                     =       $0f
+r7                      =       $10
+r7L                     =       $10
+r7H                     =       $11
+r8                      =       $12
+r8L                     =       $12
+r8H                     =       $13
+r9                      =       $14
+r9L                     =       $14
+r9H                     =       $15
+r10                     =       $16
+r10L                    =       $16
+r10H                    =       $17
+r11                     =       $18
+r11L                    =       $18
+r11H                    =       $19
+r12                     =       $1a
+r12L                    =       $1a
+r12H                    =       $1b
+r13                     =       $1c
+r13L                    =       $1c
+r13H                    =       $1d
+r14                     =       $1e
+r14L                    =       $1e
+r14H                    =       $1f
+r15                     =       $20
+r15L                    =       $20
+r15H                    =       $21
 ;
-a0                     =       $fb
-a0L                    =       $fb
-a0H                    =       $fc
-a1                     =       $fd
-a1L                    =       $fd
-a1H                    =       $fe
-a2                     =       $70
-a2L                    =       $70
-a2H                    =       $71
-a3                     =       $72
-a3L                    =       $72
-a3H                    =       $73
-a4                     =       $74
-a4L                    =       $74
-a4H                    =       $75
-a5                     =       $76
-a5L                    =       $76
-a5H                    =       $77
-a6                     =       $78
-a6L                    =       $78
-a6H                    =       $79
-a7                     =       $7a
-a7L                    =       $7a
-a7H                    =       $7b
-a8                     =       $7c
-a8L                    =       $7c
-a8H                    =       $7d
-a9                     =       $7e
-a9L                    =       $7e
-a9H                    =       $7f
+a0                      =       $fb
+a0L                     =       $fb
+a0H                     =       $fc
+a1                      =       $fd
+a1L                     =       $fd
+a1H                     =       $fe
+a2                      =       $70
+a2L                     =       $70
+a2H                     =       $71
+a3                      =       $72
+a3L                     =       $72
+a3H                     =       $73
+a4                      =       $74
+a4L                     =       $74
+a4H                     =       $75
+a5                      =       $76
+a5L                     =       $76
+a5H                     =       $77
+a6                      =       $78
+a6L                     =       $78
+a6H                     =       $79
+a7                      =       $7a
+a7L                     =       $7a
+a7H                     =       $7b
+a8                      =       $7c
+a8L                     =       $7c
+a8H                     =       $7d
+a9                      =       $7e
+a9L                     =       $7e
+a9H                     =       $7f
 
 ;
 
-curPattern             =       $22
-string                 =       $24
-baselineOffset         =       $26
-curSetWidth            =       $27
-curHeight              =       $29
-curIndexTable          =       $2a
-cardDataPntr           =       $2c
-currentMode            =       $2e
-dispBufferOn           =       $2f
-mouseOn                =       $30
-msePicPtr              =       $31
-windowTop              =       $33
-windowBottom           =       $34
-leftMargin             =       $35
-rightMargin            =       $37
-pressFlag              =       $39
-mouseXPos              =       $3a
-mouseYPos              =       $3c
-returnAddress          =       $3d
-graphMode              =       $3f
-TURBO_DD00             =       $8e     ; from 1541 turbo
-TURBO_DD00_CPY         =       $8f     ; from 1541 turbo
-STATUS                 =       $90
-curDevice              =       $ba
+curPattern              =       $22
+string                  =       $24
+baselineOffset          =       $26
+curSetWidth             =       $27
+curHeight               =       $29
+curIndexTable           =       $2a
+cardDataPntr            =       $2c
+currentMode             =       $2e
+dispBufferOn            =       $2f
+mouseOn                 =       $30
+msePicPtr               =       $31
+windowTop               =       $33
+windowBottom            =       $34
+leftMargin              =       $35
+rightMargin             =       $37
+pressFlag               =       $39
+mouseXPos               =       $3a
+mouseYPos               =       $3c
+returnAddress           =       $3d
+graphMode               =       $3f
+TURBO_DD00              =       $8e     ; from 1541 turbo
+TURBO_DD00_CPY          =       $8f     ; from 1541 turbo
+STATUS                  =       $90
+curDevice               =       $ba
 ;
-irqvec                 =       $0314
-bkvec                  =       $0316
-nmivec                 =       $0318
+irqvec                  =       $0314
+bkvec                   =       $0316
+nmivec                  =       $0318
 ;
-APP_RAM                =       $0400
-BACK_SCR_BASE          =       $6000
-PRINTBASE              =       $7900
-OS_VARS                =       $8000
+APP_RAM                 =       $0400
+BACK_SCR_BASE           =       $6000
+PRINTBASE               =       $7900
+OS_VARS                 =       $8000
 ;
-diskBlkBuf             =       $8000
-fileHeader             =       $8100
-curDirHead             =       $8200
-fileTrScTab            =       $8300
-dirEntryBuf            =       $8400
-DrACurDkNm             =       $841e
-DrBCurDkNm             =       $8430
-dataFileName           =       $8442
-dataDiskName           =       $8453
-PrntFilename           =       $8465
-PrntDiskName           =       $8476
-curDrive               =       $8489
-diskOpenFlg            =       $848a
-isGEOS                 =       $848b
-interleave             =       $848c
-NUMDRV                 =       $848d
-driveType              =       $848e
-_driveType             =       driveType-8
-turboFlags             =       $8492
-_turboFlags            =       turboFlags-8
-curRecord              =       $8496
-usedRecords            =       $8497
-fileWritten            =       $8498
-fileSize               =       $8499
-appMain                =       $849b
-intTopVector           =       $849d
-intBotVector           =       $849f
-mouseVector            =       $84a1
-keyVector              =       $84a3
-inputVector            =       $84a5
-mouseFaultVec          =       $84a7
-otherPressVec          =       $84a9
-StringFaultVec         =       $84ab
-alarmTmtVector         =       $84ad
-BRKVector              =       $84af
-RecoverVector          =       $84b1
-selectionFlash         =       $84b3
-alphaFlag              =       $84b4
-iconSelFlg             =       $84b5
-faultData              =       $84b6
-menuNumber             =       $84b7
-mouseTop               =       $84b8
-mouseBottom            =       $84b9
-mouseLeft              =       $84ba
-mouseRight             =       $84bc
-stringX                =       $84be
-stringY                =       $84c0
-mousePicData           =       $84c1
-maxMouseSpeed          =       $8501
-minMouseSpeed          =       $8502
-mouseAccel             =       $8503
-keyData                =       $8504
-mouseData              =       $8505
-inputData              =       $8506
-mouseSpeed             =       $8507
-random                 =       $850a
-saveFontTab            =       $850c
-dblClickCount          =       $8515
-year                   =       $8516
-month                  =       $8517
-day                    =       $8518
-hour                   =       $8519
-minutes                =       $851a
-seconds                =       $851b
-alarmSetFlag           =       $851c
-sysDBData              =       $851d
-screencolors           =       $851e
-dlgBoxRamBuf           =       $851f   ; to $8697
+diskBlkBuf              =       $8000
+fileHeader              =       $8100
+curDirHead              =       $8200
+fileTrScTab             =       $8300
+dirEntryBuf             =       $8400
+DrACurDkNm              =       $841e
+DrBCurDkNm              =       $8430
+dataFileName            =       $8442
+dataDiskName            =       $8453
+PrntFilename            =       $8465
+PrntDiskName            =       $8476
+curDrive                =       $8489
+diskOpenFlg             =       $848a
+isGEOS                  =       $848b
+interleave              =       $848c
+NUMDRV                  =       $848d
+driveType               =       $848e
+_driveType              =       driveType-8
+turboFlags              =       $8492
+_turboFlags             =       turboFlags-8
+curRecord               =       $8496
+usedRecords             =       $8497
+fileWritten             =       $8498
+fileSize                =       $8499
+appMain                 =       $849b
+intTopVector            =       $849d
+intBotVector            =       $849f
+mouseVector             =       $84a1
+keyVector               =       $84a3
+inputVector             =       $84a5
+mouseFaultVec           =       $84a7
+otherPressVec           =       $84a9
+StringFaultVec          =       $84ab
+alarmTmtVector          =       $84ad
+BRKVector               =       $84af
+RecoverVector           =       $84b1
+selectionFlash          =       $84b3
+alphaFlag               =       $84b4
+iconSelFlg              =       $84b5
+faultData               =       $84b6
+menuNumber              =       $84b7
+mouseTop                =       $84b8
+mouseBottom             =       $84b9
+mouseLeft               =       $84ba
+mouseRight              =       $84bc
+stringX                 =       $84be
+stringY                 =       $84c0
+mousePicData            =       $84c1
+maxMouseSpeed           =       $8501
+minMouseSpeed           =       $8502
+mouseAccel              =       $8503
+keyData                 =       $8504
+mouseData               =       $8505
+inputData               =       $8506
+mouseSpeed              =       $8507
+random                  =       $850a
+saveFontTab             =       $850c
+dblClickCount           =       $8515
+year                    =       $8516
+month                   =       $8517
+day                     =       $8518
+hour                    =       $8519
+minutes                 =       $851a
+seconds                 =       $851b
+alarmSetFlag            =       $851c
+sysDBData               =       $851d
+screencolors            =       $851e
+dlgBoxRamBuf            =       $851f   ; to $8697
 ;
 ;$8698 - $8877 - various system data (keyboard queue, VLIR t&s, DBox, Menu, timers)
 ;
-savedmoby2             =       $88bb
-scr80polar             =       $88bc
-scr80colors            =       $88bd
-vdcClrMode             =       $88be
-driveData              =       $88bf
-ramExpSize             =       $88c3
-sysRAMFlg              =       $88c4
-firstBoot              =       $88c5
-curType                =       $88c6
-ramBase                =       $88c7
-inputDevName           =       $88cb
-memBase                =       $88cf   ;???
-DrCCurDkNm             =       $88dc
-DrDCurDkNm             =       $88ee
-dir2Head               =       $8900
+savedmoby2              =       $88bb
+scr80polar              =       $88bc
+scr80colors             =       $88bd
+vdcClrMode              =       $88be
+driveData               =       $88bf
+ramExpSize              =       $88c3
+sysRAMFlg               =       $88c4
+firstBoot               =       $88c5
+curType                 =       $88c6
+ramBase                 =       $88c7
+inputDevName            =       $88cb
+memBase                 =       $88cf   ;???
+DrCCurDkNm              =       $88dc
+DrDCurDkNm              =       $88ee
+dir2Head                =       $8900
 ;
-SPRITE_PICS            =       $8a00
-spr0pic                =       $8a00
-spr1pic                =       $8a40
-spr2pic                =       $8a80
-spr3pic                =       $8ac0
-spr4pic                =       $8b00
-spr5pic                =       $8b40
-spr6pic                =       $8b80
-spr7pic                =       $8bc0
-COLOR_MATRIX           =       $8c00
+SPRITE_PICS             =       $8a00
+spr0pic                 =       $8a00
+spr1pic                 =       $8a40
+spr2pic                 =       $8a80
+spr3pic                 =       $8ac0
+spr4pic                 =       $8b00
+spr5pic                 =       $8b40
+spr6pic                 =       $8b80
+spr7pic                 =       $8bc0
+COLOR_MATRIX            =       $8c00
 ;
-obj0Pointer            =       $8ff8
-obj1Pointer            =       $8ff9
-obj2Pointer            =       $8ffa
-obj3Pointer            =       $8ffb
-obj4Pointer            =       $8ffc
-obj5Pointer            =       $8ffd
-obj6Pointer            =       $8ffe
-obj7Pointer            =       $8fff
+obj0Pointer             =       $8ff8
+obj1Pointer             =       $8ff9
+obj2Pointer             =       $8ffa
+obj3Pointer             =       $8ffb
+obj4Pointer             =       $8ffc
+obj5Pointer             =       $8ffd
+obj6Pointer             =       $8ffe
+obj7Pointer             =       $8fff
 ;
-DISK_BASE              =       $9000
-SCREEN_BASE            =       $a000
-OS_ROM                 =       $c000
-OS_JUMPTAB             =       $c100
-RAMC_BASE              =       $de00
-RAMC_WINDOW            =       $df00
-EXP_BASE               =       $df00
-MOUSE_BASE_128         =       $fd00
-MOUSE_JMP_128          =       $fd00
-END_MOUSE_128          =       $fe80
-MOUSE_BASE             =       $fe80
-MOUSE_JMP              =       $fe80
-config                 =       $ff00
-END_MOUSE              =       $fffa
-NMI_VECTOR             =       $fffa
-RESET_VECTOR           =       $fffc
-IRQ_VECTOR             =       $fffe
+DISK_BASE               =       $9000
+SCREEN_BASE             =       $a000
+OS_ROM                  =       $c000
+OS_JUMPTAB              =       $c100
+RAMC_BASE               =       $de00
+RAMC_WINDOW             =       $df00
+EXP_BASE                =       $df00
+MOUSE_BASE_128          =       $fd00
+MOUSE_JMP_128           =       $fd00
+END_MOUSE_128           =       $fe80
+MOUSE_BASE              =       $fe80
+MOUSE_JMP               =       $fe80
+config                  =       $ff00
+END_MOUSE               =       $fffa
+NMI_VECTOR              =       $fffa
+RESET_VECTOR            =       $fffc
+IRQ_VECTOR              =       $fffe
 ;
-vicbase                =       $d000
-sidbase                =       $d400
-mmu                    =       $d500
-VDC                    =       $d600
-ctab                   =       $d800
-cia1base               =       $dc00
-cia2base               =       $dd00
+vicbase                 =       $d000
+sidbase                 =       $d400
+mmu                     =       $d500
+VDC                     =       $d600
+ctab                    =       $d800
+cia1base                =       $dc00
+cia2base                =       $dd00
 ;
-mob0xpos               =       $d000
-mob0ypos               =       $d001
-mob1xpos               =       $d002
-mob1ypos               =       $d003
-mob2xpos               =       $d004
-mob2ypos               =       $d005
-mob3xpos               =       $d006
-mob3ypos               =       $d007
-mob4xpos               =       $d008
-mob4ypos               =       $d009
-mob5xpos               =       $d00a
-mob5ypos               =       $d00b
-mob6xpos               =       $d00c
-mob6ypos               =       $d00d
-mob7xpos               =       $d00e
-mob7ypos               =       $d00f
-msbxpos                =       $d010
-grcntrl1               =       $d011
-rasreg                 =       $d012
-lpxpos                 =       $d013
-lpypos                 =       $d014
-mobenble               =       $d015
-grcntrl2               =       $d016
-grmemptr               =       $d018
-grirq                  =       $d019
-grirqen                =       $d01a
-moby2                  =       $d017
-mobprior               =       $d01b
-mobmcm                 =       $d01c
-mobx2                  =       $d01d
-mobmobcol              =       $d01e
-mobbakcol              =       $d01f
-extclr                 =       $d020
-bakclr0                =       $d021
-bakclr1                =       $d022
-bakclr2                =       $d023
-bakclr3                =       $d024
-mcmclr0                =       $d025
-mcmclr1                =       $d026
-mob0clr                =       $d027
-mob1clr                =       $d028
-mob2clr                =       $d029
-mob3clr                =       $d02a
-mob4clr                =       $d02b
-mob5clr                =       $d02c
-mob6clr                =       $d02d
-mob7clr                =       $d02e
-keyreg                 =       $d02f
-clkreg                 =       $d030
+mob0xpos                =       $d000
+mob0ypos                =       $d001
+mob1xpos                =       $d002
+mob1ypos                =       $d003
+mob2xpos                =       $d004
+mob2ypos                =       $d005
+mob3xpos                =       $d006
+mob3ypos                =       $d007
+mob4xpos                =       $d008
+mob4ypos                =       $d009
+mob5xpos                =       $d00a
+mob5ypos                =       $d00b
+mob6xpos                =       $d00c
+mob6ypos                =       $d00d
+mob7xpos                =       $d00e
+mob7ypos                =       $d00f
+msbxpos                 =       $d010
+grcntrl1                =       $d011
+rasreg                  =       $d012
+lpxpos                  =       $d013
+lpypos                  =       $d014
+mobenble                =       $d015
+grcntrl2                =       $d016
+grmemptr                =       $d018
+grirq                   =       $d019
+grirqen                 =       $d01a
+moby2                   =       $d017
+mobprior                =       $d01b
+mobmcm                  =       $d01c
+mobx2                   =       $d01d
+mobmobcol               =       $d01e
+mobbakcol               =       $d01f
+extclr                  =       $d020
+bakclr0                 =       $d021
+bakclr1                 =       $d022
+bakclr2                 =       $d023
+bakclr3                 =       $d024
+mcmclr0                 =       $d025
+mcmclr1                 =       $d026
+mob0clr                 =       $d027
+mob1clr                 =       $d028
+mob2clr                 =       $d029
+mob3clr                 =       $d02a
+mob4clr                 =       $d02b
+mob5clr                 =       $d02c
+mob6clr                 =       $d02d
+mob7clr                 =       $d02e
+keyreg                  =       $d02f
+clkreg                  =       $d030
 
 ;
-vdcreg                 =       $d600
-vdcdata                =       $d601
+vdcreg                  =       $d600
+vdcdata                 =       $d601
 ;
index ced630e34cc24bed287f1212a788a087da500538..cdcbc24dc6faef1db5a1bcc360ba6f2354d940f7 100644 (file)
@@ -3,9 +3,9 @@
 ;reassembled by Maciej 'YTM/Alliance' Witkowiak
 ;4-2-99
 
-bootName               =       $c006
-version                =       $c00f
-nationality            =       $c010
-sysFlgCopy             =       $c012
-c128Flag               =       $c013
-dateCopy               =       $c018
\ No newline at end of file
+bootName                =       $c006
+version                 =       $c00f
+nationality             =       $c010
+sysFlgCopy              =       $c012
+c128Flag                =       $c013
+dateCopy                =       $c018
\ No newline at end of file
index 4f8b97b65ebba283fbdb0a0a4b0bf45a4baa419e..f40a82721fa3d7ad79b69e94280a83029f11f844 100644 (file)
@@ -4,13 +4,13 @@
 ;4-2-99
 
 ;for C64
-;MOUSE_JMP             =       $fe80
-SlowMouse              =       $fe83
-UpdateMouse            =       $fe86
-SetMouse               =       $fe89
+;MOUSE_JMP              =       $fe80
+SlowMouse               =       $fe83
+UpdateMouse             =       $fe86
+SetMouse                =       $fe89
 
 ;for C128
-;MOUSE_JMP_128         =       $fd00
-SlowMouse_128          =       $fd03
-UpdateMouse_128                =       $fd06
-SetMouse_128           =       $fd09
+;MOUSE_JMP_128          =       $fd00
+SlowMouse_128           =       $fd03
+UpdateMouse_128         =       $fd06
+SetMouse_128            =       $fd09
index 106209a9e6780e5d29d912a51893001a68ceb612..7cfd0ad08a5d6f7359086dec9d7b80bbcc298a35 100644 (file)
@@ -5,45 +5,45 @@
 ; Ullrich von Bassewitz, 2002-12-20
 ;
 
-           .include "zeropage.inc"
-           .include "joy-kernel.inc"
-           .include "joy-error.inc"
-           .include "geossym.inc"
+            .include "zeropage.inc"
+            .include "joy-kernel.inc"
+            .include "joy-error.inc"
+            .include "geossym.inc"
 
-           .macpack generic
+            .macpack generic
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-.segment       "JUMPTABLE"
-                                            
+.segment        "JUMPTABLE"
+                                             
 ; Driver signature
 
-       .byte $6A, $6F, $79     ; "joy"
-       .byte JOY_API_VERSION   ; Driver API version number
+        .byte $6A, $6F, $79     ; "joy"
+        .byte JOY_API_VERSION   ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte $01               ; JOY_UP
-       .byte $02               ; JOY_DOWN
-       .byte $04               ; JOY_LEFT
-       .byte $08               ; JOY_RIGHT
-       .byte $10               ; JOY_FIRE
-       .byte $00               ; Future expansion
-       .byte $00               ; Future expansion
-       .byte $00               ; Future expansion
+        .byte $01               ; JOY_UP
+        .byte $02               ; JOY_DOWN
+        .byte $04               ; JOY_LEFT
+        .byte $08               ; JOY_RIGHT
+        .byte $10               ; JOY_FIRE
+        .byte $00               ; Future expansion
+        .byte $00               ; Future expansion
+        .byte $00               ; Future expansion
 
 ; Jump table.
 
-       .word INSTALL
-       .word UNINSTALL
-       .word COUNT
-       .word READ
+        .word INSTALL
+        .word UNINSTALL
+        .word COUNT
+        .word READ
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 2             ; Number of joysticks we support
+JOY_COUNT       = 2             ; Number of joysticks we support
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -58,9 +58,9 @@ JOY_COUNT     = 2             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda #<JOY_ERR_OK
-       ldx #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+        lda #<JOY_ERR_OK
+        ldx #>JOY_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -68,54 +68,54 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; COUNT: Return the total number of available joysticks in a/x.
 ;
 
 COUNT:
-       lda #<JOY_COUNT
-       ldx #>JOY_COUNT
-       rts
+        lda #<JOY_COUNT
+        ldx #>JOY_COUNT
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
 READ:
-       tax
-       php
-       sei                     ; disable IRQ
-       lda $01
-       pha
-       lda #$35
-       sta $01                 ; enable I/O
+        tax
+        php
+        sei                     ; disable IRQ
+        lda $01
+        pha
+        lda #$35
+        sta $01                 ; enable I/O
 
-       txa                     ; Joystick number into X
-       bne joy2
+        txa                     ; Joystick number into X
+        bne joy2
 
 ; Read joystick 1
 
 joy1:
-       lda #$7F
-       sta cia1base
-       lda cia1base+1
-back:  tay
-       pla
-       sta $01
-       plp
-       tya
-       and #$1F
-       eor #$1F
-       rts
+        lda #$7F
+        sta cia1base
+        lda cia1base+1
+back:   tay
+        pla
+        sta $01
+        plp
+        tya
+        and #$1F
+        eor #$1F
+        rts
 
 ; Read joystick 2
 
-joy2:  ldx #0
-       lda #$E0
-       ldy #$FF
-       sta cia1base+2
-       lda cia1base+1
-       sty cia1base+2
-       jmp back
+joy2:   ldx #0
+        lda #$E0
+        ldy #$FF
+        sta cia1base+2
+        lda cia1base+1
+        sty cia1base+2
+        jmp back
index 9f50decc197e0858b438b414e3099428c8dc3b93..306bffcc4f1e052eada5fe1e236f58ecf5c64dc3 100644 (file)
 ;4-2-99
 
 ;jump table
-InterruptMain          =       $c100
-InitProcesses          =       $c103
-RestartProcess         =       $c106
-EnableProcess          =       $c109
-BlockProcess           =       $c10c
-UnblockProcess         =       $c10f
-FreezeProcess          =       $c112
-UnfreezeProcess        =       $c115
-HorizontalLine         =       $c118
-InvertLine             =       $c11b
-RecoverLine            =       $c11e
-VerticalLine           =       $c121
-Rectangle              =       $c124
-FrameRectangle         =       $c127
-InvertRectangle        =       $c12a
-RecoverRectangle       =       $c12d
-DrawLine               =       $c130
-DrawPoint              =       $c133
-GraphicsString         =       $c136
-SetPattern             =       $c139
-GetScanLine            =       $c13c
-TestPoint              =       $c13f
-BitmapUp               =       $c142
-PutChar                =       $c145
-PutString              =       $c148
-UseSystemFont          =       $c14b
-StartMouseMode         =       $c14e
-DoMenu                 =       $c151
-RecoverMenu            =       $c154
-RecoverAllMenus        =       $c157
-DoIcons                =       $c15a
-DShiftLeft             =       $c15d
-BBMult                 =       $c160
-BMult                  =       $c163
-DMult                  =       $c166
-Ddiv                   =       $c169
-DSdiv                  =       $c16c
-Dabs                   =       $c16f
-Dnegate                =       $c172
-Ddec                   =       $c175
-ClearRam               =       $c178
-FillRam                =       $c17b
-MoveData               =       $c17e
-InitRam                =       $c181
-PutDecimal             =       $c184
-GetRandom              =       $c187
-MouseUp                =       $c18a
-MouseOff               =       $c18d
-DoPreviousMenu         =       $c190
-ReDoMenu               =       $c193
-GetSerialNumber        =       $c196
-Sleep                  =       $c199
-ClearMouseMode         =       $c19c
-i_Rectangle            =       $c19f
-i_FrameRectangle       =       $c1a2
-i_RecoverRectangle     =       $c1a5
-i_GraphicsString       =       $c1a8
-i_BitmapUp             =       $c1ab
-i_PutString            =       $c1ae
-GetRealSize            =       $c1b1
-i_FillRam              =       $c1b4
-i_MoveData             =       $c1b7
-GetString              =       $c1ba
-GotoFirstMenu          =       $c1bd
-InitTextPrompt         =       $c1c0
-MainLoop               =       $c1c3
-DrawSprite             =       $c1c6
-GetCharWidth           =       $c1c9
-LoadCharSet            =       $c1cc
-PosSprite              =       $c1cf
-EnablSprite            =       $c1d2
-DisablSprite           =       $c1d5
-CallRoutine            =       $c1d8
-CalcBlksFree           =       $c1db
-ChkDkGEOS              =       $c1de
-NewDisk                =       $c1e1
-GetBlock               =       $c1e4
-PutBlock               =       $c1e7
-SetGEOSDisk            =       $c1ea
-SaveFile               =       $c1ed
-SetGDirEntry           =       $c1f0
-BldGDirEntry           =       $c1f3
-GetFreeDirBlk          =       $c1f6
-WriteFile              =       $c1f9
-BlkAlloc               =       $c1fc
-ReadFile               =       $c1ff
-SmallPutChar           =       $c202
-FollowChain            =       $c205
-GetFile                =       $c208
-FindFile               =       $c20b
-CRC                    =       $c20e
-LdFile                 =       $c211
-EnterTurbo             =       $c214
-LdDeskAcc              =       $c217
-ReadBlock              =       $c21a
-LdApplic               =       $c21d
-WriteBlock             =       $c220
-VerWriteBlock          =       $c223
-FreeFile               =       $c226
-GetFHdrInfo            =       $c229
-EnterDeskTop           =       $c22c
-StartAppl              =       $c22f
-ExitTurbo              =       $c232
-PurgeTurbo             =       $c235
-DeleteFile             =       $c238
-FindFTypes             =       $c23b
-RstrAppl               =       $c23e
-ToBASIC                =       $c241
-FastDelFile            =       $c244
-GetDirHead             =       $c247
-PutDirHead             =       $c24a
-NxtBlkAlloc            =       $c24d
-ImprintRectangle       =       $c250
-i_ImprintRectangle     =       $c253
-DoDlgBox               =       $c256
-RenameFile             =       $c259
-InitForIO              =       $c25c
-DoneWithIO             =       $c25f
-DShiftRight            =       $c262
-CopyString             =       $c265
-CopyFString            =       $c268
-CmpString              =       $c26b
-CmpFString             =       $c26e
-FirstInit              =       $c271
-OpenRecordFile         =       $c274
-CloseRecordFile        =       $c277
-NextRecord             =       $c27a
-PreviousRecord         =       $c27d
-PointRecord            =       $c280
-DeleteRecord           =       $c283
-InsertRecord           =       $c286
-AppendRecord           =       $c289
-ReadRecord             =       $c28c
-WriteRecord            =       $c28f
-SetNextFree            =       $c292
-UpdateRecordFile       =       $c295
-GetPtrCurDkNm          =       $c298
-PromptOn               =       $c29b
-PromptOff              =       $c29e
-OpenDisk               =       $c2a1
-DoInlineReturn         =       $c2a4
-GetNextChar            =       $c2a7
-BitmapClip             =       $c2aa
-FindBAMBit             =       $c2ad
-SetDevice              =       $c2b0
-IsMseInRegion          =       $c2b3
-ReadByte               =       $c2b6
-FreeBlock              =       $c2b9
-ChangeDiskDevice       =       $c2bc
-RstrFrmDialogue        =       $c2bf
-Panic                  =       $c2c2
-BitOtherClip           =       $c2c5
-StashRAM               =       $c2c8
-FetchRAM               =       $c2cb
-SwapRAM                =       $c2ce
-VerifyRAM              =       $c2d1
-DoRAMOp                =       $c2d4
+InterruptMain           =       $c100
+InitProcesses           =       $c103
+RestartProcess          =       $c106
+EnableProcess           =       $c109
+BlockProcess            =       $c10c
+UnblockProcess          =       $c10f
+FreezeProcess           =       $c112
+UnfreezeProcess         =       $c115
+HorizontalLine          =       $c118
+InvertLine              =       $c11b
+RecoverLine             =       $c11e
+VerticalLine            =       $c121
+Rectangle               =       $c124
+FrameRectangle          =       $c127
+InvertRectangle         =       $c12a
+RecoverRectangle        =       $c12d
+DrawLine                =       $c130
+DrawPoint               =       $c133
+GraphicsString          =       $c136
+SetPattern              =       $c139
+GetScanLine             =       $c13c
+TestPoint               =       $c13f
+BitmapUp                =       $c142
+PutChar                 =       $c145
+PutString               =       $c148
+UseSystemFont           =       $c14b
+StartMouseMode          =       $c14e
+DoMenu                  =       $c151
+RecoverMenu             =       $c154
+RecoverAllMenus         =       $c157
+DoIcons                 =       $c15a
+DShiftLeft              =       $c15d
+BBMult                  =       $c160
+BMult                   =       $c163
+DMult                   =       $c166
+Ddiv                    =       $c169
+DSdiv                   =       $c16c
+Dabs                    =       $c16f
+Dnegate                 =       $c172
+Ddec                    =       $c175
+ClearRam                =       $c178
+FillRam                 =       $c17b
+MoveData                =       $c17e
+InitRam                 =       $c181
+PutDecimal              =       $c184
+GetRandom               =       $c187
+MouseUp                 =       $c18a
+MouseOff                =       $c18d
+DoPreviousMenu          =       $c190
+ReDoMenu                =       $c193
+GetSerialNumber         =       $c196
+Sleep                   =       $c199
+ClearMouseMode          =       $c19c
+i_Rectangle             =       $c19f
+i_FrameRectangle        =       $c1a2
+i_RecoverRectangle      =       $c1a5
+i_GraphicsString        =       $c1a8
+i_BitmapUp              =       $c1ab
+i_PutString             =       $c1ae
+GetRealSize             =       $c1b1
+i_FillRam               =       $c1b4
+i_MoveData              =       $c1b7
+GetString               =       $c1ba
+GotoFirstMenu           =       $c1bd
+InitTextPrompt          =       $c1c0
+MainLoop                =       $c1c3
+DrawSprite              =       $c1c6
+GetCharWidth            =       $c1c9
+LoadCharSet             =       $c1cc
+PosSprite               =       $c1cf
+EnablSprite             =       $c1d2
+DisablSprite            =       $c1d5
+CallRoutine             =       $c1d8
+CalcBlksFree            =       $c1db
+ChkDkGEOS               =       $c1de
+NewDisk                 =       $c1e1
+GetBlock                =       $c1e4
+PutBlock                =       $c1e7
+SetGEOSDisk             =       $c1ea
+SaveFile                =       $c1ed
+SetGDirEntry            =       $c1f0
+BldGDirEntry            =       $c1f3
+GetFreeDirBlk           =       $c1f6
+WriteFile               =       $c1f9
+BlkAlloc                =       $c1fc
+ReadFile                =       $c1ff
+SmallPutChar            =       $c202
+FollowChain             =       $c205
+GetFile                 =       $c208
+FindFile                =       $c20b
+CRC                     =       $c20e
+LdFile                  =       $c211
+EnterTurbo              =       $c214
+LdDeskAcc               =       $c217
+ReadBlock               =       $c21a
+LdApplic                =       $c21d
+WriteBlock              =       $c220
+VerWriteBlock           =       $c223
+FreeFile                =       $c226
+GetFHdrInfo             =       $c229
+EnterDeskTop            =       $c22c
+StartAppl               =       $c22f
+ExitTurbo               =       $c232
+PurgeTurbo              =       $c235
+DeleteFile              =       $c238
+FindFTypes              =       $c23b
+RstrAppl                =       $c23e
+ToBASIC                 =       $c241
+FastDelFile             =       $c244
+GetDirHead              =       $c247
+PutDirHead              =       $c24a
+NxtBlkAlloc             =       $c24d
+ImprintRectangle        =       $c250
+i_ImprintRectangle      =       $c253
+DoDlgBox                =       $c256
+RenameFile              =       $c259
+InitForIO               =       $c25c
+DoneWithIO              =       $c25f
+DShiftRight             =       $c262
+CopyString              =       $c265
+CopyFString             =       $c268
+CmpString               =       $c26b
+CmpFString              =       $c26e
+FirstInit               =       $c271
+OpenRecordFile          =       $c274
+CloseRecordFile         =       $c277
+NextRecord              =       $c27a
+PreviousRecord          =       $c27d
+PointRecord             =       $c280
+DeleteRecord            =       $c283
+InsertRecord            =       $c286
+AppendRecord            =       $c289
+ReadRecord              =       $c28c
+WriteRecord             =       $c28f
+SetNextFree             =       $c292
+UpdateRecordFile        =       $c295
+GetPtrCurDkNm           =       $c298
+PromptOn                =       $c29b
+PromptOff               =       $c29e
+OpenDisk                =       $c2a1
+DoInlineReturn          =       $c2a4
+GetNextChar             =       $c2a7
+BitmapClip              =       $c2aa
+FindBAMBit              =       $c2ad
+SetDevice               =       $c2b0
+IsMseInRegion           =       $c2b3
+ReadByte                =       $c2b6
+FreeBlock               =       $c2b9
+ChangeDiskDevice        =       $c2bc
+RstrFrmDialogue         =       $c2bf
+Panic                   =       $c2c2
+BitOtherClip            =       $c2c5
+StashRAM                =       $c2c8
+FetchRAM                =       $c2cb
+SwapRAM                 =       $c2ce
+VerifyRAM               =       $c2d1
+DoRAMOp                 =       $c2d4
 
 ;only in GEOS 128
-TempHideMouse          =       $c2d7
-SetMousePicture        =       $c2da
-SetNewMode             =       $c2dd
-NormalizeX             =       $c2e0
-MoveBData              =       $c2e3
-SwapBData              =       $c2e6
-VerifyBData            =       $c2e9
-DoBOp                  =       $c2ec
-AccessCache            =       $c2ef
-HideOnlyMouse          =       $c2f2
-SetColorMode           =       $c2f5
-ColorCard              =       $c2f8
-ColorRectangle         =       $c2fb
+TempHideMouse           =       $c2d7
+SetMousePicture         =       $c2da
+SetNewMode              =       $c2dd
+NormalizeX              =       $c2e0
+MoveBData               =       $c2e3
+SwapBData               =       $c2e6
+VerifyBData             =       $c2e9
+DoBOp                   =       $c2ec
+AccessCache             =       $c2ef
+HideOnlyMouse           =       $c2f2
+SetColorMode            =       $c2f5
+ColorCard               =       $c2f8
+ColorRectangle          =       $c2fb
index df481fa730b0b9b20eaca0726535f349c74c5a8f..2a841a01fd7fbff1469430b5ff262922ea19f2e2 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void FetchRAM (char REUBank, int length, char *from, char *dest);
 
-           .import REURegs
-           .export _FetchRAM
+            .import REURegs
+            .export _FetchRAM
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _FetchRAM:
-       jsr REURegs
-       jmp FetchRAM
+        jsr REURegs
+        jmp FetchRAM
index 17f7db0ebc0dca9b99bc6f8a362c8a5b22e91cf1..3b904720b4fba7722abb73b4aab8273e4fc3415f 100644 (file)
@@ -3,18 +3,18 @@
 ;
 ; 31.12.99
 
-           .import popax, popa
-           .import DoublePop
-           .export REURegs
+            .import popax, popa
+            .import DoublePop
+            .export REURegs
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 REURegs:
-       jsr DoublePop
-       jsr popax
-       sta r2L
-       stx r2H
-       jsr popa
-       sta r3L
-       rts
+        jsr DoublePop
+        jsr popax
+        sta r2L
+        stx r2H
+        jsr popa
+        sta r3L
+        rts
 
index cdd08e51f98fa99b9a1108a1487158ce54a8fae5..33a8da90d64308f18497a4e43384bb82eb0e7ecf 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void StashRAM (char REUBank, int length, char *dest, char *from);
 
-           .import REURegs
-           .export _StashRAM
+            .import REURegs
+            .export _StashRAM
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _StashRAM:
-       jsr REURegs
-       jmp StashRAM
+        jsr REURegs
+        jmp StashRAM
index 745a3c3f15ffaae4b8bdd5fbdeeff858947dda1a..6d92a1e79811d57cada38f2c2152b2c150a9aec5 100644 (file)
@@ -4,14 +4,14 @@
 ; 21.12.99
 
 ; void SwapRAM (char REUBank, int length, char *reuaddy, char *cpuaddy);
-;      note that in all REU procs last two pointers are identified like here
+;       note that in all REU procs last two pointers are identified like here
 
-           .import REURegs
-           .export _SwapRAM
+            .import REURegs
+            .export _SwapRAM
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _SwapRAM:
-       jsr REURegs
-       jmp SwapRAM
+        jsr REURegs
+        jmp SwapRAM
index 019ec03d757ef770f3f42311eab92937818015a5..1b8211d192f462e9e1eda8a19a77438ae35411ba 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char VerifyRAM (char REUBank, int length, char *reuaddy, char *cpuaddy);
 
-           .import REURegs
-           .export _VerifyRAM
+            .import REURegs
+            .export _VerifyRAM
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _VerifyRAM:
-       jsr REURegs
-       jsr VerifyRAM
-       txa
-       ldx #0
-       rts
+        jsr REURegs
+        jsr VerifyRAM
+        txa
+        ldx #0
+        rts
index 55dbc4ebe25039268e1d0ae9094023e869fe9b3d..1e8937ccfb8b5cf6e588524b1a5fed0cb081c329 100644 (file)
@@ -4,11 +4,11 @@
 ;4-2-99
 
 ;jump table
-InitForPrint           =       $7900
-StartPrint             =       $7903
-PrintBuffer            =       $7906
-StopPrint              =       $7909
-GetDimensions          =       $790c
-PrinsASCII             =       $790f
-StartASCII             =       $7912
-SetNLQ                 =       $7915
+InitForPrint            =       $7900
+StartPrint              =       $7903
+PrintBuffer             =       $7906
+StopPrint               =       $7909
+GetDimensions           =       $790c
+PrinsASCII              =       $790f
+StartASCII              =       $7912
+SetNLQ                  =       $7915
index bdcdf31e18d167422b66caf6a36d8f3d5100fc31..492ce132d47623f74a8c192da5ec51e91925afed 100644 (file)
 ; unsigned char get_ostype (void);
 ; unsigned char get_tv (void);
 
-           .export _get_ostype
-           .export _get_tv
-           .importzp tmp1
+            .export _get_ostype
+            .export _get_tv
+            .importzp tmp1
 
-           .include "const.inc"
-           .include "geossym.inc"
-           .include "geossym2.inc"
+            .include "const.inc"
+            .include "geossym.inc"
+            .include "geossym2.inc"
 
 _get_ostype:
-       ldx #0
-       lda version
-       cmp #$a9
-       beq geos11
-       and #%11110000
-       cmp #$10
-       beq geos10
-       lda c128Flag            ; we're on at least 2.0
-       cmp #$18
-       beq geos_on_plus4
-       ora version
-       rts
+        ldx #0
+        lda version
+        cmp #$a9
+        beq geos11
+        and #%11110000
+        cmp #$10
+        beq geos10
+        lda c128Flag            ; we're on at least 2.0
+        cmp #$18
+        beq geos_on_plus4
+        ora version
+        rts
 geos10:
-       lda version
-       rts
+        lda version
+        rts
 geos11:
-       lda #$11
-       rts
+        lda #$11
+        rts
 geos_on_plus4:
-       lda #$04
-       rts
+        lda #$04
+        rts
 
 _get_tv:
-       jsr _get_ostype
-       cmp #$04
-       beq plus4_get_tv
-       bpl only40              ; C64 with 40 columns only
-       lda graphMode
-       bpl only40              ; C128 but currently on 40 columns
-       ldx #1                  ; COLUMNS80
-       bne tvmode
-only40:        ldx #0                  ; COLUMNS40
-tvmode:                                ; PAL/NTSC check here, result in A
+        jsr _get_ostype
+        cmp #$04
+        beq plus4_get_tv
+        bpl only40              ; C64 with 40 columns only
+        lda graphMode
+        bpl only40              ; C128 but currently on 40 columns
+        ldx #1                  ; COLUMNS80
+        bne tvmode
+only40: ldx #0                  ; COLUMNS40
+tvmode:                         ; PAL/NTSC check here, result in A
         php
-       sei                     ; disable interrupts
-       lda CPU_DATA            ; this is for C64
-       pha
-       lda #IO_IN              ; enable access to I/O
-       sta CPU_DATA
-       bit rasreg
-       bpl tvmode              ; wait for rasterline  127<x<256
-       lda #24                 ; (rasterline now >=256!)
+        sei                     ; disable interrupts
+        lda CPU_DATA            ; this is for C64
+        pha
+        lda #IO_IN              ; enable access to I/O
+        sta CPU_DATA
+        bit rasreg
+        bpl tvmode              ; wait for rasterline  127<x<256
+        lda #24                 ; (rasterline now >=256!)
 modelp:
-       cmp rasreg              ; wait for rasterline = 24 (or 280 on PAL)
-       bne modelp
-       lda grcntrl1            ; 24 or 280 ?
-       bpl ntsc
-       lda #0                  ; PAL
-       beq modeend
+        cmp rasreg              ; wait for rasterline = 24 (or 280 on PAL)
+        bne modelp
+        lda grcntrl1            ; 24 or 280 ?
+        bpl ntsc
+        lda #0                  ; PAL
+        beq modeend
 ntsc:
-       lda #$80                ; NTSC
+        lda #$80                ; NTSC
 
 modeend:
-       stx tmp1
-       ora tmp1
-       sta tmp1
-       ldx #0
-       pla
-       sta CPU_DATA            ; restore memory config
-       plp                     ; restore interrupt state
-       lda tmp1
-       rts
+        stx tmp1
+        ora tmp1
+        sta tmp1
+        ldx #0
+        pla
+        sta CPU_DATA            ; restore memory config
+        plp                     ; restore interrupt state
+        lda tmp1
+        rts
 plus4_get_tv:
-       ldx #1                  ; Assume PAL
-       bit $FF07               ; Test bit 6
-       bvc plus4pal
-       dex                     ; NTSC
+        ldx #1                  ; Assume PAL
+        bit $FF07               ; Test bit 6
+        bvc plus4pal
+        dex                     ; NTSC
 plus4pal:
-       txa
-       ldx #0
-       rts
+        txa
+        ldx #0
+        rts
index bdb6836c13497f0fda2040374cb9d9c9838959fc..ec84ac33579a36a5153fb1473d5eef1e929dd43a 100644 (file)
@@ -5,13 +5,13 @@
 
 ; int GetSerialNumber (void);
 
-           .export _GetSerialNumber
+            .export _GetSerialNumber
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _GetSerialNumber:
-       jsr GetSerialNumber
-       lda r0L
-       ldx r0H
-       rts
+        jsr GetSerialNumber
+        lda r0L
+        ldx r0H
+        rts
index 6bcfe195ba7c8acf7e05633950cf0d02aac57354..b5e51524a387a15be1b1868dc33059efcdbe854c 100644 (file)
@@ -6,10 +6,10 @@
 ; void InitForIO  (void);
 ; void DoneWithIO (void);
 
-           .export _InitForIO, _DoneWithIO
+            .export _InitForIO, _DoneWithIO
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_InitForIO     = InitForIO
-           
-_DoneWithIO    = DoneWithIO
\ No newline at end of file
+_InitForIO      = InitForIO
+            
+_DoneWithIO     = DoneWithIO
\ No newline at end of file
index 6d96704221601f9e8309c12affb2e47b127cb0d8..37a1623033a149752551efd0e865336a985f9f79 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void SetDevice (char newDeviceNumber);
 
-           .export _SetDevice
+            .export _SetDevice
 
-           .include "jumptab.inc"
-       
-_SetDevice     = SetDevice
+            .include "jumptab.inc"
+        
+_SetDevice      = SetDevice
index b238a47e14a96a417175ddfd36d7422c8f00dc51..cb47da5313d208508c4f644865e810bb4e84fe7f 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void ToBASIC (void);
 
-           .export _ToBASIC
+            .export _ToBASIC
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_ToBASIC       = ToBASIC
\ No newline at end of file
+_ToBASIC        = ToBASIC
\ No newline at end of file
index 6d721328f44fe9986ec716dec162562d48209c2b..dbf9f4fc4dd5387027c61c50c24b934f93dba637 100644 (file)
@@ -3,75 +3,75 @@
 ; 2010-08-17, Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
 ; 2010-08-18, Greg King
 
-           .include "zeropage.inc"
-           .include "tgi-kernel.inc"
-           .include "tgi-error.inc"
-           .include "const.inc"
-           .include "jumptab.inc"
-           .include "geossym.inc"
-           .include "geossym2.inc"
-           
-           .macpack generic
+            .include "zeropage.inc"
+            .include "tgi-kernel.inc"
+            .include "tgi-error.inc"
+            .include "const.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "geossym2.inc"
+            
+            .macpack generic
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VDC_ADDR_REG   := $D600        ; VDC address
-VDC_DATA_REG   := $D601        ; VDC data
+VDC_ADDR_REG    := $D600        ; VDC address
+VDC_DATA_REG    := $D601        ; VDC data
 
-VDC_DSP_HI     = 12            ; registers used
-VDC_DSP_LO     = 13
-VDC_DATA_HI    = 18
-VDC_DATA_LO    = 19
-VDC_VSCROLL    = 24
-VDC_HSCROLL    = 25
-VDC_COLORS     = 26
-VDC_CSET       = 28
-VDC_COUNT      = 30
-VDC_DATA       = 31
+VDC_DSP_HI      = 12            ; registers used
+VDC_DSP_LO      = 13
+VDC_DATA_HI     = 18
+VDC_DATA_LO     = 19
+VDC_VSCROLL     = 24
+VDC_HSCROLL     = 25
+VDC_COLORS      = 26
+VDC_CSET        = 28
+VDC_COUNT       = 30
+VDC_DATA        = 31
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table and constants.
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; First part of the header is a structure that has a magic signature,
 ; and defines the capabilities of the driver.
 
-       .byte $74, $67, $69     ; "tgi"
-       .byte TGI_API_VERSION   ; TGI API version number
-xres:   .word 320              ; X resolution
-yres:   .word 200              ; Y resolution
-       .byte 2                 ; Number of drawing colors
-pages: .byte 1                 ; Number of screens available
-       .byte 8                 ; System font X size
-       .byte 8                 ; System font Y size
-aspect: .word $00D4            ; Aspect ratio (based on 4/3 display)
-       .byte 0                 ; TGI driver flags
+        .byte $74, $67, $69     ; "tgi"
+        .byte TGI_API_VERSION   ; TGI API version number
+xres:   .word 320               ; X resolution
+yres:   .word 200               ; Y resolution
+        .byte 2                 ; Number of drawing colors
+pages:  .byte 1                 ; Number of screens available
+        .byte 8                 ; System font X size
+        .byte 8                 ; System font Y size
+aspect: .word $00D4             ; Aspect ratio (based on 4/3 display)
+        .byte 0                 ; TGI driver flags
 
 ; Next comes the jump table. With the exception of IRQ, all entries must be
 ; valid, and may point to an RTS for test versions (function not implemented).
 
-       .addr INSTALL
-       .addr UNINSTALL
-       .addr INIT
-       .addr DONE
-       .addr GETERROR
-       .addr CONTROL
-       .addr CLEAR
-       .addr SETVIEWPAGE
-       .addr SETDRAWPAGE
-       .addr SETCOLOR
-       .addr SETPALETTE
-       .addr GETPALETTE
-       .addr GETDEFPALETTE
-       .addr SETPIXEL
-       .addr GETPIXEL
-       .addr LINE
-       .addr BAR
-       .addr TEXTSTYLE
-       .addr OUTTEXT
-       .addr 0                 ; IRQ entry is unused
+        .addr INSTALL
+        .addr UNINSTALL
+        .addr INIT
+        .addr DONE
+        .addr GETERROR
+        .addr CONTROL
+        .addr CLEAR
+        .addr SETVIEWPAGE
+        .addr SETDRAWPAGE
+        .addr SETCOLOR
+        .addr SETPALETTE
+        .addr GETPALETTE
+        .addr GETDEFPALETTE
+        .addr SETPIXEL
+        .addr GETPIXEL
+        .addr LINE
+        .addr BAR
+        .addr TEXTSTYLE
+        .addr OUTTEXT
+        .addr 0                 ; IRQ entry is unused
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -79,50 +79,50 @@ aspect: .word $00D4         ; Aspect ratio (based on 4/3 display)
 ; Variables mapped to the zero-page segment variables. Some of these are
 ; used for passing parameters to the driver.
 
-X1     = ptr1
-Y1     = ptr2
-X2     = ptr3
-Y2     = ptr4
+X1      = ptr1
+Y1      = ptr2
+X2      = ptr3
+Y2      = ptr4
 
 ; Absolute variables used in the code
 
 .bss
 
 SCRBASE:
-       .res 1                  ; High byte of screen base (64k VDC only)
+        .res 1                  ; High byte of screen base (64k VDC only)
 
 ERROR:  
-       .res 1                  ; Error code
+        .res 1                  ; Error code
 PALETTE:
-       .res 2                  ; The current palette
+        .res 2                  ; The current palette
 
 BITMASK:
-       .res 1                  ; $00 = clear, $01 = set pixels
+        .res 1                  ; $00 = clear, $01 = set pixels
 
 OLDCOLOR:
-       .res 1                  ; colors before entering gfx mode
+        .res 1                  ; colors before entering gfx mode
 
 ; Text output stuff
 TEXTMAGX:
-       .res 1
+        .res 1
 TEXTMAGY:
-       .res 1
+        .res 1
 TEXTDIR:
-       .res 1
+        .res 1
 
 ; Constants and tables
 
 .rodata
 
 DEFPALETTE:
-       .byte $00, $0f          ; White on black
+        .byte $00, $0f          ; White on black
 PALETTESIZE     = * - DEFPALETTE
 
 ; color translation table (indexed by VIC color)
 COLTRANS:
-       .byte $00, $0f, $08, $06, $0a, $04, $02, $0c
-       .byte $0d, $0b, $09, $01, $0e, $05, $03, $07
-       ; colors BROWN and GRAY3 are wrong
+        .byte $00, $0f, $08, $06, $0a, $04, $02, $0c
+        .byte $0d, $0b, $09, $01, $0e, $05, $03, $07
+        ; colors BROWN and GRAY3 are wrong
 
 .code
 
@@ -135,97 +135,97 @@ COLTRANS:
 ;
 
 INSTALL:
-       lda version             ; if GEOS 1.0...
-       and #$f0
-       cmp #$10
-       beq @L40
-       lda c128Flag            ; at least GEOS 2.0, but we're on C128?
-       bpl @L40
-       lda graphMode           ; GEOS 2.0, C128, but is 80 column screen enabled?
-       bmi @L80
-@L40:  rts                     ; leave default values for 40 column screen
-
-       ; check for VDC version and update register $19 value
+        lda version             ; if GEOS 1.0...
+        and #$f0
+        cmp #$10
+        beq @L40
+        lda c128Flag            ; at least GEOS 2.0, but we're on C128?
+        bpl @L40
+        lda graphMode           ; GEOS 2.0, C128, but is 80 column screen enabled?
+        bmi @L80
+@L40:   rts                     ; leave default values for 40 column screen
+
+        ; check for VDC version and update register $19 value
 
 @L80:
-       ; double the x resolution and halve the aspect ratio
+        ; double the x resolution and halve the aspect ratio
 
-       asl xres
-       rol xres+1
+        asl xres
+        rol xres+1
 
-       lsr aspect+1
-       ror aspect
+        lsr aspect+1
+        ror aspect
 
-       ; update number of available screens
+        ; update number of available screens
 
-       ldx #VDC_CSET           ; determine size of RAM...
-       jsr VDCReadReg
-       sta tmp1
-       ora #%00010000
-       jsr VDCWriteReg         ; turn on 64k
+        ldx #VDC_CSET           ; determine size of RAM...
+        jsr VDCReadReg
+        sta tmp1
+        ora #%00010000
+        jsr VDCWriteReg         ; turn on 64k
 
-       jsr settestadr1         ; save original value of test byte
-       jsr VDCReadByte
-       sta tmp2
+        jsr settestadr1         ; save original value of test byte
+        jsr VDCReadByte
+        sta tmp2
 
-       lda #$55                ; write $55 here
-       ldy #ptr1
-       jsr test64k             ; read it here and there
-       lda #$aa                ; write $aa here
-       ldy #ptr2
-       jsr test64k             ; read it here and there
+        lda #$55                ; write $55 here
+        ldy #ptr1
+        jsr test64k             ; read it here and there
+        lda #$aa                ; write $aa here
+        ldy #ptr2
+        jsr test64k             ; read it here and there
 
-       jsr settestadr1
-       lda tmp2
-       jsr VDCWriteByte        ; restore original value of test byte
+        jsr settestadr1
+        lda tmp2
+        jsr VDCWriteByte        ; restore original value of test byte
 
-       lda ptr1                ; do bytes match?
-       cmp ptr1+1
-       bne @have64k
-       lda ptr2
-       cmp ptr2+1
-       bne @have64k
+        lda ptr1                ; do bytes match?
+        cmp ptr1+1
+        bne @have64k
+        lda ptr2
+        cmp ptr2+1
+        bne @have64k
 
-       ldx #VDC_CSET
-       lda tmp1
-       jsr VDCWriteReg         ; restore 16/64k flag
-       jmp @endok              ; and leave default values for 16k
+        ldx #VDC_CSET
+        lda tmp1
+        jsr VDCWriteReg         ; restore 16/64k flag
+        jmp @endok              ; and leave default values for 16k
 
 @have64k:
-       lda #4
-       sta pages
+        lda #4
+        sta pages
 @endok:
-       lda #0
-       sta SCRBASE             ; draw page 0 as default
-       rts 
+        lda #0
+        sta SCRBASE             ; draw page 0 as default
+        rts 
 
 test64k:    
-       sta tmp1
-       sty ptr3
-       lda #0
-       sta ptr3+1
-       jsr settestadr1
-       lda tmp1
-       jsr VDCWriteByte        ; write $55
-       jsr settestadr1
-       jsr VDCReadByte         ; read here
-       pha
-       jsr settestadr2
-       jsr VDCReadByte         ; and there
-       ldy #1
-       sta (ptr3),y
-       pla
-       dey
-       sta (ptr3),y
-       rts
+        sta tmp1
+        sty ptr3
+        lda #0
+        sta ptr3+1
+        jsr settestadr1
+        lda tmp1
+        jsr VDCWriteByte        ; write $55
+        jsr settestadr1
+        jsr VDCReadByte         ; read here
+        pha
+        jsr settestadr2
+        jsr VDCReadByte         ; and there
+        ldy #1
+        sta (ptr3),y
+        pla
+        dey
+        sta (ptr3),y
+        rts
 
 settestadr1:
-       ldy #$02                ; test page 2 (here)
-       .byte $2c
+        ldy #$02                ; test page 2 (here)
+        .byte $2c
 settestadr2:
-       ldy #$42                ; or page 64+2 (there)
-       lda #0
-       jmp VDCSetSourceAddr
+        ldy #$42                ; or page 64+2 (there)
+        lda #0
+        jmp VDCSetSourceAddr
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory. May
@@ -235,7 +235,7 @@ settestadr2:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -253,32 +253,32 @@ UNINSTALL:
 ;
 
 INIT:
-       ldx #$01
-       stx BITMASK             ; solid black as pattern
-       lda #1
-       jsr SetPattern
-       lda #ST_WR_FORE         ; write only on foreground
-       sta dispBufferOn
+        ldx #$01
+        stx BITMASK             ; solid black as pattern
+        lda #1
+        jsr SetPattern
+        lda #ST_WR_FORE         ; write only on foreground
+        sta dispBufferOn
 
-       lda graphMode
-       bmi @L80
+        lda graphMode
+        bmi @L80
 
 ; Remember current color value (40 columns)
-       lda screencolors
-       sta OLDCOLOR
-       jmp @L99
+        lda screencolors
+        sta OLDCOLOR
+        jmp @L99
 
 ; Remember current color value (80 columns)
-@L80:  lda scr80colors
-       sta OLDCOLOR
-@L99:  lda #0
-       jsr SETVIEWPAGE         ; switch into viewpage 0
+@L80:   lda scr80colors
+        sta OLDCOLOR
+@L99:   lda #0
+        jsr SETVIEWPAGE         ; switch into viewpage 0
 
 ; Done, reset the error code
 
-       lda #TGI_ERR_OK
-       sta ERROR
-       rts
+        lda #TGI_ERR_OK
+        sta ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; DONE: Will be called to switch the graphics device back into text mode.
@@ -289,35 +289,35 @@ INIT:
 ;
 
 DONE:
-       lda #0
-       jsr SETVIEWPAGE         ; switch into viewpage 0
-
-       lda graphMode
-       bmi @L80
-
-       lda OLDCOLOR
-       sta screencolors        ; restore color for 40 columns
-       ldx #0
-@L1:   sta COLOR_MATRIX,x
-       sta COLOR_MATRIX+$0100,x
-       sta COLOR_MATRIX+$0200,x
-       sta COLOR_MATRIX+1000-256,x
-       inx
-       bne @L1
-       rts
-
-@L80:  lda OLDCOLOR            ; restore color for 80 columns
-       ldx #VDC_COLORS
-       jmp VDCWriteReg
+        lda #0
+        jsr SETVIEWPAGE         ; switch into viewpage 0
+
+        lda graphMode
+        bmi @L80
+
+        lda OLDCOLOR
+        sta screencolors        ; restore color for 40 columns
+        ldx #0
+@L1:    sta COLOR_MATRIX,x
+        sta COLOR_MATRIX+$0100,x
+        sta COLOR_MATRIX+$0200,x
+        sta COLOR_MATRIX+1000-256,x
+        inx
+        bne @L1
+        rts
+
+@L80:   lda OLDCOLOR            ; restore color for 80 columns
+        ldx #VDC_COLORS
+        jmp VDCWriteReg
 
 ; ------------------------------------------------------------------------
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-       ldx #TGI_ERR_OK
-       lda ERROR
-       stx ERROR
-       rts
+        ldx #TGI_ERR_OK
+        lda ERROR
+        stx ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CONTROL: Platform/driver specific entry point.
@@ -326,9 +326,9 @@ GETERROR:
 ;
 
 CONTROL:
-       lda #TGI_ERR_INV_FUNC
-       sta ERROR
-       rts
+        lda #TGI_ERR_INV_FUNC
+        sta ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CLEAR: Clears the screen.
@@ -337,29 +337,29 @@ CONTROL:
 ;
 
 CLEAR:
-       lda curPattern
-       pha
-       lda #0
-       jsr SetPattern
-       ldx #0
-       stx r3L
-       stx r3H
-       stx r2L
-       lda #199
-       sta r2H
-       lda graphMode
-       bpl @L40
-       lda #>639               ; 80 columns
-       ldx #<639
-       bne @L99
-@L40:  lda #>319               ; 40 columns
-       ldx #<319
-@L99:  sta r4H
-       stx r4L
-       jsr Rectangle
-       pla
-       sta curPattern
-       rts
+        lda curPattern
+        pha
+        lda #0
+        jsr SetPattern
+        ldx #0
+        stx r3L
+        stx r3H
+        stx r2L
+        lda #199
+        sta r2H
+        lda graphMode
+        bpl @L40
+        lda #>639               ; 80 columns
+        ldx #<639
+        bne @L99
+@L40:   lda #>319               ; 40 columns
+        ldx #<319
+@L99:   sta r4H
+        stx r4L
+        jsr Rectangle
+        pla
+        sta curPattern
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -369,15 +369,15 @@ CLEAR:
 ;
 
 SETVIEWPAGE:
-       ldx graphMode
-       bmi @L80
-       rts
-@L80:  clc
-       ror
-       ror
-       ror
-       ldx #VDC_DSP_HI
-       jmp VDCWriteReg
+        ldx graphMode
+        bmi @L80
+        rts
+@L80:   clc
+        ror
+        ror
+        ror
+        ldx #VDC_DSP_HI
+        jmp VDCWriteReg
 
 ; ------------------------------------------------------------------------
 ; SETDRAWPAGE: Set the drawable page. Called with the new page in A (0..n).
@@ -387,15 +387,15 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-       ldx graphMode
-       bmi @L80
-       rts
-@L80:  clc
-       ror
-       ror
-       ror
-       sta SCRBASE
-       rts
+        ldx graphMode
+        bmi @L80
+        rts
+@L80:   clc
+        ror
+        ror
+        ror
+        sta SCRBASE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
@@ -405,11 +405,11 @@ SETDRAWPAGE:
 ;
 
 SETCOLOR:
-       tax
-       beq @L1
-       lda #1
+        tax
+        beq @L1
+        lda #1
 @L1:    sta BITMASK
-       jmp SetPattern          ; need to have either 0 or 1
+        jmp SetPattern          ; need to have either 0 or 1
 
 ; ------------------------------------------------------------------------
 ; SETPALETTE: Set the palette (not available with all drivers/hardware).
@@ -420,46 +420,46 @@ SETCOLOR:
 ;
 
 SETPALETTE:
-       jsr GETERROR            ; clear error (if any)
+        jsr GETERROR            ; clear error (if any)
 
-       ldy #PALETTESIZE - 1
-@L1:    lda (ptr1),y           ; Copy the palette
-       and #$0F                ; Make a valid color
-       sta PALETTE,y
-       dey
-       bpl @L1
+        ldy #PALETTESIZE - 1
+@L1:    lda (ptr1),y            ; Copy the palette
+        and #$0F                ; Make a valid color
+        sta PALETTE,y
+        dey
+        bpl @L1
 
 ; Put colors from palette into screen
 
-       lda graphMode
-       bmi @L80
-
-       lda PALETTE+1           ; foreground
-       asl a
-       asl a
-       asl a
-       asl a
-       ora PALETTE             ; background
-       ldx #0
-@L2:   sta COLOR_MATRIX,x
-       sta COLOR_MATRIX+$0100,x
-       sta COLOR_MATRIX+$0200,x
-       sta COLOR_MATRIX+1000-256,x
-       inx
-       bne @L2
-       rts
-
-@L80:   ldy PALETTE+1          ; Foreground color
-       lda COLTRANS,y
-       asl a
-       asl a
-       asl a
-       asl a
-       ldy PALETTE             ; Background color
-       ora COLTRANS,y
-
-       ldx #VDC_COLORS
-       jmp VDCWriteReg
+        lda graphMode
+        bmi @L80
+
+        lda PALETTE+1           ; foreground
+        asl a
+        asl a
+        asl a
+        asl a
+        ora PALETTE             ; background
+        ldx #0
+@L2:    sta COLOR_MATRIX,x
+        sta COLOR_MATRIX+$0100,x
+        sta COLOR_MATRIX+$0200,x
+        sta COLOR_MATRIX+1000-256,x
+        inx
+        bne @L2
+        rts
+
+@L80:   ldy PALETTE+1           ; Foreground color
+        lda COLTRANS,y
+        asl a
+        asl a
+        asl a
+        asl a
+        ldy PALETTE             ; Background color
+        ora COLTRANS,y
+
+        ldx #VDC_COLORS
+        jmp VDCWriteReg
 
 ; ------------------------------------------------------------------------
 ; GETPALETTE: Return the current palette in A/X. Even drivers that cannot
@@ -470,9 +470,9 @@ SETPALETTE:
 ;
 
 GETPALETTE:
-       lda #<PALETTE
-       ldx #>PALETTE
-       rts
+        lda #<PALETTE
+        ldx #>PALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETDEFPALETTE: Return the default palette for the driver in A/X. All
@@ -484,9 +484,9 @@ GETPALETTE:
 ;
 
 GETDEFPALETTE:
-       lda #<DEFPALETTE
-       ldx #>DEFPALETTE
-       rts
+        lda #<DEFPALETTE
+        ldx #>DEFPALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPIXEL: Draw one pixel at X1/Y1 = ptr1/ptr2 with the current drawing
@@ -497,18 +497,18 @@ GETDEFPALETTE:
 ;
 
 SETPIXEL:
-       lda X1
-       ldx X1+1
-       ldy Y1
-       sta r3L
-       stx r3H
-       sty r11L
-       sec
-       lda BITMASK             ; set or clear C flag
-       bne @L1
-       clc
-@L1:   lda #0
-       jmp DrawPoint
+        lda X1
+        ldx X1+1
+        ldy Y1
+        sta r3L
+        stx r3H
+        sty r11L
+        sec
+        lda BITMASK             ; set or clear C flag
+        bne @L1
+        clc
+@L1:    lda #0
+        jmp DrawPoint
 
 ; ------------------------------------------------------------------------
 ; GETPIXEL: Read the color value of a pixel and return it in A/X. The
@@ -517,19 +517,19 @@ SETPIXEL:
 
 
 GETPIXEL:
-       lda X1
-       ldx X1+1
-       ldy Y1
-       sta r3L
-       stx r3H
-       sty r11L
-       jsr TestPoint
-       ldx #0
-       bcc @L1
-       inx
-@L1:   txa
-       ldx #0
-       rts
+        lda X1
+        ldx X1+1
+        ldy Y1
+        sta r3L
+        stx r3H
+        sty r11L
+        jsr TestPoint
+        ldx #0
+        bcc @L1
+        inx
+@L1:    txa
+        ldx #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; LINE: Draw a line from X1/Y1 to X2/Y2, where X1/Y1 = ptr1/ptr2 and
@@ -539,24 +539,24 @@ GETPIXEL:
 ;
 
 LINE:
-       lda X1
-       ldx X1+1
-       ldy Y1
-       sta r3L
-       stx r3H
-       sty r11L
-       lda X2
-       ldx X2+1
-       ldy Y2
-       sta r4L
-       stx r4H
-       sty r11H
-       sec
-       lda BITMASK             ; set or clear C flag
-       bne @L1
-       clc
-@L1:   lda #0
-       jmp DrawLine
+        lda X1
+        ldx X1+1
+        ldy Y1
+        sta r3L
+        stx r3H
+        sty r11L
+        lda X2
+        ldx X2+1
+        ldy Y2
+        sta r4L
+        stx r4H
+        sty r11H
+        sec
+        lda BITMASK             ; set or clear C flag
+        bne @L1
+        clc
+@L1:    lda #0
+        jmp DrawLine
 
 ; ------------------------------------------------------------------------
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
@@ -575,19 +575,19 @@ LINE:
 ;
 
 BAR:
-       lda X1
-       ldx X1+1
-       ldy Y1
-       sta r3L
-       stx r3H
-       sty r2L
-       lda X2
-       ldx X2+1
-       ldy Y2
-       sta r4L
-       stx r4H
-       sty r2H
-       jmp Rectangle
+        lda X1
+        ldx X1+1
+        ldy Y1
+        sta r3L
+        stx r3H
+        sty r2L
+        lda X2
+        ldx X2+1
+        ldy Y2
+        sta r4L
+        stx r4H
+        sty r2H
+        jmp Rectangle
 
 ; ------------------------------------------------------------------------
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
@@ -597,10 +597,10 @@ BAR:
 ;
 
 TEXTSTYLE:
-       stx TEXTMAGX
-       sty TEXTMAGY
-       sta TEXTDIR
-       rts
+        stx TEXTMAGX
+        sty TEXTMAGY
+        sta TEXTDIR
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -612,69 +612,69 @@ TEXTSTYLE:
 ;
 
 OUTTEXT:
-       lda TEXTDIR
-;      cmp #TGI_TEXT_HORIZONTAL ; this is equal 0
-       bne @vertical
-
-       lda X1                  ; horizontal text output
-       ldx X1+1
-       ldy Y1
-       sta r11L
-       stx r11H
-       sty r1H
-       lda ptr3
-       ldx ptr3+1
-       sta r0L
-       stx r0H
-       jmp PutString
+        lda TEXTDIR
+;       cmp #TGI_TEXT_HORIZONTAL ; this is equal 0
+        bne @vertical
+
+        lda X1                  ; horizontal text output
+        ldx X1+1
+        ldy Y1
+        sta r11L
+        stx r11H
+        sty r1H
+        lda ptr3
+        ldx ptr3+1
+        sta r0L
+        stx r0H
+        jmp PutString
 
 @vertical:
-       lda X1                  ; vertical text output
-       ldx X1+1
-       ldy Y1
-       sta r11L
-       stx r11H
-       sty r1H
-       ldy #0
-       lda (ptr3),y
-       beq @end
-       jsr PutChar
-       inc ptr3
-       bne @L1
-       inc ptr3+1
-@L1:   lda Y1
-       clc
-       adc #8
-       sta Y1
-       bne @vertical
-@end:  rts
+        lda X1                  ; vertical text output
+        ldx X1+1
+        ldy Y1
+        sta r11L
+        stx r11H
+        sty r1H
+        ldy #0
+        lda (ptr3),y
+        beq @end
+        jsr PutChar
+        inc ptr3
+        bne @L1
+        inc ptr3+1
+@L1:    lda Y1
+        clc
+        adc #8
+        sta Y1
+        bne @vertical
+@end:   rts
 
 ;-------------
 ; VDC helpers
 
 VDCSetSourceAddr:
-       pha
-       tya
-       ldx #VDC_DATA_HI
-       jsr VDCWriteReg
-       pla
-       ldx #VDC_DATA_LO
-       bne VDCWriteReg
+        pha
+        tya
+        ldx #VDC_DATA_HI
+        jsr VDCWriteReg
+        pla
+        ldx #VDC_DATA_LO
+        bne VDCWriteReg
 
 VDCReadByte:
-       ldx #VDC_DATA
+        ldx #VDC_DATA
 VDCReadReg:
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       lda VDC_DATA_REG
-       rts
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        lda VDC_DATA_REG
+        rts
 
 VDCWriteByte:
-       ldx #VDC_DATA
+        ldx #VDC_DATA
 VDCWriteReg:
-       stx VDC_ADDR_REG
-@L0:   bit VDC_ADDR_REG
-       bpl @L0
-       sta VDC_DATA_REG
-       rts
+        stx VDC_ADDR_REG
+@L0:    bit VDC_ADDR_REG
+        bpl @L0
+        sta VDC_DATA_REG
+        rts
index 0dc6f99d8fb20a9a6cedde473946c48f11b747b2..e0a7723a1a205e5efcc52d8b97ac67807bc27e47 100644 (file)
@@ -15,8 +15,8 @@ void __fastcall__ _poserror (const char* msg)
 
     ExitTurbo();
     if (msg && *msg) {
-       DlgBoxOk(msg, errmsg);
+        DlgBoxOk(msg, errmsg);
     } else {
-       DlgBoxOk("", errmsg);
+        DlgBoxOk("", errmsg);
     }
 }
index 95425aae6182357510e92f0eafa3656aae9e62b7..ba2cf80438beb91e11edaedbc563ac0e850780d3 100644 (file)
@@ -4,25 +4,25 @@
 ; Copy the data segment from the LOAD to the RUN location
 ;
 
-           .export copydata
-           .import __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
+            .export copydata
+            .import __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
 
-           .include "geossym.inc"
-           .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "jumptab.inc"
 
 copydata:
-       lda #<__DATA_SIZE__     ; no need to check if it is == 0
-       ldx #>__DATA_SIZE__
-       sta r2L
-       stx r2H
+        lda #<__DATA_SIZE__     ; no need to check if it is == 0
+        ldx #>__DATA_SIZE__
+        sta r2L
+        stx r2H
 
-       lda #<__DATA_RUN__
-       ldx #>__DATA_RUN__
-       sta r1L
-       stx r1H
+        lda #<__DATA_RUN__
+        ldx #>__DATA_RUN__
+        sta r1L
+        stx r1H
 
-       lda #<__DATA_LOAD__
-       ldx #>__DATA_LOAD__
-       sta r0L
-       stx r0H
-       jmp MoveData
+        lda #<__DATA_LOAD__
+        ldx #>__DATA_LOAD__
+        sta r0L
+        stx r0H
+        jmp MoveData
index 1afbf456aa10cefe9511cae9ef37b345e2c62b4d..7dcd0d62a2cc26664c790b51fff1593b0025e180 100644 (file)
@@ -4,7 +4,7 @@
 ; Maciej 'YTM/Elysium' Witkowiak, 15.07.2001
 ;
 
-           .export _memcpy
-           .import _MoveData
+            .export _memcpy
+            .import _MoveData
 
-_memcpy                = _MoveData
+_memcpy         = _MoveData
index e5daa93a65b3793fabe04dad66c3077bf850e3fb..4fceb5a8ad6a3a3ceb69ea428051d62b94f04b07 100644 (file)
@@ -4,7 +4,7 @@
 ; Maciej 'YTM/Elysium' Witkowiak, 15.07.2001
 ;
 
-           .export _memmove
-           .import _MoveData
+            .export _memmove
+            .import _MoveData
 
-_memmove       = _MoveData
+_memmove        = _MoveData
index 67c54f8bb5190d9493dc87e538dbb2f853e9a376..2cb6732d18a3f96ba979db261b481b6e8f495bef 100644 (file)
@@ -6,9 +6,9 @@
 ; Maciej 'YTM/Elysium' Witkowiak, 20.08.2003
 ;
 
-           .export _memset, _bzero, __bzero
-           .import _ClearRam, _FillRam
+            .export _memset, _bzero, __bzero
+            .import _ClearRam, _FillRam
 
-_bzero         = _ClearRam
-__bzero                = _ClearRam
-_memset                = _FillRam
+_bzero          = _ClearRam
+__bzero         = _ClearRam
+_memset         = _FillRam
index 6b3ed3c642d8403ff7d7554b47e7c5431c5baa32..022968bf2b36af82d5cd6bfc27901f715be5a4bf 100644 (file)
@@ -15,8 +15,8 @@ void __fastcall__ perror(const char* msg)
 
     ExitTurbo();
     if (msg && *msg) {
-       DlgBoxOk(msg, errmsg);
+        DlgBoxOk(msg, errmsg);
     } else {
-       DlgBoxOk("", errmsg);
+        DlgBoxOk("", errmsg);
     }
 }
index b1b3750c1a66bb0c2340c0129363f480b7ec12d3..94bd9fe79ddb51db2b6b301ed11cdda84fb7a01f 100644 (file)
@@ -12,9 +12,9 @@ unsigned __fastcall__ sleep (unsigned wait)
     char typ;
 
     if ( (get_tv()) & TV_NTSC ) {
-       typ = 60;
+        typ = 60;
     } else {
-       typ = 50;
+        typ = 50;
     }
 
     Sleep(wait*typ);
index fc19c38c7d162d141c1d23959b17830e2e25e2c8..48fc5a89a93ae9f594c99f76218a9560677dafe9 100644 (file)
@@ -5,19 +5,19 @@
 ; Zero the bss segment.
 ;
 
-           .export zerobss
-           .import __BSS_RUN__, __BSS_SIZE__
-           
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .export zerobss
+            .import __BSS_RUN__, __BSS_SIZE__
+            
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 zerobss:
-       lda #<__BSS_SIZE__
-       ldx #>__BSS_SIZE__
-       sta r0L
-       stx r0H
-       lda #<__BSS_RUN__
-       ldx #>__BSS_RUN__
-       sta r1L
-       stx r1H
-       jmp ClearRam
+        lda #<__BSS_SIZE__
+        ldx #>__BSS_SIZE__
+        sta r0L
+        stx r0H
+        lda #<__BSS_RUN__
+        ldx #>__BSS_RUN__
+        sta r1L
+        stx r1H
+        jmp ClearRam
index 31d64e1f4c8d3fbcb984b6aec66f0358a76f4b8b..01aac96a443ccd436bbc1a1b35da3c7310254530 100644 (file)
@@ -6,46 +6,46 @@
 ; 6.3.2001, 17.4.2003
 
 
-       .export xsize, ysize
-       .export screensize
-       .importzp cursor_r, cursor_c
-       .import _cursor
-       .constructor initscrsize
-                     
-       .include "geossym.inc"
+        .export xsize, ysize
+        .export screensize
+        .importzp cursor_r, cursor_c
+        .import _cursor
+        .constructor initscrsize
+                      
+        .include "geossym.inc"
 
-.segment       "INIT"
+.segment        "INIT"
 
 initscrsize:
 .ifdef __GEOS_CBM__
-       lda graphMode
-       bpl L1
-       lda #80                 ; 80 columns (more or less)
-       .byte $2c
-L1:    lda #40                 ; 40 columns (more or less)
-       sta xsize
-       lda #25                 ; something like that for Y size
+        lda graphMode
+        bpl L1
+        lda #80                 ; 80 columns (more or less)
+        .byte $2c
+L1:     lda #40                 ; 40 columns (more or less)
+        sta xsize
+        lda #25                 ; something like that for Y size
 .else
-       lda #70                 ; 70 columns (more or less)
-       sta xsize
-       lda #24                 ; something like that for Y size
+        lda #70                 ; 70 columns (more or less)
+        sta xsize
+        lda #24                 ; something like that for Y size
 .endif
-       sta ysize
-       lda #0
-       sta cursor_c
-       sta cursor_r
-       jmp _cursor             ; home and update cursor
+        sta ysize
+        lda #0
+        sta cursor_c
+        sta cursor_r
+        jmp _cursor             ; home and update cursor
 
 .code
 
 screensize: 
-       ldx xsize
-       ldy ysize
-       rts
+        ldx xsize
+        ldy ysize
+        rts
 
 .bss
 
 xsize:
-       .res 1
+        .res 1
 ysize:
-       .res 1
+        .res 1
index ac93803d991d20e00b4d4e7158a71648ade158c3..9857f70e81277b15a5b25c94b9179b968a12fba0 100644 (file)
@@ -6,53 +6,53 @@
 ; void cclearxy (unsigned char x, unsigned char y, unsigned char length);
 ; void cclear (unsigned char length);
 
-           .export _cclearxy, _cclear
-           .import popa, _gotoxy, fixcursor
-           .importzp cursor_x, cursor_y, cursor_c
+            .export _cclearxy, _cclear
+            .import popa, _gotoxy, fixcursor
+            .importzp cursor_x, cursor_y, cursor_c
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _cclearxy:
-       pha                     ; Save the length
-       jsr popa                ; Get y
-       jsr _gotoxy             ; Call this one, will pop params
-       pla                     ; Restore the length
+        pha                     ; Save the length
+        jsr popa                ; Get y
+        jsr _gotoxy             ; Call this one, will pop params
+        pla                     ; Restore the length
 
 _cclear:
-       cmp #0                  ; Is the length zero?
-       beq L9                  ; Jump if done
-       tax
-       lda cursor_x            ; left start
-       sta r3L
-       lda cursor_x+1
-       sta r3L+1
-       lda cursor_y            ; level
-       sta r2L
-       clc
-       adc #7
-       sta r2H
-       txa                     ; right end
-       clc
-       adc cursor_c
-       sta cursor_c
-       sta r4L
-       ldx #r4
-       ldy #3
-       jsr DShiftLeft
-       clc                     ; one pixel less
-       lda r4L
-       sbc #0
-       sta r4L
-       lda r4L+1
-       sbc #0
-       sta r4L+1
-       lda curPattern          ; store current pattern
-       pha
-       lda #0                  ; set pattern to clear
-       jsr SetPattern
-       jsr Rectangle
-       pla
-       jsr SetPattern          ; restore pattern
-       jsr fixcursor
-L9:    rts
+        cmp #0                  ; Is the length zero?
+        beq L9                  ; Jump if done
+        tax
+        lda cursor_x            ; left start
+        sta r3L
+        lda cursor_x+1
+        sta r3L+1
+        lda cursor_y            ; level
+        sta r2L
+        clc
+        adc #7
+        sta r2H
+        txa                     ; right end
+        clc
+        adc cursor_c
+        sta cursor_c
+        sta r4L
+        ldx #r4
+        ldy #3
+        jsr DShiftLeft
+        clc                     ; one pixel less
+        lda r4L
+        sbc #0
+        sta r4L
+        lda r4L+1
+        sbc #0
+        sta r4L+1
+        lda curPattern          ; store current pattern
+        pha
+        lda #0                  ; set pattern to clear
+        jsr SetPattern
+        jsr Rectangle
+        pla
+        jsr SetPattern          ; restore pattern
+        jsr fixcursor
+L9:     rts
index 2c0f19a515563bd85967a92d26d24a8091f1709b..ad6e8ee28452737d541183dff9d838ad5cb9f4ac 100644 (file)
@@ -6,34 +6,34 @@
 
 ; unsigned char cgetc (void);
 
-           .export _cgetc
-           .import cursor, _PromptOff
-           .importzp cursor_x, cursor_y
+            .export _cgetc
+            .import cursor, _PromptOff
+            .importzp cursor_x, cursor_y
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _cgetc:
 ; show cursor if needed
-       lda cursor
-       beq L0
+        lda cursor
+        beq L0
 
 ; prepare cursor
-       lda #7
-       jsr InitTextPrompt
-       lda cursor_x
-       ldx cursor_x+1
-       sta stringX
-       stx stringX+1
-       lda cursor_y
-       sta stringY
-       jsr PromptOn
+        lda #7
+        jsr InitTextPrompt
+        lda cursor_x
+        ldx cursor_x+1
+        sta stringX
+        stx stringX+1
+        lda cursor_y
+        sta stringY
+        jsr PromptOn
 
-L0:    jsr GetNextChar
-       tax
-       beq L0
-       pha
-       jsr _PromptOff
-       pla
-       ldx #0
-       rts
+L0:     jsr GetNextChar
+        tax
+        beq L0
+        pha
+        jsr _PromptOff
+        pla
+        ldx #0
+        rts
index c6310a11eb8c0ad9776ba93584c61eaa79b019cc..328d01a0195e6a30a45605b07efcc7a380e6f37c 100644 (file)
@@ -6,49 +6,49 @@
 ; void chlinexy (unsigned char x, unsigned char y, unsigned char length);
 ; void chline (unsigned char length);
 
-           .export _chlinexy, _chline
-           .import popa, _gotoxy, fixcursor
-           .importzp cursor_x, cursor_y, cursor_c
+            .export _chlinexy, _chline
+            .import popa, _gotoxy, fixcursor
+            .importzp cursor_x, cursor_y, cursor_c
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _chlinexy:
-               pha                     ; Save the length
-       jsr popa                ; Get y
-               jsr _gotoxy             ; Call this one, will pop params
-       pla                     ; Restore the length
+        pha                     ; Save the length
+        jsr popa                ; Get y
+        jsr _gotoxy             ; Call this one, will pop params
+        pla                     ; Restore the length
 
 _chline:
-       cmp #0                  ; Is the length zero?
-       beq L9                  ; Jump if done
-       tax
-       lda cursor_x            ; left start
-       sta r3L
-       lda cursor_x+1
-       sta r3L+1
-       lda cursor_y            ; level
-       clc
-       adc #4                  ; in the middle of a cell
-       sta r11L
-       txa                     ; right end
-       clc
-       adc cursor_c
-       sta cursor_c
-       sta r4L
-       lda #0
-       sta r4L+1
-       ldx #r4
-       ldy #3
-       jsr DShiftLeft
-       clc                     ; one pixel less
-       lda r4L
-       sbc #0
-       sta r4L
-       lda r4L+1
-       sbc #0
-       sta r4L+1
-       lda #%11111111          ; pattern
-       jsr HorizontalLine
-       jsr fixcursor
-L9:    rts
+        cmp #0                  ; Is the length zero?
+        beq L9                  ; Jump if done
+        tax
+        lda cursor_x            ; left start
+        sta r3L
+        lda cursor_x+1
+        sta r3L+1
+        lda cursor_y            ; level
+        clc
+        adc #4                  ; in the middle of a cell
+        sta r11L
+        txa                     ; right end
+        clc
+        adc cursor_c
+        sta cursor_c
+        sta r4L
+        lda #0
+        sta r4L+1
+        ldx #r4
+        ldy #3
+        jsr DShiftLeft
+        clc                     ; one pixel less
+        lda r4L
+        sbc #0
+        sta r4L
+        lda r4L+1
+        sbc #0
+        sta r4L+1
+        lda #%11111111          ; pattern
+        jsr HorizontalLine
+        jsr fixcursor
+L9:     rts
index 72fcb40ff3cd21740fbbdd8aa19eabbb029a36a7..8df390b5b77f998915a423033cdc6412d305c86c 100644 (file)
@@ -5,45 +5,45 @@
 
 ; void clrscr (void);
 
-           .export _clrscr
-           .import fixcursor
-           .importzp cursor_c, cursor_r
+            .export _clrscr
+            .import fixcursor
+            .importzp cursor_c, cursor_r
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _clrscr:
-       lda curPattern          ; save current pattern
-       pha
-       lda #0                  ; set pattern to clear
-       jsr SetPattern
-       ldx #0
-       stx r3L
-       stx r3H
-       stx r2L
-       stx cursor_c
-       stx cursor_r
-       jsr fixcursor           ; home cursor
+        lda curPattern          ; save current pattern
+        pha
+        lda #0                  ; set pattern to clear
+        jsr SetPattern
+        ldx #0
+        stx r3L
+        stx r3H
+        stx r2L
+        stx cursor_c
+        stx cursor_r
+        jsr fixcursor           ; home cursor
 .ifdef __GEOS_CBM__
-       lda #199
-       sta r2H
-       lda graphMode
-       bpl L40
-       lda #>639               ; 80 columns
-       ldx #<639
-       bne L99
-L40:   lda #>319               ; 40 columns
-       ldx #<319
+        lda #199
+        sta r2H
+        lda graphMode
+        bpl L40
+        lda #>639               ; 80 columns
+        ldx #<639
+        bne L99
+L40:    lda #>319               ; 40 columns
+        ldx #<319
 L99:
 .else
-       lda #191
-       sta r2H
-       lda #>559
-       ldx #<559
+        lda #191
+        sta r2H
+        lda #>559
+        ldx #<559
 .endif
-       sta r4H
-       stx r4L
-       jsr Rectangle
-       pla
-       jmp SetPattern          ; restore pattern
+        sta r4H
+        stx r4L
+        jsr Rectangle
+        pla
+        jmp SetPattern          ; restore pattern
index dbc4f45c10046074724e084bd8ff2c18861e696a..55674d58388ae34e0e1aea3a70486bff7a998569 100644 (file)
 ; HOME = KEY_ENTER, KEY_HOME = REV_ON, 
 ; UPLINE = ?, KEY_UPARROW = GOTOY, ...
 
-           .export _cputcxy, _cputc
-           .import _gotoxy, fixcursor
-           .import popa
-           .import xsize,ysize
-           .importzp cursor_x, cursor_y, cursor_c, cursor_r
+            .export _cputcxy, _cputc
+            .import _gotoxy, fixcursor
+            .import popa
+            .import xsize,ysize
+            .importzp cursor_x, cursor_y, cursor_c, cursor_r
 
-           .include "const.inc"
-           .include "geossym.inc"
-           .include "jumptab.inc"
+            .include "const.inc"
+            .include "geossym.inc"
+            .include "jumptab.inc"
 
 _cputcxy:
-       pha                     ; Save C
-       jsr popa                ; Get Y
-       jsr _gotoxy             ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr popa                ; Get Y
+        jsr _gotoxy             ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
 _cputc:
-       tax                     ; save character
+        tax                     ; save character
 ; some characters 0-31 are not safe for PutChar
-       cmp #$20
-       bcs L1
-       cmp #CR
-       beq do_cr
-       cmp #LF
-       beq do_lf
-       cmp #KEY_DELETE
-       bne L0
-       ldx #BACKSPACE
-       sec
-       bcs L2
-L0:    rts
+        cmp #$20
+        bcs L1
+        cmp #CR
+        beq do_cr
+        cmp #LF
+        beq do_lf
+        cmp #KEY_DELETE
+        bne L0
+        ldx #BACKSPACE
+        sec
+        bcs L2
+L0:     rts
 
-L1:    clc
-L2:    php
-       lda cursor_x
-       sta r11L
-       lda cursor_x+1
-       sta r11H
-       lda cursor_y
-       clc
-       adc #6                  ; 6 pixels down to the baseline
-       sta r1H
-       txa
-       jsr PutChar
-       plp
-       bcs fix_cursor
+L1:     clc
+L2:     php
+        lda cursor_x
+        sta r11L
+        lda cursor_x+1
+        sta r11H
+        lda cursor_y
+        clc
+        adc #6                  ; 6 pixels down to the baseline
+        sta r1H
+        txa
+        jsr PutChar
+        plp
+        bcs fix_cursor
 
-       inc cursor_c
-       lda cursor_c
-       cmp xsize               ; hit right margin?
-       bne fix_cursor
-       lda #0                  ; yes - do cr+lf
-       sta cursor_c
-do_lf: inc cursor_r
-       lda cursor_r
-       cmp ysize               ; hit bottom margin?
-       bne fix_cursor
-       dec cursor_r            ; yes - stay in the last line
+        inc cursor_c
+        lda cursor_c
+        cmp xsize               ; hit right margin?
+        bne fix_cursor
+        lda #0                  ; yes - do cr+lf
+        sta cursor_c
+do_lf:  inc cursor_r
+        lda cursor_r
+        cmp ysize               ; hit bottom margin?
+        bne fix_cursor
+        dec cursor_r            ; yes - stay in the last line
 
 fix_cursor:
-       jmp fixcursor
+        jmp fixcursor
 
-do_cr: lda #0
-       sta cursor_c
-       beq fix_cursor
+do_cr:  lda #0
+        sta cursor_c
+        beq fix_cursor
index e60af74a3bfd128f47b768d5a6578285851db993..ade7f34c98f038f012b6782fd3689a7838476996 100644 (file)
@@ -6,43 +6,43 @@
 ; void cvlinexy (unsigned char x, unsigned char y, unsigned char length);
 ; void cvline (unsigned char length);
 
-           .export _cvlinexy, _cvline
-           .import popa, _gotoxy, fixcursor
-           .importzp cursor_x, cursor_y, cursor_r
+            .export _cvlinexy, _cvline
+            .import popa, _gotoxy, fixcursor
+            .importzp cursor_x, cursor_y, cursor_r
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _cvlinexy:
-       pha                     ; Save the length
-       jsr popa                ; Get y
-       jsr _gotoxy             ; Call this one, will pop params
-       pla                     ; Restore the length
+        pha                     ; Save the length
+        jsr popa                ; Get y
+        jsr _gotoxy             ; Call this one, will pop params
+        pla                     ; Restore the length
 
 _cvline:    
-       cmp #0                  ; Is the length zero?
-       beq L9                  ; Jump if done
-       tax
-       lda cursor_x            ; x position
-       clc
-       adc #3                  ; in the middle of cell
-       sta r4L
-       lda cursor_x+1
-       adc #0
-       sta r4L+1
-       lda cursor_y            ; top start
-       sta r3L
-       txa                     ; bottom end
-       clc
-       adc cursor_r
-       sta cursor_r
-       asl a
-       asl a
-       asl a
-       clc                     ; one pixel less
-       sbc #0
-       sta r3H
-       lda #%11111111          ; pattern
-       jsr VerticalLine
-       jsr fixcursor
-L9:    rts
+        cmp #0                  ; Is the length zero?
+        beq L9                  ; Jump if done
+        tax
+        lda cursor_x            ; x position
+        clc
+        adc #3                  ; in the middle of cell
+        sta r4L
+        lda cursor_x+1
+        adc #0
+        sta r4L+1
+        lda cursor_y            ; top start
+        sta r3L
+        txa                     ; bottom end
+        clc
+        adc cursor_r
+        sta cursor_r
+        asl a
+        asl a
+        asl a
+        clc                     ; one pixel less
+        sbc #0
+        sta r3H
+        lda #%11111111          ; pattern
+        jsr VerticalLine
+        jsr fixcursor
+L9:     rts
index ac494106d1acd677777d509e810d7af45a6419a9..e747c6468b3fd5c4e3c3b9d161508f1c40d2deec 100644 (file)
@@ -9,10 +9,10 @@
 ; unsigned char __fastcall__ revers (unsigned char onoff);
 ;
 
-           .export _textcolor, _bgcolor, _bordercolor, _revers
-           .import return0
+            .export _textcolor, _bgcolor, _bordercolor, _revers
+            .import return0
 
-_textcolor     = return0
-_bgcolor       = return0
-_bordercolor   = return0
-_revers                = return0
+_textcolor      = return0
+_bgcolor        = return0
+_bordercolor    = return0
+_revers         = return0
index 1464eea27a48acbbdf1f50bae38f0b16d22a8815..48b413d5fb80abf4eaae23aa98e44feac7cc3e4a 100644 (file)
@@ -8,37 +8,37 @@
 ; void gotoy (unsigned char y);
 ; void gotoxy (unsigned char x, unsigned char y);
 
-           .export _gotox, _gotoy, _gotoxy, fixcursor
-           .import popa
-           .importzp cursor_x, cursor_y, cursor_c, cursor_r
+            .export _gotox, _gotoy, _gotoxy, fixcursor
+            .import popa
+            .importzp cursor_x, cursor_y, cursor_c, cursor_r
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _gotox:
-       sta cursor_c
-       jmp fixcursor
+        sta cursor_c
+        jmp fixcursor
 
 _gotoy:
-       sta cursor_r
-       jmp fixcursor
+        sta cursor_r
+        jmp fixcursor
 
 _gotoxy:
-       sta cursor_r
-       jsr popa
-       sta cursor_c
+        sta cursor_r
+        jsr popa
+        sta cursor_c
 
 ; convert 8x8 x/y coordinates to GEOS hires
 fixcursor:
-       lda cursor_c
-       sta cursor_x
-       lda #0
-       sta cursor_x+1
-       ldx #cursor_x
-       ldy #3
-       jsr DShiftLeft
-       lda cursor_r
-       asl a
-       asl a
-       asl a
-       sta cursor_y
-       rts
+        lda cursor_c
+        sta cursor_x
+        lda #0
+        sta cursor_x+1
+        ldx #cursor_x
+        ldy #3
+        jsr DShiftLeft
+        lda cursor_r
+        asl a
+        asl a
+        asl a
+        sta cursor_y
+        rts
index d5b826ecc28a6c97d6417cef887c40f94bf28c50..e93d8cc21699e3b4bcb3e5a263824801f487f063 100644 (file)
@@ -5,14 +5,14 @@
 
 ; unsigned char kbhit (void);
 
-           .export _kbhit
+            .export _kbhit
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 _kbhit:
-       ldx #0                  ; High byte of result
-       lda pressFlag
-       rol                     ; Bit 7 is new key flag
-       txa                     ; A = 0
-       rol
-       rts
+        ldx #0                  ; High byte of result
+        lda pressFlag
+        rol                     ; Bit 7 is new key flag
+        txa                     ; A = 0
+        rol
+        rts
index 488b72de0d2ca62e771069eef1f844fea9071056..f6a06dd945798268e7eb74c880061f534f1ee6c0 100644 (file)
@@ -8,15 +8,15 @@
 ; unsigned char wherex (void);
 ; unsigned char wherey (void);
 
-           .export _wherex, _wherey
-           .importzp cursor_c, cursor_r
+            .export _wherex, _wherey
+            .importzp cursor_c, cursor_r
 
 _wherex:
-       lda cursor_c
-       ldx #0
-       rts
+        lda cursor_c
+        ldx #0
+        rts
 
 _wherey:
-       lda cursor_r
-       ldx #0
-       rts
+        lda cursor_r
+        ldx #0
+        rts
index a09162b432bf9a2aeddec579a1c1b0377d678edd..c0294e01d180e10c1e0f5aaebfee4691586d4e2b 100644 (file)
 ;reassembled by Maciej 'YTM/Elysium' Witkowiak
 ;4-2-99, 18-3-99
 
-NULL                   =       0
-FALSE                  =       NULL
-TRUE                   =       $ff
+NULL                    =       0
+FALSE                   =       NULL
+TRUE                    =       $ff
 
-MOUSE_SPRNUM           =       0
+MOUSE_SPRNUM            =       0
 
-DISK_DRV_LGH           =       $0d80
+DISK_DRV_LGH            =       $0d80
 
 ;
 ;filetypes
-;      GEOS
-NOT_GEOS               =       0
-BASIC                  =       1
-ASSEMBLY               =       2
-DATA                   =       3
-SYSTEM                 =       4
-DESK_ACC               =       5
-APPLICATION            =       6
-APPL_DATA              =       7
-FONT                   =       8
-PRINTER                =       9
-INPUT_DEVICE           =       10
-DISK_DEVICE            =       11
-SYSTEM_BOOT            =       12
-TEMPORARY              =       13
-AUTO_EXEC              =       14
-INPUT_128              =       15
-NUMFILETYPES           =       16
-;      structure
-SEQUENTIAL             =       0
-VLIR                   =       1
-;      DOS
-DEL                    =       0
-SEQ                    =       1
-PRG                    =       2
-USR                    =       3
-REL                    =       4
-CBM                    =       5
+;       GEOS
+NOT_GEOS                =       0
+BASIC                   =       1
+ASSEMBLY                =       2
+DATA                    =       3
+SYSTEM                  =       4
+DESK_ACC                =       5
+APPLICATION             =       6
+APPL_DATA               =       7
+FONT                    =       8
+PRINTER                 =       9
+INPUT_DEVICE            =       10
+DISK_DEVICE             =       11
+SYSTEM_BOOT             =       12
+TEMPORARY               =       13
+AUTO_EXEC               =       14
+INPUT_128               =       15
+NUMFILETYPES            =       16
+;       structure
+SEQUENTIAL              =       0
+VLIR                    =       1
+;       DOS
+DEL                     =       0
+SEQ                     =       1
+PRG                     =       2
+USR                     =       3
+REL                     =       4
+CBM                     =       5
 
 ;drivetypes
-DRV_NULL               =       0
-DRV_1541               =       1
-DRV_1571               =       2
-DRV_1581               =       3
-DRV_NETWORK            =       15
+DRV_NULL                =       0
+DRV_1541                =       1
+DRV_1571                =       2
+DRV_1581                =       3
+DRV_NETWORK             =       15
 
 ;various disk
-REL_FILE_NUM           =       9
-CMND_FILE_NUM          =       15
-MAX_CMND_STR           =       32
-DIR_1581_TRACK         =       40
-DIR_ACC_CHAN           =       13
-DIR_TRACK              =       18
-N_TRACKS               =       35
-DK_NM_ID_LEN           =       18
-TRACK                  =       9
-SECTOR                 =       12
-TOTAL_BLOCKS           =       664
+REL_FILE_NUM            =       9
+CMND_FILE_NUM           =       15
+MAX_CMND_STR            =       32
+DIR_1581_TRACK          =       40
+DIR_ACC_CHAN            =       13
+DIR_TRACK               =       18
+N_TRACKS                =       35
+DK_NM_ID_LEN            =       18
+TRACK                   =       9
+SECTOR                  =       12
+TOTAL_BLOCKS            =       664
 
 ;colours
-BLACK                  =       0
-WHITE                  =       1
-RED                    =       2
-CYAN                   =       3
-PURPLE                 =       4
-GREEN                  =       5
-BLUE                   =       6
-YELLOW                 =       7
-ORANGE                 =       8
-BROWN                  =       9
-LTRED                  =       10
-DKGREY                 =       11
-GREY                   =       12
-MEDGREY                =       12
-LTGREEN                =       13
-LTBLUE                 =       14
-LTGREY                 =       15
+BLACK                   =       0
+WHITE                   =       1
+RED                     =       2
+CYAN                    =       3
+PURPLE                  =       4
+GREEN                   =       5
+BLUE                    =       6
+YELLOW                  =       7
+ORANGE                  =       8
+BROWN                   =       9
+LTRED                   =       10
+DKGREY                  =       11
+GREY                    =       12
+MEDGREY                 =       12
+LTGREEN                 =       13
+LTBLUE                  =       14
+LTGREY                  =       15
 
 ;vic memory banks
-GRBANK0                =       %11
-GRBANK1                =       %10
-GRBANK2                =       %01
-GRBANK3                =       %00
+GRBANK0                 =       %11
+GRBANK1                 =       %10
+GRBANK2                 =       %01
+GRBANK3                 =       %00
 
 ;screen
-VIC_X_POS_OFF          =       24
-VIC_Y_POS_OFF          =       50
-SC_BYTE_WIDTH          =       40
+VIC_X_POS_OFF           =       24
+VIC_Y_POS_OFF           =       50
+SC_BYTE_WIDTH           =       40
 .ifdef __GEOS_CBM__
-SC_PIX_HEIGHT          =       200
-SC_PIX_WIDTH           =       320
+SC_PIX_HEIGHT           =       200
+SC_PIX_WIDTH            =       320
 .else
-SC_PIX_HEIGHT          =       192
-SC_PIX_WIDTH           =       560
+SC_PIX_HEIGHT           =       192
+SC_PIX_WIDTH            =       560
 .endif
-SC_SIZE                =       8000
+SC_SIZE                 =       8000
 ;128 screen size constants
-SCREENBYTEWIDTH        =       80
-SCREENPIXELWIDTH       =       640
+SCREENBYTEWIDTH         =       80
+SCREENPIXELWIDTH        =       640
 
 
 ;control characters
-EOF                    =       0
-BACKSPACE              =       8
-FORWARDSPACE           =       9
-TAB                    =       9
-LF                     =       10
-HOME                   =       11
-PAGE_BREAK             =       12
-UPLINE                 =       12
-CR                     =       13
-ULINEON                =       14
-ULINEOFF               =       15
-ESC_GRAPHICS           =       16
-ESC_RULER              =       17
-REV_ON                 =       18
-REV_OFF                =       19
-GOTOX                  =       20
-GOTOY                  =       21
-GOTOXY                 =       22
-NEWCARDSET             =       23
-BOLDON                 =       24
-ITALICON               =       25
-OUTLINEON              =       26
-PLAINTEXT              =       27
+EOF                     =       0
+BACKSPACE               =       8
+FORWARDSPACE            =       9
+TAB                     =       9
+LF                      =       10
+HOME                    =       11
+PAGE_BREAK              =       12
+UPLINE                  =       12
+CR                      =       13
+ULINEON                 =       14
+ULINEOFF                =       15
+ESC_GRAPHICS            =       16
+ESC_RULER               =       17
+REV_ON                  =       18
+REV_OFF                 =       19
+GOTOX                   =       20
+GOTOY                   =       21
+GOTOXY                  =       22
+NEWCARDSET              =       23
+BOLDON                  =       24
+ITALICON                =       25
+OUTLINEON               =       26
+PLAINTEXT               =       27
 
 ;keyboard
-KEY_F1                 =       1
-KEY_F2                 =       2
-KEY_F3                 =       3
-KEY_F4                 =       4
-KEY_F5                 =       5
-KEY_F6                 =       6
-KEY_NOSCRL             =       7
-KEY_ENTER              =       11
-KEY_F7                 =       14
-KEY_F8                 =       15
-KEY_UP                 =       16
-KEY_DOWN               =       17
-KEY_HOME               =       18
-KEY_CLEAR              =       19
-KEY_LARROW             =       20
-KEY_UPARROR            =       21
-KEY_STOP               =       22
-KEY_RUN                =       23
-KEY_BPS                =       24
-KEY_HELP               =       25
-KEY_ALT                =       26
-KEY_ESC                =       27
-KEY_INSERT             =       28
-KEY_DELETE             =       29
-KEY_RIGHT              =       30
-KEY_INVALID            =       31
-KEY_LEFT               =       BACKSPACE
+KEY_F1                  =       1
+KEY_F2                  =       2
+KEY_F3                  =       3
+KEY_F4                  =       4
+KEY_F5                  =       5
+KEY_F6                  =       6
+KEY_NOSCRL              =       7
+KEY_ENTER               =       11
+KEY_F7                  =       14
+KEY_F8                  =       15
+KEY_UP                  =       16
+KEY_DOWN                =       17
+KEY_HOME                =       18
+KEY_CLEAR               =       19
+KEY_LARROW              =       20
+KEY_UPARROR             =       21
+KEY_STOP                =       22
+KEY_RUN                 =       23
+KEY_BPS                 =       24
+KEY_HELP                =       25
+KEY_ALT                 =       26
+KEY_ESC                 =       27
+KEY_INSERT              =       28
+KEY_DELETE              =       29
+KEY_RIGHT               =       30
+KEY_INVALID             =       31
+KEY_LEFT                =       BACKSPACE
 
 ;DialogBox
-;      icons
-OK                     =       1
-CANCEL                 =       2
-YES                    =       3
-NO                     =       4
-OPEN                   =       5
-DISK                   =       6
-;      commands
-DBTXTSTR               =       11
-DBVARSTR               =       12
-DBGETSTRING            =       13
-DBSYSOPV               =       14
-DBGRPHSTR              =       15
-DBGETFILES             =       16
-DBOPVEC                =       17
-DBUSRICON              =       18
-DB_USR_ROUT            =       19
-;      tabulation in standard window
-DBI_X_0                =       1
-DBI_X_1                =       9
-DBI_X_2                =       17
-DBI_Y_0                =       8
-DBI_Y_1                =       40
-DBI_Y_2                =       72
-;      standard window
-SET_DB_POS             =       0
-DEF_DB_POS             =       $80
-DEF_DB_TOP             =       32
-DEF_DB_BOT             =       127
-DEF_DB_LEFT            =       64
-DEF_DB_RIGHT           =       255
-;      text tabulation
-TXT_LN_1_Y             =       16
-TXT_LN_2_Y             =       32
-TXT_LN_3_Y             =       48
-TXT_LN_4_Y             =       64
-TXT_LN_5_Y             =       80
-TXT_LN_X               =       16
-;      ???
-SYSDBI_HEIGHT          =       16
-SYSDBI_WIDTH           =       6
+;       icons
+OK                      =       1
+CANCEL                  =       2
+YES                     =       3
+NO                      =       4
+OPEN                    =       5
+DISK                    =       6
+;       commands
+DBTXTSTR                =       11
+DBVARSTR                =       12
+DBGETSTRING             =       13
+DBSYSOPV                =       14
+DBGRPHSTR               =       15
+DBGETFILES              =       16
+DBOPVEC                 =       17
+DBUSRICON               =       18
+DB_USR_ROUT             =       19
+;       tabulation in standard window
+DBI_X_0                 =       1
+DBI_X_1                 =       9
+DBI_X_2                 =       17
+DBI_Y_0                 =       8
+DBI_Y_1                 =       40
+DBI_Y_2                 =       72
+;       standard window
+SET_DB_POS              =       0
+DEF_DB_POS              =       $80
+DEF_DB_TOP              =       32
+DEF_DB_BOT              =       127
+DEF_DB_LEFT             =       64
+DEF_DB_RIGHT            =       255
+;       text tabulation
+TXT_LN_1_Y              =       16
+TXT_LN_2_Y              =       32
+TXT_LN_3_Y              =       48
+TXT_LN_4_Y              =       64
+TXT_LN_5_Y              =       80
+TXT_LN_X                =       16
+;       ???
+SYSDBI_HEIGHT           =       16
+SYSDBI_WIDTH            =       6
 
 ;GraphicsString - commands
-MOVEPENTO              =       1
-LINETO                 =       2
-RECTANGLETO            =       3
-NEWPATTERN             =       5
-ESC_PUTSTRING          =       6
-FRAME_RECTO            =       7
-PEN_X_DELTA            =       8
-PEN_Y_DELTA            =       9
-PEN_XY_DELTA           =       10
+MOVEPENTO               =       1
+LINETO                  =       2
+RECTANGLETO             =       3
+NEWPATTERN              =       5
+ESC_PUTSTRING           =       6
+FRAME_RECTO             =       7
+PEN_X_DELTA             =       8
+PEN_Y_DELTA             =       9
+PEN_XY_DELTA            =       10
 
 
 ;DoMenu - menutypes
-MENU_ACTION            =       $00
-DYN_SUB_MENU           =       $40
-SUB_MENU               =       $80
-HORIZONTAL             =       %00000000
-VERTICAL               =       %10000000
+MENU_ACTION             =       $00
+DYN_SUB_MENU            =       $40
+SUB_MENU                =       $80
+HORIZONTAL              =       %00000000
+VERTICAL                =       %10000000
 
 ;Errors
-ANY_FAULT              =       %11110000
-NO_BLOCKS              =       1
-INV_TRACK              =       2
-INSUFF_SPACE           =       3
-FULL_DIRECTORY         =       4
-FILE_NOT_FOUND         =       5
-BAD_BAM                =       6
-UNOPENED_VLIR          =       7
-INV_RECORD             =       8
-OUT_OF_RECORDS         =       9
-STRUCT_MISMAT          =       10
-BFR_OVERFLOW           =       11
-CANCEL_ERR             =       12
-DEV_NOT_FOUND          =       13
-INCOMPATIBLE           =       14
-HDR_NOT_THERE          =       $20
-NO_SYNC                =       $21
-DBLK_NOT_THERE         =       $22
-DAT_CHKSUM_ERR         =       $23
-WR_VER_ERR             =       $25
-WR_PR_ON               =       $26
-HDR_CHKSUM_ERR         =       $27
-DSK_ID_MISMAT          =       $29
-BYTE_DEC_ERR           =       $2e
-DOS_MISMATCH           =       $73
+ANY_FAULT               =       %11110000
+NO_BLOCKS               =       1
+INV_TRACK               =       2
+INSUFF_SPACE            =       3
+FULL_DIRECTORY          =       4
+FILE_NOT_FOUND          =       5
+BAD_BAM                 =       6
+UNOPENED_VLIR           =       7
+INV_RECORD              =       8
+OUT_OF_RECORDS          =       9
+STRUCT_MISMAT           =       10
+BFR_OVERFLOW            =       11
+CANCEL_ERR              =       12
+DEV_NOT_FOUND           =       13
+INCOMPATIBLE            =       14
+HDR_NOT_THERE           =       $20
+NO_SYNC                 =       $21
+DBLK_NOT_THERE          =       $22
+DAT_CHKSUM_ERR          =       $23
+WR_VER_ERR              =       $25
+WR_PR_ON                =       $26
+HDR_CHKSUM_ERR          =       $27
+DSK_ID_MISMAT           =       $29
+BYTE_DEC_ERR            =       $2e
+DOS_MISMATCH            =       $73
 
 ;Offsets
-;      ???
-OFF_INDEX_PTR          =       1
-;      icons
-OFF_NM_ICNS            =       0
-OFF_IC_XMOUSE          =       1
-OFF_IC_YMOUSE          =       3
-OFF_PIC_ICON           =       0
-OFF_X_ICON_POS         =       2
-OFF_Y_ICON_POS         =       3
-OFF_WDTH_ICON          =       4
-OFF_HEIGHT_ICON        =       5
-OFF_SRV_RT_ICON        =       6
-OFF_NX_ICON            =       8
-;      menu
-OFF_MY_TOP             =       0
-OFF_MY_BOT             =       1
-OFF_MX_LEFT            =       2
-OFF_MX_RIGHT           =       4
-OFF_NUM_M_ITEMS        =       6
-OFF_1ST_M_ITEM         =       7
-;      dialog box
-OFF_DB_FORM            =       0
-OFF_DB_TOP             =       1
-OFF_DB_BOT             =       2
-OFF_DB_LEFT            =       3
-OFF_DB_RIGHT           =       5
-OFF_DB_1STCMD          =       7
-;      directory
-;              disk header
-OFF_TO_BAM             =       4
-OFF_DISK_NAME          =       144
-OFF_GS_DTYPE           =       189
-OFF_OP_TR_SC           =       171
-OFF_GS_ID              =       173
-;              dir entry
+;       ???
+OFF_INDEX_PTR           =       1
+;       icons
+OFF_NM_ICNS             =       0
+OFF_IC_XMOUSE           =       1
+OFF_IC_YMOUSE           =       3
+OFF_PIC_ICON            =       0
+OFF_X_ICON_POS          =       2
+OFF_Y_ICON_POS          =       3
+OFF_WDTH_ICON           =       4
+OFF_HEIGHT_ICON         =       5
+OFF_SRV_RT_ICON         =       6
+OFF_NX_ICON             =       8
+;       menu
+OFF_MY_TOP              =       0
+OFF_MY_BOT              =       1
+OFF_MX_LEFT             =       2
+OFF_MX_RIGHT            =       4
+OFF_NUM_M_ITEMS         =       6
+OFF_1ST_M_ITEM          =       7
+;       dialog box
+OFF_DB_FORM             =       0
+OFF_DB_TOP              =       1
+OFF_DB_BOT              =       2
+OFF_DB_LEFT             =       3
+OFF_DB_RIGHT            =       5
+OFF_DB_1STCMD           =       7
+;       directory
+;               disk header
+OFF_TO_BAM              =       4
+OFF_DISK_NAME           =       144
+OFF_GS_DTYPE            =       189
+OFF_OP_TR_SC            =       171
+OFF_GS_ID               =       173
+;               dir entry
 .ifdef __GEOS_CBM__
-FRST_FILE_ENTRY        =       2
-OFF_CFILE_TYPE         =       0
-OFF_DE_TR_SC           =       1
-OFF_FNAME              =       3
-OFF_GHDR_PTR           =       19
-OFF_GSTRUC_TYPE        =       21
-OFF_GFILE_TYPE         =       22
-OFF_YEAR               =       23
-OFF_SIZE               =       28
-OFF_NXT_FILE           =       32
+FRST_FILE_ENTRY         =       2
+OFF_CFILE_TYPE          =       0
+OFF_DE_TR_SC            =       1
+OFF_FNAME               =       3
+OFF_GHDR_PTR            =       19
+OFF_GSTRUC_TYPE         =       21
+OFF_GFILE_TYPE          =       22
+OFF_YEAR                =       23
+OFF_SIZE                =       28
+OFF_NXT_FILE            =       32
 .else
-FRST_FILE_ENTRY        =       43
-OFF_GSTRUC_TYPE        =       0
-OFF_FNAME              =       1
-OFF_GFILE_TYPE         =       16
-OFF_DE_TR_SC           =       17
-OFF_SIZE               =       21
-OFF_YEAR               =       25
-OFF_GHDR_PTR           =       31
-OFF_NXT_FILE           =       39
+FRST_FILE_ENTRY         =       43
+OFF_GSTRUC_TYPE         =       0
+OFF_FNAME               =       1
+OFF_GFILE_TYPE          =       16
+OFF_DE_TR_SC            =       17
+OFF_SIZE                =       21
+OFF_YEAR                =       25
+OFF_GHDR_PTR            =       31
+OFF_NXT_FILE            =       39
 .endif
-;              file header
-O_GHIC_WIDTH           =       2
-O_GHIC_HEIGHT          =       3
-O_GHIC_PIC             =       4
-O_GHCMDR_TYPE          =       68
-O_GHGEOS_TYPE          =       69
-O_GHSTR_TYPE           =       70
-O_GHST_ADDR            =       71
-O_GHEND_ADDR           =       73
-O_GHST_VEC             =       75
-O_GHFNAME              =       77
-O_128_FLAGS            =       96
-O_GH_AUTHOR            =       97
-O_GHP_DISK             =       97
-O_GHP_FNAME            =       117
-O_GHINFO_TXT           =       $a0
+;               file header
+O_GHIC_WIDTH            =       2
+O_GHIC_HEIGHT           =       3
+O_GHIC_PIC              =       4
+O_GHCMDR_TYPE           =       68
+O_GHGEOS_TYPE           =       69
+O_GHSTR_TYPE            =       70
+O_GHST_ADDR             =       71
+O_GHEND_ADDR            =       73
+O_GHST_VEC              =       75
+O_GHFNAME               =       77
+O_128_FLAGS             =       96
+O_GH_AUTHOR             =       97
+O_GHP_DISK              =       97
+O_GHP_FNAME             =       117
+O_GHINFO_TXT            =       $a0
 
 ; values for CPU_DATA - C64 memory config
-RAM_64K                =       $30     ;64K RAM
-IO_IN                  =       $35     ;60K RAM, 4K I/O space in
-KRNL_IO_IN             =       $36     ;kernal and I/O mapped into memory
-KRNL_BAS_IO_IN         =       $37     ;kernal, I/O and basic mapped into memory
+RAM_64K                 =       $30     ;64K RAM
+IO_IN                   =       $35     ;60K RAM, 4K I/O space in
+KRNL_IO_IN              =       $36     ;kernal and I/O mapped into memory
+KRNL_BAS_IO_IN          =       $37     ;kernal, I/O and basic mapped into memory
 
 ;values for config - C128 mmu
-CIOIN                  =       $7E     ;60K RAM, 4K I/O space in
-CRAM64K                =       $7F     ;64K RAM
-CKRNLBASIOIN           =       $40     ;kernal, I/O and basic ROM's mapped into memory
-CKRNLIOIN              =       $4E     ;Kernal ROM and I/O space mapped in
+CIOIN                   =       $7E     ;60K RAM, 4K I/O space in
+CRAM64K                 =       $7F     ;64K RAM
+CKRNLBASIOIN            =       $40     ;kernal, I/O and basic ROM's mapped into memory
+CKRNLIOIN               =       $4E     ;Kernal ROM and I/O space mapped in
 
 ;values of faultData - pointer position vs. mouseTop/Bottom/Left/Right
-;      bit numbers
-OFFTOP_BIT             =       7
-OFFBOTTOM_BIT          =       6
-OFFLEFT_BIT            =       5
-OFFRIGHT_BIT           =       4
-OFFMENU_BIT            =       3
-;      masks
-SET_OFFTOP             =       %10000000
-SET_OFFBOTTOM          =       %01000000
-SET_OFFLEFT            =       %00100000
-SET_OFFRIGHT           =       %00010000
-SET_OFFMENU            =       %00001000
+;       bit numbers
+OFFTOP_BIT              =       7
+OFFBOTTOM_BIT           =       6
+OFFLEFT_BIT             =       5
+OFFRIGHT_BIT            =       4
+OFFMENU_BIT             =       3
+;       masks
+SET_OFFTOP              =       %10000000
+SET_OFFBOTTOM           =       %01000000
+SET_OFFLEFT             =       %00100000
+SET_OFFRIGHT            =       %00010000
+SET_OFFMENU             =       %00001000
 
 ;values of currentMode
-;      bit numbers
-UNDERLINE_BIT          =       7
-BOLD_BIT               =       6
-REVERSE_BIT            =       5
-ITALIC_BIT             =       4
-OUTLINE_BIT            =       3
-SUPERSCRIPT_BIT        =       2
-SUBSCRIPT_BIT          =       1
-;      masks
-SET_UNDERLINE          =       %10000000
-SET_BOLD               =       %01000000
-SET_REVERSE            =       %00100000
-SET_ITALIC             =       %00010000
-SET_OUTLINE            =       %00001000
-SET_SUPERSCRIPT        =       %00000100
-SET_SUBSCRIPT          =       %00000010
-SET_PLAINTEXT          =       %00000000
+;       bit numbers
+UNDERLINE_BIT           =       7
+BOLD_BIT                =       6
+REVERSE_BIT             =       5
+ITALIC_BIT              =       4
+OUTLINE_BIT             =       3
+SUPERSCRIPT_BIT         =       2
+SUBSCRIPT_BIT           =       1
+;       masks
+SET_UNDERLINE           =       %10000000
+SET_BOLD                =       %01000000
+SET_REVERSE             =       %00100000
+SET_ITALIC              =       %00010000
+SET_OUTLINE             =       %00001000
+SET_SUPERSCRIPT         =       %00000100
+SET_SUBSCRIPT           =       %00000010
+SET_PLAINTEXT           =       %00000000
 
 ;Process control variable
-;      bit numbers
-RUNABLE_BIT            =       7
-BLOCKED_BIT            =       6
-FROZEN_BIT             =       5
-NOTIMER_BIT            =       4
-;      masks
-SET_RUNABLE            =       %10000000
-SET_BLOCKED            =       %01000000
-SET_FROZEN             =       %00100000
-SET_NOTIMER            =       %00010000
+;       bit numbers
+RUNABLE_BIT             =       7
+BLOCKED_BIT             =       6
+FROZEN_BIT              =       5
+NOTIMER_BIT             =       4
+;       masks
+SET_RUNABLE             =       %10000000
+SET_BLOCKED             =       %01000000
+SET_FROZEN              =       %00100000
+SET_NOTIMER             =       %00010000
 
 ;mouseOn
-;      bit numbers
-MOUSEON_BIT            =       7
-MENUON_BIT             =       6
-ICONSON_BIT            =       5
-;      masks
-SET_MSE_ON             =       %10000000
-SET_MENUON             =       %01000000
-SET_ICONSON            =       %00100000
+;       bit numbers
+MOUSEON_BIT             =       7
+MENUON_BIT              =       6
+ICONSON_BIT             =       5
+;       masks
+SET_MSE_ON              =       %10000000
+SET_MENUON              =       %01000000
+SET_ICONSON             =       %00100000
 
 ;pressFlag
-;      bit numbers
-KEYPRESS_BIT           =       7
-INPUT_BIT              =       6
-MOUSE_BIT              =       5
-;      masks
-SET_KEYPRESS           =       %10000000
-SET_INPUTCHG           =       %01000000
-SET_MOUSE              =       %00100000
+;       bit numbers
+KEYPRESS_BIT            =       7
+INPUT_BIT               =       6
+MOUSE_BIT               =       5
+;       masks
+SET_KEYPRESS            =       %10000000
+SET_INPUTCHG            =       %01000000
+SET_MOUSE               =       %00100000
 
 ;dispBufferOn
-ST_WRGS_FORE           =       $20
-ST_WR_BACK             =       $40
-ST_WR_FORE             =       $80
+ST_WRGS_FORE            =       $20
+ST_WR_BACK              =       $40
+ST_WR_FORE              =       $80
 
 ;alarmSetFlag
-ALARMMASK              =       %00000100
+ALARMMASK               =       %00000100
 
 ;PutDecimal
     ;leading zeroes
-SET_NOSURPRESS         =       %00000000
-SET_SURPRESS           =       %01000000
+SET_NOSURPRESS          =       %00000000
+SET_SURPRESS            =       %01000000
     ;justification
-SET_RIGHTJUST          =       %00000000
-SET_LEFTJUST           =       %10000000
+SET_RIGHTJUST           =       %00000000
+SET_LEFTJUST            =       %10000000
 
 ;icons, menus status flags
-ST_FLASH               =       $80
-ST_INVERT              =       $40
-ST_LD_AT_ADDR          =       $01
-ST_LD_DATA             =       $80
-ST_PR_DATA             =       $40
-ST_WR_PR               =       $40
+ST_FLASH                =       $80
+ST_INVERT               =       $40
+ST_LD_AT_ADDR           =       $01
+ST_LD_DATA              =       $80
+ST_PR_DATA              =       $40
+ST_WR_PR                =       $40
 
 ;???
-ADD1_W                 =       $2000
-DOUBLE_B               =       $80
-DOUBLE_W               =       $8000
-
-CLR_SAVE               =       %01000000
-CONSTRAINED            =       %01000000
-UN_CONSTRAINED         =       %00000000
-FG_SAVE                =       %10000000
-
-FUTURE1                =       7
-FUTURE2                =       8
-FUTURE3                =       9
-FUTURE4                =       10
-USELAST                =       127
-SHORTCUT               =       128
+ADD1_W                  =       $2000
+DOUBLE_B                =       $80
+DOUBLE_W                =       $8000
+
+CLR_SAVE                =       %01000000
+CONSTRAINED             =       %01000000
+UN_CONSTRAINED          =       %00000000
+FG_SAVE                 =       %10000000
+
+FUTURE1                 =       7
+FUTURE2                 =       8
+FUTURE3                 =       9
+FUTURE4                 =       10
+USELAST                 =       127
+SHORTCUT                =       128
index 53c99d0ed7c16affd0997ecba45e681f8b7baa50..6bfcb312c4e463c26874ecc160f230f755650fe1 100644 (file)
@@ -5,18 +5,18 @@
 
 ; char BlkAlloc (struct tr_se output[], int length);
 
-           .import popax, setoserror
-           .export _BlkAlloc
+            .import popax, setoserror
+            .export _BlkAlloc
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _BlkAlloc:
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r4L
-       stx r4H
-       jsr BlkAlloc
-       jmp setoserror
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r4L
+        stx r4H
+        jsr BlkAlloc
+        jmp setoserror
index bd60a7d94a29403b101858f539acbf67ed26ec64..520c8ca616e60866204773415ce74f9b42635437 100644 (file)
@@ -5,16 +5,16 @@
 
 ; int CalcBlksFree (void);
 
-           .import __oserror
-           .export _CalcBlksFree
+            .import __oserror
+            .export _CalcBlksFree
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _CalcBlksFree:
-       jsr CalcBlksFree
-       stx __oserror
-       lda r4L
-       ldx r4H
-       rts
+        jsr CalcBlksFree
+        stx __oserror
+        lda r4L
+        ldx r4H
+        rts
index fd7017477d1324394730c3e56db9760eb762aa15..cd8b08d2f43d487cc2dafb7037e7535b33b33ee2 100644 (file)
@@ -5,16 +5,16 @@
 
 ; char FreeBlock (struct tr_se *TS);
 
-           .import gettrse, setoserror
-           .export _FreeBlock
+            .import gettrse, setoserror
+            .export _FreeBlock
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _FreeBlock:
-       jsr gettrse
-       sta r6L
-       stx r6H
-       jsr FreeBlock
-       jmp setoserror
+        jsr gettrse
+        sta r6L
+        stx r6H
+        jsr FreeBlock
+        jmp setoserror
index 342b2f1b1bc3bd5dcf147c6be2e047adb8366d2a..cef7ece6ff7abeb63724d885a8d5b8afe0266860 100644 (file)
@@ -5,20 +5,20 @@
 
 ; char GetBlock (struct tr_se *myTS, char *buffer);
 
-           .import popax, setoserror
-           .import gettrse
-           .export _GetBlock
+            .import popax, setoserror
+            .import gettrse
+            .export _GetBlock
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _GetBlock:
-       sta r4L
-       stx r4H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr GetBlock
-       jmp setoserror
+        sta r4L
+        stx r4H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr GetBlock
+        jmp setoserror
index 1d014bf446fbadc036fb8ff6fbba925c20edb6fc..ccd8b45c4a3aac6ebf6da25258a276f1f1a59c94 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char GetDirHead (void);
 
-           .import setoserror
-           .export _GetDirHead
+            .import setoserror
+            .export _GetDirHead
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
 
 _GetDirHead:
-       jsr GetDirHead
-       jmp setoserror
+        jsr GetDirHead
+        jmp setoserror
index d81490e215c56593ac0c1e5d2b94292cb0dcd52a..7a99225efae65d09b1635dfa55f6954096ee318e 100644 (file)
@@ -6,33 +6,33 @@
 ; void GetPtrCurDkNm (char *curName);
 ;  (fills curName[17] with current disk's name)
 
-           .importzp ptr4, ptr3
-           .import __oserror
-           .export _GetPtrCurDkNm
+            .importzp ptr4, ptr3
+            .import __oserror
+            .export _GetPtrCurDkNm
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "geossym.inc"
+        
 _GetPtrCurDkNm: 
-       sta ptr3
-       stx ptr3+1
-       ldx #ptr4
-       jsr GetPtrCurDkNm
-       ldy #0
-       txa
-       bne fin
-namelp:        lda (ptr4),y
+        sta ptr3
+        stx ptr3+1
+        ldx #ptr4
+        jsr GetPtrCurDkNm
+        ldy #0
+        txa
+        bne fin
+namelp: lda (ptr4),y
 .ifdef __GEOS_CBM__
-       cmp #$a0
+        cmp #$a0
 .else
-       cmp #0
+        cmp #0
 .endif
-       beq fin
-       sta (ptr3),y
-       iny
-       cpy #16
-       bne namelp
-fin:   lda #0
-       sta (ptr3),y
-       stx __oserror
-       rts
+        beq fin
+        sta (ptr3),y
+        iny
+        cpy #16
+        bne namelp
+fin:    lda #0
+        sta (ptr3),y
+        stx __oserror
+        rts
index bcae55c9b797081757bff6d075d1c54bd1d205ad..8167d6e8558de8e27de0b24572a5040f0aaecb32 100644 (file)
@@ -3,15 +3,15 @@
 ;
 ; 29.1.00
 
-           .export gettrse
-           .importzp ptr4
+            .export gettrse
+            .importzp ptr4
 
 gettrse:
-       sta ptr4
-       stx ptr4+1
-       ldy #1
-       lda (ptr4),y
-       tax
-       dey
-       lda (ptr4),y
-       rts
+        sta ptr4
+        stx ptr4+1
+        ldy #1
+        lda (ptr4),y
+        tax
+        dey
+        lda (ptr4),y
+        rts
index c5dcd0ab212795ba3f5556e28f6ce53d4e02867d..7427f3de0a41ea4ce563da17819bf1e77005af72 100644 (file)
@@ -5,24 +5,24 @@
 
 ; char NxtBlkAlloc (struct tr_se *startTS, struct tr_se output[], int length );
 
-           .import popax, setoserror
-           .import gettrse
-           .importzp ptr4
-           .export _NxtBlkAlloc
+            .import popax, setoserror
+            .import gettrse
+            .importzp ptr4
+            .export _NxtBlkAlloc
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _NxtBlkAlloc:
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r4L
-       stx r4H
-       jsr popax
-       jsr gettrse
-       sta r3L
-       stx r3H
-       jsr NxtBlkAlloc
-       jmp setoserror
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r4L
+        stx r4H
+        jsr popax
+        jsr gettrse
+        sta r3L
+        stx r3H
+        jsr NxtBlkAlloc
+        jmp setoserror
index e3ecb8d124f85ba313e10dd285c76bbd0d2a03ab..66bd24d30684f262d6ed034f054d946df54a413d 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char OpenDisk (void);
 
-           .import setoserror
-           .export _OpenDisk
+            .import setoserror
+            .export _OpenDisk
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+        
 _OpenDisk:
-       jsr OpenDisk
-       jmp setoserror
+        jsr OpenDisk
+        jmp setoserror
index 278fbaaef7813fe24be72ca79fc76f0f5d92e14f..df1af9f194f01640581203ad298ad32662015c24 100644 (file)
@@ -5,20 +5,20 @@
 
 ; char PutBlock (struct tr_se *myTS, char *buffer);
 
-           .import popax, setoserror
-           .import gettrse
-           .export _PutBlock
+            .import popax, setoserror
+            .import gettrse
+            .export _PutBlock
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _PutBlock:
-       sta r4L
-       stx r4H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr PutBlock
-       jmp setoserror
+        sta r4L
+        stx r4H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr PutBlock
+        jmp setoserror
index 039766abcfd5a249f982f80520cf1a2439233cff..411b64307886dc44093d6a68c0fb4c4a12ff1b55 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char PutDirHead (void);
 
-           .import setoserror
-           .export _PutDirHead
+            .import setoserror
+            .export _PutDirHead
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+        
 _PutDirHead:
-       jsr PutDirHead
-       jmp setoserror
+        jsr PutDirHead
+        jmp setoserror
index aca3802d8ba7062ad9d7f7f1c2b11a1b3ac6a761..410532cea3961ae048ae2018ef1e0968507a9557 100644 (file)
@@ -5,20 +5,20 @@
 
 ; struct tr_se SetNextFree (struct tr_se *startTS);
 
-           .import __oserror
-           .import gettrse
-           .export _SetNextFree
+            .import __oserror
+            .import gettrse
+            .export _SetNextFree
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _SetNextFree:
-       jsr gettrse
-       sta r3L
-       stx r3H
-       jsr SetNextFree
-       stx __oserror
-       lda r3L
-       ldx r3H
-       rts
+        jsr gettrse
+        sta r3L
+        stx r3H
+        jsr SetNextFree
+        stx __oserror
+        lda r3L
+        ldx r3H
+        rts
index bc0d68faeb44d4cbc63b372840922bc2588c42f9..dd1ad1f87e1b9b09161489c05f9aab0d329510cb 100644 (file)
@@ -3,32 +3,32 @@
 ;
 ; 25.12.99
 
-           .export DB_get2lines
-           .importzp ptr3,ptr4
-           .import popax
+            .export DB_get2lines
+            .importzp ptr3,ptr4
+            .import popax
 
 DB_get2lines:
-       sta ptr4                ; fetch line 2
-       stx ptr4+1
-       jsr popax
-       sta ptr3                ; fetch line 1
-       stx ptr3+1
-       ldx #ptr3
-       jsr checknull
-       ldx #ptr4
-       jmp checknull
+        sta ptr4                ; fetch line 2
+        stx ptr4+1
+        jsr popax
+        sta ptr3                ; fetch line 1
+        stx ptr3+1
+        ldx #ptr3
+        jsr checknull
+        ldx #ptr4
+        jmp checknull
 
 checknull:
-       lda $0,x
-       ora $1,x
-       bne cn_end
-       lda #<nullstring
-       sta $0,x
-       lda #>nullstring
-       sta $1,x
-cn_end:        rts
+        lda $0,x
+        ora $1,x
+        bne cn_end
+        lda #<nullstring
+        sta $0,x
+        lda #>nullstring
+        sta $1,x
+cn_end: rts
 
 .rodata
 
 nullstring:
-       .byte 0
+        .byte 0
index 284285d0348e43021878e1eeddfb4e4d7e7ca1d9..e97e44594cb748eb9e159e4e8f0bb70235d29d4a 100644 (file)
@@ -5,56 +5,56 @@
 
 ; char DlgBoxFileSelect       (char *class, char ftype, char *fname);
 
-           .export _DlgBoxFileSelect
-           .import popa, popax
-           .import _DoDlgBox
+            .export _DlgBoxFileSelect
+            .import popa, popax
+            .import _DoDlgBox
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-           .include "geosmac.inc"
-           .include "const.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+            .include "geosmac.inc"
+            .include "const.inc"
 
 _DlgBoxFileSelect:
-       sta tmp_r5
-       stx tmp_r5+1
-       jsr popa
-       sta tmp_r7L
-       jsr popax
-       sta tmp_r10
-       stx tmp_r10+1
+        sta tmp_r5
+        stx tmp_r5+1
+        jsr popa
+        sta tmp_r7L
+        jsr popax
+        sta tmp_r10
+        stx tmp_r10+1
 
 DB_FS_reload:
-       MoveW tmp_r5, r5
-       MoveW tmp_r10, r10
-       MoveB tmp_r7L, r7L
-
-       lda #<paramStrFileSelect
-       ldx #>paramStrFileSelect
-       jsr _DoDlgBox
-       cmp #DISK
-       bne DB_FS_Fin
-       jsr OpenDisk
-       txa
-       beq DB_FS_reload
+        MoveW tmp_r5, r5
+        MoveW tmp_r10, r10
+        MoveB tmp_r7L, r7L
+
+        lda #<paramStrFileSelect
+        ldx #>paramStrFileSelect
+        jsr _DoDlgBox
+        cmp #DISK
+        bne DB_FS_Fin
+        jsr OpenDisk
+        txa
+        beq DB_FS_reload
 DB_FS_Fin:
-       rts
+        rts
 
 .rodata
 
 paramStrFileSelect:
-       .byte DEF_DB_POS | 1
-       .byte DBGETFILES, 4, 4
-       .byte OPEN, DBI_X_2, DBI_Y_0+16
-       .byte DISK, DBI_X_2, DBI_Y_0+32+1
-       .byte CANCEL, DBI_X_2, DBI_Y_0+64+3
-       .byte NULL
+        .byte DEF_DB_POS | 1
+        .byte DBGETFILES, 4, 4
+        .byte OPEN, DBI_X_2, DBI_Y_0+16
+        .byte DISK, DBI_X_2, DBI_Y_0+32+1
+        .byte CANCEL, DBI_X_2, DBI_Y_0+64+3
+        .byte NULL
 
 .bss
 
 tmp_r5:
-       .res 2
+        .res 2
 tmp_r7L:
-       .res 1
+        .res 1
 tmp_r10:
-       .res 2
+        .res 2
index ec26c8433d912c812caf4123cee7b348ee0f4261..5366b41fcc77bc4a53a8230c700582ee337bd42f 100644 (file)
@@ -5,33 +5,33 @@
 
 ; char DlgBoxGetString       (char *string, char strlen, char *line1,char *line2);
 
-           .export _DlgBoxGetString
-           .import DB_get2lines, _DoDlgBox
-           .importzp ptr2, ptr3, ptr4
-           .import popa, popax
+            .export _DlgBoxGetString
+            .import DB_get2lines, _DoDlgBox
+            .importzp ptr2, ptr3, ptr4
+            .import popa, popax
 
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _DlgBoxGetString:
-       jsr DB_get2lines
-       jsr popa
-       sta DB_strlen
-       jsr popax
-       sta ptr2
-       stx ptr2+1
-       lda #<paramStrGetString
-       ldx #>paramStrGetString
-       jmp _DoDlgBox
+        jsr DB_get2lines
+        jsr popa
+        sta DB_strlen
+        jsr popax
+        sta ptr2
+        stx ptr2+1
+        lda #<paramStrGetString
+        ldx #>paramStrGetString
+        jmp _DoDlgBox
 
 .data
 
 paramStrGetString:
-       .byte DEF_DB_POS | 1
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_1_Y, ptr3
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr4
-       .byte DBGETSTRING, TXT_LN_X, TXT_LN_3_Y, ptr2
+        .byte DEF_DB_POS | 1
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_1_Y, ptr3
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr4
+        .byte DBGETSTRING, TXT_LN_X, TXT_LN_3_Y, ptr2
 DB_strlen:
-       .byte 17
-       .byte CANCEL, DBI_X_2, DBI_Y_2
-       .byte NULL
+        .byte 17
+        .byte CANCEL, DBI_X_2, DBI_Y_2
+        .byte NULL
index 9ac094c43a1f4de06f89dbcdb03733a08300d4f3..124c32c445db86e06a9cbed31256d2e07f452b6c 100644 (file)
@@ -5,24 +5,24 @@
 
 ; char DlgBoxOk       (char *line1,char *line2);
 
-           .export _DlgBoxOk
-           .import DB_get2lines, _DoDlgBox
-           .importzp ptr3, ptr4
+            .export _DlgBoxOk
+            .import DB_get2lines, _DoDlgBox
+            .importzp ptr3, ptr4
 
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _DlgBoxOk:
-       jsr DB_get2lines
-       lda #<paramStrOk
-       ldx #>paramStrOk
-       jmp _DoDlgBox
+        jsr DB_get2lines
+        lda #<paramStrOk
+        ldx #>paramStrOk
+        jmp _DoDlgBox
 
 .rodata
 
 paramStrOk:
-       .byte DEF_DB_POS | 1
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr3
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_3_Y, ptr4
-       .byte OK, DBI_X_0, DBI_Y_2
-       .byte NULL
+        .byte DEF_DB_POS | 1
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr3
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_3_Y, ptr4
+        .byte OK, DBI_X_0, DBI_Y_2
+        .byte NULL
index e6267e1289f117b23602ba55b1369be4de2433f6..ca03b89ff65c28576770d7f483ee33598df41869 100644 (file)
@@ -5,25 +5,25 @@
 
 ; char DlgBoxOkCancel       (char *line1,char *line2);
 
-           .export _DlgBoxOkCancel
-           .import DB_get2lines, _DoDlgBox
-           .importzp ptr3, ptr4
+            .export _DlgBoxOkCancel
+            .import DB_get2lines, _DoDlgBox
+            .importzp ptr3, ptr4
 
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _DlgBoxOkCancel:
-       jsr DB_get2lines
-       lda #<paramStrOkCancel
-       ldx #>paramStrOkCancel
-       jmp _DoDlgBox
+        jsr DB_get2lines
+        lda #<paramStrOkCancel
+        ldx #>paramStrOkCancel
+        jmp _DoDlgBox
 
 .rodata
 
 paramStrOkCancel:
-       .byte DEF_DB_POS | 1
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr3
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_3_Y, ptr4
-       .byte OK, DBI_X_0, DBI_Y_2
-       .byte CANCEL, DBI_X_2, DBI_Y_2
-       .byte NULL
+        .byte DEF_DB_POS | 1
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr3
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_3_Y, ptr4
+        .byte OK, DBI_X_0, DBI_Y_2
+        .byte CANCEL, DBI_X_2, DBI_Y_2
+        .byte NULL
index f895bb759df2701a345ed6947b164045d1e6f0e7..624ee60671988c00aac928066384ade4b4256bf6 100644 (file)
@@ -5,25 +5,25 @@
 
 ; char DlgBoxYesNo       (char *line1,char *line2);
 
-           .export _DlgBoxYesNo
-           .import DB_get2lines, _DoDlgBox
-           .importzp ptr3, ptr4
+            .export _DlgBoxYesNo
+            .import DB_get2lines, _DoDlgBox
+            .importzp ptr3, ptr4
 
-           .include "geossym.inc"
-           .include "const.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 _DlgBoxYesNo:
-       jsr DB_get2lines
-       lda #<paramStrYesNo
-       ldx #>paramStrYesNo
-       jmp _DoDlgBox
+        jsr DB_get2lines
+        lda #<paramStrYesNo
+        ldx #>paramStrYesNo
+        jmp _DoDlgBox
 
 .rodata
 
 paramStrYesNo:
-       .byte DEF_DB_POS | 1
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr3
-       .byte DBVARSTR, TXT_LN_X, TXT_LN_3_Y, ptr4
-       .byte YES, DBI_X_0, DBI_Y_2
-       .byte NO, DBI_X_2, DBI_Y_2
-       .byte NULL
+        .byte DEF_DB_POS | 1
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_2_Y, ptr3
+        .byte DBVARSTR, TXT_LN_X, TXT_LN_3_Y, ptr4
+        .byte YES, DBI_X_0, DBI_Y_2
+        .byte NO, DBI_X_2, DBI_Y_2
+        .byte NULL
index 4f5a776b951582263d3b5b6ebcccc48e840ed1aa..ca5922f0b03a07986e92e58f0868d7690106b8b0 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char DoDlgBox         (char *myParamString);
 
-           .export _DoDlgBox
+            .export _DoDlgBox
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _DoDlgBox:
-       sta r0L
-       stx r0H
-       jsr DoDlgBox
-       ldx #0
-       lda r0L
-       rts
+        sta r0L
+        stx r0H
+        jsr DoDlgBox
+        ldx #0
+        lda r0L
+        rts
index 4fba1570cb0a4e72789c5e097090732067040c3b..a8774c3c05f23cde6a1cf8f1ceadd9e74cd43afa 100644 (file)
 void _mbprintout(void);
 
 static dlgBoxStr _mbdlg_EMPTY = {
-       DB_DEFPOS(1),
-       DB_OPVEC(&RstrFrmDialogue),
-       DB_USRROUT(&_mbprintout),
-       DB_END,
+        DB_DEFPOS(1),
+        DB_OPVEC(&RstrFrmDialogue),
+        DB_USRROUT(&_mbprintout),
+        DB_END,
 };
 
 static dlgBoxStr _mbdlg_OK = {
-       DB_DEFPOS(1),
-       DB_USRROUT(&_mbprintout),
-       DB_ICON(OK, DBI_X_1, DBI_Y_2),
-       DB_END,
+        DB_DEFPOS(1),
+        DB_USRROUT(&_mbprintout),
+        DB_ICON(OK, DBI_X_1, DBI_Y_2),
+        DB_END,
 };
 
 static dlgBoxStr _mbdlg_OKCANCEL = {
-       DB_DEFPOS(1),
-       DB_USRROUT(&_mbprintout),
-       DB_ICON(OK, DBI_X_0, DBI_Y_2),
-       DB_ICON(CANCEL, DBI_X_2, DBI_Y_2),
-       DB_END,
+        DB_DEFPOS(1),
+        DB_USRROUT(&_mbprintout),
+        DB_ICON(OK, DBI_X_0, DBI_Y_2),
+        DB_ICON(CANCEL, DBI_X_2, DBI_Y_2),
+        DB_END,
 };
 
 static dlgBoxStr _mbdlg_YESNO = {
-       DB_DEFPOS(1),
-       DB_USRROUT(&_mbprintout),
-       DB_ICON(YES, DBI_X_0, DBI_Y_2),
-       DB_ICON(NO, DBI_X_2, DBI_Y_2),
-       DB_END,
+        DB_DEFPOS(1),
+        DB_USRROUT(&_mbprintout),
+        DB_ICON(YES, DBI_X_0, DBI_Y_2),
+        DB_ICON(NO, DBI_X_2, DBI_Y_2),
+        DB_END,
 };
 
 static dlgBoxStr *_mbboxes[] = {
-       &_mbdlg_EMPTY,
-       &_mbdlg_OK,
-       &_mbdlg_OKCANCEL,
-       &_mbdlg_YESNO
+        &_mbdlg_EMPTY,
+        &_mbdlg_OK,
+        &_mbdlg_OKCANCEL,
+        &_mbdlg_YESNO
 };
 
 static char _mbbuffer[256];
@@ -63,13 +63,13 @@ char MessageBox(char mode, const char *format, ...)
     /* replace LFs by CRs */
     buf = &_mbbuffer[0];
     while (*buf) {
-       if (*buf==LF) *buf=CR;
-       ++buf;
+        if (*buf==LF) *buf=CR;
+        ++buf;
     }
 
     /* validate mode */
     if (mode>=MB_LAST)
-       mode = MB_EMPTY;
+        mode = MB_EMPTY;
 
     return DoDlgBox(_mbboxes[mode]);
 }
index 84bd1b3eca32fdb3c139cc52bf2eafad2b782e04..efee17465edf87f3b8ecb410668461a2bee3497b 100644 (file)
@@ -5,8 +5,8 @@
 
 ; char RstrFrmDialogue  (void);
 
-           .export _RstrFrmDialogue
+            .export _RstrFrmDialogue
 
-           .include "jumptab.inc"
-       
+            .include "jumptab.inc"
+        
 _RstrFrmDialogue = RstrFrmDialogue
index 4d11511c195e2836453d14a4ad9f635fde682da2..b757e6bd84058acdf5a93ef822f86c4fddfde827 100644 (file)
@@ -6,89 +6,89 @@
 ;
 ; only ONE opened file at a time, only O_RDONLY flag
 
-; int open (const char* name, int flags, ...); /* May take a mode argument */
+; int open (const char* name, int flags, ...);  /* May take a mode argument */
 ; int __fastcall__ close (int fd);
 ; int __fastcall__ read (int fd, void* buf, unsigned count);
 
-FILEDES                = 3             ; first free to use file descriptor
+FILEDES         = 3             ; first free to use file descriptor
 
             .importzp ptr1, ptr2, ptr3, tmp1
             .import addysp, popax
             .import __oserror
-           .import _FindFile, _ReadByte
-           .export _open, _close, _read
+            .import _FindFile, _ReadByte
+            .export _open, _close, _read
 
-           .include "geossym.inc"
-           .include "const.inc"
-                   .include "errno.inc"
-           .include "fcntl.inc"
+            .include "geossym.inc"
+            .include "const.inc"
+            .include "errno.inc"
+            .include "fcntl.inc"
 
 _open:
-       cpy #4                  ; correct # of arguments (bytes)?
-       beq @parmok             ; parameter count ok
-       tya                     ; parm count < 4 shouldn't be needed to be...
-               sec                     ; ...checked (it generates a c compiler warning)
-       sbc #4
-       tay
-       jsr addysp              ; fix stack, throw away unused parameters
+        cpy #4                  ; correct # of arguments (bytes)?
+        beq @parmok             ; parameter count ok
+        tya                     ; parm count < 4 shouldn't be needed to be...
+        sec                     ; ...checked (it generates a c compiler warning)
+        sbc #4
+        tay
+        jsr addysp              ; fix stack, throw away unused parameters
 
 ; Parameters ok. Pop the flags and save them into tmp3
 
 @parmok:
-       jsr popax               ; Get flags
-       sta tmp1
-        jsr popax              ; Get name
-       sta ptr1
-       stx ptr1+1
-           
-       lda filedesc            ; is there a file already open?
-       bne @alreadyopen
-           
-       lda tmp1                ; check open mode
-       and #(O_RDWR | O_CREAT)
-       cmp #O_RDONLY           ; only O_RDONLY is valid
-       bne @badmode
-           
-       lda ptr1
-       ldx ptr1+1
-       jsr _FindFile           ; try to find the file
-       tax
-       bne @oserror
-           
-       lda dirEntryBuf + OFF_DE_TR_SC ; tr&se for ReadByte (r1)
-       sta f_track
-       lda dirEntryBuf + OFF_DE_TR_SC + 1
-       sta f_sector
-       lda #<diskBlkBuf        ; buffer for ReadByte (r4)
-       sta f_buffer
-       lda #>diskBlkBuf
-       sta f_buffer+1
-       ldx #0                  ; offset for ReadByte (r5)
-       stx f_offset
-       stx f_offset+1
-       lda #0                  ; clear errors
-       sta __oserror
-       jsr __seterrno
-       lda #FILEDES            ; return fd
-       sta filedesc
-       rts
+        jsr popax               ; Get flags
+        sta tmp1
+        jsr popax               ; Get name
+        sta ptr1
+        stx ptr1+1
+            
+        lda filedesc            ; is there a file already open?
+        bne @alreadyopen
+            
+        lda tmp1                ; check open mode
+        and #(O_RDWR | O_CREAT)
+        cmp #O_RDONLY           ; only O_RDONLY is valid
+        bne @badmode
+            
+        lda ptr1
+        ldx ptr1+1
+        jsr _FindFile           ; try to find the file
+        tax
+        bne @oserror
+            
+        lda dirEntryBuf + OFF_DE_TR_SC ; tr&se for ReadByte (r1)
+        sta f_track
+        lda dirEntryBuf + OFF_DE_TR_SC + 1
+        sta f_sector
+        lda #<diskBlkBuf        ; buffer for ReadByte (r4)
+        sta f_buffer
+        lda #>diskBlkBuf
+        sta f_buffer+1
+        ldx #0                  ; offset for ReadByte (r5)
+        stx f_offset
+        stx f_offset+1
+        lda #0                  ; clear errors
+        sta __oserror
+        jsr __seterrno
+        lda #FILEDES            ; return fd
+        sta filedesc
+        rts
 @badmode:
-       lda #EINVAL             ; invalid parameters - invalid open mode
-       .byte $2c               ; skip
+        lda #EINVAL             ; invalid parameters - invalid open mode
+        .byte $2c               ; skip
 @alreadyopen:
-       lda #EMFILE             ; too many opened files (there can be only one)
-       jmp __directerrno       ; set errno, clear oserror, return -1
+        lda #EMFILE             ; too many opened files (there can be only one)
+        jmp __directerrno       ; set errno, clear oserror, return -1
 @oserror:
-       jmp __mappederrno       ; set platform error code, return -1
+        jmp __mappederrno       ; set platform error code, return -1
 
 _close:
-       lda #0
-       sta __oserror
-       jsr __seterrno          ; clear errors
-       lda #0                  ; clear fd
-       sta filedesc
-       tax
-       rts
+        lda #0
+        sta __oserror
+        jsr __seterrno          ; clear errors
+        lda #0                  ; clear fd
+        sta filedesc
+        tax
+        rts
 
 _read:
     ; a/x - number of bytes
@@ -96,96 +96,96 @@ _read:
     ; popax - fd, must be == to the above one
     ; return -1+__oserror or number of bytes read
 
-       eor #$ff
-       sta ptr1
-       txa
-       eor #$ff
-       sta ptr1+1              ; -(# of bytes to read)-1
-       jsr popax
-       sta ptr2
-       stx ptr2+1              ; buffer ptr
-       jsr popax
-       cmp #FILEDES            ; lo-byte == FILEDES
-       bne @filenotopen
-       txa                     ; hi-byte == 0
-       beq @fileok             ; fd must be == FILEDES
+        eor #$ff
+        sta ptr1
+        txa
+        eor #$ff
+        sta ptr1+1              ; -(# of bytes to read)-1
+        jsr popax
+        sta ptr2
+        stx ptr2+1              ; buffer ptr
+        jsr popax
+        cmp #FILEDES            ; lo-byte == FILEDES
+        bne @filenotopen
+        txa                     ; hi-byte == 0
+        beq @fileok             ; fd must be == FILEDES
 
 @filenotopen:
-       lda #EBADF
-       jmp __directerrno       ; Sets _errno, clears _oserror, returns -1
+        lda #EBADF
+        jmp __directerrno       ; Sets _errno, clears _oserror, returns -1
 
 @fileok:
-       lda #0
-       sta ptr3
-       sta ptr3+1              ; put 0 into ptr3 (number of bytes read)
-       sta __oserror           ; clear error flags
-       jsr __seterrno
-
-       lda f_track             ; restore stuff for ReadByte
-       ldx f_sector
-       sta r1L
-       stx r1H
-       lda f_buffer
-       ldx f_buffer+1
-       sta r4L
-       stx r4H
-       lda f_offset
-       ldx f_offset+1
-       sta r5L
-       stx r5H
-
-       clc
-       bcc @L3                 ; branch always
-
-@L0:   jsr _ReadByte
-       ldy #0                  ; store the byte
-       sta (ptr2),y
-       inc ptr2                ; increment target address
-       bne @L1
-       inc ptr2+1
-
-@L1:   inc ptr3                ; increment byte count
-       bne @L2
-       inc ptr3+1
-
-@L2:   lda __oserror           ; was there error ?
-       beq @L3
-       cmp #BFR_OVERFLOW       ; EOF?
-       beq @done               ; yes, we're done
-       jmp __mappederrno       ; no, we're screwed
-
-@L3:   inc ptr1                ; decrement the count
-       bne @L0
-       inc ptr1+1
-       bne @L0
+        lda #0
+        sta ptr3
+        sta ptr3+1              ; put 0 into ptr3 (number of bytes read)
+        sta __oserror           ; clear error flags
+        jsr __seterrno
+
+        lda f_track             ; restore stuff for ReadByte
+        ldx f_sector
+        sta r1L
+        stx r1H
+        lda f_buffer
+        ldx f_buffer+1
+        sta r4L
+        stx r4H
+        lda f_offset
+        ldx f_offset+1
+        sta r5L
+        stx r5H
+
+        clc
+        bcc @L3                 ; branch always
+
+@L0:    jsr _ReadByte
+        ldy #0                  ; store the byte
+        sta (ptr2),y
+        inc ptr2                ; increment target address
+        bne @L1
+        inc ptr2+1
+
+@L1:    inc ptr3                ; increment byte count
+        bne @L2
+        inc ptr3+1
+
+@L2:    lda __oserror           ; was there error ?
+        beq @L3
+        cmp #BFR_OVERFLOW       ; EOF?
+        beq @done               ; yes, we're done
+        jmp __mappederrno       ; no, we're screwed
+
+@L3:    inc ptr1                ; decrement the count
+        bne @L0
+        inc ptr1+1
+        bne @L0
 
 @done:
-       lda r1L                 ; preserve data for ReadByte
-       ldx r1H
-       sta f_track
-       stx f_sector
-       lda r4L
-       ldx r4H
-       sta f_buffer
-       stx f_buffer+1
-       lda r5L
-       ldx r5H
-       sta f_offset
-       stx f_offset+1
-
-       lda ptr3                ; return byte count
-       ldx ptr3+1
-       rts
+        lda r1L                 ; preserve data for ReadByte
+        ldx r1H
+        sta f_track
+        stx f_sector
+        lda r4L
+        ldx r4H
+        sta f_buffer
+        stx f_buffer+1
+        lda r5L
+        ldx r5H
+        sta f_offset
+        stx f_offset+1
+
+        lda ptr3                ; return byte count
+        ldx ptr3+1
+        rts
 
 .bss
 
 filedesc:
-       .res 1                  ; file open flag - 0 (no file opened) or 1
+        .res 1                  ; file open flag - 0 (no file opened) or 1
 f_track:
-       .res 1                  ; values preserved for ReadByte
+        .res 1                  ; values preserved for ReadByte
 f_sector:
-       .res 1
+        .res 1
 f_offset:
-       .res 2
+        .res 2
 f_buffer:
-       .res 2
+        .res 2
index 6f144d5998ea308f73a8b254dc6d3109d3245f79..7e544ba8244b2a0fe2c7e9a206d53613b19dc5da 100644 (file)
@@ -5,19 +5,19 @@
 ;
 ; Driver for GEOS standard input device interface
 ;
-                                        
-           .export _mouse_init, _mouse_done
-           .export _mouse_hide, _mouse_show
-           .export _mouse_box
-           .export _mouse_pos, _mouse_info
-           .export _mouse_move, _mouse_buttons
+                                         
+            .export _mouse_init, _mouse_done
+            .export _mouse_hide, _mouse_show
+            .export _mouse_box
+            .export _mouse_pos, _mouse_info
+            .export _mouse_move, _mouse_buttons
 
-           .import popsreg, addysp1
-           .importzp sp, sreg, ptr1
+            .import popsreg, addysp1
+            .importzp sp, sreg, ptr1
 
-           .include "const.inc"
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "const.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 ; --------------------------------------------------------------------------
 ;
 ;
 
 _mouse_init:
-       jsr StartMouseMode
-       jsr MouseOff
+        jsr StartMouseMode
+        jsr MouseOff
 
-       lda #0
-       sta mouseTop
-       sta mouseLeft
-       sta mouseLeft+1
+        lda #0
+        sta mouseTop
+        sta mouseLeft
+        sta mouseLeft+1
 .ifdef __GEOS_CBM__
-       lda #199
-       sta mouseBottom
-       lda graphMode
-       bpl _mse_screen320
-
-       lda #<639               ; 80 columns on C128
-       ldx #>639
-       bne _mse_storex
+        lda #199
+        sta mouseBottom
+        lda graphMode
+        bpl _mse_screen320
+
+        lda #<639               ; 80 columns on C128
+        ldx #>639
+        bne _mse_storex
 _mse_screen320:
-       lda #<319               ; 40 columns on C64/C128
-       ldx #>319
+        lda #<319               ; 40 columns on C64/C128
+        ldx #>319
 _mse_storex:
 .else
-       lda #191
-       sta mouseBottom
-       lda #<559
-       ldx #>559
+        lda #191
+        sta mouseBottom
+        lda #<559
+        ldx #>559
 .endif
-       sta mouseRight
-       stx mouseRight+1
+        sta mouseRight
+        stx mouseRight+1
 _mse_initend:
-       lda #0
-       tax
+        lda #0
+        tax
 ; --------------------------------------------------------------------------
 ;
 ; void mouse_done (void);
 ;
 _mouse_done:
-       rts
+        rts
 
 ; --------------------------------------------------------------------------
 ;
 ; void mouse_hide (void);
 ;
 
-_mouse_hide    = MouseOff
+_mouse_hide     = MouseOff
 
 ; --------------------------------------------------------------------------
 ;
 ; void mouse_show (void);
 ;
 
-_mouse_show    = MouseUp
+_mouse_show     = MouseUp
 
 ; --------------------------------------------------------------------------
 ;
@@ -83,29 +83,29 @@ _mouse_show = MouseUp
 ;
 
 _mouse_box:
-       ldy #0                  ; Stack offset
+        ldy #0                  ; Stack offset
 
-       sta mouseBottom
+        sta mouseBottom
 
-       lda (sp),y
-       sta mouseRight
-       iny
-       lda (sp),y
-       sta mouseRight+1        ; maxx
+        lda (sp),y
+        sta mouseRight
+        iny
+        lda (sp),y
+        sta mouseRight+1        ; maxx
 
-       iny
-       lda (sp),y
-       sta mouseTop
-       iny                     ; Skip high byte
+        iny
+        lda (sp),y
+        sta mouseTop
+        iny                     ; Skip high byte
 
-       iny
-       lda (sp),y
-       sta mouseLeft
-       iny
-       lda (sp),y
-       sta mouseLeft+1         ; minx
+        iny
+        lda (sp),y
+        sta mouseLeft
+        iny
+        lda (sp),y
+        sta mouseLeft+1         ; minx
 
-       jmp addysp1             ; Drop params, return
+        jmp addysp1             ; Drop params, return
 
 ; --------------------------------------------------------------------------
 ;
@@ -114,28 +114,28 @@ _mouse_box:
 ;
 
 _mouse_pos:
-       sta ptr1
-       stx ptr1+1              ; Remember the argument pointer
+        sta ptr1
+        stx ptr1+1              ; Remember the argument pointer
 
-       ldy #0                  ; Structure offset
+        ldy #0                  ; Structure offset
 
-       php
-       sei                     ; Disable interrupts
+        php
+        sei                     ; Disable interrupts
 
-       lda mouseXPos           ; Transfer the position
-       sta (ptr1),y
-       lda mouseXPos+1
-       iny
-       sta (ptr1),y
-       lda mouseYPos
-       iny
-       sta (ptr1),y
-       lda #$00
-       iny
-       sta (ptr1),y
+        lda mouseXPos           ; Transfer the position
+        sta (ptr1),y
+        lda mouseXPos+1
+        iny
+        sta (ptr1),y
+        lda mouseYPos
+        iny
+        sta (ptr1),y
+        lda #$00
+        iny
+        sta (ptr1),y
 
-       plp                     ; Reenable interrupts
-       rts                     ; Done
+        plp                     ; Reenable interrupts
+        rts                     ; Done
 
 ; --------------------------------------------------------------------------
 ;
@@ -150,15 +150,15 @@ _mouse_info:
 ; call _mouse_pos to initialize the struct pointer and fill the position
 ; fields.
 
-       jsr _mouse_pos
+        jsr _mouse_pos
 
 ; Fill in the button state
 
-       jsr _mouse_buttons      ; Will not touch ptr1
-       iny
-       sta (ptr1),y
+        jsr _mouse_buttons      ; Will not touch ptr1
+        iny
+        sta (ptr1),y
 
-       rts
+        rts
 
 ; --------------------------------------------------------------------------
 ;
@@ -166,16 +166,16 @@ _mouse_info:
 ;
 
 _mouse_move:
-       jsr popsreg             ; Get X
-       php
-       sei                     ; Disable interrupts
-       sta mouseYPos
-       lda sreg
-       ldx sreg+1
-       sta mouseXPos
-       stx mouseXPos+1
-       plp                     ; Enable interrupts
-       rts
+        jsr popsreg             ; Get X
+        php
+        sei                     ; Disable interrupts
+        sta mouseYPos
+        lda sreg
+        ldx sreg+1
+        sta mouseXPos
+        stx mouseXPos+1
+        plp                     ; Enable interrupts
+        rts
 
 ; --------------------------------------------------------------------------
 ;
@@ -183,8 +183,8 @@ _mouse_move:
 ;
 
 _mouse_buttons:
-       ldx #0
-       lda pressFlag
-       and #SET_MOUSE
-       lsr
-       rts
+        ldx #0
+        lda pressFlag
+        and #SET_MOUSE
+        lsr
+        rts
index 39658ebf634562c890b0858b84ef5e30b0d27cd7..5b58066852dd28c53d3bb3f070238d7264cfcda8 100644 (file)
@@ -9,13 +9,13 @@
 ; 2004-09-24, Greg King
 ;
 
-;      .constructor    init_pointer
+;       .constructor    init_pointer
         .export         _mouse_def_callbacks
 
 ;       .include        "mouse-kernel.inc"
-;      .include        "const.inc"
-;      .include        "geossym.inc"
-       .include        "jumptab.inc"
+;       .include        "const.inc"
+;       .include        "geossym.inc"
+        .include        "jumptab.inc"
 
 ;       .macpack        generic
 
index fec7b50e1de7eb381d327140632abdb5afbf084a..349fb9c60a7fe46836307e4e91ff92e9de077752 100644 (file)
@@ -6,9 +6,9 @@
 ; const char mouse_stddrv[];
 ;
 
-           .export _mouse_stddrv
+            .export _mouse_stddrv
 
 .rodata
 
 _mouse_stddrv:
-       .asciiz "geos-stdmou.mou"
+        .asciiz "geos-stdmou.mou"
index 4f0ca8dbe919951d8657653121bb082f671329ed..2a7864a136cbbf1d82695aec3838dbf309ce7649 100644 (file)
@@ -5,13 +5,13 @@
 
 ; char AppendRecord  (void);
 
-           .import setoserror
-           .export _AppendRecord
+            .import setoserror
+            .export _AppendRecord
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+        
 _AppendRecord:
 
-       jsr AppendRecord
-       jmp setoserror
+        jsr AppendRecord
+        jmp setoserror
index 2ca471c8d18fa1265b1b26146e314077f24907c6..ee0778d7bde76366aacc19ff06c8caebd1069478 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char CloseRecordFile  (void);
 
-           .import setoserror
-           .export _CloseRecordFile
+            .import setoserror
+            .export _CloseRecordFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+        
 _CloseRecordFile:
-       jsr CloseRecordFile
-       jmp setoserror
+        jsr CloseRecordFile
+        jmp setoserror
index e2b05b9dab57b87324211953aa9eee697a1d273a..730569e551bf7f3aee7ad5153003c42716ee362f 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char DeleteFile  (char *myName);
 
-           .import setoserror
-           .export _DeleteFile
+            .import setoserror
+            .export _DeleteFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _DeleteFile:
-       sta r0L
-       stx r0H
-       jsr DeleteFile
-       jmp setoserror
+        sta r0L
+        stx r0H
+        jsr DeleteFile
+        jmp setoserror
index 886f6f3dc794e6999d9b4ed8f116b3d62b1f9484..7ffe5d739f55e9ab14f8a84e7711ce8286a20cf5 100644 (file)
@@ -5,13 +5,13 @@
 
 ; char DeleteRecord  (void);
 
-           .import setoserror
-           .export _DeleteRecord
+            .import setoserror
+            .export _DeleteRecord
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _DeleteRecord:
-       jsr DeleteRecord
-       jmp setoserror
+        jsr DeleteRecord
+        jmp setoserror
index a5f77ac35a4d45891d9841bc640848c9cae4dd3b..0f58e99e6271e7d9361a6fb12a430901fe7b8e2c 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char FindFile  (char *myName);
 
-           .import setoserror
-           .export _FindFile
+            .import setoserror
+            .export _FindFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _FindFile:
-       sta r6L
-       stx r6H
-       jsr FindFile
-       jmp setoserror
+        sta r6L
+        stx r6H
+        jsr FindFile
+        jmp setoserror
index 2e6020b3a2e0e15c89e59b3d774a5f958b07dcc6..7b9967a39548662dc64df6ce4559e925df99b248 100644 (file)
@@ -5,33 +5,33 @@
 
 ; char FindFTypes  (char *buffer, char fileType, char fileMax, char *Class);
 
-           .export _FindFTypes
-           .import popax, popa, setoserror
+            .export _FindFTypes
+            .import popax, popa, setoserror
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 _FindFTypes:
-       sta r10L
-       stx r10H
-       jsr popa
-       sta r7H
-       sta tmpFileMax
-       jsr popa
-       sta r7L
-       jsr popax
-       sta r6L
-       stx r6H
-       jsr FindFTypes
-       jsr setoserror
+        sta r10L
+        stx r10H
+        jsr popa
+        sta r7H
+        sta tmpFileMax
+        jsr popa
+        sta r7L
+        jsr popax
+        sta r6L
+        stx r6H
+        jsr FindFTypes
+        jsr setoserror
 ; return (fileMax - r7H)
-       lda tmpFileMax
-       sec
-       sbc r7H
-       rts
+        lda tmpFileMax
+        sec
+        sbc r7H
+        rts
 
 .bss
 
 tmpFileMax:
-       .res 1
+        .res 1
index 25d6c9d74893004f768db00f9bbeab6110d91b7c..791f3f31cd10d5a54493b2cd105d638286c86837 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char FreeFile  (struct trse myTrSe[]);
 
-           .import setoserror
-           .export _FreeFile
+            .import setoserror
+            .export _FreeFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _FreeFile:
-       sta r9L
-       stx r9H
-       jsr FreeFile
-       jmp setoserror
+        sta r9L
+        stx r9H
+        jsr FreeFile
+        jmp setoserror
index 675779f507074e43f9df3455f07fdc3b84da1553..3b99554eb4e09e915434b2af139f8e51dba0fd4e 100644 (file)
@@ -5,15 +5,15 @@
 
 ; struct filehandle* Get1stDirEntry (void);
 
-           .import __oserror
-           .export _Get1stDirEntry
+            .import __oserror
+            .export _Get1stDirEntry
 
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 _Get1stDirEntry:
-       jsr Get1stDirEntry
-       stx __oserror
-       lda r5L
-       ldx r5H
-       rts
+        jsr Get1stDirEntry
+        stx __oserror
+        lda r5L
+        ldx r5H
+        rts
index 6200c807581216e2daff829681e6747df0bf1e1e..a9a843e74031b67b476bb724b5a887d6b8223ba2 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char GetFHdrInfo  (struct filehandle *myFile);
 
-           .import setoserror
-           .export _GetFHdrInfo
+            .import setoserror
+            .export _GetFHdrInfo
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _GetFHdrInfo:
-       sta r9L
-       stx r9H
-       jsr GetFHdrInfo
-       jmp setoserror
+        sta r9L
+        stx r9H
+        jsr GetFHdrInfo
+        jmp setoserror
index 2496186d7986ca1706707b9251456e52cfcb2691..9c8011542b49a1a1243642a66648f1d2cc4ed2d0 100644 (file)
@@ -5,28 +5,28 @@
 
 ; char __fastcall__ GetFile(char flag, const char *fname, const char *loadaddr, const char *datadname, char *datafname);
 
-           .export _GetFile
-           .import popa, popax, setoserror
+            .export _GetFile
+            .import popa, popax, setoserror
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _GetFile:
-       sta r3L
-       stx r3H
-       jsr popax
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r7L
-       stx r7H
-       jsr popax
-       sta r6L
-       stx r6H
-       jsr popa
-       sta r0L
-       lda #0
-       sta r10L
-       jsr GetFile
-       jmp setoserror
+        sta r3L
+        stx r3H
+        jsr popax
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r7L
+        stx r7H
+        jsr popax
+        sta r6L
+        stx r6H
+        jsr popa
+        sta r0L
+        lda #0
+        sta r10L
+        jsr GetFile
+        jmp setoserror
index a7246cff9d5b6eb8ed56ccff6d858dc57e3cd950..912f48ca49725de079e28968fb255db3811fd80f 100644 (file)
@@ -5,15 +5,15 @@
 
 ; struct filehandle* GetNxtDirEntry (void);
 
-           .import __oserror
-           .export _GetNxtDirEntry
+            .import __oserror
+            .export _GetNxtDirEntry
 
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 _GetNxtDirEntry:
-       jsr GetNxtDirEntry
-       stx __oserror
-       lda r5L
-       ldx r5H
-       rts
+        jsr GetNxtDirEntry
+        stx __oserror
+        lda r5L
+        ldx r5H
+        rts
index 881537add7c0a756cbe5c94d809a48d2718af4cb..5b5a7c71f81526301909c74113d1e50ff08dc4f7 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char InsertRecord  (void);
 
-           .import setoserror
-           .export _InsertRecord
+            .import setoserror
+            .export _InsertRecord
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
 
 _InsertRecord:
-       jsr InsertRecord
-       jmp setoserror
+        jsr InsertRecord
+        jmp setoserror
index 1c0ec42724ed6f41c3ba02b330c112cd5ffcfa44..a3f12f9c4439562f384ba2fe146eba8670a2104b 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char NextRecord  (void);
 
-           .import setoserror
-           .export _NextRecord
+            .import setoserror
+            .export _NextRecord
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
 
 _NextRecord:
-       jsr NextRecord
-       jmp setoserror
+        jsr NextRecord
+        jmp setoserror
index 4052a5a2377adc8ddf13e86c4fb07f66b88a32c8..cdab3dd6c19d019024dbc88de593a635f445a89c 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char OpenRecordFile  (char *myName);
 
-           .import setoserror
-           .export _OpenRecordFile
+            .import setoserror
+            .export _OpenRecordFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _OpenRecordFile:
-       sta r0L
-       stx r0H
-       jsr OpenRecordFile
-       jmp setoserror
+        sta r0L
+        stx r0H
+        jsr OpenRecordFile
+        jmp setoserror
index b2faf0f0fc07b6f39092a3e36d0e96f5be59f7da..82b88c4c6c3f66451e5fe5364788a53b71029ad0 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char PointRecord  (char recordNum);
 
-           .import setoserror
-           .export _PointRecord
+            .import setoserror
+            .export _PointRecord
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+        
 _PointRecord:
-       jsr PointRecord
-       jmp setoserror
+        jsr PointRecord
+        jmp setoserror
index e0151916fb413b9f6134a96e3f977e532029b745..8fac1a5b1604c030bf6d061ea0a8476edaf68b16 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char PreviousRecord  (void);
 
-           .import setoserror
-           .export _PreviousRecord
+            .import setoserror
+            .export _PreviousRecord
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
 
 _PreviousRecord:
-       jsr PreviousRecord
-       jmp setoserror
+        jsr PreviousRecord
+        jmp setoserror
index 72345af158cd86b1c55b7b89ce7583cfdbd839c3..9a24e68dfa91bc084d63189890007492d7db8d46 100644 (file)
@@ -5,13 +5,13 @@
 
 ; char ReadByte  (void);
 
-           .import __oserror
-           .export _ReadByte
+            .import __oserror
+            .export _ReadByte
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _ReadByte:
-       jsr ReadByte
-       stx __oserror
-       ldx #0
-       rts
+        jsr ReadByte
+        stx __oserror
+        ldx #0
+        rts
index db315498a1d4b4a1a1dbe323481ad8434022a2fb..3b43cffd4f03f6087fda72973a33a858a432ff30 100644 (file)
@@ -5,23 +5,23 @@
 
 ; char ReadFile  (struct tr_se *myTS, char *buffer, int length);
 
-           .export _ReadFile
-           .import popax, setoserror
-           .import gettrse
+            .export _ReadFile
+            .import popax, setoserror
+            .import gettrse
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _ReadFile:
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r7L
-       stx r7H
-       jsr popax
-       jsr gettrse
-       sta r1L
-       stx r1H
-       jsr ReadFile
-       jmp setoserror
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r7L
+        stx r7H
+        jsr popax
+        jsr gettrse
+        sta r1L
+        stx r1H
+        jsr ReadFile
+        jmp setoserror
index 507d0a02c48018736093bc2acaa10efcbcca8e21..dd464e0b1b51901612d1caa1ac62af3b6d1010c1 100644 (file)
@@ -5,18 +5,18 @@
 
 ; char ReadRecord  (char *buffer, int length);
 
-           .export _ReadRecord
-           .import popax, setoserror
+            .export _ReadRecord
+            .import popax, setoserror
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _ReadRecord:
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r7L
-       stx r7H
-       jsr ReadRecord
-       jmp setoserror
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r7L
+        stx r7H
+        jsr ReadRecord
+        jmp setoserror
index 2c7da89d7c6366ac919e772b1b2713a2666bb920..6689d79389cf980613e92696276b03ae2d2a9665 100644 (file)
@@ -5,18 +5,18 @@
 
 ; char RenameFile  (char *old, char *new);
 
-           .export _RenameFile
-           .import popax, setoserror
+            .export _RenameFile
+            .import popax, setoserror
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 _RenameFile:
-       sta r0L
-       stx r0H
-       jsr popax
-       sta r6L
-       stx r6H
-       jsr RenameFile
-       jmp setoserror
+        sta r0L
+        stx r0H
+        jsr popax
+        sta r6L
+        stx r6H
+        jsr RenameFile
+        jmp setoserror
index 1b49bcfb8c971f9cbbf6165306de9a8e8131ee15..11a2abfaf3c4c8a9172948a01fcdabd1ebe50f5b 100644 (file)
@@ -5,18 +5,18 @@
 
 ; char SaveFile  (char skip, struct fileheader *myHeader);
 
-           .import setoserror
-           .import popa
-           .export _SaveFile
+            .import setoserror
+            .import popa
+            .export _SaveFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 _SaveFile:
-       sta r9L
-       stx r9H
-       jsr popa
-       sta r10L
-       jsr SaveFile
-       jmp setoserror
+        sta r9L
+        stx r9H
+        jsr popa
+        sta r10L
+        jsr SaveFile
+        jmp setoserror
index 2edf50aeccc507c32ca8dadc393aa9279e803fa4..085380106c8a13ed18089baa0c4a9660a3d661fb 100644 (file)
@@ -5,16 +5,16 @@
 
 ; unsigned char __fastcall__ _sysremove (const char* name);
 
-           .export  __sysremove
+            .export  __sysremove
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 __sysremove:
-       sta r0L
-       stx r0H
-       jsr DeleteFile
-       txa
-       ldx #0
-       rts
+        sta r0L
+        stx r0H
+        jsr DeleteFile
+        txa
+        ldx #0
+        rts
index a1060c4d5174b189e065f37e4a6ab077544f6de9..45ed49c1c023302d948f6ae2ecfb060a7497463b 100644 (file)
@@ -5,20 +5,20 @@
 
 ; unsigned char __fastcall__ _sysrename (const char* oldname, const char* newname);
 
-           .export __sysrename
-           .import popax
+            .export __sysrename
+            .import popax
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
 
 __sysrename:
-       sta r0L
-       stx r0H
-       jsr popax
-       sta r6L
-       stx r6H
-       jsr RenameFile
-       txa
-       ldx #0
-       rts
+        sta r0L
+        stx r0H
+        jsr popax
+        sta r6L
+        stx r6H
+        jsr RenameFile
+        txa
+        ldx #0
+        rts
index ac0989ac67c5f8393a93d4d1c1baf9978b8ab631..896a44ec41da28e367a1f1973575e0ec7f2bfd0b 100644 (file)
@@ -5,12 +5,12 @@
 
 ; char UpdateRecordFile  (void);
 
-           .import setoserror
-           .export _UpdateRecordFile
+            .import setoserror
+            .export _UpdateRecordFile
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
 
 _UpdateRecordFile:
-       jsr UpdateRecordFile
-       jmp setoserror
+        jsr UpdateRecordFile
+        jmp setoserror
index e2449abc4bc38e7aa58c9d55acb360e345983888..e0d4c86d46c645f009aacfcb5ad5463344b921e6 100644 (file)
@@ -5,18 +5,18 @@
 
 ; char WriteRecord  (char *buffer, int length);
 
-           .export _WriteRecord
-           .import popax, setoserror
+            .export _WriteRecord
+            .import popax, setoserror
 
-           .include "jumptab.inc"
-           .include "diskdrv.inc"
-           .include "geossym.inc"
-       
+            .include "jumptab.inc"
+            .include "diskdrv.inc"
+            .include "geossym.inc"
+        
 _WriteRecord:
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r7L
-       stx r7H
-       jsr WriteRecord
-       jmp setoserror
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r7L
+        stx r7H
+        jsr WriteRecord
+        jmp setoserror
index 00ac67754d41939279aa37ec5b115f53a947637a..5ce20ff7fc1870a0637706a6355db0888c337f89 100644 (file)
 
 ;-------------------------------------------------------------------------
 
-.macro         LoadB dest, value
-       lda #value
-       sta dest
+.macro  LoadB dest, value
+        lda #value
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro LoadW dest, value
-       LoadB dest+1, >(value)
-       LoadB dest+0, <(value)
+.macro  LoadW dest, value
+        LoadB dest+1, >(value)
+        LoadB dest+0, <(value)
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro MoveB source, dest
-       lda source
-       sta dest
+.macro  MoveB source, dest
+        lda source
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro MoveW source, dest
-       MoveB source+1, dest+1
-       MoveB source+0, dest+0
+.macro  MoveW source, dest
+        MoveB source+1, dest+1
+        MoveB source+0, dest+0
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro add source
-       clc
-       adc source
+.macro  add source
+        clc
+        adc source
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro AddB source, dest
-       lda source
-       add dest
-       sta dest
+.macro  AddB source, dest
+        lda source
+        add dest
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro AddW source, dest
-       AddB source+0, dest+0
-       lda source+1
-       adc dest+1
-       sta dest+1
+.macro  AddW source, dest
+        AddB source+0, dest+0
+        lda source+1
+        adc dest+1
+        sta dest+1
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro AddVB value, dest
-       lda dest
-       clc
-       adc #(value)
-       sta dest
-       .endmacro
+.macro  AddVB value, dest
+        lda dest
+        clc
+        adc #(value)
+        sta dest
+        .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro AddVW value, dest
+.macro  AddVW value, dest
 .local Skip
-       AddVB <(value), dest+0
-       .if (>(value))=0
-           bcc Skip
-           inc dest+1
-       .else
-           lda #>(value)
-           adc dest+1
-           sta dest+1
-       .endif
+        AddVB <(value), dest+0
+        .if (>(value))=0
+            bcc Skip
+            inc dest+1
+        .else
+            lda #>(value)
+            adc dest+1
+            sta dest+1
+        .endif
 Skip:
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro ssub source
-       sec
-       sbc source
+.macro  ssub source
+        sec
+        sbc source
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro SubB source, dest
-       lda dest
-       ssub source
-       sta dest
+.macro  SubB source, dest
+        lda dest
+        ssub source
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro SubW source, dest
-       SubB source+0, dest+0
-       lda dest+1
-       sbc source+1
-       sta dest+1
+.macro  SubW source, dest
+        SubB source+0, dest+0
+        lda dest+1
+        sbc source+1
+        sta dest+1
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro SubVW value, dest
-       sec
-       lda dest+0
-       sbc #<(value)
-       sta dest+0
-       lda dest+1
-       sbc #>(value)
-       sta dest+1
+.macro  SubVW value, dest
+        sec
+        lda dest+0
+        sbc #<(value)
+        sta dest+0
+        lda dest+1
+        sbc #>(value)
+        sta dest+1
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro CmpB source, dest
-       lda source
-       cmp dest
+.macro  CmpB source, dest
+        lda source
+        cmp dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro CmpBI source, immed
-       lda source
-       cmp #(immed)
+.macro  CmpBI source, immed
+        lda source
+        cmp #(immed)
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro CmpW source, dest
-.local Skip    
-       CmpB source+1, dest+1
-       bne Skip
-       CmpB source+0, dest+0
+.macro  CmpW source, dest
+.local Skip     
+        CmpB source+1, dest+1
+        bne Skip
+        CmpB source+0, dest+0
 Skip:
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro CmpWI source, immed
+.macro  CmpWI source, immed
 .local Skip
-       CmpBI source+1, >(immed)
-       bne Skip
-       CmpBI source+0, <(immed)
+        CmpBI source+1, >(immed)
+        bne Skip
+        CmpBI source+0, <(immed)
 Skip:
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro PushB source
-       lda source
-       pha
+.macro  PushB source
+        lda source
+        pha
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro PushW source
-       PushB source+1
-       PushB source+0
+.macro  PushW source
+        PushB source+1
+        PushB source+0
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro PopB dest
-       pla
-       sta dest
+.macro  PopB dest
+        pla
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro PopW dest
-       PopB dest+0
-       PopB dest+1
+.macro  PopW dest
+        PopB dest+0
+        PopB dest+1
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro smb bitNumber, dest
-       pha
-       lda #(1 << bitNumber)
-       ora dest
-       sta dest
-       pla
+.macro  smb bitNumber, dest
+        pha
+        lda #(1 << bitNumber)
+        ora dest
+        sta dest
+        pla
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro smbf bitNumber, dest
-       lda #(1 << bitNumber)
-       ora dest
-       sta dest
+.macro  smbf bitNumber, dest
+        lda #(1 << bitNumber)
+        ora dest
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro rmb bitNumber, dest
-       pha
-       lda #(1 << bitNumber) ^ $ff 
-       and dest
-       sta dest
-       pla
+.macro  rmb bitNumber, dest
+        pha
+        lda #(1 << bitNumber) ^ $ff 
+        and dest
+        sta dest
+        pla
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro rmbf bitNumber, dest
-       lda #(1 << bitNumber) ^ $ff
-       and dest
-       sta dest
+.macro  rmbf bitNumber, dest
+        lda #(1 << bitNumber) ^ $ff
+        and dest
+        sta dest
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro bbs bitNumber, source, addr
+.macro  bbs bitNumber, source, addr
 .local Skip
-       php
-       pha
-       lda source
-       and #(1 << bitNumber)
-       beq Skip
-       pla
-       plp
-       bra addr
-Skip:  pla
-       plp
+        php
+        pha
+        lda source
+        and #(1 << bitNumber)
+        beq Skip
+        pla
+        plp
+        bra addr
+Skip:   pla
+        plp
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro bbsf bitNumber, source, addr
-       .if     bitNumber=7
-               bit source
-               bmi addr
-       .else
-               .if bitNumber=6
-                   bit source
-                   bvs addr
-               .else
-                   lda source
-                   and #(1 << bitNumber)
-                   bne addr
-               .endif
-       .endif
+.macro  bbsf bitNumber, source, addr
+        .if     bitNumber=7
+                bit source
+                bmi addr
+        .else
+                .if bitNumber=6
+                    bit source
+                    bvs addr
+                .else
+                    lda source
+                    and #(1 << bitNumber)
+                    bne addr
+                .endif
+        .endif
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro bbr bitNumber, source, addr
+.macro  bbr bitNumber, source, addr
 .local Skip
-       php
-       pha
-       lda source
-       and #(1 << bitNumber)
-       bne Skip
-       pla
-       plp
-       bra addr
-Skip:  pla
-       plp
+        php
+        pha
+        lda source
+        and #(1 << bitNumber)
+        bne Skip
+        pla
+        plp
+        bra addr
+Skip:   pla
+        plp
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro bbrf bitNumber, source, addr
-       .if bitNumber=7
-           bit source
-           bpl addr
-       .else
-               .if bitNumber=6
-                   bit source
-                   bvc addr
-               .else
-                   lda source
-                   and #(1 << bitNumber)
-                   beq addr
-               .endif
-       .endif
+.macro  bbrf bitNumber, source, addr
+        .if bitNumber=7
+            bit source
+            bpl addr
+        .else
+                .if bitNumber=6
+                    bit source
+                    bvc addr
+                .else
+                    lda source
+                    and #(1 << bitNumber)
+                    beq addr
+                .endif
+        .endif
 .endmacro
 
 ;-------------------------------------------------------------------------
@@ -291,30 +291,30 @@ Skip:     pla
 
 ;-------------------------------------------------------------------------
 
-.macro addv value
-       clc
-       adc #(value)
+.macro  addv value
+        clc
+        adc #(value)
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro subv value
-       sec
-       sbc #(value)
+.macro  subv value
+        sec
+        sbc #(value)
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro bnex addr
-       txa
-       bne addr
+.macro  bnex addr
+        txa
+        bne addr
 .endmacro
 
 ;-------------------------------------------------------------------------
 
-.macro beqx addr
-       txa
-       beq addr
+.macro  beqx addr
+        txa
+        beq addr
 .endmacro
 
 ;-------------------------------------------------------------------------
index 50e4e03b022b1bf4e0a60531c292310f0621f2ae..993af095dbd1700b5df7b9b99832ef8ce37a8fef 100644 (file)
@@ -3,22 +3,22 @@
 ;
 ; 21.12.99
 
-; void BitmapClip      (char skipl, char skipr, int skipy, struct iconpic *myGfx);
+; void BitmapClip       (char skipl, char skipr, int skipy, struct iconpic *myGfx);
 
-           .import popa, popax
-           .import BitmapRegs
-           .export _BitmapClip
+            .import popa, popax
+            .import BitmapRegs
+            .export _BitmapClip
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _BitmapClip:
-       jsr BitmapRegs
-       jsr popax
-       sta r12L
-       stx r12H
-       jsr popa
-       sta r11H
-       jsr popa
-       sta r11L
-       jmp BitmapClip
+        jsr BitmapRegs
+        jsr popax
+        sta r12L
+        stx r12H
+        jsr popa
+        sta r11H
+        jsr popa
+        sta r11L
+        jmp BitmapClip
index 9ff45e8728da4d4682b55739b4335b06b156571a..0751c963d7ef81457488b7c242356fea99e0c634 100644 (file)
@@ -3,18 +3,18 @@
 ;
 ; 21.12.99
 
-           .importzp ptr4
-           .export BitmapRegs
+            .importzp ptr4
+            .export BitmapRegs
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
-BitmapRegs:                    ; a/x is a struct iconpic*
-       sta ptr4
-       stx ptr4+1
-       ldy #0
-bmpLp: lda (ptr4),y
-       sta r0L,y
-       iny
-       cpy #6
-       bne bmpLp
-       rts
+BitmapRegs:                     ; a/x is a struct iconpic*
+        sta ptr4
+        stx ptr4+1
+        ldy #0
+bmpLp:  lda (ptr4),y
+        sta r0L,y
+        iny
+        cpy #6
+        bne bmpLp
+        rts
index 214bf2357b73c70c319ae029761a696d2a1ad21c..9b37308f3a3e15e12043cf610e6c4bc96151c6d2 100644 (file)
@@ -3,13 +3,13 @@
 ;
 ; 21.12.99
 
-; void BitmapUp        (struct iconpic *myGfx);
+; void BitmapUp (struct iconpic *myGfx);
 
-           .import BitmapRegs
-           .export _BitmapUp
+            .import BitmapRegs
+            .export _BitmapUp
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _BitmapUp:
-       jsr BitmapRegs
-       jmp BitmapUp
+        jsr BitmapRegs
+        jmp BitmapUp
index 5956ea7388711372dc9bd1d5a4969ef29c3ca07e..ef849f6d7bb4ab320f979e6025211a3fa23ac032 100644 (file)
@@ -3,34 +3,34 @@
 ;
 ; 21.12.99
 
-; void BitOtherClip    (void *proc1, void* proc2, char skipl, char skipr, int skipy, 
-;                              struct iconpic *myGfx);
+; void BitOtherClip     (void *proc1, void* proc2, char skipl, char skipr, int skipy, 
+;                               struct iconpic *myGfx);
 
 ; both proc1, proc2 should be: char __fastcall something (void);
-;      proc1 is called before reading a byte (.A returns next data)
-;      proc2 is called before reading each byte which is not pattern (code >219)
+;       proc1 is called before reading a byte (.A returns next data)
+;       proc2 is called before reading each byte which is not pattern (code >219)
 
 
-           .import popa, popax
-           .import BitOtherRegs
-           .export _BitOtherClip
+            .import popa, popax
+            .import BitOtherRegs
+            .export _BitOtherClip
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _BitOtherClip:
-       jsr BitOtherRegs
-       jsr popax
-       sta r12L
-       stx r12H
-       jsr popa
-       sta r11H
-       jsr popa
-       sta r11L
-       jsr popax
-       sta r14L
-       stx r14H
-       jsr popax
-       sta r13L
-       stx r13H
-       jmp BitOtherClip
+        jsr BitOtherRegs
+        jsr popax
+        sta r12L
+        stx r12H
+        jsr popa
+        sta r11H
+        jsr popa
+        sta r11L
+        jsr popax
+        sta r14L
+        stx r14H
+        jsr popax
+        sta r13L
+        stx r13H
+        jmp BitOtherClip
index 74cb67b74f8c6d562921e6815c898c0859305af7..75952f72aa4bca7151b22b3c9b409444a253ee5a 100644 (file)
@@ -5,26 +5,26 @@
 
 ; void DrawLine         (char mode, struct window *mywindow);
 
-           .import _InitDrawWindow
-           .import popa
-           .importzp tmp1
-           .export _DrawLine
+            .import _InitDrawWindow
+            .import popa
+            .importzp tmp1
+            .export _DrawLine
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-           .include "geosmac.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "geosmac.inc"
 
 _DrawLine:
-       tay
-       PushW r2
-       tya
-       jsr _InitDrawWindow
-       MoveW r2, r11
-       PopW r2
-       jsr popa
-       sta tmp1
-       clc
-       bit tmp1
-       bvc @1
-       sec
-@1:    jmp DrawLine
+        tay
+        PushW r2
+        tya
+        jsr _InitDrawWindow
+        MoveW r2, r11
+        PopW r2
+        jsr popa
+        sta tmp1
+        clc
+        bit tmp1
+        bvc @1
+        sec
+@1:     jmp DrawLine
index 6179d22d8af496d8444ebd6f39f705f41d9471ba..f7c75a487ba09b55ce94cdac3cbead72c06d9449 100644 (file)
@@ -3,21 +3,21 @@
 ;
 ; 29.10.99, 05.3.2003
 
-; void DrawPoint       (char mode, struct pixel *mypixel);
+; void DrawPoint        (char mode, struct pixel *mypixel);
 
-           .import PointRegs
-           .import popa
-           .importzp tmp1
-           .export _DrawPoint
+            .import PointRegs
+            .import popa
+            .importzp tmp1
+            .export _DrawPoint
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _DrawPoint:
-       jsr PointRegs
-       jsr popa
-       sta tmp1
-       clc
-       bit tmp1
-       bvc @1
-       sec
-@1:    jmp DrawPoint
+        jsr PointRegs
+        jsr popa
+        sta tmp1
+        clc
+        bit tmp1
+        bvc @1
+        sec
+@1:     jmp DrawPoint
index f0f51d8fd9b3023ed34b7c9818bf25a416c8424f..c5f9de04c3a946e45d4764a9e8d0c4a6ef823845 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void FrameRectangle   (char pattern);
 
-           .export _FrameRectangle
+            .export _FrameRectangle
 
-           .include "jumptab.inc"
-           
-_FrameRectangle        = FrameRectangle
+            .include "jumptab.inc"
+            
+_FrameRectangle = FrameRectangle
index a98005f9a347430bd1070ee4dbc3cef5c78db364..9c16ea1aba4dbd6aab5eb74e67d08bbfa5c2c6ae 100644 (file)
@@ -5,11 +5,11 @@
 
 ; char GetCharWidth (char character);
 
-           .export _GetCharWidth
+            .export _GetCharWidth
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _GetCharWidth:
-       jsr GetCharWidth
-       ldx #0
-       rts
+        jsr GetCharWidth
+        ldx #0
+        rts
index 5b4088d21a817387d379437dc9c979e215018d37..a04fed02b1ec01a6664afa467bcf7dad3bb5f648 100644 (file)
@@ -3,18 +3,18 @@
 ;
 ; 11.03.2000
 
-           .import popa, popax
-           .export getintcharint
+            .import popa, popax
+            .export getintcharint
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 getintcharint:
-       sta r11L
-       stx r11H
-       jsr popa
-       sta r1H
-       jsr popax
-       sta r0L
-       stx r0H
-       rts
+        sta r11L
+        stx r11H
+        jsr popa
+        sta r1H
+        jsr popax
+        sta r0L
+        stx r0H
+        rts
 
index 492b5e35cceac3aabd6215af1c11ca1e04be203a..86c74f1a623e821cf99c9e7e5d82ba2c09283728 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void GraphicsString         (char *myString);
 
-           .export _GraphicsString
+            .export _GraphicsString
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _GraphicsString:
-       sta r0L
-       stx r0H
-       jmp GraphicsString
+        sta r0L
+        stx r0H
+        jmp GraphicsString
index 836f8517806df43ee941b5a1bbd35a54d7689282..bad7e88519c24ce8ddb28bc59d046b6e6d18be0b 100644 (file)
@@ -4,17 +4,17 @@
 ; 29.10.99
 
 
-           .import popax, popa
-           .export HLineRegs
+            .import popax, popa
+            .export HLineRegs
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 HLineRegs:
-       stx r4H
-       sta r4L
-       jsr popax
-       stx r3H
-       sta r3L
-       jsr popa
-       sta r11L
-       rts
+        stx r4H
+        sta r4L
+        jsr popax
+        stx r3H
+        sta r3L
+        jsr popa
+        sta r11L
+        rts
index 9b8a1c5d5cbdf8ddb8c0ab6fb802b108e639bf7c..95655f55f7e0ecb1ef4e9b60e9c6e7ecccbef6e0 100644 (file)
@@ -5,13 +5,13 @@
 
 ; void HorizontalLine (char pattern, char y, int xstart, int xend);
 
-           .import popa
-           .import HLineRegs
-           .export _HorizontalLine
+            .import popa
+            .import HLineRegs
+            .export _HorizontalLine
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _HorizontalLine:
-       jsr HLineRegs
-       jsr popa
-       jmp HorizontalLine
+        jsr HLineRegs
+        jsr popa
+        jmp HorizontalLine
index 0ac0c3092b1f5a5bc956e5cb5adde43397772b14..fc327e9d34832159f186597846ac39bcf8dd937a 100644 (file)
@@ -4,10 +4,10 @@
 ; 21.12.99
 
 ; void ImprintRectangle (void);
-           
-           .export _ImprintRectangle
+            
+            .export _ImprintRectangle
 
-           .include "jumptab.inc"
-           
+            .include "jumptab.inc"
+            
 _ImprintRectangle = ImprintRectangle
 
index 31e479065f4e1d90049ed9b549d189d2c3293590..ec600eaeaa63da4616cf8be5dca443232518dd59 100644 (file)
@@ -6,18 +6,18 @@
 
 ; void InitDrawWindow (struct window *myWindow);
 
-           .importzp ptr4
-           .export _InitDrawWindow
+            .importzp ptr4
+            .export _InitDrawWindow
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
-_InitDrawWindow:               ; a/x is a struct window*
-       sta ptr4
-       stx ptr4+1
-       ldy #0
+_InitDrawWindow:                ; a/x is a struct window*
+        sta ptr4
+        stx ptr4+1
+        ldy #0
 copyWin:lda (ptr4),y
-       sta r2L,y
-       iny
-       cpy #6
-       bne copyWin
-       rts
+        sta r2L,y
+        iny
+        cpy #6
+        bne copyWin
+        rts
index dcc68d40a1b619079d78a978ee27198f83ca7c16..baa4a6e5a4837e0169822473089b12ef91727bca 100644 (file)
@@ -5,11 +5,11 @@
 
 ; void InvertLine     (char y, int xstart, int xend);
 
-           .import HLineRegs
-           .export _InvertLine
+            .import HLineRegs
+            .export _InvertLine
 
-           .include "jumptab.inc"
-           
+            .include "jumptab.inc"
+            
 _InvertLine:
-       jsr HLineRegs
-       jmp InvertLine
+        jsr HLineRegs
+        jmp InvertLine
index 3e2b1c71acfc674ce974079081e0a8560ae22fa3..084187255f2f7591676b7922378d19320de53b37 100644 (file)
@@ -5,9 +5,9 @@
 
 ; void InvertRectangle  (void);
 
-           .export _InvertRectangle
-           
-           .include "jumptab.inc"
+            .export _InvertRectangle
+            
+            .include "jumptab.inc"
 
 _InvertRectangle = InvertRectangle
 
index a7e38a666450ddcc1ce4921398ea0be7e00c794f..5ff4d923b2075e6cd00a3dad8a4b94d237d768d1 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void LoadCharSet (struct fontdesc *myFont);
 
-           .export _LoadCharSet
+            .export _LoadCharSet
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _LoadCharSet:
-       sta r0L
-       stx r0H
-       jmp LoadCharSet
+        sta r0L
+        stx r0H
+        jmp LoadCharSet
index edff38212b730e41f533eac086870135375e73ae..aa6939fbb9a1dc9287a7fb300521965ec688e631 100644 (file)
@@ -3,21 +3,21 @@
 ;
 ; 29.10.99
 
-           .importzp ptr4
-           .export PointRegs
+            .importzp ptr4
+            .export PointRegs
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
-PointRegs:                     ; a/x is a struct pixel*
-       sta ptr4
-       stx ptr4+1
-       ldy #0
-       lda (ptr4),y
-       sta r3L
-       iny
-       lda (ptr4),y
-       sta r3H
-       iny
-       lda (ptr4),y
-       sta r11L
-       rts
+PointRegs:                      ; a/x is a struct pixel*
+        sta ptr4
+        stx ptr4+1
+        ldy #0
+        lda (ptr4),y
+        sta r3L
+        iny
+        lda (ptr4),y
+        sta r3H
+        iny
+        lda (ptr4),y
+        sta r11L
+        rts
index bc22a70cb81f3b21c7e5b3c93d2a1635d74419bd..f34d7a178329c42eeb20695e5db6ec6a874d051a 100644 (file)
@@ -5,16 +5,16 @@
 
 ; void PutChar         (char character, char y, int x);
 
-           .import popa
-           .export _PutChar
+            .import popa
+            .export _PutChar
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _PutChar:
-       sta r11L
-       stx r11H
-       jsr popa
-       sta r1H
-       jsr popa
-       jmp PutChar
+        sta r11L
+        stx r11H
+        jsr popa
+        sta r1H
+        jsr popa
+        jmp PutChar
index f3602c3d4aec060a31bab4eaaae757092b5c025c..06221e92267377027e92bffa14f66b8b749064f7 100644 (file)
@@ -5,13 +5,13 @@
 
 ; void PutDecimal         (char style, unsigned value, char y, int x);
 
-           .import popa, popax
-           .import getintcharint
-           .export _PutDecimal
+            .import popa, popax
+            .import getintcharint
+            .export _PutDecimal
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _PutDecimal:
-       jsr getintcharint
-       jsr popa
-       jmp PutDecimal
+        jsr getintcharint
+        jsr popa
+        jmp PutDecimal
index 4c333f3ab3106810eb0eaa0695be60c57609e025..ab027f1b4f8661f507ca388e69555a093b342505 100644 (file)
@@ -3,14 +3,14 @@
 ;
 ; 30.10.99
 
-; void PutString       (char *mytxt, char y, int x);
+; void PutString        (char *mytxt, char y, int x);
 
-           .import popax, popa
-           .import getintcharint
-           .export _PutString
+            .import popax, popa
+            .import getintcharint
+            .export _PutString
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _PutString:
-       jsr getintcharint
-       jmp PutString
+        jsr getintcharint
+        jmp PutString
index 6d4626cb35036ecfd563a9778135679a3e58ad45..edc366114c2cb748b7a9c3ca7b48349aba848a8f 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void RecoverLine    (char y, int xstart, int xend);
 
-           .import HLineRegs
-           .export _RecoverLine
-           
-           .include "jumptab.inc"
+            .import HLineRegs
+            .export _RecoverLine
+            
+            .include "jumptab.inc"
 
 _RecoverLine:
-       jsr HLineRegs
-       jmp RecoverLine
+        jsr HLineRegs
+        jmp RecoverLine
 
index 077b342e097c0d9fbbb27f022f6c8ce98311a6c2..009ca81eb52199c8ad63925f1a1898317494ab27 100644 (file)
@@ -4,10 +4,10 @@
 ; 29.10.99
 
 ; void RecoverRectangle (void);
-           
-           .export _RecoverRectangle
+            
+            .export _RecoverRectangle
 
-           .include "jumptab.inc"
-           
+            .include "jumptab.inc"
+            
 _RecoverRectangle = RecoverRectangle
 
index f0f11e4e3942a86f47c84d6c336cf7dc3ce92141..a9351c47e46ee6cb5848cd80665e487aeeaf45d6 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void Rectangle        (void);
 
-           .export _Rectangle
-           
-           .include "jumptab.inc"
+            .export _Rectangle
+            
+            .include "jumptab.inc"
 
-_Rectangle     = Rectangle
+_Rectangle      = Rectangle
index d81019f32638b87a6b4d66d89102beecb333028a..24ea5e7fadd89ad681487ff38cfc2af6872235d6 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void SetPattern     (char pattern);
 
-           .export _SetPattern
+            .export _SetPattern
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_SetPattern    = SetPattern
+_SetPattern     = SetPattern
index 6bf28589a65f95a4eb98ca0bb3cf50083d0ededa..f2dfb7b5d7d24d7c998f166a0e0a049150865910 100644 (file)
@@ -3,17 +3,17 @@
 ;
 ; 29.10.1999, 2.1.2003
 
-; char TestPoint       (struct pixel *mypixel);
+; char TestPoint        (struct pixel *mypixel);
 
-           .import PointRegs
-           .import return0, return1
-           .export _TestPoint
+            .import PointRegs
+            .import return0, return1
+            .export _TestPoint
 
-           .include "jumptab.inc"
-           
+            .include "jumptab.inc"
+            
 _TestPoint:
-       jsr PointRegs
-       jsr TestPoint
-       bcc goFalse
-       jmp return1
+        jsr PointRegs
+        jsr TestPoint
+        bcc goFalse
+        jmp return1
 goFalse:jmp return0
index 3d72e7cf557ab008ee2355a6bee5e696cc0bfc20..83960fd7137c78e06ca6af44631c8d560fa8ac50 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void UseSystemFont (void);
 
-           .export _UseSystemFont
+            .export _UseSystemFont
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_UseSystemFont = UseSystemFont
+_UseSystemFont  = UseSystemFont
index 12355aaab3edabd76e2b5f4448a18851095cb171..01fb0b725d0200c059526fe1533eef3a123a2f02 100644 (file)
@@ -5,18 +5,18 @@
 
 ; void VerticalLine   (char pattern, char ystart, char yend, int x);
 
-           .import popa 
-           .export _VerticalLine
+            .import popa 
+            .export _VerticalLine
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
-           
+            .include "jumptab.inc"
+            .include "geossym.inc"
+            
 _VerticalLine:
-       stx r4H
-       sta r4L
-       jsr popa
-       sta r3H
-       jsr popa
-       sta r3L
-       jsr popa
-       jmp VerticalLine
+        stx r4H
+        sta r4L
+        jsr popa
+        sta r3H
+        jsr popa
+        sta r3L
+        jsr popa
+        jmp VerticalLine
index 3984f8a67d37cc3732fd1ea5471af645fc09e6dc..a656170fa2e49f1cff0a53d22cb684c2e6191004 100644 (file)
@@ -5,20 +5,20 @@
 
 ; void * ClearRam         (char *dest, int length);
 
-           .import DoublePop
-           .export _ClearRam
+            .import DoublePop
+            .export _ClearRam
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _ClearRam:
-       jsr DoublePop
-       pha
-       txa
-       pha
-       jsr ClearRam
-       pla
-       tax
-       pla
-       rts
+        jsr DoublePop
+        pha
+        txa
+        pha
+        jsr ClearRam
+        pla
+        tax
+        pla
+        rts
 
index 4b5d4251199a4ada1ff11ac7f0c7fa90eb6f5a01..112d46a001e32a8531105521db00853fd841f088 100644 (file)
@@ -5,17 +5,17 @@
 
 ; char CmpFString (char length, char *dest, char* source);
 
-           .import DoubleSPop, SetPtrXY
-           .import popa, return0, return1
-           .export _CmpFString
+            .import DoubleSPop, SetPtrXY
+            .import popa, return0, return1
+            .export _CmpFString
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _CmpFString:
-       jsr DoubleSPop
-       jsr popa
-       jsr SetPtrXY
-       jsr CmpFString
-       bne L1
-       jmp return0
-L1:    jmp return1
+        jsr DoubleSPop
+        jsr popa
+        jsr SetPtrXY
+        jsr CmpFString
+        bne L1
+        jmp return0
+L1:     jmp return1
index fc4ba8c3d1597854e4e34dcdf98dba74d6972993..ab5c66bafac9c8bf318f0c7eaff7a5c665a9cf9f 100644 (file)
@@ -5,15 +5,15 @@
 
 ; char CmpString (char *dest, char* source);
 
-           .import DoubleSPop
-           .import return0, return1
-           .export _CmpString
+            .import DoubleSPop
+            .import return0, return1
+            .export _CmpString
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _CmpString:
-       jsr DoubleSPop
-       jsr CmpString
-       bne L1
-       jmp return0
-L1:    jmp return1
+        jsr DoubleSPop
+        jsr CmpString
+        bne L1
+        jmp return0
+L1:     jmp return1
index 6d84e4e82cb87a94c0823f141b135f783169b439..18182fa78cc1445de2a541fdf8c97f0abd2c7863 100644 (file)
@@ -5,14 +5,14 @@
 
 ; void CopyFString (char length, char *dest, char* source);
 
-           .import DoubleSPop, SetPtrXY
-           .import popa
-           .export _CopyFString
+            .import DoubleSPop, SetPtrXY
+            .import popa
+            .export _CopyFString
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _CopyFString:
-       jsr DoubleSPop
-       jsr popa
-       jsr SetPtrXY
-       jmp CopyFString
+        jsr DoubleSPop
+        jsr popa
+        jsr SetPtrXY
+        jmp CopyFString
index 3f4941fbbc9dde604673179e6585fa1d45089ec9..941f78f854721555c69caf1b2432f9eb46a195a1 100644 (file)
@@ -5,11 +5,11 @@
 
 ; void CopyString (char *dest, char* source);
 
-           .import DoubleSPop
-           .export _CopyString
+            .import DoubleSPop
+            .export _CopyString
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _CopyString:
-       jsr DoubleSPop
-       jmp CopyString
+        jsr DoubleSPop
+        jmp CopyString
index 69908b3f2d9944be4ae0e9c22635b7030b5f7d5a..9ec2feb0c3213b70be9efc113d1c1723a3a159b3 100644 (file)
@@ -5,16 +5,16 @@
 
 ; int CRC         (char *memory, int length);
 
-           .import DoublePop
-           .export _CRC
+            .import DoublePop
+            .export _CRC
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _CRC:
-       jsr DoublePop
-       jsr CRC
-       lda r2L
-       ldx r2H
-       rts
-           
\ No newline at end of file
+        jsr DoublePop
+        jsr CRC
+        lda r2L
+        ldx r2H
+        rts
+            
\ No newline at end of file
index f5fdb548cb12ae79eee12e4241c2b6781ddd1395..7e1f2ece99a2c364e2c96aace30a25f8d20e3ced 100644 (file)
@@ -3,15 +3,15 @@
 ;
 ; 31.12.99
 
-           .import popax
-           .export DoublePop
+            .import popax
+            .export DoublePop
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 DoublePop:
-       sta r0L
-       stx r0H
-       jsr popax
-       sta r1L
-       stx r1H
-       rts
+        sta r0L
+        stx r0H
+        jsr popax
+        sta r1L
+        stx r1H
+        rts
index e8541207c326a09ce90701aedafcff9e5f36cd45..f58beabfeceaf1aaa197f7ace2a8593f7d109fc6 100644 (file)
@@ -3,25 +3,25 @@
 ;
 ; 22.12.99, 29.07.2000
 
-           .import popax
-           .importzp ptr3, ptr4
-           .export DoubleSPop
-           .export SetPtrXY
+            .import popax
+            .importzp ptr3, ptr4
+            .export DoubleSPop
+            .export SetPtrXY
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 DoubleSPop:
-       sta ptr4
-       stx ptr4+1
-       jsr popax
-       sta ptr3
-       stx ptr3+1
-;      rts
+        sta ptr4
+        stx ptr4+1
+        jsr popax
+        sta ptr3
+        stx ptr3+1
+;       rts
 ;
 ; SetPtrXY can be sometimes executed twice, but even this way it is few cycles
 ; faster...
 
 SetPtrXY:
-       ldx #ptr4
-       ldy #ptr3
-       rts
+        ldx #ptr4
+        ldy #ptr3
+        rts
index d67b4f242a2d66c0524c746ecf6a8facdc17942f..40d9db73d624b78d1b4548f732b3ebde1089c0b6 100644 (file)
@@ -5,25 +5,25 @@
 
 ; void * FillRam         (char *dest, char what, int length);
 
-           .import popa, popax
-           .export _FillRam
+            .import popa, popax
+            .export _FillRam
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _FillRam:
-       sta r0L
-       stx r0H
-       jsr popa
-       sta r2L
-       jsr popax
-       sta r1L
-       stx r1H
-       pha
-       txa
-       pha
-       jsr FillRam
-       pla
-       tax
-       pla
-       rts
+        sta r0L
+        stx r0H
+        jsr popa
+        sta r2L
+        jsr popax
+        sta r1L
+        stx r1H
+        pha
+        txa
+        pha
+        jsr FillRam
+        pla
+        tax
+        pla
+        rts
index 19953694fa1b2502023085169ba76ba0c96950c7..4edceddb9c964689793c7b37d12a99d24768132a 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void InitRam         (struct inittab*);
 
-           .export _InitRam
+            .export _InitRam
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _InitRam:
-       sta r0L
-       stx r0H
-       jmp InitRam
+        sta r0L
+        stx r0H
+        jmp InitRam
index c5134bef327e45a262541463031dcf3257d1fb24..7c8a530be0762f0934424d7e04d55ad24d5fffa3 100644 (file)
@@ -5,22 +5,22 @@
 
 ; void* MoveData         (char* dest, char *source, int length);
 
-           .import popax
-           .export _MoveData
+            .import popax
+            .export _MoveData
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _MoveData:
-       sta r2L
-       stx r2H
-       jsr popax
-       sta r0L
-       stx r0H
-       jsr popax
-       sta r1L
-       stx r1H
-       jsr MoveData
-       lda r1L                 ; return dest ptr to be compatible with memmove and memcpy
-       ldx r1H
-       rts
+        sta r2L
+        stx r2H
+        jsr popax
+        sta r0L
+        stx r0H
+        jsr popax
+        sta r1L
+        stx r1H
+        jsr MoveData
+        lda r1L                 ; return dest ptr to be compatible with memmove and memcpy
+        ldx r1H
+        rts
index 6213f992359f621e3ace7cdc924a4b632f56382f..5ddf06d019421a6cc75041e2344182ca66fc5299 100644 (file)
@@ -5,12 +5,12 @@
 
 ; void DoIcons         (struct icontab *myicons);
 
-           .export _DoIcons
+            .export _DoIcons
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _DoIcons:
-       sta r0L
-       stx r0H
-       jmp DoIcons
\ No newline at end of file
+        sta r0L
+        stx r0H
+        jmp DoIcons
\ No newline at end of file
index fb741de1df4889db9ca4323a2b64b212e33a99c8..1624a3852c56419ee81c995dd945d8cc13b2ff2e 100644 (file)
@@ -5,13 +5,13 @@
 
 ; void DoMenu         (struct menu *mymenu);
 
-           .export _DoMenu
+            .export _DoMenu
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _DoMenu:
-       sta r0L
-       stx r0H
-       lda #0
-       jmp DoMenu
\ No newline at end of file
+        sta r0L
+        stx r0H
+        lda #0
+        jmp DoMenu
\ No newline at end of file
index 1b27e262236fb4c1a7d978955ff708c4a1f1a1d7..5ac19b57a25bb9bfb0dccc7c0db5a9913aab5f6f 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void DoPreviousMenu (void);
 
-           .export _DoPreviousMenu
+            .export _DoPreviousMenu
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_DoPreviousMenu        = DoPreviousMenu
\ No newline at end of file
+_DoPreviousMenu = DoPreviousMenu
\ No newline at end of file
index 110061a4eb2b5be5f0ac925008ce10067a8dd049..b5f2306dbfc260fc112f4c9a251d7e16a1ba057d 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void GotoFirstMenu (void);
 
-           .export _GotoFirstMenu
+            .export _GotoFirstMenu
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_GotoFirstMenu = GotoFirstMenu
\ No newline at end of file
+_GotoFirstMenu  = GotoFirstMenu
\ No newline at end of file
index 02af28d4ce1eb25c61d904505a215a61c7a260b1..03a8368bf05b15ec9a30e4b5e2cd9747b7703f93 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void RecoverAllMenus (void);
 
-           .export _RecoverAllMenus
+            .export _RecoverAllMenus
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _RecoverAllMenus = RecoverAllMenus
\ No newline at end of file
index e803eeb7df8d2a73869792966a4032535f233cf0..638d03d16465c6e7316f222880116695fbd6a26f 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void RecoverMenu (void);
 
-           .export _RecoverMenu
+            .export _RecoverMenu
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_RecoverMenu   = RecoverMenu
\ No newline at end of file
+_RecoverMenu    = RecoverMenu
\ No newline at end of file
index 5c76abe05554a91604ad4e2892ad0071b0fffeb8..44d62e8077e3e1b6406af6554b83cc764b489ea9 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void ReDoMenu (void);
 
-           .export _ReDoMenu
+            .export _ReDoMenu
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_ReDoMenu      = ReDoMenu
\ No newline at end of file
+_ReDoMenu       = ReDoMenu
\ No newline at end of file
index a747b1435ecf59d281bf66899abc68cdd21d9ddb..01e6595670de340ad2c94b94d77f09349abcb971 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void ClearMouseMode (void);
 
-           .export _ClearMouseMode
+            .export _ClearMouseMode
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_ClearMouseMode        = ClearMouseMode
\ No newline at end of file
+_ClearMouseMode = ClearMouseMode
\ No newline at end of file
index c9f6d5266ae1c828fd4d8f8ef0abe07199f01480..95d298094c49f8e2d7bbad7e9420438b80f26a29 100644 (file)
@@ -5,11 +5,11 @@
 
 ; void DisablSprite (char spritenum);
 
-           .export _DisablSprite
+            .export _DisablSprite
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _DisablSprite:
-       sta r3L
-       jmp DisablSprite
\ No newline at end of file
+        sta r3L
+        jmp DisablSprite
\ No newline at end of file
index 176cd296a0d7593ee6012fff6185ddcd75656a9c..0f4d611c0733fdb09b3b2de434665cae34cec629 100644 (file)
@@ -5,15 +5,15 @@
 
 ; void DrawSprite (char spritenum, char *tab63 );
 
-           .import popa
-           .export _DrawSprite
+            .import popa
+            .export _DrawSprite
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _DrawSprite:
-       sta r4L
-       stx r4H
-       jsr popa
-       sta r3L
-       jmp DrawSprite
\ No newline at end of file
+        sta r4L
+        stx r4H
+        jsr popa
+        sta r3L
+        jmp DrawSprite
\ No newline at end of file
index 8712724b0db726075bf409c1d2ce36bb80337654..a271d2cdb82a549e2af78586b2432c49cbafbd57 100644 (file)
@@ -5,11 +5,11 @@
 
 ; void EnablSprite (char spritenum);
 
-           .export _EnablSprite
+            .export _EnablSprite
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _EnablSprite:
-       sta r3L
-       jmp EnablSprite
\ No newline at end of file
+        sta r3L
+        jmp EnablSprite
\ No newline at end of file
index ab495cd440c908bb1a1d809b4796878a41cb1f69..6659059082aa0b3825fa108acd5bfea5e407c66a 100644 (file)
@@ -4,14 +4,14 @@
 ; 21.12.1999, 2.1.2003
 
 ; char GetNextChar (void);
-;      note that if it returns 0 (FALSE) then no characters are available
+;       note that if it returns 0 (FALSE) then no characters are available
 
-           .export _GetNextChar
+            .export _GetNextChar
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _GetNextChar:
-       jsr GetNextChar
-       ldx #0
-       tay                     ; preserve Z flag
-       rts
+        jsr GetNextChar
+        ldx #0
+        tay                     ; preserve Z flag
+        rts
index 342ad0ce8fc063a5fd90bb6f240e63be477e5cf2..2fc5e58fc5c3fa250139b322877714fc09b52ab9 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void InitTextPrompt (char height);
 
-           .export _InitTextPrompt
+            .export _InitTextPrompt
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_InitTextPrompt        = InitTextPrompt
\ No newline at end of file
+_InitTextPrompt = InitTextPrompt
\ No newline at end of file
index c487e29cdd6c9eec9aaa6f49b4f7814f4d2ee5b9..0617490c5ec7f076350d5be2411046eb3e91388c 100644 (file)
@@ -5,13 +5,13 @@
 
 ; char IsMseInRegion (struct window *mywindow);
 
-           .import _InitDrawWindow
-           .export _IsMseInRegion
-           
-           .include "jumptab.inc"
+            .import _InitDrawWindow
+            .export _IsMseInRegion
+            
+            .include "jumptab.inc"
 
 _IsMseInRegion:
-       jsr _InitDrawWindow
-       jsr IsMseInRegion
-       ldx #0
-       rts
+        jsr _InitDrawWindow
+        jsr IsMseInRegion
+        ldx #0
+        rts
index d60428c3487043cb4cc4c8d1cc2e66b1cd7d2cd9..a918bb6127e4d92b2b2f48480a8bedfa9691f30b 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void MouseOff (void);
 
-           .export _MouseOff
+            .export _MouseOff
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_MouseOff      = MouseOff
\ No newline at end of file
+_MouseOff       = MouseOff
\ No newline at end of file
index 1b4365271d6504329ac11138f1b268589ce1a37d..45b4e83c2b4afb6c19602fb3d9adb845e51371fc 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void MouseUp (void);
 
-           .export _MouseUp
+            .export _MouseUp
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_MouseUp       = MouseUp
\ No newline at end of file
+_MouseUp        = MouseUp
\ No newline at end of file
index e8e131f14d1e4314931ebca2de80e90a67666c41..24e8bd14c4d8f4c7a87194bbf1a6f32a695b6426 100644 (file)
@@ -5,25 +5,25 @@
 
 ; void PosSprite (char spritenum, struct pixel *position );
 
-           .importzp ptr4
-           .import popa
-           .export _PosSprite
+            .importzp ptr4
+            .import popa
+            .export _PosSprite
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _PosSprite:
-       sta ptr4
-       stx ptr4+1
-       ldy #0
-       lda (ptr4),y
-       sta r4L
-       iny
-       lda (ptr4),y
-       sta r4H
-       iny
-       lda (ptr4),y
-       sta r5L
-       jsr popa
-       sta r3L
-       jmp PosSprite
\ No newline at end of file
+        sta ptr4
+        stx ptr4+1
+        ldy #0
+        lda (ptr4),y
+        sta r4L
+        iny
+        lda (ptr4),y
+        sta r4H
+        iny
+        lda (ptr4),y
+        sta r5L
+        jsr popa
+        sta r3L
+        jmp PosSprite
\ No newline at end of file
index 9b63b6672320d238222094d9137a419f770f03d9..8b5734fd8dc49ea89eeffc4a7dd736235a3f3043 100644 (file)
@@ -5,17 +5,17 @@
 
 ; void PromptOff (void);
 
-           .export _PromptOff
+            .export _PromptOff
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _PromptOff:
 ; from 'The Hitchhiker's Guide To GEOS'
-       php
-       sei
-       jsr PromptOff
-       lda #0
-       sta alphaFlag
-       plp
-       rts
+        php
+        sei
+        jsr PromptOff
+        lda #0
+        sta alphaFlag
+        plp
+        rts
index 3390bdf633a032ada0fedca4db556c578232bca2..82f6e5a1b1148965eec6022d11cfedf3942f32ff 100644 (file)
@@ -5,20 +5,20 @@
 
 ; void PromptOn (struct pixel *);
 
-           .importzp ptr4
-           .export _PromptOn
+            .importzp ptr4
+            .export _PromptOn
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _PromptOn:
-       sta ptr4
-       stx ptr4+1
-       ldy #0
+        sta ptr4
+        stx ptr4+1
+        ldy #0
 promptLp:
-       lda (ptr4),y
-       sta stringX,y
-       iny
-       cpy #3
-       bne promptLp
-       jmp PromptOn
+        lda (ptr4),y
+        sta stringX,y
+        iny
+        cpy #3
+        bne promptLp
+        jmp PromptOn
index a64e1816ebcece1dea3f8dd0011d117fd7e5941b..06a547714c8ac261e532d594943fa6ebb5645ef4 100644 (file)
@@ -5,10 +5,10 @@
 
 ; void StartMouseMode (void);
 
-           .export _StartMouseMode
+            .export _StartMouseMode
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _StartMouseMode:
-       clc
-       jmp StartMouseMode
\ No newline at end of file
+        clc
+        jmp StartMouseMode
\ No newline at end of file
index 142cada00473343a9c7895a643d2fb2d94573882..84ead59930a682afa079f9d15aa23065efaf6032 100644 (file)
@@ -3,20 +3,20 @@
 ;
 ; 27.10.99
 
-; void InitProcesses   (char number, struct process* proctab);
+; void  InitProcesses   (char number, struct process* proctab);
 ; (rest)
-; void BlockProcess    (char number);
-; void UnblockProcess  (char number);
+; void  BlockProcess    (char number);
+; void  UnblockProcess  (char number);
 
-           .export _BlockProcess
-           .export _UnblockProcess
+            .export _BlockProcess
+            .export _UnblockProcess
 
-           .include "jumptab.inc"
-           
+            .include "jumptab.inc"
+            
 _BlockProcess:
-       tax
-       jmp BlockProcess
-           
+        tax
+        jmp BlockProcess
+            
 _UnblockProcess:
-       tax
-       jmp UnblockProcess
+        tax
+        jmp UnblockProcess
index 3fcf896f0741c95b68ab81a68b081b978b63e36b..bda914bdc87262a5f534226e27989ef733ff0c5b 100644 (file)
@@ -3,18 +3,18 @@
 ;
 ; 27.10.99
 
-; void FreezeProcess   (char number);
-; void UnfreezeProcess (char number);
+; void  FreezeProcess   (char number);
+; void  UnfreezeProcess (char number);
 
-           .export _FreezeProcess
-           .export _UnfreezeProcess
+            .export _FreezeProcess
+            .export _UnfreezeProcess
 
-           .include "jumptab.inc"
-           
+            .include "jumptab.inc"
+            
 _FreezeProcess:
-       tax
-       jmp FreezeProcess
-           
+        tax
+        jmp FreezeProcess
+            
 _UnfreezeProcess:
-       tax
-       jmp UnfreezeProcess
+        tax
+        jmp UnfreezeProcess
index 75b804c77b86b747b87b3b7fb0d3a71777eda64e..800c2dc5fad4525b00016c92ea3b364a77d6d63f 100644 (file)
@@ -3,28 +3,28 @@
 ;
 ; 27.10.99
 
-; void InitProcesses   (char number, struct process* proctab);
-; void RestartProcess  (char number);
-; void EnableProcess   (char number);
+; void  InitProcesses   (char number, struct process* proctab);
+; void  RestartProcess  (char number);
+; void  EnableProcess   (char number);
 
-           .import popa
-           .export _InitProcesses
-           .export _RestartProcess
-           .export _EnableProcess
+            .import popa
+            .export _InitProcesses
+            .export _RestartProcess
+            .export _EnableProcess
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _InitProcesses:
-       sta r0L
-       stx r0H
-       jsr popa
-       jmp InitProcesses
-           
+        sta r0L
+        stx r0H
+        jsr popa
+        jmp InitProcesses
+            
 _RestartProcess:
-       tax
-       jmp RestartProcess
-           
+        tax
+        jmp RestartProcess
+            
 _EnableProcess:
-       tax
-       jmp EnableProcess
+        tax
+        jmp EnableProcess
index 3abb39cf77f1a3063a4a6a730dc85b611e38ee01..41098f5e14122f4496d141531cb6d5d2d3337075 100644 (file)
@@ -5,30 +5,30 @@
 
 ; void Sleep (int jiffies);
 
-           .importzp ptr1
-           .importzp tmp1
-           .export _Sleep
+            .importzp ptr1
+            .importzp tmp1
+            .export _Sleep
 
-           .include "jumptab.inc"
-           .include "geossym.inc"
+            .include "jumptab.inc"
+            .include "geossym.inc"
 
 _SleepExit:
-       jsr Sleep               ; call Sleep
-       ldx tmp1
-       txs                     ; restore stack pointer
-       jmp (ptr1)              ; when timeouts control will reach here
+        jsr Sleep               ; call Sleep
+        ldx tmp1
+        txs                     ; restore stack pointer
+        jmp (ptr1)              ; when timeouts control will reach here
 
 _Sleep:
-       sta r0L                 ; store data
-       stx r0H
-       pla
-       sta ptr1
-       pla
-       sta ptr1+1              ; preserve return address
-       inc ptr1
-       bne @L0
-       inc ptr1+1              ; fix return address
-@L0:   tsx
-       stx tmp1                ; preserve stack pointer
-       jsr _SleepExit          ; call Sleep
-       jmp MainLoop            ; immediate return here - go to idle loop
+        sta r0L                 ; store data
+        stx r0H
+        pla
+        sta ptr1
+        pla
+        sta ptr1+1              ; preserve return address
+        inc ptr1
+        bne @L0
+        inc ptr1+1              ; fix return address
+@L0:    tsx
+        stx tmp1                ; preserve stack pointer
+        jsr _SleepExit          ; call Sleep
+        jmp MainLoop            ; immediate return here - go to idle loop
index 5dd59f7822d44b62afdd80fad73b2bad3e602724..dadd13e237f444c902e0ffc58dac1cd32592d3da 100644 (file)
@@ -5,8 +5,8 @@
 ; CC65 runtime: call function via pointer in ax
 ;
 
-       .export callax
+        .export callax
 
         .include "jumptab.inc"
 
-callax         = CallRoutine
+callax          = CallRoutine
index 808699525f5f365f9c6df4654c6fe891ea572a79..54de4cac72642aeab387abf138c1d6c6da01b673 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void CallRoutine (myRoutine);
 
-           .export _CallRoutine
+            .export _CallRoutine
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_CallRoutine   = CallRoutine
\ No newline at end of file
+_CallRoutine    = CallRoutine
\ No newline at end of file
index aed4b72a5a6e5727b416a40f6cd809b799b68cf9..0e82031afbf6e65055b82abf9a47dd71e7e08f68 100644 (file)
@@ -4,23 +4,23 @@
 ; Maciej 'YTM/Elysium' Witkowiak
 ; 26.10.99, 10.3.2000, 15.8.2001, 23.12.2002
 
-           .export _exit
-           .export __STARTUP__ : absolute = 1          ; Mark as startup
-           .import __STACKADDR__, __STACKSIZE__        ; Linker generated
-           .import __BACKBUFSIZE__                     ; Linker generated
-           .import initlib, donelib
-           .import callmain
-           .import zerobss
-           .importzp sp
-
-           .include "jumptab.inc"
-           .include "geossym.inc"
-           .include "const.inc"
+            .export _exit
+            .export __STARTUP__ : absolute = 1          ; Mark as startup
+            .import __STACKADDR__, __STACKSIZE__        ; Linker generated
+            .import __BACKBUFSIZE__                     ; Linker generated
+            .import initlib, donelib
+            .import callmain
+            .import zerobss
+            .importzp sp
+
+            .include "jumptab.inc"
+            .include "geossym.inc"
+            .include "const.inc"
 
 ; ------------------------------------------------------------------------
 ; Place the startup code in a special segment.
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 ; GEOS 64/128 initializes the screen before starting an application while
 ; Apple GEOS does not. In order to provide identical startup conditions
 ; the pattern and dispBufferOn even on GEOS 64/128 although we don't use
 ; them here.
 
-       lda #2                  ; Checkerboard pattern
-       jsr SetPattern
-       lda #<(ST_WR_FORE | .MIN (ST_WR_BACK, __BACKBUFSIZE__))
-       sta dispBufferOn
+        lda #2                  ; Checkerboard pattern
+        jsr SetPattern
+        lda #<(ST_WR_FORE | .MIN (ST_WR_BACK, __BACKBUFSIZE__))
+        sta dispBufferOn
 .ifdef __GEOS_APPLE__
-       jsr i_Rectangle
-       .byte 0
-       .byte SC_PIX_HEIGHT-1
-       .word 0
-       .word SC_PIX_WIDTH-1
+        jsr i_Rectangle
+        .byte 0
+        .byte SC_PIX_HEIGHT-1
+        .word 0
+        .word SC_PIX_WIDTH-1
 .endif
 
 ; Clear the BSS data.
 
-       jsr zerobss
+        jsr zerobss
 
 ; Setup stack.
 
-       lda #<(__STACKADDR__ + __STACKSIZE__)
-       ldx #>(__STACKADDR__ + __STACKSIZE__)
-       sta sp
-       stx sp+1
+        lda #<(__STACKADDR__ + __STACKSIZE__)
+        ldx #>(__STACKADDR__ + __STACKSIZE__)
+        sta sp
+        stx sp+1
 
 ; Call module constructors.
 
-       jsr initlib
+        jsr initlib
 
 ; Push arguments and call main().
 
-       cli
-       jsr callmain
+        cli
+        jsr callmain
 
 ; Call module destructors.
 
-_exit: jsr donelib
+_exit:  jsr donelib
 
-       jmp EnterDeskTop        ; Return control to the system
+        jmp EnterDeskTop        ; Return control to the system
index 1639e016128fb5566326ffab0bf62a3ec5112d53..cc0cc98b3cd8a0e1a20a2700efbc38a932d026a3 100644 (file)
@@ -5,7 +5,7 @@
 ; Character specification table.
 ;
 
-       .include "ctype.inc"
+        .include "ctype.inc"
 
 .rodata
 
 ;   * We save some code in the isxxx functions.
 
 __ctype:
-       .byte CT_CTRL           ;                         0/00 ____NULL___
-       .byte CT_CTRL           ;                         1/01 ____N/A____
-       .byte CT_CTRL           ;                         2/02 ____N/A____
-       .byte CT_CTRL           ;                         3/03 ____N/A____
-       .byte CT_CTRL           ;                         4/04 ____N/A____
-       .byte CT_CTRL           ;                         5/05 ____N/A____
-       .byte CT_CTRL           ;                         6/06 ____N/A____
-       .byte CT_CTRL           ;                         7/07 ____N/A____
-       .byte CT_CTRL           ;                         8/08 __BAKSPACE_
-       .byte CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB ;      9/09 __FWDSPACE_
-       .byte CT_CTRL | CT_OTHER_WS ;                    10/0a _____LF____
-       .byte CT_CTRL           ;                        11/0b ____HOME___
-       .byte CT_CTRL           ;                        12/0c ___UPLINE__
-       .byte CT_CTRL | CT_OTHER_WS ;                    13/0d _____CR____
-       .byte CT_CTRL           ;                        14/0e __ULINEON__
-       .byte CT_CTRL           ;                        15/0f __ULINEOFF_
-       .byte CT_CTRL           ;                        16/10 _ESC_GRAPH_
-       .byte CT_CTRL           ;                        17/11 ____N/A____
-       .byte CT_CTRL           ;                        18/12 ___REVON___
-       .byte CT_CTRL           ;                        19/13 ___REVOFF__
-       .byte CT_CTRL           ;                        20/14 ___GOTOX___
-       .byte CT_CTRL           ;                        21/15 ___GOTOY___
-       .byte CT_CTRL           ;                        22/16 ___GOTOXY__
-       .byte CT_CTRL           ;                        23/17 _NEWCRDSET_
-       .byte CT_CTRL           ;                        24/18 ___BOLDON__
-       .byte CT_CTRL           ;                        25/19 __ITALICON_
-       .byte CT_CTRL           ;                        26/1a _OUTLINEON_
-       .byte CT_CTRL           ;                        27/1b _PLAINTEXT_
-       .byte CT_CTRL           ;                        28/1c ____N/A____
-       .byte CT_CTRL           ;                        29/1d ____N/A____
-       .byte CT_CTRL           ;                        30/1e ____N/A____
-       .byte CT_CTRL           ;                        31/1f ____N/A____
-       .byte CT_SPACE_TAB | CT_SPACE ;                  32/20 ___SPACE___
-       .byte CT_NONE           ;                        33/21 _____!_____
-       .byte CT_NONE           ;                        34/22 _____"_____
-       .byte CT_NONE           ;                        35/23 _____#_____
-       .byte CT_NONE           ;                        36/24 _____$_____
-       .byte CT_NONE           ;                        37/25 _____%_____
-       .byte CT_NONE           ;                        38/26 _____&_____
-       .byte CT_NONE           ;                        39/27 _____'_____
-       .byte CT_NONE           ;                        40/28 _____(_____
-       .byte CT_NONE           ;                        41/29 _____)_____
-       .byte CT_NONE           ;                        42/2a _____*_____
-       .byte CT_NONE           ;                        43/2b _____+_____
-       .byte CT_NONE           ;                        44/2c _____,_____
-       .byte CT_NONE           ;                        45/2d _____-_____
-       .byte CT_NONE           ;                        46/2e _____._____
-       .byte CT_NONE           ;                        47/2f _____/_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     48/30 _____0_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     49/31 _____1_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     50/32 _____2_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     51/33 _____3_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     52/34 _____4_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     53/35 _____5_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     54/36 _____6_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     55/37 _____7_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     56/38 _____8_____
-       .byte CT_DIGIT | CT_XDIGIT ;                     57/39 _____9_____
-       .byte CT_NONE           ;                        58/3a _____:_____
-       .byte CT_NONE           ;                        59/3b _____;_____
-       .byte CT_NONE           ;                        60/3c _____<_____
-       .byte CT_NONE           ;                        61/3d _____=_____
-       .byte CT_NONE           ;                        62/3e _____>_____
-       .byte CT_NONE           ;                        63/3f _____?_____
-       .byte CT_NONE           ;                        64/40 _____@_____
-       .byte CT_UPPER | CT_XDIGIT ;                     65/41 _____A_____
-       .byte CT_UPPER | CT_XDIGIT ;                     66/42 _____B_____
-       .byte CT_UPPER | CT_XDIGIT ;                     67/43 _____C_____
-       .byte CT_UPPER | CT_XDIGIT ;                     68/44 _____D_____
-       .byte CT_UPPER | CT_XDIGIT ;                     69/45 _____E_____
-       .byte CT_UPPER | CT_XDIGIT ;                     70/46 _____F_____
-       .byte CT_UPPER          ;                        71/47 _____G_____
-       .byte CT_UPPER          ;                        72/48 _____H_____
-       .byte CT_UPPER          ;                        73/49 _____I_____
-       .byte CT_UPPER          ;                        74/4a _____J_____
-       .byte CT_UPPER          ;                        75/4b _____K_____
-       .byte CT_UPPER          ;                        76/4c _____L_____
-       .byte CT_UPPER          ;                        77/4d _____M_____
-       .byte CT_UPPER          ;                        78/4e _____N_____
-       .byte CT_UPPER          ;                        79/4f _____O_____
-       .byte CT_UPPER          ;                        80/50 _____P_____
-       .byte CT_UPPER          ;                        81/51 _____Q_____
-       .byte CT_UPPER          ;                        82/52 _____R_____
-       .byte CT_UPPER          ;                        83/53 _____S_____
-       .byte CT_UPPER          ;                        84/54 _____T_____
-       .byte CT_UPPER          ;                        85/55 _____U_____
-       .byte CT_UPPER          ;                        86/56 _____V_____
-       .byte CT_UPPER          ;                        87/57 _____W_____
-       .byte CT_UPPER          ;                        88/58 _____X_____
-       .byte CT_UPPER          ;                        89/59 _____Y_____
-       .byte CT_UPPER          ;                        90/5a _____Z_____
-       .byte CT_NONE           ;                        91/5b _____[_____
-       .byte CT_NONE           ;                        92/5c _____\_____
-       .byte CT_NONE           ;                        93/5d _____]_____
-       .byte CT_NONE           ;                        94/5e _____^_____
-       .byte CT_NONE           ;                        95/5f _UNDERLINE_
-       .byte CT_NONE           ;                        96/60 _____`_____
-       .byte CT_LOWER | CT_XDIGIT ;                     97/61 _____a_____
-       .byte CT_LOWER | CT_XDIGIT ;                     98/62 _____b_____
-       .byte CT_LOWER | CT_XDIGIT ;                     99/63 _____c_____
-       .byte CT_LOWER | CT_XDIGIT ;                    100/64 _____d_____
-       .byte CT_LOWER | CT_XDIGIT ;                    101/65 _____e_____
-       .byte CT_LOWER | CT_XDIGIT ;                    102/66 _____f_____
-       .byte CT_LOWER          ;                       103/67 _____g_____
-       .byte CT_LOWER          ;                       104/68 _____h_____
-       .byte CT_LOWER          ;                       105/69 _____i_____
-       .byte CT_LOWER          ;                       106/6a _____j_____
-       .byte CT_LOWER          ;                       107/6b _____k_____
-       .byte CT_LOWER          ;                       108/6c _____l_____
-       .byte CT_LOWER          ;                       109/6d _____m_____
-       .byte CT_LOWER          ;                       110/6e _____n_____
-       .byte CT_LOWER          ;                       111/6f _____o_____
-       .byte CT_LOWER          ;                       112/70 _____p_____
-       .byte CT_LOWER          ;                       113/71 _____q_____
-       .byte CT_LOWER          ;                       114/72 _____r_____
-       .byte CT_LOWER          ;                       115/73 _____s_____
-       .byte CT_LOWER          ;                       116/74 _____t_____
-       .byte CT_LOWER          ;                       117/75 _____u_____
-       .byte CT_LOWER          ;                       118/76 _____v_____
-       .byte CT_LOWER          ;                       119/77 _____w_____
-       .byte CT_LOWER          ;                       120/78 _____x_____
-       .byte CT_LOWER          ;                       121/79 _____y_____
-       .byte CT_LOWER          ;                       122/7a _____z_____
-       .byte CT_NONE           ;                       123/7b _____{_____
-       .byte CT_NONE           ;                       124/7c _____|_____
-       .byte CT_NONE           ;                       125/7d _____}_____
-       .byte CT_NONE           ;                       126/7e _____~_____
-       .byte CT_CTRL           ;                       127/7f __USELAST__
-       .byte CT_NONE           ;                       128/80 __SHORTCUT_
-       .byte CT_NONE           ;                       129/81 ____N/A____
-       .byte CT_NONE           ;                       130/82 ____N/A____
-       .byte CT_NONE           ;                       131/83 ____N/A____
-       .byte CT_NONE           ;                       132/84 ____N/A____
-       .byte CT_NONE           ;                       133/85 ____N/A____
-       .byte CT_NONE           ;                       134/86 ____N/A____
-       .byte CT_NONE           ;                       135/87 ____N/A____
-       .byte CT_NONE           ;                       136/88 ____N/A____
-       .byte CT_NONE           ;                       137/89 ____N/A____
-       .byte CT_NONE           ;                       138/8a ____N/A____
-       .byte CT_NONE           ;                       139/8b ____N/A____
-       .byte CT_NONE           ;                       140/8c ____N/A____
-       .byte CT_NONE           ;                       141/8d ____N/A____
-       .byte CT_NONE           ;                       142/8e ____N/A____
-       .byte CT_NONE           ;                       143/8f ____N/A____
-       .byte CT_NONE           ;                       144/90 ____N/A____
-       .byte CT_NONE           ;                       145/91 ____N/A____
-       .byte CT_NONE           ;                       146/92 ____N/A____
-       .byte CT_NONE           ;                       147/93 ____N/A____
-       .byte CT_NONE           ;                       148/94 ____N/A____
-       .byte CT_NONE           ;                       149/95 ____N/A____
-       .byte CT_NONE           ;                       150/96 ____N/A____
-       .byte CT_NONE           ;                       151/97 ____N/A____
-       .byte CT_NONE           ;                       152/98 ____N/A____
-       .byte CT_NONE           ;                       153/99 ____N/A____
-       .byte CT_NONE           ;                       154/9a ____N/A____
-       .byte CT_NONE           ;                       155/9b ____N/A____
-       .byte CT_NONE           ;                       156/9c ____N/A____
-       .byte CT_NONE           ;                       157/9d ____N/A____
-       .byte CT_NONE           ;                       158/9e ____N/A____
-       .byte CT_NONE           ;                       159/9f ____N/A____
-       .byte CT_NONE           ;                       160/a0 ____N/A____
-       .byte CT_NONE           ;                       161/a1 ____N/A____
-       .byte CT_NONE           ;                       162/a2 ____N/A____
-       .byte CT_NONE           ;                       163/a3 ____N/A____
-       .byte CT_NONE           ;                       164/a4 ____N/A____
-       .byte CT_NONE           ;                       165/a5 ____N/A____
-       .byte CT_NONE           ;                       166/a6 ____N/A____
-       .byte CT_NONE           ;                       167/a7 ____N/A____
-       .byte CT_NONE           ;                       168/a8 ____N/A____
-       .byte CT_NONE           ;                       169/a9 ____N/A____
-       .byte CT_NONE           ;                       170/aa ____N/A____
-       .byte CT_NONE           ;                       171/ab ____N/A____
-       .byte CT_NONE           ;                       172/ac ____N/A____
-       .byte CT_NONE           ;                       173/ad ____N/A____
-       .byte CT_NONE           ;                       174/ae ____N/A____
-       .byte CT_NONE           ;                       175/af ____N/A____
-       .byte CT_NONE           ;                       176/b0 ____N/A____
-       .byte CT_NONE           ;                       177/b1 ____N/A____
-       .byte CT_NONE           ;                       178/b2 ____N/A____
-       .byte CT_NONE           ;                       179/b3 ____N/A____
-       .byte CT_NONE           ;                       180/b4 ____N/A____
-       .byte CT_NONE           ;                       181/b5 ____N/A____
-       .byte CT_NONE           ;                       182/b6 ____N/A____
-       .byte CT_NONE           ;                       183/b7 ____N/A____
-       .byte CT_NONE           ;                       184/b8 ____N/A____
-       .byte CT_NONE           ;                       185/b9 ____N/A____
-       .byte CT_NONE           ;                       186/ba ____N/A____
-       .byte CT_NONE           ;                       187/bb ____N/A____
-       .byte CT_NONE           ;                       188/bc ____N/A____
-       .byte CT_NONE           ;                       189/bd ____N/A____
-       .byte CT_NONE           ;                       190/be ____N/A____
-       .byte CT_NONE           ;                       191/bf ____N/A____
-       .byte CT_NONE           ;                       192/c0 ____N/A____
-       .byte CT_NONE           ;                       193/c1 ____N/A____
-       .byte CT_NONE           ;                       194/c2 ____N/A____
-       .byte CT_NONE           ;                       195/c3 ____N/A____
-       .byte CT_NONE           ;                       196/c4 ____N/A____
-       .byte CT_NONE           ;                       197/c5 ____N/A____
-       .byte CT_NONE           ;                       198/c6 ____N/A____
-       .byte CT_NONE           ;                       199/c7 ____N/A____
-       .byte CT_NONE           ;                       200/c8 ____N/A____
-       .byte CT_NONE           ;                       201/c9 ____N/A____
-       .byte CT_NONE           ;                       202/ca ____N/A____
-       .byte CT_NONE           ;                       203/cb ____N/A____
-       .byte CT_NONE           ;                       204/cc ____N/A____
-       .byte CT_NONE           ;                       205/cd ____N/A____
-       .byte CT_NONE           ;                       206/ce ____N/A____
-       .byte CT_NONE           ;                       207/cf ____N/A____
-       .byte CT_NONE           ;                       208/d0 ____N/A____
-       .byte CT_NONE           ;                       209/d1 ____N/A____
-       .byte CT_NONE           ;                       210/d2 ____N/A____
-       .byte CT_NONE           ;                       211/d3 ____N/A____
-       .byte CT_NONE           ;                       212/d4 ____N/A____
-       .byte CT_NONE           ;                       213/d5 ____N/A____
-       .byte CT_NONE           ;                       214/d6 ____N/A____
-       .byte CT_NONE           ;                       215/d7 ____N/A____
-       .byte CT_NONE           ;                       216/d8 ____N/A____
-       .byte CT_NONE           ;                       217/d9 ____N/A____
-       .byte CT_NONE           ;                       218/da ____N/A____
-       .byte CT_NONE           ;                       219/db ____N/A____
-       .byte CT_NONE           ;                       220/dc ____N/A____
-       .byte CT_NONE           ;                       221/dd ____N/A____
-       .byte CT_NONE           ;                       222/de ____N/A____
-       .byte CT_NONE           ;                       223/df ____N/A____
-       .byte CT_NONE           ;                       224/e0 ____N/A____
-       .byte CT_NONE           ;                       225/e1 ____N/A____
-       .byte CT_NONE           ;                       226/e2 ____N/A____
-       .byte CT_NONE           ;                       227/e3 ____N/A____
-       .byte CT_NONE           ;                       228/e4 ____N/A____
-       .byte CT_NONE           ;                       229/e5 ____N/A____
-       .byte CT_NONE           ;                       230/e6 ____N/A____
-       .byte CT_NONE           ;                       231/e7 ____N/A____
-       .byte CT_NONE           ;                       232/e8 ____N/A____
-       .byte CT_NONE           ;                       233/e9 ____N/A____
-       .byte CT_NONE           ;                       234/ea ____N/A____
-       .byte CT_NONE           ;                       235/eb ____N/A____
-       .byte CT_NONE           ;                       236/ec ____N/A____
-       .byte CT_NONE           ;                       237/ed ____N/A____
-       .byte CT_NONE           ;                       238/ee ____N/A____
-       .byte CT_NONE           ;                       239/ef ____N/A____
-       .byte CT_NONE           ;                       240/f0 ____N/A____
-       .byte CT_NONE           ;                       241/f1 ____N/A____
-       .byte CT_NONE           ;                       242/f2 ____N/A____
-       .byte CT_NONE           ;                       243/f3 ____N/A____
-       .byte CT_NONE           ;                       244/f4 ____N/A____
-       .byte CT_NONE           ;                       245/f5 ____N/A____
-       .byte CT_NONE           ;                       246/f6 ____N/A____
-       .byte CT_NONE           ;                       247/f7 ____N/A____
-       .byte CT_NONE           ;                       248/f8 ____N/A____
-       .byte CT_NONE           ;                       249/f9 ____N/A____
-       .byte CT_NONE           ;                       250/fa ____N/A____
-       .byte CT_NONE           ;                       251/fb ____N/A____
-       .byte CT_NONE           ;                       252/fc ____N/A____
-       .byte CT_NONE           ;                       253/fd ____N/A____
-       .byte CT_NONE           ;                       254/fe ____N/A____
-       .byte CT_NONE           ;                       255/ff ____N/A____
+        .byte CT_CTRL           ;                         0/00 ____NULL___
+        .byte CT_CTRL           ;                         1/01 ____N/A____
+        .byte CT_CTRL           ;                         2/02 ____N/A____
+        .byte CT_CTRL           ;                         3/03 ____N/A____
+        .byte CT_CTRL           ;                         4/04 ____N/A____
+        .byte CT_CTRL           ;                         5/05 ____N/A____
+        .byte CT_CTRL           ;                         6/06 ____N/A____
+        .byte CT_CTRL           ;                         7/07 ____N/A____
+        .byte CT_CTRL           ;                         8/08 __BAKSPACE_
+        .byte CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB ;      9/09 __FWDSPACE_
+        .byte CT_CTRL | CT_OTHER_WS ;                    10/0a _____LF____
+        .byte CT_CTRL           ;                        11/0b ____HOME___
+        .byte CT_CTRL           ;                        12/0c ___UPLINE__
+        .byte CT_CTRL | CT_OTHER_WS ;                    13/0d _____CR____
+        .byte CT_CTRL           ;                        14/0e __ULINEON__
+        .byte CT_CTRL           ;                        15/0f __ULINEOFF_
+        .byte CT_CTRL           ;                        16/10 _ESC_GRAPH_
+        .byte CT_CTRL           ;                        17/11 ____N/A____
+        .byte CT_CTRL           ;                        18/12 ___REVON___
+        .byte CT_CTRL           ;                        19/13 ___REVOFF__
+        .byte CT_CTRL           ;                        20/14 ___GOTOX___
+        .byte CT_CTRL           ;                        21/15 ___GOTOY___
+        .byte CT_CTRL           ;                        22/16 ___GOTOXY__
+        .byte CT_CTRL           ;                        23/17 _NEWCRDSET_
+        .byte CT_CTRL           ;                        24/18 ___BOLDON__
+        .byte CT_CTRL           ;                        25/19 __ITALICON_
+        .byte CT_CTRL           ;                        26/1a _OUTLINEON_
+        .byte CT_CTRL           ;                        27/1b _PLAINTEXT_
+        .byte CT_CTRL           ;                        28/1c ____N/A____
+        .byte CT_CTRL           ;                        29/1d ____N/A____
+        .byte CT_CTRL           ;                        30/1e ____N/A____
+        .byte CT_CTRL           ;                        31/1f ____N/A____
+        .byte CT_SPACE_TAB | CT_SPACE ;                  32/20 ___SPACE___
+        .byte CT_NONE           ;                        33/21 _____!_____
+        .byte CT_NONE           ;                        34/22 _____"_____
+        .byte CT_NONE           ;                        35/23 _____#_____
+        .byte CT_NONE           ;                        36/24 _____$_____
+        .byte CT_NONE           ;                        37/25 _____%_____
+        .byte CT_NONE           ;                        38/26 _____&_____
+        .byte CT_NONE           ;                        39/27 _____'_____
+        .byte CT_NONE           ;                        40/28 _____(_____
+        .byte CT_NONE           ;                        41/29 _____)_____
+        .byte CT_NONE           ;                        42/2a _____*_____
+        .byte CT_NONE           ;                        43/2b _____+_____
+        .byte CT_NONE           ;                        44/2c _____,_____
+        .byte CT_NONE           ;                        45/2d _____-_____
+        .byte CT_NONE           ;                        46/2e _____._____
+        .byte CT_NONE           ;                        47/2f _____/_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     48/30 _____0_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     49/31 _____1_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     50/32 _____2_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     51/33 _____3_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     52/34 _____4_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     53/35 _____5_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     54/36 _____6_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     55/37 _____7_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     56/38 _____8_____
+        .byte CT_DIGIT | CT_XDIGIT ;                     57/39 _____9_____
+        .byte CT_NONE           ;                        58/3a _____:_____
+        .byte CT_NONE           ;                        59/3b _____;_____
+        .byte CT_NONE           ;                        60/3c _____<_____
+        .byte CT_NONE           ;                        61/3d _____=_____
+        .byte CT_NONE           ;                        62/3e _____>_____
+        .byte CT_NONE           ;                        63/3f _____?_____
+        .byte CT_NONE           ;                        64/40 _____@_____
+        .byte CT_UPPER | CT_XDIGIT ;                     65/41 _____A_____
+        .byte CT_UPPER | CT_XDIGIT ;                     66/42 _____B_____
+        .byte CT_UPPER | CT_XDIGIT ;                     67/43 _____C_____
+        .byte CT_UPPER | CT_XDIGIT ;                     68/44 _____D_____
+        .byte CT_UPPER | CT_XDIGIT ;                     69/45 _____E_____
+        .byte CT_UPPER | CT_XDIGIT ;                     70/46 _____F_____
+        .byte CT_UPPER          ;                        71/47 _____G_____
+        .byte CT_UPPER          ;                        72/48 _____H_____
+        .byte CT_UPPER          ;                        73/49 _____I_____
+        .byte CT_UPPER          ;                        74/4a _____J_____
+        .byte CT_UPPER          ;                        75/4b _____K_____
+        .byte CT_UPPER          ;                        76/4c _____L_____
+        .byte CT_UPPER          ;                        77/4d _____M_____
+        .byte CT_UPPER          ;                        78/4e _____N_____
+        .byte CT_UPPER          ;                        79/4f _____O_____
+        .byte CT_UPPER          ;                        80/50 _____P_____
+        .byte CT_UPPER          ;                        81/51 _____Q_____
+        .byte CT_UPPER          ;                        82/52 _____R_____
+        .byte CT_UPPER          ;                        83/53 _____S_____
+        .byte CT_UPPER          ;                        84/54 _____T_____
+        .byte CT_UPPER          ;                        85/55 _____U_____
+        .byte CT_UPPER          ;                        86/56 _____V_____
+        .byte CT_UPPER          ;                        87/57 _____W_____
+        .byte CT_UPPER          ;                        88/58 _____X_____
+        .byte CT_UPPER          ;                        89/59 _____Y_____
+        .byte CT_UPPER          ;                        90/5a _____Z_____
+        .byte CT_NONE           ;                        91/5b _____[_____
+        .byte CT_NONE           ;                        92/5c _____\_____
+        .byte CT_NONE           ;                        93/5d _____]_____
+        .byte CT_NONE           ;                        94/5e _____^_____
+        .byte CT_NONE           ;                        95/5f _UNDERLINE_
+        .byte CT_NONE           ;                        96/60 _____`_____
+        .byte CT_LOWER | CT_XDIGIT ;                     97/61 _____a_____
+        .byte CT_LOWER | CT_XDIGIT ;                     98/62 _____b_____
+        .byte CT_LOWER | CT_XDIGIT ;                     99/63 _____c_____
+        .byte CT_LOWER | CT_XDIGIT ;                    100/64 _____d_____
+        .byte CT_LOWER | CT_XDIGIT ;                    101/65 _____e_____
+        .byte CT_LOWER | CT_XDIGIT ;                    102/66 _____f_____
+        .byte CT_LOWER          ;                       103/67 _____g_____
+        .byte CT_LOWER          ;                       104/68 _____h_____
+        .byte CT_LOWER          ;                       105/69 _____i_____
+        .byte CT_LOWER          ;                       106/6a _____j_____
+        .byte CT_LOWER          ;                       107/6b _____k_____
+        .byte CT_LOWER          ;                       108/6c _____l_____
+        .byte CT_LOWER          ;                       109/6d _____m_____
+        .byte CT_LOWER          ;                       110/6e _____n_____
+        .byte CT_LOWER          ;                       111/6f _____o_____
+        .byte CT_LOWER          ;                       112/70 _____p_____
+        .byte CT_LOWER          ;                       113/71 _____q_____
+        .byte CT_LOWER          ;                       114/72 _____r_____
+        .byte CT_LOWER          ;                       115/73 _____s_____
+        .byte CT_LOWER          ;                       116/74 _____t_____
+        .byte CT_LOWER          ;                       117/75 _____u_____
+        .byte CT_LOWER          ;                       118/76 _____v_____
+        .byte CT_LOWER          ;                       119/77 _____w_____
+        .byte CT_LOWER          ;                       120/78 _____x_____
+        .byte CT_LOWER          ;                       121/79 _____y_____
+        .byte CT_LOWER          ;                       122/7a _____z_____
+        .byte CT_NONE           ;                       123/7b _____{_____
+        .byte CT_NONE           ;                       124/7c _____|_____
+        .byte CT_NONE           ;                       125/7d _____}_____
+        .byte CT_NONE           ;                       126/7e _____~_____
+        .byte CT_CTRL           ;                       127/7f __USELAST__
+        .byte CT_NONE           ;                       128/80 __SHORTCUT_
+        .byte CT_NONE           ;                       129/81 ____N/A____
+        .byte CT_NONE           ;                       130/82 ____N/A____
+        .byte CT_NONE           ;                       131/83 ____N/A____
+        .byte CT_NONE           ;                       132/84 ____N/A____
+        .byte CT_NONE           ;                       133/85 ____N/A____
+        .byte CT_NONE           ;                       134/86 ____N/A____
+        .byte CT_NONE           ;                       135/87 ____N/A____
+        .byte CT_NONE           ;                       136/88 ____N/A____
+        .byte CT_NONE           ;                       137/89 ____N/A____
+        .byte CT_NONE           ;                       138/8a ____N/A____
+        .byte CT_NONE           ;                       139/8b ____N/A____
+        .byte CT_NONE           ;                       140/8c ____N/A____
+        .byte CT_NONE           ;                       141/8d ____N/A____
+        .byte CT_NONE           ;                       142/8e ____N/A____
+        .byte CT_NONE           ;                       143/8f ____N/A____
+        .byte CT_NONE           ;                       144/90 ____N/A____
+        .byte CT_NONE           ;                       145/91 ____N/A____
+        .byte CT_NONE           ;                       146/92 ____N/A____
+        .byte CT_NONE           ;                       147/93 ____N/A____
+        .byte CT_NONE           ;                       148/94 ____N/A____
+        .byte CT_NONE           ;                       149/95 ____N/A____
+        .byte CT_NONE           ;                       150/96 ____N/A____
+        .byte CT_NONE           ;                       151/97 ____N/A____
+        .byte CT_NONE           ;                       152/98 ____N/A____
+        .byte CT_NONE           ;                       153/99 ____N/A____
+        .byte CT_NONE           ;                       154/9a ____N/A____
+        .byte CT_NONE           ;                       155/9b ____N/A____
+        .byte CT_NONE           ;                       156/9c ____N/A____
+        .byte CT_NONE           ;                       157/9d ____N/A____
+        .byte CT_NONE           ;                       158/9e ____N/A____
+        .byte CT_NONE           ;                       159/9f ____N/A____
+        .byte CT_NONE           ;                       160/a0 ____N/A____
+        .byte CT_NONE           ;                       161/a1 ____N/A____
+        .byte CT_NONE           ;                       162/a2 ____N/A____
+        .byte CT_NONE           ;                       163/a3 ____N/A____
+        .byte CT_NONE           ;                       164/a4 ____N/A____
+        .byte CT_NONE           ;                       165/a5 ____N/A____
+        .byte CT_NONE           ;                       166/a6 ____N/A____
+        .byte CT_NONE           ;                       167/a7 ____N/A____
+        .byte CT_NONE           ;                       168/a8 ____N/A____
+        .byte CT_NONE           ;                       169/a9 ____N/A____
+        .byte CT_NONE           ;                       170/aa ____N/A____
+        .byte CT_NONE           ;                       171/ab ____N/A____
+        .byte CT_NONE           ;                       172/ac ____N/A____
+        .byte CT_NONE           ;                       173/ad ____N/A____
+        .byte CT_NONE           ;                       174/ae ____N/A____
+        .byte CT_NONE           ;                       175/af ____N/A____
+        .byte CT_NONE           ;                       176/b0 ____N/A____
+        .byte CT_NONE           ;                       177/b1 ____N/A____
+        .byte CT_NONE           ;                       178/b2 ____N/A____
+        .byte CT_NONE           ;                       179/b3 ____N/A____
+        .byte CT_NONE           ;                       180/b4 ____N/A____
+        .byte CT_NONE           ;                       181/b5 ____N/A____
+        .byte CT_NONE           ;                       182/b6 ____N/A____
+        .byte CT_NONE           ;                       183/b7 ____N/A____
+        .byte CT_NONE           ;                       184/b8 ____N/A____
+        .byte CT_NONE           ;                       185/b9 ____N/A____
+        .byte CT_NONE           ;                       186/ba ____N/A____
+        .byte CT_NONE           ;                       187/bb ____N/A____
+        .byte CT_NONE           ;                       188/bc ____N/A____
+        .byte CT_NONE           ;                       189/bd ____N/A____
+        .byte CT_NONE           ;                       190/be ____N/A____
+        .byte CT_NONE           ;                       191/bf ____N/A____
+        .byte CT_NONE           ;                       192/c0 ____N/A____
+        .byte CT_NONE           ;                       193/c1 ____N/A____
+        .byte CT_NONE           ;                       194/c2 ____N/A____
+        .byte CT_NONE           ;                       195/c3 ____N/A____
+        .byte CT_NONE           ;                       196/c4 ____N/A____
+        .byte CT_NONE           ;                       197/c5 ____N/A____
+        .byte CT_NONE           ;                       198/c6 ____N/A____
+        .byte CT_NONE           ;                       199/c7 ____N/A____
+        .byte CT_NONE           ;                       200/c8 ____N/A____
+        .byte CT_NONE           ;                       201/c9 ____N/A____
+        .byte CT_NONE           ;                       202/ca ____N/A____
+        .byte CT_NONE           ;                       203/cb ____N/A____
+        .byte CT_NONE           ;                       204/cc ____N/A____
+        .byte CT_NONE           ;                       205/cd ____N/A____
+        .byte CT_NONE           ;                       206/ce ____N/A____
+        .byte CT_NONE           ;                       207/cf ____N/A____
+        .byte CT_NONE           ;                       208/d0 ____N/A____
+        .byte CT_NONE           ;                       209/d1 ____N/A____
+        .byte CT_NONE           ;                       210/d2 ____N/A____
+        .byte CT_NONE           ;                       211/d3 ____N/A____
+        .byte CT_NONE           ;                       212/d4 ____N/A____
+        .byte CT_NONE           ;                       213/d5 ____N/A____
+        .byte CT_NONE           ;                       214/d6 ____N/A____
+        .byte CT_NONE           ;                       215/d7 ____N/A____
+        .byte CT_NONE           ;                       216/d8 ____N/A____
+        .byte CT_NONE           ;                       217/d9 ____N/A____
+        .byte CT_NONE           ;                       218/da ____N/A____
+        .byte CT_NONE           ;                       219/db ____N/A____
+        .byte CT_NONE           ;                       220/dc ____N/A____
+        .byte CT_NONE           ;                       221/dd ____N/A____
+        .byte CT_NONE           ;                       222/de ____N/A____
+        .byte CT_NONE           ;                       223/df ____N/A____
+        .byte CT_NONE           ;                       224/e0 ____N/A____
+        .byte CT_NONE           ;                       225/e1 ____N/A____
+        .byte CT_NONE           ;                       226/e2 ____N/A____
+        .byte CT_NONE           ;                       227/e3 ____N/A____
+        .byte CT_NONE           ;                       228/e4 ____N/A____
+        .byte CT_NONE           ;                       229/e5 ____N/A____
+        .byte CT_NONE           ;                       230/e6 ____N/A____
+        .byte CT_NONE           ;                       231/e7 ____N/A____
+        .byte CT_NONE           ;                       232/e8 ____N/A____
+        .byte CT_NONE           ;                       233/e9 ____N/A____
+        .byte CT_NONE           ;                       234/ea ____N/A____
+        .byte CT_NONE           ;                       235/eb ____N/A____
+        .byte CT_NONE           ;                       236/ec ____N/A____
+        .byte CT_NONE           ;                       237/ed ____N/A____
+        .byte CT_NONE           ;                       238/ee ____N/A____
+        .byte CT_NONE           ;                       239/ef ____N/A____
+        .byte CT_NONE           ;                       240/f0 ____N/A____
+        .byte CT_NONE           ;                       241/f1 ____N/A____
+        .byte CT_NONE           ;                       242/f2 ____N/A____
+        .byte CT_NONE           ;                       243/f3 ____N/A____
+        .byte CT_NONE           ;                       244/f4 ____N/A____
+        .byte CT_NONE           ;                       245/f5 ____N/A____
+        .byte CT_NONE           ;                       246/f6 ____N/A____
+        .byte CT_NONE           ;                       247/f7 ____N/A____
+        .byte CT_NONE           ;                       248/f8 ____N/A____
+        .byte CT_NONE           ;                       249/f9 ____N/A____
+        .byte CT_NONE           ;                       250/fa ____N/A____
+        .byte CT_NONE           ;                       251/fb ____N/A____
+        .byte CT_NONE           ;                       252/fc ____N/A____
+        .byte CT_NONE           ;                       253/fd ____N/A____
+        .byte CT_NONE           ;                       254/fe ____N/A____
+        .byte CT_NONE           ;                       255/ff ____N/A____
index b13487c42763bff37df1d97f5be55e43ae7fd5c7..774de3c14dbe0df19c04fe58a37330305bb83fbb 100644 (file)
@@ -5,10 +5,10 @@
 
 ; void EnterDeskTop (void);
 
-           .import _exit
-           .export _EnterDeskTop
+            .import _exit
+            .export _EnterDeskTop
 
 _EnterDeskTop:
-       lda #0
-       tax
-       jmp _exit
+        lda #0
+        tax
+        jmp _exit
index 5ef1c2060f456edffc9e55a5fc298295d66b9be7..0990a5a87be2057c4b645a879371d8c8ae591505 100644 (file)
@@ -5,17 +5,17 @@
 ; zeropage locations for exclusive use by the library
 ;
 
-           .exportzp cursor_x, cursor_y
-           .exportzp cursor_c, cursor_r
+            .exportzp cursor_x, cursor_y
+            .exportzp cursor_c, cursor_r
 
-.segment       "EXTZP" : zeropage
+.segment        "EXTZP" : zeropage
 
 cursor_x:
-       .res 2                  ; Cursor column (0-319/639)
+        .res 2                  ; Cursor column (0-319/639)
 cursor_y:
-       .res 1                  ; Cursor row    (0-199)
+        .res 1                  ; Cursor row    (0-199)
 
 cursor_c:
-       .res 1                  ; Cursor column (0-39/79)
+        .res 1                  ; Cursor column (0-39/79)
 cursor_r:
-       .res 1                  ; Cursor row    (0-24)
+        .res 1                  ; Cursor row    (0-24)
index 8fbb212b7e58a22a03b06364395025e979dfbc76..c0695ee47b76d615a1c6ad78558cc4ee289efcd5 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void FirstInit (void);
 
-           .export _FirstInit
+            .export _FirstInit
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_FirstInit     = FirstInit
\ No newline at end of file
+_FirstInit      = FirstInit
\ No newline at end of file
index 2a100a9c20bfc10fb13df154fe591c3ec638b9c6..74c329ee2b839bca25591ca82ede30ad77ffc026 100644 (file)
@@ -5,11 +5,11 @@
 
 ; char GetRandom (void);
 
-           .export _GetRandom
+            .export _GetRandom
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
 _GetRandom:
-       jsr GetRandom
-       ldx #0
-       rts
+        jsr GetRandom
+        ldx #0
+        rts
index ddacdb483d2577e4c045f33a3abb78ee56d7ea2e..1880ef2de477f48e55681f62460aa4dc6b1f6e7d 100644 (file)
@@ -6,10 +6,10 @@
 ; const char joy_stddrv[];
 ;
 
-           .export _joy_stddrv
+            .export _joy_stddrv
 
 .rodata
 
 _joy_stddrv:
-       .asciiz "geos-stdjoy.joy"
+        .asciiz "geos-stdjoy.joy"
 
index 02c461cb3124850e32e810fc55bcb1049ef09d0a..db829cc0bea4944160220dce0373f1cb3185b971 100644 (file)
 ; on icon of your application
 ;
 
-           .constructor initmainargs, 24
-           .import __argc, __argv
+            .constructor initmainargs, 24
+            .import __argc, __argv
 
-           .include "const.inc"
-           .include "geossym.inc"
+            .include "const.inc"
+            .include "geossym.inc"
 
-.segment       "INIT"
+.segment        "INIT"
 
 ; Setup arguments for main
 
 initmainargs:
 ; Setup a pointer to our argv vector
 
-       lda #<argv
-       sta __argv
-       lda #>argv
-       sta __argv+1
+        lda #<argv
+        sta __argv
+        lda #>argv
+        sta __argv+1
 
 ; Copy program name
-       ldy #0
+        ldy #0
 @fn_loop:
-       lda dirEntryBuf+OFF_FNAME,y
+        lda dirEntryBuf+OFF_FNAME,y
 .ifdef __GEOS_CBM__
-       cmp #$a0
+        cmp #$a0
 .else
-       cmp #0
+        cmp #0
 .endif
-       beq @fn_end
-       sta argv0,y
-       iny
-       cpy #16+1
-       bne @fn_loop
+        beq @fn_end
+        sta argv0,y
+        iny
+        cpy #16+1
+        bne @fn_loop
 @fn_end:
-       lda #0
-       sta argv0,y
-       sta __argc+1
+        lda #0
+        sta argv0,y
+        sta __argc+1
 
 ; Check if there are any more arguments
-       lda dataFileName
-       bne @threeargs
-       ldx #0                  ; no dataFileName - NULL the 2nd argument
-       stx argv+2
-       stx argv+3
-       inx                     ; there is only one argument
-       bne @setargc
+        lda dataFileName
+        bne @threeargs
+        ldx #0                  ; no dataFileName - NULL the 2nd argument
+        stx argv+2
+        stx argv+3
+        inx                     ; there is only one argument
+        bne @setargc
 @threeargs:
-       ldx #3                  ; there are three arguments
+        ldx #3                  ; there are three arguments
 @setargc:
-       stx __argc
-       rts
+        stx __argc
+        rts
 
 .data
 
 argv:
-       .word argv0             ; Pointer to program name
-       .word dataFileName      ; dataFileName or NULL if last one
-       .word dataDiskName      ; dataDiskName
-       .word $0000             ; last one must be NULL
+        .word argv0             ; Pointer to program name
+        .word dataFileName      ; dataFileName or NULL if last one
+        .word dataDiskName      ; dataDiskName
+        .word $0000             ; last one must be NULL
 
 .bss
 
 argv0:
-       .res 17                 ; Program name
+        .res 17                 ; Program name
index 88d4ac36bf06a23d85ed3f95d36f227441cfaedc..d1f8632ed7cae7f88d44c50b553687b94c4a43cf 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void MainLoop (void);
 
-           .export _MainLoop
+            .export _MainLoop
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_MainLoop      = MainLoop
+_MainLoop       = MainLoop
index da39203c21dd55926d995f74c629b566384f3e8f..4ec30206e4883b416adcfb8e9f3b36001579d98b 100644 (file)
 ; error code could not be found.
 ;
 
-           .export __sys_oserrlist
+            .export __sys_oserrlist
 
-           .include "const.inc"
+            .include "const.inc"
 
 ;----------------------------------------------------------------------------
 ; Macros used to generate the list (may get moved to an include file?)
 
 ; Regular entry
 .macro  sys_oserr_entry code, msg
-       .local Start, End
+        .local Start, End
 Start:  .byte End - Start
-       .byte code
-       .asciiz msg
+        .byte code
+        .asciiz msg
 End:
 .endmacro
 
 ; Sentinel entry
 .macro  sys_oserr_sentinel msg
-       .byte 0                 ; Length is always zero
-       .byte 0                 ; Code is unused
-       .asciiz msg
+        .byte 0                 ; Length is always zero
+        .byte 0                 ; Code is unused
+        .asciiz msg
 .endmacro
 
 ;----------------------------------------------------------------------------
@@ -43,50 +43,50 @@ End:
 .rodata
 
 __sys_oserrlist:
-       sys_oserr_entry NO_BLOCKS, "No free blocks"
-       sys_oserr_entry INV_TRACK, "Illegal track or sector"
-       sys_oserr_entry INSUFF_SPACE, "Disk full"
-       sys_oserr_entry FULL_DIRECTORY, "Directory full"
-       sys_oserr_entry FILE_NOT_FOUND, "File not found"
-       sys_oserr_entry BAD_BAM, "Inconsistent BAM"
-       sys_oserr_entry UNOPENED_VLIR, "VLIR file not opened"
-       sys_oserr_entry INV_RECORD, "Invalid VLIR record"
-       sys_oserr_entry OUT_OF_RECORDS, "Out of VLIR records"
-       sys_oserr_entry STRUCT_MISMAT, "Structure mismatch"
-       sys_oserr_entry BFR_OVERFLOW, "Buffer overflow"
-       sys_oserr_entry CANCEL_ERR, "Operation cancelled"
-       sys_oserr_entry DEV_NOT_FOUND, "Device not found"
-       sys_oserr_entry INCOMPATIBLE, "Incompatible device"
-       sys_oserr_entry 20, "Read error"
-       sys_oserr_entry 21, "Read error"
-       sys_oserr_entry 22, "Read error"
-       sys_oserr_entry 23, "Read error"
-       sys_oserr_entry 24, "Read error"
-       sys_oserr_entry 25, "Write error"
-       sys_oserr_entry 26, "Write protect on"
-       sys_oserr_entry 27, "Read error"
-       sys_oserr_entry 28, "Write error"
-       sys_oserr_entry 29, "Disk ID mismatch"
-       sys_oserr_entry 30, "Syntax error"
-       sys_oserr_entry 31, "Syntax error"
-       sys_oserr_entry 32, "Syntax error"
-       sys_oserr_entry 33, "Syntax error (invalid file name)"
-       sys_oserr_entry 34, "Syntax error (no file given)"
-       sys_oserr_entry 39, "Syntax error"
-       sys_oserr_entry 50, "Record not present"
-       sys_oserr_entry 51, "Overflow in record"
-       sys_oserr_entry 52, "File too large"
-       sys_oserr_entry 60, "Write file open"
-       sys_oserr_entry 61, "File not open"
-       sys_oserr_entry 62, "File not found"
-       sys_oserr_entry 63, "File exists"
-       sys_oserr_entry 64, "File type mismatch"
-       sys_oserr_entry 65, "No block"
-       sys_oserr_entry 66, "Illegal track or sector"
-       sys_oserr_entry 67, "Illegal system track or sector"
-       sys_oserr_entry 70, "No channel"
-       sys_oserr_entry 71, "Directory error"
-       sys_oserr_entry 72, "Disk full"
-       sys_oserr_entry 73, "DOS version mismatch"
-       sys_oserr_entry 74, "Drive not ready"
-       sys_oserr_sentinel "Unknown error"
+        sys_oserr_entry NO_BLOCKS, "No free blocks"
+        sys_oserr_entry INV_TRACK, "Illegal track or sector"
+        sys_oserr_entry INSUFF_SPACE, "Disk full"
+        sys_oserr_entry FULL_DIRECTORY, "Directory full"
+        sys_oserr_entry FILE_NOT_FOUND, "File not found"
+        sys_oserr_entry BAD_BAM, "Inconsistent BAM"
+        sys_oserr_entry UNOPENED_VLIR, "VLIR file not opened"
+        sys_oserr_entry INV_RECORD, "Invalid VLIR record"
+        sys_oserr_entry OUT_OF_RECORDS, "Out of VLIR records"
+        sys_oserr_entry STRUCT_MISMAT, "Structure mismatch"
+        sys_oserr_entry BFR_OVERFLOW, "Buffer overflow"
+        sys_oserr_entry CANCEL_ERR, "Operation cancelled"
+        sys_oserr_entry DEV_NOT_FOUND, "Device not found"
+        sys_oserr_entry INCOMPATIBLE, "Incompatible device"
+        sys_oserr_entry 20, "Read error"
+        sys_oserr_entry 21, "Read error"
+        sys_oserr_entry 22, "Read error"
+        sys_oserr_entry 23, "Read error"
+        sys_oserr_entry 24, "Read error"
+        sys_oserr_entry 25, "Write error"
+        sys_oserr_entry 26, "Write protect on"
+        sys_oserr_entry 27, "Read error"
+        sys_oserr_entry 28, "Write error"
+        sys_oserr_entry 29, "Disk ID mismatch"
+        sys_oserr_entry 30, "Syntax error"
+        sys_oserr_entry 31, "Syntax error"
+        sys_oserr_entry 32, "Syntax error"
+        sys_oserr_entry 33, "Syntax error (invalid file name)"
+        sys_oserr_entry 34, "Syntax error (no file given)"
+        sys_oserr_entry 39, "Syntax error"
+        sys_oserr_entry 50, "Record not present"
+        sys_oserr_entry 51, "Overflow in record"
+        sys_oserr_entry 52, "File too large"
+        sys_oserr_entry 60, "Write file open"
+        sys_oserr_entry 61, "File not open"
+        sys_oserr_entry 62, "File not found"
+        sys_oserr_entry 63, "File exists"
+        sys_oserr_entry 64, "File type mismatch"
+        sys_oserr_entry 65, "No block"
+        sys_oserr_entry 66, "Illegal track or sector"
+        sys_oserr_entry 67, "Illegal system track or sector"
+        sys_oserr_entry 70, "No channel"
+        sys_oserr_entry 71, "Directory error"
+        sys_oserr_entry 72, "Disk full"
+        sys_oserr_entry 73, "DOS version mismatch"
+        sys_oserr_entry 74, "Drive not ready"
+        sys_oserr_sentinel "Unknown error"
index 2acfe1e9ae8b89329828035d7b4831ff628e7829..f0915fd5bcd31ac257a9501bd120585dde4a616d 100644 (file)
@@ -7,79 +7,79 @@
 ; /* Map a system specific error into a system independent code */
 ;
 
-           .export __osmaperrno
+            .export __osmaperrno
 
-           .include "errno.inc"
-           .include "const.inc"
+            .include "errno.inc"
+            .include "const.inc"
 
 __osmaperrno:
-       ldx #ErrTabSize
-@L1:   cmp ErrTab-2,x          ; Search for the error code
-       beq @L2                 ; Jump if found
-       dex
-       dex
-       bne @L1                 ; Next entry
+        ldx #ErrTabSize
+@L1:    cmp ErrTab-2,x          ; Search for the error code
+        beq @L2                 ; Jump if found
+        dex
+        dex
+        bne @L1                 ; Next entry
 
 ; Code not found, return EINVAL
 
-       lda #<EINVAL
-       ldx #>EINVAL
-       rts
+        lda #<EINVAL
+        ldx #>EINVAL
+        rts
 
 ; Found the code
 
-@L2:   lda ErrTab-1,x
-       ldx #$00                ; High byte always zero
-       rts
+@L2:    lda ErrTab-1,x
+        ldx #$00                ; High byte always zero
+        rts
 
 .rodata
 
 ErrTab:
-       .byte NO_BLOCKS,        EINVAL  ; ???
-       .byte INV_TRACK,        EINVAL  ; invalid track&sector pair
-       .byte INSUFF_SPACE,     ENOSPC  ; out of space
-       .byte FULL_DIRECTORY,   ENOSPC  ; directory is full
-       .byte FILE_NOT_FOUND,   ENOENT  ; file not found
-       .byte BAD_BAM,          EIO     ; bam inconsistent
-       .byte UNOPENED_VLIR,    EINVAL  ; using VLIR file without opening
-       .byte INV_RECORD,       EINVAL  ; using >128 VLIR record number
-       .byte OUT_OF_RECORDS,   ENOSPC  ; cannot insert/add record
-       .byte STRUCT_MISMAT,    EINVAL  ; ???
-       .byte BFR_OVERFLOW,     ENOMEM  ; file longer than buffer or end of file
-       .byte CANCEL_ERR,       EIO     ; ???
-       .byte DEV_NOT_FOUND,    ENODEV  ; device not found
-       .byte INCOMPATIBLE,     EINVAL  ; ???
+        .byte NO_BLOCKS,        EINVAL  ; ???
+        .byte INV_TRACK,        EINVAL  ; invalid track&sector pair
+        .byte INSUFF_SPACE,     ENOSPC  ; out of space
+        .byte FULL_DIRECTORY,   ENOSPC  ; directory is full
+        .byte FILE_NOT_FOUND,   ENOENT  ; file not found
+        .byte BAD_BAM,          EIO     ; bam inconsistent
+        .byte UNOPENED_VLIR,    EINVAL  ; using VLIR file without opening
+        .byte INV_RECORD,       EINVAL  ; using >128 VLIR record number
+        .byte OUT_OF_RECORDS,   ENOSPC  ; cannot insert/add record
+        .byte STRUCT_MISMAT,    EINVAL  ; ???
+        .byte BFR_OVERFLOW,     ENOMEM  ; file longer than buffer or end of file
+        .byte CANCEL_ERR,       EIO     ; ???
+        .byte DEV_NOT_FOUND,    ENODEV  ; device not found
+        .byte INCOMPATIBLE,     EINVAL  ; ???
 
-;      .byte 20,               ; Read error
-;              .byte 21,               ; Read error
-;      .byte 22,               ; Read error
-;              .byte 23,               ; Read error
-;              .byte 24,               ; Read error
-;              .byte 25,               ; Write error
-       .byte 26, EACCES        ; Write protect on
-;              .byte 27,               ; Read error
-;              .byte 28,               ; Write error
-;              .byte 29,               ; Disk ID mismatch
-;              .byte 30,               ; Syntax error
-;              .byte 31,               ; Syntax error
-;              .byte 32,               ; Syntax error
-       .byte 33, EINVAL        ; Syntax error (invalid file name)
-       .byte 34, EINVAL        ; Syntax error (no file given)
-;              .byte 39,               ; Syntax error
-;              .byte 50,               ; Record not present
-;              .byte 51,               ; Overflow in record
-;      .byte 52,               ; File too large
-       .byte 60, EINVAL        ; Write file open
-       .byte 61, EINVAL        ; File not open
-       .byte 62, ENOENT        ; File not found
-       .byte 63, EEXIST        ; File exists
-       .byte 64, EINVAL        ; File type mismatch
-;      .byte 65,               ; No block
-;      .byte 66,               ; Illegal track or sector
-;              .byte 67,               ; Illegal system track or sector
-       .byte 70, EBUSY         ; No channel
-;              .byte 71,               ; Directory error
-;      .byte 72,               ; Disk full
-;              .byte 73,               ; DOS version mismatch
+;       .byte 20,               ; Read error
+;       .byte 21,               ; Read error
+;       .byte 22,               ; Read error
+;       .byte 23,               ; Read error
+;       .byte 24,               ; Read error
+;       .byte 25,               ; Write error
+        .byte 26, EACCES        ; Write protect on
+;       .byte 27,               ; Read error
+;       .byte 28,               ; Write error
+;       .byte 29,               ; Disk ID mismatch
+;       .byte 30,               ; Syntax error
+;       .byte 31,               ; Syntax error
+;       .byte 32,               ; Syntax error
+        .byte 33, EINVAL        ; Syntax error (invalid file name)
+        .byte 34, EINVAL        ; Syntax error (no file given)
+;       .byte 39,               ; Syntax error
+;       .byte 50,               ; Record not present
+;       .byte 51,               ; Overflow in record
+;       .byte 52,               ; File too large
+        .byte 60, EINVAL        ; Write file open
+        .byte 61, EINVAL        ; File not open
+        .byte 62, ENOENT        ; File not found
+        .byte 63, EEXIST        ; File exists
+        .byte 64, EINVAL        ; File type mismatch
+;       .byte 65,               ; No block
+;       .byte 66,               ; Illegal track or sector
+;       .byte 67,               ; Illegal system track or sector
+        .byte 70, EBUSY         ; No channel
+;       .byte 71,               ; Directory error
+;       .byte 72,               ; Disk full
+;       .byte 73,               ; DOS version mismatch
 
-ErrTabSize     = (* - ErrTab)
+ErrTabSize      = (* - ErrTab)
index cb6d483c7e83922d6f334d124ba0e540115ff22a..9ea916023ba98cd5c78e687faac7800cbb5c7f27 100644 (file)
@@ -5,8 +5,8 @@
 
 ; void Panic (void);
 
-           .export _Panic
+            .export _Panic
 
-           .include "jumptab.inc"
+            .include "jumptab.inc"
 
-_Panic         = Panic
\ No newline at end of file
+_Panic          = Panic
\ No newline at end of file
index e6e4fe51eff60f9c25445b4fb7563a011ba9017a..67c217d80c19e6ca8a0ba6875161758de0e25195 100644 (file)
@@ -5,12 +5,12 @@
 ; /* Initialize the random number generator */
 ;
 
-           .export __randomize
-           .import _srand
+            .export __randomize
+            .import _srand
 
-           .include "geossym.inc"
+            .include "geossym.inc"
 
 __randomize:
-       lda random              ; get random value from internal generator
-       ldx random+1
-       jmp _srand              ; and use it as seed
+        lda random              ; get random value from internal generator
+        ldx random+1
+        jmp _srand              ; and use it as seed
index 97a8076d7f1f144f9c0d53377ca13b6a87a155bb..adc6ad01755712e16157faab4d77288b411dfbb7 100644 (file)
@@ -4,12 +4,12 @@
 ; 2.1.2003
 ;
 
-           .export setoserror
-           .import __oserror
+            .export setoserror
+            .import __oserror
 
 setoserror:
-       stx __oserror
-       txa
-       ldx #0                  ; X is cleared (high byte for promoting char to int)
-       tay                     ; Y register is used just to save flags state
-       rts
+        stx __oserror
+        txa
+        ldx #0                  ; X is cleared (high byte for promoting char to int)
+        tay                     ; Y register is used just to save flags state
+        rts
index 29fdf8ff461d4f5dc76822c4aca846b1647b6087..75b0fabb7da5dc365b2aac1d6d0207992db6bb91 100644 (file)
@@ -18,7 +18,7 @@ time_t _systime(void)
     currentTime.tm_mon = system_date.s_month;
     currentTime.tm_year = system_date.s_year;
     if (system_date.s_year < 87) {
-       currentTime.tm_year+=100;
+        currentTime.tm_year+=100;
     }
     currentTime.tm_isdst = -1;
 
index 557ac439644b3c8910a3b26d1f1d1f40cd8262a2..8eac05941f8176d67fa537a9840a1fb6cb4e567b 100644 (file)
@@ -4,10 +4,10 @@
 ; unsigned char __fastcall__ _sysuname (struct utsname* buf);
 ;
 
-           .import utscopy
-           .export __sysuname, utsdata
+            .import utscopy
+            .export __sysuname, utsdata
 
-__sysuname     = utscopy
+__sysuname      = utscopy
 
 ;--------------------------------------------------------------------------
 ; Data. We define a fixed utsname struct here and just copy it.
@@ -15,24 +15,24 @@ __sysuname  = utscopy
 .rodata
 
 utsdata:
-       ; sysname
-       .asciiz "cc65"
+        ; sysname
+        .asciiz "cc65"
 
-       ; nodename
-       .asciiz ""
+        ; nodename
+        .asciiz ""
 
-       ; release
-       .byte ((.VERSION >> 8) & $0F) + '0'
-       .byte '.'
-       .byte ((.VERSION >> 4) & $0F) + '0'
-       .byte $00
+        ; release
+        .byte ((.VERSION >> 8) & $0F) + '0'
+        .byte '.'
+        .byte ((.VERSION >> 4) & $0F) + '0'
+        .byte $00
 
-       ; version
-       .byte (.VERSION & $0F) + '0'
-       .byte $00
+        ; version
+        .byte (.VERSION & $0F) + '0'
+        .byte $00
 
-       ; machine
-       .asciiz "GEOS"
+        ; machine
+        .asciiz "GEOS"
 
 
 
index 7432fce49f06d065ffcaa8e36c35e50a58774662..0d404294c026ff40ffe2f47fc88eb11a4eefd1a7 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values, for use by the target-shared TGI kernel
 ;
 
-           .include "tgi-kernel.inc"
+            .include "tgi-kernel.inc"
 
-tgi_color_black        = $00
-tgi_color_white        = $01
+tgi_color_black = $00
+tgi_color_white = $01
index 1d89c5f202cadd98492e7416978af898850034e3..8e1930abe57e2b835b99d5b09448ab1b2e6208c5 100644 (file)
@@ -6,9 +6,9 @@
 ; const char tgi_stddrv[];
 ;
 
-           .export _tgi_stddrv
+            .export _tgi_stddrv
 
 .rodata
 
 _tgi_stddrv:
-       .asciiz "geos-tgi.tgi"
+        .asciiz "geos-tgi.tgi"
index 46bf3fdaffd2dd452eaf5ffabf21c296dae4fd16..71f94133ad32c26c2151a0279c6d8ec2cdc426d2 100644 (file)
@@ -5,7 +5,7 @@
 ;
 
         .importzp       ptr1
-               .interruptor    joy_irq         ; Export as IRQ handler
+        .interruptor    joy_irq         ; Export as IRQ handler
 
         .include        "joy-kernel.inc"
         .include        "joy-error.inc"
 
 
 .bss
-_joy_drv:       .res    2                      ; Pointer to driver
+_joy_drv:       .res    2               ; Pointer to driver
 
 _joy_masks:     .res    .sizeof(JOY_HDR::MASKS)
 
 ; Jump table for the driver functions.
 .data
 joy_vectors:
-joy_install:           jmp     $0000
-joy_uninstall:         jmp     $0000
+joy_install:    jmp     $0000
+joy_uninstall:  jmp     $0000
 joy_count:      jmp     $0000
 joy_read:       jmp     $0000
 joy_irq:        .byte   $60, $00, $00   ; RTS plus two dummy bytes
 
 ; Driver header signature
 .rodata
-joy_sig:        .byte   $6A, $6F, $79, JOY_API_VERSION ; "joy", version
+joy_sig:        .byte   $6A, $6F, $79, JOY_API_VERSION  ; "joy", version
 
 
 .code
@@ -41,10 +41,10 @@ joy_sig:        .byte   $6A, $6F, $79, JOY_API_VERSION      ; "joy", version
 
 
 _joy_install:
-               sta     _joy_drv
-       sta     ptr1
-       stx     _joy_drv+1
-       stx     ptr1+1
+        sta     _joy_drv
+        sta     ptr1
+        stx     _joy_drv+1
+        stx     ptr1+1
 
 ; Check the driver signature
 
@@ -84,8 +84,8 @@ _joy_install:
 
         ldy     joy_irq+2               ; Check high byte of IRQ vector
         beq     @L3                     ; Jump if vector invalid
-       ldy     #$4C                    ; JMP opcode
-               sty     joy_irq                 ; Activate IRQ routine
+        ldy     #$4C                    ; JMP opcode
+        sty     joy_irq                 ; Activate IRQ routine
 @L3:    rts
 
 ; Driver signature invalid
@@ -110,8 +110,8 @@ set:    sta     joy_vectors,x
 ;  */
 
 _joy_uninstall:
-       lda     #$60                    ; RTS opcode
-               sta     joy_irq                 ; Disable IRQ entry point
+        lda     #$60                    ; RTS opcode
+        sta     joy_irq                 ; Disable IRQ entry point
 
         jsr     joy_uninstall           ; Call the driver routine
 
index 753368d42f948d016a156d57ef12a61073749d62..96ef45e78e445c6d862d70c3abee5b62d417533a 100644 (file)
@@ -7,4 +7,4 @@
 
         .include        "joy-kernel.inc"
 
-               _joy_count      = joy_count             ; Use driver entry
+        _joy_count      = joy_count             ; Use driver entry
index c03bf95f6d86d4ed81a95e7dde3e82c7176d6c0a..f76d9dfb747427fd6da1aefd8050739a60c6e4d0 100644 (file)
@@ -7,6 +7,6 @@
 
         .include        "joy-kernel.inc"
 
-               _joy_read       = joy_read              ; Use driver entry
+        _joy_read       = joy_read              ; Use driver entry
 
                                                 
index 9b85abd26841c1d7ec9bbe103e0a573910595050..25d54ff02e169bc2bee3565a27cf870b538d2d1a 100644 (file)
 
 
 _joy_unload:
-       lda     _joy_drv
+        lda     _joy_drv
         pha                             ; Save pointer to driver
-       ora     _joy_drv+1
-               beq     no_driver               ; No driver
-       lda     _joy_drv+1
-       pha
+        ora     _joy_drv+1
+        beq     no_driver               ; No driver
+        lda     _joy_drv+1
+        pha
 
-               jsr     _joy_uninstall          ; Uninstall the driver
+        jsr     _joy_uninstall          ; Uninstall the driver
 
-       pla
-       tax
-       pla                             ; Get pointer to driver
+        pla
+        tax
+        pla                             ; Get pointer to driver
         jsr     _mod_free               ; Free the driver
         jmp     return0                 ; Return JOY_ERR_OK
 
 no_driver:
-       tax                             ; X = 0
+        tax                             ; X = 0
         pla                             ; Remove pushed junk
-       lda     #JOY_ERR_NO_DRIVER
-       rts
+        lda     #JOY_ERR_NO_DRIVER
+        rts
index 6cadb5903c0f3341ea0c5646a8e2a2386efd9df3..60fc87725a30f90cebb459fe2249807b5588cbca 100644 (file)
@@ -3,17 +3,17 @@
 ;
 ; This header is required for BLL builds.
 ;
-       .import         __BSS_LOAD__
-       .import         __RAM_START__
-       .export         __BLLHDR__: absolute = 1
+        .import         __BSS_LOAD__
+        .import         __RAM_START__
+        .export         __BLLHDR__: absolute = 1
  
 ; ------------------------------------------------------------------------
 ; BLL header (BLL header)
 
-       .segment "BLLHDR"
-       .word   $0880
-       .dbyt   __RAM_START__
-       .dbyt   __BSS_LOAD__ - __RAM_START__ + 10
-       .byte   $42,$53
-       .byte   $39,$33
+        .segment "BLLHDR"
+        .word   $0880
+        .dbyt   __RAM_START__
+        .dbyt   __BSS_LOAD__ - __RAM_START__ + 10
+        .byte   $42,$53
+        .byte   $39,$33
 
index eba06b873b423474c9714673a56fba7643dfa803..a62d6155cd706709ee6b7c246a0fcaab9cfacf34 100644 (file)
 ;
 ; This bootloader creates a signed binary so that the Lynx will accept it.
 ;
-       .include "lynx.inc"
-       .include "extzp.inc"
-       .import         __BLOCKSIZE__
-       .export         __BOOTLDR__: absolute = 1
+        .include "lynx.inc"
+        .include "extzp.inc"
+        .import         __BLOCKSIZE__
+        .export         __BOOTLDR__: absolute = 1
 
 
 ; ------------------------------------------------------------------------
 ; Bootloader
 
-       .segment "BOOTLDR"
+        .segment "BOOTLDR"
 ;**********************************
 ; Here is the bootloader in plaintext
 ; The idea is to make the smalles possible encrypted loader as decryption
 ; is very slow. The minimum size is 49 bytes plus a zero byte.
 ;**********************************
-;      EXE = $fb68
+;       EXE = $fb68
 ;
-;      .org $0200
+;       .org $0200
 ;
-;      ; 1. force Mikey to be in memory
-;      stz MAPCTL
+;       ; 1. force Mikey to be in memory
+;       stz MAPCTL
 ;
-;      ; 3. set ComLynx to open collector
-;      lda #4          ; a = 00000100
-;      sta SERCTL      ; set the ComLynx to open collector
+;       ; 3. set ComLynx to open collector
+;       lda #4          ; a = 00000100
+;       sta SERCTL      ; set the ComLynx to open collector
 ;
-;      ; 4. make sure the ROM is powered on
-;      lda #8          ; a = 00001000
-;      sta IODAT       ; set the ROM power to on
+;       ; 4. make sure the ROM is powered on
+;       lda #8          ; a = 00001000
+;       sta IODAT       ; set the ROM power to on
 ;
-;      ; 5. read in secondary exe + 8 bytes from the cart and store it in $f000
-;      ldx #0          ; x = 0
-;      ldy #$97        ; y = secondary loader size (151 bytes)
+;       ; 5. read in secondary exe + 8 bytes from the cart and store it in $f000
+;       ldx #0          ; x = 0
+;       ldy #$97        ; y = secondary loader size (151 bytes)
 ;rloop1: lda RCART0     ; read a byte from the cart
-;      sta EXE,X       ; EXE[X] = a
-;      inx             ; x++
-;      dey             ; y--
-;      bne rloop1      ; loops until y wraps
+;       sta EXE,X       ; EXE[X] = a
+;       inx             ; x++
+;       dey             ; y--
+;       bne rloop1      ; loops until y wraps
 ;
-;      ; 6. jump to secondary loader
-;      jmp EXE         ; run the secondary loader
+;       ; 6. jump to secondary loader
+;       jmp EXE         ; run the secondary loader
 ;
-;      .reloc
+;       .reloc
 ;**********************************
 ; After compilation, encryption and obfuscation it turns into this.
 ;**********************************
-       .byte $ff, $81, $ca, $33, $be, $80, $a2, $c4 
-       .byte $6d, $98, $fe, $8d, $bc, $66, $c0, $7a 
-       .byte $09, $50, $23, $28, $18, $c8, $06, $70 
-       .byte $58, $4f, $1b, $e1, $c7, $90, $08, $cd 
-       .byte $1a, $6e, $5a, $45, $32, $d7, $6d, $c6 
-       .byte $8a, $e5, $d8, $5c, $a0, $e8, $4f, $7a 
-       .byte $5f, $73, $8d, $22
+        .byte $ff, $81, $ca, $33, $be, $80, $a2, $c4 
+        .byte $6d, $98, $fe, $8d, $bc, $66, $c0, $7a 
+        .byte $09, $50, $23, $28, $18, $c8, $06, $70 
+        .byte $58, $4f, $1b, $e1, $c7, $90, $08, $cd 
+        .byte $1a, $6e, $5a, $45, $32, $d7, $6d, $c6 
+        .byte $8a, $e5, $d8, $5c, $a0, $e8, $4f, $7a 
+        .byte $5f, $73, $8d, $22
 
 ;**********************************
 ; Now we have the secondary loader
 ;**********************************
-       .org $fb68
-       ; 1. Read in the 1st File-entry (main exe) in FileEntry
-       ldx #$00
-       ldy #8
-rloop: lda RCART0      ; read a byte from the cart
-       sta _FileEntry,X ; EXE[X] = a
-       inx
-       dey
-       bne rloop
+        .org $fb68
+        ; 1. Read in the 1st File-entry (main exe) in FileEntry
+        ldx #$00
+        ldy #8
+rloop:  lda RCART0      ; read a byte from the cart
+        sta _FileEntry,X ; EXE[X] = a
+        inx
+        dey
+        bne rloop
 
-       ; 2. Set the block hardware to the main exe start
-       lda     _FileStartBlock
-       sta     _FileCurrBlock
-       jsr     seclynxblock
+        ; 2. Set the block hardware to the main exe start
+        lda     _FileStartBlock
+        sta     _FileCurrBlock
+        jsr     seclynxblock
 
-       ; 3. Skip over the block offset
-       lda     _FileBlockOffset+1
-        eor    #$FF
-       tay
-       lda     _FileBlockOffset
-        eor    #$FF
-       tax
-       jsr     seclynxskip0
+        ; 3. Skip over the block offset
+        lda     _FileBlockOffset+1
+        eor     #$FF
+        tay
+        lda     _FileBlockOffset
+        eor     #$FF
+        tax
+        jsr     seclynxskip0
 
-       ; 4. Read in the main exe to RAM
-       lda     _FileDestAddr
-       ldx     _FileDestAddr+1
-       sta     _FileDestPtr
-       stx     _FileDestPtr+1
-       lda     _FileFileLen+1
-       eor     #$FF
-       tay
-       lda     _FileFileLen
-       eor     #$FF
-       tax
-       jsr     seclynxread0
+        ; 4. Read in the main exe to RAM
+        lda     _FileDestAddr
+        ldx     _FileDestAddr+1
+        sta     _FileDestPtr
+        stx     _FileDestPtr+1
+        lda     _FileFileLen+1
+        eor     #$FF
+        tay
+        lda     _FileFileLen
+        eor     #$FF
+        tax
+        jsr     seclynxread0
 
-       ; 5. Jump to start of the main exe code
-       jmp     (_FileDestAddr)
+        ; 5. Jump to start of the main exe code
+        jmp     (_FileDestAddr)
 
 ;**********************************
 ; Skip bytes on bank 0
 ; X:Y count (EOR $FFFF)
 ;**********************************
 seclynxskip0:
-       inx
-       bne @0
-       iny
-       beq exit
-@0:    jsr secreadbyte0
-       bra seclynxskip0
+        inx
+        bne @0
+        iny
+        beq exit
+@0:     jsr secreadbyte0
+        bra seclynxskip0
 
 ;**********************************
 ; Read bytes from bank 0
 ; X:Y count (EOR $ffff)
 ;**********************************
 seclynxread0:
-       inx
-       bne @1
-       iny
-       beq exit
-@1:    jsr secreadbyte0
-       sta (_FileDestPtr)
-       inc _FileDestPtr
-       bne seclynxread0
-       inc _FileDestPtr+1
-       bra seclynxread0
+        inx
+        bne @1
+        iny
+        beq exit
+@1:     jsr secreadbyte0
+        sta (_FileDestPtr)
+        inc _FileDestPtr
+        bne seclynxread0
+        inc _FileDestPtr+1
+        bra seclynxread0
 
 ;**********************************
 ; Read one byte from cartridge
 ;**********************************
 secreadbyte0:
-       lda RCART0
-       inc _FileBlockByte
-       bne exit
-       inc _FileBlockByte+1
-       bne exit
+        lda RCART0
+        inc _FileBlockByte
+        bne exit
+        inc _FileBlockByte+1
+        bne exit
 
 ;**********************************
 ; Select a block 
 ;**********************************
 seclynxblock:
-       pha
-       phx
-       phy
-       lda __iodat
-       and #$fc
-       tay
-       ora #2
-       tax
-       lda _FileCurrBlock
-       inc _FileCurrBlock
-       sec
-       bra @2
-@0:    bcc @1
-       stx IODAT
-       clc
-@1:    inx
-       stx SYSCTL1
-       dex
-@2:    stx SYSCTL1
-       rol
-       sty IODAT
-       bne @0
-       lda __iodat
-       sta IODAT
-       stz _FileBlockByte
-       lda #<($100-(>__BLOCKSIZE__))
-       sta _FileBlockByte+1
-       ply
-       plx
-       pla
+        pha
+        phx
+        phy
+        lda __iodat
+        and #$fc
+        tay
+        ora #2
+        tax
+        lda _FileCurrBlock
+        inc _FileCurrBlock
+        sec
+        bra @2
+@0:     bcc @1
+        stx IODAT
+        clc
+@1:     inx
+        stx SYSCTL1
+        dex
+@2:     stx SYSCTL1
+        rol
+        sty IODAT
+        bne @0
+        lda __iodat
+        sta IODAT
+        stz _FileBlockByte
+        lda #<($100-(>__BLOCKSIZE__))
+        sta _FileBlockByte+1
+        ply
+        plx
+        pla
 
-exit:  rts
+exit:   rts
 
-       .reloc
+        .reloc
 
index d3d4f8cb4fff5860b3aee44685b99303d7dcbb83..b61fb44f6c7bb15374cd687fb88ba17f6be3ff56 100644 (file)
@@ -4,10 +4,10 @@
 ; char cgetc (void);
 ;
 
-               .export         _cgetc
-               .import         _kbhit
-       .import         KBEDG
-       .import         KBSTL
+        .export         _cgetc
+        .import         _kbhit
+        .import         KBEDG
+        .import         KBSTL
 
 ; --------------------------------------------------------------------------
 ; The Atari Lynx has a very small keyboard - only 3 keys
 ; So the keyboard returns '1', '2', '3', 'P', 'R', 'F' or '?'.
 
 _cgetc:
-       lda     KBSTL
-       ora     KBEDG
-       bne     @L1
-       jsr     _kbhit          ; Check for char available
-        tax                            ; Test result
-       bra     _cgetc
+        lda     KBSTL
+        ora     KBEDG
+        bne     @L1
+        jsr     _kbhit          ; Check for char available
+        tax                             ; Test result
+        bra     _cgetc
 @L1:
-               ldx     #0
-       and     #1
-       beq     @L6
-       lda     KBEDG           ; Pause button is pressed
-       and     #$0c
-       beq     @L3
-       ora     KBSTL
+        ldx     #0
+        and     #1
+        beq     @L6
+        lda     KBEDG           ; Pause button is pressed
+        and     #$0c
+        beq     @L3
+        ora     KBSTL
 @L2:
-       bit     #$04
-       beq     @L4                     ; Pause + Opt 1 = Reset
-       bit     #$08
-       beq     @L5                     ; Pause + Opt 2 = Flip
-       lda     #'?'                    ; All buttons pressed
-               rts
+        bit     #$04
+        beq     @L4                     ; Pause + Opt 1 = Reset
+        bit     #$08
+        beq     @L5                     ; Pause + Opt 2 = Flip
+        lda     #'?'                    ; All buttons pressed
+        rts
 @L3:
-       lda     KBSTL           ; Pause alone was the last placed button
-       and     #$0c
-       bne     @L2
-       lda     #'P'                    ; Pause pressed
-               rts
+        lda     KBSTL           ; Pause alone was the last placed button
+        and     #$0c
+        bne     @L2
+        lda     #'P'                    ; Pause pressed
+        rts
 @L4:
-       lda     #'R'                    ; Reset pressed
-               rts
+        lda     #'R'                    ; Reset pressed
+        rts
 @L5:
-       lda     #'F'                    ; Flip pressed
-               rts
+        lda     #'F'                    ; Flip pressed
+        rts
 @L6:
-       lda     KBEDG           ; No Pause pressed
-       ora     KBSTL
-       bit     #$08
-       beq     @L8
-       bit     #$04
-       beq     @L7
-       lda     #'3'                    ; opt 1 + opt 2 pressed
-       rts
+        lda     KBEDG           ; No Pause pressed
+        ora     KBSTL
+        bit     #$08
+        beq     @L8
+        bit     #$04
+        beq     @L7
+        lda     #'3'                    ; opt 1 + opt 2 pressed
+        rts
 @L7:
-       lda     #'1'                    ; opt 1 pressed
-       rts
+        lda     #'1'                    ; opt 1 pressed
+        rts
 @L8:
-       lda     #'2'                    ; opt 2 pressed
-       rts
+        lda     #'2'                    ; opt 2 pressed
+        rts
index 66640913991b943d7c3245598c90e76226b6c2e1..881c435545bdd694e3c63a48fe55e9109ee6c340 100644 (file)
 ; If you change the numbers there, then change them here, too.
 ;
 
-       .export         _clock, __clk_tck, clock_count
-       .interruptor    update_clock, 2 ; (low priority)
-       .constructor    init_clock
+        .export         _clock, __clk_tck, clock_count
+        .interruptor    update_clock, 2 ; (low priority)
+        .constructor    init_clock
 
-       .import         sreg: zp
-       .include        "lynx.inc"
+        .import         sreg: zp
+        .include        "lynx.inc"
 
-       .macpack        generic
+        .macpack        generic
 
 
-       .proc   _clock
-       php
-       sei                     ; Disable interrupts
+        .proc   _clock
+        php
+        sei                     ; Disable interrupts
 
 ; Read the clock counter.
 
-       lda     clock_count
-       ldx     clock_count+1
-       ldy     clock_count+2
+        lda     clock_count
+        ldx     clock_count+1
+        ldy     clock_count+2
 
-       plp                     ; Re-enable interrupts
-       sty     sreg
-       stz     sreg+1          ; Promote 24 bits up to 32 bits
-       rts
-       .endproc
+        plp                     ; Re-enable interrupts
+        sty     sreg
+        stz     sreg+1          ; Promote 24 bits up to 32 bits
+        rts
+        .endproc
 
 ;-----------------------------------------------------------------------------
 ; Return the number of clock ticks in one second.
 ;
 __clk_tck:
-       ldx     #$00            ; >50, >60, >75
-       ldy     PBKUP
-       lda     #<75
-       cpy     #$20 + 1
-       blt     @ok
-       lda     #<60
-       cpy     #$29 + 1
-       blt     @ok
-       lda     #<50
-@ok:   stz     sreg            ; return 32 bits
-       stz     sreg+1
-       rts
+        ldx     #$00            ; >50, >60, >75
+        ldy     PBKUP
+        lda     #<75
+        cpy     #$20 + 1
+        blt     @ok
+        lda     #<60
+        cpy     #$29 + 1
+        blt     @ok
+        lda     #<50
+@ok:    stz     sreg            ; return 32 bits
+        stz     sreg+1
+        rts
 
 ;-----------------------------------------------------------------------------
 ; This interrupt handler increments a 24-bit counter at every video
 ; vertical-blanking time.
 ;
-       .segment        "LOWCODE"
+        .segment        "LOWCODE"
 update_clock:
-       lda     INTSET
-       and     #%00000100
-       beq     @NotVBlank      ; Not vertical-blank interrupt
+        lda     INTSET
+        and     #%00000100
+        beq     @NotVBlank      ; Not vertical-blank interrupt
 
-       inc     clock_count
-       bne     @L1
-       inc     clock_count+1
-       bne     @L1
-       inc     clock_count+2
-@L1:   ;clc                    ; General interrupt was not reset
+        inc     clock_count
+        bne     @L1
+        inc     clock_count+1
+        bne     @L1
+        inc     clock_count+2
+@L1:    ;clc                    ; General interrupt was not reset
 @NotVBlank:
-       rts
+        rts
 
 ;-----------------------------------------------------------------------------
 ; Enable the interrupt that update_clock needs.
 ;
-       .segment        "INIT"
+        .segment        "INIT"
 init_clock:
-       lda     #%10000000
-       tsb     VTIMCTLA
-       rts
+        lda     #%10000000
+        tsb     VTIMCTLA
+        rts
 
 ;-----------------------------------------------------------------------------
 ;
-       .bss
+        .bss
 clock_count:
-       .res    3
+        .res    3
index 804165c0dc2dc280087d3106284162b4d3198285..116b39f76a26b11b229642a91b1d13281ad19062 100644 (file)
 ; on the front of the fully linked binary (see EXEHDR segment.)
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
-       .import         initlib, donelib
-       .import         zerobss
-       .import         callmain
-       .import         _main
-       .import         __RAM_START__, __RAM_SIZE__, __STACKSIZE__
+        .import         initlib, donelib
+        .import         zerobss
+        .import         callmain
+        .import         _main
+        .import         __RAM_START__, __RAM_SIZE__, __STACKSIZE__
 
-       .include        "zeropage.inc"
-       .include        "extzp.inc"
-       .include        "lynx.inc"
+        .include        "zeropage.inc"
+        .include        "extzp.inc"
+        .include        "lynx.inc"
 
 ; ------------------------------------------------------------------------
 ; Mikey and Suzy init data, reg offsets and data
 
-       .rodata
+        .rodata
 
-SuzyInitReg:   .byte $28,$2a,$04,$06,$92,$83,$90
-SuzyInitData:  .byte $7f,$7f,$00,$00,$24,$f3,$01
+SuzyInitReg:    .byte $28,$2a,$04,$06,$92,$83,$90
+SuzyInitData:   .byte $7f,$7f,$00,$00,$24,$f3,$01
 
-MikeyInitReg:  .byte $00,$01,$08,$09,$20,$28,$30,$38,$44,$50,$8a,$8b,$8c,$92,$93
-MikeyInitData: .byte $9e,$18,$68,$1f,$00,$00,$00,$00,$00,$ff,$1a,$1b,$04,$0d,$29
+MikeyInitReg:   .byte $00,$01,$08,$09,$20,$28,$30,$38,$44,$50,$8a,$8b,$8c,$92,$93
+MikeyInitData:  .byte $9e,$18,$68,$1f,$00,$00,$00,$00,$00,$ff,$1a,$1b,$04,$0d,$29
 
 ; ------------------------------------------------------------------------
 ; Actual code
 
-       .segment "STARTUP"
+        .segment "STARTUP"
 
 ; set up system
 
-       sei
-       cld
-       ldx     #$FF
-       txs
+        sei
+        cld
+        ldx     #$FF
+        txs
 
 ; init bank switching
 
-       lda     #$C
-       sta     MAPCTL          ; $FFF9
+        lda     #$C
+        sta     MAPCTL          ; $FFF9
 
 ; disable all timer interrupts
 
-       lda     #$80
-       trb     TIM0CTLA
-       trb     TIM1CTLA
-       trb     TIM2CTLA
-       trb     TIM3CTLA
-       trb     TIM5CTLA
-       trb     TIM6CTLA
-       trb     TIM7CTLA
+        lda     #$80
+        trb     TIM0CTLA
+        trb     TIM1CTLA
+        trb     TIM2CTLA
+        trb     TIM3CTLA
+        trb     TIM5CTLA
+        trb     TIM6CTLA
+        trb     TIM7CTLA
 
 ; disable TX/RX IRQ, set to 8E1
 
-       lda     #%11101
-       sta     SERCTL
+        lda     #%11101
+        sta     SERCTL
 
 ; clear all pending interrupts
 
-       lda     INTSET
-       sta     INTRST
+        lda     INTSET
+        sta     INTRST
 
 ; setup the stack
 
-       lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp
-       lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp+1
+        lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp
+        lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp+1
 
 ; Init Mickey
 
-       ldx     #.sizeof(MikeyInitReg)-1
-mloop: ldy     MikeyInitReg,x
-       lda     MikeyInitData,x
-       sta     $fd00,y
-       dex
-       bpl     mloop
+        ldx     #.sizeof(MikeyInitReg)-1
+mloop:  ldy     MikeyInitReg,x
+        lda     MikeyInitData,x
+        sta     $fd00,y
+        dex
+        bpl     mloop
 
 ; these are RAM-shadows of read only regs
 
-       ldx     #$1b
-       stx     __iodat
-       dex                     ; $1A
-       stx     __iodir
-       ldx     #$d
-       stx     __viddma
+        ldx     #$1b
+        stx     __iodat
+        dex                     ; $1A
+        stx     __iodir
+        ldx     #$d
+        stx     __viddma
 
 ; Init Suzy
 
-       ldx     #.sizeof(SuzyInitReg)-1
-sloop: ldy     SuzyInitReg,x
-       lda     SuzyInitData,x
-       sta     $fc00,y
-       dex
-       bpl     sloop
+        ldx     #.sizeof(SuzyInitReg)-1
+sloop:  ldy     SuzyInitReg,x
+        lda     SuzyInitData,x
+        sta     $fc00,y
+        dex
+        bpl     sloop
 
-       lda     #$24
-       sta     __sprsys
-       cli
+        lda     #$24
+        sta     __sprsys
+        cli
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main
 
-       jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry.
 
-_exit: jsr     donelib         ; Run module destructors
+_exit:  jsr     donelib         ; Run module destructors
 
 ; Endless loop
 
-noret: bra     noret
+noret:  bra     noret
index 42de7592ba9c1905e157f7d9487d1f8ed235bfef..6e0ab178518ea8f332da26348c9bb4bc90303b93 100644 (file)
 ;   6 - Other whitespace (that is: '\f', '\n', '\r', '\t' and '\v')
 ;   7 - Space or tab character
 
-       .export         __ctype
+        .export         __ctype
 
 __ctype:
 
 .repeat 2       ; 2 times for normal and inverted
 
-               .byte   $10     ;   0/00 ___ctrl_@___
-               .byte   $10     ;   1/01 ___ctrl_A___
-               .byte   $10     ;   2/02 ___ctrl_B___
-               .byte   $10     ;   3/03 ___ctrl_C___
-               .byte   $10     ;   4/04 ___ctrl_D___
-               .byte   $10     ;   5/05 ___ctrl_E___
-               .byte   $10     ;   6/06 ___ctrl_F___
-               .byte   $10     ;   7/07 ___ctrl_G___
-               .byte   $10     ;   8/08 ___ctrl_H___
-               .byte   $D0     ;   9/09 ___ctrl_I___
-               .byte   $50     ;  10/0a ___ctrl_J___
-               .byte   $50     ;  11/0b ___ctrl_K___
-               .byte   $50     ;  12/0c ___ctrl_L___
-               .byte   $50     ;  13/0d ___ctrl_M___
-               .byte   $10     ;  14/0e ___ctrl_N___
-               .byte   $10     ;  15/0f ___ctrl_O___
-               .byte   $10     ;  16/10 ___ctrl_P___
-               .byte   $10     ;  17/11 ___ctrl_Q___
-               .byte   $10     ;  18/12 ___ctrl_R___
-               .byte   $10     ;  19/13 ___ctrl_S___
-               .byte   $10     ;  20/14 ___ctrl_T___
-               .byte   $10     ;  21/15 ___ctrl_U___
-               .byte   $10     ;  22/16 ___ctrl_V___
-               .byte   $10     ;  23/17 ___ctrl_W___
-               .byte   $10     ;  24/18 ___ctrl_X___
-               .byte   $10     ;  25/19 ___ctrl_Y___
-               .byte   $10     ;  26/1a ___ctrl_Z___
-               .byte   $10     ;  27/1b ___ctrl_[___
-               .byte   $10     ;  28/1c ___ctrl_\___
-               .byte   $10     ;  29/1d ___ctrl_]___
-               .byte   $10     ;  30/1e ___ctrl_^___
-               .byte   $10     ;  31/1f ___ctrl_____
-               .byte   $A0     ;  32/20 ___SPACE___
-       .byte   $00     ;  33/21 _____!_____
-       .byte   $00     ;  34/22 _____"_____
-       .byte   $00     ;  35/23 _____#_____
-       .byte   $00     ;  36/24 _____$_____
-       .byte   $00     ;  37/25 _____%_____
-       .byte   $00     ;  38/26 _____&_____
-       .byte   $00     ;  39/27 _____'_____
-       .byte   $00     ;  40/28 _____(_____
-       .byte   $00     ;  41/29 _____)_____
-       .byte   $00     ;  42/2a _____*_____
-       .byte   $00     ;  43/2b _____+_____
-       .byte   $00     ;  44/2c _____,_____
-       .byte   $00     ;  45/2d _____-_____
-       .byte   $00     ;  46/2e _____._____
-       .byte   $00     ;  47/2f _____/_____
-       .byte   $0C     ;  48/30 _____0_____
-       .byte   $0C     ;  49/31 _____1_____
-       .byte   $0C     ;  50/32 _____2_____
-       .byte   $0C     ;  51/33 _____3_____
-       .byte   $0C     ;  52/34 _____4_____
-       .byte   $0C     ;  53/35 _____5_____
-       .byte   $0C     ;  54/36 _____6_____
-       .byte   $0C     ;  55/37 _____7_____
-       .byte   $0C     ;  56/38 _____8_____
-       .byte   $0C     ;  57/39 _____9_____
-       .byte   $00     ;  58/3a _____:_____
-       .byte   $00     ;  59/3b _____;_____
-       .byte   $00     ;  60/3c _____<_____
-       .byte   $00     ;  61/3d _____=_____
-       .byte   $00     ;  62/3e _____>_____
-       .byte   $00     ;  63/3f _____?_____
+        .byte   $10     ;   0/00 ___ctrl_@___
+        .byte   $10     ;   1/01 ___ctrl_A___
+        .byte   $10     ;   2/02 ___ctrl_B___
+        .byte   $10     ;   3/03 ___ctrl_C___
+        .byte   $10     ;   4/04 ___ctrl_D___
+        .byte   $10     ;   5/05 ___ctrl_E___
+        .byte   $10     ;   6/06 ___ctrl_F___
+        .byte   $10     ;   7/07 ___ctrl_G___
+        .byte   $10     ;   8/08 ___ctrl_H___
+        .byte   $D0     ;   9/09 ___ctrl_I___
+        .byte   $50     ;  10/0a ___ctrl_J___
+        .byte   $50     ;  11/0b ___ctrl_K___
+        .byte   $50     ;  12/0c ___ctrl_L___
+        .byte   $50     ;  13/0d ___ctrl_M___
+        .byte   $10     ;  14/0e ___ctrl_N___
+        .byte   $10     ;  15/0f ___ctrl_O___
+        .byte   $10     ;  16/10 ___ctrl_P___
+        .byte   $10     ;  17/11 ___ctrl_Q___
+        .byte   $10     ;  18/12 ___ctrl_R___
+        .byte   $10     ;  19/13 ___ctrl_S___
+        .byte   $10     ;  20/14 ___ctrl_T___
+        .byte   $10     ;  21/15 ___ctrl_U___
+        .byte   $10     ;  22/16 ___ctrl_V___
+        .byte   $10     ;  23/17 ___ctrl_W___
+        .byte   $10     ;  24/18 ___ctrl_X___
+        .byte   $10     ;  25/19 ___ctrl_Y___
+        .byte   $10     ;  26/1a ___ctrl_Z___
+        .byte   $10     ;  27/1b ___ctrl_[___
+        .byte   $10     ;  28/1c ___ctrl_\___
+        .byte   $10     ;  29/1d ___ctrl_]___
+        .byte   $10     ;  30/1e ___ctrl_^___
+        .byte   $10     ;  31/1f ___ctrl_____
+        .byte   $A0     ;  32/20 ___SPACE___
+        .byte   $00     ;  33/21 _____!_____
+        .byte   $00     ;  34/22 _____"_____
+        .byte   $00     ;  35/23 _____#_____
+        .byte   $00     ;  36/24 _____$_____
+        .byte   $00     ;  37/25 _____%_____
+        .byte   $00     ;  38/26 _____&_____
+        .byte   $00     ;  39/27 _____'_____
+        .byte   $00     ;  40/28 _____(_____
+        .byte   $00     ;  41/29 _____)_____
+        .byte   $00     ;  42/2a _____*_____
+        .byte   $00     ;  43/2b _____+_____
+        .byte   $00     ;  44/2c _____,_____
+        .byte   $00     ;  45/2d _____-_____
+        .byte   $00     ;  46/2e _____._____
+        .byte   $00     ;  47/2f _____/_____
+        .byte   $0C     ;  48/30 _____0_____
+        .byte   $0C     ;  49/31 _____1_____
+        .byte   $0C     ;  50/32 _____2_____
+        .byte   $0C     ;  51/33 _____3_____
+        .byte   $0C     ;  52/34 _____4_____
+        .byte   $0C     ;  53/35 _____5_____
+        .byte   $0C     ;  54/36 _____6_____
+        .byte   $0C     ;  55/37 _____7_____
+        .byte   $0C     ;  56/38 _____8_____
+        .byte   $0C     ;  57/39 _____9_____
+        .byte   $00     ;  58/3a _____:_____
+        .byte   $00     ;  59/3b _____;_____
+        .byte   $00     ;  60/3c _____<_____
+        .byte   $00     ;  61/3d _____=_____
+        .byte   $00     ;  62/3e _____>_____
+        .byte   $00     ;  63/3f _____?_____
 
-       .byte   $00     ;  64/40 _____@_____
-               .byte   $0A     ;  65/41 _____A_____
-               .byte   $0A     ;  66/42 _____B_____
-               .byte   $0A     ;  67/43 _____C_____
-               .byte   $0A     ;  68/44 _____D_____
-               .byte   $0A     ;  69/45 _____E_____
-               .byte   $0A     ;  70/46 _____F_____
-               .byte   $02     ;  71/47 _____G_____
-               .byte   $02     ;  72/48 _____H_____
-               .byte   $02     ;  73/49 _____I_____
-               .byte   $02     ;  74/4a _____J_____
-               .byte   $02     ;  75/4b _____K_____
-               .byte   $02     ;  76/4c _____L_____
-               .byte   $02     ;  77/4d _____M_____
-               .byte   $02     ;  78/4e _____N_____
-               .byte   $02     ;  79/4f _____O_____
-               .byte   $02     ;  80/50 _____P_____
-               .byte   $02     ;  81/51 _____Q_____
-               .byte   $02     ;  82/52 _____R_____
-               .byte   $02     ;  83/53 _____S_____
-               .byte   $02     ;  84/54 _____T_____
-               .byte   $02     ;  85/55 _____U_____
-               .byte   $02     ;  86/56 _____V_____
-               .byte   $02     ;  87/57 _____W_____
-               .byte   $02     ;  88/58 _____X_____
-               .byte   $02     ;  89/59 _____Y_____
-               .byte   $02     ;  90/5a _____Z_____
-       .byte   $00     ;  91/5b _____[_____
-       .byte   $00     ;  92/5c _____\_____
-       .byte   $00     ;  93/5d _____]_____
-       .byte   $00     ;  94/5e _____^_____
-       .byte   $00     ;  95/5f _UNDERLINE_
-       .byte   $00     ;  96/60 ___grave___
-               .byte   $09     ;  97/61 _____a_____
-               .byte   $09     ;  98/62 _____b_____
-               .byte   $09     ;  99/63 _____c_____
-               .byte   $09     ; 100/64 _____d_____
-               .byte   $09     ; 101/65 _____e_____
-               .byte   $09     ; 102/66 _____f_____
-               .byte   $01     ; 103/67 _____g_____
-               .byte   $01     ; 104/68 _____h_____
-               .byte   $01     ; 105/69 _____i_____
-               .byte   $01     ; 106/6a _____j_____
-               .byte   $01     ; 107/6b _____k_____
-               .byte   $01     ; 108/6c _____l_____
-               .byte   $01     ; 109/6d _____m_____
-               .byte   $01     ; 110/6e _____n_____
-               .byte   $01     ; 111/6f _____o_____
-               .byte   $01     ; 112/70 _____p_____
-               .byte   $01     ; 113/71 _____q_____
-               .byte   $01     ; 114/72 _____r_____
-               .byte   $01     ; 115/73 _____s_____
-               .byte   $01     ; 116/74 _____t_____
-               .byte   $01     ; 117/75 _____u_____
-               .byte   $01     ; 118/76 _____v_____
-               .byte   $01     ; 119/77 _____w_____
-               .byte   $01     ; 120/78 _____x_____
-               .byte   $01     ; 121/79 _____y_____
-               .byte   $01     ; 122/7a _____z_____
-               .byte   $00     ; 123/7b _____{_____
-               .byte   $00     ; 124/7c _____|_____
-               .byte   $00     ; 125/7d _____}_____
-               .byte   $00     ; 126/7e _____~_____
-               .byte   $40     ; 127/7f ____DEL____
+        .byte   $00     ;  64/40 _____@_____
+        .byte   $0A     ;  65/41 _____A_____
+        .byte   $0A     ;  66/42 _____B_____
+        .byte   $0A     ;  67/43 _____C_____
+        .byte   $0A     ;  68/44 _____D_____
+        .byte   $0A     ;  69/45 _____E_____
+        .byte   $0A     ;  70/46 _____F_____
+        .byte   $02     ;  71/47 _____G_____
+        .byte   $02     ;  72/48 _____H_____
+        .byte   $02     ;  73/49 _____I_____
+        .byte   $02     ;  74/4a _____J_____
+        .byte   $02     ;  75/4b _____K_____
+        .byte   $02     ;  76/4c _____L_____
+        .byte   $02     ;  77/4d _____M_____
+        .byte   $02     ;  78/4e _____N_____
+        .byte   $02     ;  79/4f _____O_____
+        .byte   $02     ;  80/50 _____P_____
+        .byte   $02     ;  81/51 _____Q_____
+        .byte   $02     ;  82/52 _____R_____
+        .byte   $02     ;  83/53 _____S_____
+        .byte   $02     ;  84/54 _____T_____
+        .byte   $02     ;  85/55 _____U_____
+        .byte   $02     ;  86/56 _____V_____
+        .byte   $02     ;  87/57 _____W_____
+        .byte   $02     ;  88/58 _____X_____
+        .byte   $02     ;  89/59 _____Y_____
+        .byte   $02     ;  90/5a _____Z_____
+        .byte   $00     ;  91/5b _____[_____
+        .byte   $00     ;  92/5c _____\_____
+        .byte   $00     ;  93/5d _____]_____
+        .byte   $00     ;  94/5e _____^_____
+        .byte   $00     ;  95/5f _UNDERLINE_
+        .byte   $00     ;  96/60 ___grave___
+        .byte   $09     ;  97/61 _____a_____
+        .byte   $09     ;  98/62 _____b_____
+        .byte   $09     ;  99/63 _____c_____
+        .byte   $09     ; 100/64 _____d_____
+        .byte   $09     ; 101/65 _____e_____
+        .byte   $09     ; 102/66 _____f_____
+        .byte   $01     ; 103/67 _____g_____
+        .byte   $01     ; 104/68 _____h_____
+        .byte   $01     ; 105/69 _____i_____
+        .byte   $01     ; 106/6a _____j_____
+        .byte   $01     ; 107/6b _____k_____
+        .byte   $01     ; 108/6c _____l_____
+        .byte   $01     ; 109/6d _____m_____
+        .byte   $01     ; 110/6e _____n_____
+        .byte   $01     ; 111/6f _____o_____
+        .byte   $01     ; 112/70 _____p_____
+        .byte   $01     ; 113/71 _____q_____
+        .byte   $01     ; 114/72 _____r_____
+        .byte   $01     ; 115/73 _____s_____
+        .byte   $01     ; 116/74 _____t_____
+        .byte   $01     ; 117/75 _____u_____
+        .byte   $01     ; 118/76 _____v_____
+        .byte   $01     ; 119/77 _____w_____
+        .byte   $01     ; 120/78 _____x_____
+        .byte   $01     ; 121/79 _____y_____
+        .byte   $01     ; 122/7a _____z_____
+        .byte   $00     ; 123/7b _____{_____
+        .byte   $00     ; 124/7c _____|_____
+        .byte   $00     ; 125/7d _____}_____
+        .byte   $00     ; 126/7e _____~_____
+        .byte   $40     ; 127/7f ____DEL____
 
 .endrepeat
index adff6d9d5021dab8c2fb017f8be0872ee23d7be1..5ab61ac14713082e70baf19fa8010e32e9900380 100644 (file)
@@ -3,18 +3,18 @@
 ;
 ; A default directory with just the main executable.
 ;
-       .include "lynx.inc"
-       .import         __STARTOFDIRECTORY__
-       .import         __RAM_START__
-       .import         __CODE_SIZE__,__DATA_SIZE__,__RODATA_SIZE__
-       .import         __STARTUP_SIZE__,__INIT_SIZE__
-       .import         __BLOCKSIZE__
-       .export         __DEFDIR__: absolute = 1
+        .include "lynx.inc"
+        .import         __STARTOFDIRECTORY__
+        .import         __RAM_START__
+        .import         __CODE_SIZE__,__DATA_SIZE__,__RODATA_SIZE__
+        .import         __STARTUP_SIZE__,__INIT_SIZE__
+        .import         __BLOCKSIZE__
+        .export         __DEFDIR__: absolute = 1
 
 
 ; ------------------------------------------------------------------------
 ; Lynx directory
-       .segment "DIRECTORY"
+        .segment "DIRECTORY"
 
 __DIRECTORY_START__:
 off0=__STARTOFDIRECTORY__+(__DIRECTORY_END__-__DIRECTORY_START__)
index 5dc535b4ab6dded34b1e8b7883dd281d634df9b5..978220cfda474458cbf3a9fb1568a425a5e80302 100644 (file)
 ;****************
 
 
-       .export         _lynx_eeprom_read
+        .export         _lynx_eeprom_read
         .export         _lynx_eeprom_write
         .export         _lynx_eeprom_erase
-       .import         popa
+        .import         popa
         .importzp       ptr1
 
         .include        "lynx.inc"
index 961ecf76a48047df3407b7cd272c297b7dd84a20..55d9037c01a23e5279d6516c38a7dfb96ebf63c3 100644 (file)
@@ -8,7 +8,7 @@
 ; 16.02.96      leaner (thanks to Harry)
 ; 12.03.96      test for busy after write and erase (well, Harry ;)) )
 ; 22.08.97      ported to ra65 for use with cc65
-; 02.12.97     added xref for the new ra65
+; 02.12.97      added xref for the new ra65
 ;
 ;
 ; (c) 1995..97 Bastian Schick
@@ -25,9 +25,9 @@
 ;               +---| DI     |- NC
 ;(32) AUDIN ----+---| DO     |- GND
 ;                   ----------
-       .export         _lynx_eeread_93c46
+        .export         _lynx_eeread_93c46
         .export         _lynx_eewrite_93c46
-       .import         popax
+        .import         popax
         .importzp       ptr1
 
         .include        "lynx.inc"
@@ -45,160 +45,160 @@ EE_C_EWDS       =    $00
 ; /* Read a 16 bit word from the given address */
 ;
 _lynx_eeread_93c46:
-       and #$3f
-       ora #EE_C_READ
-       jsr EE_Send9Bit
-       jsr EE_Read16Bit
-       lda ptr1
-       ldx ptr1+1
-       rts
+        and #$3f
+        ora #EE_C_READ
+        jsr EE_Send9Bit
+        jsr EE_Read16Bit
+        lda ptr1
+        ldx ptr1+1
+        rts
 
 ;***************
 ; reads EEPROM-word to ptr1
 ; A,Y destroyed
 EE_Read16Bit:
-       lda #$a
-       sta IODIR       ; set AUDIN to Input
-       clc
-       stz ptr1
-       stz ptr1+1
-       ldy #15
+        lda #$a
+        sta IODIR       ; set AUDIN to Input
+        clc
+        stz ptr1
+        stz ptr1+1
+        ldy #15
 EEloop1:
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-
-       lda IODAT
-       and #$10        ; mask bit
-       adc #$f0        ; C=1 if A=$10
-       rol ptr1
-       rol ptr1+1      ; shifts 0 to Carry
-       dey
-       bpl EEloop1
-
-       ldx #$1a
-       stx IODIR       ; set AUDIN for output
+        stz RCART0
+        stz RCART0
+
+        lda IODAT
+        and #$10        ; mask bit
+        adc #$f0        ; C=1 if A=$10
+        rol ptr1
+        rol ptr1+1      ; shifts 0 to Carry
+        dey
+        bpl EEloop1
+
+        ldx #$1a
+        stx IODIR       ; set AUDIN for output
 ;EE_SET_CS_LOW
 
-       ldx #3
-       stx SYSCTL1
-       dex
-       stx SYSCTL1
+        ldx #3
+        stx SYSCTL1
+        dex
+        stx SYSCTL1
 
-       rts
+        rts
 
 ;***************
 ; write word to EEPROM
 ; void __fastcall__ lynx_eewrite_93c46(unsigned int addr, unsigned int val);
 _lynx_eewrite_93c46:
-       sta ptr1
-       stx ptr1+1
-       lda #EE_C_EWEN
-       jsr EE_Send9Bit
-       jsr popax
-       and #$3f
-       ora #EE_C_WRITE
-       jsr EE_Send9Bit
-       jsr EE_Send16Bit        ; Sends ptr1 that contains val
+        sta ptr1
+        stx ptr1+1
+        lda #EE_C_EWEN
+        jsr EE_Send9Bit
+        jsr popax
+        and #$3f
+        ora #EE_C_WRITE
+        jsr EE_Send9Bit
+        jsr EE_Send16Bit        ; Sends ptr1 that contains val
 
 EE_wait:
 ; EE_SET_CS_HIGH
 
-       ldx #63
+        ldx #63
 EEloop:
-       stz RCART0
-       stz RCART0
-       dex
-       bpl EEloop
-
-       lda #$0A
-       sta IODIR       ; AUDIN to input
-       lda #$10
+        stz RCART0
+        stz RCART0
+        dex
+        bpl EEloop
+
+        lda #$0A
+        sta IODIR       ; AUDIN to input
+        lda #$10
 EE_wait1:
-       bit IODAT       ; 'til ready :D0-read is /D0-written
-       beq EE_wait1
-       lda #$1a        ; AUDIN to output
-       sta IODIR
-       lda #EE_C_EWDS
-;      bra EE_Send9Bit ; fall into
+        bit IODAT       ; 'til ready :D0-read is /D0-written
+        beq EE_wait1
+        lda #$1a        ; AUDIN to output
+        sta IODIR
+        lda #EE_C_EWDS
+;       bra EE_Send9Bit ; fall into
 ;***************
 ; send A via I2C
 ; A,Y destroyed
 ;***************
 EE_Send9Bit:
 ; EE_SET_CS_LOW
-       ldy #3
-       sty SYSCTL1
-       dey
-       sty SYSCTL1
+        ldy #3
+        sty SYSCTL1
+        dey
+        sty SYSCTL1
 ; EE_SET_CS_HIGH
 
-       ldy #63
+        ldy #63
 EEloop2:
-       stz RCART0
-       stz RCART0
-       dey
-       bpl EEloop2
-
-       ldy #8
-       sec             ; start bit
-       ror A
-       ror A
-       ror A
-       ror A           ; bit 8 at pos. 4
+        stz RCART0
+        stz RCART0
+        dey
+        bpl EEloop2
+
+        ldy #8
+        sec             ; start bit
+        ror A
+        ror A
+        ror A
+        ror A           ; bit 8 at pos. 4
 EEloop3:
-       tax
-       and #$10
-       ora #$b
-       sta IODAT
+        tax
+        and #$10
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol A
-       dey
-       bpl EEloop3
-       rts
+        stz RCART0
+        stz RCART0
+        txa
+        rol A
+        dey
+        bpl EEloop3
+        rts
 ;***************
 ; send ptr1 to EEPROM
 EE_Send16Bit:
-       lda ptr1+1
+        lda ptr1+1
 
-       ror A
-       ror ptr1
-       ror A
-       ror ptr1
-       ror A
-       ror ptr1
+        ror A
+        ror ptr1
+        ror A
+        ror ptr1
+        ror A
+        ror ptr1
 
-       ldy #15
+        ldy #15
 EEloop5:
-       tax
-       and #$10
-       ora #$b
-       sta IODAT
+        tax
+        and #$10
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol ptr1
-       rol A
-       dey
-       bpl EEloop5
+        stz RCART0
+        stz RCART0
+        txa
+        rol ptr1
+        rol A
+        dey
+        bpl EEloop5
 
 ; EE_SET_CS_LOW
-       ldx #3
-       stx SYSCTL1
-       dex
-       stx SYSCTL1
-       rts
+        ldx #3
+        stx SYSCTL1
+        dex
+        stx SYSCTL1
+        rts
 
index 0fcf081edbf5d37bcc14edef81bb6beaa276065f..680db81668247bd79feede816bb8a4102da537ef 100644 (file)
@@ -8,7 +8,7 @@
 ; 16.02.96      leaner (thanks to Harry)
 ; 12.03.96      test for busy after write and erase (well, Harry ;)) )
 ; 22.08.97      ported to ra65 for use with cc65
-; 02.12.97     added xref for the new ra65
+; 02.12.97      added xref for the new ra65
 ;     2010      93c66 support B. Spruck
 ;     2011      modified to suit cc65 environment Karri Kaksonen
 ;
 ;(32) AUDIN ----+---| DO     |- GND
 ;                   ----------
 
-       .export         _lynx_eeread_93c66
-        .export                _lynx_eewrite_93c66
-       .import         popax
-        .importzp      ptr1
+        .export         _lynx_eeread_93c66
+        .export         _lynx_eewrite_93c66
+        .import         popax
+        .importzp       ptr1
 
-        .include       "lynx.inc"
+        .include        "lynx.inc"
 
 ; -------------------
 ; EEPROM command list
@@ -48,180 +48,180 @@ EE_C_EWDS2      =    $00
 ; Only lower byte in A is used for address
 ; unsigned int __fastcall__ lynx_eeread_93c66(unsigned int addr);
 _lynx_eeread_93c66:
-       ldx #EE_C_READ
-       jsr EE_Send11Bit
-       jsr EE_Read16Bit
-       lda ptr1
-       ldx ptr1+1
-       rts
+        ldx #EE_C_READ
+        jsr EE_Send11Bit
+        jsr EE_Read16Bit
+        lda ptr1
+        ldx ptr1+1
+        rts
 
 ;***************
 ; reads EEPROM-word to ptr1
 ; A,Y destroyed
 EE_Read16Bit:
-       lda #$a
-       sta IODIR       ; set AUDIN to Input
-       clc
-       stz ptr1
-       stz ptr1+1
-       ldy #15
+        lda #$a
+        sta IODIR       ; set AUDIN to Input
+        clc
+        stz ptr1
+        stz ptr1+1
+        ldy #15
 EEloop1:
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-
-       lda IODAT
-       and #$10        ; mask bit
-       adc #$f0        ; C=1 if A=$10
-       rol ptr1
-       rol ptr1+1      ; shifts 0 to Carry
-       dey
-       bpl EEloop1
-
-       ldx #$1a
-       stx IODIR       ; set AUDIN for output
+        stz RCART0
+        stz RCART0
+
+        lda IODAT
+        and #$10        ; mask bit
+        adc #$f0        ; C=1 if A=$10
+        rol ptr1
+        rol ptr1+1      ; shifts 0 to Carry
+        dey
+        bpl EEloop1
+
+        ldx #$1a
+        stx IODIR       ; set AUDIN for output
 ;EE_SET_CS_LOW
 
-       ldx #3
-       stx SYSCTL1
-       dex
-       stx SYSCTL1
+        ldx #3
+        stx SYSCTL1
+        dex
+        stx SYSCTL1
 
-       rts
+        rts
 
 ;***************
 ; write word to EEPROM
 ; void __fastcall__ lynx_eewrite_93c66(unsigned int addr, unsigned int val);
 _lynx_eewrite_93c66:
-       sta ptr1
-       stx ptr1+1
-       ldx #EE_C_EWEN
-       lda #EE_C_EWEN2
-       jsr EE_Send11Bit
-       jsr popax
-       ldx #EE_C_WRITE
-       jsr EE_Send11Bit
-       jsr EE_Send16Bit        ; Sends ptr1 that contains val
+        sta ptr1
+        stx ptr1+1
+        ldx #EE_C_EWEN
+        lda #EE_C_EWEN2
+        jsr EE_Send11Bit
+        jsr popax
+        ldx #EE_C_WRITE
+        jsr EE_Send11Bit
+        jsr EE_Send16Bit        ; Sends ptr1 that contains val
 
 EE_wait:
 ; EE_SET_CS_HIGH
 
-       ldx #63
+        ldx #63
 EEloop:
-       stz RCART0
-       stz RCART0
-       dex
-       bpl EEloop
-
-       lda #$0A
-       sta IODIR       ; AUDIN to input
-       lda #$10
+        stz RCART0
+        stz RCART0
+        dex
+        bpl EEloop
+
+        lda #$0A
+        sta IODIR       ; AUDIN to input
+        lda #$10
 EE_wait1:
-       bit IODAT       ; 'til ready :D0-read is /D0-written
-       beq EE_wait1
-       lda #$1a        ; AUDIN to output
-       sta IODIR
-       ldx #EE_C_EWDS
-       lda #EE_C_EWDS2
-;      bra EE_Send11Bit ; fall into
+        bit IODAT       ; 'til ready :D0-read is /D0-written
+        beq EE_wait1
+        lda #$1a        ; AUDIN to output
+        sta IODIR
+        ldx #EE_C_EWDS
+        lda #EE_C_EWDS2
+;       bra EE_Send11Bit ; fall into
 ;***************
 ; send A via I2C
 ; A,Y destroyed
 EE_Send11Bit:
 ; EE_SET_CS_LOW
-       ldy #3
-       sty SYSCTL1
-       dey
-       sty SYSCTL1
+        ldy #3
+        sty SYSCTL1
+        dey
+        sty SYSCTL1
 ; EE_SET_CS_HIGH
 
-       ldy #63
+        ldy #63
 EEloop2:
-       stz RCART0
-       stz RCART0
-       dey
-       bpl EEloop2
-
-       pha
-       txa   ;; Ok erstmal x abarbeiten und A sichern
-       ldy #2 ; 3 times
+        stz RCART0
+        stz RCART0
+        dey
+        bpl EEloop2
+
+        pha
+        txa   ;; Ok erstmal x abarbeiten und A sichern
+        ldy #2 ; 3 times
 EEloop3:
-       tax
-       and #$10
-       ora #$b
-       sta IODAT
+        tax
+        and #$10
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol A
-       dey
-       bpl EEloop3
-
-       ldy #7 ; 8 times
-       pla  ;; jetzt kommt a an die reihe
-
-       ror A
-       ror A
-       ror A           ; bit 7 at pos. 4
+        stz RCART0
+        stz RCART0
+        txa
+        rol A
+        dey
+        bpl EEloop3
+
+        ldy #7 ; 8 times
+        pla  ;; jetzt kommt a an die reihe
+
+        ror A
+        ror A
+        ror A           ; bit 7 at pos. 4
 EEloop4:
-       tax
-       and #$10
+        tax
+        and #$10
 
-       ora #$b
-       sta IODAT
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol A
-       dey
-       bpl EEloop4
-       rts
+        stz RCART0
+        stz RCART0
+        txa
+        rol A
+        dey
+        bpl EEloop4
+        rts
 
 ;***************
 ; send ptr1 to EEPROM
 EE_Send16Bit:
-       lda ptr1+1
+        lda ptr1+1
 
-       ror A
-       ror ptr1
-       ror A
-       ror ptr1
-       ror A
-       ror ptr1
+        ror A
+        ror ptr1
+        ror A
+        ror ptr1
+        ror A
+        ror ptr1
 
-       ldy #15
+        ldy #15
 EEloop5:
-       tax
-       and #$10
-       ora #$b
-       sta IODAT
+        tax
+        and #$10
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol ptr1
-       rol A
-       dey
-       bpl EEloop5
+        stz RCART0
+        stz RCART0
+        txa
+        rol ptr1
+        rol A
+        dey
+        bpl EEloop5
 
 ; EE_SET_CS_LOW
-       ldx #3
-       stx SYSCTL1
-       dex
-       stx SYSCTL1
-       rts
+        ldx #3
+        stx SYSCTL1
+        dex
+        stx SYSCTL1
+        rts
 
index d645fea5103862f55a71b0dc294d2211b3558244..f753b73c314ecbf2b5f47adeb34a4f39596efdc3 100644 (file)
@@ -8,7 +8,7 @@
 ; 16.02.96      leaner (thanks to Harry)
 ; 12.03.96      test for busy after write and erase (well, Harry ;)) )
 ; 22.08.97      ported to ra65 for use with cc65
-; 02.12.97     added xref for the new ra65
+; 02.12.97      added xref for the new ra65
 ;     2010 93c66 support B. Spruck
 ;     2010 93c86 support B. Spruck
 ;     2011      modified to suit cc65 environment Karri Kaksonen
 ;(32) AUDIN ----+---| DO     |- GND
 ;                   ----------
 
-       .export         _lynx_eeread_93c86
-        .export                _lynx_eewrite_93c86
-       .import         popax
-        .importzp      ptr1
+        .export         _lynx_eeread_93c86
+        .export         _lynx_eewrite_93c86
+        .import         popax
+        .importzp       ptr1
 
-        .include       "lynx.inc"
+        .include        "lynx.inc"
 
 ; -------------------
 ; EEPROM command list
@@ -49,188 +49,188 @@ EE_C_EWDS2      =    $00
 ; Only lower byte in A is used for address
 ; unsigned int __fastcall__ lynx_eeread_93c86(unsigned int addr);
 _lynx_eeread_93c86:
-       pha
-       txa
-       ora #EE_C_READ
-       tax
-       pla
-       jsr EE_Send13Bit
-       jsr EE_Read16Bit
-       lda ptr1
-       ldx ptr1+1
-       rts
+        pha
+        txa
+        ora #EE_C_READ
+        tax
+        pla
+        jsr EE_Send13Bit
+        jsr EE_Read16Bit
+        lda ptr1
+        ldx ptr1+1
+        rts
 
 ;***************
 ; reads EEPROM-word to ptr1
 ; A,Y destroyed
 EE_Read16Bit:
-       lda #$a
-       sta IODIR       ; set AUDIN to Input
-       clc
-       stz ptr1
-       stz ptr1+1
-       ldy #15
+        lda #$a
+        sta IODIR       ; set AUDIN to Input
+        clc
+        stz ptr1
+        stz ptr1+1
+        ldy #15
 EEloop1:
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-
-       lda IODAT
-       and #$10        ; mask bit
-       adc #$f0        ; C=1 if A=$10
-       rol ptr1
-       rol ptr1+1      ; shifts 0 to Carry
-       dey
-       bpl EEloop1
-
-       ldx #$1a
-       stx IODIR       ; set AUDIN for output
+        stz RCART0
+        stz RCART0
+
+        lda IODAT
+        and #$10        ; mask bit
+        adc #$f0        ; C=1 if A=$10
+        rol ptr1
+        rol ptr1+1      ; shifts 0 to Carry
+        dey
+        bpl EEloop1
+
+        ldx #$1a
+        stx IODIR       ; set AUDIN for output
 ;EE_SET_CS_LOW
 
-       ldx #3
-       stx SYSCTL1
-       dex
-       stx SYSCTL1
+        ldx #3
+        stx SYSCTL1
+        dex
+        stx SYSCTL1
 
-       rts
+        rts
 
 ;***************
 ; write word to EEPROM
 ; void __fastcall__ lynx_eewrite_93c86(unsigned int addr, unsigned int val);
 _lynx_eewrite_93c86:
-       sta ptr1
-       stx ptr1+1
-       ldx #EE_C_EWEN
-       lda #EE_C_EWEN2
-       jsr EE_Send13Bit
-       jsr popax
-       pha
-       txa
-       ora #EE_C_WRITE
-       tax
-       pla
-       jsr EE_Send13Bit
-       jsr EE_Send16Bit        ; Sends ptr1 that contains val
+        sta ptr1
+        stx ptr1+1
+        ldx #EE_C_EWEN
+        lda #EE_C_EWEN2
+        jsr EE_Send13Bit
+        jsr popax
+        pha
+        txa
+        ora #EE_C_WRITE
+        tax
+        pla
+        jsr EE_Send13Bit
+        jsr EE_Send16Bit        ; Sends ptr1 that contains val
 
 EE_wait:
 ; EE_SET_CS_HIGH
 
-       ldx #63
+        ldx #63
 EEloop:
-       stz RCART0
-       stz RCART0
-       dex
-       bpl EEloop
-
-       lda #$0A
-       sta IODIR       ; AUDIN to input
-       lda #$10
+        stz RCART0
+        stz RCART0
+        dex
+        bpl EEloop
+
+        lda #$0A
+        sta IODIR       ; AUDIN to input
+        lda #$10
 EE_wait1:
-       bit IODAT       ; 'til ready :D0-read is /D0-written
-       beq EE_wait1
-       lda #$1a        ; AUDIN to output
-       sta IODIR
-       ldx #EE_C_EWDS
-       lda #EE_C_EWDS2
-;      bra EE_Send13Bit ; fall into
+        bit IODAT       ; 'til ready :D0-read is /D0-written
+        beq EE_wait1
+        lda #$1a        ; AUDIN to output
+        sta IODIR
+        ldx #EE_C_EWDS
+        lda #EE_C_EWDS2
+;       bra EE_Send13Bit ; fall into
 ;***************
 ; send A via I2C
 ; A,Y destroyed
 EE_Send13Bit:
 ; EE_SET_CS_LOW
-       ldy #3
-       sty SYSCTL1
-       dey
-       sty SYSCTL1
+        ldy #3
+        sty SYSCTL1
+        dey
+        sty SYSCTL1
 ; EE_SET_CS_HIGH
 
-       ldy #63
+        ldy #63
 EEloop2:
-       stz RCART0
-       stz RCART0
-       dey
-       bpl EEloop2
-
-       pha
-       txa   ;; Ok erstmal x abarbeiten und A sichern
-       ldy #4 ; 5 times
+        stz RCART0
+        stz RCART0
+        dey
+        bpl EEloop2
+
+        pha
+        txa   ;; Ok erstmal x abarbeiten und A sichern
+        ldy #4 ; 5 times
 EEloop3:
-       tax
-       and #$10
-       ora #$b
-       sta IODAT
+        tax
+        and #$10
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol A
-       dey
-       bpl EEloop3
-
-       ldy #7 ; 8 times
-       pla  ;; jetzt kommt a an die reihe
-
-       ror A
-       ror A
-       ror A           ; bit 7 at pos. 4
+        stz RCART0
+        stz RCART0
+        txa
+        rol A
+        dey
+        bpl EEloop3
+
+        ldy #7 ; 8 times
+        pla  ;; jetzt kommt a an die reihe
+
+        ror A
+        ror A
+        ror A           ; bit 7 at pos. 4
 EEloop4:
-       tax
-       and #$10
+        tax
+        and #$10
 
-       ora #$b
-       sta IODAT
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol A
-       dey
-       bpl EEloop4
-       rts
+        stz RCART0
+        stz RCART0
+        txa
+        rol A
+        dey
+        bpl EEloop4
+        rts
 
 ;***************
 ; send ptr1 to EEPROM
 EE_Send16Bit:
-       lda ptr1+1
+        lda ptr1+1
 
-       ror A
-       ror ptr1
-       ror A
-       ror ptr1
-       ror A
-       ror ptr1
+        ror A
+        ror ptr1
+        ror A
+        ror ptr1
+        ror A
+        ror ptr1
 
-       ldy #15
+        ldy #15
 EEloop5:
-       tax
-       and #$10
-       ora #$b
-       sta IODAT
+        tax
+        and #$10
+        ora #$b
+        sta IODAT
 ; CLK = 1
-       stz RCART0
-       stz RCART0
+        stz RCART0
+        stz RCART0
 ; CLK = 0
-       stz RCART0
-       stz RCART0
-       txa
-       rol ptr1
-       rol A
-       dey
-       bpl EEloop5
+        stz RCART0
+        stz RCART0
+        txa
+        rol ptr1
+        rol A
+        dey
+        bpl EEloop5
 
 ; EE_SET_CS_LOW
-       ldx #3
-       stx SYSCTL1
-       dex
-       stx SYSCTL1
-       rts
+        ldx #3
+        stx SYSCTL1
+        dex
+        stx SYSCTL1
+        rts
 
index 44550fd7b4d1f35a741c64fb4c66f4074a929b38..c0a630a72cf077f195317d55ced4d92b2be9f1d4 100644 (file)
@@ -9,26 +9,26 @@
 ; 
 ; void lynx_exec(int fileno)
 ;
-       .importzp       _FileDestAddr
-       .import         pushax,ldax0sp,incsp2
-       .import         _lynx_load
-       .export         _lynx_exec
+        .importzp       _FileDestAddr
+        .import         pushax,ldax0sp,incsp2
+        .import         _lynx_load
+        .export         _lynx_exec
 
 ; ---------------------------------------------------------------
 ; void __near__ __fastcall__ lynx_exec (int)
 ; ---------------------------------------------------------------
 
-.segment       "CODE"
+.segment        "CODE"
 
-.proc  _lynx_exec: near
+.proc   _lynx_exec: near
 
-.segment       "CODE"
+.segment        "CODE"
 
-       jsr     pushax
-       jsr     ldax0sp
-       jsr     _lynx_load
-       jsr     incsp2
-       jmp     (_FileDestAddr)
+        jsr     pushax
+        jsr     ldax0sp
+        jsr     _lynx_load
+        jsr     incsp2
+        jmp     (_FileDestAddr)
 
 .endproc
 
index c1b06c4089ca84c66149c39f3e328d9ac36270d9..4f077fb82403e849d06caeaa74745b7585518b5a 100644 (file)
@@ -3,20 +3,20 @@
 ;
 ; This header contains data for emulators like Handy and Mednafen
 ;
-       .import         __BLOCKSIZE__
-       .export         __EXEHDR__: absolute = 1
+        .import         __BLOCKSIZE__
+        .export         __EXEHDR__: absolute = 1
 
 
 ; ------------------------------------------------------------------------
 ; EXE header
-       .segment "EXEHDR"
-       .byte   'L','Y','N','X'                         ; magic
-       .word   __BLOCKSIZE__                           ; bank 0 page size
-       .word   __BLOCKSIZE__                           ; bank 1 page size
-       .word   1                                       ; version number
-       .asciiz "Cart name                      "       ; 32 bytes cart name
-       .asciiz "Manufacturer   "                       ; 16 bytes manufacturer
-       .byte   0                                       ; rotation 1=left
-                                                       ; rotation 2=right
-       .byte   0,0,0,0,0                               ; spare
+        .segment "EXEHDR"
+        .byte   'L','Y','N','X'                         ; magic
+        .word   __BLOCKSIZE__                           ; bank 0 page size
+        .word   __BLOCKSIZE__                           ; bank 1 page size
+        .word   1                                       ; version number
+        .asciiz "Cart name                      "       ; 32 bytes cart name
+        .asciiz "Manufacturer   "                       ; 16 bytes manufacturer
+        .byte   0                                       ; rotation 1=left
+                                                        ; rotation 2=right
+        .byte   0,0,0,0,0                               ; spare
 
index 8842acc6b942b734e0f348d4f2a4d088683d694a..2b0f68701e5d6c7d0032794ae6e642825be3c903 100644 (file)
@@ -8,23 +8,23 @@
 ;
 
 
-               .global         __iodat: zp
+        .global         __iodat: zp
         .global         __iodir: zp
         .global         __viddma: zp
         .global         __sprsys: zp
-       .global         _abc_score_ptr0: zp
-       .global         _abc_score_ptr1: zp
-       .global         _abc_score_ptr2: zp
-       .global         _abc_score_ptr3: zp
-       .global         _FileEntry: zp
-       .global         _FileStartBlock: zp
-       .global         _FileBlockOffset: zp
-       .global         _FileExecFlag: zp
-       .global         _FileDestAddr: zp
-       .global         _FileFileLen: zp
-       .global         _FileCurrBlock: zp
-       .global         _FileBlockByte: zp
-       .global         _FileDestPtr: zp
+        .global         _abc_score_ptr0: zp
+        .global         _abc_score_ptr1: zp
+        .global         _abc_score_ptr2: zp
+        .global         _abc_score_ptr3: zp
+        .global         _FileEntry: zp
+        .global         _FileStartBlock: zp
+        .global         _FileBlockOffset: zp
+        .global         _FileExecFlag: zp
+        .global         _FileDestAddr: zp
+        .global         _FileFileLen: zp
+        .global         _FileCurrBlock: zp
+        .global         _FileBlockByte: zp
+        .global         _FileDestPtr: zp
 
 
 
index fab93c04f4c8da7e47d4a741a36b5fd22a78d5a4..f22cfaefb584652e4b937afd679f88c11160e97f 100644 (file)
@@ -25,7 +25,7 @@ _abc_score_ptr3: .res 2
 
 ; ------------------------------------------------------------------------
 ; Filesystem variables needed for reading stuff from the Lynx cart
-_FileEntry:                    ; The file directory entry is 8 bytes
+_FileEntry:                     ; The file directory entry is 8 bytes
 _FileStartBlock:    .res   1
 _FileBlockOffset:   .res   2
 _FileExecFlag:      .res   1
index b22b69a7751f5f58b6008b8d9b10c7585d2af8e1..4a6adfb04c99e17a553bc8b68ab29be8ecbb857f 100644 (file)
@@ -2,45 +2,45 @@
 ; IRQ handling (Lynx version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "lynx.inc"
+        .include        "lynx.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       sei
-       sta     INTVECTL
-       stx     INTVECTH
-       cli
-       rts
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        sei
+        sta     INTVECTL
+        stx     INTVECTH
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       ; as Lynx is a console there is not much point in releasing the IRQ
-       rts
+        ; as Lynx is a console there is not much point in releasing the IRQ
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       phy
-       phx
-       pha
-       cld
-       jsr     callirq
-       lda     INTSET
-       sta     INTRST
-       pla
-       plx
-       ply
-       rti
+        phy
+        phx
+        pha
+        cld
+        jsr     callirq
+        lda     INTSET
+        sta     INTRST
+        pla
+        plx
+        ply
+        rti
index 3ebca7a856d51c9a79ffadc6ae8e66c3d29fdebf..9c5165a7713a9f5d43b9feb0c156278ca7a7c7ec 100644 (file)
@@ -7,9 +7,9 @@
 ; Using code from Steve Schmidtke
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "lynx.inc"
 
@@ -23,7 +23,7 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79          ; "joy"
+        .byte   $6A, $6F, $79           ; "joy"
         .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
@@ -68,7 +68,7 @@ JOY_COUNT       = 1             ; Number of joysticks we support
 INSTALL:
         lda #<JOY_ERR_OK
         ldx #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -92,7 +92,7 @@ COUNT:
 ; READ: Read a particular joystick passed in A.
 
 READ:
-               ldx     #$00            ; Clear high byte
+        ldx     #$00            ; Clear high byte
         lda     JOYSTICK        ; Read joystick
         and     #$F3            ; Mask relevant keys
         rts
index 19bf564ef1cb9fc885d33c1cd0c28aec567d4139..4605da3cfec8f3348e4535baba982fbd8bb6eae9 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _lynx_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _lynx_stdjoy_joy
 
 .rodata
 
index eadc44d0111d522b102bc720b93d8ed60dd03c16..b0d30e8d5f5106a3081d0a9d8a4a028e8fcc8c1f 100644 (file)
@@ -6,8 +6,8 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "lynx-stdjoy.joy"
+_joy_stddrv:    .asciiz "lynx-stdjoy.joy"
index f6a42628522abd9acb5e9060733c6bd4d807e840..b606fc49a2d913577ff026317a56bafa095568bd 100644 (file)
@@ -4,10 +4,10 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
-       .export         KBEDG
-       .export         KBSTL
-       .import         return1
+        .export         _kbhit
+        .export         KBEDG
+        .export         KBSTL
+        .import         return1
 
 ; --------------------------------------------------------------------------
 ; The Atari Lynx has a very small keyboard - only 3 keys
 ; and Opt1 + Opt2 pressed '3'.
 ; So the keyboard returns '1', '2', '3', 'P', 'R', 'F' or '?'.
 
-       .data
-KBTMP:         .byte   0
-KBPRV:         .byte   0
-KBEDG:         .byte   0
-KBSTL:         .byte   0
-KBDEB:         .byte   0
-KBNPR:         .byte   0
+        .data
+KBTMP:          .byte   0
+KBPRV:          .byte   0
+KBEDG:          .byte   0
+KBSTL:          .byte   0
+KBDEB:          .byte   0
+KBNPR:          .byte   0
 
-       .code
+        .code
 _kbhit:
-       lda     $FCB0           ; Read the Opt buttons
-       and     #$0c
-       sta     KBTMP
-       lda     $FCB1           ; Read Pause
-       and     #1
-       ora     KBTMP           ; 0000210P
-       tax
-       and     KBPRV
-       sta     KBSTL           ; for multibutton
-       txa
-       and     KBDEB
-       sta     KBEDG           ; for just depressed
-       txa
-       and     KBNPR
-       sta     KBDEB           ; for debouncing
-       txa
-       eor     #$ff
-       sta     KBNPR           ; inverted previous ones pressed
-       stx     KBPRV
-       lda     KBEDG
-               beq     @L1
-       jmp     return1         ; Key hit
+        lda     $FCB0           ; Read the Opt buttons
+        and     #$0c
+        sta     KBTMP
+        lda     $FCB1           ; Read Pause
+        and     #1
+        ora     KBTMP           ; 0000210P
+        tax
+        and     KBPRV
+        sta     KBSTL           ; for multibutton
+        txa
+        and     KBDEB
+        sta     KBEDG           ; for just depressed
+        txa
+        and     KBNPR
+        sta     KBDEB           ; for debouncing
+        txa
+        eor     #$ff
+        sta     KBNPR           ; inverted previous ones pressed
+        stx     KBPRV
+        lda     KBEDG
+        beq     @L1
+        jmp     return1         ; Key hit
 
 @L1:    tax                     ; No new keys hit
         rts
index 2e6baa9cb03a3cd4c9536434276e7f2c77d8d462..c638177e222b0615446a0fad74be63da61866961 100644 (file)
@@ -7,35 +7,35 @@
 ;
 ; void lynx_load(int fileno)
 ;
-       .importzp       _FileFileLen
-       .importzp       _FileDestAddr
-       .import         pushax,ldax0sp,pusha0,incsp2
-       .import         _openn
-       .import         _read
-       .export         _lynx_load
+        .importzp       _FileFileLen
+        .importzp       _FileDestAddr
+        .import         pushax,ldax0sp,pusha0,incsp2
+        .import         _openn
+        .import         _read
+        .export         _lynx_load
 
 ; ---------------------------------------------------------------
 ; void __near__ __fastcall__ lynx_load (int)
 ; ---------------------------------------------------------------
 
-.segment       "CODE"
+.segment        "CODE"
 
-.proc  _lynx_load: near
+.proc   _lynx_load: near
 
-.segment       "CODE"
+.segment        "CODE"
 
-       jsr     pushax
-       jsr     ldax0sp
-       jsr     _openn
-       lda     #$01
-       jsr     pusha0
-       lda     _FileDestAddr
-       ldx     _FileDestAddr+1
-       jsr     pushax
-       lda     _FileFileLen
-       ldx     _FileFileLen+1
-       jsr     _read
-       jmp     incsp2
+        jsr     pushax
+        jsr     ldax0sp
+        jsr     _openn
+        lda     #$01
+        jsr     pusha0
+        lda     _FileDestAddr
+        ldx     _FileDestAddr+1
+        jsr     pushax
+        lda     _FileFileLen
+        ldx     _FileFileLen+1
+        jsr     _read
+        jmp     incsp2
 
 .endproc
 
index 27f7d4af7aaa0f2ced739263007eaf0c03156f8a..4b4f94d7c222fd707cf173722a91fbbe761eb62e 100644 (file)
 ;
 ; off_t __fastcall__ lseek(int fd, off_t offset, int whence);
 
-       .importzp       sp, sreg, regsave, regbank, tmp1, ptr1, ptr2
-       .macpack        longbranch
-       .export         _lseek
-       .import         addysp, stax0sp, tosand0ax, pusheax, asreax2
-       .import         ldeaxysp, decsp2, pushax, incsp8
-       .import         tosandeax,decax1,tosdiveax,axlong,ldaxysp
-       .import         lynxskip0, lynxblock,tosasreax
-       .import         __BLOCKSIZE__
-       .importzp       _FileCurrBlock
+        .importzp       sp, sreg, regsave, regbank, tmp1, ptr1, ptr2
+        .macpack        longbranch
+        .export         _lseek
+        .import         addysp, stax0sp, tosand0ax, pusheax, asreax2
+        .import         ldeaxysp, decsp2, pushax, incsp8
+        .import         tosandeax,decax1,tosdiveax,axlong,ldaxysp
+        .import         lynxskip0, lynxblock,tosasreax
+        .import         __BLOCKSIZE__
+        .importzp       _FileCurrBlock
 
-.segment       "CODE"
+.segment        "CODE"
 
-.proc  _lseek: near
+.proc   _lseek: near
 
-.segment       "CODE"
+.segment        "CODE"
 
-       jsr     pushax
-       ldy     #$05
-       jsr     ldeaxysp
-       jsr     pusheax
-       ldx     #$00
-       lda     #<(__BLOCKSIZE__/1024 + 9)
-       jsr     tosasreax
-       sta     _FileCurrBlock
-       jsr     lynxblock
-       ldy     #$05
-       jsr     ldeaxysp
-       jsr     pusheax
-       lda     #<(__BLOCKSIZE__-1)
-       ldx     #>(__BLOCKSIZE__-1)
-       jsr     axlong
-       jsr     tosandeax
-       eor     #$FF
-       pha
-       txa
-       eor     #$FF
-       tay
-       plx
-       jsr     lynxskip0
-       ldy     #$05
-       jsr     ldeaxysp
-       jmp     incsp8
+        jsr     pushax
+        ldy     #$05
+        jsr     ldeaxysp
+        jsr     pusheax
+        ldx     #$00
+        lda     #<(__BLOCKSIZE__/1024 + 9)
+        jsr     tosasreax
+        sta     _FileCurrBlock
+        jsr     lynxblock
+        ldy     #$05
+        jsr     ldeaxysp
+        jsr     pusheax
+        lda     #<(__BLOCKSIZE__-1)
+        ldx     #>(__BLOCKSIZE__-1)
+        jsr     axlong
+        jsr     tosandeax
+        eor     #$FF
+        pha
+        txa
+        eor     #$FF
+        tay
+        plx
+        jsr     lynxskip0
+        ldy     #$05
+        jsr     ldeaxysp
+        jmp     incsp8
 
 .endproc
 
index 42729a106b32a4d573111471715722bf9faa32e8..86e90734806da40a90802099cfa9e527339e9707 100644 (file)
 ; with 1024 bytes/block carts that are using CART0 as a read strobe.
 ; Also the default crt0.s supports this most common Lynx cart format.
 
-       .include "lynx.inc"
-       .include "extzp.inc"
-       .export  lynxskip0, lynxread0
-       .export  lynxblock 
-       .import  __BLOCKSIZE__
+        .include "lynx.inc"
+        .include "extzp.inc"
+        .export  lynxskip0, lynxread0
+        .export  lynxblock 
+        .import  __BLOCKSIZE__
 
-       .code
+        .code
 
 ;**********************************
 ; Skip bytes on bank 0
 ; X:Y count (EOR $FFFF)
 ;**********************************
 lynxskip0:
-       inx
-       bne @0
-       iny
-       beq exit
-@0:    jsr readbyte0
-       bra lynxskip0
+        inx
+        bne @0
+        iny
+        beq exit
+@0:     jsr readbyte0
+        bra lynxskip0
 
 ;**********************************
 ; Read bytes from bank 0
 ; X:Y count (EOR $ffff)
 ;**********************************
 lynxread0:
-       inx
-       bne @1
-       iny
-       beq exit
-@1:    jsr readbyte0
-       sta (_FileDestPtr)
-       inc _FileDestPtr
-       bne lynxread0
-       inc _FileDestPtr+1
-       bra lynxread0
+        inx
+        bne @1
+        iny
+        beq exit
+@1:     jsr readbyte0
+        sta (_FileDestPtr)
+        inc _FileDestPtr
+        bne lynxread0
+        inc _FileDestPtr+1
+        bra lynxread0
 
 ;**********************************
 ; Read one byte from cartridge
 ;**********************************
 readbyte0:
-       lda RCART0
-       inc _FileBlockByte
-       bne exit
-       inc _FileBlockByte+1
-       bne exit
+        lda RCART0
+        inc _FileBlockByte
+        bne exit
+        inc _FileBlockByte+1
+        bne exit
 
 ;**********************************
 ; Select a block 
 ;**********************************
 lynxblock:
-       pha
-       phx
-       phy
-       lda __iodat
-       and #$fc
-       tay
-       ora #2
-       tax
-       lda _FileCurrBlock
-       inc _FileCurrBlock
-       sec
-       bra @2
-@0:    bcc @1
-       stx IODAT
-       clc
-@1:    inx
-       stx SYSCTL1
-       dex
-@2:    stx SYSCTL1
-       rol
-       sty IODAT
-       bne @0
-       lda __iodat
-       sta IODAT
-       stz _FileBlockByte
-       lda #<($100-(>__BLOCKSIZE__))
-       sta _FileBlockByte+1
-       ply
-       plx
-       pla
+        pha
+        phx
+        phy
+        lda __iodat
+        and #$fc
+        tay
+        ora #2
+        tax
+        lda _FileCurrBlock
+        inc _FileCurrBlock
+        sec
+        bra @2
+@0:     bcc @1
+        stx IODAT
+        clc
+@1:     inx
+        stx SYSCTL1
+        dex
+@2:     stx SYSCTL1
+        rol
+        sty IODAT
+        bne @0
+        lda __iodat
+        sta IODAT
+        stz _FileBlockByte
+        lda #<($100-(>__BLOCKSIZE__))
+        sta _FileBlockByte+1
+        ply
+        plx
+        pla
 
-exit:  rts
+exit:   rts
 
index dff5c6a23a3ae1ea701b428e71b84d4de8a35c28..9d0b8b7af0e973db879092ebf3928279c9f1040c 100644 (file)
 ; Karri Kaksonen and Bjoern Spruck, 11.12.2012
 ;
 
-       .include        "lynx.inc"
-       .include        "zeropage.inc"
-
-       .export         _lynx_snd_init
-       .export         _lynx_snd_active
-       .export         _lynx_snd_play
-       .export         _lynx_snd_stop
-       .export         _lynx_snd_stop_channel
-       .export         _lynx_snd_pause
-       .export         _lynx_snd_continue
-       .interruptor    lynx_snd_handler
-       .import         popa
-       .importzp       ptr1
+        .include        "lynx.inc"
+        .include        "zeropage.inc"
+
+        .export         _lynx_snd_init
+        .export         _lynx_snd_active
+        .export         _lynx_snd_play
+        .export         _lynx_snd_stop
+        .export         _lynx_snd_stop_channel
+        .export         _lynx_snd_pause
+        .export         _lynx_snd_continue
+        .interruptor    lynx_snd_handler
+        .import         popa
+        .importzp       ptr1
 
 ;----------------------------------------------------------------------------
 ; ZP variables that go into APPZP
 ;
 
-       .segment "APPZP" : zeropage
+        .segment "APPZP" : zeropage
 
-SndSema:               .res    1
-SndPtrTmp:             .res    2
-SndTmp:                        .res    2
-SndEnvPtr:             .res    2
+SndSema:                .res    1
+SndPtrTmp:              .res    2
+SndTmp:                 .res    2
+SndEnvPtr:              .res    2
 
 ;----------------------------------------------------------------------------
 ; Global variables
 ;
 
-       .bss
-
-SndRetAFlag2:          .res    1
-SndRetAFlag:           .res    1
-SndPtrLo:              .res    4
-SndPtrHi:              .res    4
-SndDelay:              .res    4
-SndLoopCnt:            .res    4
-SndLoopPtrLo:          .res    4
-SndLoopPtrHi:          .res    4
-SndVolume:             .res    4
-SndMaxVolume:          .res    4
-SndNotePlaying:                .res    4
-SndRetAddr:            .res    8
-SndActive:             .res    4
-SndReqStop:            .res    4
-SndEnvVol:             .res    4
-SndEnvFrq:             .res    4
-SndEnvWave:            .res    4
-SndChannel:            .res    32
-SndEnvVolCnt:          .res    4
-SndEnvVolInc:          .res    4
-SndEnvVolOff:          .res    4
-SndEnvVolLoop:         .res    4
-SndEnvVolParts:                .res    4
-SndEnvVolParts2:       .res    4
-SndEnvFrqCnt:          .res    4
-SndEnvFrqInc:          .res    4
-SndEnvFrqOff:          .res    4
-SndEnvFrqLoop:         .res    4
-SndEnvFrqParts:                .res    4
-SndEnvFrqParts2:       .res    4
-SndEnvWaveCnt:         .res    4
-SndEnvWaveOff:         .res    4
-SndEnvWaveLoop:                .res    4
-SndEnvWaveParts:       .res    4
-SndEnvWaveParts2:      .res    4
-
-MAX_INSTRUMENTS                .set    64
-SndEnvVolPtrLo:                .res    MAX_INSTRUMENTS
-SndEnvVolPtrHi:                .res    MAX_INSTRUMENTS
-SndEnvFrqPtrLo:                .res    MAX_INSTRUMENTS
-SndEnvFrqPtrHi:                .res    MAX_INSTRUMENTS
-SndEnvWavePtrLo:       .res    MAX_INSTRUMENTS
-SndEnvWavePtrHi:       .res    MAX_INSTRUMENTS
-
-       .rodata
-
-SndOffsets:            .byte   $00,$08,$10,$18
+        .bss
+
+SndRetAFlag2:           .res    1
+SndRetAFlag:            .res    1
+SndPtrLo:               .res    4
+SndPtrHi:               .res    4
+SndDelay:               .res    4
+SndLoopCnt:             .res    4
+SndLoopPtrLo:           .res    4
+SndLoopPtrHi:           .res    4
+SndVolume:              .res    4
+SndMaxVolume:           .res    4
+SndNotePlaying:         .res    4
+SndRetAddr:             .res    8
+SndActive:              .res    4
+SndReqStop:             .res    4
+SndEnvVol:              .res    4
+SndEnvFrq:              .res    4
+SndEnvWave:             .res    4
+SndChannel:             .res    32
+SndEnvVolCnt:           .res    4
+SndEnvVolInc:           .res    4
+SndEnvVolOff:           .res    4
+SndEnvVolLoop:          .res    4
+SndEnvVolParts:         .res    4
+SndEnvVolParts2:        .res    4
+SndEnvFrqCnt:           .res    4
+SndEnvFrqInc:           .res    4
+SndEnvFrqOff:           .res    4
+SndEnvFrqLoop:          .res    4
+SndEnvFrqParts:         .res    4
+SndEnvFrqParts2:        .res    4
+SndEnvWaveCnt:          .res    4
+SndEnvWaveOff:          .res    4
+SndEnvWaveLoop:         .res    4
+SndEnvWaveParts:        .res    4
+SndEnvWaveParts2:       .res    4
+
+MAX_INSTRUMENTS         .set    64
+SndEnvVolPtrLo:         .res    MAX_INSTRUMENTS
+SndEnvVolPtrHi:         .res    MAX_INSTRUMENTS
+SndEnvFrqPtrLo:         .res    MAX_INSTRUMENTS
+SndEnvFrqPtrHi:         .res    MAX_INSTRUMENTS
+SndEnvWavePtrLo:        .res    MAX_INSTRUMENTS
+SndEnvWavePtrHi:        .res    MAX_INSTRUMENTS
+
+        .rodata
+
+SndOffsets:             .byte   $00,$08,$10,$18
 
 ;----------------------------------------------------------------------------
 ; Macros
 ;
 
-if_count       .set    0
-nest_count     .set    0
+if_count        .set    0
+nest_count      .set    0
 
-.macro _IFNE
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       beq             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+.macro  _IFNE
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        beq             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
-.macro _IFEQ
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       bne             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+.macro  _IFEQ
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        bne             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
-.macro _IFMI
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       bpl             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+.macro  _IFMI
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        bpl             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
-.macro _IFPL
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       bmi             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+.macro  _IFPL
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        bmi             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
-.macro _IFGE
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       bcc             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+.macro  _IFGE
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        bcc             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
 .macro  _IFCS
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       bcc             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        bcc             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
 .macro  _IFCC
-       if_count        .set    if_count +1
-       nest_count      .set    nest_count +1
-       bcs             .ident (.sprintf ("else%04d", if_count))
-       .ident (.sprintf ("push%04d", nest_count)) .set if_count
+        if_count        .set    if_count +1
+        nest_count      .set    nest_count +1
+        bcs             .ident (.sprintf ("else%04d", if_count))
+        .ident (.sprintf ("push%04d", nest_count)) .set if_count
 .endmacro
 
 .macro  _ELSE
-       bra     .ident (.sprintf ("endif%04d", .ident (.sprintf ("push%04d", nest_count))))
-       .ident  (.sprintf ("else%04d", .ident (.sprintf ("push%04d", nest_count)))) := *
+        bra     .ident (.sprintf ("endif%04d", .ident (.sprintf ("push%04d", nest_count))))
+        .ident  (.sprintf ("else%04d", .ident (.sprintf ("push%04d", nest_count)))) := *
 .endmacro
 
 .macro  _ENDIF
-       .if .not .defined( .ident (.sprintf ("else%04d", .ident (.sprintf ("push%04d", nest_count)))))
-               .ident  (.sprintf ("else%04d", .ident (.sprintf ("push%04d", nest_count)))) := *
-       .endif
-       .ident  (.sprintf ("endif%04d", .ident (.sprintf ("push%04d", nest_count)))) := *
-       nest_count      .set    nest_count -1
+        .if .not .defined( .ident (.sprintf ("else%04d", .ident (.sprintf ("push%04d", nest_count)))))
+                .ident  (.sprintf ("else%04d", .ident (.sprintf ("push%04d", nest_count)))) := *
+        .endif
+        .ident  (.sprintf ("endif%04d", .ident (.sprintf ("push%04d", nest_count)))) := *
+        nest_count      .set    nest_count -1
 .endmacro
 
-       .code
+        .code
 
 ;----------------------------------------------------------------------------
 ; void lynx_snd_init() will initialize the sound engine.
 ;
 
-_31250Hz       .set    %101
+_31250Hz        .set    %101
 
 _lynx_snd_init:
-       php
-       sei
-       lda     #%10011000|_31250Hz
-       sta     STIMCTLA
-       lda     #129
-       sta     STIMBKUP        ; set up a 240Hz IRQ
-
-       stz     AUD0VOL
-       stz     AUD1VOL
-       stz     AUD2VOL
-       stz     AUD3VOL
-
-       stz     $fd44           ; all channels full volume / no attenuation
-       lda     #$ff
-       stz     MSTEREO
-
-       lda     #0
-       sta     AUD0CTLA
-       sta     AUD1CTLA
-       sta     AUD2CTLA
-       sta     AUD3CTLA
-
-       ldx     #3
-       lda     #0
-init0: stz     SndActive,x
-       stz     SndReqStop,x
-       stz     SndEnvVol,x
-       stz     SndEnvFrq,x
-       stz     SndEnvWave,x
-       ldy     SndOffsets,x
-       sta     SndChannel+2,y
-       dex
-       bpl     init0
-       stz     SndRetAFlag
-       stz     SndRetAFlag2
-       stz     SndSema
-       plp
-       rts
+        php
+        sei
+        lda     #%10011000|_31250Hz
+        sta     STIMCTLA
+        lda     #129
+        sta     STIMBKUP        ; set up a 240Hz IRQ
+
+        stz     AUD0VOL
+        stz     AUD1VOL
+        stz     AUD2VOL
+        stz     AUD3VOL
+
+        stz     $fd44           ; all channels full volume / no attenuation
+        lda     #$ff
+        stz     MSTEREO
+
+        lda     #0
+        sta     AUD0CTLA
+        sta     AUD1CTLA
+        sta     AUD2CTLA
+        sta     AUD3CTLA
+
+        ldx     #3
+        lda     #0
+init0:  stz     SndActive,x
+        stz     SndReqStop,x
+        stz     SndEnvVol,x
+        stz     SndEnvFrq,x
+        stz     SndEnvWave,x
+        ldy     SndOffsets,x
+        sta     SndChannel+2,y
+        dex
+        bpl     init0
+        stz     SndRetAFlag
+        stz     SndRetAFlag2
+        stz     SndSema
+        plp
+        rts
 
 ;----------------------------------------------------------------------------
 ; lynx_snd_handler is run at every sound interrupt
 ;
 
 lynx_snd_handler:
-       lda     INTSET
-       and     #SND_INTERRUPT
-       bne     @L0
-       clc
-       rts
+        lda     INTSET
+        and     #SND_INTERRUPT
+        bne     @L0
+        clc
+        rts
 @L0:
-       lda     #$ff
-       tsb     SndSema
-       bne     endirq
-       phy
-       ; *NOW* set all values which were "pre-set" in last interrupt
-       jsr     SndSetValues
-       cli
-
-       lda SndRetAFlag   ; reset the return flag, but save it first
-       _IFNE
-               lda #$0F ; MASK
-               sta SndRetAFlag2
-               stz SndRetAFlag
-       _ENDIF
-
-       ldx #3
-irq0:  phx
-       lda SndActive,x
-       _IFNE
-               lda SndEnvVol,x
-               _IFNE
-                       phx
-                       jsr SndChangeVol
-                       plx
-               _ENDIF
-               lda SndEnvFrq,x
-               _IFNE
-                       phx
-                       jsr SndChangeFrq
-                       plx
-               _ENDIF
-               lda SndEnvWave,x
-               _IFNE
-                       phx
-                       jsr SndChangeWave
-                       plx
-               _ENDIF
-               jsr SndGetCmd
-       _ENDIF
-       plx
-       dex
-       bpl irq0
-       sei
-       ply
-       stz SndSema
+        lda     #$ff
+        tsb     SndSema
+        bne     endirq
+        phy
+        ; *NOW* set all values which were "pre-set" in last interrupt
+        jsr     SndSetValues
+        cli
+
+        lda SndRetAFlag   ; reset the return flag, but save it first
+        _IFNE
+                lda #$0F ; MASK
+                sta SndRetAFlag2
+                stz SndRetAFlag
+        _ENDIF
+
+        ldx #3
+irq0:   phx
+        lda SndActive,x
+        _IFNE
+                lda SndEnvVol,x
+                _IFNE
+                        phx
+                        jsr SndChangeVol
+                        plx
+                _ENDIF
+                lda SndEnvFrq,x
+                _IFNE
+                        phx
+                        jsr SndChangeFrq
+                        plx
+                _ENDIF
+                lda SndEnvWave,x
+                _IFNE
+                        phx
+                        jsr SndChangeWave
+                        plx
+                _ENDIF
+                jsr SndGetCmd
+        _ENDIF
+        plx
+        dex
+        bpl irq0
+        sei
+        ply
+        stz SndSema
 endirq:
-       clc
-       rts
+        clc
+        rts
 
 ;----------------------------------------------------------------------------
 ; A process table with addresses to sound functions
 ;
 
 SndCmdsLo:
-       .byte <((SndLoop)-1)
-       .byte <((SndDo)-1)
-       .byte <((SndPause)-1)
-       .byte <((SndNoteOff)-1)
-       .byte <((SndSetInstr)-1)
-       .byte <((SndNewNote2)-1)
-       .byte <((SndCallPattern)-1)
-       .byte <((SndRetToSong)-1)
-       .byte <((SndDefEnvVol)-1)
-       .byte <((SndSetEnvVol)-1)
-       .byte <((SndDefEnvFrq)-1)
-       .byte <((SndSetEnvFrq)-1)
-       .byte <((SndDefEnvWave)-1)
-       .byte <((SndSetEnvWave)-1)
-       .byte <((SndSetStereo)-1)
-       .byte <((SndSetAttenuationOn)-1)
-       .byte <((SndSetChnAttenution)-1)
-       .byte <((SndPlayerFreq)-1)
-       .byte <((SndReturnAll)-1)
+        .byte <((SndLoop)-1)
+        .byte <((SndDo)-1)
+        .byte <((SndPause)-1)
+        .byte <((SndNoteOff)-1)
+        .byte <((SndSetInstr)-1)
+        .byte <((SndNewNote2)-1)
+        .byte <((SndCallPattern)-1)
+        .byte <((SndRetToSong)-1)
+        .byte <((SndDefEnvVol)-1)
+        .byte <((SndSetEnvVol)-1)
+        .byte <((SndDefEnvFrq)-1)
+        .byte <((SndSetEnvFrq)-1)
+        .byte <((SndDefEnvWave)-1)
+        .byte <((SndSetEnvWave)-1)
+        .byte <((SndSetStereo)-1)
+        .byte <((SndSetAttenuationOn)-1)
+        .byte <((SndSetChnAttenution)-1)
+        .byte <((SndPlayerFreq)-1)
+        .byte <((SndReturnAll)-1)
 
 SndCmdsHi:
-       .byte >((SndLoop)-1)
-       .byte >((SndDo)-1)
-       .byte >((SndPause)-1)
-       .byte >((SndNoteOff)-1)
-       .byte >((SndSetInstr)-1)
-       .byte >((SndNewNote2)-1)
-       .byte >((SndCallPattern)-1)
-       .byte >((SndRetToSong)-1)
-       .byte >((SndDefEnvVol)-1)
-       .byte >((SndSetEnvVol)-1)
-       .byte >((SndDefEnvFrq)-1)
-       .byte >((SndSetEnvFrq)-1)
-       .byte >((SndDefEnvWave)-1)
-       .byte >((SndSetEnvWave)-1)
-       .byte >((SndSetStereo)-1)
-       .byte >((SndSetAttenuationOn)-1)
-       .byte >((SndSetChnAttenution)-1)
-       .byte >((SndPlayerFreq)-1)
-       .byte >((SndReturnAll)-1)
+        .byte >((SndLoop)-1)
+        .byte >((SndDo)-1)
+        .byte >((SndPause)-1)
+        .byte >((SndNoteOff)-1)
+        .byte >((SndSetInstr)-1)
+        .byte >((SndNewNote2)-1)
+        .byte >((SndCallPattern)-1)
+        .byte >((SndRetToSong)-1)
+        .byte >((SndDefEnvVol)-1)
+        .byte >((SndSetEnvVol)-1)
+        .byte >((SndDefEnvFrq)-1)
+        .byte >((SndSetEnvFrq)-1)
+        .byte >((SndDefEnvWave)-1)
+        .byte >((SndSetEnvWave)-1)
+        .byte >((SndSetStereo)-1)
+        .byte >((SndSetAttenuationOn)-1)
+        .byte >((SndSetChnAttenution)-1)
+        .byte >((SndPlayerFreq)-1)
+        .byte >((SndReturnAll)-1)
 
 ;----------------------------------------------------------------------------
 ; Get next sound command from stream
 ;
 
 SndGetCmd:
-       lda SndReqStop,x
-       bne SndStop
-
-       lda SndRetAFlag2
-       and SndMask,x
-       _IFNE
-               eor SndRetAFlag2
-               sta SndRetAFlag2
-               lda SndRetAddr,x
-               sta SndPtrLo,x
-               lda SndRetAddr+4,x
-               sta SndPtrHi,x
-               ;;; force the direct continue return
-       _ELSE
-               dec SndDelay,x
-               bne cmd991 ;; check special case
-       _ENDIF
-
-       lda SndPtrLo,x
-       sta SndPtrTmp
-       lda SndPtrHi,x
-       sta SndPtrTmp+1
-cmd0:  lda (SndPtrTmp)
-       beq SndStop
-       _IFMI
-               and #$7f
-               tay
-               jsr SndCallCmd
-       _ELSE
-               jsr SndNewNote
-       _ENDIF
-       clc
-       tya
-       and #$7f
-       adc SndPtrTmp
-       sta SndPtrLo,x
-       sta SndPtrTmp
-       lda #0
-       adc SndPtrTmp+1
-       sta SndPtrHi,x
-       sta SndPtrTmp+1
-
-       tya
-       bmi cmd0
+        lda SndReqStop,x
+        bne SndStop
+
+        lda SndRetAFlag2
+        and SndMask,x
+        _IFNE
+                eor SndRetAFlag2
+                sta SndRetAFlag2
+                lda SndRetAddr,x
+                sta SndPtrLo,x
+                lda SndRetAddr+4,x
+                sta SndPtrHi,x
+                ;;; force the direct continue return
+        _ELSE
+                dec SndDelay,x
+                bne cmd991 ;; check special case
+        _ENDIF
+
+        lda SndPtrLo,x
+        sta SndPtrTmp
+        lda SndPtrHi,x
+        sta SndPtrTmp+1
+cmd0:   lda (SndPtrTmp)
+        beq SndStop
+        _IFMI
+                and #$7f
+                tay
+                jsr SndCallCmd
+        _ELSE
+                jsr SndNewNote
+        _ENDIF
+        clc
+        tya
+        and #$7f
+        adc SndPtrTmp
+        sta SndPtrLo,x
+        sta SndPtrTmp
+        lda #0
+        adc SndPtrTmp+1
+        sta SndPtrHi,x
+        sta SndPtrTmp+1
+
+        tya
+        bmi cmd0
 cmd991:
-       ;; now check if delay is only 1 AND next one is return all.
-       lda #1
-       cmp SndDelay,x
-       bne cmd99
-
-       ;; NOW read ahead ONE
-       lda SndPtrLo,x
-       sta SndPtrTmp
-       lda SndPtrHi,x
-       sta SndPtrTmp+1
-
-       lda (SndPtrTmp)
-       cmp #$92 ;; Return all
-       _IFEQ
-               sta SndRetAFlag ; just set !=0
-       _ENDIF
-cmd99: rts
+        ;; now check if delay is only 1 AND next one is return all.
+        lda #1
+        cmp SndDelay,x
+        bne cmd99
+
+        ;; NOW read ahead ONE
+        lda SndPtrLo,x
+        sta SndPtrTmp
+        lda SndPtrHi,x
+        sta SndPtrTmp+1
+
+        lda (SndPtrTmp)
+        cmp #$92 ;; Return all
+        _IFEQ
+                sta SndRetAFlag ; just set !=0
+        _ENDIF
+cmd99:  rts
 
 ;----------------------------------------------------------------------------
 ; Call function pointed to by y
 ;
 
 SndCallCmd:
-       lda SndCmdsHi,y
-       pha
-       lda SndCmdsLo,y
-       pha
-       ldy #1
-       rts
+        lda SndCmdsHi,y
+        pha
+        lda SndCmdsLo,y
+        pha
+        ldy #1
+        rts
 
 ;----------------------------------------------------------------------------
 ; Stop sound on one channel
 ;
 
 SndStop:
-       stz SndReqStop,x
-       stz SndActive,x
-       ldy SndOffsets,x
-       lda #0
-       sta SndChannel,y
-       ina ;lda #1
-       sta SndChannel+2,y
-       tay ;ldy #1
-       rts
+        stz SndReqStop,x
+        stz SndActive,x
+        ldy SndOffsets,x
+        lda #0
+        sta SndChannel,y
+        ina ;lda #1
+        sta SndChannel+2,y
+        tay ;ldy #1
+        rts
 
 
 ;----------------------------------------------------------------------------
@@ -407,182 +407,182 @@ SndStop:
 ;
 
 SndNewNote:
-       phx
-       sta SndNotePlaying,x
-       pha
-       ldy #1
-       lda (SndPtrTmp),y
-       sta SndDelay,x
-       ldy SndOffsets,x
-       lda SndVolume,x
-       sta SndChannel,y
-       plx
-       lda SndPrescaler,x
-       sta SndChannel+5,y
-       lda SndReload,x
-       sta SndChannel+4,y
-       lda #$FF   ; = -1
-       sta SndChannel+2,y
-       plx
-       lda SndEnvVol,x
-       _IFNE
-               jsr SndSetEnvVol1
-       _ENDIF
-       lda SndEnvFrq,x
-       _IFNE
-               jsr SndSetEnvFrq1
-       _ENDIF
-       lda SndEnvWave,x
-       _IFNE
-               jsr SndSetEnvWave1
-       _ENDIF
-       lda #$2
-       ldy SndDelay,x
-       _IFNE
-               ora #$80
-       _ENDIF
-       tay
-       rts
+        phx
+        sta SndNotePlaying,x
+        pha
+        ldy #1
+        lda (SndPtrTmp),y
+        sta SndDelay,x
+        ldy SndOffsets,x
+        lda SndVolume,x
+        sta SndChannel,y
+        plx
+        lda SndPrescaler,x
+        sta SndChannel+5,y
+        lda SndReload,x
+        sta SndChannel+4,y
+        lda #$FF   ; = -1
+        sta SndChannel+2,y
+        plx
+        lda SndEnvVol,x
+        _IFNE
+                jsr SndSetEnvVol1
+        _ENDIF
+        lda SndEnvFrq,x
+        _IFNE
+                jsr SndSetEnvFrq1
+        _ENDIF
+        lda SndEnvWave,x
+        _IFNE
+                jsr SndSetEnvWave1
+        _ENDIF
+        lda #$2
+        ldy SndDelay,x
+        _IFNE
+                ora #$80
+        _ENDIF
+        tay
+        rts
 
 ;----------------------------------------------------------------------------
 ; Start a loop with count
 ;
 
 SndLoop:
-       lda (SndPtrTmp),y
-       sta SndLoopCnt,x
-       lda SndPtrTmp
-       sta SndLoopPtrLo,x
-       lda SndPtrTmp+1
-       sta SndLoopPtrHi,x
-       ldy #$82
-       rts
+        lda (SndPtrTmp),y
+        sta SndLoopCnt,x
+        lda SndPtrTmp
+        sta SndLoopPtrLo,x
+        lda SndPtrTmp+1
+        sta SndLoopPtrHi,x
+        ldy #$82
+        rts
 
 SndDo:
-       dec SndLoopCnt,x
-       _IFNE
-               lda SndLoopPtrLo,x
-               sta SndPtrTmp
-               lda SndLoopPtrHi,x
-               sta SndPtrTmp+1
-               ldy #$82
-       _ELSE
-               ldy #$81
-       _ENDIF
-       rts
+        dec SndLoopCnt,x
+        _IFNE
+                lda SndLoopPtrLo,x
+                sta SndPtrTmp
+                lda SndLoopPtrHi,x
+                sta SndPtrTmp+1
+                ldy #$82
+        _ELSE
+                ldy #$81
+        _ENDIF
+        rts
 
 ;----------------------------------------------------------------------------
 ; Sound volume envelope
 ;
 
 SndDefEnvVol:
-       phx
-       lda (SndPtrTmp),y               ; env #
-       tax
+        phx
+        lda (SndPtrTmp),y               ; env #
+        tax
 
-       iny
-       lda (SndPtrTmp),y
-       sta SndEnvVolPtrLo,x
-       iny
-       lda (SndPtrTmp),y
-       sta SndEnvVolPtrHi,x            ; Ptr to [cnt,inc]
+        iny
+        lda (SndPtrTmp),y
+        sta SndEnvVolPtrLo,x
+        iny
+        lda (SndPtrTmp),y
+        sta SndEnvVolPtrHi,x            ; Ptr to [cnt,inc]
 
-       ldy #$84
-       plx
-       rts
+        ldy #$84
+        plx
+        rts
 
 SndSetEnvVol:
-       lda (SndPtrTmp),y               ; # env
+        lda (SndPtrTmp),y               ; # env
 
 SndSetEnvVol1:
-       and #$7f
-       sta SndEnvVol,x                 ; save
-       _IFEQ
-               ldy #$82
-               rts
-       _ENDIF
-
-       tay
-
-       lda SndEnvVolPtrLo,y
-       sta SndEnvPtr
-       lda SndEnvVolPtrHi,y
-       sta SndEnvPtr+1
-
-       lda (SndEnvPtr)
-       sta SndTmp
-       asl
-       sta SndEnvVolLoop,x             ; here is the loop-start
-
-       ldy #1
-       lda (SndEnvPtr),y
-       sta SndEnvVolParts,x
-       sec
-       sbc SndTmp
-       sta SndEnvVolParts2,x
-
-       stz SndEnvVolCnt,x
-       lda #2
-       sta SndEnvVolOff,x
-
-       ldy #$82
-       rts
+        and #$7f
+        sta SndEnvVol,x                 ; save
+        _IFEQ
+                ldy #$82
+                rts
+        _ENDIF
+
+        tay
+
+        lda SndEnvVolPtrLo,y
+        sta SndEnvPtr
+        lda SndEnvVolPtrHi,y
+        sta SndEnvPtr+1
+
+        lda (SndEnvPtr)
+        sta SndTmp
+        asl
+        sta SndEnvVolLoop,x             ; here is the loop-start
+
+        ldy #1
+        lda (SndEnvPtr),y
+        sta SndEnvVolParts,x
+        sec
+        sbc SndTmp
+        sta SndEnvVolParts2,x
+
+        stz SndEnvVolCnt,x
+        lda #2
+        sta SndEnvVolOff,x
+
+        ldy #$82
+        rts
 
 ;----------------------------------------------------------------------------
 ; Sound frequency envelope
 ;
 
 SndDefEnvFrq:
-       phx
-       lda (SndPtrTmp),y               ; env #
-       tax
-
-       iny
-       lda (SndPtrTmp),y
-       sta SndEnvFrqPtrLo,x
-       iny
-       lda (SndPtrTmp),y
-       sta SndEnvFrqPtrHi,x            ; Ptr to [inc,cnt]
-       plx
-       ldy #$84
-       rts
+        phx
+        lda (SndPtrTmp),y               ; env #
+        tax
+
+        iny
+        lda (SndPtrTmp),y
+        sta SndEnvFrqPtrLo,x
+        iny
+        lda (SndPtrTmp),y
+        sta SndEnvFrqPtrHi,x            ; Ptr to [inc,cnt]
+        plx
+        ldy #$84
+        rts
 
 SndSetEnvFrq:
-       lda (SndPtrTmp),y               ; # env
+        lda (SndPtrTmp),y               ; # env
 
 SndSetEnvFrq1:
-       and #$7f
-       sta SndEnvFrq,x                 ; save
-       _IFEQ
-               ldy #$82
-               rts
-       _ENDIF
-
-       tay
-
-       lda SndEnvFrqPtrLo,y
-       sta SndEnvPtr
-       lda SndEnvFrqPtrHi,y
-       sta SndEnvPtr+1
-
-       lda (SndEnvPtr)
-       sta SndTmp
-       asl
-       sta SndEnvFrqLoop,x
-
-       ldy #1
-       lda (SndEnvPtr),y
-       sta SndEnvFrqParts,x
-       sec
-       sbc SndTmp
-       sta SndEnvFrqParts2,x
-
-       stz SndEnvFrqCnt,x
-       lda #2
-       sta SndEnvFrqOff,x
-
-       ldy #$82
-       rts
+        and #$7f
+        sta SndEnvFrq,x                 ; save
+        _IFEQ
+                ldy #$82
+                rts
+        _ENDIF
+
+        tay
+
+        lda SndEnvFrqPtrLo,y
+        sta SndEnvPtr
+        lda SndEnvFrqPtrHi,y
+        sta SndEnvPtr+1
+
+        lda (SndEnvPtr)
+        sta SndTmp
+        asl
+        sta SndEnvFrqLoop,x
+
+        ldy #1
+        lda (SndEnvPtr),y
+        sta SndEnvFrqParts,x
+        sec
+        sbc SndTmp
+        sta SndEnvFrqParts2,x
+
+        stz SndEnvFrqCnt,x
+        lda #2
+        sta SndEnvFrqOff,x
+
+        ldy #$82
+        rts
 
 ;----------------------------------------------------------------------------
 ; Sound frequency envelope
@@ -590,58 +590,58 @@ SndSetEnvFrq1:
 
 SndDefEnvWave:
 
-       phx
-       lda (SndPtrTmp),y               ; env #
-       tax
+        phx
+        lda (SndPtrTmp),y               ; env #
+        tax
 
-       iny
-       lda (SndPtrTmp),y
-       sta SndEnvWavePtrLo,x
-       iny
-       lda (SndPtrTmp),y
-       sta SndEnvWavePtrHi,x            ; Ptr to [inc,cnt]
-       plx
-       ldy #$84
-       rts
+        iny
+        lda (SndPtrTmp),y
+        sta SndEnvWavePtrLo,x
+        iny
+        lda (SndPtrTmp),y
+        sta SndEnvWavePtrHi,x            ; Ptr to [inc,cnt]
+        plx
+        ldy #$84
+        rts
 
 SndSetEnvWave:
-       lda (SndPtrTmp),y               ; # env
+        lda (SndPtrTmp),y               ; # env
 
 SndSetEnvWave1:
-       and #$7f
-       sta SndEnvWave,x                 ; save
-       _IFEQ
-               ldy #$82
-               rts
-       _ENDIF
-
-       tay
-
-       lda SndEnvWavePtrLo,y
-       sta SndEnvPtr
-       lda SndEnvWavePtrHi,y
-       sta SndEnvPtr+1
-
-       lda (SndEnvPtr)
-       sta SndTmp
-       asl ; *4 -2
-       dea
-       asl
-       sta SndEnvWaveLoop,x
-
-       ldy #1
-       lda (SndEnvPtr),y
-       sta SndEnvWaveParts,x
-       sec
-       sbc SndTmp
-       sta SndEnvWaveParts2,x
-
-       stz SndEnvWaveCnt,x
-       lda #2
-       sta SndEnvWaveOff,x
-
-       ldy #$82
-       rts
+        and #$7f
+        sta SndEnvWave,x                 ; save
+        _IFEQ
+                ldy #$82
+                rts
+        _ENDIF
+
+        tay
+
+        lda SndEnvWavePtrLo,y
+        sta SndEnvPtr
+        lda SndEnvWavePtrHi,y
+        sta SndEnvPtr+1
+
+        lda (SndEnvPtr)
+        sta SndTmp
+        asl ; *4 -2
+        dea
+        asl
+        sta SndEnvWaveLoop,x
+
+        ldy #1
+        lda (SndEnvPtr),y
+        sta SndEnvWaveParts,x
+        sec
+        sbc SndTmp
+        sta SndEnvWaveParts2,x
+
+        stz SndEnvWaveCnt,x
+        lda #2
+        sta SndEnvWaveOff,x
+
+        ldy #$82
+        rts
 
 ;----------------------------------------------------------------------------
 ; Pause sound
@@ -1101,170 +1101,170 @@ set0:                ldy SndOffsets,x
         _IFPL
             jmp set0
         _ENDIF
-       rts
+        rts
 
 _lynx_snd_play:
-       sta ptr1
-       stx ptr1+1
-       jsr popa
-       tax
-       lda ptr1
-       ldy ptr1+1
-       php
-       pha
-       lda SndActive,x
-       _IFNE
-               dec SndReqStop,x
-               lda #1
-               sta SndDelay,x
-start0:                lda SndActive,x
-               bne start0
-       _ENDIF
-       bra start1
+        sta ptr1
+        stx ptr1+1
+        jsr popa
+        tax
+        lda ptr1
+        ldy ptr1+1
+        php
+        pha
+        lda SndActive,x
+        _IFNE
+                dec SndReqStop,x
+                lda #1
+                sta SndDelay,x
+start0:         lda SndActive,x
+                bne start0
+        _ENDIF
+        bra start1
 SndStartSoundx:
-       php
-       pha
+        php
+        pha
 start1:
-       sei
-       pla
-       sta SndPtrLo,x
-       tya
-       sta SndPtrHi,x
-       lda #1
-       sta SndDelay,x
-       stz SndEnvVol,x
-       stz SndEnvFrq,x
-       stz SndEnvWave,x
-       sta SndActive,x
-       stz SndReqStop,x
-       plp
-       rts
+        sei
+        pla
+        sta SndPtrLo,x
+        tya
+        sta SndPtrHi,x
+        lda #1
+        sta SndDelay,x
+        stz SndEnvVol,x
+        stz SndEnvFrq,x
+        stz SndEnvWave,x
+        sta SndActive,x
+        stz SndReqStop,x
+        plp
+        rts
 SndStartSound2:
-       pha
-       lda SndActive,x         ; check default
-       beq start20                  ; inactive => ok
-       phx
-       ldx #3                  ; search free channel
+        pha
+        lda SndActive,x         ; check default
+        beq start20                  ; inactive => ok
+        phx
+        ldx #3                  ; search free channel
 start21:
-       lda SndActive,x
-       beq start22                ; found =>
-       dex
-       bpl start21
-       plx                     ; not found
-       dec SndReqStop,x        ; stop default-channel
-       lda #1
-       sta SndDelay,x
+        lda SndActive,x
+        beq start22                ; found =>
+        dex
+        bpl start21
+        plx                     ; not found
+        dec SndReqStop,x        ; stop default-channel
+        lda #1
+        sta SndDelay,x
 start23:
-       lda SndActive,x
-       bne start23
-       bra start20
+        lda SndActive,x
+        bne start23
+        bra start20
 start22:
-       pla             ; clear stack
+        pla             ; clear stack
 start20:
-       pla
-       phx
-       jsr SndStartSoundx      ; launch new sound
-       plx
-       rts
+        pla
+        phx
+        jsr SndStartSoundx      ; launch new sound
+        plx
+        rts
 
 _lynx_snd_stop:
-       ldx #3
-       lda SndActive,x
-       _IFNE
-stop0:         dec SndReqStop,x
-               lda #1
-               sta SndDelay,x
-stop1:         lda SndActive,x
-               bne stop1
-       _ENDIF
-       dex
-       bpl stop0
-       rts
+        ldx #3
+        lda SndActive,x
+        _IFNE
+stop0:          dec SndReqStop,x
+                lda #1
+                sta SndDelay,x
+stop1:          lda SndActive,x
+                bne stop1
+        _ENDIF
+        dex
+        bpl stop0
+        rts
 
 _lynx_snd_stop_channel:
-       tax
-       lda SndActive,x
-       _IFNE
-               dec SndReqStop,x
-               lda #1
-               sta SndDelay,x
-stopc1:                lda SndActive,x
-               bne stopc1
-       _ENDIF
-       rts
+        tax
+        lda SndActive,x
+        _IFNE
+                dec SndReqStop,x
+                lda #1
+                sta SndDelay,x
+stopc1:         lda SndActive,x
+                bne stopc1
+        _ENDIF
+        rts
 
 _lynx_snd_active:
-       ldx #3
-       lda #0
-act0:  ldy SndActive,x
-       _IFNE
-               ora SndMask,x
-       _ENDIF
-       dex
-       bpl act0
-       rts
+        ldx #3
+        lda #0
+act0:   ldy SndActive,x
+        _IFNE
+                ora SndMask,x
+        _ENDIF
+        dex
+        bpl act0
+        rts
 
 _lynx_snd_pause:
-       php
-       sei
-       lda STIMCTLA
-       sta SndPauseOff1+1
-       stz STIMCTLA
-       lda MSTEREO
-       sta SndPauseOff2+1
-       lda #$ff
-       sta MSTEREO
-       lda #$18
-       trb AUD0CTLA
-       trb AUD1CTLA
-       trb AUD2CTLA
-       trb AUD3CTLA
-       plp
-       rts
+        php
+        sei
+        lda STIMCTLA
+        sta SndPauseOff1+1
+        stz STIMCTLA
+        lda MSTEREO
+        sta SndPauseOff2+1
+        lda #$ff
+        sta MSTEREO
+        lda #$18
+        trb AUD0CTLA
+        trb AUD1CTLA
+        trb AUD2CTLA
+        trb AUD3CTLA
+        plp
+        rts
 
 _lynx_snd_continue:
-       php
-       sei
+        php
+        sei
 SndPauseOff1:
-       lda #0 ; Selbsmodifizierter Code!!!
-       sta STIMCTLA
+        lda #0 ; Selbsmodifizierter Code!!!
+        sta STIMCTLA
 SndPauseOff2:
-       lda #0 ; Selbsmodifizierter Code!!!
-       sta MSTEREO
+        lda #0 ; Selbsmodifizierter Code!!!
+        sta MSTEREO
 
-       lda #$18
-       tsb AUD0CTLA
-       tsb AUD1CTLA
-       tsb AUD2CTLA
-       tsb AUD3CTLA
+        lda #$18
+        tsb AUD0CTLA
+        tsb AUD1CTLA
+        tsb AUD2CTLA
+        tsb AUD3CTLA
 
-       plp
-       rts
+        plp
+        rts
 
-       .rodata
+        .rodata
 
 SndMask:
-       .byte 1,2,4,8
+        .byte 1,2,4,8
 
 SndPrescaler:
-       .byte $00,$06,$06,$06,$06,$05,$05,$05,$05,$05,$05,$05,$04,$04,$04,$04
-       .byte $04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$02,$02
-       .byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$01,$01,$01,$01,$01
-       .byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
-       .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
-       .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
-       .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
-       .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+        .byte $00,$06,$06,$06,$06,$05,$05,$05,$05,$05,$05,$05,$04,$04,$04,$04
+        .byte $04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$02,$02
+        .byte $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$01,$01,$01,$01,$01
+        .byte $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
+        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
+        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
 
 SndReload:
-       .byte $00,$9A,$96,$8F,$86,$FA,$E5,$D1,$BE,$AC,$9C,$8D,$00,$E8,$D3,$C0
-       .byte $AF,$A0,$93,$87,$FA,$E7,$D6,$C6,$B8,$AC,$A1,$96,$8D,$84,$FA,$EB
-       .byte $DE,$D2,$C7,$BC,$B3,$AA,$A1,$9A,$93,$8C,$86,$00,$F5,$EB,$E1,$D8
-       .byte $CF,$C7,$C0,$B9,$B2,$AB,$A5,$A0,$9A,$95,$90,$8B,$87,$82,$FD,$F5
-       .byte $EE,$E7,$E0,$D9,$D3,$CD,$C8,$C2,$BD,$B8,$B3,$AE,$AA,$A5,$A1,$9D
-       .byte $99,$96,$92,$8F,$8B,$88,$85,$82,$7F,$7C,$79,$77,$74,$72,$6F,$6D
-       .byte $6B,$69,$67,$64,$63,$61,$5F,$5D,$5B,$59,$58,$56,$55,$53,$51,$50
-       .byte $4F,$4D,$4C,$4B,$49,$48,$47,$46,$44,$43,$42,$41,$40,$3F,$3E,$3D
+        .byte $00,$9A,$96,$8F,$86,$FA,$E5,$D1,$BE,$AC,$9C,$8D,$00,$E8,$D3,$C0
+        .byte $AF,$A0,$93,$87,$FA,$E7,$D6,$C6,$B8,$AC,$A1,$96,$8D,$84,$FA,$EB
+        .byte $DE,$D2,$C7,$BC,$B3,$AA,$A1,$9A,$93,$8C,$86,$00,$F5,$EB,$E1,$D8
+        .byte $CF,$C7,$C0,$B9,$B2,$AB,$A5,$A0,$9A,$95,$90,$8B,$87,$82,$FD,$F5
+        .byte $EE,$E7,$E0,$D9,$D3,$CD,$C8,$C2,$BD,$B8,$B3,$AE,$AA,$A5,$A1,$9D
+        .byte $99,$96,$92,$8F,$8B,$88,$85,$82,$7F,$7C,$79,$77,$74,$72,$6F,$6D
+        .byte $6B,$69,$67,$64,$63,$61,$5F,$5D,$5B,$59,$58,$56,$55,$53,$51,$50
+        .byte $4F,$4D,$4C,$4B,$49,$48,$47,$46,$44,$43,$42,$41,$40,$3F,$3E,$3D
 
 
 
index 8b6808051251fe9ea11b8f80ebe85ea0cc48f361..8ab1b7c68869e3b64c6acc932e1bffd4d04968b5 100644 (file)
@@ -5,8 +5,8 @@
 ;
 
 
-       .constructor    initmainargs, 24
-               .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
 
 ;---------------------------------------------------------------------------
index 04ef2b68ecd77bbd5492b4468fefac9c4bd0a305..c48b8eb95b5b5f79b92b549a1ebe4d4546be06e0 100644 (file)
 ; As helper functions we also provide.
 ; void openn(int fileno)
 ;
-       .importzp       sreg, tmp3
-       .macpack        longbranch
-       .import         _atoi
-       .import         _read
-       .import         _lseek
-       .import         addysp,popax,pushax,decsp6,pusha0,pusheax,ldaxysp
-       .import         aslax3,axlong,tosaddeax,steaxysp,stax0sp,incsp8
-       .import         ldax0sp
-       .import         lynxskip0, lynxblock
-       .importzp       _FileEntry
-       .importzp       _FileStartBlock
-       .importzp       _FileCurrBlock
-       .importzp       _FileBlockOffset
-       .import         __STARTOFDIRECTORY__
-       .export         _open
-       .export         _openn
-
-       .include        "errno.inc"
-       .include        "fcntl.inc"
-
-.segment       "DATA"
+        .importzp       sreg, tmp3
+        .macpack        longbranch
+        .import         _atoi
+        .import         _read
+        .import         _lseek
+        .import         addysp,popax,pushax,decsp6,pusha0,pusheax,ldaxysp
+        .import         aslax3,axlong,tosaddeax,steaxysp,stax0sp,incsp8
+        .import         ldax0sp
+        .import         lynxskip0, lynxblock
+        .importzp       _FileEntry
+        .importzp       _FileStartBlock
+        .importzp       _FileCurrBlock
+        .importzp       _FileBlockOffset
+        .import         __STARTOFDIRECTORY__
+        .export         _open
+        .export         _openn
+
+        .include        "errno.inc"
+        .include        "fcntl.inc"
+
+.segment        "DATA"
 
 _startofdirectory:
-       .dword  __STARTOFDIRECTORY__
+        .dword  __STARTOFDIRECTORY__
 
 ; ---------------------------------------------------------------
 ; int __near__ open (__near__ const unsigned char*, int)
 ; ---------------------------------------------------------------
 
-.segment       "CODE"
+.segment        "CODE"
 
-.proc  _open
+.proc   _open
 
-.segment       "CODE"
+.segment        "CODE"
 
-       dey
-       dey
-       dey
-       dey
-       beq     parmok
-       jsr     addysp
+        dey
+        dey
+        dey
+        dey
+        beq     parmok
+        jsr     addysp
 
-parmok:        jsr     popax
-       sta     tmp3
-       and     #(O_RDWR | O_CREAT)
-       cmp     #O_RDONLY
-       beq     flagsok
-       cmp     #(O_WRONLY | O_CREAT)
-       beq     flagsok
-       jsr     popax
-       lda     #EINVAL
-       jmp     __directerrno
+parmok: jsr     popax
+        sta     tmp3
+        and     #(O_RDWR | O_CREAT)
+        cmp     #O_RDONLY
+        beq     flagsok
+        cmp     #(O_WRONLY | O_CREAT)
+        beq     flagsok
+        jsr     popax
+        lda     #EINVAL
+        jmp     __directerrno
 
 flagsok:
-       jsr     popax
-       jsr     _atoi
-       jsr     _openn
-       ldx     #$00
-       lda     #$01
-       stx     __oserror
-       rts
+        jsr     popax
+        jsr     _atoi
+        jsr     _openn
+        ldx     #$00
+        lda     #$01
+        stx     __oserror
+        rts
 
 .endproc
 
@@ -83,54 +83,54 @@ flagsok:
 ; void __near__ __fastcall__ openn (int)
 ; ---------------------------------------------------------------
 
-.segment       "CODE"
-
-.proc  _openn: near
-
-.segment       "CODE"
-
-       jsr     pushax
-       jsr     decsp6
-       lda     #$01
-       jsr     pusha0
-       lda     _startofdirectory+3
-       sta     sreg+1
-       lda     _startofdirectory+2
-       sta     sreg
-       ldx     _startofdirectory+1
-       lda     _startofdirectory
-       jsr     pusheax
-       ldy     #$0D
-       jsr     ldaxysp
-       jsr     aslax3
-       jsr     axlong
-       jsr     tosaddeax
-       jsr     pusheax
-       ldx     #$00
-       txa
-       jsr     _lseek
-       ldy     #$02
-       jsr     steaxysp
-       lda     #$01
-       jsr     pusha0
-       lda     #<_FileEntry
-       ldx     #>_FileEntry
-       jsr     pushax
-       ldx     #$00
-       lda     #$08
-       jsr     _read
-       lda     _FileStartBlock
-       sta     _FileCurrBlock
-       jsr     lynxblock
-       lda     _FileBlockOffset+1
-        eor    #$FF
-       tay
-       lda     _FileBlockOffset
-        eor    #$FF
-       tax
-       jsr     lynxskip0
-       jsr     stax0sp
-       jmp     incsp8
+.segment        "CODE"
+
+.proc   _openn: near
+
+.segment        "CODE"
+
+        jsr     pushax
+        jsr     decsp6
+        lda     #$01
+        jsr     pusha0
+        lda     _startofdirectory+3
+        sta     sreg+1
+        lda     _startofdirectory+2
+        sta     sreg
+        ldx     _startofdirectory+1
+        lda     _startofdirectory
+        jsr     pusheax
+        ldy     #$0D
+        jsr     ldaxysp
+        jsr     aslax3
+        jsr     axlong
+        jsr     tosaddeax
+        jsr     pusheax
+        ldx     #$00
+        txa
+        jsr     _lseek
+        ldy     #$02
+        jsr     steaxysp
+        lda     #$01
+        jsr     pusha0
+        lda     #<_FileEntry
+        ldx     #>_FileEntry
+        jsr     pushax
+        ldx     #$00
+        lda     #$08
+        jsr     _read
+        lda     _FileStartBlock
+        sta     _FileCurrBlock
+        jsr     lynxblock
+        lda     _FileBlockOffset+1
+        eor     #$FF
+        tay
+        lda     _FileBlockOffset
+        eor     #$FF
+        tax
+        jsr     lynxskip0
+        jsr     stax0sp
+        jmp     incsp8
 
 .endproc
 
index f3643a5257ff59ebb77abac1c8746da7861ac119..5570a3bb796b29d478c13a5dc619c6408069d32a 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Map a system specific error into a system independent code */
 ;
 
-       .include        "errno.inc"
+        .include        "errno.inc"
 
 .code
 
 __osmaperrno:
-       rts
+        rts
 
index 43bb27cbaa8e96b373142a61311fe71365408798..d6341af89bc32d2e8284db2df42d175279c3eefb 100644 (file)
 ;
 ; int __fastcall__ read(int fd,void *buf,int count)
 ;
-       .importzp       _FileDestPtr
-       .import         lynxread0
-       .import         pushax,ldaxysp,ldax0sp,incsp6
-       .export         _read
+        .importzp       _FileDestPtr
+        .import         lynxread0
+        .import         pushax,ldaxysp,ldax0sp,incsp6
+        .export         _read
 
-.segment       "CODE"
+.segment        "CODE"
 
-.proc  _read: near
+.proc   _read: near
 
-.segment       "CODE"
+.segment        "CODE"
 
-       jsr     pushax
-       ldy     #$03
-       jsr     ldaxysp
-       sta     _FileDestPtr
-       stx     _FileDestPtr+1
-       jsr     ldax0sp
-       pha
+        jsr     pushax
+        ldy     #$03
+        jsr     ldaxysp
+        sta     _FileDestPtr
+        stx     _FileDestPtr+1
+        jsr     ldax0sp
+        pha
         txa
-       eor     #$FF
-       tay
-       pla
-       eor     #$FF
-       tax
-       jsr     lynxread0
-       jsr     ldax0sp
-       jmp     incsp6
+        eor     #$FF
+        tay
+        pla
+        eor     #$FF
+        tax
+        jsr     lynxread0
+        jsr     ldax0sp
+        jmp     incsp6
 
 .endproc
 
index d2aae7a0a19ff0be7878460be0e83a820ebcec2d..7035787c95003e5d87eb72cefa54946fdf798f8d 100644 (file)
@@ -4,48 +4,48 @@
 ; Karri Kaksonen, 17.09.2009
 ;
 
-       .include        "lynx.inc"
-       .include        "zeropage.inc"
-       .include        "ser-kernel.inc"
-       .include        "ser-error.inc"
+        .include        "lynx.inc"
+        .include        "zeropage.inc"
+        .include        "ser-kernel.inc"
+        .include        "ser-error.inc"
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment        "JUMPTABLE"
+        .segment        "JUMPTABLE"
 
-       ; Driver signature
-       .byte   $73, $65, $72           ; "ser"
-       .byte   SER_API_VERSION         ; Serial API version number
+        ; Driver signature
+        .byte   $73, $65, $72           ; "ser"
+        .byte   SER_API_VERSION         ; Serial API version number
 
-       ; Jump table.
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   OPEN
-       .addr   CLOSE
-       .addr   GET
-       .addr   PUT
-       .addr   STATUS
-       .addr   IOCTL
-       .addr   IRQ
+        ; Jump table.
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   OPEN
+        .addr   CLOSE
+        .addr   GET
+        .addr   PUT
+        .addr   STATUS
+        .addr   IOCTL
+        .addr   IRQ
 
 ;----------------------------------------------------------------------------
 ; Global variables
 ;
 
-       .bss
+        .bss
 
-TxBuffer:      .res    256
-RxBuffer:      .res    256
-RxPtrIn:       .res    1
-RxPtrOut:      .res    1
-TxPtrIn:       .res    1
-TxPtrOut:      .res    1
-contrl:                .res    1
-SerialStat:    .res    1
-TxDone:                .res    1
+TxBuffer:       .res    256
+RxBuffer:       .res    256
+RxPtrIn:        .res    1
+RxPtrOut:       .res    1
+TxPtrIn:        .res    1
+TxPtrOut:       .res    1
+contrl:         .res    1
+SerialStat:     .res    1
+TxDone:         .res    1
 
-       .code
+        .code
 
 ;----------------------------------------------------------------------------
 ; INSTALL: Is called after the driver is loaded into memory.
@@ -53,7 +53,7 @@ TxDone:               .res    1
 ; Must return an SER_ERR_xx code in a/x.
 
 INSTALL:
-       ; Set up IRQ vector ?
+        ; Set up IRQ vector ?
 
 ;----------------------------------------------------------------------------
 ; UNINSTALL: Is called before the driver is removed from memory.
@@ -67,11 +67,11 @@ UNINSTALL:
 ; Must return an SER_ERR_xx code in a/x.
 
 CLOSE:
-       ; Disable interrupts
-       ; Done, return an error code
-       lda     #<SER_ERR_OK
-       ldx     #>SER_ERR_OK
-       rts
+        ; Disable interrupts
+        ; Done, return an error code
+        lda     #<SER_ERR_OK
+        ldx     #>SER_ERR_OK
+        rts
 
 ;----------------------------------------------------------------------------
 ; OPEN: A pointer to a ser_params structure is passed in ptr1.
@@ -95,150 +95,150 @@ CLOSE:
 ;
 ; Must return an SER_ERR_xx code in a/x.
 
-OPEN:  
-       stz     RxPtrIn
-       stz     RxPtrOut
-       stz     TxPtrIn
-       stz     TxPtrOut
-
-       ; clock = 8 * 15625
-       lda     #%00011000
-       sta     TIM4CTLA
-       ldy     #SER_PARAMS::BAUDRATE
-       lda     (ptr1),y
-
-       ldx     #1
-       cmp     #SER_BAUD_62500
-       beq     setbaudrate
-
-       ldx     #2
-       cmp     #SER_BAUD_31250
-       beq     setbaudrate
-
-       ldx     #12
-       cmp     #SER_BAUD_9600
-       beq     setbaudrate
-
-       ldx     #25
-       cmp     #SER_BAUD_4800
-       beq     setbaudrate
-
-       ldx     #51
-       cmp     #SER_BAUD_2400
-       beq     setbaudrate
-
-       ldx     #103
-       cmp     #SER_BAUD_1200
-       beq     setbaudrate
-
-       ldx     #207
-       cmp     #SER_BAUD_600
-       beq     setbaudrate
-
-       ; clock = 6 * 15625
-       ldx     #%00011010
-       stx     TIM4CTLA
-
-       ldx     #12
-       cmp     #SER_BAUD_7200
-       beq     setbaudrate
-
-       ldx     #25
-       cmp     #SER_BAUD_3600
-       beq     setbaudrate
-
-       ldx     #207
-       stx     TIM4BKUP
-
-       ; clock = 4 * 15625
-       ldx     #%00011100
-       cmp     #SER_BAUD_300
-       beq     setprescaler
-
-       ; clock = 6 * 15625
-       ldx     #%00011110
-       cmp     #SER_BAUD_150
-       beq     setprescaler
-
-       ; clock = 1 * 15625
-       ldx     #%00011111
-       stx     TIM4CTLA
-       cmp     #SER_BAUD_75
-       beq     baudsuccess
-
-       ldx     #141
-       cmp     #SER_BAUD_110
-       beq     setbaudrate
-
-       ; clock = 2 * 15625
-       ldx     #%00011010
-       stx     TIM4CTLA
-       ldx     #68
-       cmp     #SER_BAUD_1800
-       beq     setbaudrate
-
-       ; clock = 6 * 15625
-       ldx     #%00011110
-       stx     TIM4CTLA
-       ldx     #231
-       cmp     #SER_BAUD_134_5
-       beq     setbaudrate
-
-       lda     #<SER_ERR_BAUD_UNAVAIL
-       ldx     #>SER_ERR_BAUD_UNAVAIL
-       rts
+OPEN:   
+        stz     RxPtrIn
+        stz     RxPtrOut
+        stz     TxPtrIn
+        stz     TxPtrOut
+
+        ; clock = 8 * 15625
+        lda     #%00011000
+        sta     TIM4CTLA
+        ldy     #SER_PARAMS::BAUDRATE
+        lda     (ptr1),y
+
+        ldx     #1
+        cmp     #SER_BAUD_62500
+        beq     setbaudrate
+
+        ldx     #2
+        cmp     #SER_BAUD_31250
+        beq     setbaudrate
+
+        ldx     #12
+        cmp     #SER_BAUD_9600
+        beq     setbaudrate
+
+        ldx     #25
+        cmp     #SER_BAUD_4800
+        beq     setbaudrate
+
+        ldx     #51
+        cmp     #SER_BAUD_2400
+        beq     setbaudrate
+
+        ldx     #103
+        cmp     #SER_BAUD_1200
+        beq     setbaudrate
+
+        ldx     #207
+        cmp     #SER_BAUD_600
+        beq     setbaudrate
+
+        ; clock = 6 * 15625
+        ldx     #%00011010
+        stx     TIM4CTLA
+
+        ldx     #12
+        cmp     #SER_BAUD_7200
+        beq     setbaudrate
+
+        ldx     #25
+        cmp     #SER_BAUD_3600
+        beq     setbaudrate
+
+        ldx     #207
+        stx     TIM4BKUP
+
+        ; clock = 4 * 15625
+        ldx     #%00011100
+        cmp     #SER_BAUD_300
+        beq     setprescaler
+
+        ; clock = 6 * 15625
+        ldx     #%00011110
+        cmp     #SER_BAUD_150
+        beq     setprescaler
+
+        ; clock = 1 * 15625
+        ldx     #%00011111
+        stx     TIM4CTLA
+        cmp     #SER_BAUD_75
+        beq     baudsuccess
+
+        ldx     #141
+        cmp     #SER_BAUD_110
+        beq     setbaudrate
+
+        ; clock = 2 * 15625
+        ldx     #%00011010
+        stx     TIM4CTLA
+        ldx     #68
+        cmp     #SER_BAUD_1800
+        beq     setbaudrate
+
+        ; clock = 6 * 15625
+        ldx     #%00011110
+        stx     TIM4CTLA
+        ldx     #231
+        cmp     #SER_BAUD_134_5
+        beq     setbaudrate
+
+        lda     #<SER_ERR_BAUD_UNAVAIL
+        ldx     #>SER_ERR_BAUD_UNAVAIL
+        rts
 setprescaler:
-       stx     TIM4CTLA
-       bra     baudsuccess
+        stx     TIM4CTLA
+        bra     baudsuccess
 setbaudrate:
-       stx     TIM4BKUP
+        stx     TIM4BKUP
 baudsuccess:
-       ldx     #TxOpenColl|ParEven
-       stx     contrl
-       ldy     #SER_PARAMS::DATABITS   ; Databits
-       lda     (ptr1),y
-       cmp     #SER_BITS_8
-       bne     invparameter
-       ldy     #SER_PARAMS::STOPBITS   ; Stopbits
-       lda     (ptr1),y
-       cmp     #SER_STOP_1
-       bne     invparameter
-       ldy     #SER_PARAMS::PARITY     ; Parity
-       lda     (ptr1),y
-       cmp     #SER_PAR_NONE
-       beq     invparameter
-       cmp     #SER_PAR_MARK
-       beq     checkhs
-       cmp     #SER_PAR_SPACE
-       bne     @L0
-       ldx     #TxOpenColl
-       stx     contrl
-       bra     checkhs
+        ldx     #TxOpenColl|ParEven
+        stx     contrl
+        ldy     #SER_PARAMS::DATABITS   ; Databits
+        lda     (ptr1),y
+        cmp     #SER_BITS_8
+        bne     invparameter
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
+        lda     (ptr1),y
+        cmp     #SER_STOP_1
+        bne     invparameter
+        ldy     #SER_PARAMS::PARITY     ; Parity
+        lda     (ptr1),y
+        cmp     #SER_PAR_NONE
+        beq     invparameter
+        cmp     #SER_PAR_MARK
+        beq     checkhs
+        cmp     #SER_PAR_SPACE
+        bne     @L0
+        ldx     #TxOpenColl
+        stx     contrl
+        bra     checkhs
 @L0:
-       ldx     #TxParEnable|TxOpenColl|ParEven
-       stx     contrl
-       cmp     #SER_PAR_EVEN
-       beq     checkhs
-       ldx     #TxParEnable|TxOpenColl
-       stx     contrl
+        ldx     #TxParEnable|TxOpenColl|ParEven
+        stx     contrl
+        cmp     #SER_PAR_EVEN
+        beq     checkhs
+        ldx     #TxParEnable|TxOpenColl
+        stx     contrl
 checkhs:
-       ldx     contrl
-       stx     SERCTL
-       ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
-       lda     (ptr1),y
-       cmp     #SER_HS_NONE
-       bne     invparameter
-       lda     SERDAT
-        lda    contrl
-        ora    #RxIntEnable|ResetErr
-        sta    SERCTL
-       lda     #<SER_ERR_OK
-       ldx     #>SER_ERR_OK
-       rts
+        ldx     contrl
+        stx     SERCTL
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
+        lda     (ptr1),y
+        cmp     #SER_HS_NONE
+        bne     invparameter
+        lda     SERDAT
+        lda     contrl
+        ora     #RxIntEnable|ResetErr
+        sta     SERCTL
+        lda     #<SER_ERR_OK
+        ldx     #>SER_ERR_OK
+        rts
 invparameter:
-       lda     #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
+        lda     #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
 
 ;----------------------------------------------------------------------------
 ; GET: Will fetch a character from the receive buffer and store it into the
@@ -246,64 +246,64 @@ invparameter:
 ; returned.
 
 GET:
-       lda     RxPtrIn
-       cmp     RxPtrOut
-       bne     GetByte
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
+        lda     RxPtrIn
+        cmp     RxPtrOut
+        bne     GetByte
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
 GetByte:
-       ldy     RxPtrOut
-       lda     RxBuffer,y      
-       inc     RxPtrOut
-       ldx     #$00
-       sta     (ptr1,x)
-       txa                     ; Return code = 0
-       rts
+        ldy     RxPtrOut
+        lda     RxBuffer,y      
+        inc     RxPtrOut
+        ldx     #$00
+        sta     (ptr1,x)
+        txa                     ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
 ; Must return an SER_ERR_xx code in a/x.
 
 PUT:
-       tax
-       lda     TxPtrIn
-       ina
-       cmp     TxPtrOut
-       bne     PutByte
-       lda     #<SER_ERR_OVERFLOW
-       ldx     #>SER_ERR_OVERFLOW
-       rts
+        tax
+        lda     TxPtrIn
+        ina
+        cmp     TxPtrOut
+        bne     PutByte
+        lda     #<SER_ERR_OVERFLOW
+        ldx     #>SER_ERR_OVERFLOW
+        rts
 PutByte:
-       ldy     TxPtrIn
-       txa
-       sta     TxBuffer,y
-       inc     TxPtrIn
+        ldy     TxPtrIn
+        txa
+        sta     TxBuffer,y
+        inc     TxPtrIn
 
-        bit    TxDone
-        bmi    @L1
+        bit     TxDone
+        bmi     @L1
         php
         sei
-        lda    contrl
-        ora    #TxIntEnable|ResetErr
-        sta    SERCTL       ; Allow TX-IRQ to hang RX-IRQ
-        sta    TxDone
+        lda     contrl
+        ora     #TxIntEnable|ResetErr
+        sta     SERCTL       ; Allow TX-IRQ to hang RX-IRQ
+        sta     TxDone
         plp
 @L1:
-       lda     #<SER_ERR_OK
-       tax
-       rts
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
 ; Must return an SER_ERR_xx code in a/x.
 
 STATUS:
-       ldy     SerialStat
-       ldx     #$00
-       sta     (ptr1,x)
-       txa                     ; Return code = 0
-       rts
+        ldy     SerialStat
+        ldx     #$00
+        sta     (ptr1,x)
+        txa                     ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
@@ -311,9 +311,9 @@ STATUS:
 ; Must return an SER_ERR_xx code in a/x.
 
 IOCTL:
-       lda     #<SER_ERR_INV_IOCTL
-       ldx     #>SER_ERR_INV_IOCTL
-       rts
+        lda     #<SER_ERR_INV_IOCTL
+        ldx     #>SER_ERR_INV_IOCTL
+        rts
 
 ;----------------------------------------------------------------------------
 ; IRQ: Called from the builtin runtime IRQ handler as a subroutine. All
@@ -325,84 +325,84 @@ IOCTL:
 ; Due to this bug you have to disable the interrupt before clearing it.
 
 IRQ:
-               lda     INTSET          ; Poll all pending interrupts
-               and     #SERIAL_INTERRUPT
-        bne    @L0
-       clc
-       rts
+        lda     INTSET          ; Poll all pending interrupts
+        and     #SERIAL_INTERRUPT
+        bne     @L0
+        clc
+        rts
 @L0:
-       bit     TxDone
-        bmi    @tx_irq     ; Transmit in progress
-        ldx    SERDAT
-        lda    SERCTL
-        and    #RxParityErr|RxOverrun|RxFrameErr|RxBreak
-        beq    @rx_irq
-        tsb    SerialStat  ; Save error condition
-        bit    #RxBreak
-        beq    @noBreak
-        stz    TxPtrIn     ; Break received - drop buffers
-        stz    TxPtrOut
-        stz    RxPtrIn
-        stz    RxPtrOut
+        bit     TxDone
+        bmi     @tx_irq     ; Transmit in progress
+        ldx     SERDAT
+        lda     SERCTL
+        and     #RxParityErr|RxOverrun|RxFrameErr|RxBreak
+        beq     @rx_irq
+        tsb     SerialStat  ; Save error condition
+        bit     #RxBreak
+        beq     @noBreak
+        stz     TxPtrIn     ; Break received - drop buffers
+        stz     TxPtrOut
+        stz     RxPtrIn
+        stz     RxPtrOut
 @noBreak:
-       lda     contrl
-        ora    #RxIntEnable|ResetErr
-        sta    SERCTL
-        lda    #$10
-        sta    INTRST
-        bra    @IRQexit
+        lda     contrl
+        ora     #RxIntEnable|ResetErr
+        sta     SERCTL
+        lda     #$10
+        sta     INTRST
+        bra     @IRQexit
 @rx_irq:
-       lda     contrl
-        ora    #RxIntEnable|ResetErr
-        sta    SERCTL
+        lda     contrl
+        ora     #RxIntEnable|ResetErr
+        sta     SERCTL
         txa
-        ldx    RxPtrIn
-        sta    RxBuffer,x
+        ldx     RxPtrIn
+        sta     RxBuffer,x
         txa
         inx
 
 @cont0:
-        cpx    RxPtrOut
-        beq    @1
-        stx    RxPtrIn
-        lda    #SERIAL_INTERRUPT
-        sta    INTRST
-        bra    @IRQexit
+        cpx     RxPtrOut
+        beq     @1
+        stx     RxPtrIn
+        lda     #SERIAL_INTERRUPT
+        sta     INTRST
+        bra     @IRQexit
 
 @1:
-        sta    RxPtrIn
-        lda    #$80
-        tsb    SerialStat
+        sta     RxPtrIn
+        lda     #$80
+        tsb     SerialStat
 @tx_irq:
-        ldx    TxPtrOut    ; Has all bytes been sent?
-        cpx    TxPtrIn
-        beq    @allSent
+        ldx     TxPtrOut    ; Has all bytes been sent?
+        cpx     TxPtrIn
+        beq     @allSent
 
-        lda    TxBuffer,x  ; Send next byte
-        sta    SERDAT
-        inc    TxPtrOut
+        lda     TxBuffer,x  ; Send next byte
+        sta     SERDAT
+        inc     TxPtrOut
 
 @exit1:
-        lda    contrl
-        ora    #TxIntEnable|ResetErr
-        sta    SERCTL
-        lda    #SERIAL_INTERRUPT
-        sta    INTRST
-        bra    @IRQexit
+        lda     contrl
+        ora     #TxIntEnable|ResetErr
+        sta     SERCTL
+        lda     #SERIAL_INTERRUPT
+        sta     INTRST
+        bra     @IRQexit
 
 @allSent:
-        lda    SERCTL       ; All bytes sent
-        bit    #TxEmpty
-        beq    @exit1
-        bvs    @exit1
-        stz    TxDone
-       lda     contrl
-        ora    #RxIntEnable|ResetErr
-        sta    SERCTL
-
-        lda    #SERIAL_INTERRUPT
-        sta    INTRST
+        lda     SERCTL       ; All bytes sent
+        bit     #TxEmpty
+        beq     @exit1
+        bvs     @exit1
+        stz     TxDone
+        lda     contrl
+        ora     #RxIntEnable|ResetErr
+        sta     SERCTL
+
+        lda     #SERIAL_INTERRUPT
+        sta     INTRST
 @IRQexit:
-       clc
+        clc
         rts
 
index 0dd3338bff4ef2cae1cf38221eef6c202f87ca41..4542cae1ddbd8ae2d67248b242b88105b01d3466 100644 (file)
@@ -7,13 +7,13 @@
 ; This code is written by Karri Kaksonen, 2004 for the cc65 compiler.
 ;
 
-       .include        "zeropage.inc"
-       .include        "../extzp.inc"
+        .include        "zeropage.inc"
+        .include        "../extzp.inc"
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
         .include        "tgi-error.inc"
 
-       .include        "lynx.inc"
+        .include        "lynx.inc"
 
         .macpack        generic
 
@@ -33,7 +33,7 @@
         .byte   2                       ; Number of screens available
         .byte   8                       ; System font X size
         .byte   8                       ; System font Y size
-        .word  $0100                   ; Aspect ratio (square pixel LCD)
+        .word   $0100                   ; Aspect ratio (square pixel LCD)
         .byte   TGI_BM_FONT_FINESCALE   ; TGI driver flags
 
 ; Next comes the jump table. Currently all entries must be valid and may point
@@ -46,7 +46,7 @@
         .addr   UNINSTALL
         .addr   INIT
         .addr   DONE
-        .addr  GETERROR
+        .addr   GETERROR
         .addr   CONTROL
         .addr   CLEAR
         .addr   SETVIEWPAGE
@@ -75,34 +75,34 @@ Y1              := ptr2
 X2              := ptr3
 Y2              := ptr4
 
-STRPTR         := ptr3
-FONTOFF                := ptr4
-STROFF         := tmp3
-STRLEN         := tmp4
+STRPTR          := ptr3
+FONTOFF         := ptr4
+STROFF          := tmp3
+STRLEN          := tmp4
 
 ; Absolute variables used in the code
 
 .bss
 
-ERROR:         .res    1       ; Error code
+ERROR:          .res    1       ; Error code
 
-DRAWINDEX:      .res    1      ; Pen to use for drawing
-VIEWPAGEL:     .res    1
-VIEWPAGEH:     .res    1
-DRAWPAGEL:     .res    1
-DRAWPAGEH:     .res    1
+DRAWINDEX:      .res    1       ; Pen to use for drawing
+VIEWPAGEL:      .res    1
+VIEWPAGEH:      .res    1
+DRAWPAGEL:      .res    1
+DRAWPAGEH:      .res    1
 
 ; Text output stuff
 TEXTMAGX:       .res    1
 TEXTMAGY:       .res    1
 TEXTDIR:        .res    1
-BGINDEX:        .res    1      ; Pen to use for text background
+BGINDEX:        .res    1       ; Pen to use for text background
 
 ; Double buffer IRQ stuff
-DRAWPAGE:      .res    1
-SWAPREQUEST:   .res    1
+DRAWPAGE:       .res    1
+SWAPREQUEST:    .res    1
 
-text_bitmap:    .res   8*(1+20+1)+1
+text_bitmap:    .res    8*(1+20+1)+1
 ; 8 rows with (one offset-byte plus 20 character bytes plus one fill-byte) plus one 0-offset-byte
 
 ; Constants and tables
@@ -110,37 +110,37 @@ text_bitmap:    .res      8*(1+20+1)+1
 .rodata
 
 DEFPALETTE:     .byte   >$011
-               .byte   >$34d
-               .byte   >$9af
-               .byte   >$9b8
-               .byte   >$777
-               .byte   >$335
-               .byte   >$448
-               .byte   >$75e
-               .byte   >$d5f
-               .byte   >$c53
-               .byte   >$822
-               .byte   >$223
-               .byte   >$484
-               .byte   >$8e5
-               .byte   >$cf5
-               .byte   >$fff
-               .byte   <$011
-               .byte   <$34d
-               .byte   <$9af
-               .byte   <$9b8
-               .byte   <$777
-               .byte   <$335
-               .byte   <$448
-               .byte   <$75e
-               .byte   <$d5f
-               .byte   <$c53
-               .byte   <$822
-               .byte   <$223
-               .byte   <$484
-               .byte   <$8e5
-               .byte   <$cf5
-               .byte   <$fff
+                .byte   >$34d
+                .byte   >$9af
+                .byte   >$9b8
+                .byte   >$777
+                .byte   >$335
+                .byte   >$448
+                .byte   >$75e
+                .byte   >$d5f
+                .byte   >$c53
+                .byte   >$822
+                .byte   >$223
+                .byte   >$484
+                .byte   >$8e5
+                .byte   >$cf5
+                .byte   >$fff
+                .byte   <$011
+                .byte   <$34d
+                .byte   <$9af
+                .byte   <$9b8
+                .byte   <$777
+                .byte   <$335
+                .byte   <$448
+                .byte   <$75e
+                .byte   <$d5f
+                .byte   <$c53
+                .byte   <$822
+                .byte   <$223
+                .byte   <$484
+                .byte   <$8e5
+                .byte   <$cf5
+                .byte   <$fff
 
 PALETTESIZE     = * - DEFPALETTE
 
@@ -155,12 +155,12 @@ PALETTESIZE     = * - DEFPALETTE
 ;
 
 INSTALL:
-       lda     #1
-       sta     TEXTMAGX
-       sta     TEXTMAGY
-       stz     BGINDEX
-       stz     DRAWPAGE
-       stz     SWAPREQUEST
+        lda     #1
+        sta     TEXTMAGX
+        sta     TEXTMAGY
+        stz     BGINDEX
+        stz     DRAWPAGE
+        stz     SWAPREQUEST
         rts
 
 
@@ -191,18 +191,18 @@ UNINSTALL:
 
 INIT:
 ; Enable interrupts for VBL
-       lda     #$80
-       tsb     VTIMCTLA
+        lda     #$80
+        tsb     VTIMCTLA
 ; Set up collision buffer to $A058
-       lda     #$58
-       sta     COLLBASL
-       lda     #$A0
-       sta     COLLBASH
+        lda     #$58
+        sta     COLLBASL
+        lda     #$A0
+        sta     COLLBASH
 ; Put collision index before sprite data
-       lda     #$FF
-       sta     COLLOFFL
-       lda     #$FF
-       sta     COLLOFFH
+        lda     #$FF
+        sta     COLLOFFL
+        lda     #$FF
+        sta     COLLOFFH
 ; Done, reset the error code
         lda     #TGI_ERR_OK
         sta     ERROR
@@ -223,9 +223,9 @@ DONE:
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-               ldx     #TGI_ERR_OK
-       lda     ERROR
-       stx     ERROR
+        ldx     #TGI_ERR_OK
+        lda     ERROR
+        stx     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -253,126 +253,126 @@ GETERROR:
 ; Activate or deactivate collision detection by calling tgi_ioctl(5, 0/1).
 
 CONTROL:
-        pha                    ; Almost all control routines succeed
+        pha                     ; Almost all control routines succeed
         lda     #TGI_ERR_OK
-       sta     ERROR
-       pla
-
-       cmp     #5
-       bne     ControlSwap
-       lda     ptr1            ; Activate/deactivate collision detection
-       bne     @L0
-       lda     #%00000001      ; tgi_clear does not erase collision buffer
-       sta     cls_sprite
-       lda     #%00100000
-       sta     cls_sprite+2
-       lda     __sprsys
-       ora     #$20
-       bra     @L1
-@L0:   lda     #%00000000      ; tgi_clear erases collision buffer
-       sta     cls_sprite
-       sta     cls_sprite+2
-       lda     __sprsys
-       and     #$df
-@L1:   sta     __sprsys
-       sta     SPRSYS
-       rts
+        sta     ERROR
+        pla
+
+        cmp     #5
+        bne     ControlSwap
+        lda     ptr1            ; Activate/deactivate collision detection
+        bne     @L0
+        lda     #%00000001      ; tgi_clear does not erase collision buffer
+        sta     cls_sprite
+        lda     #%00100000
+        sta     cls_sprite+2
+        lda     __sprsys
+        ora     #$20
+        bra     @L1
+@L0:    lda     #%00000000      ; tgi_clear erases collision buffer
+        sta     cls_sprite
+        sta     cls_sprite+2
+        lda     __sprsys
+        and     #$df
+@L1:    sta     __sprsys
+        sta     SPRSYS
+        rts
 
 ControlSwap:
-       cmp     #4
-       bne     ControlFramerate
+        cmp     #4
+        bne     ControlFramerate
 
-       lda     ptr1            ; Swap request
-       bne     @L0
-       lda     SWAPREQUEST
-       rts
-@L0:    sta    SWAPREQUEST
-       rts
+        lda     ptr1            ; Swap request
+        bne     @L0
+        lda     SWAPREQUEST
+        rts
+@L0:    sta     SWAPREQUEST
+        rts
 
 ControlFramerate:
-       cmp     #3
-       bne     ControlTextBG
-
-       lda     ptr1
-               cmp     #75             ; Set framerate
-               beq     rate75
-               cmp     #60
-               beq     rate60
+        cmp     #3
+        bne     ControlTextBG
+
+        lda     ptr1
+        cmp     #75             ; Set framerate
+        beq     rate75
+        cmp     #60
+        beq     rate60
         cmp     #50
-               beq     rate50
+        beq     rate50
         lda     #TGI_ERR_INV_ARG
-       sta     ERROR
+        sta     ERROR
         rts
-rate50: lda     #$bd           ; 50 Hz
-               ldx     #$31
-               bra     setRate
-rate60: lda     #$9e           ; 60 Hz
-               ldx     #$29
-               bra     setRate
-rate75: lda     #$7e           ; 75 Hz
-               ldx     #$20
+rate50: lda     #$bd            ; 50 Hz
+        ldx     #$31
+        bra     setRate
+rate60: lda     #$9e            ; 60 Hz
+        ldx     #$29
+        bra     setRate
+rate75: lda     #$7e            ; 75 Hz
+        ldx     #$20
 setRate:
         sta     HTIMBKUP
-               stx     PBKUP
-       rts
+        stx     PBKUP
+        rts
 
 ControlTextBG:
-       cmp     #2
-       bne     ControlFlipScreen
+        cmp     #2
+        bne     ControlFlipScreen
 
-       lda     ptr1            ; Set text background color
-       sta     BGINDEX
-       rts
+        lda     ptr1            ; Set text background color
+        sta     BGINDEX
+        rts
 
 ControlFlipScreen:
-       cmp     #1
-       bne     ControlDrawSprite
-
-       lda     __sprsys        ; Flip screen
-       eor     #8
-       sta     __sprsys
-       sta     SPRSYS
-       lda     __viddma
-       eor     #2
-       sta     __viddma
-       sta     DISPCTL
-       ldy     VIEWPAGEL
-       ldx     VIEWPAGEH
-       and     #2
-       beq     NotFlipped
-       clc
-       tya
-       adc     #<8159
-       tay
-       txa
-       adc     #>8159
-       tax
+        cmp     #1
+        bne     ControlDrawSprite
+
+        lda     __sprsys        ; Flip screen
+        eor     #8
+        sta     __sprsys
+        sta     SPRSYS
+        lda     __viddma
+        eor     #2
+        sta     __viddma
+        sta     DISPCTL
+        ldy     VIEWPAGEL
+        ldx     VIEWPAGEH
+        and     #2
+        beq     NotFlipped
+        clc
+        tya
+        adc     #<8159
+        tay
+        txa
+        adc     #>8159
+        tax
 NotFlipped:
-       sty     DISPADRL
-       stx     DISPADRH
+        sty     DISPADRL
+        stx     DISPADRH
         rts
 
 ControlDrawSprite:
-       lda     ptr1            ; Get the sprite address
-       ldx     ptr1+1
-
-draw_sprite:                   ; Draw it in render buffer
-               sta     SCBNEXTL
-               stx     SCBNEXTH
-       lda     DRAWPAGEL
-       ldx     DRAWPAGEH
-       sta     VIDBASL
-               stx     VIDBASH
-               lda     #1
-               sta     SPRGO
-               stz     SDONEACK
+        lda     ptr1            ; Get the sprite address
+        ldx     ptr1+1
+
+draw_sprite:                    ; Draw it in render buffer
+        sta     SCBNEXTL
+        stx     SCBNEXTH
+        lda     DRAWPAGEL
+        ldx     DRAWPAGEH
+        sta     VIDBASL
+        stx     VIDBASH
+        lda     #1
+        sta     SPRGO
+        stz     SDONEACK
 @L0:    stz     CPUSLEEP
-               lda     SPRSYS
-               lsr
-               bcs     @L0
-               stz     SDONEACK
+        lda     SPRSYS
+        lsr
+        bcs     @L0
+        stz     SDONEACK
         lda     #TGI_ERR_OK
-       sta     ERROR
+        sta     ERROR
         rts
 
 ; ------------------------------------------------------------------------
@@ -386,22 +386,22 @@ pixel_bitmap:
         .byte   3,%10000100,%00000000, $0       ; A pixel bitmap
 .data
 cls_coll:
-       .byte   0
+        .byte   0
 cls_sprite:
-        .byte   %00000001                      ; A pixel sprite
-               .byte   %00010000
-               .byte   %00100000
-               .addr   0,pixel_bitmap
-               .word   0
-               .word   0
-               .word   $a000                           ; 160
-               .word   $6600                           ; 102
-               .byte   $00
+        .byte   %00000001                       ; A pixel sprite
+        .byte   %00010000
+        .byte   %00100000
+        .addr   0,pixel_bitmap
+        .word   0
+        .word   0
+        .word   $a000                           ; 160
+        .word   $6600                           ; 102
+        .byte   $00
 
 .code
 CLEAR:  lda     #<cls_sprite
-               ldx     #>cls_sprite
-       bra     draw_sprite
+        ldx     #>cls_sprite
+        bra     draw_sprite
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -415,31 +415,31 @@ CLEAR:  lda     #<cls_sprite
 ; from the new buffer. This is usually noticed by the user.
 
 SETVIEWPAGE:
-       cmp     #1
-               beq     @L1             ; page == maxpages-1
-               ldy     #<$e018         ; page 0
-               ldx     #>$e018
-               bra     @L2
+        cmp     #1
+        beq     @L1             ; page == maxpages-1
+        ldy     #<$e018         ; page 0
+        ldx     #>$e018
+        bra     @L2
 @L1:
-       ldy     #<$c038         ; page 1
-               ldx     #>$c038
+        ldy     #<$c038         ; page 1
+        ldx     #>$c038
 @L2:
-               sty     VIEWPAGEL       ; Save viewpage for getpixel
-               stx     VIEWPAGEH
-
-       lda     __viddma        ; Process flipped displays
-       and     #2
-       beq     @L3
-       clc
-       tya
-       adc     #<8159
-       tay
-       txa
-       adc     #>8159
-       tax
+        sty     VIEWPAGEL       ; Save viewpage for getpixel
+        stx     VIEWPAGEH
+
+        lda     __viddma        ; Process flipped displays
+        and     #2
+        beq     @L3
+        clc
+        tya
+        adc     #<8159
+        tay
+        txa
+        adc     #>8159
+        tax
 @L3:
         sty     DISPADRL        ; $FD94
-               stx     DISPADRH        ; $FD95
+        stx     DISPADRH        ; $FD95
         rts
 
 ; ------------------------------------------------------------------------
@@ -450,17 +450,17 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-               cmp     #1
-               beq     @L1                 ; page == maxpages-1
-               lda     #<$e018             ; page 0
-               ldx     #>$e018
-               bra     @L2
+        cmp     #1
+        beq     @L1                 ; page == maxpages-1
+        lda     #<$e018             ; page 0
+        ldx     #>$e018
+        bra     @L2
 @L1:
         lda     #<$c038             ; page 1
-               ldx     #>$c038
+        ldx     #>$c038
 @L2:
         sta     DRAWPAGEL
-               stx     DRAWPAGEH
+        stx     DRAWPAGEH
         rts
 
 ; ------------------------------------------------------------------------
@@ -468,23 +468,23 @@ SETDRAWPAGE:
 ;
 
 IRQ:
-               lda     INTSET          ; Poll all pending interrupts
-               and     #VBL_INTERRUPT
-        beq            IRQEND          ; Exit if not a VBL interrupt
-
-               lda     SWAPREQUEST
-               beq     @L0
-               lda     DRAWPAGE
-               jsr     SETVIEWPAGE
-               lda     DRAWPAGE
-               eor     #1
-               sta     DRAWPAGE
-               jsr     SETDRAWPAGE
-               stz     SWAPREQUEST
+        lda     INTSET          ; Poll all pending interrupts
+        and     #VBL_INTERRUPT
+        beq     IRQEND          ; Exit if not a VBL interrupt
+
+        lda     SWAPREQUEST
+        beq     @L0
+        lda     DRAWPAGE
+        jsr     SETVIEWPAGE
+        lda     DRAWPAGE
+        eor     #1
+        sta     DRAWPAGE
+        jsr     SETDRAWPAGE
+        stz     SWAPREQUEST
 @L0:
 IRQEND:
-               clc
-               rts
+        clc
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
@@ -506,11 +506,11 @@ SETCOLOR:
 ;
 
 SETPALETTE:
-               ldy     #31
+        ldy     #31
 @L1:    lda     (ptr1),y
-               sta     GCOLMAP,y   ; $FDA0
-       dey
-               bpl     @L1
+        sta     GCOLMAP,y   ; $FDA0
+        dey
+        bpl     @L1
 
 ; Done, reset the error code
 
@@ -527,8 +527,8 @@ SETPALETTE:
 ;
 
 GETPALETTE:
-               lda     #<GCOLMAP       ; $FDA0
-               ldx     #>GCOLMAP
+        lda     #<GCOLMAP       ; $FDA0
+        ldx     #>GCOLMAP
         rts
 
 ; ------------------------------------------------------------------------
@@ -555,17 +555,17 @@ GETDEFPALETTE:
 
 .data
 pixel_coll:
-       .byte   0
+        .byte   0
 pixel_sprite:
-        .byte   %00000001                      ; A pixel sprite
-               .byte   %00010000
-               .byte   %00100000
-               .addr   0,pixel_bitmap
-pix_x:         .word   0
-pix_y:         .word   0
-       .word   $100
-       .word   $100
-pix_c:         .byte   $00
+        .byte   %00000001                       ; A pixel sprite
+        .byte   %00010000
+        .byte   %00100000
+        .addr   0,pixel_bitmap
+pix_x:  .word   0
+pix_y:  .word   0
+        .word   $100
+        .word   $100
+pix_c:  .byte   $00
 
 .code
 SETPIXEL:
@@ -573,11 +573,11 @@ SETPIXEL:
         sta     pix_x
         lda     Y1
         sta     pix_y
-               lda     DRAWINDEX
-               sta     pix_c
+        lda     DRAWINDEX
+        sta     pix_c
         lda     #<pixel_sprite
-               ldx     #>pixel_sprite
-               jmp     draw_sprite
+        ldx     #>pixel_sprite
+        jmp     draw_sprite
 
 ; ------------------------------------------------------------------------
 ; GETPIXEL: Read the color value of a pixel and return it in A/X. The
@@ -587,42 +587,42 @@ SETPIXEL:
 
 GETPIXEL:
         lda     Y1
-               sta     MATHD   ; Hardware multiply
-               stz     MATHC
-               lda     #80
-               sta     MATHB
-               stz     MATHA
-               lda     X1
-               lsr     A
-       php
-       tay
-
-       clc
-               lda     VIEWPAGEL
-               adc     MATHH
-               sta     ptr1
-               lda     VIEWPAGEH
-               adc     MATHG
-               sta     ptr1+1
-
-               ldx     #0
-       lda     #15
-       sta     MAPCTL
-               lda     (ptr1),y
-       tay
-       lda     #$0c
-       sta     MAPCTL
-       tya
-               plp
-               bcc     @L1
-               and     #$f
-       rts
+        sta     MATHD   ; Hardware multiply
+        stz     MATHC
+        lda     #80
+        sta     MATHB
+        stz     MATHA
+        lda     X1
+        lsr     A
+        php
+        tay
+
+        clc
+        lda     VIEWPAGEL
+        adc     MATHH
+        sta     ptr1
+        lda     VIEWPAGEH
+        adc     MATHG
+        sta     ptr1+1
+
+        ldx     #0
+        lda     #15
+        sta     MAPCTL
+        lda     (ptr1),y
+        tay
+        lda     #$0c
+        sta     MAPCTL
+        tya
+        plp
+        bcc     @L1
+        and     #$f
+        rts
 
 @L1:    lsr     A
-               lsr     A
-               lsr     A
-               lsr     A
-       rts
+        lsr     A
+        lsr     A
+        lsr     A
+        rts
 
 ; ------------------------------------------------------------------------
 ; LINE: Draw a line from X1/Y1 to X2/Y2, where X1/Y1 = ptr1/ptr2 and
@@ -633,121 +633,121 @@ GETPIXEL:
 
 .data
 line_coll:
-       .byte   0
+        .byte   0
 line_sprite:
-       .byte   0               ; Will be replaced by the code
-       .byte   %00110000
-       .byte   %00100000
-       .word   0,pixel_bitmap
+        .byte   0               ; Will be replaced by the code
+        .byte   %00110000
+        .byte   %00100000
+        .word   0,pixel_bitmap
 line_x:
-       .word    0
+        .word    0
 line_y:
-       .word    0
+        .word    0
 line_sx:
-       .word    $100
+        .word    $100
 line_sy:
-       .word    $100
-       .word    0
+        .word    $100
+        .word    0
 line_tilt:
-       .word    0
+        .word    0
 line_c:
-       .byte    $e
+        .byte    $e
 
 .code
 LINE:
-       lda     DRAWINDEX
-       sta     line_c
-       stz     line_sx
-       stz     line_sy
-
-       sec
-       lda     X2
-       sbc     X1
-       lda     X2+1
-       sbc     X1+1
-       bpl     @L1
-       lda     X1
-       ldx     X2
-       sta     X2
-       stx     X1
-       lda     X1+1
-       ldx     X2+1
-       sta     X2+1
-       stx     X1+1
-       lda     Y1
-       ldx     Y2
-       sta     Y2
-       stx     Y1
-       lda     Y1+1
-       ldx     Y2+1
-       sta     Y2+1
-       stx     Y1+1
+        lda     DRAWINDEX
+        sta     line_c
+        stz     line_sx
+        stz     line_sy
+
+        sec
+        lda     X2
+        sbc     X1
+        lda     X2+1
+        sbc     X1+1
+        bpl     @L1
+        lda     X1
+        ldx     X2
+        sta     X2
+        stx     X1
+        lda     X1+1
+        ldx     X2+1
+        sta     X2+1
+        stx     X1+1
+        lda     Y1
+        ldx     Y2
+        sta     Y2
+        stx     Y1
+        lda     Y1+1
+        ldx     Y2+1
+        sta     Y2+1
+        stx     Y1+1
 @L1:
-       lda     #%00000000      ; Not flipped
-       sta     line_sprite
-
-       sec
-       lda     Y2
-       sbc     Y1
-       sta     Y2
-       lda     Y2+1
-       sbc     Y1+1
-       sta     Y2+1
-       bpl     @L2
-       sec
-       lda     #0
-       sbc     Y2
-       sta     Y2
-       lda     #0
-       sbc     Y2+1
-       sta     Y2+1
-       lda     #%00010000      ; Vertical flip
-       sta     line_sprite
+        lda     #%00000000      ; Not flipped
+        sta     line_sprite
+
+        sec
+        lda     Y2
+        sbc     Y1
+        sta     Y2
+        lda     Y2+1
+        sbc     Y1+1
+        sta     Y2+1
+        bpl     @L2
+        sec
+        lda     #0
+        sbc     Y2
+        sta     Y2
+        lda     #0
+        sbc     Y2+1
+        sta     Y2+1
+        lda     #%00010000      ; Vertical flip
+        sta     line_sprite
 @L2:
-       lda     X1
-       sta     line_x
-       lda     X1+1
-       sta     line_x+1
-       lda     Y1
-       sta     line_y
-       lda     Y1+1
-       sta     line_y+1
-
-       lda     Y2
-       ina
-       sta     line_sy+1
-       sta     MATHP           ; hardware divide
-       stz     MATHN
-
-       stz     MATHH
-       stz     MATHG
-       sec
-       lda     X2
-       sbc     X1
-       ina
-       sta     MATHF
-       stz     MATHE
+        lda     X1
+        sta     line_x
+        lda     X1+1
+        sta     line_x+1
+        lda     Y1
+        sta     line_y
+        lda     Y1+1
+        sta     line_y+1
+
+        lda     Y2
+        ina
+        sta     line_sy+1
+        sta     MATHP           ; hardware divide
+        stz     MATHN
+
+        stz     MATHH
+        stz     MATHG
+        sec
+        lda     X2
+        sbc     X1
+        ina
+        sta     MATHF
+        stz     MATHE
 @L3:
-       lda     SPRSYS
-       bmi     @L3             ; wait for math done (bit 7 of sprsys)
-       lda     MATHC
-       sta     line_tilt
-       lda     MATHB
-       sta     line_tilt+1
-       bne     @L4
-       lda     #1
-       sta     line_sx+1
-       bra     @L6
+        lda     SPRSYS
+        bmi     @L3             ; wait for math done (bit 7 of sprsys)
+        lda     MATHC
+        sta     line_tilt
+        lda     MATHB
+        sta     line_tilt+1
+        bne     @L4
+        lda     #1
+        sta     line_sx+1
+        bra     @L6
 @L4:
-       bit     line_tilt
-       bpl     @L5
-       ina
+        bit     line_tilt
+        bpl     @L5
+        ina
 @L5:
-       sta     line_sx+1
+        sta     line_sx+1
 @L6:
-       lda     #<line_sprite
-       ldx     #>line_sprite
-       jmp     draw_sprite
+        lda     #<line_sprite
+        ldx     #>line_sprite
+        jmp     draw_sprite
 
 ; ------------------------------------------------------------------------
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
@@ -767,38 +767,38 @@ LINE:
 
 .data
 bar_coll:
-       .byte   0
+        .byte   0
 bar_sprite:
-        .byte   %00000001                      ; A pixel sprite
-       .byte   %00010000
-       .byte   %00100000
-       .addr   0,pixel_bitmap
-bar_x: .word   0
-bar_y: .word   0
-bar_sx:        .word   $0100
-bar_sy:        .word   $0100
-bar_c: .byte   $00
+        .byte   %00000001                       ; A pixel sprite
+        .byte   %00010000
+        .byte   %00100000
+        .addr   0,pixel_bitmap
+bar_x:  .word   0
+bar_y:  .word   0
+bar_sx: .word   $0100
+bar_sy: .word   $0100
+bar_c:  .byte   $00
 
 .code
 BAR:    lda     X1
         sta     bar_x
         lda     Y1
         sta     bar_y
-               lda     X2
-               sec
-               sbc     X1
-       ina
-               sta     bar_sx+1
-               lda     Y2
-               sec
-               sbc     Y1
-       ina
-               sta     bar_sy+1
-               lda     DRAWINDEX
-               sta     bar_c
+        lda     X2
+        sec
+        sbc     X1
+        ina
+        sta     bar_sx+1
+        lda     Y2
+        sec
+        sbc     Y1
+        ina
+        sta     bar_sy+1
+        lda     DRAWINDEX
+        sta     bar_c
         lda     #<bar_sprite
-               ldx     #>bar_sprite
-               jmp     draw_sprite
+        ldx     #>bar_sprite
+        jmp     draw_sprite
 
 ; ------------------------------------------------------------------------
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
@@ -822,133 +822,133 @@ TEXTSTYLE:
 ;
 
 OUTTEXT:
-       lda     TEXTMAGX        ; Scale sprite
-       sta     text_sx+1
-       lda     TEXTMAGY
-       sta     text_sy+1
-
-       stz     text_sprite     ; Set normal sprite
-       lda     BGINDEX
-       bne     @L1
-       lda     #4
-       sta     text_sprite     ; Set opaque sprite
+        lda     TEXTMAGX        ; Scale sprite
+        sta     text_sx+1
+        lda     TEXTMAGY
+        sta     text_sy+1
+
+        stz     text_sprite     ; Set normal sprite
+        lda     BGINDEX
+        bne     @L1
+        lda     #4
+        sta     text_sprite     ; Set opaque sprite
 @L1:
-       lda     DRAWINDEX       ; Set color
-       asl
-       asl
-       asl
-       asl
-       ora     BGINDEX
-       sta     text_c
-
-       lda     X1              ; Set start position
-       sta     text_x
-       lda     X1+1
-       sta     text_x+1
-       lda     Y1
-       sta     text_y
-       lda     Y1+1
-       sta     text_y+1
-
-               ldy     #<-1            ; Calculate string length
+        lda     DRAWINDEX       ; Set color
+        asl
+        asl
+        asl
+        asl
+        ora     BGINDEX
+        sta     text_c
+
+        lda     X1              ; Set start position
+        sta     text_x
+        lda     X1+1
+        sta     text_x+1
+        lda     Y1
+        sta     text_y
+        lda     Y1+1
+        sta     text_y+1
+
+        ldy     #<-1            ; Calculate string length
 @L2:
-       iny
-       lda     (STRPTR),y
-       bne     @L2
-       cpy     #20
-       bmi     @L3
-       ldy     #20
+        iny
+        lda     (STRPTR),y
+        bne     @L2
+        cpy     #20
+        bmi     @L3
+        ldy     #20
 @L3:
-       sty     STRLEN
-        bne    @L4
-        rts                    ; Zero length string
+        sty     STRLEN
+        bne     @L4
+        rts                     ; Zero length string
 @L4:
-       iny                     ; Prepare text_bitmap
+        iny                     ; Prepare text_bitmap
         iny
-        sty    STROFF
+        sty     STROFF
 
-        ldy    #8-1            ; 8 pixel lines per character
-        ldx    #0
+        ldy     #8-1            ; 8 pixel lines per character
+        ldx     #0
         clc
 @L5:
-        lda    STROFF
-        sta    text_bitmap,x
+        lda     STROFF
+        sta     text_bitmap,x
         txa
-        adc    STROFF
+        adc     STROFF
         tax
-        lda    #$ff
-        sta    text_bitmap-1,x
+        lda     #$ff
+        sta     text_bitmap-1,x
         dey
-        bpl    @L5
-        stz    text_bitmap,x
+        bpl     @L5
+        stz     text_bitmap,x
 
-        stz    tmp2
+        stz     tmp2
         iny
 @L6:
-        lda    (STRPTR),y
-        sty    tmp1
+        lda     (STRPTR),y
+        sty     tmp1
 
-        sec                    ; (ch-' ') * 8
-        sbc    #32
-        stz    FONTOFF
-        stz    FONTOFF+1
+        sec                     ; (ch-' ') * 8
+        sbc     #32
+        stz     FONTOFF
+        stz     FONTOFF+1
         asl
         asl
-        rol    FONTOFF+1
+        rol     FONTOFF+1
         asl
-        rol    FONTOFF+1
-        clc                    ; Choose font
-        adc    #<font
-        sta    FONTOFF
-        lda    FONTOFF+1
-        adc    #>font
-        sta    FONTOFF+1
+        rol     FONTOFF+1
+        clc                     ; Choose font
+        adc     #<font
+        sta     FONTOFF
+        lda     FONTOFF+1
+        adc     #>font
+        sta     FONTOFF+1
 
 ; and now copy the 8 bytes of that char
 
-        ldx    tmp2
+        ldx     tmp2
         inx
-        stx    tmp2
+        stx     tmp2
 
 ; draw char from top to bottom, reading char-data from offset 8-1 to offset 0
-        ldy    #8-1
+        ldy     #8-1
 @L7:
-        lda    (FONTOFF),y         ; *chptr
-        sta    text_bitmap,x    ;textbuf[y*(1+len+1)+1+x]
+        lda     (FONTOFF),y         ; *chptr
+        sta     text_bitmap,x    ;textbuf[y*(1+len+1)+1+x]
 
         txa
-        adc    STROFF
+        adc     STROFF
         tax
 
         dey
-        bpl    @L7
+        bpl     @L7
 
         ; goto next char
-        ldy    tmp1
+        ldy     tmp1
         iny
-        dec    STRLEN
-        bne    @L6
+        dec     STRLEN
+        bne     @L6
 
-        lda    #<text_sprite
-        ldx    #>text_sprite
-        jmp    draw_sprite
+        lda     #<text_sprite
+        ldx     #>text_sprite
+        jmp     draw_sprite
 
 .data
 text_coll:
-       .byte   0
+        .byte   0
 text_sprite:
-        .byte  $00,$90,$20
-        .addr  0, text_bitmap
+        .byte   $00,$90,$20
+        .addr   0, text_bitmap
 text_x:
-        .word  0
+        .word   0
 text_y:
-        .word  0
+        .word   0
 text_sx:
-        .word  $100
+        .word   $100
 text_sy:
-        .word  $100
+        .word   $100
 text_c:
-        .byte  0
+        .byte   0
 
 .rodata
 ; The Font
@@ -957,104 +957,104 @@ text_c:
 ; bit value 0 = foreground, bit value 1 = background / transparent
 font:
 ; VERSAIL
-       .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF  ;32
-       .byte $FF, $E7, $FF, $FF, $E7, $E7, $E7, $E7  ;33
-       .byte $FF, $FF, $FF, $FF, $FF, $99, $99, $99  ;34
-       .byte $FF, $99, $99, $00, $99, $00, $99, $99  ;35
-       .byte $FF, $E7, $83, $F9, $C3, $9F, $C1, $E7  ;36
-       .byte $FF, $B9, $99, $CF, $E7, $F3, $99, $9D  ;37
-       .byte $FF, $C0, $99, $98, $C7, $C3, $99, $C3  ;38
-       .byte $FF, $FF, $FF, $FF, $FF, $E7, $F3, $F9  ;39
-       .byte $FF, $F3, $E7, $CF, $CF, $CF, $E7, $F3  ;40
-       .byte $FF, $CF, $E7, $F3, $F3, $F3, $E7, $CF  ;41
-       .byte $FF, $FF, $99, $C3, $00, $C3, $99, $FF  ;42
-       .byte $FF, $FF, $E7, $E7, $81, $E7, $E7, $FF  ;43
-       .byte $CF, $E7, $E7, $FF, $FF, $FF, $FF, $FF  ;44
-       .byte $FF, $FF, $FF, $FF, $81, $FF, $FF, $FF  ;45
-       .byte $FF, $E7, $E7, $FF, $FF, $FF, $FF, $FF  ;46
-       .byte $FF, $9F, $CF, $E7, $F3, $F9, $FC, $FF  ;47
-       .byte $FF, $C3, $99, $99, $89, $91, $99, $C3  ;48
-       .byte $FF, $81, $E7, $E7, $E7, $C7, $E7, $E7  ;49
-       .byte $FF, $81, $9F, $CF, $F3, $F9, $99, $C3  ;50
-       .byte $FF, $C3, $99, $F9, $E3, $F9, $99, $C3  ;51
-       .byte $FF, $F9, $F9, $80, $99, $E1, $F1, $F9  ;52
-       .byte $FF, $C3, $99, $F9, $F9, $83, $9F, $81  ;53
-       .byte $FF, $C3, $99, $99, $83, $9F, $99, $C3  ;54
-       .byte $FF, $E7, $E7, $E7, $E7, $F3, $99, $81  ;55
-       .byte $FF, $C3, $99, $99, $C3, $99, $99, $C3  ;56
-       .byte $FF, $C3, $99, $F9, $C1, $99, $99, $C3  ;57
-       .byte $FF, $FF, $E7, $FF, $FF, $E7, $FF, $FF  ;58
-       .byte $CF, $E7, $E7, $FF, $FF, $E7, $FF, $FF  ;59
-       .byte $FF, $F1, $E7, $CF, $9F, $CF, $E7, $F1  ;60
-       .byte $FF, $FF, $FF, $81, $FF, $81, $FF, $FF  ;61
-       .byte $FF, $8F, $E7, $F3, $F9, $F3, $E7, $8F  ;62
-       .byte $FF, $E7, $FF, $E7, $F3, $F9, $99, $C3  ;63
-
-
-       .byte $FF, $C3, $9D, $9F, $91, $91, $99, $C3  ;0
-       .byte $FF, $99, $99, $99, $81, $99, $C3, $E7  ;1
-       .byte $FF, $83, $99, $99, $83, $99, $99, $83  ;2
-       .byte $FF, $C3, $99, $9F, $9F, $9F, $99, $C3  ;3
-       .byte $FF, $87, $93, $99, $99, $99, $93, $87  ;4
-       .byte $FF, $81, $9F, $9F, $87, $9F, $9F, $81  ;5
-       .byte $FF, $9F, $9F, $9F, $87, $9F, $9F, $81  ;6
-       .byte $FF, $C3, $99, $99, $91, $9F, $99, $C3  ;7
-       .byte $FF, $99, $99, $99, $81, $99, $99, $99  ;8
-       .byte $FF, $C3, $E7, $E7, $E7, $E7, $E7, $C3  ;9
-       .byte $FF, $C7, $93, $F3, $F3, $F3, $F3, $E1  ;10
-       .byte $FF, $99, $93, $87, $8F, $87, $93, $99  ;11
-       .byte $FF, $81, $9F, $9F, $9F, $9F, $9F, $9F  ;12
-       .byte $FF, $9C, $9C, $9C, $94, $80, $88, $9C  ;13
-       .byte $FF, $99, $99, $91, $81, $81, $89, $99  ;14
-       .byte $FF, $C3, $99, $99, $99, $99, $99, $C3  ;15
-       .byte $FF, $9F, $9F, $9F, $83, $99, $99, $83  ;16
-       .byte $FF, $F1, $C3, $99, $99, $99, $99, $C3  ;17
-       .byte $FF, $99, $93, $87, $83, $99, $99, $83  ;18
-       .byte $FF, $C3, $99, $F9, $C3, $9F, $99, $C3  ;19
-       .byte $FF, $E7, $E7, $E7, $E7, $E7, $E7, $81  ;20
-       .byte $FF, $C3, $99, $99, $99, $99, $99, $99  ;21
-       .byte $FF, $E7, $C3, $99, $99, $99, $99, $99  ;22
-       .byte $FF, $9C, $88, $80, $94, $9C, $9C, $9C  ;23
-       .byte $FF, $99, $99, $C3, $E7, $C3, $99, $99  ;24
-       .byte $FF, $E7, $E7, $E7, $C3, $99, $99, $99  ;25
-       .byte $FF, $81, $9F, $CF, $E7, $F3, $F9, $81  ;26
-       .byte $FF, $C3, $CF, $CF, $CF, $CF, $CF, $C3  ;27
-       .byte $FF, $03, $9D, $CF, $83, $CF, $ED, $F3  ;28
-       .byte $FF, $C3, $F3, $F3, $F3, $F3, $F3, $C3  ;29
-       .byte $E7, $E7, $E7, $E7, $81, $C3, $E7, $FF  ;30
-       .byte $FF, $EF, $CF, $80, $80, $CF, $EF, $FF  ;31
+        .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF  ;32
+        .byte $FF, $E7, $FF, $FF, $E7, $E7, $E7, $E7  ;33
+        .byte $FF, $FF, $FF, $FF, $FF, $99, $99, $99  ;34
+        .byte $FF, $99, $99, $00, $99, $00, $99, $99  ;35
+        .byte $FF, $E7, $83, $F9, $C3, $9F, $C1, $E7  ;36
+        .byte $FF, $B9, $99, $CF, $E7, $F3, $99, $9D  ;37
+        .byte $FF, $C0, $99, $98, $C7, $C3, $99, $C3  ;38
+        .byte $FF, $FF, $FF, $FF, $FF, $E7, $F3, $F9  ;39
+        .byte $FF, $F3, $E7, $CF, $CF, $CF, $E7, $F3  ;40
+        .byte $FF, $CF, $E7, $F3, $F3, $F3, $E7, $CF  ;41
+        .byte $FF, $FF, $99, $C3, $00, $C3, $99, $FF  ;42
+        .byte $FF, $FF, $E7, $E7, $81, $E7, $E7, $FF  ;43
+        .byte $CF, $E7, $E7, $FF, $FF, $FF, $FF, $FF  ;44
+        .byte $FF, $FF, $FF, $FF, $81, $FF, $FF, $FF  ;45
+        .byte $FF, $E7, $E7, $FF, $FF, $FF, $FF, $FF  ;46
+        .byte $FF, $9F, $CF, $E7, $F3, $F9, $FC, $FF  ;47
+        .byte $FF, $C3, $99, $99, $89, $91, $99, $C3  ;48
+        .byte $FF, $81, $E7, $E7, $E7, $C7, $E7, $E7  ;49
+        .byte $FF, $81, $9F, $CF, $F3, $F9, $99, $C3  ;50
+        .byte $FF, $C3, $99, $F9, $E3, $F9, $99, $C3  ;51
+        .byte $FF, $F9, $F9, $80, $99, $E1, $F1, $F9  ;52
+        .byte $FF, $C3, $99, $F9, $F9, $83, $9F, $81  ;53
+        .byte $FF, $C3, $99, $99, $83, $9F, $99, $C3  ;54
+        .byte $FF, $E7, $E7, $E7, $E7, $F3, $99, $81  ;55
+        .byte $FF, $C3, $99, $99, $C3, $99, $99, $C3  ;56
+        .byte $FF, $C3, $99, $F9, $C1, $99, $99, $C3  ;57
+        .byte $FF, $FF, $E7, $FF, $FF, $E7, $FF, $FF  ;58
+        .byte $CF, $E7, $E7, $FF, $FF, $E7, $FF, $FF  ;59
+        .byte $FF, $F1, $E7, $CF, $9F, $CF, $E7, $F1  ;60
+        .byte $FF, $FF, $FF, $81, $FF, $81, $FF, $FF  ;61
+        .byte $FF, $8F, $E7, $F3, $F9, $F3, $E7, $8F  ;62
+        .byte $FF, $E7, $FF, $E7, $F3, $F9, $99, $C3  ;63
+
+
+        .byte $FF, $C3, $9D, $9F, $91, $91, $99, $C3  ;0
+        .byte $FF, $99, $99, $99, $81, $99, $C3, $E7  ;1
+        .byte $FF, $83, $99, $99, $83, $99, $99, $83  ;2
+        .byte $FF, $C3, $99, $9F, $9F, $9F, $99, $C3  ;3
+        .byte $FF, $87, $93, $99, $99, $99, $93, $87  ;4
+        .byte $FF, $81, $9F, $9F, $87, $9F, $9F, $81  ;5
+        .byte $FF, $9F, $9F, $9F, $87, $9F, $9F, $81  ;6
+        .byte $FF, $C3, $99, $99, $91, $9F, $99, $C3  ;7
+        .byte $FF, $99, $99, $99, $81, $99, $99, $99  ;8
+        .byte $FF, $C3, $E7, $E7, $E7, $E7, $E7, $C3  ;9
+        .byte $FF, $C7, $93, $F3, $F3, $F3, $F3, $E1  ;10
+        .byte $FF, $99, $93, $87, $8F, $87, $93, $99  ;11
+        .byte $FF, $81, $9F, $9F, $9F, $9F, $9F, $9F  ;12
+        .byte $FF, $9C, $9C, $9C, $94, $80, $88, $9C  ;13
+        .byte $FF, $99, $99, $91, $81, $81, $89, $99  ;14
+        .byte $FF, $C3, $99, $99, $99, $99, $99, $C3  ;15
+        .byte $FF, $9F, $9F, $9F, $83, $99, $99, $83  ;16
+        .byte $FF, $F1, $C3, $99, $99, $99, $99, $C3  ;17
+        .byte $FF, $99, $93, $87, $83, $99, $99, $83  ;18
+        .byte $FF, $C3, $99, $F9, $C3, $9F, $99, $C3  ;19
+        .byte $FF, $E7, $E7, $E7, $E7, $E7, $E7, $81  ;20
+        .byte $FF, $C3, $99, $99, $99, $99, $99, $99  ;21
+        .byte $FF, $E7, $C3, $99, $99, $99, $99, $99  ;22
+        .byte $FF, $9C, $88, $80, $94, $9C, $9C, $9C  ;23
+        .byte $FF, $99, $99, $C3, $E7, $C3, $99, $99  ;24
+        .byte $FF, $E7, $E7, $E7, $C3, $99, $99, $99  ;25
+        .byte $FF, $81, $9F, $CF, $E7, $F3, $F9, $81  ;26
+        .byte $FF, $C3, $CF, $CF, $CF, $CF, $CF, $C3  ;27
+        .byte $FF, $03, $9D, $CF, $83, $CF, $ED, $F3  ;28
+        .byte $FF, $C3, $F3, $F3, $F3, $F3, $F3, $C3  ;29
+        .byte $E7, $E7, $E7, $E7, $81, $C3, $E7, $FF  ;30
+        .byte $FF, $EF, $CF, $80, $80, $CF, $EF, $FF  ;31
 
 
 ; gemena
-       .byte $FF, $C3, $9D, $9F, $91, $91, $99, $C3  ;224
-       .byte $FF, $C1, $99, $C1, $F9, $C3, $FF, $FF  ;225
-       .byte $FF, $83, $99, $99, $83, $9F, $9F, $FF  ;226
-       .byte $FF, $C3, $9F, $9F, $9F, $C3, $FF, $FF  ;227
-       .byte $FF, $C1, $99, $99, $C1, $F9, $F9, $FF  ;228
-       .byte $FF, $C3, $9F, $81, $99, $C3, $FF, $FF  ;229
-       .byte $FF, $E7, $E7, $E7, $C1, $E7, $F1, $FF  ;230
-       .byte $83, $F9, $C1, $99, $99, $C1, $FF, $FF  ;231
-       .byte $FF, $99, $99, $99, $83, $9F, $9F, $FF  ;232
-       .byte $FF, $C3, $E7, $E7, $C7, $FF, $E7, $FF  ;233
-       .byte $C3, $F9, $F9, $F9, $F9, $FF, $F9, $FF  ;234
-       .byte $FF, $99, $93, $87, $93, $9F, $9F, $FF  ;235
-       .byte $FF, $C3, $E7, $E7, $E7, $E7, $C7, $FF  ;236
-       .byte $FF, $9C, $94, $80, $80, $99, $FF, $FF  ;237
-       .byte $FF, $99, $99, $99, $99, $83, $FF, $FF  ;238
-       .byte $FF, $C3, $99, $99, $99, $C3, $FF, $FF  ;239
-       .byte $9F, $9F, $83, $99, $99, $83, $FF, $FF  ;240
-       .byte $F9, $F9, $C1, $99, $99, $C1, $FF, $FF  ;241
-       .byte $FF, $9F, $9F, $9F, $99, $83, $FF, $FF  ;242
-       .byte $FF, $83, $F9, $C3, $9F, $C1, $FF, $FF  ;243
-       .byte $FF, $F1, $E7, $E7, $E7, $81, $E7, $FF  ;244
-       .byte $FF, $C1, $99, $99, $99, $99, $FF, $FF  ;245
-       .byte $FF, $E7, $C3, $99, $99, $99, $FF, $FF  ;246
-       .byte $FF, $C9, $C1, $80, $94, $9C, $FF, $FF  ;247
-       .byte $FF, $99, $C3, $E7, $C3, $99, $FF, $FF  ;248
-       .byte $87, $F3, $C1, $99, $99, $99, $FF, $FF  ;249
-       .byte $FF, $81, $CF, $E7, $F3, $81, $FF, $FF  ;250
-       .byte $FF, $C3, $CF, $CF, $CF, $CF, $CF, $C3  ;251
-       .byte $FF, $03, $9D, $CF, $83, $CF, $ED, $F3  ;252
-       .byte $FF, $C3, $F3, $F3, $F3, $F3, $F3, $C3  ;253
-       .byte $E7, $E7, $E7, $E7, $81, $C3, $E7, $FF  ;254
-       .byte $FF, $EF, $CF, $80, $80, $CF, $EF, $FF  ;255
+        .byte $FF, $C3, $9D, $9F, $91, $91, $99, $C3  ;224
+        .byte $FF, $C1, $99, $C1, $F9, $C3, $FF, $FF  ;225
+        .byte $FF, $83, $99, $99, $83, $9F, $9F, $FF  ;226
+        .byte $FF, $C3, $9F, $9F, $9F, $C3, $FF, $FF  ;227
+        .byte $FF, $C1, $99, $99, $C1, $F9, $F9, $FF  ;228
+        .byte $FF, $C3, $9F, $81, $99, $C3, $FF, $FF  ;229
+        .byte $FF, $E7, $E7, $E7, $C1, $E7, $F1, $FF  ;230
+        .byte $83, $F9, $C1, $99, $99, $C1, $FF, $FF  ;231
+        .byte $FF, $99, $99, $99, $83, $9F, $9F, $FF  ;232
+        .byte $FF, $C3, $E7, $E7, $C7, $FF, $E7, $FF  ;233
+        .byte $C3, $F9, $F9, $F9, $F9, $FF, $F9, $FF  ;234
+        .byte $FF, $99, $93, $87, $93, $9F, $9F, $FF  ;235
+        .byte $FF, $C3, $E7, $E7, $E7, $E7, $C7, $FF  ;236
+        .byte $FF, $9C, $94, $80, $80, $99, $FF, $FF  ;237
+        .byte $FF, $99, $99, $99, $99, $83, $FF, $FF  ;238
+        .byte $FF, $C3, $99, $99, $99, $C3, $FF, $FF  ;239
+        .byte $9F, $9F, $83, $99, $99, $83, $FF, $FF  ;240
+        .byte $F9, $F9, $C1, $99, $99, $C1, $FF, $FF  ;241
+        .byte $FF, $9F, $9F, $9F, $99, $83, $FF, $FF  ;242
+        .byte $FF, $83, $F9, $C3, $9F, $C1, $FF, $FF  ;243
+        .byte $FF, $F1, $E7, $E7, $E7, $81, $E7, $FF  ;244
+        .byte $FF, $C1, $99, $99, $99, $99, $FF, $FF  ;245
+        .byte $FF, $E7, $C3, $99, $99, $99, $FF, $FF  ;246
+        .byte $FF, $C9, $C1, $80, $94, $9C, $FF, $FF  ;247
+        .byte $FF, $99, $C3, $E7, $C3, $99, $FF, $FF  ;248
+        .byte $87, $F3, $C1, $99, $99, $99, $FF, $FF  ;249
+        .byte $FF, $81, $CF, $E7, $F3, $81, $FF, $FF  ;250
+        .byte $FF, $C3, $CF, $CF, $CF, $CF, $CF, $C3  ;251
+        .byte $FF, $03, $9D, $CF, $83, $CF, $ED, $F3  ;252
+        .byte $FF, $C3, $F3, $F3, $F3, $F3, $F3, $C3  ;253
+        .byte $E7, $E7, $E7, $E7, $81, $C3, $E7, $FF  ;254
+        .byte $FF, $EF, $CF, $80, $80, $CF, $EF, $FF  ;255
index 64155f349ba739baae0a3675a5d2c9b843f2d9f7..c7aefb417f1d3316aa29b77d523db652619dcc3b 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $0F
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $0F
index a40af460eacf1cca9ed69303ead77466618a1598..70ed56e739ba269014b4f49e961f91c55d07e298 100644 (file)
@@ -6,8 +6,8 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .import        _lynx_160_102_16_tgi
+        .export _tgi_static_stddrv
+        .import _lynx_160_102_16_tgi
 
 .rodata
 
index a410e033e6b1ff7c69543262e5359993b10a0417..07f8f3669842beb12d9cbadfe13fa9ef0b365cd1 100644 (file)
@@ -6,8 +6,8 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
-_tgi_stddrv:   .asciiz "lynx-160-102-16.tgi"
+_tgi_stddrv:    .asciiz "lynx-160-102-16.tgi"
index b1437d8a9f5cd1cb1c948625b012bdec4b7b11cc..2a20886887f28b5babbd66fa40cb1abec7f57417 100644 (file)
@@ -8,9 +8,9 @@
 .proc _toascii
 
 ; X must be zero on return
-       ldx     #0
+        ldx     #0
 
 ; Done!
-       rts
+        rts
 
 .endproc
index da72fd5b9a96e77a15308f3e2705757ff06d1681..f16a1721ab98998e71187a4d96c8bf02aabbcf17 100644 (file)
@@ -1,7 +1,7 @@
-        .include       "lynx.inc"
-       .include        "extzp.inc"
-       .interruptor    _UpLoaderIRQ
-       .export         __UPLOADER__: absolute = 1
+        .include        "lynx.inc"
+        .include        "extzp.inc"
+        .interruptor    _UpLoaderIRQ
+        .export         __UPLOADER__: absolute = 1
 
 load_len=_FileDestAddr
 load_ptr=_FileFileLen
@@ -10,12 +10,12 @@ load_ptr2=_FileCurrBlock
 .segment "UPCODE"
 
 ComLynxReadAndExec:
-       ldy     #4
+        ldy     #4
 loop0:
-       jsr     read_byte
-       sta     load_len-1,y
-       dey
-       bne     loop0       ; get destination and length
+        jsr     read_byte
+        sta     load_len-1,y
+        dey
+        bne     loop0       ; get destination and length
         tax                 ; lowbyte of length
 
         lda     load_ptr
@@ -24,20 +24,20 @@ loop0:
         sta     load_ptr2+1
 
 loop1:
-       inx
+        inx
         bne     cont1
         inc     load_len+1
         bne     cont1
         jmp     (load_ptr)
 
 cont1:
-       jsr     read_byte
+        jsr     read_byte
         sta     (load_ptr2),y
         sta     PALETTE         ; feedback ;-)
         iny
-        bne    loop1
-        inc    load_ptr2+1
-        bra    loop1
+        bne     loop1
+        inc     load_ptr2+1
+        bra     loop1
 
 read_byte:
         bit     SERCTL
@@ -46,22 +46,22 @@ read_byte:
         rts
 
 _UpLoaderIRQ:
-       lda     INTSET
-       and     #$10
-       bne     @L0
-       clc
-       rts
+        lda     INTSET
+        and     #$10
+        bne     @L0
+        clc
+        rts
 @L0:
         lda     SERDAT          ; wait for the start sequence
         bit     flag            ; already seen $81 ?
         bpl     again           ; >= 0 => no
         cmp     #$50            ; "P" ?
         bne     again           ; not correct, so clear flag
-       sei
+        sei
         jmp     ComLynxReadAndExec
 
 again:
-       stz     flag
+        stz     flag
         cmp     #$81
         bne     exit
         sta     flag
@@ -69,11 +69,11 @@ again:
 ; last action : clear interrupt
 ;
 exit:
-       clc
+        clc
         rts
 
 .segment "UPDATA"
 
 flag:
-       .byte   0
+        .byte   0
 
index 8844ba506a5367c77163743fe7d489145f4900e8..598b61ea2c5ee6cbd9f116733ed40b6c2eec7a34 100644 (file)
@@ -6,7 +6,7 @@
 
         .import         return0, popsreg, incsp2
         .importzp       sreg, ptr1, tmp1, tmp2
-               .interruptor    mouse_irq               ; Export as IRQ handler
+        .interruptor    mouse_irq               ; Export as IRQ handler
 
         .include        "mouse-kernel.inc"
 
@@ -17,7 +17,7 @@
 
 
 .bss
-_mouse_drv:     .res    2                      ; Pointer to driver
+_mouse_drv:     .res    2               ; Pointer to driver
 
 _mouse_hidden:  .res    1               ; Mouse visibility flag
 
@@ -29,13 +29,13 @@ mouse_uninstall:jmp     return0
 mouse_hide:     jmp     return0
 mouse_show:     jmp     return0
 mouse_setbox:   jmp     return0
-mouse_getbox:  jmp     return0
+mouse_getbox:   jmp     return0
 mouse_move:     jmp     return0
 mouse_buttons:  jmp     return0
 mouse_pos:      jmp     return0
 mouse_info:     jmp     return0
 mouse_ioctl:    jmp     return0
-mouse_irq:     .byte   $60, $00, $00   ; RTS plus two dummy bytes
+mouse_irq:      .byte   $60, $00, $00   ; RTS plus two dummy bytes
 mouse_flags:    .byte   $00
 
 ; Driver header signature
@@ -50,10 +50,10 @@ mouse_sig:      .byte   $6d, $6f, $75, MOUSE_API_VERSION    ; "mou", version
 ; /* Install an already loaded driver. Returns an error code. */
 
 _mouse_install:
-               sta     _mouse_drv
-       sta     ptr1
-       stx     _mouse_drv+1
-       stx     ptr1+1
+        sta     _mouse_drv
+        sta     ptr1
+        stx     _mouse_drv+1
+        stx     ptr1+1
 
 ; Check the driver signature
 
@@ -104,7 +104,7 @@ _mouse_install:
 
         bit     mouse_flags             ; Test MOUSE_FLAG_EARLY_IRQ
         bvc     @L3                     ; Jump if no interrupts at this time
-               jsr     install_irq             ; Activate IRQ routine
+        jsr     install_irq             ; Activate IRQ routine
 
 ; Call driver install routine and check for errors
 
@@ -119,16 +119,16 @@ _mouse_install:
         bit     mouse_flags             ; Test MOUSE_FLAG_LATE_IRQ
         bpl     Exit                    ; Jump if vector not needed
 install_irq:
-               ldy     #$4C                    ; Jump opcode
-               sty     mouse_irq               ; Activate IRQ routine
+        ldy     #$4C                    ; Jump opcode
+        sty     mouse_irq               ; Activate IRQ routine
 Exit:   rts
 
 ; Uninstall IRQ vector if install routine had errors. A/X may contain the
 ; error code from mouse_install, so don't use it.
 
 uninstall_irq:
-       ldy     #$60                    ; RTS opcode
-       sty     mouse_irq               ; Disable IRQ entry point
+        ldy     #$60                    ; RTS opcode
+        sty     mouse_irq               ; Disable IRQ entry point
         rts
 
 ; Driver signature invalid. One word is still on the stack
@@ -166,7 +166,7 @@ _mouse_uninstall:
 
         bit     mouse_flags             ; Test MOUSE_FLAG_LATE_IRQ
         bpl     @L1                     ; Don't disable interrupts now
-       jsr     uninstall_irq           ; Disable driver interrupts
+        jsr     uninstall_irq           ; Disable driver interrupts
 @L1:    jsr     mouse_uninstall         ; Call driver routine
 
 ; We don't check the flag a second time here, since disabling IRQs twice,
index e50a12a8be0b916211e8fd5238d2de07aeca65eb..81b3573b7a81536486b2eb169b3d50623c30b7e1 100644 (file)
 
 .proc   _mouse_hide
 
-        lda            _mouse_hidden           ; Get the flag
-       bne     @L1                     ; Jump if already invisible
-               jsr     mouse_hide              ; Call the driver
-@L1:           inc     _mouse_hidden           ; Set the flag to invisible
-       rts
+        lda     _mouse_hidden           ; Get the flag
+        bne     @L1                     ; Jump if already invisible
+        jsr     mouse_hide              ; Call the driver
+@L1:    inc     _mouse_hidden           ; Set the flag to invisible
+        rts
 
 .endproc
index 4b00379ff47f679f68bf7e6ceefda883dcf2af9f..d211289b5643b5a5e461628a408985521f41bdee 100644 (file)
@@ -7,10 +7,10 @@
 ;  * NOTE: The function does *not* check if the mouse is currently inside the
 ;  * given margins. The proper way to use this function therefore is:
 ;  *
-;  *   - Hide the mouse
-;  *   - Set the bounding box
-;  *   - Place the mouse at the desired position
-;  *   - Show the mouse again.
+;  *    - Hide the mouse
+;  *    - Set the bounding box
+;  *    - Place the mouse at the desired position
+;  *    - Show the mouse again.
 ;  *
 ;  * NOTE2: When setting the box to something that is larger than the actual
 ;  * screen, the positioning of the mouse cursor can fail. If such margins
index 3941e9dc95b5860268da6dbd3f4b777759aeb3a1..652d154af405e740422ca08a1b33ad844aa803da 100644 (file)
@@ -9,11 +9,11 @@
 
 .proc   _mouse_show
 
-        lda            _mouse_hidden           ; Mouse visible?
-       beq     @L1                     ; Jump if yes
-               dec     _mouse_hidden           ; Set the flag
-       bne     @L1                     ; Jump if still invisible
+        lda     _mouse_hidden           ; Mouse visible?
+        beq     @L1                     ; Jump if yes
+        dec     _mouse_hidden           ; Set the flag
+        bne     @L1                     ; Jump if still invisible
         jmp     mouse_show              ; Call the driver
-@L1:   rts
+@L1:    rts
 
 .endproc
index 99745128398412b053671c50c7f169aae91a9c07..8c901848465a8daff6f74c310dbe0f8ed3f92555 100644 (file)
 
 
 _mouse_unload:
-       lda     _mouse_drv
+        lda     _mouse_drv
         pha                             ; Save pointer to driver
-       ora     _mouse_drv+1
-               beq     no_driver               ; No driver
-       lda     _mouse_drv+1
-               pha
+        ora     _mouse_drv+1
+        beq     no_driver               ; No driver
+        lda     _mouse_drv+1
+        pha
 
-               jsr     _mouse_uninstall        ; Uninstall the driver
+        jsr     _mouse_uninstall        ; Uninstall the driver
 
-       pla
-       tax
-       pla                             ; Get pointer to driver
+        pla
+        tax
+        pla                             ; Get pointer to driver
         jsr     _mod_free               ; Free the driver
         jmp     return0                 ; Return MOUSE_ERR_OK
 
 no_driver:
-               tax                             ; X = 0
+        tax                             ; X = 0
         pla                             ; Remove pushed junk
-       lda     #<MOUSE_ERR_NO_DRIVER
-       rts
+        lda     #<MOUSE_ERR_NO_DRIVER
+        rts
index 868b0628b28594455f503e91b394e5ce08e4e74f..1be43497f002a2fe0ccebc095b9e8b3c2a890dfa 100644 (file)
@@ -1,4 +1,4 @@
-../tgi/nes-64-56-2.tgi:        ../wrk/nes/clrscr.o \
+../tgi/nes-64-56-2.tgi: ../wrk/nes/clrscr.o \
                         ../wrk/nes/cputc.o  \
                         ../wrk/nes/get_tv.o \
                         ../wrk/nes/gotoxy.o \
index 3524b3a58538ede560ab4b5bfb1bf05c183c1a0b..80cc19b350332154f12689ea846aff2c7cdd6378 100644 (file)
@@ -5,20 +5,20 @@
 ; Screen size function
 ;
 
-       .export         screensize
+        .export         screensize
 
-       .include        "nes.inc"
-       .include        "get_tv.inc"
+        .include        "nes.inc"
+        .include        "get_tv.inc"
 
 
-.proc  screensize
+.proc   screensize
 
-       jsr     _get_tv
-       ldx     #charsperline
-       ldy     #screenrows
-       cmp     #TV::PAL
-       beq     pal
-       dey             ; NTSC rows
-pal:   rts
+        jsr     _get_tv
+        ldx     #charsperline
+        ldy     #screenrows
+        cmp     #TV::PAL
+        beq     pal
+        dey             ; NTSC rows
+pal:    rts
 
 .endproc
index 586459cb0eb44f35242c8ca52faccfae715a8bf4..233c112c6cf7df619e1ab38950f32ad451e41cb0 100644 (file)
@@ -5,25 +5,25 @@
 ; void cclear (unsigned char length);
 ;
 
-       .export         _cclearxy, _cclear
-       .import         popa, _gotoxy, cputdirect
-       .importzp       tmp1
+        .export         _cclearxy, _cclear
+        .import         popa, _gotoxy, cputdirect
+        .importzp       tmp1
 
 _cclearxy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-               pla                     ; Restore the length and run into _cclear
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cclear
 
 _cclear:
-               cmp     #0              ; Is the length zero?
-               beq     L9              ; Jump if done
-       sta     tmp1                                 
-L1:            lda     #$20            ; Blank - screen code
-       jsr     cputdirect      ; Direct output
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1                                 
+L1:     lda     #$20            ; Blank - screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index 2a1b38210d4bca335cc2a0fb95813c6aba40da0e..5f6e67c8f3a07a223e2d276080106cc110ee383b 100644 (file)
@@ -5,27 +5,27 @@
 ; void chline (unsigned char length);
 ;
 
-       .export         _chlinexy, _chline
-       .import         popa, _gotoxy, cputdirect
-       .importzp       tmp1
+        .export         _chlinexy, _chline
+        .import         popa, _gotoxy, cputdirect
+        .importzp       tmp1
 
         .include        "nes.inc"
                                  
 _chlinexy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-       pla                     ; Restore the length
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length
 
 _chline:
-       cmp     #0              ; Is the length zero?
-       beq     L9              ; Jump if done
-       sta     tmp1
-L1:            lda     #CH_HLINE       ; Horizontal line, screen code
-       jsr     cputdirect      ; Direct output
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1
+L1:     lda     #CH_HLINE       ; Horizontal line, screen code
+        jsr     cputdirect      ; Direct output
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index 825283c9d7d3b5880cfeaa3172cd42d27a4c7731..ab7a362985c42c73f21e63e9cf63004c8720e3cf 100644 (file)
 
         .include "nes.inc"
 
-       .export         _clock
-        .importzp      sreg
+        .export         _clock
+        .importzp       sreg
 
 
-.proc  _clock
+.proc   _clock
 
-        ldy            #0              ; High word is always zero
-               sty     sreg+1
-               sty     sreg
+        ldy     #0              ; High word is always zero
+        sty     sreg+1
+        sty     sreg
 L1:     ldx     tickcount+1
         lda     tickcount
         cpx     tickcount+1     ; Did tickcount change?
         bne     L1              ; Yes, re-read it
-               rts
+        rts
 
 .endproc
 
index 69af115623d7e862f75046f806b62f0c09dbd949..67d29ddb375ceab8bf32b2a76204261cdc75956b 100644 (file)
@@ -5,8 +5,8 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
-       .import         ppubuf_waitempty
+        .export         _clrscr
+        .import         ppubuf_waitempty
 
         .include        "nes.inc"
 
@@ -19,7 +19,7 @@
 
 ; wait for vblank
 
-       lda     #0
+        lda     #0
         sta     VBLANK_FLAG
 @w2:    lda     VBLANK_FLAG
         beq     @w2
@@ -27,7 +27,7 @@
 ; switch screen off
 
         lda     #%00000000
-       sta     PPU_CTRL2
+        sta     PPU_CTRL2
 
 ; Set start address to Name Table #1
 
@@ -64,8 +64,8 @@ lll:    lda     #$00            ; Write attribute table value and auto increment
 ; switch screen on again
 
         lda     #%00011110
-       sta     PPU_CTRL2
-       rts
+        sta     PPU_CTRL2
+        rts
 
 .endproc
 
index 3ac4dd62014c1063dd14d6d9ea19ac52c7086ffa..bb91ff908445c2083d86259fef6cfd17c1cfceef 100644 (file)
@@ -8,62 +8,62 @@
 ;
 
 
-       .export         _textcolor, _bgcolor, _bordercolor
-       .import         return0, ppubuf_put
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         return0, ppubuf_put
 
-       .include        "nes.inc"
+        .include        "nes.inc"
 
 _textcolor      = return0
 _bordercolor    = return0
 
 .proc   _bgcolor
 
-       tax
-       lda     BGCOLOR         ; get old value
-       stx     BGCOLOR         ; set new value
-       pha
+        tax
+        lda     BGCOLOR         ; get old value
+        stx     BGCOLOR         ; set new value
+        pha
 
-       lda     colors,x
-       pha
-       ldy     #$3F
-               ldx     #0
-       jsr     ppubuf_put
-       pla
-       pha
-       ldy     #$3F
-       ldx     #4
-       jsr     ppubuf_put
-       pla
-       pha
-       ldy     #$3F
-       ldx     #8
-       jsr     ppubuf_put
-       pla
-       ldy     #$3F
-       ldx     #12
-       jsr     ppubuf_put
+        lda     colors,x
+        pha
+        ldy     #$3F
+        ldx     #0
+        jsr     ppubuf_put
+        pla
+        pha
+        ldy     #$3F
+        ldx     #4
+        jsr     ppubuf_put
+        pla
+        pha
+        ldy     #$3F
+        ldx     #8
+        jsr     ppubuf_put
+        pla
+        ldy     #$3F
+        ldx     #12
+        jsr     ppubuf_put
 
-       pla
-       rts
+        pla
+        rts
 
 .endproc
 
 .rodata
 
 colors: .byte $0f       ; 0 black
-       .byte $3d       ; 1 white
-       .byte $04       ; 2 red
-       .byte $3b       ; 3 cyan
-       .byte $14       ; 4 violett
-       .byte $1a       ; 5 green
-       .byte $01       ; 6 blue
-       .byte $38       ; 7 yellow
-       .byte $18       ; 8 orange
-       .byte $08       ; 9 brown
-       .byte $35       ; a light red
-       .byte $2d       ; b dark grey
-       .byte $10       ; c middle grey
-       .byte $2b       ; d light green
-       .byte $22       ; e light blue
-       .byte $3d       ; f light gray
+        .byte $3d       ; 1 white
+        .byte $04       ; 2 red
+        .byte $3b       ; 3 cyan
+        .byte $14       ; 4 violett
+        .byte $1a       ; 5 green
+        .byte $01       ; 6 blue
+        .byte $38       ; 7 yellow
+        .byte $18       ; 8 orange
+        .byte $08       ; 9 brown
+        .byte $35       ; a light red
+        .byte $2d       ; b dark grey
+        .byte $10       ; c middle grey
+        .byte $2b       ; d light green
+        .byte $22       ; e light blue
+        .byte $3d       ; f light gray
 
index 57f3244b2cbc7c68ccfef83e3dab5a250a23f253..10915028b9fd78b4526f8a5696825e90b4efa1f6 100644 (file)
@@ -6,73 +6,73 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline
         .constructor    initconio
-       .import         popa, _gotoxy
+        .import         popa, _gotoxy
         .import         ppuinit, paletteinit, ppubuf_put
         .import         setcursor
 
         .importzp       tmp3,tmp4
 
-       .include        "nes.inc"
+        .include        "nes.inc"
 
 ;-----------------------------------------------------------------------------
 
 .code
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp     #$0d           ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0d            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0a            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0a            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
 advance:
-       ldy     CURS_X
-       iny
-       cpy     #xsize
-       bne     L3
-               inc     CURS_Y          ; new line
-       ldy     #0              ; + cr
-L3:    sty     CURS_X
-       jmp     plot
+        ldy     CURS_X
+        iny
+        cpy     #xsize
+        bne     L3
+        inc     CURS_Y          ; new line
+        ldy     #0              ; + cr
+L3:     sty     CURS_X
+        jmp     plot
 
 newline:
-       inc     CURS_Y
+        inc     CURS_Y
 
 ; Set cursor position, calculate RAM pointers
 
-plot:  ldy     CURS_X
-       ldx     CURS_Y
-               jmp     setcursor       ; Set the new cursor
+plot:   ldy     CURS_X
+        ldx     CURS_Y
+        jmp     setcursor       ; Set the new cursor
 
 
 ; Write one character to the screen without doing anything else, return X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
+        ora     RVS             ; Set revers bit
         ldy     SCREEN_PTR+1
-       ldx     SCREEN_PTR
-               jmp     ppubuf_put
+        ldx     SCREEN_PTR
+        jmp     ppubuf_put
 
 ;-----------------------------------------------------------------------------
 ; Initialize the conio subsystem. Code goes into the INIT segment, which may
@@ -82,12 +82,12 @@ putchar:
 
 initconio:
         jsr     ppuinit
-       jsr     paletteinit
+        jsr     paletteinit
 
-       lda     #0
-       sta     RVS
-       sta     CURS_X
-       sta     CURS_Y
+        lda     #0
+        sta     RVS
+        sta     CURS_X
+        sta     CURS_Y
 
         jmp     plot            ; Set the cursor
 
index 373c3b9a3d3888f4b56c7edcd3c96c435c47bf0a..68b489dacca3f7fe857d2eb71646fc4cd0c32367 100644 (file)
@@ -7,20 +7,20 @@
 
         .export         _exit
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib, callmain
-       .import         push0, _main, zerobss, copydata
+        .import         initlib, donelib, callmain
+        .import         push0, _main, zerobss, copydata
         .import         ppubuf_flush
 
         ; Linker generated symbols
-       .import         __RAM_START__, __RAM_SIZE__
-       .import         __SRAM_START__, __SRAM_SIZE__
-       .import         __ROM0_START__, __ROM0_SIZE__
-       .import         __STARTUP_LOAD__,__STARTUP_RUN__, __STARTUP_SIZE__
-       .import         __CODE_LOAD__,__CODE_RUN__, __CODE_SIZE__
-       .import         __RODATA_LOAD__,__RODATA_RUN__, __RODATA_SIZE__
+        .import         __RAM_START__, __RAM_SIZE__
+        .import         __SRAM_START__, __SRAM_SIZE__
+        .import         __ROM0_START__, __ROM0_SIZE__
+        .import         __STARTUP_LOAD__,__STARTUP_RUN__, __STARTUP_SIZE__
+        .import         __CODE_LOAD__,__CODE_RUN__, __CODE_SIZE__
+        .import         __RODATA_LOAD__,__RODATA_RUN__, __RODATA_SIZE__
 
         .include        "zeropage.inc"
-       .include        "nes.inc"
+        .include        "nes.inc"
 
 
 ; ------------------------------------------------------------------------
 ;    | ..-EOF |      | CHR-ROM pages (in ascending order).      |
 ;    +--------+------+------------------------------------------+
 
-        .byte   $4e,$45,$53,$1a        ; "NES"^Z
-       .byte   2               ; ines prg  - Specifies the number of 16k prg banks.
-       .byte   1               ; ines chr  - Specifies the number of 8k chr banks.
-       .byte   %00000011       ; ines mir  - Specifies VRAM mirroring of the banks.
-       .byte   %00000000       ; ines map  - Specifies the NES mapper used.
-       .byte   0,0,0,0,0,0,0,0 ; 8 zeroes
+        .byte   $4e,$45,$53,$1a ; "NES"^Z
+        .byte   2               ; ines prg  - Specifies the number of 16k prg banks.
+        .byte   1               ; ines chr  - Specifies the number of 8k chr banks.
+        .byte   %00000011       ; ines mir  - Specifies VRAM mirroring of the banks.
+        .byte   %00000000       ; ines map  - Specifies the NES mapper used.
+        .byte   0,0,0,0,0,0,0,0 ; 8 zeroes
 
 
 ; ------------------------------------------------------------------------
 ; Place the startup code in a special segment.
 
-.segment               "STARTUP"
+.segment        "STARTUP"
 
 start:
 
@@ -74,51 +74,51 @@ start:
 
         sei
         cld
-       ldx     #0
-       stx     VBLANK_FLAG
+        ldx     #0
+        stx     VBLANK_FLAG
 
-       stx     ringread
-       stx     ringwrite
-       stx     ringcount
+        stx     ringread
+        stx     ringwrite
+        stx     ringcount
 
         txs
 
         lda     #$20
 @l:     sta     ringbuff,x
-       sta     ringbuff+$0100,x
-       sta     ringbuff+$0200,x
+        sta     ringbuff+$0100,x
+        sta     ringbuff+$0200,x
         inx
-       bne     @l
+        bne     @l
 
 ; Clear the BSS data
 
-        jsr    zerobss
+        jsr     zerobss
 
 ; initialize data
-       jsr     copydata
+        jsr     copydata
 
 ; setup the stack
 
         lda     #<(__SRAM_START__ + __SRAM_SIZE__)
-        sta    sp
-        lda    #>(__SRAM_START__ + __SRAM_SIZE__)
-               sta     sp+1            ; Set argument stack ptr
+        sta     sp
+        lda     #>(__SRAM_START__ + __SRAM_SIZE__)
+        sta     sp+1            ; Set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-               jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry.
 
-_exit:  jsr    donelib         ; Run module destructors
+_exit:  jsr     donelib         ; Run module destructors
 
 ; Reset the NES
 
-       jmp start
+        jmp start
 
 ; ------------------------------------------------------------------------
 ; System V-Blank Interupt
@@ -175,8 +175,8 @@ irq:
         .word   irq1        ; $fff6 ?
         .word   timerirq    ; $fff8 ?
         .word   nmi         ; $fffa vblank nmi
-        .word   start      ; $fffc reset
-       .word   irq         ; $fffe irq / brk
+        .word   start       ; $fffc reset
+        .word   irq         ; $fffe irq / brk
 
 ; ------------------------------------------------------------------------
 ; character data
index 42de7592ba9c1905e157f7d9487d1f8ed235bfef..6e0ab178518ea8f332da26348c9bb4bc90303b93 100644 (file)
 ;   6 - Other whitespace (that is: '\f', '\n', '\r', '\t' and '\v')
 ;   7 - Space or tab character
 
-       .export         __ctype
+        .export         __ctype
 
 __ctype:
 
 .repeat 2       ; 2 times for normal and inverted
 
-               .byte   $10     ;   0/00 ___ctrl_@___
-               .byte   $10     ;   1/01 ___ctrl_A___
-               .byte   $10     ;   2/02 ___ctrl_B___
-               .byte   $10     ;   3/03 ___ctrl_C___
-               .byte   $10     ;   4/04 ___ctrl_D___
-               .byte   $10     ;   5/05 ___ctrl_E___
-               .byte   $10     ;   6/06 ___ctrl_F___
-               .byte   $10     ;   7/07 ___ctrl_G___
-               .byte   $10     ;   8/08 ___ctrl_H___
-               .byte   $D0     ;   9/09 ___ctrl_I___
-               .byte   $50     ;  10/0a ___ctrl_J___
-               .byte   $50     ;  11/0b ___ctrl_K___
-               .byte   $50     ;  12/0c ___ctrl_L___
-               .byte   $50     ;  13/0d ___ctrl_M___
-               .byte   $10     ;  14/0e ___ctrl_N___
-               .byte   $10     ;  15/0f ___ctrl_O___
-               .byte   $10     ;  16/10 ___ctrl_P___
-               .byte   $10     ;  17/11 ___ctrl_Q___
-               .byte   $10     ;  18/12 ___ctrl_R___
-               .byte   $10     ;  19/13 ___ctrl_S___
-               .byte   $10     ;  20/14 ___ctrl_T___
-               .byte   $10     ;  21/15 ___ctrl_U___
-               .byte   $10     ;  22/16 ___ctrl_V___
-               .byte   $10     ;  23/17 ___ctrl_W___
-               .byte   $10     ;  24/18 ___ctrl_X___
-               .byte   $10     ;  25/19 ___ctrl_Y___
-               .byte   $10     ;  26/1a ___ctrl_Z___
-               .byte   $10     ;  27/1b ___ctrl_[___
-               .byte   $10     ;  28/1c ___ctrl_\___
-               .byte   $10     ;  29/1d ___ctrl_]___
-               .byte   $10     ;  30/1e ___ctrl_^___
-               .byte   $10     ;  31/1f ___ctrl_____
-               .byte   $A0     ;  32/20 ___SPACE___
-       .byte   $00     ;  33/21 _____!_____
-       .byte   $00     ;  34/22 _____"_____
-       .byte   $00     ;  35/23 _____#_____
-       .byte   $00     ;  36/24 _____$_____
-       .byte   $00     ;  37/25 _____%_____
-       .byte   $00     ;  38/26 _____&_____
-       .byte   $00     ;  39/27 _____'_____
-       .byte   $00     ;  40/28 _____(_____
-       .byte   $00     ;  41/29 _____)_____
-       .byte   $00     ;  42/2a _____*_____
-       .byte   $00     ;  43/2b _____+_____
-       .byte   $00     ;  44/2c _____,_____
-       .byte   $00     ;  45/2d _____-_____
-       .byte   $00     ;  46/2e _____._____
-       .byte   $00     ;  47/2f _____/_____
-       .byte   $0C     ;  48/30 _____0_____
-       .byte   $0C     ;  49/31 _____1_____
-       .byte   $0C     ;  50/32 _____2_____
-       .byte   $0C     ;  51/33 _____3_____
-       .byte   $0C     ;  52/34 _____4_____
-       .byte   $0C     ;  53/35 _____5_____
-       .byte   $0C     ;  54/36 _____6_____
-       .byte   $0C     ;  55/37 _____7_____
-       .byte   $0C     ;  56/38 _____8_____
-       .byte   $0C     ;  57/39 _____9_____
-       .byte   $00     ;  58/3a _____:_____
-       .byte   $00     ;  59/3b _____;_____
-       .byte   $00     ;  60/3c _____<_____
-       .byte   $00     ;  61/3d _____=_____
-       .byte   $00     ;  62/3e _____>_____
-       .byte   $00     ;  63/3f _____?_____
+        .byte   $10     ;   0/00 ___ctrl_@___
+        .byte   $10     ;   1/01 ___ctrl_A___
+        .byte   $10     ;   2/02 ___ctrl_B___
+        .byte   $10     ;   3/03 ___ctrl_C___
+        .byte   $10     ;   4/04 ___ctrl_D___
+        .byte   $10     ;   5/05 ___ctrl_E___
+        .byte   $10     ;   6/06 ___ctrl_F___
+        .byte   $10     ;   7/07 ___ctrl_G___
+        .byte   $10     ;   8/08 ___ctrl_H___
+        .byte   $D0     ;   9/09 ___ctrl_I___
+        .byte   $50     ;  10/0a ___ctrl_J___
+        .byte   $50     ;  11/0b ___ctrl_K___
+        .byte   $50     ;  12/0c ___ctrl_L___
+        .byte   $50     ;  13/0d ___ctrl_M___
+        .byte   $10     ;  14/0e ___ctrl_N___
+        .byte   $10     ;  15/0f ___ctrl_O___
+        .byte   $10     ;  16/10 ___ctrl_P___
+        .byte   $10     ;  17/11 ___ctrl_Q___
+        .byte   $10     ;  18/12 ___ctrl_R___
+        .byte   $10     ;  19/13 ___ctrl_S___
+        .byte   $10     ;  20/14 ___ctrl_T___
+        .byte   $10     ;  21/15 ___ctrl_U___
+        .byte   $10     ;  22/16 ___ctrl_V___
+        .byte   $10     ;  23/17 ___ctrl_W___
+        .byte   $10     ;  24/18 ___ctrl_X___
+        .byte   $10     ;  25/19 ___ctrl_Y___
+        .byte   $10     ;  26/1a ___ctrl_Z___
+        .byte   $10     ;  27/1b ___ctrl_[___
+        .byte   $10     ;  28/1c ___ctrl_\___
+        .byte   $10     ;  29/1d ___ctrl_]___
+        .byte   $10     ;  30/1e ___ctrl_^___
+        .byte   $10     ;  31/1f ___ctrl_____
+        .byte   $A0     ;  32/20 ___SPACE___
+        .byte   $00     ;  33/21 _____!_____
+        .byte   $00     ;  34/22 _____"_____
+        .byte   $00     ;  35/23 _____#_____
+        .byte   $00     ;  36/24 _____$_____
+        .byte   $00     ;  37/25 _____%_____
+        .byte   $00     ;  38/26 _____&_____
+        .byte   $00     ;  39/27 _____'_____
+        .byte   $00     ;  40/28 _____(_____
+        .byte   $00     ;  41/29 _____)_____
+        .byte   $00     ;  42/2a _____*_____
+        .byte   $00     ;  43/2b _____+_____
+        .byte   $00     ;  44/2c _____,_____
+        .byte   $00     ;  45/2d _____-_____
+        .byte   $00     ;  46/2e _____._____
+        .byte   $00     ;  47/2f _____/_____
+        .byte   $0C     ;  48/30 _____0_____
+        .byte   $0C     ;  49/31 _____1_____
+        .byte   $0C     ;  50/32 _____2_____
+        .byte   $0C     ;  51/33 _____3_____
+        .byte   $0C     ;  52/34 _____4_____
+        .byte   $0C     ;  53/35 _____5_____
+        .byte   $0C     ;  54/36 _____6_____
+        .byte   $0C     ;  55/37 _____7_____
+        .byte   $0C     ;  56/38 _____8_____
+        .byte   $0C     ;  57/39 _____9_____
+        .byte   $00     ;  58/3a _____:_____
+        .byte   $00     ;  59/3b _____;_____
+        .byte   $00     ;  60/3c _____<_____
+        .byte   $00     ;  61/3d _____=_____
+        .byte   $00     ;  62/3e _____>_____
+        .byte   $00     ;  63/3f _____?_____
 
-       .byte   $00     ;  64/40 _____@_____
-               .byte   $0A     ;  65/41 _____A_____
-               .byte   $0A     ;  66/42 _____B_____
-               .byte   $0A     ;  67/43 _____C_____
-               .byte   $0A     ;  68/44 _____D_____
-               .byte   $0A     ;  69/45 _____E_____
-               .byte   $0A     ;  70/46 _____F_____
-               .byte   $02     ;  71/47 _____G_____
-               .byte   $02     ;  72/48 _____H_____
-               .byte   $02     ;  73/49 _____I_____
-               .byte   $02     ;  74/4a _____J_____
-               .byte   $02     ;  75/4b _____K_____
-               .byte   $02     ;  76/4c _____L_____
-               .byte   $02     ;  77/4d _____M_____
-               .byte   $02     ;  78/4e _____N_____
-               .byte   $02     ;  79/4f _____O_____
-               .byte   $02     ;  80/50 _____P_____
-               .byte   $02     ;  81/51 _____Q_____
-               .byte   $02     ;  82/52 _____R_____
-               .byte   $02     ;  83/53 _____S_____
-               .byte   $02     ;  84/54 _____T_____
-               .byte   $02     ;  85/55 _____U_____
-               .byte   $02     ;  86/56 _____V_____
-               .byte   $02     ;  87/57 _____W_____
-               .byte   $02     ;  88/58 _____X_____
-               .byte   $02     ;  89/59 _____Y_____
-               .byte   $02     ;  90/5a _____Z_____
-       .byte   $00     ;  91/5b _____[_____
-       .byte   $00     ;  92/5c _____\_____
-       .byte   $00     ;  93/5d _____]_____
-       .byte   $00     ;  94/5e _____^_____
-       .byte   $00     ;  95/5f _UNDERLINE_
-       .byte   $00     ;  96/60 ___grave___
-               .byte   $09     ;  97/61 _____a_____
-               .byte   $09     ;  98/62 _____b_____
-               .byte   $09     ;  99/63 _____c_____
-               .byte   $09     ; 100/64 _____d_____
-               .byte   $09     ; 101/65 _____e_____
-               .byte   $09     ; 102/66 _____f_____
-               .byte   $01     ; 103/67 _____g_____
-               .byte   $01     ; 104/68 _____h_____
-               .byte   $01     ; 105/69 _____i_____
-               .byte   $01     ; 106/6a _____j_____
-               .byte   $01     ; 107/6b _____k_____
-               .byte   $01     ; 108/6c _____l_____
-               .byte   $01     ; 109/6d _____m_____
-               .byte   $01     ; 110/6e _____n_____
-               .byte   $01     ; 111/6f _____o_____
-               .byte   $01     ; 112/70 _____p_____
-               .byte   $01     ; 113/71 _____q_____
-               .byte   $01     ; 114/72 _____r_____
-               .byte   $01     ; 115/73 _____s_____
-               .byte   $01     ; 116/74 _____t_____
-               .byte   $01     ; 117/75 _____u_____
-               .byte   $01     ; 118/76 _____v_____
-               .byte   $01     ; 119/77 _____w_____
-               .byte   $01     ; 120/78 _____x_____
-               .byte   $01     ; 121/79 _____y_____
-               .byte   $01     ; 122/7a _____z_____
-               .byte   $00     ; 123/7b _____{_____
-               .byte   $00     ; 124/7c _____|_____
-               .byte   $00     ; 125/7d _____}_____
-               .byte   $00     ; 126/7e _____~_____
-               .byte   $40     ; 127/7f ____DEL____
+        .byte   $00     ;  64/40 _____@_____
+        .byte   $0A     ;  65/41 _____A_____
+        .byte   $0A     ;  66/42 _____B_____
+        .byte   $0A     ;  67/43 _____C_____
+        .byte   $0A     ;  68/44 _____D_____
+        .byte   $0A     ;  69/45 _____E_____
+        .byte   $0A     ;  70/46 _____F_____
+        .byte   $02     ;  71/47 _____G_____
+        .byte   $02     ;  72/48 _____H_____
+        .byte   $02     ;  73/49 _____I_____
+        .byte   $02     ;  74/4a _____J_____
+        .byte   $02     ;  75/4b _____K_____
+        .byte   $02     ;  76/4c _____L_____
+        .byte   $02     ;  77/4d _____M_____
+        .byte   $02     ;  78/4e _____N_____
+        .byte   $02     ;  79/4f _____O_____
+        .byte   $02     ;  80/50 _____P_____
+        .byte   $02     ;  81/51 _____Q_____
+        .byte   $02     ;  82/52 _____R_____
+        .byte   $02     ;  83/53 _____S_____
+        .byte   $02     ;  84/54 _____T_____
+        .byte   $02     ;  85/55 _____U_____
+        .byte   $02     ;  86/56 _____V_____
+        .byte   $02     ;  87/57 _____W_____
+        .byte   $02     ;  88/58 _____X_____
+        .byte   $02     ;  89/59 _____Y_____
+        .byte   $02     ;  90/5a _____Z_____
+        .byte   $00     ;  91/5b _____[_____
+        .byte   $00     ;  92/5c _____\_____
+        .byte   $00     ;  93/5d _____]_____
+        .byte   $00     ;  94/5e _____^_____
+        .byte   $00     ;  95/5f _UNDERLINE_
+        .byte   $00     ;  96/60 ___grave___
+        .byte   $09     ;  97/61 _____a_____
+        .byte   $09     ;  98/62 _____b_____
+        .byte   $09     ;  99/63 _____c_____
+        .byte   $09     ; 100/64 _____d_____
+        .byte   $09     ; 101/65 _____e_____
+        .byte   $09     ; 102/66 _____f_____
+        .byte   $01     ; 103/67 _____g_____
+        .byte   $01     ; 104/68 _____h_____
+        .byte   $01     ; 105/69 _____i_____
+        .byte   $01     ; 106/6a _____j_____
+        .byte   $01     ; 107/6b _____k_____
+        .byte   $01     ; 108/6c _____l_____
+        .byte   $01     ; 109/6d _____m_____
+        .byte   $01     ; 110/6e _____n_____
+        .byte   $01     ; 111/6f _____o_____
+        .byte   $01     ; 112/70 _____p_____
+        .byte   $01     ; 113/71 _____q_____
+        .byte   $01     ; 114/72 _____r_____
+        .byte   $01     ; 115/73 _____s_____
+        .byte   $01     ; 116/74 _____t_____
+        .byte   $01     ; 117/75 _____u_____
+        .byte   $01     ; 118/76 _____v_____
+        .byte   $01     ; 119/77 _____w_____
+        .byte   $01     ; 120/78 _____x_____
+        .byte   $01     ; 121/79 _____y_____
+        .byte   $01     ; 122/7a _____z_____
+        .byte   $00     ; 123/7b _____{_____
+        .byte   $00     ; 124/7c _____|_____
+        .byte   $00     ; 125/7d _____}_____
+        .byte   $00     ; 126/7e _____~_____
+        .byte   $40     ; 127/7f ____DEL____
 
 .endrepeat
index 42de7220e9f859618cf04eba31ceef50097985cf..3ab93f34ab9d7c9d2c931bd38c84e878bdd806d9 100644 (file)
@@ -5,28 +5,28 @@
 ; void cvline (unsigned char length);
 ;
 
-       .export         _cvlinexy, _cvline
-       .import         popa, _gotoxy, putchar, newline
-       .importzp       tmp1
+        .export         _cvlinexy, _cvline
+        .import         popa, _gotoxy, putchar, newline
+        .importzp       tmp1
 
         .include        "nes.inc"
 
 _cvlinexy:
-               pha                     ; Save the length
-       jsr     popa            ; Get y
-               jsr     _gotoxy         ; Call this one, will pop params
-       pla                     ; Restore the length and run into _cvline
+        pha                     ; Save the length
+        jsr     popa            ; Get y
+        jsr     _gotoxy         ; Call this one, will pop params
+        pla                     ; Restore the length and run into _cvline
 
 _cvline:
-       cmp     #0              ; Is the length zero?
-       beq     L9              ; Jump if done
-       sta     tmp1
-L1:            lda     #CH_VLINE       ; Vertical bar
-       jsr     putchar         ; Write, no cursor advance
-       jsr     newline         ; Advance cursor to next line
-       dec     tmp1
-       bne     L1
-L9:    rts
+        cmp     #0              ; Is the length zero?
+        beq     L9              ; Jump if done
+        sta     tmp1
+L1:     lda     #CH_VLINE       ; Vertical bar
+        jsr     putchar         ; Write, no cursor advance
+        jsr     newline         ; Advance cursor to next line
+        dec     tmp1
+        bne     L1
+L9:     rts
 
 
 
index 8d2c313b7c31c3180dad490d892b13e003affd53..7a52440b396e8ad9b884d2f3b14da46a0059a4c5 100644 (file)
@@ -5,33 +5,33 @@
 ; /* Return the video mode the machine is using */
 ;
 
-       .include        "nes.inc"
-       .include        "get_tv.inc"
-       .importzp       tmp1, tmp2
+        .include        "nes.inc"
+        .include        "get_tv.inc"
+        .importzp       tmp1, tmp2
 
 ;--------------------------------------------------------------------------
 ; _get_tv
 
-.proc  _get_tv
+.proc   _get_tv
 
-       lda     #TV::NTSC       ; assume NTSC
-       tax                     ; clear
-       sta     tmp1
-       sta     tmp2
-       ldy     tickcount
-wait:  cpy     tickcount
-       beq     wait
-       iny                     ; next tick
-loop:  cpy     tickcount
-       bne     over
-       inc     tmp1
-       bne     loop
-       inc     tmp2
-       bne     loop
-over:  ldy     tmp2
-       cpy     #9
-       bcc     nopal
-       lda     #TV::PAL        ; choose PAL
-nopal: rts
+        lda     #TV::NTSC       ; assume NTSC
+        tax                     ; clear
+        sta     tmp1
+        sta     tmp2
+        ldy     tickcount
+wait:   cpy     tickcount
+        beq     wait
+        iny                     ; next tick
+loop:   cpy     tickcount
+        bne     over
+        inc     tmp1
+        bne     loop
+        inc     tmp2
+        bne     loop
+over:   ldy     tmp2
+        cpy     #9
+        bcc     nopal
+        lda     #TV::PAL        ; choose PAL
+nopal:  rts
 
 .endproc
index f6750bc987611d9d2155b59e1624d0917eb9a50c..dab7fc2d7020fa786fcc6a47a87b35a09b80c05d 100644 (file)
@@ -4,17 +4,17 @@
 ; void gotox (unsigned char x);
 ;
 
-       .export         _gotox
-       .import         setcursor
+        .export         _gotox
+        .import         setcursor
 
         .include        "nes.inc"
 
 .proc   _gotox
 
-       sta     CURS_X          ; Set new position
+        sta     CURS_X          ; Set new position
         tay
         ldx     CURS_Y
-       jmp     setcursor       ; Set the cursor to the new position
+        jmp     setcursor       ; Set the cursor to the new position
 
 .endproc
 
index da4ce632bfddea9c877c1ce5d501644c856f235a..a670962fc2aad9860f296acec8bff029d1abc06f 100644 (file)
@@ -4,20 +4,20 @@
 ; void gotoxy (unsigned char x, unsigned char y);
 ;
 
-       .export         _gotoxy
+        .export         _gotoxy
         .import         setcursor
-       .import         popa
+        .import         popa
 
         .include        "nes.inc"
 
 .proc   _gotoxy
 
-       sta     CURS_Y          ; Set Y
-       jsr     popa            ; Get X
-       sta     CURS_X          ; Set X
+        sta     CURS_Y          ; Set Y
+        jsr     popa            ; Get X
+        sta     CURS_X          ; Set X
         tay
         ldx     CURS_Y
-               jmp     setcursor       ; Set the cursor position
+        jmp     setcursor       ; Set the cursor position
 
 .endproc
 
index 6f2f6856a82228a4a0a867c8073d6fbb582c74f6..cfd913f2ee3d6298cfbd920a0f2f77deb18165bc 100644 (file)
@@ -4,17 +4,17 @@
 ; void gotoy (unsigned char y);
 ;
 
-       .export         _gotoy
-       .import         setcursor
+        .export         _gotoy
+        .import         setcursor
 
         .include        "nes.inc"
 
 .proc   _gotoy
 
-               sta     CURS_Y          ; Set new position
+        sta     CURS_Y          ; Set new position
         tax
         ldy     CURS_X
-       jmp     setcursor       ; Set the cursor to the new position
+        jmp     setcursor       ; Set the cursor to the new position
 
 .endproc
 
index d850afde3652b2b335c3233ca2f585542484cc77..76ca9600533705395609344ed7cc30aa67dd403c 100644 (file)
@@ -6,11 +6,11 @@
 ; Stefan Haubenthal, 2004-10-05
 ;
 
-        .include       "zeropage.inc"
+        .include        "zeropage.inc"
 
-        .include       "joy-kernel.inc"
-        .include       "joy-error.inc"
-        .include       "nes.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+        .include        "nes.inc"
 
 
 ; ------------------------------------------------------------------------
 
 ; Driver signature
 
-        .byte  $6A, $6F, $79           ; "joy"
-        .byte  JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
-        .byte  $10                     ; JOY_UP
-        .byte  $20                     ; JOY_DOWN
-        .byte  $40                     ; JOY_LEFT
-        .byte  $80                     ; JOY_RIGHT
-        .byte  $01                     ; JOY_FIRE      (A)
-        .byte  $02                     ; JOY_FIRE2     (B)
-        .byte  $04                     ;               (Select)
-        .byte  $08                     ;               (Start)
+        .byte   $10                     ; JOY_UP
+        .byte   $20                     ; JOY_DOWN
+        .byte   $40                     ; JOY_LEFT
+        .byte   $80                     ; JOY_RIGHT
+        .byte   $01                     ; JOY_FIRE      (A)
+        .byte   $02                     ; JOY_FIRE2     (B)
+        .byte   $04                     ;               (Select)
+        .byte   $08                     ;               (Start)
 
 ; Jump table.
 
-        .addr  INSTALL
-        .addr  UNINSTALL
-        .addr  COUNT
-        .addr  READJOY
-        .addr  0                       ; IRQ entry unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READJOY
+        .addr   0                       ; IRQ entry unused
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT       = 2            ; Number of joysticks we support
+JOY_COUNT       = 2             ; Number of joysticks we support
 
 
 .code
@@ -58,9 +58,9 @@ JOY_COUNT       = 2           ; Number of joysticks we support
 ;
 
 INSTALL:
-        lda    #JOY_ERR_OK
-        ldx    #0
-;       rts                    ; Run into UNINSTALL instead
+        lda     #JOY_ERR_OK
+        ldx     #0
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -76,8 +76,8 @@ UNINSTALL:
 ;
 
 COUNT:
-        lda    #JOY_COUNT
-        ldx    #0
+        lda     #JOY_COUNT
+        ldx     #0
         rts
 
 ; ------------------------------------------------------------------------
@@ -85,23 +85,23 @@ COUNT:
 ;
 
 READJOY:
-        and    #$01            ; Fix joystick number
-        tay                    ; Joystick number (0,1) into Y
+        and     #$01            ; Fix joystick number
+        tay                     ; Joystick number (0,1) into Y
 
-        lda    #1
-        sta    APU_PAD1,y
-        lda    #0
-        sta    APU_PAD1,y
+        lda     #1
+        sta     APU_PAD1,y
+        lda     #0
+        sta     APU_PAD1,y
 
 ; Read joystick
 
-        ldx    #8
-@Loop:  lda    APU_PAD1,y
-        ror    a
-        ror    tmp1
+        ldx     #8
+@Loop:  lda     APU_PAD1,y
+        ror     a
+        ror     tmp1
         dex
-        bne    @Loop
+        bne     @Loop
 
-        lda    tmp1
-;       ldx    #$00            ; X implicitly fixed
+        lda     tmp1
+;       ldx     #$00            ; X implicitly fixed
         rts
index 261dad8d1f7e6f57762f768ab4c3c5f6e07c8593..63b046eb40ecf8f3c3125223a671fdf81f264a00 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _nes_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _nes_stdjoy_joy
 
 .rodata
 
index 4f820aa0a4b1030477edaa62d2b7dbd0056f22ba..b996597463c7abab86e72318e2572c564caaee5b 100644 (file)
@@ -6,8 +6,8 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "nes-stdjoy.joy"
+_joy_stddrv:    .asciiz "nes-stdjoy.joy"
index a9233382f0ed81ad1b7cfedd681a34d9d5068382..7ed8d46f4af4d8f64405a0482c0ec36427781a7d 100644 (file)
@@ -5,8 +5,8 @@
 ;
 
 
-       .constructor    initmainargs, 24
-               .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
 
 ;---------------------------------------------------------------------------
index 41d84e32741b66c45023cb5703101caf5cc03303..15401868c083911aa7cd97979574c973b3fd6c78 100644 (file)
-       .byte   %00000000       ; 0000 1-00:         
-       .byte   %00000000       ; 0001 1-00:         
-       .byte   %00000000       ; 0002 1-00:         
-       .byte   %00000000       ; 0003 1-00:         
-       .byte   %00000000       ; 0004 1-00:         
-       .byte   %00000000       ; 0005 1-00:         
-       .byte   %00000000       ; 0006 1-00:         
-       .byte   %00000000       ; 0007 1-00:         
-
-       .byte   %00000000       ; 0008 1-01:         
-       .byte   %00000000       ; 0009 1-01:         
-       .byte   %00000000       ; 000A 1-01:         
-       .byte   %00000000       ; 000B 1-01:         
-       .byte   %00000000       ; 000C 1-01:         
-       .byte   %00000000       ; 000D 1-01:         
-       .byte   %00000000       ; 000E 1-01:         
-       .byte   %00000000       ; 000F 1-01:         
-
-       .byte   %11001100       ; 0010 1-02: **  **  
-       .byte   %11001100       ; 0011 1-02: **  **  
-       .byte   %00110011       ; 0012 1-02:   **  **
-       .byte   %00110011       ; 0013 1-02:   **  **
-       .byte   %11001100       ; 0014 1-02: **  **  
-       .byte   %11001100       ; 0015 1-02: **  **  
-       .byte   %00110011       ; 0016 1-02:   **  **
-       .byte   %00110011       ; 0017 1-02:   **  **
-
-       .byte   %11001100       ; 0018 1-03: **  **  
-       .byte   %11001100       ; 0019 1-03: **  **  
-       .byte   %00110011       ; 001A 1-03:   **  **
-       .byte   %00110011       ; 001B 1-03:   **  **
-       .byte   %11001100       ; 001C 1-03: **  **  
-       .byte   %11001100       ; 001D 1-03: **  **  
-       .byte   %00110011       ; 001E 1-03:   **  **
-       .byte   %00110011       ; 001F 1-03:   **  **
-
-       .byte   %00000000       ; 0020 1-04:         
-       .byte   %00011000       ; 0021 1-04:    **   
-       .byte   %00111100       ; 0022 1-04:   ****  
-       .byte   %01111110       ; 0023 1-04:  ****** 
-       .byte   %00011000       ; 0024 1-04:    **   
-       .byte   %00011000       ; 0025 1-04:    **   
-       .byte   %00011000       ; 0026 1-04:    **   
-       .byte   %00011000       ; 0027 1-04:    **   
-
-       .byte   %00000000       ; 0028 1-05:         
-       .byte   %00011000       ; 0029 1-05:    **   
-       .byte   %00111100       ; 002A 1-05:   ****  
-       .byte   %01111110       ; 002B 1-05:  ****** 
-       .byte   %00011000       ; 002C 1-05:    **   
-       .byte   %00011000       ; 002D 1-05:    **   
-       .byte   %00011000       ; 002E 1-05:    **   
-       .byte   %00011000       ; 002F 1-05:    **   
-
-       .byte   %00000000       ; 0030 1-06:         
-       .byte   %00010000       ; 0031 1-06:    *    
-       .byte   %00110000       ; 0032 1-06:   **    
-       .byte   %01111111       ; 0033 1-06:  *******
-       .byte   %01111111       ; 0034 1-06:  *******
-       .byte   %00110000       ; 0035 1-06:   **    
-       .byte   %00010000       ; 0036 1-06:    *    
-       .byte   %00000000       ; 0037 1-06:         
-
-       .byte   %00000000       ; 0038 1-07:         
-       .byte   %00010000       ; 0039 1-07:    *    
-       .byte   %00110000       ; 003A 1-07:   **    
-       .byte   %01111111       ; 003B 1-07:  *******
-       .byte   %01111111       ; 003C 1-07:  *******
-       .byte   %00110000       ; 003D 1-07:   **    
-       .byte   %00010000       ; 003E 1-07:    *    
-       .byte   %00000000       ; 003F 1-07:         
-
-       .byte   %00001100       ; 0040 1-08:     **  
-       .byte   %00010010       ; 0041 1-08:    *  * 
-       .byte   %00110000       ; 0042 1-08:   **    
-       .byte   %01111100       ; 0043 1-08:  *****  
-       .byte   %00110000       ; 0044 1-08:   **    
-       .byte   %01100010       ; 0045 1-08:  **   * 
-       .byte   %11111100       ; 0046 1-08: ******  
-       .byte   %00000000       ; 0047 1-08:         
-
-       .byte   %00001100       ; 0048 1-09:     **  
-       .byte   %00010010       ; 0049 1-09:    *  * 
-       .byte   %00110000       ; 004A 1-09:   **    
-       .byte   %01111100       ; 004B 1-09:  *****  
-       .byte   %00110000       ; 004C 1-09:   **    
-       .byte   %01100010       ; 004D 1-09:  **   * 
-       .byte   %11111100       ; 004E 1-09: ******  
-       .byte   %00000000       ; 004F 1-09:         
-
-       .byte   %00000000       ; 0050 1-0a:         
-       .byte   %00000000       ; 0051 1-0a:         
-       .byte   %00000011       ; 0052 1-0a:       **
-       .byte   %00111110       ; 0053 1-0a:   ***** 
-       .byte   %01110110       ; 0054 1-0a:  *** ** 
-       .byte   %00110110       ; 0055 1-0a:   ** ** 
-       .byte   %00110110       ; 0056 1-0a:   ** ** 
-       .byte   %00000000       ; 0057 1-0a:         
-
-       .byte   %00000000       ; 0058 1-0b:         
-       .byte   %00000000       ; 0059 1-0b:         
-       .byte   %00000011       ; 005A 1-0b:       **
-       .byte   %00111110       ; 005B 1-0b:   ***** 
-       .byte   %01110110       ; 005C 1-0b:  *** ** 
-       .byte   %00110110       ; 005D 1-0b:   ** ** 
-       .byte   %00110110       ; 005E 1-0b:   ** ** 
-       .byte   %00000000       ; 005F 1-0b:         
-
-       .byte   %01111111       ; 0060 1-0c:  *******
-       .byte   %01111111       ; 0061 1-0c:  *******
-       .byte   %00000000       ; 0062 1-0c:         
-       .byte   %00000000       ; 0063 1-0c:         
-       .byte   %00000000       ; 0064 1-0c:         
-       .byte   %00000000       ; 0065 1-0c:         
-       .byte   %00000000       ; 0066 1-0c:         
-       .byte   %00000000       ; 0067 1-0c:         
-
-       .byte   %01111111       ; 0068 1-0d:  *******
-       .byte   %01111111       ; 0069 1-0d:  *******
-       .byte   %00000000       ; 006A 1-0d:         
-       .byte   %00000000       ; 006B 1-0d:         
-       .byte   %00000000       ; 006C 1-0d:         
-       .byte   %00000000       ; 006D 1-0d:         
-       .byte   %00000000       ; 006E 1-0d:         
-       .byte   %00000000       ; 006F 1-0d:         
-
-       .byte   %11100000       ; 0070 1-0e: ***     
-       .byte   %11100000       ; 0071 1-0e: ***     
-       .byte   %01100000       ; 0072 1-0e:  **     
-       .byte   %01100000       ; 0073 1-0e:  **     
-       .byte   %01100000       ; 0074 1-0e:  **     
-       .byte   %01100000       ; 0075 1-0e:  **     
-       .byte   %01100000       ; 0076 1-0e:  **     
-       .byte   %01100000       ; 0077 1-0e:  **     
-
-       .byte   %11100000       ; 0078 1-0f: ***     
-       .byte   %11100000       ; 0079 1-0f: ***     
-       .byte   %01100000       ; 007A 1-0f:  **     
-       .byte   %01100000       ; 007B 1-0f:  **     
-       .byte   %01100000       ; 007C 1-0f:  **     
-       .byte   %01100000       ; 007D 1-0f:  **     
-       .byte   %01100000       ; 007E 1-0f:  **     
-       .byte   %01100000       ; 007F 1-0f:  **     
-
-       .byte   %00011000       ; 0080 1-10:    **   
-       .byte   %00011000       ; 0081 1-10:    **   
-       .byte   %00011000       ; 0082 1-10:    **   
-       .byte   %11111000       ; 0083 1-10: *****   
-       .byte   %11111000       ; 0084 1-10: *****   
-       .byte   %00000000       ; 0085 1-10:         
-       .byte   %00000000       ; 0086 1-10:         
-       .byte   %00000000       ; 0087 1-10:         
-
-       .byte   %00011000       ; 0088 1-11:    **   
-       .byte   %00011000       ; 0089 1-11:    **   
-       .byte   %00011000       ; 008A 1-11:    **   
-       .byte   %11111000       ; 008B 1-11: *****   
-       .byte   %11111000       ; 008C 1-11: *****   
-       .byte   %00000000       ; 008D 1-11:         
-       .byte   %00000000       ; 008E 1-11:         
-       .byte   %00000000       ; 008F 1-11:         
-
-       .byte   %11001100       ; 0090 1-12: **  **  
-       .byte   %10011001       ; 0091 1-12: *  **  *
-       .byte   %00110011       ; 0092 1-12:   **  **
-       .byte   %01100110       ; 0093 1-12:  **  ** 
-       .byte   %11001100       ; 0094 1-12: **  **  
-       .byte   %10011001       ; 0095 1-12: *  **  *
-       .byte   %00110011       ; 0096 1-12:   **  **
-       .byte   %01100110       ; 0097 1-12:  **  ** 
-
-       .byte   %11001100       ; 0098 1-13: **  **  
-       .byte   %10011001       ; 0099 1-13: *  **  *
-       .byte   %00110011       ; 009A 1-13:   **  **
-       .byte   %01100110       ; 009B 1-13:  **  ** 
-       .byte   %11001100       ; 009C 1-13: **  **  
-       .byte   %10011001       ; 009D 1-13: *  **  *
-       .byte   %00110011       ; 009E 1-13:   **  **
-       .byte   %01100110       ; 009F 1-13:  **  ** 
-
-       .byte   %00110011       ; 00A0 1-14:   **  **
-       .byte   %10011001       ; 00A1 1-14: *  **  *
-       .byte   %11001100       ; 00A2 1-14: **  **  
-       .byte   %01100110       ; 00A3 1-14:  **  ** 
-       .byte   %00110011       ; 00A4 1-14:   **  **
-       .byte   %10011001       ; 00A5 1-14: *  **  *
-       .byte   %11001100       ; 00A6 1-14: **  **  
-       .byte   %01100110       ; 00A7 1-14:  **  ** 
-
-       .byte   %00110011       ; 00A8 1-15:   **  **
-       .byte   %10011001       ; 00A9 1-15: *  **  *
-       .byte   %11001100       ; 00AA 1-15: **  **  
-       .byte   %01100110       ; 00AB 1-15:  **  ** 
-       .byte   %00110011       ; 00AC 1-15:   **  **
-       .byte   %10011001       ; 00AD 1-15: *  **  *
-       .byte   %11001100       ; 00AE 1-15: **  **  
-       .byte   %01100110       ; 00AF 1-15:  **  ** 
-
-       .byte   %00000000       ; 00B0 1-16:         
-       .byte   %00000000       ; 00B1 1-16:         
-       .byte   %00000000       ; 00B2 1-16:         
-       .byte   %11111111       ; 00B3 1-16: ********
-       .byte   %11111111       ; 00B4 1-16: ********
-       .byte   %00000000       ; 00B5 1-16:         
-       .byte   %00000000       ; 00B6 1-16:         
-       .byte   %00000000       ; 00B7 1-16:         
-
-       .byte   %00000000       ; 00B8 1-17:         
-       .byte   %00000000       ; 00B9 1-17:         
-       .byte   %00000000       ; 00BA 1-17:         
-       .byte   %11111111       ; 00BB 1-17: ********
-       .byte   %11111111       ; 00BC 1-17: ********
-       .byte   %00000000       ; 00BD 1-17:         
-       .byte   %00000000       ; 00BE 1-17:         
-       .byte   %00000000       ; 00BF 1-17:         
-
-       .byte   %00000011       ; 00C0 1-18:       **
-       .byte   %00000011       ; 00C1 1-18:       **
-       .byte   %00000011       ; 00C2 1-18:       **
-       .byte   %00000011       ; 00C3 1-18:       **
-       .byte   %00000011       ; 00C4 1-18:       **
-       .byte   %00000011       ; 00C5 1-18:       **
-       .byte   %00000011       ; 00C6 1-18:       **
-       .byte   %00000011       ; 00C7 1-18:       **
-
-       .byte   %00000011       ; 00C8 1-19:       **
-       .byte   %00000011       ; 00C9 1-19:       **
-       .byte   %00000011       ; 00CA 1-19:       **
-       .byte   %00000011       ; 00CB 1-19:       **
-       .byte   %00000011       ; 00CC 1-19:       **
-       .byte   %00000011       ; 00CD 1-19:       **
-       .byte   %00000011       ; 00CE 1-19:       **
-       .byte   %00000011       ; 00CF 1-19:       **
-
-       .byte   %00000000       ; 00D0 1-1a:         
-       .byte   %00000000       ; 00D1 1-1a:         
-       .byte   %00000000       ; 00D2 1-1a:         
-       .byte   %00000000       ; 00D3 1-1a:         
-       .byte   %11001100       ; 00D4 1-1a: **  **  
-       .byte   %11001100       ; 00D5 1-1a: **  **  
-       .byte   %00110011       ; 00D6 1-1a:   **  **
-       .byte   %00110011       ; 00D7 1-1a:   **  **
-
-       .byte   %00000000       ; 00D8 1-1b:         
-       .byte   %00000000       ; 00D9 1-1b:         
-       .byte   %00000000       ; 00DA 1-1b:         
-       .byte   %00000000       ; 00DB 1-1b:         
-       .byte   %11001100       ; 00DC 1-1b: **  **  
-       .byte   %11001100       ; 00DD 1-1b: **  **  
-       .byte   %00110011       ; 00DE 1-1b:   **  **
-       .byte   %00110011       ; 00DF 1-1b:   **  **
-
-       .byte   %00011000       ; 00E0 1-1c:    **   
-       .byte   %00011000       ; 00E1 1-1c:    **   
-       .byte   %00011000       ; 00E2 1-1c:    **   
-       .byte   %00011000       ; 00E3 1-1c:    **   
-       .byte   %00011000       ; 00E4 1-1c:    **   
-       .byte   %00011000       ; 00E5 1-1c:    **   
-       .byte   %00011000       ; 00E6 1-1c:    **   
-       .byte   %00011000       ; 00E7 1-1c:    **   
-
-       .byte   %00011000       ; 00E8 1-1d:    **   
-       .byte   %00011000       ; 00E9 1-1d:    **   
-       .byte   %00011000       ; 00EA 1-1d:    **   
-       .byte   %00011000       ; 00EB 1-1d:    **   
-       .byte   %00011000       ; 00EC 1-1d:    **   
-       .byte   %00011000       ; 00ED 1-1d:    **   
-       .byte   %00011000       ; 00EE 1-1d:    **   
-       .byte   %00011000       ; 00EF 1-1d:    **   
-
-       .byte   %00011000       ; 00F0 1-1e:    **   
-       .byte   %00011000       ; 00F1 1-1e:    **   
-       .byte   %00011000       ; 00F2 1-1e:    **   
-       .byte   %00011111       ; 00F3 1-1e:    *****
-       .byte   %00011111       ; 00F4 1-1e:    *****
-       .byte   %00011000       ; 00F5 1-1e:    **   
-       .byte   %00011000       ; 00F6 1-1e:    **   
-       .byte   %00011000       ; 00F7 1-1e:    **   
-
-       .byte   %00011000       ; 00F8 1-1f:    **   
-       .byte   %00011000       ; 00F9 1-1f:    **   
-       .byte   %00011000       ; 00FA 1-1f:    **   
-       .byte   %00011111       ; 00FB 1-1f:    *****
-       .byte   %00011111       ; 00FC 1-1f:    *****
-       .byte   %00011000       ; 00FD 1-1f:    **   
-       .byte   %00011000       ; 00FE 1-1f:    **   
-       .byte   %00011000       ; 00FF 1-1f:    **   
-
-       .byte   %00011000       ; 0100 1-20:    **   
-       .byte   %00011000       ; 0101 1-20:    **   
-       .byte   %00011000       ; 0102 1-20:    **   
-       .byte   %11111111       ; 0103 1-20: ********
-       .byte   %11111111       ; 0104 1-20: ********
-       .byte   %00011000       ; 0105 1-20:    **   
-       .byte   %00011000       ; 0106 1-20:    **   
-       .byte   %00011000       ; 0107 1-20:    **   
-
-       .byte   %00011000       ; 0108 1-21:    **   
-       .byte   %00011000       ; 0109 1-21:    **   
-       .byte   %00011000       ; 010A 1-21:    **   
-       .byte   %11111111       ; 010B 1-21: ********
-       .byte   %11111111       ; 010C 1-21: ********
-       .byte   %00011000       ; 010D 1-21:    **   
-       .byte   %00011000       ; 010E 1-21:    **   
-       .byte   %00011000       ; 010F 1-21:    **   
-
-       .byte   %00011000       ; 0110 1-22:    **   
-       .byte   %00011000       ; 0111 1-22:    **   
-       .byte   %00011000       ; 0112 1-22:    **   
-       .byte   %00011111       ; 0113 1-22:    *****
-       .byte   %00011111       ; 0114 1-22:    *****
-       .byte   %00000000       ; 0115 1-22:         
-       .byte   %00000000       ; 0116 1-22:         
-       .byte   %00000000       ; 0117 1-22:         
-
-       .byte   %00011000       ; 0118 1-23:    **   
-       .byte   %00011000       ; 0119 1-23:    **   
-       .byte   %00011000       ; 011A 1-23:    **   
-       .byte   %00011111       ; 011B 1-23:    *****
-       .byte   %00011111       ; 011C 1-23:    *****
-       .byte   %00000000       ; 011D 1-23:         
-       .byte   %00000000       ; 011E 1-23:         
-       .byte   %00000000       ; 011F 1-23:         
-
-       .byte   %00000000       ; 0120 1-24:         
-       .byte   %00000000       ; 0121 1-24:         
-       .byte   %00000000       ; 0122 1-24:         
-       .byte   %11111000       ; 0123 1-24: *****   
-       .byte   %11111000       ; 0124 1-24: *****   
-       .byte   %00011000       ; 0125 1-24:    **   
-       .byte   %00011000       ; 0126 1-24:    **   
-       .byte   %00011000       ; 0127 1-24:    **   
-
-       .byte   %00000000       ; 0128 1-25:         
-       .byte   %00000000       ; 0129 1-25:         
-       .byte   %00000000       ; 012A 1-25:         
-       .byte   %11111000       ; 012B 1-25: *****   
-       .byte   %11111000       ; 012C 1-25: *****   
-       .byte   %00011000       ; 012D 1-25:    **   
-       .byte   %00011000       ; 012E 1-25:    **   
-       .byte   %00011000       ; 012F 1-25:    **   
-
-       .byte   %00000000       ; 0130 1-26:         
-       .byte   %00000000       ; 0131 1-26:         
-       .byte   %00000000       ; 0132 1-26:         
-       .byte   %00000000       ; 0133 1-26:         
-       .byte   %00000000       ; 0134 1-26:         
-       .byte   %00000000       ; 0135 1-26:         
-       .byte   %11111111       ; 0136 1-26: ********
-       .byte   %11111111       ; 0137 1-26: ********
-
-       .byte   %00000000       ; 0138 1-27:         
-       .byte   %00000000       ; 0139 1-27:         
-       .byte   %00000000       ; 013A 1-27:         
-       .byte   %00000000       ; 013B 1-27:         
-       .byte   %00000000       ; 013C 1-27:         
-       .byte   %00000000       ; 013D 1-27:         
-       .byte   %11111111       ; 013E 1-27: ********
-       .byte   %11111111       ; 013F 1-27: ********
-
-       .byte   %00000000       ; 0140 1-28:         
-       .byte   %00000000       ; 0141 1-28:         
-       .byte   %00000000       ; 0142 1-28:         
-       .byte   %00011111       ; 0143 1-28:    *****
-       .byte   %00011111       ; 0144 1-28:    *****
-       .byte   %00011000       ; 0145 1-28:    **   
-       .byte   %00011000       ; 0146 1-28:    **   
-       .byte   %00011000       ; 0147 1-28:    **   
-
-       .byte   %00000000       ; 0148 1-29:         
-       .byte   %00000000       ; 0149 1-29:         
-       .byte   %00000000       ; 014A 1-29:         
-       .byte   %00011111       ; 014B 1-29:    *****
-       .byte   %00011111       ; 014C 1-29:    *****
-       .byte   %00011000       ; 014D 1-29:    **   
-       .byte   %00011000       ; 014E 1-29:    **   
-       .byte   %00011000       ; 014F 1-29:    **   
-
-       .byte   %00011000       ; 0150 1-2a:    **   
-       .byte   %00011000       ; 0151 1-2a:    **   
-       .byte   %00011000       ; 0152 1-2a:    **   
-       .byte   %11111111       ; 0153 1-2a: ********
-       .byte   %11111111       ; 0154 1-2a: ********
-       .byte   %00000000       ; 0155 1-2a:         
-       .byte   %00000000       ; 0156 1-2a:         
-       .byte   %00000000       ; 0157 1-2a:         
-
-       .byte   %00011000       ; 0158 1-2b:    **   
-       .byte   %00011000       ; 0159 1-2b:    **   
-       .byte   %00011000       ; 015A 1-2b:    **   
-       .byte   %11111111       ; 015B 1-2b: ********
-       .byte   %11111111       ; 015C 1-2b: ********
-       .byte   %00000000       ; 015D 1-2b:         
-       .byte   %00000000       ; 015E 1-2b:         
-       .byte   %00000000       ; 015F 1-2b:         
-
-       .byte   %00000000       ; 0160 1-2c:         
-       .byte   %00000000       ; 0161 1-2c:         
-       .byte   %00000000       ; 0162 1-2c:         
-       .byte   %11111111       ; 0163 1-2c: ********
-       .byte   %11111111       ; 0164 1-2c: ********
-       .byte   %00011000       ; 0165 1-2c:    **   
-       .byte   %00011000       ; 0166 1-2c:    **   
-       .byte   %00011000       ; 0167 1-2c:    **   
-
-       .byte   %00000000       ; 0168 1-2d:         
-       .byte   %00000000       ; 0169 1-2d:         
-       .byte   %00000000       ; 016A 1-2d:         
-       .byte   %11111111       ; 016B 1-2d: ********
-       .byte   %11111111       ; 016C 1-2d: ********
-       .byte   %00011000       ; 016D 1-2d:    **   
-       .byte   %00011000       ; 016E 1-2d:    **   
-       .byte   %00011000       ; 016F 1-2d:    **   
-
-       .byte   %00011000       ; 0170 1-2e:    **   
-       .byte   %00011000       ; 0171 1-2e:    **   
-       .byte   %00011000       ; 0172 1-2e:    **   
-       .byte   %11111000       ; 0173 1-2e: *****   
-       .byte   %11111000       ; 0174 1-2e: *****   
-       .byte   %00011000       ; 0175 1-2e:    **   
-       .byte   %00011000       ; 0176 1-2e:    **   
-       .byte   %00011000       ; 0177 1-2e:    **   
-
-       .byte   %00011000       ; 0178 1-2f:    **   
-       .byte   %00011000       ; 0179 1-2f:    **   
-       .byte   %00011000       ; 017A 1-2f:    **   
-       .byte   %11111000       ; 017B 1-2f: *****   
-       .byte   %11111000       ; 017C 1-2f: *****   
-       .byte   %00011000       ; 017D 1-2f:    **   
-       .byte   %00011000       ; 017E 1-2f:    **   
-       .byte   %00011000       ; 017F 1-2f:    **   
-
-       .byte   %11110000       ; 0180 1-30: ****    
-       .byte   %11110000       ; 0181 1-30: ****    
-       .byte   %11110000       ; 0182 1-30: ****    
-       .byte   %11110000       ; 0183 1-30: ****    
-       .byte   %11110000       ; 0184 1-30: ****    
-       .byte   %11110000       ; 0185 1-30: ****    
-       .byte   %11110000       ; 0186 1-30: ****    
-       .byte   %11110000       ; 0187 1-30: ****    
-
-       .byte   %11110000       ; 0188 1-31: ****    
-       .byte   %11110000       ; 0189 1-31: ****    
-       .byte   %11110000       ; 018A 1-31: ****    
-       .byte   %11110000       ; 018B 1-31: ****    
-       .byte   %11110000       ; 018C 1-31: ****    
-       .byte   %11110000       ; 018D 1-31: ****    
-       .byte   %11110000       ; 018E 1-31: ****    
-       .byte   %11110000       ; 018F 1-31: ****    
-
-       .byte   %00000000       ; 0190 1-32:         
-       .byte   %00000000       ; 0191 1-32:         
-       .byte   %00000000       ; 0192 1-32:         
-       .byte   %00000000       ; 0193 1-32:         
-       .byte   %11111111       ; 0194 1-32: ********
-       .byte   %11111111       ; 0195 1-32: ********
-       .byte   %11111111       ; 0196 1-32: ********
-       .byte   %11111111       ; 0197 1-32: ********
-
-       .byte   %00000000       ; 0198 1-33:         
-       .byte   %00000000       ; 0199 1-33:         
-       .byte   %00000000       ; 019A 1-33:         
-       .byte   %00000000       ; 019B 1-33:         
-       .byte   %11111111       ; 019C 1-33: ********
-       .byte   %11111111       ; 019D 1-33: ********
-       .byte   %11111111       ; 019E 1-33: ********
-       .byte   %11111111       ; 019F 1-33: ********
-
-       .byte   %00000000       ; 01A0 1-34:         
-       .byte   %00000000       ; 01A1 1-34:         
-       .byte   %00000000       ; 01A2 1-34:         
-       .byte   %00000000       ; 01A3 1-34:         
-       .byte   %11110000       ; 01A4 1-34: ****    
-       .byte   %11110000       ; 01A5 1-34: ****    
-       .byte   %11110000       ; 01A6 1-34: ****    
-       .byte   %11110000       ; 01A7 1-34: ****    
-
-       .byte   %00000000       ; 01A8 1-35:         
-       .byte   %00000000       ; 01A9 1-35:         
-       .byte   %00000000       ; 01AA 1-35:         
-       .byte   %00000000       ; 01AB 1-35:         
-       .byte   %11110000       ; 01AC 1-35: ****    
-       .byte   %11110000       ; 01AD 1-35: ****    
-       .byte   %11110000       ; 01AE 1-35: ****    
-       .byte   %11110000       ; 01AF 1-35: ****    
-
-       .byte   %11000000       ; 01B0 1-36: **      
-       .byte   %11000000       ; 01B1 1-36: **      
-       .byte   %00110000       ; 01B2 1-36:   **    
-       .byte   %00110000       ; 01B3 1-36:   **    
-       .byte   %11000000       ; 01B4 1-36: **      
-       .byte   %11000000       ; 01B5 1-36: **      
-       .byte   %00110000       ; 01B6 1-36:   **    
-       .byte   %00110000       ; 01B7 1-36:   **    
-
-       .byte   %11000000       ; 01B8 1-37: **      
-       .byte   %11000000       ; 01B9 1-37: **      
-       .byte   %00110000       ; 01BA 1-37:   **    
-       .byte   %00110000       ; 01BB 1-37:   **    
-       .byte   %11000000       ; 01BC 1-37: **      
-       .byte   %11000000       ; 01BD 1-37: **      
-       .byte   %00110000       ; 01BE 1-37:   **    
-       .byte   %00110000       ; 01BF 1-37:   **    
-
-       .byte   %00001111       ; 01C0 1-38:     ****
-       .byte   %00001111       ; 01C1 1-38:     ****
-       .byte   %00001111       ; 01C2 1-38:     ****
-       .byte   %00001111       ; 01C3 1-38:     ****
-       .byte   %00000000       ; 01C4 1-38:         
-       .byte   %00000000       ; 01C5 1-38:         
-       .byte   %00000000       ; 01C6 1-38:         
-       .byte   %00000000       ; 01C7 1-38:         
-
-       .byte   %00001111       ; 01C8 1-39:     ****
-       .byte   %00001111       ; 01C9 1-39:     ****
-       .byte   %00001111       ; 01CA 1-39:     ****
-       .byte   %00001111       ; 01CB 1-39:     ****
-       .byte   %00000000       ; 01CC 1-39:         
-       .byte   %00000000       ; 01CD 1-39:         
-       .byte   %00000000       ; 01CE 1-39:         
-       .byte   %00000000       ; 01CF 1-39:         
-
-       .byte   %00000000       ; 01D0 1-3a:         
-       .byte   %00000000       ; 01D1 1-3a:         
-       .byte   %00000000       ; 01D2 1-3a:         
-       .byte   %00000000       ; 01D3 1-3a:         
-       .byte   %00001111       ; 01D4 1-3a:     ****
-       .byte   %00001111       ; 01D5 1-3a:     ****
-       .byte   %00001111       ; 01D6 1-3a:     ****
-       .byte   %00001111       ; 01D7 1-3a:     ****
-
-       .byte   %00000000       ; 01D8 1-3b:         
-       .byte   %00000000       ; 01D9 1-3b:         
-       .byte   %00000000       ; 01DA 1-3b:         
-       .byte   %00000000       ; 01DB 1-3b:         
-       .byte   %00001111       ; 01DC 1-3b:     ****
-       .byte   %00001111       ; 01DD 1-3b:     ****
-       .byte   %00001111       ; 01DE 1-3b:     ****
-       .byte   %00001111       ; 01DF 1-3b:     ****
-
-       .byte   %11110000       ; 01E0 1-3c: ****    
-       .byte   %11110000       ; 01E1 1-3c: ****    
-       .byte   %11110000       ; 01E2 1-3c: ****    
-       .byte   %11110000       ; 01E3 1-3c: ****    
-       .byte   %00000000       ; 01E4 1-3c:         
-       .byte   %00000000       ; 01E5 1-3c:         
-       .byte   %00000000       ; 01E6 1-3c:         
-       .byte   %00000000       ; 01E7 1-3c:         
-
-       .byte   %11110000       ; 01E8 1-3d: ****    
-       .byte   %11110000       ; 01E9 1-3d: ****    
-       .byte   %11110000       ; 01EA 1-3d: ****    
-       .byte   %11110000       ; 01EB 1-3d: ****    
-       .byte   %00000000       ; 01EC 1-3d:         
-       .byte   %00000000       ; 01ED 1-3d:         
-       .byte   %00000000       ; 01EE 1-3d:         
-       .byte   %00000000       ; 01EF 1-3d:         
-
-       .byte   %11110000       ; 01F0 1-3e: ****    
-       .byte   %11110000       ; 01F1 1-3e: ****    
-       .byte   %11110000       ; 01F2 1-3e: ****    
-       .byte   %11110000       ; 01F3 1-3e: ****    
-       .byte   %00001111       ; 01F4 1-3e:     ****
-       .byte   %00001111       ; 01F5 1-3e:     ****
-       .byte   %00001111       ; 01F6 1-3e:     ****
-       .byte   %00001111       ; 01F7 1-3e:     ****
-
-       .byte   %11110000       ; 01F8 1-3f: ****    
-       .byte   %11110000       ; 01F9 1-3f: ****    
-       .byte   %11110000       ; 01FA 1-3f: ****    
-       .byte   %11110000       ; 01FB 1-3f: ****    
-       .byte   %00001111       ; 01FC 1-3f:     ****
-       .byte   %00001111       ; 01FD 1-3f:     ****
-       .byte   %00001111       ; 01FE 1-3f:     ****
-       .byte   %00001111       ; 01FF 1-3f:     ****
-
-       .byte   %00000000       ; 0200 1-40:         
-       .byte   %00000000       ; 0201 1-40:         
-       .byte   %00000000       ; 0202 1-40:         
-       .byte   %00000000       ; 0203 1-40:         
-       .byte   %00000000       ; 0204 1-40:         
-       .byte   %00000000       ; 0205 1-40:         
-       .byte   %00000000       ; 0206 1-40:         
-       .byte   %00000000       ; 0207 1-40:         
-
-       .byte   %00000000       ; 0208 1-41:         
-       .byte   %00000000       ; 0209 1-41:         
-       .byte   %00000000       ; 020A 1-41:         
-       .byte   %00000000       ; 020B 1-41:         
-       .byte   %00000000       ; 020C 1-41:         
-       .byte   %00000000       ; 020D 1-41:         
-       .byte   %00000000       ; 020E 1-41:         
-       .byte   %00000000       ; 020F 1-41:         
-
-       .byte   %00011000       ; 0210 1-42:    **   
-       .byte   %00011000       ; 0211 1-42:    **   
-       .byte   %00011000       ; 0212 1-42:    **   
-       .byte   %00011000       ; 0213 1-42:    **   
-       .byte   %00000000       ; 0214 1-42:         
-       .byte   %00000000       ; 0215 1-42:         
-       .byte   %00011000       ; 0216 1-42:    **   
-       .byte   %00000000       ; 0217 1-42:         
-
-       .byte   %00011000       ; 0218 1-43:    **   
-       .byte   %00011000       ; 0219 1-43:    **   
-       .byte   %00011000       ; 021A 1-43:    **   
-       .byte   %00011000       ; 021B 1-43:    **   
-       .byte   %00000000       ; 021C 1-43:         
-       .byte   %00000000       ; 021D 1-43:         
-       .byte   %00011000       ; 021E 1-43:    **   
-       .byte   %00000000       ; 021F 1-43:         
-
-       .byte   %01100110       ; 0220 1-44:  **  ** 
-       .byte   %01100110       ; 0221 1-44:  **  ** 
-       .byte   %01100110       ; 0222 1-44:  **  ** 
-       .byte   %00000000       ; 0223 1-44:         
-       .byte   %00000000       ; 0224 1-44:         
-       .byte   %00000000       ; 0225 1-44:         
-       .byte   %00000000       ; 0226 1-44:         
-       .byte   %00000000       ; 0227 1-44:         
-
-       .byte   %01100110       ; 0228 1-45:  **  ** 
-       .byte   %01100110       ; 0229 1-45:  **  ** 
-       .byte   %01100110       ; 022A 1-45:  **  ** 
-       .byte   %00000000       ; 022B 1-45:         
-       .byte   %00000000       ; 022C 1-45:         
-       .byte   %00000000       ; 022D 1-45:         
-       .byte   %00000000       ; 022E 1-45:         
-       .byte   %00000000       ; 022F 1-45:         
-
-       .byte   %01100110       ; 0230 1-46:  **  ** 
-       .byte   %01100110       ; 0231 1-46:  **  ** 
-       .byte   %11111111       ; 0232 1-46: ********
-       .byte   %01100110       ; 0233 1-46:  **  ** 
-       .byte   %11111111       ; 0234 1-46: ********
-       .byte   %01100110       ; 0235 1-46:  **  ** 
-       .byte   %01100110       ; 0236 1-46:  **  ** 
-       .byte   %00000000       ; 0237 1-46:         
-
-       .byte   %01100110       ; 0238 1-47:  **  ** 
-       .byte   %01100110       ; 0239 1-47:  **  ** 
-       .byte   %11111111       ; 023A 1-47: ********
-       .byte   %01100110       ; 023B 1-47:  **  ** 
-       .byte   %11111111       ; 023C 1-47: ********
-       .byte   %01100110       ; 023D 1-47:  **  ** 
-       .byte   %01100110       ; 023E 1-47:  **  ** 
-       .byte   %00000000       ; 023F 1-47:         
-
-       .byte   %00011000       ; 0240 1-48:    **   
-       .byte   %00111110       ; 0241 1-48:   ***** 
-       .byte   %01100000       ; 0242 1-48:  **     
-       .byte   %00111100       ; 0243 1-48:   ****  
-       .byte   %00000110       ; 0244 1-48:      ** 
-       .byte   %01111100       ; 0245 1-48:  *****  
-       .byte   %00011000       ; 0246 1-48:    **   
-       .byte   %00000000       ; 0247 1-48:         
-
-       .byte   %00011000       ; 0248 1-49:    **   
-       .byte   %00111110       ; 0249 1-49:   ***** 
-       .byte   %01100000       ; 024A 1-49:  **     
-       .byte   %00111100       ; 024B 1-49:   ****  
-       .byte   %00000110       ; 024C 1-49:      ** 
-       .byte   %01111100       ; 024D 1-49:  *****  
-       .byte   %00011000       ; 024E 1-49:    **   
-       .byte   %00000000       ; 024F 1-49:         
-
-       .byte   %00000000       ; 0250 1-4a:         
-       .byte   %01100110       ; 0251 1-4a:  **  ** 
-       .byte   %00001100       ; 0252 1-4a:     **  
-       .byte   %00011000       ; 0253 1-4a:    **   
-       .byte   %00110000       ; 0254 1-4a:   **    
-       .byte   %01100110       ; 0255 1-4a:  **  ** 
-       .byte   %01000110       ; 0256 1-4a:  *   ** 
-       .byte   %00000000       ; 0257 1-4a:         
-
-       .byte   %00000000       ; 0258 1-4b:         
-       .byte   %01100110       ; 0259 1-4b:  **  ** 
-       .byte   %00001100       ; 025A 1-4b:     **  
-       .byte   %00011000       ; 025B 1-4b:    **   
-       .byte   %00110000       ; 025C 1-4b:   **    
-       .byte   %01100110       ; 025D 1-4b:  **  ** 
-       .byte   %01000110       ; 025E 1-4b:  *   ** 
-       .byte   %00000000       ; 025F 1-4b:         
-
-       .byte   %00111100       ; 0260 1-4c:   ****  
-       .byte   %01100110       ; 0261 1-4c:  **  ** 
-       .byte   %00111100       ; 0262 1-4c:   ****  
-       .byte   %00111000       ; 0263 1-4c:   ***   
-       .byte   %01100111       ; 0264 1-4c:  **  ***
-       .byte   %01100110       ; 0265 1-4c:  **  ** 
-       .byte   %00111111       ; 0266 1-4c:   ******
-       .byte   %00000000       ; 0267 1-4c:         
-
-       .byte   %00111100       ; 0268 1-4d:   ****  
-       .byte   %01100110       ; 0269 1-4d:  **  ** 
-       .byte   %00111100       ; 026A 1-4d:   ****  
-       .byte   %00111000       ; 026B 1-4d:   ***   
-       .byte   %01100111       ; 026C 1-4d:  **  ***
-       .byte   %01100110       ; 026D 1-4d:  **  ** 
-       .byte   %00111111       ; 026E 1-4d:   ******
-       .byte   %00000000       ; 026F 1-4d:         
-
-       .byte   %00000110       ; 0270 1-4e:      ** 
-       .byte   %00001100       ; 0271 1-4e:     **  
-       .byte   %00011000       ; 0272 1-4e:    **   
-       .byte   %00000000       ; 0273 1-4e:         
-       .byte   %00000000       ; 0274 1-4e:         
-       .byte   %00000000       ; 0275 1-4e:         
-       .byte   %00000000       ; 0276 1-4e:         
-       .byte   %00000000       ; 0277 1-4e:         
-
-       .byte   %00000110       ; 0278 1-4f:      ** 
-       .byte   %00001100       ; 0279 1-4f:     **  
-       .byte   %00011000       ; 027A 1-4f:    **   
-       .byte   %00000000       ; 027B 1-4f:         
-       .byte   %00000000       ; 027C 1-4f:         
-       .byte   %00000000       ; 027D 1-4f:         
-       .byte   %00000000       ; 027E 1-4f:         
-       .byte   %00000000       ; 027F 1-4f:         
-
-       .byte   %00001100       ; 0280 1-50:     **  
-       .byte   %00011000       ; 0281 1-50:    **   
-       .byte   %00110000       ; 0282 1-50:   **    
-       .byte   %00110000       ; 0283 1-50:   **    
-       .byte   %00110000       ; 0284 1-50:   **    
-       .byte   %00011000       ; 0285 1-50:    **   
-       .byte   %00001100       ; 0286 1-50:     **  
-       .byte   %00000000       ; 0287 1-50:         
-
-       .byte   %00001100       ; 0288 1-51:     **  
-       .byte   %00011000       ; 0289 1-51:    **   
-       .byte   %00110000       ; 028A 1-51:   **    
-       .byte   %00110000       ; 028B 1-51:   **    
-       .byte   %00110000       ; 028C 1-51:   **    
-       .byte   %00011000       ; 028D 1-51:    **   
-       .byte   %00001100       ; 028E 1-51:     **  
-       .byte   %00000000       ; 028F 1-51:         
-
-       .byte   %00110000       ; 0290 1-52:   **    
-       .byte   %00011000       ; 0291 1-52:    **   
-       .byte   %00001100       ; 0292 1-52:     **  
-       .byte   %00001100       ; 0293 1-52:     **  
-       .byte   %00001100       ; 0294 1-52:     **  
-       .byte   %00011000       ; 0295 1-52:    **   
-       .byte   %00110000       ; 0296 1-52:   **    
-       .byte   %00000000       ; 0297 1-52:         
-
-       .byte   %00110000       ; 0298 1-53:   **    
-       .byte   %00011000       ; 0299 1-53:    **   
-       .byte   %00001100       ; 029A 1-53:     **  
-       .byte   %00001100       ; 029B 1-53:     **  
-       .byte   %00001100       ; 029C 1-53:     **  
-       .byte   %00011000       ; 029D 1-53:    **   
-       .byte   %00110000       ; 029E 1-53:   **    
-       .byte   %00000000       ; 029F 1-53:         
-
-       .byte   %00000000       ; 02A0 1-54:         
-       .byte   %01100110       ; 02A1 1-54:  **  ** 
-       .byte   %00111100       ; 02A2 1-54:   ****  
-       .byte   %11111111       ; 02A3 1-54: ********
-       .byte   %00111100       ; 02A4 1-54:   ****  
-       .byte   %01100110       ; 02A5 1-54:  **  ** 
-       .byte   %00000000       ; 02A6 1-54:         
-       .byte   %00000000       ; 02A7 1-54:         
-
-       .byte   %00000000       ; 02A8 1-55:         
-       .byte   %01100110       ; 02A9 1-55:  **  ** 
-       .byte   %00111100       ; 02AA 1-55:   ****  
-       .byte   %11111111       ; 02AB 1-55: ********
-       .byte   %00111100       ; 02AC 1-55:   ****  
-       .byte   %01100110       ; 02AD 1-55:  **  ** 
-       .byte   %00000000       ; 02AE 1-55:         
-       .byte   %00000000       ; 02AF 1-55:         
-
-       .byte   %00000000       ; 02B0 1-56:         
-       .byte   %00011000       ; 02B1 1-56:    **   
-       .byte   %00011000       ; 02B2 1-56:    **   
-       .byte   %01111110       ; 02B3 1-56:  ****** 
-       .byte   %00011000       ; 02B4 1-56:    **   
-       .byte   %00011000       ; 02B5 1-56:    **   
-       .byte   %00000000       ; 02B6 1-56:         
-       .byte   %00000000       ; 02B7 1-56:         
-
-       .byte   %00000000       ; 02B8 1-57:         
-       .byte   %00011000       ; 02B9 1-57:    **   
-       .byte   %00011000       ; 02BA 1-57:    **   
-       .byte   %01111110       ; 02BB 1-57:  ****** 
-       .byte   %00011000       ; 02BC 1-57:    **   
-       .byte   %00011000       ; 02BD 1-57:    **   
-       .byte   %00000000       ; 02BE 1-57:         
-       .byte   %00000000       ; 02BF 1-57:         
-
-       .byte   %00000000       ; 02C0 1-58:         
-       .byte   %00000000       ; 02C1 1-58:         
-       .byte   %00000000       ; 02C2 1-58:         
-       .byte   %00000000       ; 02C3 1-58:         
-       .byte   %00000000       ; 02C4 1-58:         
-       .byte   %00011000       ; 02C5 1-58:    **   
-       .byte   %00011000       ; 02C6 1-58:    **   
-       .byte   %00110000       ; 02C7 1-58:   **    
-
-       .byte   %00000000       ; 02C8 1-59:         
-       .byte   %00000000       ; 02C9 1-59:         
-       .byte   %00000000       ; 02CA 1-59:         
-       .byte   %00000000       ; 02CB 1-59:         
-       .byte   %00000000       ; 02CC 1-59:         
-       .byte   %00011000       ; 02CD 1-59:    **   
-       .byte   %00011000       ; 02CE 1-59:    **   
-       .byte   %00110000       ; 02CF 1-59:   **    
-
-       .byte   %00000000       ; 02D0 1-5a:         
-       .byte   %00000000       ; 02D1 1-5a:         
-       .byte   %00000000       ; 02D2 1-5a:         
-       .byte   %01111110       ; 02D3 1-5a:  ****** 
-       .byte   %00000000       ; 02D4 1-5a:         
-       .byte   %00000000       ; 02D5 1-5a:         
-       .byte   %00000000       ; 02D6 1-5a:         
-       .byte   %00000000       ; 02D7 1-5a:         
-
-       .byte   %00000000       ; 02D8 1-5b:         
-       .byte   %00000000       ; 02D9 1-5b:         
-       .byte   %00000000       ; 02DA 1-5b:         
-       .byte   %01111110       ; 02DB 1-5b:  ****** 
-       .byte   %00000000       ; 02DC 1-5b:         
-       .byte   %00000000       ; 02DD 1-5b:         
-       .byte   %00000000       ; 02DE 1-5b:         
-       .byte   %00000000       ; 02DF 1-5b:         
-
-       .byte   %00000000       ; 02E0 1-5c:         
-       .byte   %00000000       ; 02E1 1-5c:         
-       .byte   %00000000       ; 02E2 1-5c:         
-       .byte   %00000000       ; 02E3 1-5c:         
-       .byte   %00000000       ; 02E4 1-5c:         
-       .byte   %00011000       ; 02E5 1-5c:    **   
-       .byte   %00011000       ; 02E6 1-5c:    **   
-       .byte   %00000000       ; 02E7 1-5c:         
-
-       .byte   %00000000       ; 02E8 1-5d:         
-       .byte   %00000000       ; 02E9 1-5d:         
-       .byte   %00000000       ; 02EA 1-5d:         
-       .byte   %00000000       ; 02EB 1-5d:         
-       .byte   %00000000       ; 02EC 1-5d:         
-       .byte   %00011000       ; 02ED 1-5d:    **   
-       .byte   %00011000       ; 02EE 1-5d:    **   
-       .byte   %00000000       ; 02EF 1-5d:         
-
-       .byte   %00000000       ; 02F0 1-5e:         
-       .byte   %00000011       ; 02F1 1-5e:       **
-       .byte   %00000110       ; 02F2 1-5e:      ** 
-       .byte   %00001100       ; 02F3 1-5e:     **  
-       .byte   %00011000       ; 02F4 1-5e:    **   
-       .byte   %00110000       ; 02F5 1-5e:   **    
-       .byte   %01100000       ; 02F6 1-5e:  **     
-       .byte   %00000000       ; 02F7 1-5e:         
-
-       .byte   %00000000       ; 02F8 1-5f:         
-       .byte   %00000011       ; 02F9 1-5f:       **
-       .byte   %00000110       ; 02FA 1-5f:      ** 
-       .byte   %00001100       ; 02FB 1-5f:     **  
-       .byte   %00011000       ; 02FC 1-5f:    **   
-       .byte   %00110000       ; 02FD 1-5f:   **    
-       .byte   %01100000       ; 02FE 1-5f:  **     
-       .byte   %00000000       ; 02FF 1-5f:         
-
-       .byte   %00111100       ; 0300 1-60:   ****  
-       .byte   %01100110       ; 0301 1-60:  **  ** 
-       .byte   %01101110       ; 0302 1-60:  ** *** 
-       .byte   %01110110       ; 0303 1-60:  *** ** 
-       .byte   %01100110       ; 0304 1-60:  **  ** 
-       .byte   %01100110       ; 0305 1-60:  **  ** 
-       .byte   %00111100       ; 0306 1-60:   ****  
-       .byte   %00000000       ; 0307 1-60:         
-
-       .byte   %00111100       ; 0308 1-61:   ****  
-       .byte   %01100110       ; 0309 1-61:  **  ** 
-       .byte   %01101110       ; 030A 1-61:  ** *** 
-       .byte   %01110110       ; 030B 1-61:  *** ** 
-       .byte   %01100110       ; 030C 1-61:  **  ** 
-       .byte   %01100110       ; 030D 1-61:  **  ** 
-       .byte   %00111100       ; 030E 1-61:   ****  
-       .byte   %00000000       ; 030F 1-61:         
-
-       .byte   %00011000       ; 0310 1-62:    **   
-       .byte   %00011000       ; 0311 1-62:    **   
-       .byte   %00111000       ; 0312 1-62:   ***   
-       .byte   %00011000       ; 0313 1-62:    **   
-       .byte   %00011000       ; 0314 1-62:    **   
-       .byte   %00011000       ; 0315 1-62:    **   
-       .byte   %01111110       ; 0316 1-62:  ****** 
-       .byte   %00000000       ; 0317 1-62:         
-
-       .byte   %00011000       ; 0318 1-63:    **   
-       .byte   %00011000       ; 0319 1-63:    **   
-       .byte   %00111000       ; 031A 1-63:   ***   
-       .byte   %00011000       ; 031B 1-63:    **   
-       .byte   %00011000       ; 031C 1-63:    **   
-       .byte   %00011000       ; 031D 1-63:    **   
-       .byte   %01111110       ; 031E 1-63:  ****** 
-       .byte   %00000000       ; 031F 1-63:         
-
-       .byte   %00111100       ; 0320 1-64:   ****  
-       .byte   %01100110       ; 0321 1-64:  **  ** 
-       .byte   %00000110       ; 0322 1-64:      ** 
-       .byte   %00001100       ; 0323 1-64:     **  
-       .byte   %00110000       ; 0324 1-64:   **    
-       .byte   %01100000       ; 0325 1-64:  **     
-       .byte   %01111110       ; 0326 1-64:  ****** 
-       .byte   %00000000       ; 0327 1-64:         
-
-       .byte   %00111100       ; 0328 1-65:   ****  
-       .byte   %01100110       ; 0329 1-65:  **  ** 
-       .byte   %00000110       ; 032A 1-65:      ** 
-       .byte   %00001100       ; 032B 1-65:     **  
-       .byte   %00110000       ; 032C 1-65:   **    
-       .byte   %01100000       ; 032D 1-65:  **     
-       .byte   %01111110       ; 032E 1-65:  ****** 
-       .byte   %00000000       ; 032F 1-65:         
-
-       .byte   %00111100       ; 0330 1-66:   ****  
-       .byte   %01100110       ; 0331 1-66:  **  ** 
-       .byte   %00000110       ; 0332 1-66:      ** 
-       .byte   %00011100       ; 0333 1-66:    ***  
-       .byte   %00000110       ; 0334 1-66:      ** 
-       .byte   %01100110       ; 0335 1-66:  **  ** 
-       .byte   %00111100       ; 0336 1-66:   ****  
-       .byte   %00000000       ; 0337 1-66:         
-
-       .byte   %00111100       ; 0338 1-67:   ****  
-       .byte   %01100110       ; 0339 1-67:  **  ** 
-       .byte   %00000110       ; 033A 1-67:      ** 
-       .byte   %00011100       ; 033B 1-67:    ***  
-       .byte   %00000110       ; 033C 1-67:      ** 
-       .byte   %01100110       ; 033D 1-67:  **  ** 
-       .byte   %00111100       ; 033E 1-67:   ****  
-       .byte   %00000000       ; 033F 1-67:         
-
-       .byte   %00000110       ; 0340 1-68:      ** 
-       .byte   %00001110       ; 0341 1-68:     *** 
-       .byte   %00011110       ; 0342 1-68:    **** 
-       .byte   %01100110       ; 0343 1-68:  **  ** 
-       .byte   %01111111       ; 0344 1-68:  *******
-       .byte   %00000110       ; 0345 1-68:      ** 
-       .byte   %00000110       ; 0346 1-68:      ** 
-       .byte   %00000000       ; 0347 1-68:         
-
-       .byte   %00000110       ; 0348 1-69:      ** 
-       .byte   %00001110       ; 0349 1-69:     *** 
-       .byte   %00011110       ; 034A 1-69:    **** 
-       .byte   %01100110       ; 034B 1-69:  **  ** 
-       .byte   %01111111       ; 034C 1-69:  *******
-       .byte   %00000110       ; 034D 1-69:      ** 
-       .byte   %00000110       ; 034E 1-69:      ** 
-       .byte   %00000000       ; 034F 1-69:         
-
-       .byte   %01111110       ; 0350 1-6a:  ****** 
-       .byte   %01100000       ; 0351 1-6a:  **     
-       .byte   %01111100       ; 0352 1-6a:  *****  
-       .byte   %00000110       ; 0353 1-6a:      ** 
-       .byte   %00000110       ; 0354 1-6a:      ** 
-       .byte   %01100110       ; 0355 1-6a:  **  ** 
-       .byte   %00111100       ; 0356 1-6a:   ****  
-       .byte   %00000000       ; 0357 1-6a:         
-
-       .byte   %01111110       ; 0358 1-6b:  ****** 
-       .byte   %01100000       ; 0359 1-6b:  **     
-       .byte   %01111100       ; 035A 1-6b:  *****  
-       .byte   %00000110       ; 035B 1-6b:      ** 
-       .byte   %00000110       ; 035C 1-6b:      ** 
-       .byte   %01100110       ; 035D 1-6b:  **  ** 
-       .byte   %00111100       ; 035E 1-6b:   ****  
-       .byte   %00000000       ; 035F 1-6b:         
-
-       .byte   %00111100       ; 0360 1-6c:   ****  
-       .byte   %01100110       ; 0361 1-6c:  **  ** 
-       .byte   %01100000       ; 0362 1-6c:  **     
-       .byte   %01111100       ; 0363 1-6c:  *****  
-       .byte   %01100110       ; 0364 1-6c:  **  ** 
-       .byte   %01100110       ; 0365 1-6c:  **  ** 
-       .byte   %00111100       ; 0366 1-6c:   ****  
-       .byte   %00000000       ; 0367 1-6c:         
-
-       .byte   %00111100       ; 0368 1-6d:   ****  
-       .byte   %01100110       ; 0369 1-6d:  **  ** 
-       .byte   %01100000       ; 036A 1-6d:  **     
-       .byte   %01111100       ; 036B 1-6d:  *****  
-       .byte   %01100110       ; 036C 1-6d:  **  ** 
-       .byte   %01100110       ; 036D 1-6d:  **  ** 
-       .byte   %00111100       ; 036E 1-6d:   ****  
-       .byte   %00000000       ; 036F 1-6d:         
-
-       .byte   %01111110       ; 0370 1-6e:  ****** 
-       .byte   %01100110       ; 0371 1-6e:  **  ** 
-       .byte   %00001100       ; 0372 1-6e:     **  
-       .byte   %00011000       ; 0373 1-6e:    **   
-       .byte   %00011000       ; 0374 1-6e:    **   
-       .byte   %00011000       ; 0375 1-6e:    **   
-       .byte   %00011000       ; 0376 1-6e:    **   
-       .byte   %00000000       ; 0377 1-6e:         
-
-       .byte   %01111110       ; 0378 1-6f:  ****** 
-       .byte   %01100110       ; 0379 1-6f:  **  ** 
-       .byte   %00001100       ; 037A 1-6f:     **  
-       .byte   %00011000       ; 037B 1-6f:    **   
-       .byte   %00011000       ; 037C 1-6f:    **   
-       .byte   %00011000       ; 037D 1-6f:    **   
-       .byte   %00011000       ; 037E 1-6f:    **   
-       .byte   %00000000       ; 037F 1-6f:         
-
-       .byte   %00111100       ; 0380 1-70:   ****  
-       .byte   %01100110       ; 0381 1-70:  **  ** 
-       .byte   %01100110       ; 0382 1-70:  **  ** 
-       .byte   %00111100       ; 0383 1-70:   ****  
-       .byte   %01100110       ; 0384 1-70:  **  ** 
-       .byte   %01100110       ; 0385 1-70:  **  ** 
-       .byte   %00111100       ; 0386 1-70:   ****  
-       .byte   %00000000       ; 0387 1-70:         
-
-       .byte   %00111100       ; 0388 1-71:   ****  
-       .byte   %01100110       ; 0389 1-71:  **  ** 
-       .byte   %01100110       ; 038A 1-71:  **  ** 
-       .byte   %00111100       ; 038B 1-71:   ****  
-       .byte   %01100110       ; 038C 1-71:  **  ** 
-       .byte   %01100110       ; 038D 1-71:  **  ** 
-       .byte   %00111100       ; 038E 1-71:   ****  
-       .byte   %00000000       ; 038F 1-71:         
-
-       .byte   %00111100       ; 0390 1-72:   ****  
-       .byte   %01100110       ; 0391 1-72:  **  ** 
-       .byte   %01100110       ; 0392 1-72:  **  ** 
-       .byte   %00111110       ; 0393 1-72:   ***** 
-       .byte   %00000110       ; 0394 1-72:      ** 
-       .byte   %01100110       ; 0395 1-72:  **  ** 
-       .byte   %00111100       ; 0396 1-72:   ****  
-       .byte   %00000000       ; 0397 1-72:         
-
-       .byte   %00111100       ; 0398 1-73:   ****  
-       .byte   %01100110       ; 0399 1-73:  **  ** 
-       .byte   %01100110       ; 039A 1-73:  **  ** 
-       .byte   %00111110       ; 039B 1-73:   ***** 
-       .byte   %00000110       ; 039C 1-73:      ** 
-       .byte   %01100110       ; 039D 1-73:  **  ** 
-       .byte   %00111100       ; 039E 1-73:   ****  
-       .byte   %00000000       ; 039F 1-73:         
-
-       .byte   %00000000       ; 03A0 1-74:         
-       .byte   %00000000       ; 03A1 1-74:         
-       .byte   %00011000       ; 03A2 1-74:    **   
-       .byte   %00000000       ; 03A3 1-74:         
-       .byte   %00000000       ; 03A4 1-74:         
-       .byte   %00011000       ; 03A5 1-74:    **   
-       .byte   %00000000       ; 03A6 1-74:         
-       .byte   %00000000       ; 03A7 1-74:         
-
-       .byte   %00000000       ; 03A8 1-75:         
-       .byte   %00000000       ; 03A9 1-75:         
-       .byte   %00011000       ; 03AA 1-75:    **   
-       .byte   %00000000       ; 03AB 1-75:         
-       .byte   %00000000       ; 03AC 1-75:         
-       .byte   %00011000       ; 03AD 1-75:    **   
-       .byte   %00000000       ; 03AE 1-75:         
-       .byte   %00000000       ; 03AF 1-75:         
-
-       .byte   %00000000       ; 03B0 1-76:         
-       .byte   %00000000       ; 03B1 1-76:         
-       .byte   %00011000       ; 03B2 1-76:    **   
-       .byte   %00000000       ; 03B3 1-76:         
-       .byte   %00000000       ; 03B4 1-76:         
-       .byte   %00011000       ; 03B5 1-76:    **   
-       .byte   %00011000       ; 03B6 1-76:    **   
-       .byte   %00110000       ; 03B7 1-76:   **    
-
-       .byte   %00000000       ; 03B8 1-77:         
-       .byte   %00000000       ; 03B9 1-77:         
-       .byte   %00011000       ; 03BA 1-77:    **   
-       .byte   %00000000       ; 03BB 1-77:         
-       .byte   %00000000       ; 03BC 1-77:         
-       .byte   %00011000       ; 03BD 1-77:    **   
-       .byte   %00011000       ; 03BE 1-77:    **   
-       .byte   %00110000       ; 03BF 1-77:   **    
-
-       .byte   %00001110       ; 03C0 1-78:     *** 
-       .byte   %00011000       ; 03C1 1-78:    **   
-       .byte   %00110000       ; 03C2 1-78:   **    
-       .byte   %01100000       ; 03C3 1-78:  **     
-       .byte   %00110000       ; 03C4 1-78:   **    
-       .byte   %00011000       ; 03C5 1-78:    **   
-       .byte   %00001110       ; 03C6 1-78:     *** 
-       .byte   %00000000       ; 03C7 1-78:         
-
-       .byte   %00001110       ; 03C8 1-79:     *** 
-       .byte   %00011000       ; 03C9 1-79:    **   
-       .byte   %00110000       ; 03CA 1-79:   **    
-       .byte   %01100000       ; 03CB 1-79:  **     
-       .byte   %00110000       ; 03CC 1-79:   **    
-       .byte   %00011000       ; 03CD 1-79:    **   
-       .byte   %00001110       ; 03CE 1-79:     *** 
-       .byte   %00000000       ; 03CF 1-79:         
-
-       .byte   %00000000       ; 03D0 1-7a:         
-       .byte   %00000000       ; 03D1 1-7a:         
-       .byte   %01111110       ; 03D2 1-7a:  ****** 
-       .byte   %00000000       ; 03D3 1-7a:         
-       .byte   %01111110       ; 03D4 1-7a:  ****** 
-       .byte   %00000000       ; 03D5 1-7a:         
-       .byte   %00000000       ; 03D6 1-7a:         
-       .byte   %00000000       ; 03D7 1-7a:         
-
-       .byte   %00000000       ; 03D8 1-7b:         
-       .byte   %00000000       ; 03D9 1-7b:         
-       .byte   %01111110       ; 03DA 1-7b:  ****** 
-       .byte   %00000000       ; 03DB 1-7b:         
-       .byte   %01111110       ; 03DC 1-7b:  ****** 
-       .byte   %00000000       ; 03DD 1-7b:         
-       .byte   %00000000       ; 03DE 1-7b:         
-       .byte   %00000000       ; 03DF 1-7b:         
-
-       .byte   %01110000       ; 03E0 1-7c:  ***    
-       .byte   %00011000       ; 03E1 1-7c:    **   
-       .byte   %00001100       ; 03E2 1-7c:     **  
-       .byte   %00000110       ; 03E3 1-7c:      ** 
-       .byte   %00001100       ; 03E4 1-7c:     **  
-       .byte   %00011000       ; 03E5 1-7c:    **   
-       .byte   %01110000       ; 03E6 1-7c:  ***    
-       .byte   %00000000       ; 03E7 1-7c:         
-
-       .byte   %01110000       ; 03E8 1-7d:  ***    
-       .byte   %00011000       ; 03E9 1-7d:    **   
-       .byte   %00001100       ; 03EA 1-7d:     **  
-       .byte   %00000110       ; 03EB 1-7d:      ** 
-       .byte   %00001100       ; 03EC 1-7d:     **  
-       .byte   %00011000       ; 03ED 1-7d:    **   
-       .byte   %01110000       ; 03EE 1-7d:  ***    
-       .byte   %00000000       ; 03EF 1-7d:         
-
-       .byte   %00111100       ; 03F0 1-7e:   ****  
-       .byte   %01100110       ; 03F1 1-7e:  **  ** 
-       .byte   %00000110       ; 03F2 1-7e:      ** 
-       .byte   %00001100       ; 03F3 1-7e:     **  
-       .byte   %00011000       ; 03F4 1-7e:    **   
-       .byte   %00000000       ; 03F5 1-7e:         
-       .byte   %00011000       ; 03F6 1-7e:    **   
-       .byte   %00000000       ; 03F7 1-7e:         
-
-       .byte   %00111100       ; 03F8 1-7f:   ****  
-       .byte   %01100110       ; 03F9 1-7f:  **  ** 
-       .byte   %00000110       ; 03FA 1-7f:      ** 
-       .byte   %00001100       ; 03FB 1-7f:     **  
-       .byte   %00011000       ; 03FC 1-7f:    **   
-       .byte   %00000000       ; 03FD 1-7f:         
-       .byte   %00011000       ; 03FE 1-7f:    **   
-       .byte   %00000000       ; 03FF 1-7f:         
-
-       .byte   %00111100       ; 0400 1-80:   ****  
-       .byte   %01100110       ; 0401 1-80:  **  ** 
-       .byte   %01101110       ; 0402 1-80:  ** *** 
-       .byte   %01101110       ; 0403 1-80:  ** *** 
-       .byte   %01100000       ; 0404 1-80:  **     
-       .byte   %01100010       ; 0405 1-80:  **   * 
-       .byte   %00111100       ; 0406 1-80:   ****  
-       .byte   %00000000       ; 0407 1-80:         
-
-       .byte   %00111100       ; 0408 1-81:   ****  
-       .byte   %01100110       ; 0409 1-81:  **  ** 
-       .byte   %01101110       ; 040A 1-81:  ** *** 
-       .byte   %01101110       ; 040B 1-81:  ** *** 
-       .byte   %01100000       ; 040C 1-81:  **     
-       .byte   %01100010       ; 040D 1-81:  **   * 
-       .byte   %00111100       ; 040E 1-81:   ****  
-       .byte   %00000000       ; 040F 1-81:         
-
-       .byte   %00011000       ; 0410 1-82:    **   
-       .byte   %00111100       ; 0411 1-82:   ****  
-       .byte   %01100110       ; 0412 1-82:  **  ** 
-       .byte   %01111110       ; 0413 1-82:  ****** 
-       .byte   %01100110       ; 0414 1-82:  **  ** 
-       .byte   %01100110       ; 0415 1-82:  **  ** 
-       .byte   %01100110       ; 0416 1-82:  **  ** 
-       .byte   %00000000       ; 0417 1-82:         
-
-       .byte   %00011000       ; 0418 1-83:    **   
-       .byte   %00111100       ; 0419 1-83:   ****  
-       .byte   %01100110       ; 041A 1-83:  **  ** 
-       .byte   %01111110       ; 041B 1-83:  ****** 
-       .byte   %01100110       ; 041C 1-83:  **  ** 
-       .byte   %01100110       ; 041D 1-83:  **  ** 
-       .byte   %01100110       ; 041E 1-83:  **  ** 
-       .byte   %00000000       ; 041F 1-83:         
-
-       .byte   %01111100       ; 0420 1-84:  *****  
-       .byte   %01100110       ; 0421 1-84:  **  ** 
-       .byte   %01100110       ; 0422 1-84:  **  ** 
-       .byte   %01111100       ; 0423 1-84:  *****  
-       .byte   %01100110       ; 0424 1-84:  **  ** 
-       .byte   %01100110       ; 0425 1-84:  **  ** 
-       .byte   %01111100       ; 0426 1-84:  *****  
-       .byte   %00000000       ; 0427 1-84:         
-
-       .byte   %01111100       ; 0428 1-85:  *****  
-       .byte   %01100110       ; 0429 1-85:  **  ** 
-       .byte   %01100110       ; 042A 1-85:  **  ** 
-       .byte   %01111100       ; 042B 1-85:  *****  
-       .byte   %01100110       ; 042C 1-85:  **  ** 
-       .byte   %01100110       ; 042D 1-85:  **  ** 
-       .byte   %01111100       ; 042E 1-85:  *****  
-       .byte   %00000000       ; 042F 1-85:         
-
-       .byte   %00111100       ; 0430 1-86:   ****  
-       .byte   %01100110       ; 0431 1-86:  **  ** 
-       .byte   %01100000       ; 0432 1-86:  **     
-       .byte   %01100000       ; 0433 1-86:  **     
-       .byte   %01100000       ; 0434 1-86:  **     
-       .byte   %01100110       ; 0435 1-86:  **  ** 
-       .byte   %00111100       ; 0436 1-86:   ****  
-       .byte   %00000000       ; 0437 1-86:         
-
-       .byte   %00111100       ; 0438 1-87:   ****  
-       .byte   %01100110       ; 0439 1-87:  **  ** 
-       .byte   %01100000       ; 043A 1-87:  **     
-       .byte   %01100000       ; 043B 1-87:  **     
-       .byte   %01100000       ; 043C 1-87:  **     
-       .byte   %01100110       ; 043D 1-87:  **  ** 
-       .byte   %00111100       ; 043E 1-87:   ****  
-       .byte   %00000000       ; 043F 1-87:         
-
-       .byte   %01111000       ; 0440 1-88:  ****   
-       .byte   %01101100       ; 0441 1-88:  ** **  
-       .byte   %01100110       ; 0442 1-88:  **  ** 
-       .byte   %01100110       ; 0443 1-88:  **  ** 
-       .byte   %01100110       ; 0444 1-88:  **  ** 
-       .byte   %01101100       ; 0445 1-88:  ** **  
-       .byte   %01111000       ; 0446 1-88:  ****   
-       .byte   %00000000       ; 0447 1-88:         
-
-       .byte   %01111000       ; 0448 1-89:  ****   
-       .byte   %01101100       ; 0449 1-89:  ** **  
-       .byte   %01100110       ; 044A 1-89:  **  ** 
-       .byte   %01100110       ; 044B 1-89:  **  ** 
-       .byte   %01100110       ; 044C 1-89:  **  ** 
-       .byte   %01101100       ; 044D 1-89:  ** **  
-       .byte   %01111000       ; 044E 1-89:  ****   
-       .byte   %00000000       ; 044F 1-89:         
-
-       .byte   %01111110       ; 0450 1-8a:  ****** 
-       .byte   %01100000       ; 0451 1-8a:  **     
-       .byte   %01100000       ; 0452 1-8a:  **     
-       .byte   %01111000       ; 0453 1-8a:  ****   
-       .byte   %01100000       ; 0454 1-8a:  **     
-       .byte   %01100000       ; 0455 1-8a:  **     
-       .byte   %01111110       ; 0456 1-8a:  ****** 
-       .byte   %00000000       ; 0457 1-8a:         
-
-       .byte   %01111110       ; 0458 1-8b:  ****** 
-       .byte   %01100000       ; 0459 1-8b:  **     
-       .byte   %01100000       ; 045A 1-8b:  **     
-       .byte   %01111000       ; 045B 1-8b:  ****   
-       .byte   %01100000       ; 045C 1-8b:  **     
-       .byte   %01100000       ; 045D 1-8b:  **     
-       .byte   %01111110       ; 045E 1-8b:  ****** 
-       .byte   %00000000       ; 045F 1-8b:         
-
-       .byte   %01111110       ; 0460 1-8c:  ****** 
-       .byte   %01100000       ; 0461 1-8c:  **     
-       .byte   %01100000       ; 0462 1-8c:  **     
-       .byte   %01111000       ; 0463 1-8c:  ****   
-       .byte   %01100000       ; 0464 1-8c:  **     
-       .byte   %01100000       ; 0465 1-8c:  **     
-       .byte   %01100000       ; 0466 1-8c:  **     
-       .byte   %00000000       ; 0467 1-8c:         
-
-       .byte   %01111110       ; 0468 1-8d:  ****** 
-       .byte   %01100000       ; 0469 1-8d:  **     
-       .byte   %01100000       ; 046A 1-8d:  **     
-       .byte   %01111000       ; 046B 1-8d:  ****   
-       .byte   %01100000       ; 046C 1-8d:  **     
-       .byte   %01100000       ; 046D 1-8d:  **     
-       .byte   %01100000       ; 046E 1-8d:  **     
-       .byte   %00000000       ; 046F 1-8d:         
-
-       .byte   %00111100       ; 0470 1-8e:   ****  
-       .byte   %01100110       ; 0471 1-8e:  **  ** 
-       .byte   %01100000       ; 0472 1-8e:  **     
-       .byte   %01101110       ; 0473 1-8e:  ** *** 
-       .byte   %01100110       ; 0474 1-8e:  **  ** 
-       .byte   %01100110       ; 0475 1-8e:  **  ** 
-       .byte   %00111100       ; 0476 1-8e:   ****  
-       .byte   %00000000       ; 0477 1-8e:         
-
-       .byte   %00111100       ; 0478 1-8f:   ****  
-       .byte   %01100110       ; 0479 1-8f:  **  ** 
-       .byte   %01100000       ; 047A 1-8f:  **     
-       .byte   %01101110       ; 047B 1-8f:  ** *** 
-       .byte   %01100110       ; 047C 1-8f:  **  ** 
-       .byte   %01100110       ; 047D 1-8f:  **  ** 
-       .byte   %00111100       ; 047E 1-8f:   ****  
-       .byte   %00000000       ; 047F 1-8f:         
-
-       .byte   %01100110       ; 0480 1-90:  **  ** 
-       .byte   %01100110       ; 0481 1-90:  **  ** 
-       .byte   %01100110       ; 0482 1-90:  **  ** 
-       .byte   %01111110       ; 0483 1-90:  ****** 
-       .byte   %01100110       ; 0484 1-90:  **  ** 
-       .byte   %01100110       ; 0485 1-90:  **  ** 
-       .byte   %01100110       ; 0486 1-90:  **  ** 
-       .byte   %00000000       ; 0487 1-90:         
-
-       .byte   %01100110       ; 0488 1-91:  **  ** 
-       .byte   %01100110       ; 0489 1-91:  **  ** 
-       .byte   %01100110       ; 048A 1-91:  **  ** 
-       .byte   %01111110       ; 048B 1-91:  ****** 
-       .byte   %01100110       ; 048C 1-91:  **  ** 
-       .byte   %01100110       ; 048D 1-91:  **  ** 
-       .byte   %01100110       ; 048E 1-91:  **  ** 
-       .byte   %00000000       ; 048F 1-91:         
-
-       .byte   %00111100       ; 0490 1-92:   ****  
-       .byte   %00011000       ; 0491 1-92:    **   
-       .byte   %00011000       ; 0492 1-92:    **   
-       .byte   %00011000       ; 0493 1-92:    **   
-       .byte   %00011000       ; 0494 1-92:    **   
-       .byte   %00011000       ; 0495 1-92:    **   
-       .byte   %00111100       ; 0496 1-92:   ****  
-       .byte   %00000000       ; 0497 1-92:         
-
-       .byte   %00111100       ; 0498 1-93:   ****  
-       .byte   %00011000       ; 0499 1-93:    **   
-       .byte   %00011000       ; 049A 1-93:    **   
-       .byte   %00011000       ; 049B 1-93:    **   
-       .byte   %00011000       ; 049C 1-93:    **   
-       .byte   %00011000       ; 049D 1-93:    **   
-       .byte   %00111100       ; 049E 1-93:   ****  
-       .byte   %00000000       ; 049F 1-93:         
-
-       .byte   %00011110       ; 04A0 1-94:    **** 
-       .byte   %00001100       ; 04A1 1-94:     **  
-       .byte   %00001100       ; 04A2 1-94:     **  
-       .byte   %00001100       ; 04A3 1-94:     **  
-       .byte   %00001100       ; 04A4 1-94:     **  
-       .byte   %01101100       ; 04A5 1-94:  ** **  
-       .byte   %00111000       ; 04A6 1-94:   ***   
-       .byte   %00000000       ; 04A7 1-94:         
-
-       .byte   %00011110       ; 04A8 1-95:    **** 
-       .byte   %00001100       ; 04A9 1-95:     **  
-       .byte   %00001100       ; 04AA 1-95:     **  
-       .byte   %00001100       ; 04AB 1-95:     **  
-       .byte   %00001100       ; 04AC 1-95:     **  
-       .byte   %01101100       ; 04AD 1-95:  ** **  
-       .byte   %00111000       ; 04AE 1-95:   ***   
-       .byte   %00000000       ; 04AF 1-95:         
-
-       .byte   %01100110       ; 04B0 1-96:  **  ** 
-       .byte   %01101100       ; 04B1 1-96:  ** **  
-       .byte   %01111000       ; 04B2 1-96:  ****   
-       .byte   %01110000       ; 04B3 1-96:  ***    
-       .byte   %01111000       ; 04B4 1-96:  ****   
-       .byte   %01101100       ; 04B5 1-96:  ** **  
-       .byte   %01100110       ; 04B6 1-96:  **  ** 
-       .byte   %00000000       ; 04B7 1-96:         
-
-       .byte   %01100110       ; 04B8 1-97:  **  ** 
-       .byte   %01101100       ; 04B9 1-97:  ** **  
-       .byte   %01111000       ; 04BA 1-97:  ****   
-       .byte   %01110000       ; 04BB 1-97:  ***    
-       .byte   %01111000       ; 04BC 1-97:  ****   
-       .byte   %01101100       ; 04BD 1-97:  ** **  
-       .byte   %01100110       ; 04BE 1-97:  **  ** 
-       .byte   %00000000       ; 04BF 1-97:         
-
-       .byte   %01100000       ; 04C0 1-98:  **     
-       .byte   %01100000       ; 04C1 1-98:  **     
-       .byte   %01100000       ; 04C2 1-98:  **     
-       .byte   %01100000       ; 04C3 1-98:  **     
-       .byte   %01100000       ; 04C4 1-98:  **     
-       .byte   %01100000       ; 04C5 1-98:  **     
-       .byte   %01111110       ; 04C6 1-98:  ****** 
-       .byte   %00000000       ; 04C7 1-98:         
-
-       .byte   %01100000       ; 04C8 1-99:  **     
-       .byte   %01100000       ; 04C9 1-99:  **     
-       .byte   %01100000       ; 04CA 1-99:  **     
-       .byte   %01100000       ; 04CB 1-99:  **     
-       .byte   %01100000       ; 04CC 1-99:  **     
-       .byte   %01100000       ; 04CD 1-99:  **     
-       .byte   %01111110       ; 04CE 1-99:  ****** 
-       .byte   %00000000       ; 04CF 1-99:         
-
-       .byte   %01100011       ; 04D0 1-9a:  **   **
-       .byte   %01110111       ; 04D1 1-9a:  *** ***
-       .byte   %01111111       ; 04D2 1-9a:  *******
-       .byte   %01101011       ; 04D3 1-9a:  ** * **
-       .byte   %01100011       ; 04D4 1-9a:  **   **
-       .byte   %01100011       ; 04D5 1-9a:  **   **
-       .byte   %01100011       ; 04D6 1-9a:  **   **
-       .byte   %00000000       ; 04D7 1-9a:         
-
-       .byte   %01100011       ; 04D8 1-9b:  **   **
-       .byte   %01110111       ; 04D9 1-9b:  *** ***
-       .byte   %01111111       ; 04DA 1-9b:  *******
-       .byte   %01101011       ; 04DB 1-9b:  ** * **
-       .byte   %01100011       ; 04DC 1-9b:  **   **
-       .byte   %01100011       ; 04DD 1-9b:  **   **
-       .byte   %01100011       ; 04DE 1-9b:  **   **
-       .byte   %00000000       ; 04DF 1-9b:         
-
-       .byte   %01100110       ; 04E0 1-9c:  **  ** 
-       .byte   %01110110       ; 04E1 1-9c:  *** ** 
-       .byte   %01111110       ; 04E2 1-9c:  ****** 
-       .byte   %01111110       ; 04E3 1-9c:  ****** 
-       .byte   %01101110       ; 04E4 1-9c:  ** *** 
-       .byte   %01100110       ; 04E5 1-9c:  **  ** 
-       .byte   %01100110       ; 04E6 1-9c:  **  ** 
-       .byte   %00000000       ; 04E7 1-9c:         
-
-       .byte   %01100110       ; 04E8 1-9d:  **  ** 
-       .byte   %01110110       ; 04E9 1-9d:  *** ** 
-       .byte   %01111110       ; 04EA 1-9d:  ****** 
-       .byte   %01111110       ; 04EB 1-9d:  ****** 
-       .byte   %01101110       ; 04EC 1-9d:  ** *** 
-       .byte   %01100110       ; 04ED 1-9d:  **  ** 
-       .byte   %01100110       ; 04EE 1-9d:  **  ** 
-       .byte   %00000000       ; 04EF 1-9d:         
-
-       .byte   %00111100       ; 04F0 1-9e:   ****  
-       .byte   %01100110       ; 04F1 1-9e:  **  ** 
-       .byte   %01100110       ; 04F2 1-9e:  **  ** 
-       .byte   %01100110       ; 04F3 1-9e:  **  ** 
-       .byte   %01100110       ; 04F4 1-9e:  **  ** 
-       .byte   %01100110       ; 04F5 1-9e:  **  ** 
-       .byte   %00111100       ; 04F6 1-9e:   ****  
-       .byte   %00000000       ; 04F7 1-9e:         
-
-       .byte   %00111100       ; 04F8 1-9f:   ****  
-       .byte   %01100110       ; 04F9 1-9f:  **  ** 
-       .byte   %01100110       ; 04FA 1-9f:  **  ** 
-       .byte   %01100110       ; 04FB 1-9f:  **  ** 
-       .byte   %01100110       ; 04FC 1-9f:  **  ** 
-       .byte   %01100110       ; 04FD 1-9f:  **  ** 
-       .byte   %00111100       ; 04FE 1-9f:   ****  
-       .byte   %00000000       ; 04FF 1-9f:         
-
-       .byte   %01111100       ; 0500 1-a0:  *****  
-       .byte   %01100110       ; 0501 1-a0:  **  ** 
-       .byte   %01100110       ; 0502 1-a0:  **  ** 
-       .byte   %01111100       ; 0503 1-a0:  *****  
-       .byte   %01100000       ; 0504 1-a0:  **     
-       .byte   %01100000       ; 0505 1-a0:  **     
-       .byte   %01100000       ; 0506 1-a0:  **     
-       .byte   %00000000       ; 0507 1-a0:         
-
-       .byte   %01111100       ; 0508 1-a1:  *****  
-       .byte   %01100110       ; 0509 1-a1:  **  ** 
-       .byte   %01100110       ; 050A 1-a1:  **  ** 
-       .byte   %01111100       ; 050B 1-a1:  *****  
-       .byte   %01100000       ; 050C 1-a1:  **     
-       .byte   %01100000       ; 050D 1-a1:  **     
-       .byte   %01100000       ; 050E 1-a1:  **     
-       .byte   %00000000       ; 050F 1-a1:         
-
-       .byte   %00111100       ; 0510 1-a2:   ****  
-       .byte   %01100110       ; 0511 1-a2:  **  ** 
-       .byte   %01100110       ; 0512 1-a2:  **  ** 
-       .byte   %01100110       ; 0513 1-a2:  **  ** 
-       .byte   %01100110       ; 0514 1-a2:  **  ** 
-       .byte   %00111100       ; 0515 1-a2:   ****  
-       .byte   %00001110       ; 0516 1-a2:     *** 
-       .byte   %00000000       ; 0517 1-a2:         
-
-       .byte   %00111100       ; 0518 1-a3:   ****  
-       .byte   %01100110       ; 0519 1-a3:  **  ** 
-       .byte   %01100110       ; 051A 1-a3:  **  ** 
-       .byte   %01100110       ; 051B 1-a3:  **  ** 
-       .byte   %01100110       ; 051C 1-a3:  **  ** 
-       .byte   %00111100       ; 051D 1-a3:   ****  
-       .byte   %00001110       ; 051E 1-a3:     *** 
-       .byte   %00000000       ; 051F 1-a3:         
-
-       .byte   %01111100       ; 0520 1-a4:  *****  
-       .byte   %01100110       ; 0521 1-a4:  **  ** 
-       .byte   %01100110       ; 0522 1-a4:  **  ** 
-       .byte   %01111100       ; 0523 1-a4:  *****  
-       .byte   %01111000       ; 0524 1-a4:  ****   
-       .byte   %01101100       ; 0525 1-a4:  ** **  
-       .byte   %01100110       ; 0526 1-a4:  **  ** 
-       .byte   %00000000       ; 0527 1-a4:         
-
-       .byte   %01111100       ; 0528 1-a5:  *****  
-       .byte   %01100110       ; 0529 1-a5:  **  ** 
-       .byte   %01100110       ; 052A 1-a5:  **  ** 
-       .byte   %01111100       ; 052B 1-a5:  *****  
-       .byte   %01111000       ; 052C 1-a5:  ****   
-       .byte   %01101100       ; 052D 1-a5:  ** **  
-       .byte   %01100110       ; 052E 1-a5:  **  ** 
-       .byte   %00000000       ; 052F 1-a5:         
-
-       .byte   %00111100       ; 0530 1-a6:   ****  
-       .byte   %01100110       ; 0531 1-a6:  **  ** 
-       .byte   %01100000       ; 0532 1-a6:  **     
-       .byte   %00111100       ; 0533 1-a6:   ****  
-       .byte   %00000110       ; 0534 1-a6:      ** 
-       .byte   %01100110       ; 0535 1-a6:  **  ** 
-       .byte   %00111100       ; 0536 1-a6:   ****  
-       .byte   %00000000       ; 0537 1-a6:         
-
-       .byte   %00111100       ; 0538 1-a7:   ****  
-       .byte   %01100110       ; 0539 1-a7:  **  ** 
-       .byte   %01100000       ; 053A 1-a7:  **     
-       .byte   %00111100       ; 053B 1-a7:   ****  
-       .byte   %00000110       ; 053C 1-a7:      ** 
-       .byte   %01100110       ; 053D 1-a7:  **  ** 
-       .byte   %00111100       ; 053E 1-a7:   ****  
-       .byte   %00000000       ; 053F 1-a7:         
-
-       .byte   %01111110       ; 0540 1-a8:  ****** 
-       .byte   %00011000       ; 0541 1-a8:    **   
-       .byte   %00011000       ; 0542 1-a8:    **   
-       .byte   %00011000       ; 0543 1-a8:    **   
-       .byte   %00011000       ; 0544 1-a8:    **   
-       .byte   %00011000       ; 0545 1-a8:    **   
-       .byte   %00011000       ; 0546 1-a8:    **   
-       .byte   %00000000       ; 0547 1-a8:         
-
-       .byte   %01111110       ; 0548 1-a9:  ****** 
-       .byte   %00011000       ; 0549 1-a9:    **   
-       .byte   %00011000       ; 054A 1-a9:    **   
-       .byte   %00011000       ; 054B 1-a9:    **   
-       .byte   %00011000       ; 054C 1-a9:    **   
-       .byte   %00011000       ; 054D 1-a9:    **   
-       .byte   %00011000       ; 054E 1-a9:    **   
-       .byte   %00000000       ; 054F 1-a9:         
-
-       .byte   %01100110       ; 0550 1-aa:  **  ** 
-       .byte   %01100110       ; 0551 1-aa:  **  ** 
-       .byte   %01100110       ; 0552 1-aa:  **  ** 
-       .byte   %01100110       ; 0553 1-aa:  **  ** 
-       .byte   %01100110       ; 0554 1-aa:  **  ** 
-       .byte   %01100110       ; 0555 1-aa:  **  ** 
-       .byte   %00111100       ; 0556 1-aa:   ****  
-       .byte   %00000000       ; 0557 1-aa:         
-
-       .byte   %01100110       ; 0558 1-ab:  **  ** 
-       .byte   %01100110       ; 0559 1-ab:  **  ** 
-       .byte   %01100110       ; 055A 1-ab:  **  ** 
-       .byte   %01100110       ; 055B 1-ab:  **  ** 
-       .byte   %01100110       ; 055C 1-ab:  **  ** 
-       .byte   %01100110       ; 055D 1-ab:  **  ** 
-       .byte   %00111100       ; 055E 1-ab:   ****  
-       .byte   %00000000       ; 055F 1-ab:         
-
-       .byte   %01100110       ; 0560 1-ac:  **  ** 
-       .byte   %01100110       ; 0561 1-ac:  **  ** 
-       .byte   %01100110       ; 0562 1-ac:  **  ** 
-       .byte   %01100110       ; 0563 1-ac:  **  ** 
-       .byte   %01100110       ; 0564 1-ac:  **  ** 
-       .byte   %00111100       ; 0565 1-ac:   ****  
-       .byte   %00011000       ; 0566 1-ac:    **   
-       .byte   %00000000       ; 0567 1-ac:         
-
-       .byte   %01100110       ; 0568 1-ad:  **  ** 
-       .byte   %01100110       ; 0569 1-ad:  **  ** 
-       .byte   %01100110       ; 056A 1-ad:  **  ** 
-       .byte   %01100110       ; 056B 1-ad:  **  ** 
-       .byte   %01100110       ; 056C 1-ad:  **  ** 
-       .byte   %00111100       ; 056D 1-ad:   ****  
-       .byte   %00011000       ; 056E 1-ad:    **   
-       .byte   %00000000       ; 056F 1-ad:         
-
-       .byte   %01100011       ; 0570 1-ae:  **   **
-       .byte   %01100011       ; 0571 1-ae:  **   **
-       .byte   %01100011       ; 0572 1-ae:  **   **
-       .byte   %01101011       ; 0573 1-ae:  ** * **
-       .byte   %01111111       ; 0574 1-ae:  *******
-       .byte   %01110111       ; 0575 1-ae:  *** ***
-       .byte   %01100011       ; 0576 1-ae:  **   **
-       .byte   %00000000       ; 0577 1-ae:         
-
-       .byte   %01100011       ; 0578 1-af:  **   **
-       .byte   %01100011       ; 0579 1-af:  **   **
-       .byte   %01100011       ; 057A 1-af:  **   **
-       .byte   %01101011       ; 057B 1-af:  ** * **
-       .byte   %01111111       ; 057C 1-af:  *******
-       .byte   %01110111       ; 057D 1-af:  *** ***
-       .byte   %01100011       ; 057E 1-af:  **   **
-       .byte   %00000000       ; 057F 1-af:         
-
-       .byte   %01100110       ; 0580 1-b0:  **  ** 
-       .byte   %01100110       ; 0581 1-b0:  **  ** 
-       .byte   %00111100       ; 0582 1-b0:   ****  
-       .byte   %00011000       ; 0583 1-b0:    **   
-       .byte   %00111100       ; 0584 1-b0:   ****  
-       .byte   %01100110       ; 0585 1-b0:  **  ** 
-       .byte   %01100110       ; 0586 1-b0:  **  ** 
-       .byte   %00000000       ; 0587 1-b0:         
-
-       .byte   %01100110       ; 0588 1-b1:  **  ** 
-       .byte   %01100110       ; 0589 1-b1:  **  ** 
-       .byte   %00111100       ; 058A 1-b1:   ****  
-       .byte   %00011000       ; 058B 1-b1:    **   
-       .byte   %00111100       ; 058C 1-b1:   ****  
-       .byte   %01100110       ; 058D 1-b1:  **  ** 
-       .byte   %01100110       ; 058E 1-b1:  **  ** 
-       .byte   %00000000       ; 058F 1-b1:         
-
-       .byte   %01100110       ; 0590 1-b2:  **  ** 
-       .byte   %01100110       ; 0591 1-b2:  **  ** 
-       .byte   %01100110       ; 0592 1-b2:  **  ** 
-       .byte   %00111100       ; 0593 1-b2:   ****  
-       .byte   %00011000       ; 0594 1-b2:    **   
-       .byte   %00011000       ; 0595 1-b2:    **   
-       .byte   %00011000       ; 0596 1-b2:    **   
-       .byte   %00000000       ; 0597 1-b2:         
-
-       .byte   %01100110       ; 0598 1-b3:  **  ** 
-       .byte   %01100110       ; 0599 1-b3:  **  ** 
-       .byte   %01100110       ; 059A 1-b3:  **  ** 
-       .byte   %00111100       ; 059B 1-b3:   ****  
-       .byte   %00011000       ; 059C 1-b3:    **   
-       .byte   %00011000       ; 059D 1-b3:    **   
-       .byte   %00011000       ; 059E 1-b3:    **   
-       .byte   %00000000       ; 059F 1-b3:         
-
-       .byte   %01111110       ; 05A0 1-b4:  ****** 
-       .byte   %00000110       ; 05A1 1-b4:      ** 
-       .byte   %00001100       ; 05A2 1-b4:     **  
-       .byte   %00011000       ; 05A3 1-b4:    **   
-       .byte   %00110000       ; 05A4 1-b4:   **    
-       .byte   %01100000       ; 05A5 1-b4:  **     
-       .byte   %01111110       ; 05A6 1-b4:  ****** 
-       .byte   %00000000       ; 05A7 1-b4:         
-
-       .byte   %01111110       ; 05A8 1-b5:  ****** 
-       .byte   %00000110       ; 05A9 1-b5:      ** 
-       .byte   %00001100       ; 05AA 1-b5:     **  
-       .byte   %00011000       ; 05AB 1-b5:    **   
-       .byte   %00110000       ; 05AC 1-b5:   **    
-       .byte   %01100000       ; 05AD 1-b5:  **     
-       .byte   %01111110       ; 05AE 1-b5:  ****** 
-       .byte   %00000000       ; 05AF 1-b5:         
-
-       .byte   %00111100       ; 05B0 1-b6:   ****  
-       .byte   %00110000       ; 05B1 1-b6:   **    
-       .byte   %00110000       ; 05B2 1-b6:   **    
-       .byte   %00110000       ; 05B3 1-b6:   **    
-       .byte   %00110000       ; 05B4 1-b6:   **    
-       .byte   %00110000       ; 05B5 1-b6:   **    
-       .byte   %00111100       ; 05B6 1-b6:   ****  
-       .byte   %00000000       ; 05B7 1-b6:         
-
-       .byte   %00111100       ; 05B8 1-b7:   ****  
-       .byte   %00110000       ; 05B9 1-b7:   **    
-       .byte   %00110000       ; 05BA 1-b7:   **    
-       .byte   %00110000       ; 05BB 1-b7:   **    
-       .byte   %00110000       ; 05BC 1-b7:   **    
-       .byte   %00110000       ; 05BD 1-b7:   **    
-       .byte   %00111100       ; 05BE 1-b7:   ****  
-       .byte   %00000000       ; 05BF 1-b7:         
-
-       .byte   %01100000       ; 05C0 1-b8:  **     
-       .byte   %00110000       ; 05C1 1-b8:   **    
-       .byte   %00011000       ; 05C2 1-b8:    **   
-       .byte   %00001100       ; 05C3 1-b8:     **  
-       .byte   %00000110       ; 05C4 1-b8:      ** 
-       .byte   %00000011       ; 05C5 1-b8:       **
-       .byte   %00000000       ; 05C6 1-b8:         
-       .byte   %00000000       ; 05C7 1-b8:         
-
-       .byte   %01100000       ; 05C8 1-b9:  **     
-       .byte   %00110000       ; 05C9 1-b9:   **    
-       .byte   %00011000       ; 05CA 1-b9:    **   
-       .byte   %00001100       ; 05CB 1-b9:     **  
-       .byte   %00000110       ; 05CC 1-b9:      ** 
-       .byte   %00000011       ; 05CD 1-b9:       **
-       .byte   %00000000       ; 05CE 1-b9:         
-       .byte   %00000000       ; 05CF 1-b9:         
-
-       .byte   %00111100       ; 05D0 1-ba:   ****  
-       .byte   %00001100       ; 05D1 1-ba:     **  
-       .byte   %00001100       ; 05D2 1-ba:     **  
-       .byte   %00001100       ; 05D3 1-ba:     **  
-       .byte   %00001100       ; 05D4 1-ba:     **  
-       .byte   %00001100       ; 05D5 1-ba:     **  
-       .byte   %00111100       ; 05D6 1-ba:   ****  
-       .byte   %00000000       ; 05D7 1-ba:         
-
-       .byte   %00111100       ; 05D8 1-bb:   ****  
-       .byte   %00001100       ; 05D9 1-bb:     **  
-       .byte   %00001100       ; 05DA 1-bb:     **  
-       .byte   %00001100       ; 05DB 1-bb:     **  
-       .byte   %00001100       ; 05DC 1-bb:     **  
-       .byte   %00001100       ; 05DD 1-bb:     **  
-       .byte   %00111100       ; 05DE 1-bb:   ****  
-       .byte   %00000000       ; 05DF 1-bb:         
-
-       .byte   %00000000       ; 05E0 1-bc:         
-       .byte   %00011000       ; 05E1 1-bc:    **   
-       .byte   %00111100       ; 05E2 1-bc:   ****  
-       .byte   %01100110       ; 05E3 1-bc:  **  ** 
-       .byte   %00000000       ; 05E4 1-bc:         
-       .byte   %00000000       ; 05E5 1-bc:         
-       .byte   %00000000       ; 05E6 1-bc:         
-       .byte   %00000000       ; 05E7 1-bc:         
-
-       .byte   %00000000       ; 05E8 1-bd:         
-       .byte   %00011000       ; 05E9 1-bd:    **   
-       .byte   %00111100       ; 05EA 1-bd:   ****  
-       .byte   %01100110       ; 05EB 1-bd:  **  ** 
-       .byte   %00000000       ; 05EC 1-bd:         
-       .byte   %00000000       ; 05ED 1-bd:         
-       .byte   %00000000       ; 05EE 1-bd:         
-       .byte   %00000000       ; 05EF 1-bd:         
-
-       .byte   %00000000       ; 05F0 1-be:         
-       .byte   %00000000       ; 05F1 1-be:         
-       .byte   %00000000       ; 05F2 1-be:         
-       .byte   %00000000       ; 05F3 1-be:         
-       .byte   %00000000       ; 05F4 1-be:         
-       .byte   %00000000       ; 05F5 1-be:         
-       .byte   %01111111       ; 05F6 1-be:  *******
-       .byte   %00000000       ; 05F7 1-be:         
-
-       .byte   %00000000       ; 05F8 1-bf:         
-       .byte   %00000000       ; 05F9 1-bf:         
-       .byte   %00000000       ; 05FA 1-bf:         
-       .byte   %00000000       ; 05FB 1-bf:         
-       .byte   %00000000       ; 05FC 1-bf:         
-       .byte   %00000000       ; 05FD 1-bf:         
-       .byte   %01111111       ; 05FE 1-bf:  *******
-       .byte   %00000000       ; 05FF 1-bf:         
-
-       .byte   %00011000       ; 0600 1-c0:    **   
-       .byte   %00011000       ; 0601 1-c0:    **   
-       .byte   %00011000       ; 0602 1-c0:    **   
-       .byte   %00000000       ; 0603 1-c0:         
-       .byte   %00000000       ; 0604 1-c0:         
-       .byte   %00000000       ; 0605 1-c0:         
-       .byte   %00000000       ; 0606 1-c0:         
-       .byte   %00000000       ; 0607 1-c0:         
-
-       .byte   %00011000       ; 0608 1-c1:    **   
-       .byte   %00011000       ; 0609 1-c1:    **   
-       .byte   %00011000       ; 060A 1-c1:    **   
-       .byte   %00000000       ; 060B 1-c1:         
-       .byte   %00000000       ; 060C 1-c1:         
-       .byte   %00000000       ; 060D 1-c1:         
-       .byte   %00000000       ; 060E 1-c1:         
-       .byte   %00000000       ; 060F 1-c1:         
-
-       .byte   %00000000       ; 0610 1-c2:         
-       .byte   %00000000       ; 0611 1-c2:         
-       .byte   %00111100       ; 0612 1-c2:   ****  
-       .byte   %00000110       ; 0613 1-c2:      ** 
-       .byte   %00111110       ; 0614 1-c2:   ***** 
-       .byte   %01100110       ; 0615 1-c2:  **  ** 
-       .byte   %00111110       ; 0616 1-c2:   ***** 
-       .byte   %00000000       ; 0617 1-c2:         
-
-       .byte   %00000000       ; 0618 1-c3:         
-       .byte   %00000000       ; 0619 1-c3:         
-       .byte   %00111100       ; 061A 1-c3:   ****  
-       .byte   %00000110       ; 061B 1-c3:      ** 
-       .byte   %00111110       ; 061C 1-c3:   ***** 
-       .byte   %01100110       ; 061D 1-c3:  **  ** 
-       .byte   %00111110       ; 061E 1-c3:   ***** 
-       .byte   %00000000       ; 061F 1-c3:         
-
-       .byte   %00000000       ; 0620 1-c4:         
-       .byte   %01100000       ; 0621 1-c4:  **     
-       .byte   %01100000       ; 0622 1-c4:  **     
-       .byte   %01111100       ; 0623 1-c4:  *****  
-       .byte   %01100110       ; 0624 1-c4:  **  ** 
-       .byte   %01100110       ; 0625 1-c4:  **  ** 
-       .byte   %01111100       ; 0626 1-c4:  *****  
-       .byte   %00000000       ; 0627 1-c4:         
-
-       .byte   %00000000       ; 0628 1-c5:         
-       .byte   %01100000       ; 0629 1-c5:  **     
-       .byte   %01100000       ; 062A 1-c5:  **     
-       .byte   %01111100       ; 062B 1-c5:  *****  
-       .byte   %01100110       ; 062C 1-c5:  **  ** 
-       .byte   %01100110       ; 062D 1-c5:  **  ** 
-       .byte   %01111100       ; 062E 1-c5:  *****  
-       .byte   %00000000       ; 062F 1-c5:         
-
-       .byte   %00000000       ; 0630 1-c6:         
-       .byte   %00000000       ; 0631 1-c6:         
-       .byte   %00111100       ; 0632 1-c6:   ****  
-       .byte   %01100000       ; 0633 1-c6:  **     
-       .byte   %01100000       ; 0634 1-c6:  **     
-       .byte   %01100000       ; 0635 1-c6:  **     
-       .byte   %00111100       ; 0636 1-c6:   ****  
-       .byte   %00000000       ; 0637 1-c6:         
-
-       .byte   %00000000       ; 0638 1-c7:         
-       .byte   %00000000       ; 0639 1-c7:         
-       .byte   %00111100       ; 063A 1-c7:   ****  
-       .byte   %01100000       ; 063B 1-c7:  **     
-       .byte   %01100000       ; 063C 1-c7:  **     
-       .byte   %01100000       ; 063D 1-c7:  **     
-       .byte   %00111100       ; 063E 1-c7:   ****  
-       .byte   %00000000       ; 063F 1-c7:         
-
-       .byte   %00000000       ; 0640 1-c8:         
-       .byte   %00000110       ; 0641 1-c8:      ** 
-       .byte   %00000110       ; 0642 1-c8:      ** 
-       .byte   %00111110       ; 0643 1-c8:   ***** 
-       .byte   %01100110       ; 0644 1-c8:  **  ** 
-       .byte   %01100110       ; 0645 1-c8:  **  ** 
-       .byte   %00111110       ; 0646 1-c8:   ***** 
-       .byte   %00000000       ; 0647 1-c8:         
-
-       .byte   %00000000       ; 0648 1-c9:         
-       .byte   %00000110       ; 0649 1-c9:      ** 
-       .byte   %00000110       ; 064A 1-c9:      ** 
-       .byte   %00111110       ; 064B 1-c9:   ***** 
-       .byte   %01100110       ; 064C 1-c9:  **  ** 
-       .byte   %01100110       ; 064D 1-c9:  **  ** 
-       .byte   %00111110       ; 064E 1-c9:   ***** 
-       .byte   %00000000       ; 064F 1-c9:         
-
-       .byte   %00000000       ; 0650 1-ca:         
-       .byte   %00000000       ; 0651 1-ca:         
-       .byte   %00111100       ; 0652 1-ca:   ****  
-       .byte   %01100110       ; 0653 1-ca:  **  ** 
-       .byte   %01111110       ; 0654 1-ca:  ****** 
-       .byte   %01100000       ; 0655 1-ca:  **     
-       .byte   %00111100       ; 0656 1-ca:   ****  
-       .byte   %00000000       ; 0657 1-ca:         
-
-       .byte   %00000000       ; 0658 1-cb:         
-       .byte   %00000000       ; 0659 1-cb:         
-       .byte   %00111100       ; 065A 1-cb:   ****  
-       .byte   %01100110       ; 065B 1-cb:  **  ** 
-       .byte   %01111110       ; 065C 1-cb:  ****** 
-       .byte   %01100000       ; 065D 1-cb:  **     
-       .byte   %00111100       ; 065E 1-cb:   ****  
-       .byte   %00000000       ; 065F 1-cb:         
-
-       .byte   %00000000       ; 0660 1-cc:         
-       .byte   %00001110       ; 0661 1-cc:     *** 
-       .byte   %00011000       ; 0662 1-cc:    **   
-       .byte   %00111110       ; 0663 1-cc:   ***** 
-       .byte   %00011000       ; 0664 1-cc:    **   
-       .byte   %00011000       ; 0665 1-cc:    **   
-       .byte   %00011000       ; 0666 1-cc:    **   
-       .byte   %00000000       ; 0667 1-cc:         
-
-       .byte   %00000000       ; 0668 1-cd:         
-       .byte   %00001110       ; 0669 1-cd:     *** 
-       .byte   %00011000       ; 066A 1-cd:    **   
-       .byte   %00111110       ; 066B 1-cd:   ***** 
-       .byte   %00011000       ; 066C 1-cd:    **   
-       .byte   %00011000       ; 066D 1-cd:    **   
-       .byte   %00011000       ; 066E 1-cd:    **   
-       .byte   %00000000       ; 066F 1-cd:         
-
-       .byte   %00000000       ; 0670 1-ce:         
-       .byte   %00000000       ; 0671 1-ce:         
-       .byte   %00111110       ; 0672 1-ce:   ***** 
-       .byte   %01100110       ; 0673 1-ce:  **  ** 
-       .byte   %01100110       ; 0674 1-ce:  **  ** 
-       .byte   %00111110       ; 0675 1-ce:   ***** 
-       .byte   %00000110       ; 0676 1-ce:      ** 
-       .byte   %01111100       ; 0677 1-ce:  *****  
-
-       .byte   %00000000       ; 0678 1-cf:         
-       .byte   %00000000       ; 0679 1-cf:         
-       .byte   %00111110       ; 067A 1-cf:   ***** 
-       .byte   %01100110       ; 067B 1-cf:  **  ** 
-       .byte   %01100110       ; 067C 1-cf:  **  ** 
-       .byte   %00111110       ; 067D 1-cf:   ***** 
-       .byte   %00000110       ; 067E 1-cf:      ** 
-       .byte   %01111100       ; 067F 1-cf:  *****  
-
-       .byte   %00000000       ; 0680 1-d0:         
-       .byte   %01100000       ; 0681 1-d0:  **     
-       .byte   %01100000       ; 0682 1-d0:  **     
-       .byte   %01111100       ; 0683 1-d0:  *****  
-       .byte   %01100110       ; 0684 1-d0:  **  ** 
-       .byte   %01100110       ; 0685 1-d0:  **  ** 
-       .byte   %01100110       ; 0686 1-d0:  **  ** 
-       .byte   %00000000       ; 0687 1-d0:         
-
-       .byte   %00000000       ; 0688 1-d1:         
-       .byte   %01100000       ; 0689 1-d1:  **     
-       .byte   %01100000       ; 068A 1-d1:  **     
-       .byte   %01111100       ; 068B 1-d1:  *****  
-       .byte   %01100110       ; 068C 1-d1:  **  ** 
-       .byte   %01100110       ; 068D 1-d1:  **  ** 
-       .byte   %01100110       ; 068E 1-d1:  **  ** 
-       .byte   %00000000       ; 068F 1-d1:         
-
-       .byte   %00000000       ; 0690 1-d2:         
-       .byte   %00011000       ; 0691 1-d2:    **   
-       .byte   %00000000       ; 0692 1-d2:         
-       .byte   %00111000       ; 0693 1-d2:   ***   
-       .byte   %00011000       ; 0694 1-d2:    **   
-       .byte   %00011000       ; 0695 1-d2:    **   
-       .byte   %00111100       ; 0696 1-d2:   ****  
-       .byte   %00000000       ; 0697 1-d2:         
-
-       .byte   %00000000       ; 0698 1-d3:         
-       .byte   %00011000       ; 0699 1-d3:    **   
-       .byte   %00000000       ; 069A 1-d3:         
-       .byte   %00111000       ; 069B 1-d3:   ***   
-       .byte   %00011000       ; 069C 1-d3:    **   
-       .byte   %00011000       ; 069D 1-d3:    **   
-       .byte   %00111100       ; 069E 1-d3:   ****  
-       .byte   %00000000       ; 069F 1-d3:         
-
-       .byte   %00000000       ; 06A0 1-d4:         
-       .byte   %00000110       ; 06A1 1-d4:      ** 
-       .byte   %00000000       ; 06A2 1-d4:         
-       .byte   %00000110       ; 06A3 1-d4:      ** 
-       .byte   %00000110       ; 06A4 1-d4:      ** 
-       .byte   %00000110       ; 06A5 1-d4:      ** 
-       .byte   %00000110       ; 06A6 1-d4:      ** 
-       .byte   %00111100       ; 06A7 1-d4:   ****  
-
-       .byte   %00000000       ; 06A8 1-d5:         
-       .byte   %00000110       ; 06A9 1-d5:      ** 
-       .byte   %00000000       ; 06AA 1-d5:         
-       .byte   %00000110       ; 06AB 1-d5:      ** 
-       .byte   %00000110       ; 06AC 1-d5:      ** 
-       .byte   %00000110       ; 06AD 1-d5:      ** 
-       .byte   %00000110       ; 06AE 1-d5:      ** 
-       .byte   %00111100       ; 06AF 1-d5:   ****  
-
-       .byte   %00000000       ; 06B0 1-d6:         
-       .byte   %01100000       ; 06B1 1-d6:  **     
-       .byte   %01100000       ; 06B2 1-d6:  **     
-       .byte   %01101100       ; 06B3 1-d6:  ** **  
-       .byte   %01111000       ; 06B4 1-d6:  ****   
-       .byte   %01101100       ; 06B5 1-d6:  ** **  
-       .byte   %01100110       ; 06B6 1-d6:  **  ** 
-       .byte   %00000000       ; 06B7 1-d6:         
-
-       .byte   %00000000       ; 06B8 1-d7:         
-       .byte   %01100000       ; 06B9 1-d7:  **     
-       .byte   %01100000       ; 06BA 1-d7:  **     
-       .byte   %01101100       ; 06BB 1-d7:  ** **  
-       .byte   %01111000       ; 06BC 1-d7:  ****   
-       .byte   %01101100       ; 06BD 1-d7:  ** **  
-       .byte   %01100110       ; 06BE 1-d7:  **  ** 
-       .byte   %00000000       ; 06BF 1-d7:         
-
-       .byte   %00000000       ; 06C0 1-d8:         
-       .byte   %00111000       ; 06C1 1-d8:   ***   
-       .byte   %00011000       ; 06C2 1-d8:    **   
-       .byte   %00011000       ; 06C3 1-d8:    **   
-       .byte   %00011000       ; 06C4 1-d8:    **   
-       .byte   %00011000       ; 06C5 1-d8:    **   
-       .byte   %00111100       ; 06C6 1-d8:   ****  
-       .byte   %00000000       ; 06C7 1-d8:         
-
-       .byte   %00000000       ; 06C8 1-d9:         
-       .byte   %00111000       ; 06C9 1-d9:   ***   
-       .byte   %00011000       ; 06CA 1-d9:    **   
-       .byte   %00011000       ; 06CB 1-d9:    **   
-       .byte   %00011000       ; 06CC 1-d9:    **   
-       .byte   %00011000       ; 06CD 1-d9:    **   
-       .byte   %00111100       ; 06CE 1-d9:   ****  
-       .byte   %00000000       ; 06CF 1-d9:         
-
-       .byte   %00000000       ; 06D0 1-da:         
-       .byte   %00000000       ; 06D1 1-da:         
-       .byte   %01100110       ; 06D2 1-da:  **  ** 
-       .byte   %01111111       ; 06D3 1-da:  *******
-       .byte   %01111111       ; 06D4 1-da:  *******
-       .byte   %01101011       ; 06D5 1-da:  ** * **
-       .byte   %01100011       ; 06D6 1-da:  **   **
-       .byte   %00000000       ; 06D7 1-da:         
-
-       .byte   %00000000       ; 06D8 1-db:         
-       .byte   %00000000       ; 06D9 1-db:         
-       .byte   %01100110       ; 06DA 1-db:  **  ** 
-       .byte   %01111111       ; 06DB 1-db:  *******
-       .byte   %01111111       ; 06DC 1-db:  *******
-       .byte   %01101011       ; 06DD 1-db:  ** * **
-       .byte   %01100011       ; 06DE 1-db:  **   **
-       .byte   %00000000       ; 06DF 1-db:         
-
-       .byte   %00000000       ; 06E0 1-dc:         
-       .byte   %00000000       ; 06E1 1-dc:         
-       .byte   %01111100       ; 06E2 1-dc:  *****  
-       .byte   %01100110       ; 06E3 1-dc:  **  ** 
-       .byte   %01100110       ; 06E4 1-dc:  **  ** 
-       .byte   %01100110       ; 06E5 1-dc:  **  ** 
-       .byte   %01100110       ; 06E6 1-dc:  **  ** 
-       .byte   %00000000       ; 06E7 1-dc:         
-
-       .byte   %00000000       ; 06E8 1-dd:         
-       .byte   %00000000       ; 06E9 1-dd:         
-       .byte   %01111100       ; 06EA 1-dd:  *****  
-       .byte   %01100110       ; 06EB 1-dd:  **  ** 
-       .byte   %01100110       ; 06EC 1-dd:  **  ** 
-       .byte   %01100110       ; 06ED 1-dd:  **  ** 
-       .byte   %01100110       ; 06EE 1-dd:  **  ** 
-       .byte   %00000000       ; 06EF 1-dd:         
-
-       .byte   %00000000       ; 06F0 1-de:         
-       .byte   %00000000       ; 06F1 1-de:         
-       .byte   %00111100       ; 06F2 1-de:   ****  
-       .byte   %01100110       ; 06F3 1-de:  **  ** 
-       .byte   %01100110       ; 06F4 1-de:  **  ** 
-       .byte   %01100110       ; 06F5 1-de:  **  ** 
-       .byte   %00111100       ; 06F6 1-de:   ****  
-       .byte   %00000000       ; 06F7 1-de:         
-
-       .byte   %00000000       ; 06F8 1-df:         
-       .byte   %00000000       ; 06F9 1-df:         
-       .byte   %00111100       ; 06FA 1-df:   ****  
-       .byte   %01100110       ; 06FB 1-df:  **  ** 
-       .byte   %01100110       ; 06FC 1-df:  **  ** 
-       .byte   %01100110       ; 06FD 1-df:  **  ** 
-       .byte   %00111100       ; 06FE 1-df:   ****  
-       .byte   %00000000       ; 06FF 1-df:         
-
-       .byte   %00000000       ; 0700 1-e0:         
-       .byte   %00000000       ; 0701 1-e0:         
-       .byte   %01111100       ; 0702 1-e0:  *****  
-       .byte   %01100110       ; 0703 1-e0:  **  ** 
-       .byte   %01100110       ; 0704 1-e0:  **  ** 
-       .byte   %01111100       ; 0705 1-e0:  *****  
-       .byte   %01100000       ; 0706 1-e0:  **     
-       .byte   %01100000       ; 0707 1-e0:  **     
-
-       .byte   %00000000       ; 0708 1-e1:         
-       .byte   %00000000       ; 0709 1-e1:         
-       .byte   %01111100       ; 070A 1-e1:  *****  
-       .byte   %01100110       ; 070B 1-e1:  **  ** 
-       .byte   %01100110       ; 070C 1-e1:  **  ** 
-       .byte   %01111100       ; 070D 1-e1:  *****  
-       .byte   %01100000       ; 070E 1-e1:  **     
-       .byte   %01100000       ; 070F 1-e1:  **     
-
-       .byte   %00000000       ; 0710 1-e2:         
-       .byte   %00000000       ; 0711 1-e2:         
-       .byte   %00111110       ; 0712 1-e2:   ***** 
-       .byte   %01100110       ; 0713 1-e2:  **  ** 
-       .byte   %01100110       ; 0714 1-e2:  **  ** 
-       .byte   %00111110       ; 0715 1-e2:   ***** 
-       .byte   %00000110       ; 0716 1-e2:      ** 
-       .byte   %00000110       ; 0717 1-e2:      ** 
-
-       .byte   %00000000       ; 0718 1-e3:         
-       .byte   %00000000       ; 0719 1-e3:         
-       .byte   %00111110       ; 071A 1-e3:   ***** 
-       .byte   %01100110       ; 071B 1-e3:  **  ** 
-       .byte   %01100110       ; 071C 1-e3:  **  ** 
-       .byte   %00111110       ; 071D 1-e3:   ***** 
-       .byte   %00000110       ; 071E 1-e3:      ** 
-       .byte   %00000110       ; 071F 1-e3:      ** 
-
-       .byte   %00000000       ; 0720 1-e4:         
-       .byte   %00000000       ; 0721 1-e4:         
-       .byte   %01111100       ; 0722 1-e4:  *****  
-       .byte   %01100110       ; 0723 1-e4:  **  ** 
-       .byte   %01100000       ; 0724 1-e4:  **     
-       .byte   %01100000       ; 0725 1-e4:  **     
-       .byte   %01100000       ; 0726 1-e4:  **     
-       .byte   %00000000       ; 0727 1-e4:         
-
-       .byte   %00000000       ; 0728 1-e5:         
-       .byte   %00000000       ; 0729 1-e5:         
-       .byte   %01111100       ; 072A 1-e5:  *****  
-       .byte   %01100110       ; 072B 1-e5:  **  ** 
-       .byte   %01100000       ; 072C 1-e5:  **     
-       .byte   %01100000       ; 072D 1-e5:  **     
-       .byte   %01100000       ; 072E 1-e5:  **     
-       .byte   %00000000       ; 072F 1-e5:         
-
-       .byte   %00000000       ; 0730 1-e6:         
-       .byte   %00000000       ; 0731 1-e6:         
-       .byte   %00111110       ; 0732 1-e6:   ***** 
-       .byte   %01100000       ; 0733 1-e6:  **     
-       .byte   %00111100       ; 0734 1-e6:   ****  
-       .byte   %00000110       ; 0735 1-e6:      ** 
-       .byte   %01111100       ; 0736 1-e6:  *****  
-       .byte   %00000000       ; 0737 1-e6:         
-
-       .byte   %00000000       ; 0738 1-e7:         
-       .byte   %00000000       ; 0739 1-e7:         
-       .byte   %00111110       ; 073A 1-e7:   ***** 
-       .byte   %01100000       ; 073B 1-e7:  **     
-       .byte   %00111100       ; 073C 1-e7:   ****  
-       .byte   %00000110       ; 073D 1-e7:      ** 
-       .byte   %01111100       ; 073E 1-e7:  *****  
-       .byte   %00000000       ; 073F 1-e7:         
-
-       .byte   %00000000       ; 0740 1-e8:         
-       .byte   %00011000       ; 0741 1-e8:    **   
-       .byte   %01111110       ; 0742 1-e8:  ****** 
-       .byte   %00011000       ; 0743 1-e8:    **   
-       .byte   %00011000       ; 0744 1-e8:    **   
-       .byte   %00011000       ; 0745 1-e8:    **   
-       .byte   %00001110       ; 0746 1-e8:     *** 
-       .byte   %00000000       ; 0747 1-e8:         
-
-       .byte   %00000000       ; 0748 1-e9:         
-       .byte   %00011000       ; 0749 1-e9:    **   
-       .byte   %01111110       ; 074A 1-e9:  ****** 
-       .byte   %00011000       ; 074B 1-e9:    **   
-       .byte   %00011000       ; 074C 1-e9:    **   
-       .byte   %00011000       ; 074D 1-e9:    **   
-       .byte   %00001110       ; 074E 1-e9:     *** 
-       .byte   %00000000       ; 074F 1-e9:         
-
-       .byte   %00000000       ; 0750 1-ea:         
-       .byte   %00000000       ; 0751 1-ea:         
-       .byte   %01100110       ; 0752 1-ea:  **  ** 
-       .byte   %01100110       ; 0753 1-ea:  **  ** 
-       .byte   %01100110       ; 0754 1-ea:  **  ** 
-       .byte   %01100110       ; 0755 1-ea:  **  ** 
-       .byte   %00111110       ; 0756 1-ea:   ***** 
-       .byte   %00000000       ; 0757 1-ea:         
-
-       .byte   %00000000       ; 0758 1-eb:         
-       .byte   %00000000       ; 0759 1-eb:         
-       .byte   %01100110       ; 075A 1-eb:  **  ** 
-       .byte   %01100110       ; 075B 1-eb:  **  ** 
-       .byte   %01100110       ; 075C 1-eb:  **  ** 
-       .byte   %01100110       ; 075D 1-eb:  **  ** 
-       .byte   %00111110       ; 075E 1-eb:   ***** 
-       .byte   %00000000       ; 075F 1-eb:         
-
-       .byte   %00000000       ; 0760 1-ec:         
-       .byte   %00000000       ; 0761 1-ec:         
-       .byte   %01100110       ; 0762 1-ec:  **  ** 
-       .byte   %01100110       ; 0763 1-ec:  **  ** 
-       .byte   %01100110       ; 0764 1-ec:  **  ** 
-       .byte   %00111100       ; 0765 1-ec:   ****  
-       .byte   %00011000       ; 0766 1-ec:    **   
-       .byte   %00000000       ; 0767 1-ec:         
-
-       .byte   %00000000       ; 0768 1-ed:         
-       .byte   %00000000       ; 0769 1-ed:         
-       .byte   %01100110       ; 076A 1-ed:  **  ** 
-       .byte   %01100110       ; 076B 1-ed:  **  ** 
-       .byte   %01100110       ; 076C 1-ed:  **  ** 
-       .byte   %00111100       ; 076D 1-ed:   ****  
-       .byte   %00011000       ; 076E 1-ed:    **   
-       .byte   %00000000       ; 076F 1-ed:         
-
-       .byte   %00000000       ; 0770 1-ee:         
-       .byte   %00000000       ; 0771 1-ee:         
-       .byte   %01100011       ; 0772 1-ee:  **   **
-       .byte   %01101011       ; 0773 1-ee:  ** * **
-       .byte   %01111111       ; 0774 1-ee:  *******
-       .byte   %00111110       ; 0775 1-ee:   ***** 
-       .byte   %00110110       ; 0776 1-ee:   ** ** 
-       .byte   %00000000       ; 0777 1-ee:         
-
-       .byte   %00000000       ; 0778 1-ef:         
-       .byte   %00000000       ; 0779 1-ef:         
-       .byte   %01100011       ; 077A 1-ef:  **   **
-       .byte   %01101011       ; 077B 1-ef:  ** * **
-       .byte   %01111111       ; 077C 1-ef:  *******
-       .byte   %00111110       ; 077D 1-ef:   ***** 
-       .byte   %00110110       ; 077E 1-ef:   ** ** 
-       .byte   %00000000       ; 077F 1-ef:         
-
-       .byte   %00000000       ; 0780 1-f0:         
-       .byte   %00000000       ; 0781 1-f0:         
-       .byte   %01100110       ; 0782 1-f0:  **  ** 
-       .byte   %00111100       ; 0783 1-f0:   ****  
-       .byte   %00011000       ; 0784 1-f0:    **   
-       .byte   %00111100       ; 0785 1-f0:   ****  
-       .byte   %01100110       ; 0786 1-f0:  **  ** 
-       .byte   %00000000       ; 0787 1-f0:         
-
-       .byte   %00000000       ; 0788 1-f1:         
-       .byte   %00000000       ; 0789 1-f1:         
-       .byte   %01100110       ; 078A 1-f1:  **  ** 
-       .byte   %00111100       ; 078B 1-f1:   ****  
-       .byte   %00011000       ; 078C 1-f1:    **   
-       .byte   %00111100       ; 078D 1-f1:   ****  
-       .byte   %01100110       ; 078E 1-f1:  **  ** 
-       .byte   %00000000       ; 078F 1-f1:         
-
-       .byte   %00000000       ; 0790 1-f2:         
-       .byte   %00000000       ; 0791 1-f2:         
-       .byte   %01100110       ; 0792 1-f2:  **  ** 
-       .byte   %01100110       ; 0793 1-f2:  **  ** 
-       .byte   %01100110       ; 0794 1-f2:  **  ** 
-       .byte   %00111110       ; 0795 1-f2:   ***** 
-       .byte   %00001100       ; 0796 1-f2:     **  
-       .byte   %01111000       ; 0797 1-f2:  ****   
-
-       .byte   %00000000       ; 0798 1-f3:         
-       .byte   %00000000       ; 0799 1-f3:         
-       .byte   %01100110       ; 079A 1-f3:  **  ** 
-       .byte   %01100110       ; 079B 1-f3:  **  ** 
-       .byte   %01100110       ; 079C 1-f3:  **  ** 
-       .byte   %00111110       ; 079D 1-f3:   ***** 
-       .byte   %00001100       ; 079E 1-f3:     **  
-       .byte   %01111000       ; 079F 1-f3:  ****   
-
-       .byte   %00000000       ; 07A0 1-f4:         
-       .byte   %00000000       ; 07A1 1-f4:         
-       .byte   %01111110       ; 07A2 1-f4:  ****** 
-       .byte   %00001100       ; 07A3 1-f4:     **  
-       .byte   %00011000       ; 07A4 1-f4:    **   
-       .byte   %00110000       ; 07A5 1-f4:   **    
-       .byte   %01111110       ; 07A6 1-f4:  ****** 
-       .byte   %00000000       ; 07A7 1-f4:         
-
-       .byte   %00000000       ; 07A8 1-f5:         
-       .byte   %00000000       ; 07A9 1-f5:         
-       .byte   %01111110       ; 07AA 1-f5:  ****** 
-       .byte   %00001100       ; 07AB 1-f5:     **  
-       .byte   %00011000       ; 07AC 1-f5:    **   
-       .byte   %00110000       ; 07AD 1-f5:   **    
-       .byte   %01111110       ; 07AE 1-f5:  ****** 
-       .byte   %00000000       ; 07AF 1-f5:         
-
-       .byte   %00011100       ; 07B0 1-f6:    ***  
-       .byte   %00110000       ; 07B1 1-f6:   **    
-       .byte   %00011000       ; 07B2 1-f6:    **   
-       .byte   %01110000       ; 07B3 1-f6:  ***    
-       .byte   %00011000       ; 07B4 1-f6:    **   
-       .byte   %00110000       ; 07B5 1-f6:   **    
-       .byte   %00011100       ; 07B6 1-f6:    ***  
-       .byte   %00000000       ; 07B7 1-f6:         
-
-       .byte   %00011100       ; 07B8 1-f7:    ***  
-       .byte   %00110000       ; 07B9 1-f7:   **    
-       .byte   %00011000       ; 07BA 1-f7:    **   
-       .byte   %01110000       ; 07BB 1-f7:  ***    
-       .byte   %00011000       ; 07BC 1-f7:    **   
-       .byte   %00110000       ; 07BD 1-f7:   **    
-       .byte   %00011100       ; 07BE 1-f7:    ***  
-       .byte   %00000000       ; 07BF 1-f7:         
-
-       .byte   %00011000       ; 07C0 1-f8:    **   
-       .byte   %00011000       ; 07C1 1-f8:    **   
-       .byte   %00011000       ; 07C2 1-f8:    **   
-       .byte   %00000000       ; 07C3 1-f8:         
-       .byte   %00000000       ; 07C4 1-f8:         
-       .byte   %00011000       ; 07C5 1-f8:    **   
-       .byte   %00011000       ; 07C6 1-f8:    **   
-       .byte   %00011000       ; 07C7 1-f8:    **   
-
-       .byte   %00011000       ; 07C8 1-f9:    **   
-       .byte   %00011000       ; 07C9 1-f9:    **   
-       .byte   %00011000       ; 07CA 1-f9:    **   
-       .byte   %00000000       ; 07CB 1-f9:         
-       .byte   %00000000       ; 07CC 1-f9:         
-       .byte   %00011000       ; 07CD 1-f9:    **   
-       .byte   %00011000       ; 07CE 1-f9:    **   
-       .byte   %00011000       ; 07CF 1-f9:    **   
-
-       .byte   %00111000       ; 07D0 1-fa:   ***   
-       .byte   %00001100       ; 07D1 1-fa:     **  
-       .byte   %00011000       ; 07D2 1-fa:    **   
-       .byte   %00001110       ; 07D3 1-fa:     *** 
-       .byte   %00011000       ; 07D4 1-fa:    **   
-       .byte   %00001100       ; 07D5 1-fa:     **  
-       .byte   %00111000       ; 07D6 1-fa:   ***   
-       .byte   %00000000       ; 07D7 1-fa:         
-
-       .byte   %00111000       ; 07D8 1-fb:   ***   
-       .byte   %00001100       ; 07D9 1-fb:     **  
-       .byte   %00011000       ; 07DA 1-fb:    **   
-       .byte   %00001110       ; 07DB 1-fb:     *** 
-       .byte   %00011000       ; 07DC 1-fb:    **   
-       .byte   %00001100       ; 07DD 1-fb:     **  
-       .byte   %00111000       ; 07DE 1-fb:   ***   
-       .byte   %00000000       ; 07DF 1-fb:         
-
-       .byte   %00110011       ; 07E0 1-fc:   **  **
-       .byte   %11111111       ; 07E1 1-fc: ********
-       .byte   %11001100       ; 07E2 1-fc: **  **  
-       .byte   %00000000       ; 07E3 1-fc:         
-       .byte   %00000000       ; 07E4 1-fc:         
-       .byte   %00000000       ; 07E5 1-fc:         
-       .byte   %00000000       ; 07E6 1-fc:         
-       .byte   %00000000       ; 07E7 1-fc:         
-
-       .byte   %00110011       ; 07E8 1-fd:   **  **
-       .byte   %11111111       ; 07E9 1-fd: ********
-       .byte   %11001100       ; 07EA 1-fd: **  **  
-       .byte   %00000000       ; 07EB 1-fd:         
-       .byte   %00000000       ; 07EC 1-fd:         
-       .byte   %00000000       ; 07ED 1-fd:         
-       .byte   %00000000       ; 07EE 1-fd:         
-       .byte   %00000000       ; 07EF 1-fd:         
-
-       .byte   %00000000       ; 07F0 1-fe:         
-       .byte   %00000000       ; 07F1 1-fe:         
-       .byte   %00000000       ; 07F2 1-fe:         
-       .byte   %00000000       ; 07F3 1-fe:         
-       .byte   %00000000       ; 07F4 1-fe:         
-       .byte   %00000000       ; 07F5 1-fe:         
-       .byte   %00000000       ; 07F6 1-fe:         
-       .byte   %00000000       ; 07F7 1-fe:         
-
-       .byte   %00000000       ; 07F8 1-ff:         
-       .byte   %00000000       ; 07F9 1-ff:         
-       .byte   %00000000       ; 07FA 1-ff:         
-       .byte   %00000000       ; 07FB 1-ff:         
-       .byte   %00000000       ; 07FC 1-ff:         
-       .byte   %00000000       ; 07FD 1-ff:         
-       .byte   %00000000       ; 07FE 1-ff:         
-       .byte   %00000000       ; 07FF 1-ff:         
-
-       .byte   %11111111       ; 0800 2-00: ********
-       .byte   %11111111       ; 0801 2-00: ********
-       .byte   %11111111       ; 0802 2-00: ********
-       .byte   %11111111       ; 0803 2-00: ********
-       .byte   %11111111       ; 0804 2-00: ********
-       .byte   %11111111       ; 0805 2-00: ********
-       .byte   %11111111       ; 0806 2-00: ********
-       .byte   %11111111       ; 0807 2-00: ********
-
-       .byte   %11111111       ; 0808 2-01: ********
-       .byte   %11111111       ; 0809 2-01: ********
-       .byte   %11111111       ; 080A 2-01: ********
-       .byte   %11111111       ; 080B 2-01: ********
-       .byte   %11111111       ; 080C 2-01: ********
-       .byte   %11111111       ; 080D 2-01: ********
-       .byte   %11111111       ; 080E 2-01: ********
-       .byte   %11111111       ; 080F 2-01: ********
-
-       .byte   %00110011       ; 0810 2-02:   **  **
-       .byte   %00110011       ; 0811 2-02:   **  **
-       .byte   %11001100       ; 0812 2-02: **  **  
-       .byte   %11001100       ; 0813 2-02: **  **  
-       .byte   %00110011       ; 0814 2-02:   **  **
-       .byte   %00110011       ; 0815 2-02:   **  **
-       .byte   %11001100       ; 0816 2-02: **  **  
-       .byte   %11001100       ; 0817 2-02: **  **  
-
-       .byte   %00110011       ; 0818 2-03:   **  **
-       .byte   %00110011       ; 0819 2-03:   **  **
-       .byte   %11001100       ; 081A 2-03: **  **  
-       .byte   %11001100       ; 081B 2-03: **  **  
-       .byte   %00110011       ; 081C 2-03:   **  **
-       .byte   %00110011       ; 081D 2-03:   **  **
-       .byte   %11001100       ; 081E 2-03: **  **  
-       .byte   %11001100       ; 081F 2-03: **  **  
-
-       .byte   %11111111       ; 0820 2-04: ********
-       .byte   %11100111       ; 0821 2-04: ***  ***
-       .byte   %11000011       ; 0822 2-04: **    **
-       .byte   %10000001       ; 0823 2-04: *      *
-       .byte   %11100111       ; 0824 2-04: ***  ***
-       .byte   %11100111       ; 0825 2-04: ***  ***
-       .byte   %11100111       ; 0826 2-04: ***  ***
-       .byte   %11100111       ; 0827 2-04: ***  ***
-
-       .byte   %11111111       ; 0828 2-05: ********
-       .byte   %11100111       ; 0829 2-05: ***  ***
-       .byte   %11000011       ; 082A 2-05: **    **
-       .byte   %10000001       ; 082B 2-05: *      *
-       .byte   %11100111       ; 082C 2-05: ***  ***
-       .byte   %11100111       ; 082D 2-05: ***  ***
-       .byte   %11100111       ; 082E 2-05: ***  ***
-       .byte   %11100111       ; 082F 2-05: ***  ***
-
-       .byte   %11111111       ; 0830 2-06: ********
-       .byte   %11101111       ; 0831 2-06: *** ****
-       .byte   %11001111       ; 0832 2-06: **  ****
-       .byte   %10000000       ; 0833 2-06: *       
-       .byte   %10000000       ; 0834 2-06: *       
-       .byte   %11001111       ; 0835 2-06: **  ****
-       .byte   %11101111       ; 0836 2-06: *** ****
-       .byte   %11111111       ; 0837 2-06: ********
-
-       .byte   %11111111       ; 0838 2-07: ********
-       .byte   %11101111       ; 0839 2-07: *** ****
-       .byte   %11001111       ; 083A 2-07: **  ****
-       .byte   %10000000       ; 083B 2-07: *       
-       .byte   %10000000       ; 083C 2-07: *       
-       .byte   %11001111       ; 083D 2-07: **  ****
-       .byte   %11101111       ; 083E 2-07: *** ****
-       .byte   %11111111       ; 083F 2-07: ********
-
-       .byte   %11110011       ; 0840 2-08: ****  **
-       .byte   %11101101       ; 0841 2-08: *** ** *
-       .byte   %11001111       ; 0842 2-08: **  ****
-       .byte   %10000011       ; 0843 2-08: *     **
-       .byte   %11001111       ; 0844 2-08: **  ****
-       .byte   %10011101       ; 0845 2-08: *  *** *
-       .byte   %00000011       ; 0846 2-08:       **
-       .byte   %11111111       ; 0847 2-08: ********
-
-       .byte   %11110011       ; 0848 2-09: ****  **
-       .byte   %11101101       ; 0849 2-09: *** ** *
-       .byte   %11001111       ; 084A 2-09: **  ****
-       .byte   %10000011       ; 084B 2-09: *     **
-       .byte   %11001111       ; 084C 2-09: **  ****
-       .byte   %10011101       ; 084D 2-09: *  *** *
-       .byte   %00000011       ; 084E 2-09:       **
-       .byte   %11111111       ; 084F 2-09: ********
-
-       .byte   %11111111       ; 0850 2-0a: ********
-       .byte   %11111111       ; 0851 2-0a: ********
-       .byte   %11111100       ; 0852 2-0a: ******  
-       .byte   %11000001       ; 0853 2-0a: **     *
-       .byte   %10001001       ; 0854 2-0a: *   *  *
-       .byte   %11001001       ; 0855 2-0a: **  *  *
-       .byte   %11001001       ; 0856 2-0a: **  *  *
-       .byte   %11111111       ; 0857 2-0a: ********
-
-       .byte   %11111111       ; 0858 2-0b: ********
-       .byte   %11111111       ; 0859 2-0b: ********
-       .byte   %11111100       ; 085A 2-0b: ******  
-       .byte   %11000001       ; 085B 2-0b: **     *
-       .byte   %10001001       ; 085C 2-0b: *   *  *
-       .byte   %11001001       ; 085D 2-0b: **  *  *
-       .byte   %11001001       ; 085E 2-0b: **  *  *
-       .byte   %11111111       ; 085F 2-0b: ********
-
-       .byte   %10000000       ; 0860 2-0c: *       
-       .byte   %10000000       ; 0861 2-0c: *       
-       .byte   %11111111       ; 0862 2-0c: ********
-       .byte   %11111111       ; 0863 2-0c: ********
-       .byte   %11111111       ; 0864 2-0c: ********
-       .byte   %11111111       ; 0865 2-0c: ********
-       .byte   %11111111       ; 0866 2-0c: ********
-       .byte   %11111111       ; 0867 2-0c: ********
-
-       .byte   %10000000       ; 0868 2-0d: *       
-       .byte   %10000000       ; 0869 2-0d: *       
-       .byte   %11111111       ; 086A 2-0d: ********
-       .byte   %11111111       ; 086B 2-0d: ********
-       .byte   %11111111       ; 086C 2-0d: ********
-       .byte   %11111111       ; 086D 2-0d: ********
-       .byte   %11111111       ; 086E 2-0d: ********
-       .byte   %11111111       ; 086F 2-0d: ********
-
-       .byte   %00011111       ; 0870 2-0e:    *****
-       .byte   %00011111       ; 0871 2-0e:    *****
-       .byte   %10011111       ; 0872 2-0e: *  *****
-       .byte   %10011111       ; 0873 2-0e: *  *****
-       .byte   %10011111       ; 0874 2-0e: *  *****
-       .byte   %10011111       ; 0875 2-0e: *  *****
-       .byte   %10011111       ; 0876 2-0e: *  *****
-       .byte   %10011111       ; 0877 2-0e: *  *****
-
-       .byte   %00011111       ; 0878 2-0f:    *****
-       .byte   %00011111       ; 0879 2-0f:    *****
-       .byte   %10011111       ; 087A 2-0f: *  *****
-       .byte   %10011111       ; 087B 2-0f: *  *****
-       .byte   %10011111       ; 087C 2-0f: *  *****
-       .byte   %10011111       ; 087D 2-0f: *  *****
-       .byte   %10011111       ; 087E 2-0f: *  *****
-       .byte   %10011111       ; 087F 2-0f: *  *****
-
-       .byte   %11100111       ; 0880 2-10: ***  ***
-       .byte   %11100111       ; 0881 2-10: ***  ***
-       .byte   %11100111       ; 0882 2-10: ***  ***
-       .byte   %00000111       ; 0883 2-10:      ***
-       .byte   %00000111       ; 0884 2-10:      ***
-       .byte   %11111111       ; 0885 2-10: ********
-       .byte   %11111111       ; 0886 2-10: ********
-       .byte   %11111111       ; 0887 2-10: ********
-
-       .byte   %11100111       ; 0888 2-11: ***  ***
-       .byte   %11100111       ; 0889 2-11: ***  ***
-       .byte   %11100111       ; 088A 2-11: ***  ***
-       .byte   %00000111       ; 088B 2-11:      ***
-       .byte   %00000111       ; 088C 2-11:      ***
-       .byte   %11111111       ; 088D 2-11: ********
-       .byte   %11111111       ; 088E 2-11: ********
-       .byte   %11111111       ; 088F 2-11: ********
-
-       .byte   %00110011       ; 0890 2-12:   **  **
-       .byte   %01100110       ; 0891 2-12:  **  ** 
-       .byte   %11001100       ; 0892 2-12: **  **  
-       .byte   %10011001       ; 0893 2-12: *  **  *
-       .byte   %00110011       ; 0894 2-12:   **  **
-       .byte   %01100110       ; 0895 2-12:  **  ** 
-       .byte   %11001100       ; 0896 2-12: **  **  
-       .byte   %10011001       ; 0897 2-12: *  **  *
-
-       .byte   %00110011       ; 0898 2-13:   **  **
-       .byte   %01100110       ; 0899 2-13:  **  ** 
-       .byte   %11001100       ; 089A 2-13: **  **  
-       .byte   %10011001       ; 089B 2-13: *  **  *
-       .byte   %00110011       ; 089C 2-13:   **  **
-       .byte   %01100110       ; 089D 2-13:  **  ** 
-       .byte   %11001100       ; 089E 2-13: **  **  
-       .byte   %10011001       ; 089F 2-13: *  **  *
-
-       .byte   %11001100       ; 08A0 2-14: **  **  
-       .byte   %01100110       ; 08A1 2-14:  **  ** 
-       .byte   %00110011       ; 08A2 2-14:   **  **
-       .byte   %10011001       ; 08A3 2-14: *  **  *
-       .byte   %11001100       ; 08A4 2-14: **  **  
-       .byte   %01100110       ; 08A5 2-14:  **  ** 
-       .byte   %00110011       ; 08A6 2-14:   **  **
-       .byte   %10011001       ; 08A7 2-14: *  **  *
-
-       .byte   %11001100       ; 08A8 2-15: **  **  
-       .byte   %01100110       ; 08A9 2-15:  **  ** 
-       .byte   %00110011       ; 08AA 2-15:   **  **
-       .byte   %10011001       ; 08AB 2-15: *  **  *
-       .byte   %11001100       ; 08AC 2-15: **  **  
-       .byte   %01100110       ; 08AD 2-15:  **  ** 
-       .byte   %00110011       ; 08AE 2-15:   **  **
-       .byte   %10011001       ; 08AF 2-15: *  **  *
-
-       .byte   %11111111       ; 08B0 2-16: ********
-       .byte   %11111111       ; 08B1 2-16: ********
-       .byte   %11111111       ; 08B2 2-16: ********
-       .byte   %00000000       ; 08B3 2-16:         
-       .byte   %00000000       ; 08B4 2-16:         
-       .byte   %11111111       ; 08B5 2-16: ********
-       .byte   %11111111       ; 08B6 2-16: ********
-       .byte   %11111111       ; 08B7 2-16: ********
-
-       .byte   %11111111       ; 08B8 2-17: ********
-       .byte   %11111111       ; 08B9 2-17: ********
-       .byte   %11111111       ; 08BA 2-17: ********
-       .byte   %00000000       ; 08BB 2-17:         
-       .byte   %00000000       ; 08BC 2-17:         
-       .byte   %11111111       ; 08BD 2-17: ********
-       .byte   %11111111       ; 08BE 2-17: ********
-       .byte   %11111111       ; 08BF 2-17: ********
-
-       .byte   %11111100       ; 08C0 2-18: ******  
-       .byte   %11111100       ; 08C1 2-18: ******  
-       .byte   %11111100       ; 08C2 2-18: ******  
-       .byte   %11111100       ; 08C3 2-18: ******  
-       .byte   %11111100       ; 08C4 2-18: ******  
-       .byte   %11111100       ; 08C5 2-18: ******  
-       .byte   %11111100       ; 08C6 2-18: ******  
-       .byte   %11111100       ; 08C7 2-18: ******  
-
-       .byte   %11111100       ; 08C8 2-19: ******  
-       .byte   %11111100       ; 08C9 2-19: ******  
-       .byte   %11111100       ; 08CA 2-19: ******  
-       .byte   %11111100       ; 08CB 2-19: ******  
-       .byte   %11111100       ; 08CC 2-19: ******  
-       .byte   %11111100       ; 08CD 2-19: ******  
-       .byte   %11111100       ; 08CE 2-19: ******  
-       .byte   %11111100       ; 08CF 2-19: ******  
-
-       .byte   %11111111       ; 08D0 2-1a: ********
-       .byte   %11111111       ; 08D1 2-1a: ********
-       .byte   %11111111       ; 08D2 2-1a: ********
-       .byte   %11111111       ; 08D3 2-1a: ********
-       .byte   %00110011       ; 08D4 2-1a:   **  **
-       .byte   %00110011       ; 08D5 2-1a:   **  **
-       .byte   %11001100       ; 08D6 2-1a: **  **  
-       .byte   %11001100       ; 08D7 2-1a: **  **  
-
-       .byte   %11111111       ; 08D8 2-1b: ********
-       .byte   %11111111       ; 08D9 2-1b: ********
-       .byte   %11111111       ; 08DA 2-1b: ********
-       .byte   %11111111       ; 08DB 2-1b: ********
-       .byte   %00110011       ; 08DC 2-1b:   **  **
-       .byte   %00110011       ; 08DD 2-1b:   **  **
-       .byte   %11001100       ; 08DE 2-1b: **  **  
-       .byte   %11001100       ; 08DF 2-1b: **  **  
-
-       .byte   %11100111       ; 08E0 2-1c: ***  ***
-       .byte   %11100111       ; 08E1 2-1c: ***  ***
-       .byte   %11100111       ; 08E2 2-1c: ***  ***
-       .byte   %11100111       ; 08E3 2-1c: ***  ***
-       .byte   %11100111       ; 08E4 2-1c: ***  ***
-       .byte   %11100111       ; 08E5 2-1c: ***  ***
-       .byte   %11100111       ; 08E6 2-1c: ***  ***
-       .byte   %11100111       ; 08E7 2-1c: ***  ***
-
-       .byte   %11100111       ; 08E8 2-1d: ***  ***
-       .byte   %11100111       ; 08E9 2-1d: ***  ***
-       .byte   %11100111       ; 08EA 2-1d: ***  ***
-       .byte   %11100111       ; 08EB 2-1d: ***  ***
-       .byte   %11100111       ; 08EC 2-1d: ***  ***
-       .byte   %11100111       ; 08ED 2-1d: ***  ***
-       .byte   %11100111       ; 08EE 2-1d: ***  ***
-       .byte   %11100111       ; 08EF 2-1d: ***  ***
-
-       .byte   %11100111       ; 08F0 2-1e: ***  ***
-       .byte   %11100111       ; 08F1 2-1e: ***  ***
-       .byte   %11100111       ; 08F2 2-1e: ***  ***
-       .byte   %11100000       ; 08F3 2-1e: ***     
-       .byte   %11100000       ; 08F4 2-1e: ***     
-       .byte   %11100111       ; 08F5 2-1e: ***  ***
-       .byte   %11100111       ; 08F6 2-1e: ***  ***
-       .byte   %11100111       ; 08F7 2-1e: ***  ***
-
-       .byte   %11100111       ; 08F8 2-1f: ***  ***
-       .byte   %11100111       ; 08F9 2-1f: ***  ***
-       .byte   %11100111       ; 08FA 2-1f: ***  ***
-       .byte   %11100000       ; 08FB 2-1f: ***     
-       .byte   %11100000       ; 08FC 2-1f: ***     
-       .byte   %11100111       ; 08FD 2-1f: ***  ***
-       .byte   %11100111       ; 08FE 2-1f: ***  ***
-       .byte   %11100111       ; 08FF 2-1f: ***  ***
-
-       .byte   %11100111       ; 0900 2-20: ***  ***
-       .byte   %11100111       ; 0901 2-20: ***  ***
-       .byte   %11100111       ; 0902 2-20: ***  ***
-       .byte   %00000000       ; 0903 2-20:         
-       .byte   %00000000       ; 0904 2-20:         
-       .byte   %11100111       ; 0905 2-20: ***  ***
-       .byte   %11100111       ; 0906 2-20: ***  ***
-       .byte   %11100111       ; 0907 2-20: ***  ***
-
-       .byte   %11100111       ; 0908 2-21: ***  ***
-       .byte   %11100111       ; 0909 2-21: ***  ***
-       .byte   %11100111       ; 090A 2-21: ***  ***
-       .byte   %00000000       ; 090B 2-21:         
-       .byte   %00000000       ; 090C 2-21:         
-       .byte   %11100111       ; 090D 2-21: ***  ***
-       .byte   %11100111       ; 090E 2-21: ***  ***
-       .byte   %11100111       ; 090F 2-21: ***  ***
-
-       .byte   %11100111       ; 0910 2-22: ***  ***
-       .byte   %11100111       ; 0911 2-22: ***  ***
-       .byte   %11100111       ; 0912 2-22: ***  ***
-       .byte   %11100000       ; 0913 2-22: ***     
-       .byte   %11100000       ; 0914 2-22: ***     
-       .byte   %11111111       ; 0915 2-22: ********
-       .byte   %11111111       ; 0916 2-22: ********
-       .byte   %11111111       ; 0917 2-22: ********
-
-       .byte   %11100111       ; 0918 2-23: ***  ***
-       .byte   %11100111       ; 0919 2-23: ***  ***
-       .byte   %11100111       ; 091A 2-23: ***  ***
-       .byte   %11100000       ; 091B 2-23: ***     
-       .byte   %11100000       ; 091C 2-23: ***     
-       .byte   %11111111       ; 091D 2-23: ********
-       .byte   %11111111       ; 091E 2-23: ********
-       .byte   %11111111       ; 091F 2-23: ********
-
-       .byte   %11111111       ; 0920 2-24: ********
-       .byte   %11111111       ; 0921 2-24: ********
-       .byte   %11111111       ; 0922 2-24: ********
-       .byte   %00000111       ; 0923 2-24:      ***
-       .byte   %00000111       ; 0924 2-24:      ***
-       .byte   %11100111       ; 0925 2-24: ***  ***
-       .byte   %11100111       ; 0926 2-24: ***  ***
-       .byte   %11100111       ; 0927 2-24: ***  ***
-
-       .byte   %11111111       ; 0928 2-25: ********
-       .byte   %11111111       ; 0929 2-25: ********
-       .byte   %11111111       ; 092A 2-25: ********
-       .byte   %00000111       ; 092B 2-25:      ***
-       .byte   %00000111       ; 092C 2-25:      ***
-       .byte   %11100111       ; 092D 2-25: ***  ***
-       .byte   %11100111       ; 092E 2-25: ***  ***
-       .byte   %11100111       ; 092F 2-25: ***  ***
-
-       .byte   %11111111       ; 0930 2-26: ********
-       .byte   %11111111       ; 0931 2-26: ********
-       .byte   %11111111       ; 0932 2-26: ********
-       .byte   %11111111       ; 0933 2-26: ********
-       .byte   %11111111       ; 0934 2-26: ********
-       .byte   %11111111       ; 0935 2-26: ********
-       .byte   %00000000       ; 0936 2-26:         
-       .byte   %00000000       ; 0937 2-26:         
-
-       .byte   %11111111       ; 0938 2-27: ********
-       .byte   %11111111       ; 0939 2-27: ********
-       .byte   %11111111       ; 093A 2-27: ********
-       .byte   %11111111       ; 093B 2-27: ********
-       .byte   %11111111       ; 093C 2-27: ********
-       .byte   %11111111       ; 093D 2-27: ********
-       .byte   %00000000       ; 093E 2-27:         
-       .byte   %00000000       ; 093F 2-27:         
-
-       .byte   %11111111       ; 0940 2-28: ********
-       .byte   %11111111       ; 0941 2-28: ********
-       .byte   %11111111       ; 0942 2-28: ********
-       .byte   %11100000       ; 0943 2-28: ***     
-       .byte   %11100000       ; 0944 2-28: ***     
-       .byte   %11100111       ; 0945 2-28: ***  ***
-       .byte   %11100111       ; 0946 2-28: ***  ***
-       .byte   %11100111       ; 0947 2-28: ***  ***
-
-       .byte   %11111111       ; 0948 2-29: ********
-       .byte   %11111111       ; 0949 2-29: ********
-       .byte   %11111111       ; 094A 2-29: ********
-       .byte   %11100000       ; 094B 2-29: ***     
-       .byte   %11100000       ; 094C 2-29: ***     
-       .byte   %11100111       ; 094D 2-29: ***  ***
-       .byte   %11100111       ; 094E 2-29: ***  ***
-       .byte   %11100111       ; 094F 2-29: ***  ***
-
-       .byte   %11100111       ; 0950 2-2a: ***  ***
-       .byte   %11100111       ; 0951 2-2a: ***  ***
-       .byte   %11100111       ; 0952 2-2a: ***  ***
-       .byte   %00000000       ; 0953 2-2a:         
-       .byte   %00000000       ; 0954 2-2a:         
-       .byte   %11111111       ; 0955 2-2a: ********
-       .byte   %11111111       ; 0956 2-2a: ********
-       .byte   %11111111       ; 0957 2-2a: ********
-
-       .byte   %11100111       ; 0958 2-2b: ***  ***
-       .byte   %11100111       ; 0959 2-2b: ***  ***
-       .byte   %11100111       ; 095A 2-2b: ***  ***
-       .byte   %00000000       ; 095B 2-2b:         
-       .byte   %00000000       ; 095C 2-2b:         
-       .byte   %11111111       ; 095D 2-2b: ********
-       .byte   %11111111       ; 095E 2-2b: ********
-       .byte   %11111111       ; 095F 2-2b: ********
-
-       .byte   %11111111       ; 0960 2-2c: ********
-       .byte   %11111111       ; 0961 2-2c: ********
-       .byte   %11111111       ; 0962 2-2c: ********
-       .byte   %00000000       ; 0963 2-2c:         
-       .byte   %00000000       ; 0964 2-2c:         
-       .byte   %11100111       ; 0965 2-2c: ***  ***
-       .byte   %11100111       ; 0966 2-2c: ***  ***
-       .byte   %11100111       ; 0967 2-2c: ***  ***
-
-       .byte   %11111111       ; 0968 2-2d: ********
-       .byte   %11111111       ; 0969 2-2d: ********
-       .byte   %11111111       ; 096A 2-2d: ********
-       .byte   %00000000       ; 096B 2-2d:         
-       .byte   %00000000       ; 096C 2-2d:         
-       .byte   %11100111       ; 096D 2-2d: ***  ***
-       .byte   %11100111       ; 096E 2-2d: ***  ***
-       .byte   %11100111       ; 096F 2-2d: ***  ***
-
-       .byte   %11100111       ; 0970 2-2e: ***  ***
-       .byte   %11100111       ; 0971 2-2e: ***  ***
-       .byte   %11100111       ; 0972 2-2e: ***  ***
-       .byte   %00000111       ; 0973 2-2e:      ***
-       .byte   %00000111       ; 0974 2-2e:      ***
-       .byte   %11100111       ; 0975 2-2e: ***  ***
-       .byte   %11100111       ; 0976 2-2e: ***  ***
-       .byte   %11100111       ; 0977 2-2e: ***  ***
-
-       .byte   %11100111       ; 0978 2-2f: ***  ***
-       .byte   %11100111       ; 0979 2-2f: ***  ***
-       .byte   %11100111       ; 097A 2-2f: ***  ***
-       .byte   %00000111       ; 097B 2-2f:      ***
-       .byte   %00000111       ; 097C 2-2f:      ***
-       .byte   %11100111       ; 097D 2-2f: ***  ***
-       .byte   %11100111       ; 097E 2-2f: ***  ***
-       .byte   %11100111       ; 097F 2-2f: ***  ***
-
-       .byte   %00001111       ; 0980 2-30:     ****
-       .byte   %00001111       ; 0981 2-30:     ****
-       .byte   %00001111       ; 0982 2-30:     ****
-       .byte   %00001111       ; 0983 2-30:     ****
-       .byte   %00001111       ; 0984 2-30:     ****
-       .byte   %00001111       ; 0985 2-30:     ****
-       .byte   %00001111       ; 0986 2-30:     ****
-       .byte   %00001111       ; 0987 2-30:     ****
-
-       .byte   %00001111       ; 0988 2-31:     ****
-       .byte   %00001111       ; 0989 2-31:     ****
-       .byte   %00001111       ; 098A 2-31:     ****
-       .byte   %00001111       ; 098B 2-31:     ****
-       .byte   %00001111       ; 098C 2-31:     ****
-       .byte   %00001111       ; 098D 2-31:     ****
-       .byte   %00001111       ; 098E 2-31:     ****
-       .byte   %00001111       ; 098F 2-31:     ****
-
-       .byte   %11111111       ; 0990 2-32: ********
-       .byte   %11111111       ; 0991 2-32: ********
-       .byte   %11111111       ; 0992 2-32: ********
-       .byte   %11111111       ; 0993 2-32: ********
-       .byte   %00000000       ; 0994 2-32:         
-       .byte   %00000000       ; 0995 2-32:         
-       .byte   %00000000       ; 0996 2-32:         
-       .byte   %00000000       ; 0997 2-32:         
-
-       .byte   %11111111       ; 0998 2-33: ********
-       .byte   %11111111       ; 0999 2-33: ********
-       .byte   %11111111       ; 099A 2-33: ********
-       .byte   %11111111       ; 099B 2-33: ********
-       .byte   %00000000       ; 099C 2-33:         
-       .byte   %00000000       ; 099D 2-33:         
-       .byte   %00000000       ; 099E 2-33:         
-       .byte   %00000000       ; 099F 2-33:         
-
-       .byte   %11111111       ; 09A0 2-34: ********
-       .byte   %11111111       ; 09A1 2-34: ********
-       .byte   %11111111       ; 09A2 2-34: ********
-       .byte   %11111111       ; 09A3 2-34: ********
-       .byte   %00001111       ; 09A4 2-34:     ****
-       .byte   %00001111       ; 09A5 2-34:     ****
-       .byte   %00001111       ; 09A6 2-34:     ****
-       .byte   %00001111       ; 09A7 2-34:     ****
-
-       .byte   %11111111       ; 09A8 2-35: ********
-       .byte   %11111111       ; 09A9 2-35: ********
-       .byte   %11111111       ; 09AA 2-35: ********
-       .byte   %11111111       ; 09AB 2-35: ********
-       .byte   %00001111       ; 09AC 2-35:     ****
-       .byte   %00001111       ; 09AD 2-35:     ****
-       .byte   %00001111       ; 09AE 2-35:     ****
-       .byte   %00001111       ; 09AF 2-35:     ****
-
-       .byte   %00111111       ; 09B0 2-36:   ******
-       .byte   %00111111       ; 09B1 2-36:   ******
-       .byte   %11001111       ; 09B2 2-36: **  ****
-       .byte   %11001111       ; 09B3 2-36: **  ****
-       .byte   %00111111       ; 09B4 2-36:   ******
-       .byte   %00111111       ; 09B5 2-36:   ******
-       .byte   %11001111       ; 09B6 2-36: **  ****
-       .byte   %11001111       ; 09B7 2-36: **  ****
-
-       .byte   %00111111       ; 09B8 2-37:   ******
-       .byte   %00111111       ; 09B9 2-37:   ******
-       .byte   %11001111       ; 09BA 2-37: **  ****
-       .byte   %11001111       ; 09BB 2-37: **  ****
-       .byte   %00111111       ; 09BC 2-37:   ******
-       .byte   %00111111       ; 09BD 2-37:   ******
-       .byte   %11001111       ; 09BE 2-37: **  ****
-       .byte   %11001111       ; 09BF 2-37: **  ****
-
-       .byte   %11110000       ; 09C0 2-38: ****    
-       .byte   %11110000       ; 09C1 2-38: ****    
-       .byte   %11110000       ; 09C2 2-38: ****    
-       .byte   %11110000       ; 09C3 2-38: ****    
-       .byte   %11111111       ; 09C4 2-38: ********
-       .byte   %11111111       ; 09C5 2-38: ********
-       .byte   %11111111       ; 09C6 2-38: ********
-       .byte   %11111111       ; 09C7 2-38: ********
-
-       .byte   %11110000       ; 09C8 2-39: ****    
-       .byte   %11110000       ; 09C9 2-39: ****    
-       .byte   %11110000       ; 09CA 2-39: ****    
-       .byte   %11110000       ; 09CB 2-39: ****    
-       .byte   %11111111       ; 09CC 2-39: ********
-       .byte   %11111111       ; 09CD 2-39: ********
-       .byte   %11111111       ; 09CE 2-39: ********
-       .byte   %11111111       ; 09CF 2-39: ********
-
-       .byte   %11111111       ; 09D0 2-3a: ********
-       .byte   %11111111       ; 09D1 2-3a: ********
-       .byte   %11111111       ; 09D2 2-3a: ********
-       .byte   %11111111       ; 09D3 2-3a: ********
-       .byte   %11110000       ; 09D4 2-3a: ****    
-       .byte   %11110000       ; 09D5 2-3a: ****    
-       .byte   %11110000       ; 09D6 2-3a: ****    
-       .byte   %11110000       ; 09D7 2-3a: ****    
-
-       .byte   %11111111       ; 09D8 2-3b: ********
-       .byte   %11111111       ; 09D9 2-3b: ********
-       .byte   %11111111       ; 09DA 2-3b: ********
-       .byte   %11111111       ; 09DB 2-3b: ********
-       .byte   %11110000       ; 09DC 2-3b: ****    
-       .byte   %11110000       ; 09DD 2-3b: ****    
-       .byte   %11110000       ; 09DE 2-3b: ****    
-       .byte   %11110000       ; 09DF 2-3b: ****    
-
-       .byte   %00001111       ; 09E0 2-3c:     ****
-       .byte   %00001111       ; 09E1 2-3c:     ****
-       .byte   %00001111       ; 09E2 2-3c:     ****
-       .byte   %00001111       ; 09E3 2-3c:     ****
-       .byte   %11111111       ; 09E4 2-3c: ********
-       .byte   %11111111       ; 09E5 2-3c: ********
-       .byte   %11111111       ; 09E6 2-3c: ********
-       .byte   %11111111       ; 09E7 2-3c: ********
-
-       .byte   %00001111       ; 09E8 2-3d:     ****
-       .byte   %00001111       ; 09E9 2-3d:     ****
-       .byte   %00001111       ; 09EA 2-3d:     ****
-       .byte   %00001111       ; 09EB 2-3d:     ****
-       .byte   %11111111       ; 09EC 2-3d: ********
-       .byte   %11111111       ; 09ED 2-3d: ********
-       .byte   %11111111       ; 09EE 2-3d: ********
-       .byte   %11111111       ; 09EF 2-3d: ********
-
-       .byte   %00001111       ; 09F0 2-3e:     ****
-       .byte   %00001111       ; 09F1 2-3e:     ****
-       .byte   %00001111       ; 09F2 2-3e:     ****
-       .byte   %00001111       ; 09F3 2-3e:     ****
-       .byte   %11110000       ; 09F4 2-3e: ****    
-       .byte   %11110000       ; 09F5 2-3e: ****    
-       .byte   %11110000       ; 09F6 2-3e: ****    
-       .byte   %11110000       ; 09F7 2-3e: ****    
-
-       .byte   %00001111       ; 09F8 2-3f:     ****
-       .byte   %00001111       ; 09F9 2-3f:     ****
-       .byte   %00001111       ; 09FA 2-3f:     ****
-       .byte   %00001111       ; 09FB 2-3f:     ****
-       .byte   %11110000       ; 09FC 2-3f: ****    
-       .byte   %11110000       ; 09FD 2-3f: ****    
-       .byte   %11110000       ; 09FE 2-3f: ****    
-       .byte   %11110000       ; 09FF 2-3f: ****    
-
-       .byte   %11111111       ; 0A00 2-40: ********
-       .byte   %11111111       ; 0A01 2-40: ********
-       .byte   %11111111       ; 0A02 2-40: ********
-       .byte   %11111111       ; 0A03 2-40: ********
-       .byte   %11111111       ; 0A04 2-40: ********
-       .byte   %11111111       ; 0A05 2-40: ********
-       .byte   %11111111       ; 0A06 2-40: ********
-       .byte   %11111111       ; 0A07 2-40: ********
-
-       .byte   %11111111       ; 0A08 2-41: ********
-       .byte   %11111111       ; 0A09 2-41: ********
-       .byte   %11111111       ; 0A0A 2-41: ********
-       .byte   %11111111       ; 0A0B 2-41: ********
-       .byte   %11111111       ; 0A0C 2-41: ********
-       .byte   %11111111       ; 0A0D 2-41: ********
-       .byte   %11111111       ; 0A0E 2-41: ********
-       .byte   %11111111       ; 0A0F 2-41: ********
-
-       .byte   %11100111       ; 0A10 2-42: ***  ***
-       .byte   %11100111       ; 0A11 2-42: ***  ***
-       .byte   %11100111       ; 0A12 2-42: ***  ***
-       .byte   %11100111       ; 0A13 2-42: ***  ***
-       .byte   %11111111       ; 0A14 2-42: ********
-       .byte   %11111111       ; 0A15 2-42: ********
-       .byte   %11100111       ; 0A16 2-42: ***  ***
-       .byte   %11111111       ; 0A17 2-42: ********
-
-       .byte   %11100111       ; 0A18 2-43: ***  ***
-       .byte   %11100111       ; 0A19 2-43: ***  ***
-       .byte   %11100111       ; 0A1A 2-43: ***  ***
-       .byte   %11100111       ; 0A1B 2-43: ***  ***
-       .byte   %11111111       ; 0A1C 2-43: ********
-       .byte   %11111111       ; 0A1D 2-43: ********
-       .byte   %11100111       ; 0A1E 2-43: ***  ***
-       .byte   %11111111       ; 0A1F 2-43: ********
-
-       .byte   %10011001       ; 0A20 2-44: *  **  *
-       .byte   %10011001       ; 0A21 2-44: *  **  *
-       .byte   %10011001       ; 0A22 2-44: *  **  *
-       .byte   %11111111       ; 0A23 2-44: ********
-       .byte   %11111111       ; 0A24 2-44: ********
-       .byte   %11111111       ; 0A25 2-44: ********
-       .byte   %11111111       ; 0A26 2-44: ********
-       .byte   %11111111       ; 0A27 2-44: ********
-
-       .byte   %10011001       ; 0A28 2-45: *  **  *
-       .byte   %10011001       ; 0A29 2-45: *  **  *
-       .byte   %10011001       ; 0A2A 2-45: *  **  *
-       .byte   %11111111       ; 0A2B 2-45: ********
-       .byte   %11111111       ; 0A2C 2-45: ********
-       .byte   %11111111       ; 0A2D 2-45: ********
-       .byte   %11111111       ; 0A2E 2-45: ********
-       .byte   %11111111       ; 0A2F 2-45: ********
-
-       .byte   %10011001       ; 0A30 2-46: *  **  *
-       .byte   %10011001       ; 0A31 2-46: *  **  *
-       .byte   %00000000       ; 0A32 2-46:         
-       .byte   %10011001       ; 0A33 2-46: *  **  *
-       .byte   %00000000       ; 0A34 2-46:         
-       .byte   %10011001       ; 0A35 2-46: *  **  *
-       .byte   %10011001       ; 0A36 2-46: *  **  *
-       .byte   %11111111       ; 0A37 2-46: ********
-
-       .byte   %10011001       ; 0A38 2-47: *  **  *
-       .byte   %10011001       ; 0A39 2-47: *  **  *
-       .byte   %00000000       ; 0A3A 2-47:         
-       .byte   %10011001       ; 0A3B 2-47: *  **  *
-       .byte   %00000000       ; 0A3C 2-47:         
-       .byte   %10011001       ; 0A3D 2-47: *  **  *
-       .byte   %10011001       ; 0A3E 2-47: *  **  *
-       .byte   %11111111       ; 0A3F 2-47: ********
-
-       .byte   %11100111       ; 0A40 2-48: ***  ***
-       .byte   %11000001       ; 0A41 2-48: **     *
-       .byte   %10011111       ; 0A42 2-48: *  *****
-       .byte   %11000011       ; 0A43 2-48: **    **
-       .byte   %11111001       ; 0A44 2-48: *****  *
-       .byte   %10000011       ; 0A45 2-48: *     **
-       .byte   %11100111       ; 0A46 2-48: ***  ***
-       .byte   %11111111       ; 0A47 2-48: ********
-
-       .byte   %11100111       ; 0A48 2-49: ***  ***
-       .byte   %11000001       ; 0A49 2-49: **     *
-       .byte   %10011111       ; 0A4A 2-49: *  *****
-       .byte   %11000011       ; 0A4B 2-49: **    **
-       .byte   %11111001       ; 0A4C 2-49: *****  *
-       .byte   %10000011       ; 0A4D 2-49: *     **
-       .byte   %11100111       ; 0A4E 2-49: ***  ***
-       .byte   %11111111       ; 0A4F 2-49: ********
-
-       .byte   %11111111       ; 0A50 2-4a: ********
-       .byte   %10011001       ; 0A51 2-4a: *  **  *
-       .byte   %11110011       ; 0A52 2-4a: ****  **
-       .byte   %11100111       ; 0A53 2-4a: ***  ***
-       .byte   %11001111       ; 0A54 2-4a: **  ****
-       .byte   %10011001       ; 0A55 2-4a: *  **  *
-       .byte   %10111001       ; 0A56 2-4a: * ***  *
-       .byte   %11111111       ; 0A57 2-4a: ********
-
-       .byte   %11111111       ; 0A58 2-4b: ********
-       .byte   %10011001       ; 0A59 2-4b: *  **  *
-       .byte   %11110011       ; 0A5A 2-4b: ****  **
-       .byte   %11100111       ; 0A5B 2-4b: ***  ***
-       .byte   %11001111       ; 0A5C 2-4b: **  ****
-       .byte   %10011001       ; 0A5D 2-4b: *  **  *
-       .byte   %10111001       ; 0A5E 2-4b: * ***  *
-       .byte   %11111111       ; 0A5F 2-4b: ********
-
-       .byte   %11000011       ; 0A60 2-4c: **    **
-       .byte   %10011001       ; 0A61 2-4c: *  **  *
-       .byte   %11000011       ; 0A62 2-4c: **    **
-       .byte   %11000111       ; 0A63 2-4c: **   ***
-       .byte   %10011000       ; 0A64 2-4c: *  **   
-       .byte   %10011001       ; 0A65 2-4c: *  **  *
-       .byte   %11000000       ; 0A66 2-4c: **      
-       .byte   %11111111       ; 0A67 2-4c: ********
-
-       .byte   %11000011       ; 0A68 2-4d: **    **
-       .byte   %10011001       ; 0A69 2-4d: *  **  *
-       .byte   %11000011       ; 0A6A 2-4d: **    **
-       .byte   %11000111       ; 0A6B 2-4d: **   ***
-       .byte   %10011000       ; 0A6C 2-4d: *  **   
-       .byte   %10011001       ; 0A6D 2-4d: *  **  *
-       .byte   %11000000       ; 0A6E 2-4d: **      
-       .byte   %11111111       ; 0A6F 2-4d: ********
-
-       .byte   %11111001       ; 0A70 2-4e: *****  *
-       .byte   %11110011       ; 0A71 2-4e: ****  **
-       .byte   %11100111       ; 0A72 2-4e: ***  ***
-       .byte   %11111111       ; 0A73 2-4e: ********
-       .byte   %11111111       ; 0A74 2-4e: ********
-       .byte   %11111111       ; 0A75 2-4e: ********
-       .byte   %11111111       ; 0A76 2-4e: ********
-       .byte   %11111111       ; 0A77 2-4e: ********
-
-       .byte   %11111001       ; 0A78 2-4f: *****  *
-       .byte   %11110011       ; 0A79 2-4f: ****  **
-       .byte   %11100111       ; 0A7A 2-4f: ***  ***
-       .byte   %11111111       ; 0A7B 2-4f: ********
-       .byte   %11111111       ; 0A7C 2-4f: ********
-       .byte   %11111111       ; 0A7D 2-4f: ********
-       .byte   %11111111       ; 0A7E 2-4f: ********
-       .byte   %11111111       ; 0A7F 2-4f: ********
-
-       .byte   %11110011       ; 0A80 2-50: ****  **
-       .byte   %11100111       ; 0A81 2-50: ***  ***
-       .byte   %11001111       ; 0A82 2-50: **  ****
-       .byte   %11001111       ; 0A83 2-50: **  ****
-       .byte   %11001111       ; 0A84 2-50: **  ****
-       .byte   %11100111       ; 0A85 2-50: ***  ***
-       .byte   %11110011       ; 0A86 2-50: ****  **
-       .byte   %11111111       ; 0A87 2-50: ********
-
-       .byte   %11110011       ; 0A88 2-51: ****  **
-       .byte   %11100111       ; 0A89 2-51: ***  ***
-       .byte   %11001111       ; 0A8A 2-51: **  ****
-       .byte   %11001111       ; 0A8B 2-51: **  ****
-       .byte   %11001111       ; 0A8C 2-51: **  ****
-       .byte   %11100111       ; 0A8D 2-51: ***  ***
-       .byte   %11110011       ; 0A8E 2-51: ****  **
-       .byte   %11111111       ; 0A8F 2-51: ********
-
-       .byte   %11001111       ; 0A90 2-52: **  ****
-       .byte   %11100111       ; 0A91 2-52: ***  ***
-       .byte   %11110011       ; 0A92 2-52: ****  **
-       .byte   %11110011       ; 0A93 2-52: ****  **
-       .byte   %11110011       ; 0A94 2-52: ****  **
-       .byte   %11100111       ; 0A95 2-52: ***  ***
-       .byte   %11001111       ; 0A96 2-52: **  ****
-       .byte   %11111111       ; 0A97 2-52: ********
-
-       .byte   %11001111       ; 0A98 2-53: **  ****
-       .byte   %11100111       ; 0A99 2-53: ***  ***
-       .byte   %11110011       ; 0A9A 2-53: ****  **
-       .byte   %11110011       ; 0A9B 2-53: ****  **
-       .byte   %11110011       ; 0A9C 2-53: ****  **
-       .byte   %11100111       ; 0A9D 2-53: ***  ***
-       .byte   %11001111       ; 0A9E 2-53: **  ****
-       .byte   %11111111       ; 0A9F 2-53: ********
-
-       .byte   %11111111       ; 0AA0 2-54: ********
-       .byte   %10011001       ; 0AA1 2-54: *  **  *
-       .byte   %11000011       ; 0AA2 2-54: **    **
-       .byte   %00000000       ; 0AA3 2-54:         
-       .byte   %11000011       ; 0AA4 2-54: **    **
-       .byte   %10011001       ; 0AA5 2-54: *  **  *
-       .byte   %11111111       ; 0AA6 2-54: ********
-       .byte   %11111111       ; 0AA7 2-54: ********
-
-       .byte   %11111111       ; 0AA8 2-55: ********
-       .byte   %10011001       ; 0AA9 2-55: *  **  *
-       .byte   %11000011       ; 0AAA 2-55: **    **
-       .byte   %00000000       ; 0AAB 2-55:         
-       .byte   %11000011       ; 0AAC 2-55: **    **
-       .byte   %10011001       ; 0AAD 2-55: *  **  *
-       .byte   %11111111       ; 0AAE 2-55: ********
-       .byte   %11111111       ; 0AAF 2-55: ********
-
-       .byte   %11111111       ; 0AB0 2-56: ********
-       .byte   %11100111       ; 0AB1 2-56: ***  ***
-       .byte   %11100111       ; 0AB2 2-56: ***  ***
-       .byte   %10000001       ; 0AB3 2-56: *      *
-       .byte   %11100111       ; 0AB4 2-56: ***  ***
-       .byte   %11100111       ; 0AB5 2-56: ***  ***
-       .byte   %11111111       ; 0AB6 2-56: ********
-       .byte   %11111111       ; 0AB7 2-56: ********
-
-       .byte   %11111111       ; 0AB8 2-57: ********
-       .byte   %11100111       ; 0AB9 2-57: ***  ***
-       .byte   %11100111       ; 0ABA 2-57: ***  ***
-       .byte   %10000001       ; 0ABB 2-57: *      *
-       .byte   %11100111       ; 0ABC 2-57: ***  ***
-       .byte   %11100111       ; 0ABD 2-57: ***  ***
-       .byte   %11111111       ; 0ABE 2-57: ********
-       .byte   %11111111       ; 0ABF 2-57: ********
-
-       .byte   %11111111       ; 0AC0 2-58: ********
-       .byte   %11111111       ; 0AC1 2-58: ********
-       .byte   %11111111       ; 0AC2 2-58: ********
-       .byte   %11111111       ; 0AC3 2-58: ********
-       .byte   %11111111       ; 0AC4 2-58: ********
-       .byte   %11100111       ; 0AC5 2-58: ***  ***
-       .byte   %11100111       ; 0AC6 2-58: ***  ***
-       .byte   %11001111       ; 0AC7 2-58: **  ****
-
-       .byte   %11111111       ; 0AC8 2-59: ********
-       .byte   %11111111       ; 0AC9 2-59: ********
-       .byte   %11111111       ; 0ACA 2-59: ********
-       .byte   %11111111       ; 0ACB 2-59: ********
-       .byte   %11111111       ; 0ACC 2-59: ********
-       .byte   %11100111       ; 0ACD 2-59: ***  ***
-       .byte   %11100111       ; 0ACE 2-59: ***  ***
-       .byte   %11001111       ; 0ACF 2-59: **  ****
-
-       .byte   %11111111       ; 0AD0 2-5a: ********
-       .byte   %11111111       ; 0AD1 2-5a: ********
-       .byte   %11111111       ; 0AD2 2-5a: ********
-       .byte   %10000001       ; 0AD3 2-5a: *      *
-       .byte   %11111111       ; 0AD4 2-5a: ********
-       .byte   %11111111       ; 0AD5 2-5a: ********
-       .byte   %11111111       ; 0AD6 2-5a: ********
-       .byte   %11111111       ; 0AD7 2-5a: ********
-
-       .byte   %11111111       ; 0AD8 2-5b: ********
-       .byte   %11111111       ; 0AD9 2-5b: ********
-       .byte   %11111111       ; 0ADA 2-5b: ********
-       .byte   %10000001       ; 0ADB 2-5b: *      *
-       .byte   %11111111       ; 0ADC 2-5b: ********
-       .byte   %11111111       ; 0ADD 2-5b: ********
-       .byte   %11111111       ; 0ADE 2-5b: ********
-       .byte   %11111111       ; 0ADF 2-5b: ********
-
-       .byte   %11111111       ; 0AE0 2-5c: ********
-       .byte   %11111111       ; 0AE1 2-5c: ********
-       .byte   %11111111       ; 0AE2 2-5c: ********
-       .byte   %11111111       ; 0AE3 2-5c: ********
-       .byte   %11111111       ; 0AE4 2-5c: ********
-       .byte   %11100111       ; 0AE5 2-5c: ***  ***
-       .byte   %11100111       ; 0AE6 2-5c: ***  ***
-       .byte   %11111111       ; 0AE7 2-5c: ********
-
-       .byte   %11111111       ; 0AE8 2-5d: ********
-       .byte   %11111111       ; 0AE9 2-5d: ********
-       .byte   %11111111       ; 0AEA 2-5d: ********
-       .byte   %11111111       ; 0AEB 2-5d: ********
-       .byte   %11111111       ; 0AEC 2-5d: ********
-       .byte   %11100111       ; 0AED 2-5d: ***  ***
-       .byte   %11100111       ; 0AEE 2-5d: ***  ***
-       .byte   %11111111       ; 0AEF 2-5d: ********
-
-       .byte   %11111111       ; 0AF0 2-5e: ********
-       .byte   %11111100       ; 0AF1 2-5e: ******  
-       .byte   %11111001       ; 0AF2 2-5e: *****  *
-       .byte   %11110011       ; 0AF3 2-5e: ****  **
-       .byte   %11100111       ; 0AF4 2-5e: ***  ***
-       .byte   %11001111       ; 0AF5 2-5e: **  ****
-       .byte   %10011111       ; 0AF6 2-5e: *  *****
-       .byte   %11111111       ; 0AF7 2-5e: ********
-
-       .byte   %11111111       ; 0AF8 2-5f: ********
-       .byte   %11111100       ; 0AF9 2-5f: ******  
-       .byte   %11111001       ; 0AFA 2-5f: *****  *
-       .byte   %11110011       ; 0AFB 2-5f: ****  **
-       .byte   %11100111       ; 0AFC 2-5f: ***  ***
-       .byte   %11001111       ; 0AFD 2-5f: **  ****
-       .byte   %10011111       ; 0AFE 2-5f: *  *****
-       .byte   %11111111       ; 0AFF 2-5f: ********
-
-       .byte   %11000011       ; 0B00 2-60: **    **
-       .byte   %10011001       ; 0B01 2-60: *  **  *
-       .byte   %10010001       ; 0B02 2-60: *  *   *
-       .byte   %10001001       ; 0B03 2-60: *   *  *
-       .byte   %10011001       ; 0B04 2-60: *  **  *
-       .byte   %10011001       ; 0B05 2-60: *  **  *
-       .byte   %11000011       ; 0B06 2-60: **    **
-       .byte   %11111111       ; 0B07 2-60: ********
-
-       .byte   %11000011       ; 0B08 2-61: **    **
-       .byte   %10011001       ; 0B09 2-61: *  **  *
-       .byte   %10010001       ; 0B0A 2-61: *  *   *
-       .byte   %10001001       ; 0B0B 2-61: *   *  *
-       .byte   %10011001       ; 0B0C 2-61: *  **  *
-       .byte   %10011001       ; 0B0D 2-61: *  **  *
-       .byte   %11000011       ; 0B0E 2-61: **    **
-       .byte   %11111111       ; 0B0F 2-61: ********
-
-       .byte   %11100111       ; 0B10 2-62: ***  ***
-       .byte   %11100111       ; 0B11 2-62: ***  ***
-       .byte   %11000111       ; 0B12 2-62: **   ***
-       .byte   %11100111       ; 0B13 2-62: ***  ***
-       .byte   %11100111       ; 0B14 2-62: ***  ***
-       .byte   %11100111       ; 0B15 2-62: ***  ***
-       .byte   %10000001       ; 0B16 2-62: *      *
-       .byte   %11111111       ; 0B17 2-62: ********
-
-       .byte   %11100111       ; 0B18 2-63: ***  ***
-       .byte   %11100111       ; 0B19 2-63: ***  ***
-       .byte   %11000111       ; 0B1A 2-63: **   ***
-       .byte   %11100111       ; 0B1B 2-63: ***  ***
-       .byte   %11100111       ; 0B1C 2-63: ***  ***
-       .byte   %11100111       ; 0B1D 2-63: ***  ***
-       .byte   %10000001       ; 0B1E 2-63: *      *
-       .byte   %11111111       ; 0B1F 2-63: ********
-
-       .byte   %11000011       ; 0B20 2-64: **    **
-       .byte   %10011001       ; 0B21 2-64: *  **  *
-       .byte   %11111001       ; 0B22 2-64: *****  *
-       .byte   %11110011       ; 0B23 2-64: ****  **
-       .byte   %11001111       ; 0B24 2-64: **  ****
-       .byte   %10011111       ; 0B25 2-64: *  *****
-       .byte   %10000001       ; 0B26 2-64: *      *
-       .byte   %11111111       ; 0B27 2-64: ********
-
-       .byte   %11000011       ; 0B28 2-65: **    **
-       .byte   %10011001       ; 0B29 2-65: *  **  *
-       .byte   %11111001       ; 0B2A 2-65: *****  *
-       .byte   %11110011       ; 0B2B 2-65: ****  **
-       .byte   %11001111       ; 0B2C 2-65: **  ****
-       .byte   %10011111       ; 0B2D 2-65: *  *****
-       .byte   %10000001       ; 0B2E 2-65: *      *
-       .byte   %11111111       ; 0B2F 2-65: ********
-
-       .byte   %11000011       ; 0B30 2-66: **    **
-       .byte   %10011001       ; 0B31 2-66: *  **  *
-       .byte   %11111001       ; 0B32 2-66: *****  *
-       .byte   %11100011       ; 0B33 2-66: ***   **
-       .byte   %11111001       ; 0B34 2-66: *****  *
-       .byte   %10011001       ; 0B35 2-66: *  **  *
-       .byte   %11000011       ; 0B36 2-66: **    **
-       .byte   %11111111       ; 0B37 2-66: ********
-
-       .byte   %11000011       ; 0B38 2-67: **    **
-       .byte   %10011001       ; 0B39 2-67: *  **  *
-       .byte   %11111001       ; 0B3A 2-67: *****  *
-       .byte   %11100011       ; 0B3B 2-67: ***   **
-       .byte   %11111001       ; 0B3C 2-67: *****  *
-       .byte   %10011001       ; 0B3D 2-67: *  **  *
-       .byte   %11000011       ; 0B3E 2-67: **    **
-       .byte   %11111111       ; 0B3F 2-67: ********
-
-       .byte   %11111001       ; 0B40 2-68: *****  *
-       .byte   %11110001       ; 0B41 2-68: ****   *
-       .byte   %11100001       ; 0B42 2-68: ***    *
-       .byte   %10011001       ; 0B43 2-68: *  **  *
-       .byte   %10000000       ; 0B44 2-68: *       
-       .byte   %11111001       ; 0B45 2-68: *****  *
-       .byte   %11111001       ; 0B46 2-68: *****  *
-       .byte   %11111111       ; 0B47 2-68: ********
-
-       .byte   %11111001       ; 0B48 2-69: *****  *
-       .byte   %11110001       ; 0B49 2-69: ****   *
-       .byte   %11100001       ; 0B4A 2-69: ***    *
-       .byte   %10011001       ; 0B4B 2-69: *  **  *
-       .byte   %10000000       ; 0B4C 2-69: *       
-       .byte   %11111001       ; 0B4D 2-69: *****  *
-       .byte   %11111001       ; 0B4E 2-69: *****  *
-       .byte   %11111111       ; 0B4F 2-69: ********
-
-       .byte   %10000001       ; 0B50 2-6a: *      *
-       .byte   %10011111       ; 0B51 2-6a: *  *****
-       .byte   %10000011       ; 0B52 2-6a: *     **
-       .byte   %11111001       ; 0B53 2-6a: *****  *
-       .byte   %11111001       ; 0B54 2-6a: *****  *
-       .byte   %10011001       ; 0B55 2-6a: *  **  *
-       .byte   %11000011       ; 0B56 2-6a: **    **
-       .byte   %11111111       ; 0B57 2-6a: ********
-
-       .byte   %10000001       ; 0B58 2-6b: *      *
-       .byte   %10011111       ; 0B59 2-6b: *  *****
-       .byte   %10000011       ; 0B5A 2-6b: *     **
-       .byte   %11111001       ; 0B5B 2-6b: *****  *
-       .byte   %11111001       ; 0B5C 2-6b: *****  *
-       .byte   %10011001       ; 0B5D 2-6b: *  **  *
-       .byte   %11000011       ; 0B5E 2-6b: **    **
-       .byte   %11111111       ; 0B5F 2-6b: ********
-
-       .byte   %11000011       ; 0B60 2-6c: **    **
-       .byte   %10011001       ; 0B61 2-6c: *  **  *
-       .byte   %10011111       ; 0B62 2-6c: *  *****
-       .byte   %10000011       ; 0B63 2-6c: *     **
-       .byte   %10011001       ; 0B64 2-6c: *  **  *
-       .byte   %10011001       ; 0B65 2-6c: *  **  *
-       .byte   %11000011       ; 0B66 2-6c: **    **
-       .byte   %11111111       ; 0B67 2-6c: ********
-
-       .byte   %11000011       ; 0B68 2-6d: **    **
-       .byte   %10011001       ; 0B69 2-6d: *  **  *
-       .byte   %10011111       ; 0B6A 2-6d: *  *****
-       .byte   %10000011       ; 0B6B 2-6d: *     **
-       .byte   %10011001       ; 0B6C 2-6d: *  **  *
-       .byte   %10011001       ; 0B6D 2-6d: *  **  *
-       .byte   %11000011       ; 0B6E 2-6d: **    **
-       .byte   %11111111       ; 0B6F 2-6d: ********
-
-       .byte   %10000001       ; 0B70 2-6e: *      *
-       .byte   %10011001       ; 0B71 2-6e: *  **  *
-       .byte   %11110011       ; 0B72 2-6e: ****  **
-       .byte   %11100111       ; 0B73 2-6e: ***  ***
-       .byte   %11100111       ; 0B74 2-6e: ***  ***
-       .byte   %11100111       ; 0B75 2-6e: ***  ***
-       .byte   %11100111       ; 0B76 2-6e: ***  ***
-       .byte   %11111111       ; 0B77 2-6e: ********
-
-       .byte   %10000001       ; 0B78 2-6f: *      *
-       .byte   %10011001       ; 0B79 2-6f: *  **  *
-       .byte   %11110011       ; 0B7A 2-6f: ****  **
-       .byte   %11100111       ; 0B7B 2-6f: ***  ***
-       .byte   %11100111       ; 0B7C 2-6f: ***  ***
-       .byte   %11100111       ; 0B7D 2-6f: ***  ***
-       .byte   %11100111       ; 0B7E 2-6f: ***  ***
-       .byte   %11111111       ; 0B7F 2-6f: ********
-
-       .byte   %11000011       ; 0B80 2-70: **    **
-       .byte   %10011001       ; 0B81 2-70: *  **  *
-       .byte   %10011001       ; 0B82 2-70: *  **  *
-       .byte   %11000011       ; 0B83 2-70: **    **
-       .byte   %10011001       ; 0B84 2-70: *  **  *
-       .byte   %10011001       ; 0B85 2-70: *  **  *
-       .byte   %11000011       ; 0B86 2-70: **    **
-       .byte   %11111111       ; 0B87 2-70: ********
-
-       .byte   %11000011       ; 0B88 2-71: **    **
-       .byte   %10011001       ; 0B89 2-71: *  **  *
-       .byte   %10011001       ; 0B8A 2-71: *  **  *
-       .byte   %11000011       ; 0B8B 2-71: **    **
-       .byte   %10011001       ; 0B8C 2-71: *  **  *
-       .byte   %10011001       ; 0B8D 2-71: *  **  *
-       .byte   %11000011       ; 0B8E 2-71: **    **
-       .byte   %11111111       ; 0B8F 2-71: ********
-
-       .byte   %11000011       ; 0B90 2-72: **    **
-       .byte   %10011001       ; 0B91 2-72: *  **  *
-       .byte   %10011001       ; 0B92 2-72: *  **  *
-       .byte   %11000001       ; 0B93 2-72: **     *
-       .byte   %11111001       ; 0B94 2-72: *****  *
-       .byte   %10011001       ; 0B95 2-72: *  **  *
-       .byte   %11000011       ; 0B96 2-72: **    **
-       .byte   %11111111       ; 0B97 2-72: ********
-
-       .byte   %11000011       ; 0B98 2-73: **    **
-       .byte   %10011001       ; 0B99 2-73: *  **  *
-       .byte   %10011001       ; 0B9A 2-73: *  **  *
-       .byte   %11000001       ; 0B9B 2-73: **     *
-       .byte   %11111001       ; 0B9C 2-73: *****  *
-       .byte   %10011001       ; 0B9D 2-73: *  **  *
-       .byte   %11000011       ; 0B9E 2-73: **    **
-       .byte   %11111111       ; 0B9F 2-73: ********
-
-       .byte   %11111111       ; 0BA0 2-74: ********
-       .byte   %11111111       ; 0BA1 2-74: ********
-       .byte   %11100111       ; 0BA2 2-74: ***  ***
-       .byte   %11111111       ; 0BA3 2-74: ********
-       .byte   %11111111       ; 0BA4 2-74: ********
-       .byte   %11100111       ; 0BA5 2-74: ***  ***
-       .byte   %11111111       ; 0BA6 2-74: ********
-       .byte   %11111111       ; 0BA7 2-74: ********
-
-       .byte   %11111111       ; 0BA8 2-75: ********
-       .byte   %11111111       ; 0BA9 2-75: ********
-       .byte   %11100111       ; 0BAA 2-75: ***  ***
-       .byte   %11111111       ; 0BAB 2-75: ********
-       .byte   %11111111       ; 0BAC 2-75: ********
-       .byte   %11100111       ; 0BAD 2-75: ***  ***
-       .byte   %11111111       ; 0BAE 2-75: ********
-       .byte   %11111111       ; 0BAF 2-75: ********
-
-       .byte   %11111111       ; 0BB0 2-76: ********
-       .byte   %11111111       ; 0BB1 2-76: ********
-       .byte   %11100111       ; 0BB2 2-76: ***  ***
-       .byte   %11111111       ; 0BB3 2-76: ********
-       .byte   %11111111       ; 0BB4 2-76: ********
-       .byte   %11100111       ; 0BB5 2-76: ***  ***
-       .byte   %11100111       ; 0BB6 2-76: ***  ***
-       .byte   %11001111       ; 0BB7 2-76: **  ****
-
-       .byte   %11111111       ; 0BB8 2-77: ********
-       .byte   %11111111       ; 0BB9 2-77: ********
-       .byte   %11100111       ; 0BBA 2-77: ***  ***
-       .byte   %11111111       ; 0BBB 2-77: ********
-       .byte   %11111111       ; 0BBC 2-77: ********
-       .byte   %11100111       ; 0BBD 2-77: ***  ***
-       .byte   %11100111       ; 0BBE 2-77: ***  ***
-       .byte   %11001111       ; 0BBF 2-77: **  ****
-
-       .byte   %11110001       ; 0BC0 2-78: ****   *
-       .byte   %11100111       ; 0BC1 2-78: ***  ***
-       .byte   %11001111       ; 0BC2 2-78: **  ****
-       .byte   %10011111       ; 0BC3 2-78: *  *****
-       .byte   %11001111       ; 0BC4 2-78: **  ****
-       .byte   %11100111       ; 0BC5 2-78: ***  ***
-       .byte   %11110001       ; 0BC6 2-78: ****   *
-       .byte   %11111111       ; 0BC7 2-78: ********
-
-       .byte   %11110001       ; 0BC8 2-79: ****   *
-       .byte   %11100111       ; 0BC9 2-79: ***  ***
-       .byte   %11001111       ; 0BCA 2-79: **  ****
-       .byte   %10011111       ; 0BCB 2-79: *  *****
-       .byte   %11001111       ; 0BCC 2-79: **  ****
-       .byte   %11100111       ; 0BCD 2-79: ***  ***
-       .byte   %11110001       ; 0BCE 2-79: ****   *
-       .byte   %11111111       ; 0BCF 2-79: ********
-
-       .byte   %11111111       ; 0BD0 2-7a: ********
-       .byte   %11111111       ; 0BD1 2-7a: ********
-       .byte   %10000001       ; 0BD2 2-7a: *      *
-       .byte   %11111111       ; 0BD3 2-7a: ********
-       .byte   %10000001       ; 0BD4 2-7a: *      *
-       .byte   %11111111       ; 0BD5 2-7a: ********
-       .byte   %11111111       ; 0BD6 2-7a: ********
-       .byte   %11111111       ; 0BD7 2-7a: ********
-
-       .byte   %11111111       ; 0BD8 2-7b: ********
-       .byte   %11111111       ; 0BD9 2-7b: ********
-       .byte   %10000001       ; 0BDA 2-7b: *      *
-       .byte   %11111111       ; 0BDB 2-7b: ********
-       .byte   %10000001       ; 0BDC 2-7b: *      *
-       .byte   %11111111       ; 0BDD 2-7b: ********
-       .byte   %11111111       ; 0BDE 2-7b: ********
-       .byte   %11111111       ; 0BDF 2-7b: ********
-
-       .byte   %10001111       ; 0BE0 2-7c: *   ****
-       .byte   %11100111       ; 0BE1 2-7c: ***  ***
-       .byte   %11110011       ; 0BE2 2-7c: ****  **
-       .byte   %11111001       ; 0BE3 2-7c: *****  *
-       .byte   %11110011       ; 0BE4 2-7c: ****  **
-       .byte   %11100111       ; 0BE5 2-7c: ***  ***
-       .byte   %10001111       ; 0BE6 2-7c: *   ****
-       .byte   %11111111       ; 0BE7 2-7c: ********
-
-       .byte   %10001111       ; 0BE8 2-7d: *   ****
-       .byte   %11100111       ; 0BE9 2-7d: ***  ***
-       .byte   %11110011       ; 0BEA 2-7d: ****  **
-       .byte   %11111001       ; 0BEB 2-7d: *****  *
-       .byte   %11110011       ; 0BEC 2-7d: ****  **
-       .byte   %11100111       ; 0BED 2-7d: ***  ***
-       .byte   %10001111       ; 0BEE 2-7d: *   ****
-       .byte   %11111111       ; 0BEF 2-7d: ********
-
-       .byte   %11000011       ; 0BF0 2-7e: **    **
-       .byte   %10011001       ; 0BF1 2-7e: *  **  *
-       .byte   %11111001       ; 0BF2 2-7e: *****  *
-       .byte   %11110011       ; 0BF3 2-7e: ****  **
-       .byte   %11100111       ; 0BF4 2-7e: ***  ***
-       .byte   %11111111       ; 0BF5 2-7e: ********
-       .byte   %11100111       ; 0BF6 2-7e: ***  ***
-       .byte   %11111111       ; 0BF7 2-7e: ********
-
-       .byte   %11000011       ; 0BF8 2-7f: **    **
-       .byte   %10011001       ; 0BF9 2-7f: *  **  *
-       .byte   %11111001       ; 0BFA 2-7f: *****  *
-       .byte   %11110011       ; 0BFB 2-7f: ****  **
-       .byte   %11100111       ; 0BFC 2-7f: ***  ***
-       .byte   %11111111       ; 0BFD 2-7f: ********
-       .byte   %11100111       ; 0BFE 2-7f: ***  ***
-       .byte   %11111111       ; 0BFF 2-7f: ********
-
-       .byte   %11000011       ; 0C00 2-80: **    **
-       .byte   %10011001       ; 0C01 2-80: *  **  *
-       .byte   %10010001       ; 0C02 2-80: *  *   *
-       .byte   %10010001       ; 0C03 2-80: *  *   *
-       .byte   %10011111       ; 0C04 2-80: *  *****
-       .byte   %10011101       ; 0C05 2-80: *  *** *
-       .byte   %11000011       ; 0C06 2-80: **    **
-       .byte   %11111111       ; 0C07 2-80: ********
-
-       .byte   %11000011       ; 0C08 2-81: **    **
-       .byte   %10011001       ; 0C09 2-81: *  **  *
-       .byte   %10010001       ; 0C0A 2-81: *  *   *
-       .byte   %10010001       ; 0C0B 2-81: *  *   *
-       .byte   %10011111       ; 0C0C 2-81: *  *****
-       .byte   %10011101       ; 0C0D 2-81: *  *** *
-       .byte   %11000011       ; 0C0E 2-81: **    **
-       .byte   %11111111       ; 0C0F 2-81: ********
-
-       .byte   %11100111       ; 0C10 2-82: ***  ***
-       .byte   %11000011       ; 0C11 2-82: **    **
-       .byte   %10011001       ; 0C12 2-82: *  **  *
-       .byte   %10000001       ; 0C13 2-82: *      *
-       .byte   %10011001       ; 0C14 2-82: *  **  *
-       .byte   %10011001       ; 0C15 2-82: *  **  *
-       .byte   %10011001       ; 0C16 2-82: *  **  *
-       .byte   %11111111       ; 0C17 2-82: ********
-
-       .byte   %11100111       ; 0C18 2-83: ***  ***
-       .byte   %11000011       ; 0C19 2-83: **    **
-       .byte   %10011001       ; 0C1A 2-83: *  **  *
-       .byte   %10000001       ; 0C1B 2-83: *      *
-       .byte   %10011001       ; 0C1C 2-83: *  **  *
-       .byte   %10011001       ; 0C1D 2-83: *  **  *
-       .byte   %10011001       ; 0C1E 2-83: *  **  *
-       .byte   %11111111       ; 0C1F 2-83: ********
-
-       .byte   %10000011       ; 0C20 2-84: *     **
-       .byte   %10011001       ; 0C21 2-84: *  **  *
-       .byte   %10011001       ; 0C22 2-84: *  **  *
-       .byte   %10000011       ; 0C23 2-84: *     **
-       .byte   %10011001       ; 0C24 2-84: *  **  *
-       .byte   %10011001       ; 0C25 2-84: *  **  *
-       .byte   %10000011       ; 0C26 2-84: *     **
-       .byte   %11111111       ; 0C27 2-84: ********
-
-       .byte   %10000011       ; 0C28 2-85: *     **
-       .byte   %10011001       ; 0C29 2-85: *  **  *
-       .byte   %10011001       ; 0C2A 2-85: *  **  *
-       .byte   %10000011       ; 0C2B 2-85: *     **
-       .byte   %10011001       ; 0C2C 2-85: *  **  *
-       .byte   %10011001       ; 0C2D 2-85: *  **  *
-       .byte   %10000011       ; 0C2E 2-85: *     **
-       .byte   %11111111       ; 0C2F 2-85: ********
-
-       .byte   %11000011       ; 0C30 2-86: **    **
-       .byte   %10011001       ; 0C31 2-86: *  **  *
-       .byte   %10011111       ; 0C32 2-86: *  *****
-       .byte   %10011111       ; 0C33 2-86: *  *****
-       .byte   %10011111       ; 0C34 2-86: *  *****
-       .byte   %10011001       ; 0C35 2-86: *  **  *
-       .byte   %11000011       ; 0C36 2-86: **    **
-       .byte   %11111111       ; 0C37 2-86: ********
-
-       .byte   %11000011       ; 0C38 2-87: **    **
-       .byte   %10011001       ; 0C39 2-87: *  **  *
-       .byte   %10011111       ; 0C3A 2-87: *  *****
-       .byte   %10011111       ; 0C3B 2-87: *  *****
-       .byte   %10011111       ; 0C3C 2-87: *  *****
-       .byte   %10011001       ; 0C3D 2-87: *  **  *
-       .byte   %11000011       ; 0C3E 2-87: **    **
-       .byte   %11111111       ; 0C3F 2-87: ********
-
-       .byte   %10000111       ; 0C40 2-88: *    ***
-       .byte   %10010011       ; 0C41 2-88: *  *  **
-       .byte   %10011001       ; 0C42 2-88: *  **  *
-       .byte   %10011001       ; 0C43 2-88: *  **  *
-       .byte   %10011001       ; 0C44 2-88: *  **  *
-       .byte   %10010011       ; 0C45 2-88: *  *  **
-       .byte   %10000111       ; 0C46 2-88: *    ***
-       .byte   %11111111       ; 0C47 2-88: ********
-
-       .byte   %10000111       ; 0C48 2-89: *    ***
-       .byte   %10010011       ; 0C49 2-89: *  *  **
-       .byte   %10011001       ; 0C4A 2-89: *  **  *
-       .byte   %10011001       ; 0C4B 2-89: *  **  *
-       .byte   %10011001       ; 0C4C 2-89: *  **  *
-       .byte   %10010011       ; 0C4D 2-89: *  *  **
-       .byte   %10000111       ; 0C4E 2-89: *    ***
-       .byte   %11111111       ; 0C4F 2-89: ********
-
-       .byte   %10000001       ; 0C50 2-8a: *      *
-       .byte   %10011111       ; 0C51 2-8a: *  *****
-       .byte   %10011111       ; 0C52 2-8a: *  *****
-       .byte   %10000111       ; 0C53 2-8a: *    ***
-       .byte   %10011111       ; 0C54 2-8a: *  *****
-       .byte   %10011111       ; 0C55 2-8a: *  *****
-       .byte   %10000001       ; 0C56 2-8a: *      *
-       .byte   %11111111       ; 0C57 2-8a: ********
-
-       .byte   %10000001       ; 0C58 2-8b: *      *
-       .byte   %10011111       ; 0C59 2-8b: *  *****
-       .byte   %10011111       ; 0C5A 2-8b: *  *****
-       .byte   %10000111       ; 0C5B 2-8b: *    ***
-       .byte   %10011111       ; 0C5C 2-8b: *  *****
-       .byte   %10011111       ; 0C5D 2-8b: *  *****
-       .byte   %10000001       ; 0C5E 2-8b: *      *
-       .byte   %11111111       ; 0C5F 2-8b: ********
-
-       .byte   %10000001       ; 0C60 2-8c: *      *
-       .byte   %10011111       ; 0C61 2-8c: *  *****
-       .byte   %10011111       ; 0C62 2-8c: *  *****
-       .byte   %10000111       ; 0C63 2-8c: *    ***
-       .byte   %10011111       ; 0C64 2-8c: *  *****
-       .byte   %10011111       ; 0C65 2-8c: *  *****
-       .byte   %10011111       ; 0C66 2-8c: *  *****
-       .byte   %11111111       ; 0C67 2-8c: ********
-
-       .byte   %10000001       ; 0C68 2-8d: *      *
-       .byte   %10011111       ; 0C69 2-8d: *  *****
-       .byte   %10011111       ; 0C6A 2-8d: *  *****
-       .byte   %10000111       ; 0C6B 2-8d: *    ***
-       .byte   %10011111       ; 0C6C 2-8d: *  *****
-       .byte   %10011111       ; 0C6D 2-8d: *  *****
-       .byte   %10011111       ; 0C6E 2-8d: *  *****
-       .byte   %11111111       ; 0C6F 2-8d: ********
-
-       .byte   %11000011       ; 0C70 2-8e: **    **
-       .byte   %10011001       ; 0C71 2-8e: *  **  *
-       .byte   %10011111       ; 0C72 2-8e: *  *****
-       .byte   %10010001       ; 0C73 2-8e: *  *   *
-       .byte   %10011001       ; 0C74 2-8e: *  **  *
-       .byte   %10011001       ; 0C75 2-8e: *  **  *
-       .byte   %11000011       ; 0C76 2-8e: **    **
-       .byte   %11111111       ; 0C77 2-8e: ********
-
-       .byte   %11000011       ; 0C78 2-8f: **    **
-       .byte   %10011001       ; 0C79 2-8f: *  **  *
-       .byte   %10011111       ; 0C7A 2-8f: *  *****
-       .byte   %10010001       ; 0C7B 2-8f: *  *   *
-       .byte   %10011001       ; 0C7C 2-8f: *  **  *
-       .byte   %10011001       ; 0C7D 2-8f: *  **  *
-       .byte   %11000011       ; 0C7E 2-8f: **    **
-       .byte   %11111111       ; 0C7F 2-8f: ********
-
-       .byte   %10011001       ; 0C80 2-90: *  **  *
-       .byte   %10011001       ; 0C81 2-90: *  **  *
-       .byte   %10011001       ; 0C82 2-90: *  **  *
-       .byte   %10000001       ; 0C83 2-90: *      *
-       .byte   %10011001       ; 0C84 2-90: *  **  *
-       .byte   %10011001       ; 0C85 2-90: *  **  *
-       .byte   %10011001       ; 0C86 2-90: *  **  *
-       .byte   %11111111       ; 0C87 2-90: ********
-
-       .byte   %10011001       ; 0C88 2-91: *  **  *
-       .byte   %10011001       ; 0C89 2-91: *  **  *
-       .byte   %10011001       ; 0C8A 2-91: *  **  *
-       .byte   %10000001       ; 0C8B 2-91: *      *
-       .byte   %10011001       ; 0C8C 2-91: *  **  *
-       .byte   %10011001       ; 0C8D 2-91: *  **  *
-       .byte   %10011001       ; 0C8E 2-91: *  **  *
-       .byte   %11111111       ; 0C8F 2-91: ********
-
-       .byte   %11000011       ; 0C90 2-92: **    **
-       .byte   %11100111       ; 0C91 2-92: ***  ***
-       .byte   %11100111       ; 0C92 2-92: ***  ***
-       .byte   %11100111       ; 0C93 2-92: ***  ***
-       .byte   %11100111       ; 0C94 2-92: ***  ***
-       .byte   %11100111       ; 0C95 2-92: ***  ***
-       .byte   %11000011       ; 0C96 2-92: **    **
-       .byte   %11111111       ; 0C97 2-92: ********
-
-       .byte   %11000011       ; 0C98 2-93: **    **
-       .byte   %11100111       ; 0C99 2-93: ***  ***
-       .byte   %11100111       ; 0C9A 2-93: ***  ***
-       .byte   %11100111       ; 0C9B 2-93: ***  ***
-       .byte   %11100111       ; 0C9C 2-93: ***  ***
-       .byte   %11100111       ; 0C9D 2-93: ***  ***
-       .byte   %11000011       ; 0C9E 2-93: **    **
-       .byte   %11111111       ; 0C9F 2-93: ********
-
-       .byte   %11100001       ; 0CA0 2-94: ***    *
-       .byte   %11110011       ; 0CA1 2-94: ****  **
-       .byte   %11110011       ; 0CA2 2-94: ****  **
-       .byte   %11110011       ; 0CA3 2-94: ****  **
-       .byte   %11110011       ; 0CA4 2-94: ****  **
-       .byte   %10010011       ; 0CA5 2-94: *  *  **
-       .byte   %11000111       ; 0CA6 2-94: **   ***
-       .byte   %11111111       ; 0CA7 2-94: ********
-
-       .byte   %11100001       ; 0CA8 2-95: ***    *
-       .byte   %11110011       ; 0CA9 2-95: ****  **
-       .byte   %11110011       ; 0CAA 2-95: ****  **
-       .byte   %11110011       ; 0CAB 2-95: ****  **
-       .byte   %11110011       ; 0CAC 2-95: ****  **
-       .byte   %10010011       ; 0CAD 2-95: *  *  **
-       .byte   %11000111       ; 0CAE 2-95: **   ***
-       .byte   %11111111       ; 0CAF 2-95: ********
-
-       .byte   %10011001       ; 0CB0 2-96: *  **  *
-       .byte   %10010011       ; 0CB1 2-96: *  *  **
-       .byte   %10000111       ; 0CB2 2-96: *    ***
-       .byte   %10001111       ; 0CB3 2-96: *   ****
-       .byte   %10000111       ; 0CB4 2-96: *    ***
-       .byte   %10010011       ; 0CB5 2-96: *  *  **
-       .byte   %10011001       ; 0CB6 2-96: *  **  *
-       .byte   %11111111       ; 0CB7 2-96: ********
-
-       .byte   %10011001       ; 0CB8 2-97: *  **  *
-       .byte   %10010011       ; 0CB9 2-97: *  *  **
-       .byte   %10000111       ; 0CBA 2-97: *    ***
-       .byte   %10001111       ; 0CBB 2-97: *   ****
-       .byte   %10000111       ; 0CBC 2-97: *    ***
-       .byte   %10010011       ; 0CBD 2-97: *  *  **
-       .byte   %10011001       ; 0CBE 2-97: *  **  *
-       .byte   %11111111       ; 0CBF 2-97: ********
-
-       .byte   %10011111       ; 0CC0 2-98: *  *****
-       .byte   %10011111       ; 0CC1 2-98: *  *****
-       .byte   %10011111       ; 0CC2 2-98: *  *****
-       .byte   %10011111       ; 0CC3 2-98: *  *****
-       .byte   %10011111       ; 0CC4 2-98: *  *****
-       .byte   %10011111       ; 0CC5 2-98: *  *****
-       .byte   %10000001       ; 0CC6 2-98: *      *
-       .byte   %11111111       ; 0CC7 2-98: ********
-
-       .byte   %10011111       ; 0CC8 2-99: *  *****
-       .byte   %10011111       ; 0CC9 2-99: *  *****
-       .byte   %10011111       ; 0CCA 2-99: *  *****
-       .byte   %10011111       ; 0CCB 2-99: *  *****
-       .byte   %10011111       ; 0CCC 2-99: *  *****
-       .byte   %10011111       ; 0CCD 2-99: *  *****
-       .byte   %10000001       ; 0CCE 2-99: *      *
-       .byte   %11111111       ; 0CCF 2-99: ********
-
-       .byte   %10011100       ; 0CD0 2-9a: *  ***  
-       .byte   %10001000       ; 0CD1 2-9a: *   *   
-       .byte   %10000000       ; 0CD2 2-9a: *       
-       .byte   %10010100       ; 0CD3 2-9a: *  * *  
-       .byte   %10011100       ; 0CD4 2-9a: *  ***  
-       .byte   %10011100       ; 0CD5 2-9a: *  ***  
-       .byte   %10011100       ; 0CD6 2-9a: *  ***  
-       .byte   %11111111       ; 0CD7 2-9a: ********
-
-       .byte   %10011100       ; 0CD8 2-9b: *  ***  
-       .byte   %10001000       ; 0CD9 2-9b: *   *   
-       .byte   %10000000       ; 0CDA 2-9b: *       
-       .byte   %10010100       ; 0CDB 2-9b: *  * *  
-       .byte   %10011100       ; 0CDC 2-9b: *  ***  
-       .byte   %10011100       ; 0CDD 2-9b: *  ***  
-       .byte   %10011100       ; 0CDE 2-9b: *  ***  
-       .byte   %11111111       ; 0CDF 2-9b: ********
-
-       .byte   %10011001       ; 0CE0 2-9c: *  **  *
-       .byte   %10001001       ; 0CE1 2-9c: *   *  *
-       .byte   %10000001       ; 0CE2 2-9c: *      *
-       .byte   %10000001       ; 0CE3 2-9c: *      *
-       .byte   %10010001       ; 0CE4 2-9c: *  *   *
-       .byte   %10011001       ; 0CE5 2-9c: *  **  *
-       .byte   %10011001       ; 0CE6 2-9c: *  **  *
-       .byte   %11111111       ; 0CE7 2-9c: ********
-
-       .byte   %10011001       ; 0CE8 2-9d: *  **  *
-       .byte   %10001001       ; 0CE9 2-9d: *   *  *
-       .byte   %10000001       ; 0CEA 2-9d: *      *
-       .byte   %10000001       ; 0CEB 2-9d: *      *
-       .byte   %10010001       ; 0CEC 2-9d: *  *   *
-       .byte   %10011001       ; 0CED 2-9d: *  **  *
-       .byte   %10011001       ; 0CEE 2-9d: *  **  *
-       .byte   %11111111       ; 0CEF 2-9d: ********
-
-       .byte   %11000011       ; 0CF0 2-9e: **    **
-       .byte   %10011001       ; 0CF1 2-9e: *  **  *
-       .byte   %10011001       ; 0CF2 2-9e: *  **  *
-       .byte   %10011001       ; 0CF3 2-9e: *  **  *
-       .byte   %10011001       ; 0CF4 2-9e: *  **  *
-       .byte   %10011001       ; 0CF5 2-9e: *  **  *
-       .byte   %11000011       ; 0CF6 2-9e: **    **
-       .byte   %11111111       ; 0CF7 2-9e: ********
-
-       .byte   %11000011       ; 0CF8 2-9f: **    **
-       .byte   %10011001       ; 0CF9 2-9f: *  **  *
-       .byte   %10011001       ; 0CFA 2-9f: *  **  *
-       .byte   %10011001       ; 0CFB 2-9f: *  **  *
-       .byte   %10011001       ; 0CFC 2-9f: *  **  *
-       .byte   %10011001       ; 0CFD 2-9f: *  **  *
-       .byte   %11000011       ; 0CFE 2-9f: **    **
-       .byte   %11111111       ; 0CFF 2-9f: ********
-
-       .byte   %10000011       ; 0D00 2-a0: *     **
-       .byte   %10011001       ; 0D01 2-a0: *  **  *
-       .byte   %10011001       ; 0D02 2-a0: *  **  *
-       .byte   %10000011       ; 0D03 2-a0: *     **
-       .byte   %10011111       ; 0D04 2-a0: *  *****
-       .byte   %10011111       ; 0D05 2-a0: *  *****
-       .byte   %10011111       ; 0D06 2-a0: *  *****
-       .byte   %11111111       ; 0D07 2-a0: ********
-
-       .byte   %10000011       ; 0D08 2-a1: *     **
-       .byte   %10011001       ; 0D09 2-a1: *  **  *
-       .byte   %10011001       ; 0D0A 2-a1: *  **  *
-       .byte   %10000011       ; 0D0B 2-a1: *     **
-       .byte   %10011111       ; 0D0C 2-a1: *  *****
-       .byte   %10011111       ; 0D0D 2-a1: *  *****
-       .byte   %10011111       ; 0D0E 2-a1: *  *****
-       .byte   %11111111       ; 0D0F 2-a1: ********
-
-       .byte   %11000011       ; 0D10 2-a2: **    **
-       .byte   %10011001       ; 0D11 2-a2: *  **  *
-       .byte   %10011001       ; 0D12 2-a2: *  **  *
-       .byte   %10011001       ; 0D13 2-a2: *  **  *
-       .byte   %10011001       ; 0D14 2-a2: *  **  *
-       .byte   %11000011       ; 0D15 2-a2: **    **
-       .byte   %11110001       ; 0D16 2-a2: ****   *
-       .byte   %11111111       ; 0D17 2-a2: ********
-
-       .byte   %11000011       ; 0D18 2-a3: **    **
-       .byte   %10011001       ; 0D19 2-a3: *  **  *
-       .byte   %10011001       ; 0D1A 2-a3: *  **  *
-       .byte   %10011001       ; 0D1B 2-a3: *  **  *
-       .byte   %10011001       ; 0D1C 2-a3: *  **  *
-       .byte   %11000011       ; 0D1D 2-a3: **    **
-       .byte   %11110001       ; 0D1E 2-a3: ****   *
-       .byte   %11111111       ; 0D1F 2-a3: ********
-
-       .byte   %10000011       ; 0D20 2-a4: *     **
-       .byte   %10011001       ; 0D21 2-a4: *  **  *
-       .byte   %10011001       ; 0D22 2-a4: *  **  *
-       .byte   %10000011       ; 0D23 2-a4: *     **
-       .byte   %10000111       ; 0D24 2-a4: *    ***
-       .byte   %10010011       ; 0D25 2-a4: *  *  **
-       .byte   %10011001       ; 0D26 2-a4: *  **  *
-       .byte   %11111111       ; 0D27 2-a4: ********
-
-       .byte   %10000011       ; 0D28 2-a5: *     **
-       .byte   %10011001       ; 0D29 2-a5: *  **  *
-       .byte   %10011001       ; 0D2A 2-a5: *  **  *
-       .byte   %10000011       ; 0D2B 2-a5: *     **
-       .byte   %10000111       ; 0D2C 2-a5: *    ***
-       .byte   %10010011       ; 0D2D 2-a5: *  *  **
-       .byte   %10011001       ; 0D2E 2-a5: *  **  *
-       .byte   %11111111       ; 0D2F 2-a5: ********
-
-       .byte   %11000011       ; 0D30 2-a6: **    **
-       .byte   %10011001       ; 0D31 2-a6: *  **  *
-       .byte   %10011111       ; 0D32 2-a6: *  *****
-       .byte   %11000011       ; 0D33 2-a6: **    **
-       .byte   %11111001       ; 0D34 2-a6: *****  *
-       .byte   %10011001       ; 0D35 2-a6: *  **  *
-       .byte   %11000011       ; 0D36 2-a6: **    **
-       .byte   %11111111       ; 0D37 2-a6: ********
-
-       .byte   %11000011       ; 0D38 2-a7: **    **
-       .byte   %10011001       ; 0D39 2-a7: *  **  *
-       .byte   %10011111       ; 0D3A 2-a7: *  *****
-       .byte   %11000011       ; 0D3B 2-a7: **    **
-       .byte   %11111001       ; 0D3C 2-a7: *****  *
-       .byte   %10011001       ; 0D3D 2-a7: *  **  *
-       .byte   %11000011       ; 0D3E 2-a7: **    **
-       .byte   %11111111       ; 0D3F 2-a7: ********
-
-       .byte   %10000001       ; 0D40 2-a8: *      *
-       .byte   %11100111       ; 0D41 2-a8: ***  ***
-       .byte   %11100111       ; 0D42 2-a8: ***  ***
-       .byte   %11100111       ; 0D43 2-a8: ***  ***
-       .byte   %11100111       ; 0D44 2-a8: ***  ***
-       .byte   %11100111       ; 0D45 2-a8: ***  ***
-       .byte   %11100111       ; 0D46 2-a8: ***  ***
-       .byte   %11111111       ; 0D47 2-a8: ********
-
-       .byte   %10000001       ; 0D48 2-a9: *      *
-       .byte   %11100111       ; 0D49 2-a9: ***  ***
-       .byte   %11100111       ; 0D4A 2-a9: ***  ***
-       .byte   %11100111       ; 0D4B 2-a9: ***  ***
-       .byte   %11100111       ; 0D4C 2-a9: ***  ***
-       .byte   %11100111       ; 0D4D 2-a9: ***  ***
-       .byte   %11100111       ; 0D4E 2-a9: ***  ***
-       .byte   %11111111       ; 0D4F 2-a9: ********
-
-       .byte   %10011001       ; 0D50 2-aa: *  **  *
-       .byte   %10011001       ; 0D51 2-aa: *  **  *
-       .byte   %10011001       ; 0D52 2-aa: *  **  *
-       .byte   %10011001       ; 0D53 2-aa: *  **  *
-       .byte   %10011001       ; 0D54 2-aa: *  **  *
-       .byte   %10011001       ; 0D55 2-aa: *  **  *
-       .byte   %11000011       ; 0D56 2-aa: **    **
-       .byte   %11111111       ; 0D57 2-aa: ********
-
-       .byte   %10011001       ; 0D58 2-ab: *  **  *
-       .byte   %10011001       ; 0D59 2-ab: *  **  *
-       .byte   %10011001       ; 0D5A 2-ab: *  **  *
-       .byte   %10011001       ; 0D5B 2-ab: *  **  *
-       .byte   %10011001       ; 0D5C 2-ab: *  **  *
-       .byte   %10011001       ; 0D5D 2-ab: *  **  *
-       .byte   %11000011       ; 0D5E 2-ab: **    **
-       .byte   %11111111       ; 0D5F 2-ab: ********
-
-       .byte   %10011001       ; 0D60 2-ac: *  **  *
-       .byte   %10011001       ; 0D61 2-ac: *  **  *
-       .byte   %10011001       ; 0D62 2-ac: *  **  *
-       .byte   %10011001       ; 0D63 2-ac: *  **  *
-       .byte   %10011001       ; 0D64 2-ac: *  **  *
-       .byte   %11000011       ; 0D65 2-ac: **    **
-       .byte   %11100111       ; 0D66 2-ac: ***  ***
-       .byte   %11111111       ; 0D67 2-ac: ********
-
-       .byte   %10011001       ; 0D68 2-ad: *  **  *
-       .byte   %10011001       ; 0D69 2-ad: *  **  *
-       .byte   %10011001       ; 0D6A 2-ad: *  **  *
-       .byte   %10011001       ; 0D6B 2-ad: *  **  *
-       .byte   %10011001       ; 0D6C 2-ad: *  **  *
-       .byte   %11000011       ; 0D6D 2-ad: **    **
-       .byte   %11100111       ; 0D6E 2-ad: ***  ***
-       .byte   %11111111       ; 0D6F 2-ad: ********
-
-       .byte   %10011100       ; 0D70 2-ae: *  ***  
-       .byte   %10011100       ; 0D71 2-ae: *  ***  
-       .byte   %10011100       ; 0D72 2-ae: *  ***  
-       .byte   %10010100       ; 0D73 2-ae: *  * *  
-       .byte   %10000000       ; 0D74 2-ae: *       
-       .byte   %10001000       ; 0D75 2-ae: *   *   
-       .byte   %10011100       ; 0D76 2-ae: *  ***  
-       .byte   %11111111       ; 0D77 2-ae: ********
-
-       .byte   %10011100       ; 0D78 2-af: *  ***  
-       .byte   %10011100       ; 0D79 2-af: *  ***  
-       .byte   %10011100       ; 0D7A 2-af: *  ***  
-       .byte   %10010100       ; 0D7B 2-af: *  * *  
-       .byte   %10000000       ; 0D7C 2-af: *       
-       .byte   %10001000       ; 0D7D 2-af: *   *   
-       .byte   %10011100       ; 0D7E 2-af: *  ***  
-       .byte   %11111111       ; 0D7F 2-af: ********
-
-       .byte   %10011001       ; 0D80 2-b0: *  **  *
-       .byte   %10011001       ; 0D81 2-b0: *  **  *
-       .byte   %11000011       ; 0D82 2-b0: **    **
-       .byte   %11100111       ; 0D83 2-b0: ***  ***
-       .byte   %11000011       ; 0D84 2-b0: **    **
-       .byte   %10011001       ; 0D85 2-b0: *  **  *
-       .byte   %10011001       ; 0D86 2-b0: *  **  *
-       .byte   %11111111       ; 0D87 2-b0: ********
-
-       .byte   %10011001       ; 0D88 2-b1: *  **  *
-       .byte   %10011001       ; 0D89 2-b1: *  **  *
-       .byte   %11000011       ; 0D8A 2-b1: **    **
-       .byte   %11100111       ; 0D8B 2-b1: ***  ***
-       .byte   %11000011       ; 0D8C 2-b1: **    **
-       .byte   %10011001       ; 0D8D 2-b1: *  **  *
-       .byte   %10011001       ; 0D8E 2-b1: *  **  *
-       .byte   %11111111       ; 0D8F 2-b1: ********
-
-       .byte   %10011001       ; 0D90 2-b2: *  **  *
-       .byte   %10011001       ; 0D91 2-b2: *  **  *
-       .byte   %10011001       ; 0D92 2-b2: *  **  *
-       .byte   %11000011       ; 0D93 2-b2: **    **
-       .byte   %11100111       ; 0D94 2-b2: ***  ***
-       .byte   %11100111       ; 0D95 2-b2: ***  ***
-       .byte   %11100111       ; 0D96 2-b2: ***  ***
-       .byte   %11111111       ; 0D97 2-b2: ********
-
-       .byte   %10011001       ; 0D98 2-b3: *  **  *
-       .byte   %10011001       ; 0D99 2-b3: *  **  *
-       .byte   %10011001       ; 0D9A 2-b3: *  **  *
-       .byte   %11000011       ; 0D9B 2-b3: **    **
-       .byte   %11100111       ; 0D9C 2-b3: ***  ***
-       .byte   %11100111       ; 0D9D 2-b3: ***  ***
-       .byte   %11100111       ; 0D9E 2-b3: ***  ***
-       .byte   %11111111       ; 0D9F 2-b3: ********
-
-       .byte   %10000001       ; 0DA0 2-b4: *      *
-       .byte   %11111001       ; 0DA1 2-b4: *****  *
-       .byte   %11110011       ; 0DA2 2-b4: ****  **
-       .byte   %11100111       ; 0DA3 2-b4: ***  ***
-       .byte   %11001111       ; 0DA4 2-b4: **  ****
-       .byte   %10011111       ; 0DA5 2-b4: *  *****
-       .byte   %10000001       ; 0DA6 2-b4: *      *
-       .byte   %11111111       ; 0DA7 2-b4: ********
-
-       .byte   %10000001       ; 0DA8 2-b5: *      *
-       .byte   %11111001       ; 0DA9 2-b5: *****  *
-       .byte   %11110011       ; 0DAA 2-b5: ****  **
-       .byte   %11100111       ; 0DAB 2-b5: ***  ***
-       .byte   %11001111       ; 0DAC 2-b5: **  ****
-       .byte   %10011111       ; 0DAD 2-b5: *  *****
-       .byte   %10000001       ; 0DAE 2-b5: *      *
-       .byte   %11111111       ; 0DAF 2-b5: ********
-
-       .byte   %11000011       ; 0DB0 2-b6: **    **
-       .byte   %11001111       ; 0DB1 2-b6: **  ****
-       .byte   %11001111       ; 0DB2 2-b6: **  ****
-       .byte   %11001111       ; 0DB3 2-b6: **  ****
-       .byte   %11001111       ; 0DB4 2-b6: **  ****
-       .byte   %11001111       ; 0DB5 2-b6: **  ****
-       .byte   %11000011       ; 0DB6 2-b6: **    **
-       .byte   %11111111       ; 0DB7 2-b6: ********
-
-       .byte   %11000011       ; 0DB8 2-b7: **    **
-       .byte   %11001111       ; 0DB9 2-b7: **  ****
-       .byte   %11001111       ; 0DBA 2-b7: **  ****
-       .byte   %11001111       ; 0DBB 2-b7: **  ****
-       .byte   %11001111       ; 0DBC 2-b7: **  ****
-       .byte   %11001111       ; 0DBD 2-b7: **  ****
-       .byte   %11000011       ; 0DBE 2-b7: **    **
-       .byte   %11111111       ; 0DBF 2-b7: ********
-
-       .byte   %10011111       ; 0DC0 2-b8: *  *****
-       .byte   %11001111       ; 0DC1 2-b8: **  ****
-       .byte   %11100111       ; 0DC2 2-b8: ***  ***
-       .byte   %11110011       ; 0DC3 2-b8: ****  **
-       .byte   %11111001       ; 0DC4 2-b8: *****  *
-       .byte   %11111100       ; 0DC5 2-b8: ******  
-       .byte   %11111111       ; 0DC6 2-b8: ********
-       .byte   %11111111       ; 0DC7 2-b8: ********
-
-       .byte   %10011111       ; 0DC8 2-b9: *  *****
-       .byte   %11001111       ; 0DC9 2-b9: **  ****
-       .byte   %11100111       ; 0DCA 2-b9: ***  ***
-       .byte   %11110011       ; 0DCB 2-b9: ****  **
-       .byte   %11111001       ; 0DCC 2-b9: *****  *
-       .byte   %11111100       ; 0DCD 2-b9: ******  
-       .byte   %11111111       ; 0DCE 2-b9: ********
-       .byte   %11111111       ; 0DCF 2-b9: ********
-
-       .byte   %11000011       ; 0DD0 2-ba: **    **
-       .byte   %11110011       ; 0DD1 2-ba: ****  **
-       .byte   %11110011       ; 0DD2 2-ba: ****  **
-       .byte   %11110011       ; 0DD3 2-ba: ****  **
-       .byte   %11110011       ; 0DD4 2-ba: ****  **
-       .byte   %11110011       ; 0DD5 2-ba: ****  **
-       .byte   %11000011       ; 0DD6 2-ba: **    **
-       .byte   %11111111       ; 0DD7 2-ba: ********
-
-       .byte   %11000011       ; 0DD8 2-bb: **    **
-       .byte   %11110011       ; 0DD9 2-bb: ****  **
-       .byte   %11110011       ; 0DDA 2-bb: ****  **
-       .byte   %11110011       ; 0DDB 2-bb: ****  **
-       .byte   %11110011       ; 0DDC 2-bb: ****  **
-       .byte   %11110011       ; 0DDD 2-bb: ****  **
-       .byte   %11000011       ; 0DDE 2-bb: **    **
-       .byte   %11111111       ; 0DDF 2-bb: ********
-
-       .byte   %11111111       ; 0DE0 2-bc: ********
-       .byte   %11100111       ; 0DE1 2-bc: ***  ***
-       .byte   %11000011       ; 0DE2 2-bc: **    **
-       .byte   %10011001       ; 0DE3 2-bc: *  **  *
-       .byte   %11111111       ; 0DE4 2-bc: ********
-       .byte   %11111111       ; 0DE5 2-bc: ********
-       .byte   %11111111       ; 0DE6 2-bc: ********
-       .byte   %11111111       ; 0DE7 2-bc: ********
-
-       .byte   %11111111       ; 0DE8 2-bd: ********
-       .byte   %11100111       ; 0DE9 2-bd: ***  ***
-       .byte   %11000011       ; 0DEA 2-bd: **    **
-       .byte   %10011001       ; 0DEB 2-bd: *  **  *
-       .byte   %11111111       ; 0DEC 2-bd: ********
-       .byte   %11111111       ; 0DED 2-bd: ********
-       .byte   %11111111       ; 0DEE 2-bd: ********
-       .byte   %11111111       ; 0DEF 2-bd: ********
-
-       .byte   %11111111       ; 0DF0 2-be: ********
-       .byte   %11111111       ; 0DF1 2-be: ********
-       .byte   %11111111       ; 0DF2 2-be: ********
-       .byte   %11111111       ; 0DF3 2-be: ********
-       .byte   %11111111       ; 0DF4 2-be: ********
-       .byte   %11111111       ; 0DF5 2-be: ********
-       .byte   %10000000       ; 0DF6 2-be: *       
-       .byte   %11111111       ; 0DF7 2-be: ********
-
-       .byte   %11111111       ; 0DF8 2-bf: ********
-       .byte   %11111111       ; 0DF9 2-bf: ********
-       .byte   %11111111       ; 0DFA 2-bf: ********
-       .byte   %11111111       ; 0DFB 2-bf: ********
-       .byte   %11111111       ; 0DFC 2-bf: ********
-       .byte   %11111111       ; 0DFD 2-bf: ********
-       .byte   %10000000       ; 0DFE 2-bf: *       
-       .byte   %11111111       ; 0DFF 2-bf: ********
-
-       .byte   %11100111       ; 0E00 2-c0: ***  ***
-       .byte   %11100111       ; 0E01 2-c0: ***  ***
-       .byte   %11100111       ; 0E02 2-c0: ***  ***
-       .byte   %11111111       ; 0E03 2-c0: ********
-       .byte   %11111111       ; 0E04 2-c0: ********
-       .byte   %11111111       ; 0E05 2-c0: ********
-       .byte   %11111111       ; 0E06 2-c0: ********
-       .byte   %11111111       ; 0E07 2-c0: ********
-
-       .byte   %11100111       ; 0E08 2-c1: ***  ***
-       .byte   %11100111       ; 0E09 2-c1: ***  ***
-       .byte   %11100111       ; 0E0A 2-c1: ***  ***
-       .byte   %11111111       ; 0E0B 2-c1: ********
-       .byte   %11111111       ; 0E0C 2-c1: ********
-       .byte   %11111111       ; 0E0D 2-c1: ********
-       .byte   %11111111       ; 0E0E 2-c1: ********
-       .byte   %11111111       ; 0E0F 2-c1: ********
-
-       .byte   %11111111       ; 0E10 2-c2: ********
-       .byte   %11111111       ; 0E11 2-c2: ********
-       .byte   %11000011       ; 0E12 2-c2: **    **
-       .byte   %11111001       ; 0E13 2-c2: *****  *
-       .byte   %11000001       ; 0E14 2-c2: **     *
-       .byte   %10011001       ; 0E15 2-c2: *  **  *
-       .byte   %11000001       ; 0E16 2-c2: **     *
-       .byte   %11111111       ; 0E17 2-c2: ********
-
-       .byte   %11111111       ; 0E18 2-c3: ********
-       .byte   %11111111       ; 0E19 2-c3: ********
-       .byte   %11000011       ; 0E1A 2-c3: **    **
-       .byte   %11111001       ; 0E1B 2-c3: *****  *
-       .byte   %11000001       ; 0E1C 2-c3: **     *
-       .byte   %10011001       ; 0E1D 2-c3: *  **  *
-       .byte   %11000001       ; 0E1E 2-c3: **     *
-       .byte   %11111111       ; 0E1F 2-c3: ********
-
-       .byte   %11111111       ; 0E20 2-c4: ********
-       .byte   %10011111       ; 0E21 2-c4: *  *****
-       .byte   %10011111       ; 0E22 2-c4: *  *****
-       .byte   %10000011       ; 0E23 2-c4: *     **
-       .byte   %10011001       ; 0E24 2-c4: *  **  *
-       .byte   %10011001       ; 0E25 2-c4: *  **  *
-       .byte   %10000011       ; 0E26 2-c4: *     **
-       .byte   %11111111       ; 0E27 2-c4: ********
-
-       .byte   %11111111       ; 0E28 2-c5: ********
-       .byte   %10011111       ; 0E29 2-c5: *  *****
-       .byte   %10011111       ; 0E2A 2-c5: *  *****
-       .byte   %10000011       ; 0E2B 2-c5: *     **
-       .byte   %10011001       ; 0E2C 2-c5: *  **  *
-       .byte   %10011001       ; 0E2D 2-c5: *  **  *
-       .byte   %10000011       ; 0E2E 2-c5: *     **
-       .byte   %11111111       ; 0E2F 2-c5: ********
-
-       .byte   %11111111       ; 0E30 2-c6: ********
-       .byte   %11111111       ; 0E31 2-c6: ********
-       .byte   %11000011       ; 0E32 2-c6: **    **
-       .byte   %10011111       ; 0E33 2-c6: *  *****
-       .byte   %10011111       ; 0E34 2-c6: *  *****
-       .byte   %10011111       ; 0E35 2-c6: *  *****
-       .byte   %11000011       ; 0E36 2-c6: **    **
-       .byte   %11111111       ; 0E37 2-c6: ********
-
-       .byte   %11111111       ; 0E38 2-c7: ********
-       .byte   %11111111       ; 0E39 2-c7: ********
-       .byte   %11000011       ; 0E3A 2-c7: **    **
-       .byte   %10011111       ; 0E3B 2-c7: *  *****
-       .byte   %10011111       ; 0E3C 2-c7: *  *****
-       .byte   %10011111       ; 0E3D 2-c7: *  *****
-       .byte   %11000011       ; 0E3E 2-c7: **    **
-       .byte   %11111111       ; 0E3F 2-c7: ********
-
-       .byte   %11111111       ; 0E40 2-c8: ********
-       .byte   %11111001       ; 0E41 2-c8: *****  *
-       .byte   %11111001       ; 0E42 2-c8: *****  *
-       .byte   %11000001       ; 0E43 2-c8: **     *
-       .byte   %10011001       ; 0E44 2-c8: *  **  *
-       .byte   %10011001       ; 0E45 2-c8: *  **  *
-       .byte   %11000001       ; 0E46 2-c8: **     *
-       .byte   %11111111       ; 0E47 2-c8: ********
-
-       .byte   %11111111       ; 0E48 2-c9: ********
-       .byte   %11111001       ; 0E49 2-c9: *****  *
-       .byte   %11111001       ; 0E4A 2-c9: *****  *
-       .byte   %11000001       ; 0E4B 2-c9: **     *
-       .byte   %10011001       ; 0E4C 2-c9: *  **  *
-       .byte   %10011001       ; 0E4D 2-c9: *  **  *
-       .byte   %11000001       ; 0E4E 2-c9: **     *
-       .byte   %11111111       ; 0E4F 2-c9: ********
-
-       .byte   %11111111       ; 0E50 2-ca: ********
-       .byte   %11111111       ; 0E51 2-ca: ********
-       .byte   %11000011       ; 0E52 2-ca: **    **
-       .byte   %10011001       ; 0E53 2-ca: *  **  *
-       .byte   %10000001       ; 0E54 2-ca: *      *
-       .byte   %10011111       ; 0E55 2-ca: *  *****
-       .byte   %11000011       ; 0E56 2-ca: **    **
-       .byte   %11111111       ; 0E57 2-ca: ********
-
-       .byte   %11111111       ; 0E58 2-cb: ********
-       .byte   %11111111       ; 0E59 2-cb: ********
-       .byte   %11000011       ; 0E5A 2-cb: **    **
-       .byte   %10011001       ; 0E5B 2-cb: *  **  *
-       .byte   %10000001       ; 0E5C 2-cb: *      *
-       .byte   %10011111       ; 0E5D 2-cb: *  *****
-       .byte   %11000011       ; 0E5E 2-cb: **    **
-       .byte   %11111111       ; 0E5F 2-cb: ********
-
-       .byte   %11111111       ; 0E60 2-cc: ********
-       .byte   %11110001       ; 0E61 2-cc: ****   *
-       .byte   %11100111       ; 0E62 2-cc: ***  ***
-       .byte   %11000001       ; 0E63 2-cc: **     *
-       .byte   %11100111       ; 0E64 2-cc: ***  ***
-       .byte   %11100111       ; 0E65 2-cc: ***  ***
-       .byte   %11100111       ; 0E66 2-cc: ***  ***
-       .byte   %11111111       ; 0E67 2-cc: ********
-
-       .byte   %11111111       ; 0E68 2-cd: ********
-       .byte   %11110001       ; 0E69 2-cd: ****   *
-       .byte   %11100111       ; 0E6A 2-cd: ***  ***
-       .byte   %11000001       ; 0E6B 2-cd: **     *
-       .byte   %11100111       ; 0E6C 2-cd: ***  ***
-       .byte   %11100111       ; 0E6D 2-cd: ***  ***
-       .byte   %11100111       ; 0E6E 2-cd: ***  ***
-       .byte   %11111111       ; 0E6F 2-cd: ********
-
-       .byte   %11111111       ; 0E70 2-ce: ********
-       .byte   %11111111       ; 0E71 2-ce: ********
-       .byte   %11000001       ; 0E72 2-ce: **     *
-       .byte   %10011001       ; 0E73 2-ce: *  **  *
-       .byte   %10011001       ; 0E74 2-ce: *  **  *
-       .byte   %11000001       ; 0E75 2-ce: **     *
-       .byte   %11111001       ; 0E76 2-ce: *****  *
-       .byte   %10000011       ; 0E77 2-ce: *     **
-
-       .byte   %11111111       ; 0E78 2-cf: ********
-       .byte   %11111111       ; 0E79 2-cf: ********
-       .byte   %11000001       ; 0E7A 2-cf: **     *
-       .byte   %10011001       ; 0E7B 2-cf: *  **  *
-       .byte   %10011001       ; 0E7C 2-cf: *  **  *
-       .byte   %11000001       ; 0E7D 2-cf: **     *
-       .byte   %11111001       ; 0E7E 2-cf: *****  *
-       .byte   %10000011       ; 0E7F 2-cf: *     **
-
-       .byte   %11111111       ; 0E80 2-d0: ********
-       .byte   %10011111       ; 0E81 2-d0: *  *****
-       .byte   %10011111       ; 0E82 2-d0: *  *****
-       .byte   %10000011       ; 0E83 2-d0: *     **
-       .byte   %10011001       ; 0E84 2-d0: *  **  *
-       .byte   %10011001       ; 0E85 2-d0: *  **  *
-       .byte   %10011001       ; 0E86 2-d0: *  **  *
-       .byte   %11111111       ; 0E87 2-d0: ********
-
-       .byte   %11111111       ; 0E88 2-d1: ********
-       .byte   %10011111       ; 0E89 2-d1: *  *****
-       .byte   %10011111       ; 0E8A 2-d1: *  *****
-       .byte   %10000011       ; 0E8B 2-d1: *     **
-       .byte   %10011001       ; 0E8C 2-d1: *  **  *
-       .byte   %10011001       ; 0E8D 2-d1: *  **  *
-       .byte   %10011001       ; 0E8E 2-d1: *  **  *
-       .byte   %11111111       ; 0E8F 2-d1: ********
-
-       .byte   %11111111       ; 0E90 2-d2: ********
-       .byte   %11100111       ; 0E91 2-d2: ***  ***
-       .byte   %11111111       ; 0E92 2-d2: ********
-       .byte   %11000111       ; 0E93 2-d2: **   ***
-       .byte   %11100111       ; 0E94 2-d2: ***  ***
-       .byte   %11100111       ; 0E95 2-d2: ***  ***
-       .byte   %11000011       ; 0E96 2-d2: **    **
-       .byte   %11111111       ; 0E97 2-d2: ********
-
-       .byte   %11111111       ; 0E98 2-d3: ********
-       .byte   %11100111       ; 0E99 2-d3: ***  ***
-       .byte   %11111111       ; 0E9A 2-d3: ********
-       .byte   %11000111       ; 0E9B 2-d3: **   ***
-       .byte   %11100111       ; 0E9C 2-d3: ***  ***
-       .byte   %11100111       ; 0E9D 2-d3: ***  ***
-       .byte   %11000011       ; 0E9E 2-d3: **    **
-       .byte   %11111111       ; 0E9F 2-d3: ********
-
-       .byte   %11111111       ; 0EA0 2-d4: ********
-       .byte   %11111001       ; 0EA1 2-d4: *****  *
-       .byte   %11111111       ; 0EA2 2-d4: ********
-       .byte   %11111001       ; 0EA3 2-d4: *****  *
-       .byte   %11111001       ; 0EA4 2-d4: *****  *
-       .byte   %11111001       ; 0EA5 2-d4: *****  *
-       .byte   %11111001       ; 0EA6 2-d4: *****  *
-       .byte   %11000011       ; 0EA7 2-d4: **    **
-
-       .byte   %11111111       ; 0EA8 2-d5: ********
-       .byte   %11111001       ; 0EA9 2-d5: *****  *
-       .byte   %11111111       ; 0EAA 2-d5: ********
-       .byte   %11111001       ; 0EAB 2-d5: *****  *
-       .byte   %11111001       ; 0EAC 2-d5: *****  *
-       .byte   %11111001       ; 0EAD 2-d5: *****  *
-       .byte   %11111001       ; 0EAE 2-d5: *****  *
-       .byte   %11000011       ; 0EAF 2-d5: **    **
-
-       .byte   %11111111       ; 0EB0 2-d6: ********
-       .byte   %10011111       ; 0EB1 2-d6: *  *****
-       .byte   %10011111       ; 0EB2 2-d6: *  *****
-       .byte   %10010011       ; 0EB3 2-d6: *  *  **
-       .byte   %10000111       ; 0EB4 2-d6: *    ***
-       .byte   %10010011       ; 0EB5 2-d6: *  *  **
-       .byte   %10011001       ; 0EB6 2-d6: *  **  *
-       .byte   %11111111       ; 0EB7 2-d6: ********
-
-       .byte   %11111111       ; 0EB8 2-d7: ********
-       .byte   %10011111       ; 0EB9 2-d7: *  *****
-       .byte   %10011111       ; 0EBA 2-d7: *  *****
-       .byte   %10010011       ; 0EBB 2-d7: *  *  **
-       .byte   %10000111       ; 0EBC 2-d7: *    ***
-       .byte   %10010011       ; 0EBD 2-d7: *  *  **
-       .byte   %10011001       ; 0EBE 2-d7: *  **  *
-       .byte   %11111111       ; 0EBF 2-d7: ********
-
-       .byte   %11111111       ; 0EC0 2-d8: ********
-       .byte   %11000111       ; 0EC1 2-d8: **   ***
-       .byte   %11100111       ; 0EC2 2-d8: ***  ***
-       .byte   %11100111       ; 0EC3 2-d8: ***  ***
-       .byte   %11100111       ; 0EC4 2-d8: ***  ***
-       .byte   %11100111       ; 0EC5 2-d8: ***  ***
-       .byte   %11000011       ; 0EC6 2-d8: **    **
-       .byte   %11111111       ; 0EC7 2-d8: ********
-
-       .byte   %11111111       ; 0EC8 2-d9: ********
-       .byte   %11000111       ; 0EC9 2-d9: **   ***
-       .byte   %11100111       ; 0ECA 2-d9: ***  ***
-       .byte   %11100111       ; 0ECB 2-d9: ***  ***
-       .byte   %11100111       ; 0ECC 2-d9: ***  ***
-       .byte   %11100111       ; 0ECD 2-d9: ***  ***
-       .byte   %11000011       ; 0ECE 2-d9: **    **
-       .byte   %11111111       ; 0ECF 2-d9: ********
-
-       .byte   %11111111       ; 0ED0 2-da: ********
-       .byte   %11111111       ; 0ED1 2-da: ********
-       .byte   %10011001       ; 0ED2 2-da: *  **  *
-       .byte   %10000000       ; 0ED3 2-da: *       
-       .byte   %10000000       ; 0ED4 2-da: *       
-       .byte   %10010100       ; 0ED5 2-da: *  * *  
-       .byte   %10011100       ; 0ED6 2-da: *  ***  
-       .byte   %11111111       ; 0ED7 2-da: ********
-
-       .byte   %11111111       ; 0ED8 2-db: ********
-       .byte   %11111111       ; 0ED9 2-db: ********
-       .byte   %10011001       ; 0EDA 2-db: *  **  *
-       .byte   %10000000       ; 0EDB 2-db: *       
-       .byte   %10000000       ; 0EDC 2-db: *       
-       .byte   %10010100       ; 0EDD 2-db: *  * *  
-       .byte   %10011100       ; 0EDE 2-db: *  ***  
-       .byte   %11111111       ; 0EDF 2-db: ********
-
-       .byte   %11111111       ; 0EE0 2-dc: ********
-       .byte   %11111111       ; 0EE1 2-dc: ********
-       .byte   %10000011       ; 0EE2 2-dc: *     **
-       .byte   %10011001       ; 0EE3 2-dc: *  **  *
-       .byte   %10011001       ; 0EE4 2-dc: *  **  *
-       .byte   %10011001       ; 0EE5 2-dc: *  **  *
-       .byte   %10011001       ; 0EE6 2-dc: *  **  *
-       .byte   %11111111       ; 0EE7 2-dc: ********
-
-       .byte   %11111111       ; 0EE8 2-dd: ********
-       .byte   %11111111       ; 0EE9 2-dd: ********
-       .byte   %10000011       ; 0EEA 2-dd: *     **
-       .byte   %10011001       ; 0EEB 2-dd: *  **  *
-       .byte   %10011001       ; 0EEC 2-dd: *  **  *
-       .byte   %10011001       ; 0EED 2-dd: *  **  *
-       .byte   %10011001       ; 0EEE 2-dd: *  **  *
-       .byte   %11111111       ; 0EEF 2-dd: ********
-
-       .byte   %11111111       ; 0EF0 2-de: ********
-       .byte   %11111111       ; 0EF1 2-de: ********
-       .byte   %11000011       ; 0EF2 2-de: **    **
-       .byte   %10011001       ; 0EF3 2-de: *  **  *
-       .byte   %10011001       ; 0EF4 2-de: *  **  *
-       .byte   %10011001       ; 0EF5 2-de: *  **  *
-       .byte   %11000011       ; 0EF6 2-de: **    **
-       .byte   %11111111       ; 0EF7 2-de: ********
-
-       .byte   %11111111       ; 0EF8 2-df: ********
-       .byte   %11111111       ; 0EF9 2-df: ********
-       .byte   %11000011       ; 0EFA 2-df: **    **
-       .byte   %10011001       ; 0EFB 2-df: *  **  *
-       .byte   %10011001       ; 0EFC 2-df: *  **  *
-       .byte   %10011001       ; 0EFD 2-df: *  **  *
-       .byte   %11000011       ; 0EFE 2-df: **    **
-       .byte   %11111111       ; 0EFF 2-df: ********
-
-       .byte   %11111111       ; 0F00 2-e0: ********
-       .byte   %11111111       ; 0F01 2-e0: ********
-       .byte   %10000011       ; 0F02 2-e0: *     **
-       .byte   %10011001       ; 0F03 2-e0: *  **  *
-       .byte   %10011001       ; 0F04 2-e0: *  **  *
-       .byte   %10000011       ; 0F05 2-e0: *     **
-       .byte   %10011111       ; 0F06 2-e0: *  *****
-       .byte   %10011111       ; 0F07 2-e0: *  *****
-
-       .byte   %11111111       ; 0F08 2-e1: ********
-       .byte   %11111111       ; 0F09 2-e1: ********
-       .byte   %10000011       ; 0F0A 2-e1: *     **
-       .byte   %10011001       ; 0F0B 2-e1: *  **  *
-       .byte   %10011001       ; 0F0C 2-e1: *  **  *
-       .byte   %10000011       ; 0F0D 2-e1: *     **
-       .byte   %10011111       ; 0F0E 2-e1: *  *****
-       .byte   %10011111       ; 0F0F 2-e1: *  *****
-
-       .byte   %11111111       ; 0F10 2-e2: ********
-       .byte   %11111111       ; 0F11 2-e2: ********
-       .byte   %11000001       ; 0F12 2-e2: **     *
-       .byte   %10011001       ; 0F13 2-e2: *  **  *
-       .byte   %10011001       ; 0F14 2-e2: *  **  *
-       .byte   %11000001       ; 0F15 2-e2: **     *
-       .byte   %11111001       ; 0F16 2-e2: *****  *
-       .byte   %11111001       ; 0F17 2-e2: *****  *
-
-       .byte   %11111111       ; 0F18 2-e3: ********
-       .byte   %11111111       ; 0F19 2-e3: ********
-       .byte   %11000001       ; 0F1A 2-e3: **     *
-       .byte   %10011001       ; 0F1B 2-e3: *  **  *
-       .byte   %10011001       ; 0F1C 2-e3: *  **  *
-       .byte   %11000001       ; 0F1D 2-e3: **     *
-       .byte   %11111001       ; 0F1E 2-e3: *****  *
-       .byte   %11111001       ; 0F1F 2-e3: *****  *
-
-       .byte   %11111111       ; 0F20 2-e4: ********
-       .byte   %11111111       ; 0F21 2-e4: ********
-       .byte   %10000011       ; 0F22 2-e4: *     **
-       .byte   %10011001       ; 0F23 2-e4: *  **  *
-       .byte   %10011111       ; 0F24 2-e4: *  *****
-       .byte   %10011111       ; 0F25 2-e4: *  *****
-       .byte   %10011111       ; 0F26 2-e4: *  *****
-       .byte   %11111111       ; 0F27 2-e4: ********
-
-       .byte   %11111111       ; 0F28 2-e5: ********
-       .byte   %11111111       ; 0F29 2-e5: ********
-       .byte   %10000011       ; 0F2A 2-e5: *     **
-       .byte   %10011001       ; 0F2B 2-e5: *  **  *
-       .byte   %10011111       ; 0F2C 2-e5: *  *****
-       .byte   %10011111       ; 0F2D 2-e5: *  *****
-       .byte   %10011111       ; 0F2E 2-e5: *  *****
-       .byte   %11111111       ; 0F2F 2-e5: ********
-
-       .byte   %11111111       ; 0F30 2-e6: ********
-       .byte   %11111111       ; 0F31 2-e6: ********
-       .byte   %11000001       ; 0F32 2-e6: **     *
-       .byte   %10011111       ; 0F33 2-e6: *  *****
-       .byte   %11000011       ; 0F34 2-e6: **    **
-       .byte   %11111001       ; 0F35 2-e6: *****  *
-       .byte   %10000011       ; 0F36 2-e6: *     **
-       .byte   %11111111       ; 0F37 2-e6: ********
-
-       .byte   %11111111       ; 0F38 2-e7: ********
-       .byte   %11111111       ; 0F39 2-e7: ********
-       .byte   %11000001       ; 0F3A 2-e7: **     *
-       .byte   %10011111       ; 0F3B 2-e7: *  *****
-       .byte   %11000011       ; 0F3C 2-e7: **    **
-       .byte   %11111001       ; 0F3D 2-e7: *****  *
-       .byte   %10000011       ; 0F3E 2-e7: *     **
-       .byte   %11111111       ; 0F3F 2-e7: ********
-
-       .byte   %11111111       ; 0F40 2-e8: ********
-       .byte   %11100111       ; 0F41 2-e8: ***  ***
-       .byte   %10000001       ; 0F42 2-e8: *      *
-       .byte   %11100111       ; 0F43 2-e8: ***  ***
-       .byte   %11100111       ; 0F44 2-e8: ***  ***
-       .byte   %11100111       ; 0F45 2-e8: ***  ***
-       .byte   %11110001       ; 0F46 2-e8: ****   *
-       .byte   %11111111       ; 0F47 2-e8: ********
-
-       .byte   %11111111       ; 0F48 2-e9: ********
-       .byte   %11100111       ; 0F49 2-e9: ***  ***
-       .byte   %10000001       ; 0F4A 2-e9: *      *
-       .byte   %11100111       ; 0F4B 2-e9: ***  ***
-       .byte   %11100111       ; 0F4C 2-e9: ***  ***
-       .byte   %11100111       ; 0F4D 2-e9: ***  ***
-       .byte   %11110001       ; 0F4E 2-e9: ****   *
-       .byte   %11111111       ; 0F4F 2-e9: ********
-
-       .byte   %11111111       ; 0F50 2-ea: ********
-       .byte   %11111111       ; 0F51 2-ea: ********
-       .byte   %10011001       ; 0F52 2-ea: *  **  *
-       .byte   %10011001       ; 0F53 2-ea: *  **  *
-       .byte   %10011001       ; 0F54 2-ea: *  **  *
-       .byte   %10011001       ; 0F55 2-ea: *  **  *
-       .byte   %11000001       ; 0F56 2-ea: **     *
-       .byte   %11111111       ; 0F57 2-ea: ********
-
-       .byte   %11111111       ; 0F58 2-eb: ********
-       .byte   %11111111       ; 0F59 2-eb: ********
-       .byte   %10011001       ; 0F5A 2-eb: *  **  *
-       .byte   %10011001       ; 0F5B 2-eb: *  **  *
-       .byte   %10011001       ; 0F5C 2-eb: *  **  *
-       .byte   %10011001       ; 0F5D 2-eb: *  **  *
-       .byte   %11000001       ; 0F5E 2-eb: **     *
-       .byte   %11111111       ; 0F5F 2-eb: ********
-
-       .byte   %11111111       ; 0F60 2-ec: ********
-       .byte   %11111111       ; 0F61 2-ec: ********
-       .byte   %10011001       ; 0F62 2-ec: *  **  *
-       .byte   %10011001       ; 0F63 2-ec: *  **  *
-       .byte   %10011001       ; 0F64 2-ec: *  **  *
-       .byte   %11000011       ; 0F65 2-ec: **    **
-       .byte   %11100111       ; 0F66 2-ec: ***  ***
-       .byte   %11111111       ; 0F67 2-ec: ********
-
-       .byte   %11111111       ; 0F68 2-ed: ********
-       .byte   %11111111       ; 0F69 2-ed: ********
-       .byte   %10011001       ; 0F6A 2-ed: *  **  *
-       .byte   %10011001       ; 0F6B 2-ed: *  **  *
-       .byte   %10011001       ; 0F6C 2-ed: *  **  *
-       .byte   %11000011       ; 0F6D 2-ed: **    **
-       .byte   %11100111       ; 0F6E 2-ed: ***  ***
-       .byte   %11111111       ; 0F6F 2-ed: ********
-
-       .byte   %11111111       ; 0F70 2-ee: ********
-       .byte   %11111111       ; 0F71 2-ee: ********
-       .byte   %10011100       ; 0F72 2-ee: *  ***  
-       .byte   %10010100       ; 0F73 2-ee: *  * *  
-       .byte   %10000000       ; 0F74 2-ee: *       
-       .byte   %11000001       ; 0F75 2-ee: **     *
-       .byte   %11001001       ; 0F76 2-ee: **  *  *
-       .byte   %11111111       ; 0F77 2-ee: ********
-
-       .byte   %11111111       ; 0F78 2-ef: ********
-       .byte   %11111111       ; 0F79 2-ef: ********
-       .byte   %10011100       ; 0F7A 2-ef: *  ***  
-       .byte   %10010100       ; 0F7B 2-ef: *  * *  
-       .byte   %10000000       ; 0F7C 2-ef: *       
-       .byte   %11000001       ; 0F7D 2-ef: **     *
-       .byte   %11001001       ; 0F7E 2-ef: **  *  *
-       .byte   %11111111       ; 0F7F 2-ef: ********
-
-       .byte   %11111111       ; 0F80 2-f0: ********
-       .byte   %11111111       ; 0F81 2-f0: ********
-       .byte   %10011001       ; 0F82 2-f0: *  **  *
-       .byte   %11000011       ; 0F83 2-f0: **    **
-       .byte   %11100111       ; 0F84 2-f0: ***  ***
-       .byte   %11000011       ; 0F85 2-f0: **    **
-       .byte   %10011001       ; 0F86 2-f0: *  **  *
-       .byte   %11111111       ; 0F87 2-f0: ********
-
-       .byte   %11111111       ; 0F88 2-f1: ********
-       .byte   %11111111       ; 0F89 2-f1: ********
-       .byte   %10011001       ; 0F8A 2-f1: *  **  *
-       .byte   %11000011       ; 0F8B 2-f1: **    **
-       .byte   %11100111       ; 0F8C 2-f1: ***  ***
-       .byte   %11000011       ; 0F8D 2-f1: **    **
-       .byte   %10011001       ; 0F8E 2-f1: *  **  *
-       .byte   %11111111       ; 0F8F 2-f1: ********
-
-       .byte   %11111111       ; 0F90 2-f2: ********
-       .byte   %11111111       ; 0F91 2-f2: ********
-       .byte   %10011001       ; 0F92 2-f2: *  **  *
-       .byte   %10011001       ; 0F93 2-f2: *  **  *
-       .byte   %10011001       ; 0F94 2-f2: *  **  *
-       .byte   %11000001       ; 0F95 2-f2: **     *
-       .byte   %11110011       ; 0F96 2-f2: ****  **
-       .byte   %10000111       ; 0F97 2-f2: *    ***
-
-       .byte   %11111111       ; 0F98 2-f3: ********
-       .byte   %11111111       ; 0F99 2-f3: ********
-       .byte   %10011001       ; 0F9A 2-f3: *  **  *
-       .byte   %10011001       ; 0F9B 2-f3: *  **  *
-       .byte   %10011001       ; 0F9C 2-f3: *  **  *
-       .byte   %11000001       ; 0F9D 2-f3: **     *
-       .byte   %11110011       ; 0F9E 2-f3: ****  **
-       .byte   %10000111       ; 0F9F 2-f3: *    ***
-
-       .byte   %11111111       ; 0FA0 2-f4: ********
-       .byte   %11111111       ; 0FA1 2-f4: ********
-       .byte   %10000001       ; 0FA2 2-f4: *      *
-       .byte   %11110011       ; 0FA3 2-f4: ****  **
-       .byte   %11100111       ; 0FA4 2-f4: ***  ***
-       .byte   %11001111       ; 0FA5 2-f4: **  ****
-       .byte   %10000001       ; 0FA6 2-f4: *      *
-       .byte   %11111111       ; 0FA7 2-f4: ********
-
-       .byte   %11111111       ; 0FA8 2-f5: ********
-       .byte   %11111111       ; 0FA9 2-f5: ********
-       .byte   %10000001       ; 0FAA 2-f5: *      *
-       .byte   %11110011       ; 0FAB 2-f5: ****  **
-       .byte   %11100111       ; 0FAC 2-f5: ***  ***
-       .byte   %11001111       ; 0FAD 2-f5: **  ****
-       .byte   %10000001       ; 0FAE 2-f5: *      *
-       .byte   %11111111       ; 0FAF 2-f5: ********
-
-       .byte   %11100011       ; 0FB0 2-f6: ***   **
-       .byte   %11001111       ; 0FB1 2-f6: **  ****
-       .byte   %11100111       ; 0FB2 2-f6: ***  ***
-       .byte   %10001111       ; 0FB3 2-f6: *   ****
-       .byte   %11100111       ; 0FB4 2-f6: ***  ***
-       .byte   %11001111       ; 0FB5 2-f6: **  ****
-       .byte   %11100011       ; 0FB6 2-f6: ***   **
-       .byte   %11111111       ; 0FB7 2-f6: ********
-
-       .byte   %11100011       ; 0FB8 2-f7: ***   **
-       .byte   %11001111       ; 0FB9 2-f7: **  ****
-       .byte   %11100111       ; 0FBA 2-f7: ***  ***
-       .byte   %10001111       ; 0FBB 2-f7: *   ****
-       .byte   %11100111       ; 0FBC 2-f7: ***  ***
-       .byte   %11001111       ; 0FBD 2-f7: **  ****
-       .byte   %11100011       ; 0FBE 2-f7: ***   **
-       .byte   %11111111       ; 0FBF 2-f7: ********
-
-       .byte   %11100111       ; 0FC0 2-f8: ***  ***
-       .byte   %11100111       ; 0FC1 2-f8: ***  ***
-       .byte   %11100111       ; 0FC2 2-f8: ***  ***
-       .byte   %11111111       ; 0FC3 2-f8: ********
-       .byte   %11111111       ; 0FC4 2-f8: ********
-       .byte   %11100111       ; 0FC5 2-f8: ***  ***
-       .byte   %11100111       ; 0FC6 2-f8: ***  ***
-       .byte   %11100111       ; 0FC7 2-f8: ***  ***
-
-       .byte   %11100111       ; 0FC8 2-f9: ***  ***
-       .byte   %11100111       ; 0FC9 2-f9: ***  ***
-       .byte   %11100111       ; 0FCA 2-f9: ***  ***
-       .byte   %11111111       ; 0FCB 2-f9: ********
-       .byte   %11111111       ; 0FCC 2-f9: ********
-       .byte   %11100111       ; 0FCD 2-f9: ***  ***
-       .byte   %11100111       ; 0FCE 2-f9: ***  ***
-       .byte   %11100111       ; 0FCF 2-f9: ***  ***
-
-       .byte   %11000111       ; 0FD0 2-fa: **   ***
-       .byte   %11110011       ; 0FD1 2-fa: ****  **
-       .byte   %11100111       ; 0FD2 2-fa: ***  ***
-       .byte   %11110001       ; 0FD3 2-fa: ****   *
-       .byte   %11100111       ; 0FD4 2-fa: ***  ***
-       .byte   %11110011       ; 0FD5 2-fa: ****  **
-       .byte   %11000111       ; 0FD6 2-fa: **   ***
-       .byte   %11111111       ; 0FD7 2-fa: ********
-
-       .byte   %11000111       ; 0FD8 2-fb: **   ***
-       .byte   %11110011       ; 0FD9 2-fb: ****  **
-       .byte   %11100111       ; 0FDA 2-fb: ***  ***
-       .byte   %11110001       ; 0FDB 2-fb: ****   *
-       .byte   %11100111       ; 0FDC 2-fb: ***  ***
-       .byte   %11110011       ; 0FDD 2-fb: ****  **
-       .byte   %11000111       ; 0FDE 2-fb: **   ***
-       .byte   %11111111       ; 0FDF 2-fb: ********
-
-       .byte   %11001100       ; 0FE0 2-fc: **  **  
-       .byte   %00000000       ; 0FE1 2-fc:         
-       .byte   %00110011       ; 0FE2 2-fc:   **  **
-       .byte   %11111111       ; 0FE3 2-fc: ********
-       .byte   %11111111       ; 0FE4 2-fc: ********
-       .byte   %11111111       ; 0FE5 2-fc: ********
-       .byte   %11111111       ; 0FE6 2-fc: ********
-       .byte   %11111111       ; 0FE7 2-fc: ********
-
-       .byte   %11001100       ; 0FE8 2-fd: **  **  
-       .byte   %00000000       ; 0FE9 2-fd:         
-       .byte   %00110011       ; 0FEA 2-fd:   **  **
-       .byte   %11111111       ; 0FEB 2-fd: ********
-       .byte   %11111111       ; 0FEC 2-fd: ********
-       .byte   %11111111       ; 0FED 2-fd: ********
-       .byte   %11111111       ; 0FEE 2-fd: ********
-       .byte   %11111111       ; 0FEF 2-fd: ********
-
-       .byte   %11111111       ; 0FF0 2-fe: ********
-       .byte   %11111111       ; 0FF1 2-fe: ********
-       .byte   %11111111       ; 0FF2 2-fe: ********
-       .byte   %11111111       ; 0FF3 2-fe: ********
-       .byte   %11111111       ; 0FF4 2-fe: ********
-       .byte   %11111111       ; 0FF5 2-fe: ********
-       .byte   %11111111       ; 0FF6 2-fe: ********
-       .byte   %11111111       ; 0FF7 2-fe: ********
-
-       .byte   %11111111       ; 0FF8 2-ff: ********
-       .byte   %11111111       ; 0FF9 2-ff: ********
-       .byte   %11111111       ; 0FFA 2-ff: ********
-       .byte   %11111111       ; 0FFB 2-ff: ********
-       .byte   %11111111       ; 0FFC 2-ff: ********
-       .byte   %11111111       ; 0FFD 2-ff: ********
-       .byte   %11111111       ; 0FFE 2-ff: ********
-       .byte   %11111111       ; 0FFF 2-ff: ********
+        .byte   %00000000       ; 0000 1-00:         
+        .byte   %00000000       ; 0001 1-00:         
+        .byte   %00000000       ; 0002 1-00:         
+        .byte   %00000000       ; 0003 1-00:         
+        .byte   %00000000       ; 0004 1-00:         
+        .byte   %00000000       ; 0005 1-00:         
+        .byte   %00000000       ; 0006 1-00:         
+        .byte   %00000000       ; 0007 1-00:         
+
+        .byte   %00000000       ; 0008 1-01:         
+        .byte   %00000000       ; 0009 1-01:         
+        .byte   %00000000       ; 000A 1-01:         
+        .byte   %00000000       ; 000B 1-01:         
+        .byte   %00000000       ; 000C 1-01:         
+        .byte   %00000000       ; 000D 1-01:         
+        .byte   %00000000       ; 000E 1-01:         
+        .byte   %00000000       ; 000F 1-01:         
+
+        .byte   %11001100       ; 0010 1-02: **  **  
+        .byte   %11001100       ; 0011 1-02: **  **  
+        .byte   %00110011       ; 0012 1-02:   **  **
+        .byte   %00110011       ; 0013 1-02:   **  **
+        .byte   %11001100       ; 0014 1-02: **  **  
+        .byte   %11001100       ; 0015 1-02: **  **  
+        .byte   %00110011       ; 0016 1-02:   **  **
+        .byte   %00110011       ; 0017 1-02:   **  **
+
+        .byte   %11001100       ; 0018 1-03: **  **  
+        .byte   %11001100       ; 0019 1-03: **  **  
+        .byte   %00110011       ; 001A 1-03:   **  **
+        .byte   %00110011       ; 001B 1-03:   **  **
+        .byte   %11001100       ; 001C 1-03: **  **  
+        .byte   %11001100       ; 001D 1-03: **  **  
+        .byte   %00110011       ; 001E 1-03:   **  **
+        .byte   %00110011       ; 001F 1-03:   **  **
+
+        .byte   %00000000       ; 0020 1-04:         
+        .byte   %00011000       ; 0021 1-04:    **   
+        .byte   %00111100       ; 0022 1-04:   ****  
+        .byte   %01111110       ; 0023 1-04:  ****** 
+        .byte   %00011000       ; 0024 1-04:    **   
+        .byte   %00011000       ; 0025 1-04:    **   
+        .byte   %00011000       ; 0026 1-04:    **   
+        .byte   %00011000       ; 0027 1-04:    **   
+
+        .byte   %00000000       ; 0028 1-05:         
+        .byte   %00011000       ; 0029 1-05:    **   
+        .byte   %00111100       ; 002A 1-05:   ****  
+        .byte   %01111110       ; 002B 1-05:  ****** 
+        .byte   %00011000       ; 002C 1-05:    **   
+        .byte   %00011000       ; 002D 1-05:    **   
+        .byte   %00011000       ; 002E 1-05:    **   
+        .byte   %00011000       ; 002F 1-05:    **   
+
+        .byte   %00000000       ; 0030 1-06:         
+        .byte   %00010000       ; 0031 1-06:    *    
+        .byte   %00110000       ; 0032 1-06:   **    
+        .byte   %01111111       ; 0033 1-06:  *******
+        .byte   %01111111       ; 0034 1-06:  *******
+        .byte   %00110000       ; 0035 1-06:   **    
+        .byte   %00010000       ; 0036 1-06:    *    
+        .byte   %00000000       ; 0037 1-06:         
+
+        .byte   %00000000       ; 0038 1-07:         
+        .byte   %00010000       ; 0039 1-07:    *    
+        .byte   %00110000       ; 003A 1-07:   **    
+        .byte   %01111111       ; 003B 1-07:  *******
+        .byte   %01111111       ; 003C 1-07:  *******
+        .byte   %00110000       ; 003D 1-07:   **    
+        .byte   %00010000       ; 003E 1-07:    *    
+        .byte   %00000000       ; 003F 1-07:         
+
+        .byte   %00001100       ; 0040 1-08:     **  
+        .byte   %00010010       ; 0041 1-08:    *  * 
+        .byte   %00110000       ; 0042 1-08:   **    
+        .byte   %01111100       ; 0043 1-08:  *****  
+        .byte   %00110000       ; 0044 1-08:   **    
+        .byte   %01100010       ; 0045 1-08:  **   * 
+        .byte   %11111100       ; 0046 1-08: ******  
+        .byte   %00000000       ; 0047 1-08:         
+
+        .byte   %00001100       ; 0048 1-09:     **  
+        .byte   %00010010       ; 0049 1-09:    *  * 
+        .byte   %00110000       ; 004A 1-09:   **    
+        .byte   %01111100       ; 004B 1-09:  *****  
+        .byte   %00110000       ; 004C 1-09:   **    
+        .byte   %01100010       ; 004D 1-09:  **   * 
+        .byte   %11111100       ; 004E 1-09: ******  
+        .byte   %00000000       ; 004F 1-09:         
+
+        .byte   %00000000       ; 0050 1-0a:         
+        .byte   %00000000       ; 0051 1-0a:         
+        .byte   %00000011       ; 0052 1-0a:       **
+        .byte   %00111110       ; 0053 1-0a:   ***** 
+        .byte   %01110110       ; 0054 1-0a:  *** ** 
+        .byte   %00110110       ; 0055 1-0a:   ** ** 
+        .byte   %00110110       ; 0056 1-0a:   ** ** 
+        .byte   %00000000       ; 0057 1-0a:         
+
+        .byte   %00000000       ; 0058 1-0b:         
+        .byte   %00000000       ; 0059 1-0b:         
+        .byte   %00000011       ; 005A 1-0b:       **
+        .byte   %00111110       ; 005B 1-0b:   ***** 
+        .byte   %01110110       ; 005C 1-0b:  *** ** 
+        .byte   %00110110       ; 005D 1-0b:   ** ** 
+        .byte   %00110110       ; 005E 1-0b:   ** ** 
+        .byte   %00000000       ; 005F 1-0b:         
+
+        .byte   %01111111       ; 0060 1-0c:  *******
+        .byte   %01111111       ; 0061 1-0c:  *******
+        .byte   %00000000       ; 0062 1-0c:         
+        .byte   %00000000       ; 0063 1-0c:         
+        .byte   %00000000       ; 0064 1-0c:         
+        .byte   %00000000       ; 0065 1-0c:         
+        .byte   %00000000       ; 0066 1-0c:         
+        .byte   %00000000       ; 0067 1-0c:         
+
+        .byte   %01111111       ; 0068 1-0d:  *******
+        .byte   %01111111       ; 0069 1-0d:  *******
+        .byte   %00000000       ; 006A 1-0d:         
+        .byte   %00000000       ; 006B 1-0d:         
+        .byte   %00000000       ; 006C 1-0d:         
+        .byte   %00000000       ; 006D 1-0d:         
+        .byte   %00000000       ; 006E 1-0d:         
+        .byte   %00000000       ; 006F 1-0d:         
+
+        .byte   %11100000       ; 0070 1-0e: ***     
+        .byte   %11100000       ; 0071 1-0e: ***     
+        .byte   %01100000       ; 0072 1-0e:  **     
+        .byte   %01100000       ; 0073 1-0e:  **     
+        .byte   %01100000       ; 0074 1-0e:  **     
+        .byte   %01100000       ; 0075 1-0e:  **     
+        .byte   %01100000       ; 0076 1-0e:  **     
+        .byte   %01100000       ; 0077 1-0e:  **     
+
+        .byte   %11100000       ; 0078 1-0f: ***     
+        .byte   %11100000       ; 0079 1-0f: ***     
+        .byte   %01100000       ; 007A 1-0f:  **     
+        .byte   %01100000       ; 007B 1-0f:  **     
+        .byte   %01100000       ; 007C 1-0f:  **     
+        .byte   %01100000       ; 007D 1-0f:  **     
+        .byte   %01100000       ; 007E 1-0f:  **     
+        .byte   %01100000       ; 007F 1-0f:  **     
+
+        .byte   %00011000       ; 0080 1-10:    **   
+        .byte   %00011000       ; 0081 1-10:    **   
+        .byte   %00011000       ; 0082 1-10:    **   
+        .byte   %11111000       ; 0083 1-10: *****   
+        .byte   %11111000       ; 0084 1-10: *****   
+        .byte   %00000000       ; 0085 1-10:         
+        .byte   %00000000       ; 0086 1-10:         
+        .byte   %00000000       ; 0087 1-10:         
+
+        .byte   %00011000       ; 0088 1-11:    **   
+        .byte   %00011000       ; 0089 1-11:    **   
+        .byte   %00011000       ; 008A 1-11:    **   
+        .byte   %11111000       ; 008B 1-11: *****   
+        .byte   %11111000       ; 008C 1-11: *****   
+        .byte   %00000000       ; 008D 1-11:         
+        .byte   %00000000       ; 008E 1-11:         
+        .byte   %00000000       ; 008F 1-11:         
+
+        .byte   %11001100       ; 0090 1-12: **  **  
+        .byte   %10011001       ; 0091 1-12: *  **  *
+        .byte   %00110011       ; 0092 1-12:   **  **
+        .byte   %01100110       ; 0093 1-12:  **  ** 
+        .byte   %11001100       ; 0094 1-12: **  **  
+        .byte   %10011001       ; 0095 1-12: *  **  *
+        .byte   %00110011       ; 0096 1-12:   **  **
+        .byte   %01100110       ; 0097 1-12:  **  ** 
+
+        .byte   %11001100       ; 0098 1-13: **  **  
+        .byte   %10011001       ; 0099 1-13: *  **  *
+        .byte   %00110011       ; 009A 1-13:   **  **
+        .byte   %01100110       ; 009B 1-13:  **  ** 
+        .byte   %11001100       ; 009C 1-13: **  **  
+        .byte   %10011001       ; 009D 1-13: *  **  *
+        .byte   %00110011       ; 009E 1-13:   **  **
+        .byte   %01100110       ; 009F 1-13:  **  ** 
+
+        .byte   %00110011       ; 00A0 1-14:   **  **
+        .byte   %10011001       ; 00A1 1-14: *  **  *
+        .byte   %11001100       ; 00A2 1-14: **  **  
+        .byte   %01100110       ; 00A3 1-14:  **  ** 
+        .byte   %00110011       ; 00A4 1-14:   **  **
+        .byte   %10011001       ; 00A5 1-14: *  **  *
+        .byte   %11001100       ; 00A6 1-14: **  **  
+        .byte   %01100110       ; 00A7 1-14:  **  ** 
+
+        .byte   %00110011       ; 00A8 1-15:   **  **
+        .byte   %10011001       ; 00A9 1-15: *  **  *
+        .byte   %11001100       ; 00AA 1-15: **  **  
+        .byte   %01100110       ; 00AB 1-15:  **  ** 
+        .byte   %00110011       ; 00AC 1-15:   **  **
+        .byte   %10011001       ; 00AD 1-15: *  **  *
+        .byte   %11001100       ; 00AE 1-15: **  **  
+        .byte   %01100110       ; 00AF 1-15:  **  ** 
+
+        .byte   %00000000       ; 00B0 1-16:         
+        .byte   %00000000       ; 00B1 1-16:         
+        .byte   %00000000       ; 00B2 1-16:         
+        .byte   %11111111       ; 00B3 1-16: ********
+        .byte   %11111111       ; 00B4 1-16: ********
+        .byte   %00000000       ; 00B5 1-16:         
+        .byte   %00000000       ; 00B6 1-16:         
+        .byte   %00000000       ; 00B7 1-16:         
+
+        .byte   %00000000       ; 00B8 1-17:         
+        .byte   %00000000       ; 00B9 1-17:         
+        .byte   %00000000       ; 00BA 1-17:         
+        .byte   %11111111       ; 00BB 1-17: ********
+        .byte   %11111111       ; 00BC 1-17: ********
+        .byte   %00000000       ; 00BD 1-17:         
+        .byte   %00000000       ; 00BE 1-17:         
+        .byte   %00000000       ; 00BF 1-17:         
+
+        .byte   %00000011       ; 00C0 1-18:       **
+        .byte   %00000011       ; 00C1 1-18:       **
+        .byte   %00000011       ; 00C2 1-18:       **
+        .byte   %00000011       ; 00C3 1-18:       **
+        .byte   %00000011       ; 00C4 1-18:       **
+        .byte   %00000011       ; 00C5 1-18:       **
+        .byte   %00000011       ; 00C6 1-18:       **
+        .byte   %00000011       ; 00C7 1-18:       **
+
+        .byte   %00000011       ; 00C8 1-19:       **
+        .byte   %00000011       ; 00C9 1-19:       **
+        .byte   %00000011       ; 00CA 1-19:       **
+        .byte   %00000011       ; 00CB 1-19:       **
+        .byte   %00000011       ; 00CC 1-19:       **
+        .byte   %00000011       ; 00CD 1-19:       **
+        .byte   %00000011       ; 00CE 1-19:       **
+        .byte   %00000011       ; 00CF 1-19:       **
+
+        .byte   %00000000       ; 00D0 1-1a:         
+        .byte   %00000000       ; 00D1 1-1a:         
+        .byte   %00000000       ; 00D2 1-1a:         
+        .byte   %00000000       ; 00D3 1-1a:         
+        .byte   %11001100       ; 00D4 1-1a: **  **  
+        .byte   %11001100       ; 00D5 1-1a: **  **  
+        .byte   %00110011       ; 00D6 1-1a:   **  **
+        .byte   %00110011       ; 00D7 1-1a:   **  **
+
+        .byte   %00000000       ; 00D8 1-1b:         
+        .byte   %00000000       ; 00D9 1-1b:         
+        .byte   %00000000       ; 00DA 1-1b:         
+        .byte   %00000000       ; 00DB 1-1b:         
+        .byte   %11001100       ; 00DC 1-1b: **  **  
+        .byte   %11001100       ; 00DD 1-1b: **  **  
+        .byte   %00110011       ; 00DE 1-1b:   **  **
+        .byte   %00110011       ; 00DF 1-1b:   **  **
+
+        .byte   %00011000       ; 00E0 1-1c:    **   
+        .byte   %00011000       ; 00E1 1-1c:    **   
+        .byte   %00011000       ; 00E2 1-1c:    **   
+        .byte   %00011000       ; 00E3 1-1c:    **   
+        .byte   %00011000       ; 00E4 1-1c:    **   
+        .byte   %00011000       ; 00E5 1-1c:    **   
+        .byte   %00011000       ; 00E6 1-1c:    **   
+        .byte   %00011000       ; 00E7 1-1c:    **   
+
+        .byte   %00011000       ; 00E8 1-1d:    **   
+        .byte   %00011000       ; 00E9 1-1d:    **   
+        .byte   %00011000       ; 00EA 1-1d:    **   
+        .byte   %00011000       ; 00EB 1-1d:    **   
+        .byte   %00011000       ; 00EC 1-1d:    **   
+        .byte   %00011000       ; 00ED 1-1d:    **   
+        .byte   %00011000       ; 00EE 1-1d:    **   
+        .byte   %00011000       ; 00EF 1-1d:    **   
+
+        .byte   %00011000       ; 00F0 1-1e:    **   
+        .byte   %00011000       ; 00F1 1-1e:    **   
+        .byte   %00011000       ; 00F2 1-1e:    **   
+        .byte   %00011111       ; 00F3 1-1e:    *****
+        .byte   %00011111       ; 00F4 1-1e:    *****
+        .byte   %00011000       ; 00F5 1-1e:    **   
+        .byte   %00011000       ; 00F6 1-1e:    **   
+        .byte   %00011000       ; 00F7 1-1e:    **   
+
+        .byte   %00011000       ; 00F8 1-1f:    **   
+        .byte   %00011000       ; 00F9 1-1f:    **   
+        .byte   %00011000       ; 00FA 1-1f:    **   
+        .byte   %00011111       ; 00FB 1-1f:    *****
+        .byte   %00011111       ; 00FC 1-1f:    *****
+        .byte   %00011000       ; 00FD 1-1f:    **   
+        .byte   %00011000       ; 00FE 1-1f:    **   
+        .byte   %00011000       ; 00FF 1-1f:    **   
+
+        .byte   %00011000       ; 0100 1-20:    **   
+        .byte   %00011000       ; 0101 1-20:    **   
+        .byte   %00011000       ; 0102 1-20:    **   
+        .byte   %11111111       ; 0103 1-20: ********
+        .byte   %11111111       ; 0104 1-20: ********
+        .byte   %00011000       ; 0105 1-20:    **   
+        .byte   %00011000       ; 0106 1-20:    **   
+        .byte   %00011000       ; 0107 1-20:    **   
+
+        .byte   %00011000       ; 0108 1-21:    **   
+        .byte   %00011000       ; 0109 1-21:    **   
+        .byte   %00011000       ; 010A 1-21:    **   
+        .byte   %11111111       ; 010B 1-21: ********
+        .byte   %11111111       ; 010C 1-21: ********
+        .byte   %00011000       ; 010D 1-21:    **   
+        .byte   %00011000       ; 010E 1-21:    **   
+        .byte   %00011000       ; 010F 1-21:    **   
+
+        .byte   %00011000       ; 0110 1-22:    **   
+        .byte   %00011000       ; 0111 1-22:    **   
+        .byte   %00011000       ; 0112 1-22:    **   
+        .byte   %00011111       ; 0113 1-22:    *****
+        .byte   %00011111       ; 0114 1-22:    *****
+        .byte   %00000000       ; 0115 1-22:         
+        .byte   %00000000       ; 0116 1-22:         
+        .byte   %00000000       ; 0117 1-22:         
+
+        .byte   %00011000       ; 0118 1-23:    **   
+        .byte   %00011000       ; 0119 1-23:    **   
+        .byte   %00011000       ; 011A 1-23:    **   
+        .byte   %00011111       ; 011B 1-23:    *****
+        .byte   %00011111       ; 011C 1-23:    *****
+        .byte   %00000000       ; 011D 1-23:         
+        .byte   %00000000       ; 011E 1-23:         
+        .byte   %00000000       ; 011F 1-23:         
+
+        .byte   %00000000       ; 0120 1-24:         
+        .byte   %00000000       ; 0121 1-24:         
+        .byte   %00000000       ; 0122 1-24:         
+        .byte   %11111000       ; 0123 1-24: *****   
+        .byte   %11111000       ; 0124 1-24: *****   
+        .byte   %00011000       ; 0125 1-24:    **   
+        .byte   %00011000       ; 0126 1-24:    **   
+        .byte   %00011000       ; 0127 1-24:    **   
+
+        .byte   %00000000       ; 0128 1-25:         
+        .byte   %00000000       ; 0129 1-25:         
+        .byte   %00000000       ; 012A 1-25:         
+        .byte   %11111000       ; 012B 1-25: *****   
+        .byte   %11111000       ; 012C 1-25: *****   
+        .byte   %00011000       ; 012D 1-25:    **   
+        .byte   %00011000       ; 012E 1-25:    **   
+        .byte   %00011000       ; 012F 1-25:    **   
+
+        .byte   %00000000       ; 0130 1-26:         
+        .byte   %00000000       ; 0131 1-26:         
+        .byte   %00000000       ; 0132 1-26:         
+        .byte   %00000000       ; 0133 1-26:         
+        .byte   %00000000       ; 0134 1-26:         
+        .byte   %00000000       ; 0135 1-26:         
+        .byte   %11111111       ; 0136 1-26: ********
+        .byte   %11111111       ; 0137 1-26: ********
+
+        .byte   %00000000       ; 0138 1-27:         
+        .byte   %00000000       ; 0139 1-27:         
+        .byte   %00000000       ; 013A 1-27:         
+        .byte   %00000000       ; 013B 1-27:         
+        .byte   %00000000       ; 013C 1-27:         
+        .byte   %00000000       ; 013D 1-27:         
+        .byte   %11111111       ; 013E 1-27: ********
+        .byte   %11111111       ; 013F 1-27: ********
+
+        .byte   %00000000       ; 0140 1-28:         
+        .byte   %00000000       ; 0141 1-28:         
+        .byte   %00000000       ; 0142 1-28:         
+        .byte   %00011111       ; 0143 1-28:    *****
+        .byte   %00011111       ; 0144 1-28:    *****
+        .byte   %00011000       ; 0145 1-28:    **   
+        .byte   %00011000       ; 0146 1-28:    **   
+        .byte   %00011000       ; 0147 1-28:    **   
+
+        .byte   %00000000       ; 0148 1-29:         
+        .byte   %00000000       ; 0149 1-29:         
+        .byte   %00000000       ; 014A 1-29:         
+        .byte   %00011111       ; 014B 1-29:    *****
+        .byte   %00011111       ; 014C 1-29:    *****
+        .byte   %00011000       ; 014D 1-29:    **   
+        .byte   %00011000       ; 014E 1-29:    **   
+        .byte   %00011000       ; 014F 1-29:    **   
+
+        .byte   %00011000       ; 0150 1-2a:    **   
+        .byte   %00011000       ; 0151 1-2a:    **   
+        .byte   %00011000       ; 0152 1-2a:    **   
+        .byte   %11111111       ; 0153 1-2a: ********
+        .byte   %11111111       ; 0154 1-2a: ********
+        .byte   %00000000       ; 0155 1-2a:         
+        .byte   %00000000       ; 0156 1-2a:         
+        .byte   %00000000       ; 0157 1-2a:         
+
+        .byte   %00011000       ; 0158 1-2b:    **   
+        .byte   %00011000       ; 0159 1-2b:    **   
+        .byte   %00011000       ; 015A 1-2b:    **   
+        .byte   %11111111       ; 015B 1-2b: ********
+        .byte   %11111111       ; 015C 1-2b: ********
+        .byte   %00000000       ; 015D 1-2b:         
+        .byte   %00000000       ; 015E 1-2b:         
+        .byte   %00000000       ; 015F 1-2b:         
+
+        .byte   %00000000       ; 0160 1-2c:         
+        .byte   %00000000       ; 0161 1-2c:         
+        .byte   %00000000       ; 0162 1-2c:         
+        .byte   %11111111       ; 0163 1-2c: ********
+        .byte   %11111111       ; 0164 1-2c: ********
+        .byte   %00011000       ; 0165 1-2c:    **   
+        .byte   %00011000       ; 0166 1-2c:    **   
+        .byte   %00011000       ; 0167 1-2c:    **   
+
+        .byte   %00000000       ; 0168 1-2d:         
+        .byte   %00000000       ; 0169 1-2d:         
+        .byte   %00000000       ; 016A 1-2d:         
+        .byte   %11111111       ; 016B 1-2d: ********
+        .byte   %11111111       ; 016C 1-2d: ********
+        .byte   %00011000       ; 016D 1-2d:    **   
+        .byte   %00011000       ; 016E 1-2d:    **   
+        .byte   %00011000       ; 016F 1-2d:    **   
+
+        .byte   %00011000       ; 0170 1-2e:    **   
+        .byte   %00011000       ; 0171 1-2e:    **   
+        .byte   %00011000       ; 0172 1-2e:    **   
+        .byte   %11111000       ; 0173 1-2e: *****   
+        .byte   %11111000       ; 0174 1-2e: *****   
+        .byte   %00011000       ; 0175 1-2e:    **   
+        .byte   %00011000       ; 0176 1-2e:    **   
+        .byte   %00011000       ; 0177 1-2e:    **   
+
+        .byte   %00011000       ; 0178 1-2f:    **   
+        .byte   %00011000       ; 0179 1-2f:    **   
+        .byte   %00011000       ; 017A 1-2f:    **   
+        .byte   %11111000       ; 017B 1-2f: *****   
+        .byte   %11111000       ; 017C 1-2f: *****   
+        .byte   %00011000       ; 017D 1-2f:    **   
+        .byte   %00011000       ; 017E 1-2f:    **   
+        .byte   %00011000       ; 017F 1-2f:    **   
+
+        .byte   %11110000       ; 0180 1-30: ****    
+        .byte   %11110000       ; 0181 1-30: ****    
+        .byte   %11110000       ; 0182 1-30: ****    
+        .byte   %11110000       ; 0183 1-30: ****    
+        .byte   %11110000       ; 0184 1-30: ****    
+        .byte   %11110000       ; 0185 1-30: ****    
+        .byte   %11110000       ; 0186 1-30: ****    
+        .byte   %11110000       ; 0187 1-30: ****    
+
+        .byte   %11110000       ; 0188 1-31: ****    
+        .byte   %11110000       ; 0189 1-31: ****    
+        .byte   %11110000       ; 018A 1-31: ****    
+        .byte   %11110000       ; 018B 1-31: ****    
+        .byte   %11110000       ; 018C 1-31: ****    
+        .byte   %11110000       ; 018D 1-31: ****    
+        .byte   %11110000       ; 018E 1-31: ****    
+        .byte   %11110000       ; 018F 1-31: ****    
+
+        .byte   %00000000       ; 0190 1-32:         
+        .byte   %00000000       ; 0191 1-32:         
+        .byte   %00000000       ; 0192 1-32:         
+        .byte   %00000000       ; 0193 1-32:         
+        .byte   %11111111       ; 0194 1-32: ********
+        .byte   %11111111       ; 0195 1-32: ********
+        .byte   %11111111       ; 0196 1-32: ********
+        .byte   %11111111       ; 0197 1-32: ********
+
+        .byte   %00000000       ; 0198 1-33:         
+        .byte   %00000000       ; 0199 1-33:         
+        .byte   %00000000       ; 019A 1-33:         
+        .byte   %00000000       ; 019B 1-33:         
+        .byte   %11111111       ; 019C 1-33: ********
+        .byte   %11111111       ; 019D 1-33: ********
+        .byte   %11111111       ; 019E 1-33: ********
+        .byte   %11111111       ; 019F 1-33: ********
+
+        .byte   %00000000       ; 01A0 1-34:         
+        .byte   %00000000       ; 01A1 1-34:         
+        .byte   %00000000       ; 01A2 1-34:         
+        .byte   %00000000       ; 01A3 1-34:         
+        .byte   %11110000       ; 01A4 1-34: ****    
+        .byte   %11110000       ; 01A5 1-34: ****    
+        .byte   %11110000       ; 01A6 1-34: ****    
+        .byte   %11110000       ; 01A7 1-34: ****    
+
+        .byte   %00000000       ; 01A8 1-35:         
+        .byte   %00000000       ; 01A9 1-35:         
+        .byte   %00000000       ; 01AA 1-35:         
+        .byte   %00000000       ; 01AB 1-35:         
+        .byte   %11110000       ; 01AC 1-35: ****    
+        .byte   %11110000       ; 01AD 1-35: ****    
+        .byte   %11110000       ; 01AE 1-35: ****    
+        .byte   %11110000       ; 01AF 1-35: ****    
+
+        .byte   %11000000       ; 01B0 1-36: **      
+        .byte   %11000000       ; 01B1 1-36: **      
+        .byte   %00110000       ; 01B2 1-36:   **    
+        .byte   %00110000       ; 01B3 1-36:   **    
+        .byte   %11000000       ; 01B4 1-36: **      
+        .byte   %11000000       ; 01B5 1-36: **      
+        .byte   %00110000       ; 01B6 1-36:   **    
+        .byte   %00110000       ; 01B7 1-36:   **    
+
+        .byte   %11000000       ; 01B8 1-37: **      
+        .byte   %11000000       ; 01B9 1-37: **      
+        .byte   %00110000       ; 01BA 1-37:   **    
+        .byte   %00110000       ; 01BB 1-37:   **    
+        .byte   %11000000       ; 01BC 1-37: **      
+        .byte   %11000000       ; 01BD 1-37: **      
+        .byte   %00110000       ; 01BE 1-37:   **    
+        .byte   %00110000       ; 01BF 1-37:   **    
+
+        .byte   %00001111       ; 01C0 1-38:     ****
+        .byte   %00001111       ; 01C1 1-38:     ****
+        .byte   %00001111       ; 01C2 1-38:     ****
+        .byte   %00001111       ; 01C3 1-38:     ****
+        .byte   %00000000       ; 01C4 1-38:         
+        .byte   %00000000       ; 01C5 1-38:         
+        .byte   %00000000       ; 01C6 1-38:         
+        .byte   %00000000       ; 01C7 1-38:         
+
+        .byte   %00001111       ; 01C8 1-39:     ****
+        .byte   %00001111       ; 01C9 1-39:     ****
+        .byte   %00001111       ; 01CA 1-39:     ****
+        .byte   %00001111       ; 01CB 1-39:     ****
+        .byte   %00000000       ; 01CC 1-39:         
+        .byte   %00000000       ; 01CD 1-39:         
+        .byte   %00000000       ; 01CE 1-39:         
+        .byte   %00000000       ; 01CF 1-39:         
+
+        .byte   %00000000       ; 01D0 1-3a:         
+        .byte   %00000000       ; 01D1 1-3a:         
+        .byte   %00000000       ; 01D2 1-3a:         
+        .byte   %00000000       ; 01D3 1-3a:         
+        .byte   %00001111       ; 01D4 1-3a:     ****
+        .byte   %00001111       ; 01D5 1-3a:     ****
+        .byte   %00001111       ; 01D6 1-3a:     ****
+        .byte   %00001111       ; 01D7 1-3a:     ****
+
+        .byte   %00000000       ; 01D8 1-3b:         
+        .byte   %00000000       ; 01D9 1-3b:         
+        .byte   %00000000       ; 01DA 1-3b:         
+        .byte   %00000000       ; 01DB 1-3b:         
+        .byte   %00001111       ; 01DC 1-3b:     ****
+        .byte   %00001111       ; 01DD 1-3b:     ****
+        .byte   %00001111       ; 01DE 1-3b:     ****
+        .byte   %00001111       ; 01DF 1-3b:     ****
+
+        .byte   %11110000       ; 01E0 1-3c: ****    
+        .byte   %11110000       ; 01E1 1-3c: ****    
+        .byte   %11110000       ; 01E2 1-3c: ****    
+        .byte   %11110000       ; 01E3 1-3c: ****    
+        .byte   %00000000       ; 01E4 1-3c:         
+        .byte   %00000000       ; 01E5 1-3c:         
+        .byte   %00000000       ; 01E6 1-3c:         
+        .byte   %00000000       ; 01E7 1-3c:         
+
+        .byte   %11110000       ; 01E8 1-3d: ****    
+        .byte   %11110000       ; 01E9 1-3d: ****    
+        .byte   %11110000       ; 01EA 1-3d: ****    
+        .byte   %11110000       ; 01EB 1-3d: ****    
+        .byte   %00000000       ; 01EC 1-3d:         
+        .byte   %00000000       ; 01ED 1-3d:         
+        .byte   %00000000       ; 01EE 1-3d:         
+        .byte   %00000000       ; 01EF 1-3d:         
+
+        .byte   %11110000       ; 01F0 1-3e: ****    
+        .byte   %11110000       ; 01F1 1-3e: ****    
+        .byte   %11110000       ; 01F2 1-3e: ****    
+        .byte   %11110000       ; 01F3 1-3e: ****    
+        .byte   %00001111       ; 01F4 1-3e:     ****
+        .byte   %00001111       ; 01F5 1-3e:     ****
+        .byte   %00001111       ; 01F6 1-3e:     ****
+        .byte   %00001111       ; 01F7 1-3e:     ****
+
+        .byte   %11110000       ; 01F8 1-3f: ****    
+        .byte   %11110000       ; 01F9 1-3f: ****    
+        .byte   %11110000       ; 01FA 1-3f: ****    
+        .byte   %11110000       ; 01FB 1-3f: ****    
+        .byte   %00001111       ; 01FC 1-3f:     ****
+        .byte   %00001111       ; 01FD 1-3f:     ****
+        .byte   %00001111       ; 01FE 1-3f:     ****
+        .byte   %00001111       ; 01FF 1-3f:     ****
+
+        .byte   %00000000       ; 0200 1-40:         
+        .byte   %00000000       ; 0201 1-40:         
+        .byte   %00000000       ; 0202 1-40:         
+        .byte   %00000000       ; 0203 1-40:         
+        .byte   %00000000       ; 0204 1-40:         
+        .byte   %00000000       ; 0205 1-40:         
+        .byte   %00000000       ; 0206 1-40:         
+        .byte   %00000000       ; 0207 1-40:         
+
+        .byte   %00000000       ; 0208 1-41:         
+        .byte   %00000000       ; 0209 1-41:         
+        .byte   %00000000       ; 020A 1-41:         
+        .byte   %00000000       ; 020B 1-41:         
+        .byte   %00000000       ; 020C 1-41:         
+        .byte   %00000000       ; 020D 1-41:         
+        .byte   %00000000       ; 020E 1-41:         
+        .byte   %00000000       ; 020F 1-41:         
+
+        .byte   %00011000       ; 0210 1-42:    **   
+        .byte   %00011000       ; 0211 1-42:    **   
+        .byte   %00011000       ; 0212 1-42:    **   
+        .byte   %00011000       ; 0213 1-42:    **   
+        .byte   %00000000       ; 0214 1-42:         
+        .byte   %00000000       ; 0215 1-42:         
+        .byte   %00011000       ; 0216 1-42:    **   
+        .byte   %00000000       ; 0217 1-42:         
+
+        .byte   %00011000       ; 0218 1-43:    **   
+        .byte   %00011000       ; 0219 1-43:    **   
+        .byte   %00011000       ; 021A 1-43:    **   
+        .byte   %00011000       ; 021B 1-43:    **   
+        .byte   %00000000       ; 021C 1-43:         
+        .byte   %00000000       ; 021D 1-43:         
+        .byte   %00011000       ; 021E 1-43:    **   
+        .byte   %00000000       ; 021F 1-43:         
+
+        .byte   %01100110       ; 0220 1-44:  **  ** 
+        .byte   %01100110       ; 0221 1-44:  **  ** 
+        .byte   %01100110       ; 0222 1-44:  **  ** 
+        .byte   %00000000       ; 0223 1-44:         
+        .byte   %00000000       ; 0224 1-44:         
+        .byte   %00000000       ; 0225 1-44:         
+        .byte   %00000000       ; 0226 1-44:         
+        .byte   %00000000       ; 0227 1-44:         
+
+        .byte   %01100110       ; 0228 1-45:  **  ** 
+        .byte   %01100110       ; 0229 1-45:  **  ** 
+        .byte   %01100110       ; 022A 1-45:  **  ** 
+        .byte   %00000000       ; 022B 1-45:         
+        .byte   %00000000       ; 022C 1-45:         
+        .byte   %00000000       ; 022D 1-45:         
+        .byte   %00000000       ; 022E 1-45:         
+        .byte   %00000000       ; 022F 1-45:         
+
+        .byte   %01100110       ; 0230 1-46:  **  ** 
+        .byte   %01100110       ; 0231 1-46:  **  ** 
+        .byte   %11111111       ; 0232 1-46: ********
+        .byte   %01100110       ; 0233 1-46:  **  ** 
+        .byte   %11111111       ; 0234 1-46: ********
+        .byte   %01100110       ; 0235 1-46:  **  ** 
+        .byte   %01100110       ; 0236 1-46:  **  ** 
+        .byte   %00000000       ; 0237 1-46:         
+
+        .byte   %01100110       ; 0238 1-47:  **  ** 
+        .byte   %01100110       ; 0239 1-47:  **  ** 
+        .byte   %11111111       ; 023A 1-47: ********
+        .byte   %01100110       ; 023B 1-47:  **  ** 
+        .byte   %11111111       ; 023C 1-47: ********
+        .byte   %01100110       ; 023D 1-47:  **  ** 
+        .byte   %01100110       ; 023E 1-47:  **  ** 
+        .byte   %00000000       ; 023F 1-47:         
+
+        .byte   %00011000       ; 0240 1-48:    **   
+        .byte   %00111110       ; 0241 1-48:   ***** 
+        .byte   %01100000       ; 0242 1-48:  **     
+        .byte   %00111100       ; 0243 1-48:   ****  
+        .byte   %00000110       ; 0244 1-48:      ** 
+        .byte   %01111100       ; 0245 1-48:  *****  
+        .byte   %00011000       ; 0246 1-48:    **   
+        .byte   %00000000       ; 0247 1-48:         
+
+        .byte   %00011000       ; 0248 1-49:    **   
+        .byte   %00111110       ; 0249 1-49:   ***** 
+        .byte   %01100000       ; 024A 1-49:  **     
+        .byte   %00111100       ; 024B 1-49:   ****  
+        .byte   %00000110       ; 024C 1-49:      ** 
+        .byte   %01111100       ; 024D 1-49:  *****  
+        .byte   %00011000       ; 024E 1-49:    **   
+        .byte   %00000000       ; 024F 1-49:         
+
+        .byte   %00000000       ; 0250 1-4a:         
+        .byte   %01100110       ; 0251 1-4a:  **  ** 
+        .byte   %00001100       ; 0252 1-4a:     **  
+        .byte   %00011000       ; 0253 1-4a:    **   
+        .byte   %00110000       ; 0254 1-4a:   **    
+        .byte   %01100110       ; 0255 1-4a:  **  ** 
+        .byte   %01000110       ; 0256 1-4a:  *   ** 
+        .byte   %00000000       ; 0257 1-4a:         
+
+        .byte   %00000000       ; 0258 1-4b:         
+        .byte   %01100110       ; 0259 1-4b:  **  ** 
+        .byte   %00001100       ; 025A 1-4b:     **  
+        .byte   %00011000       ; 025B 1-4b:    **   
+        .byte   %00110000       ; 025C 1-4b:   **    
+        .byte   %01100110       ; 025D 1-4b:  **  ** 
+        .byte   %01000110       ; 025E 1-4b:  *   ** 
+        .byte   %00000000       ; 025F 1-4b:         
+
+        .byte   %00111100       ; 0260 1-4c:   ****  
+        .byte   %01100110       ; 0261 1-4c:  **  ** 
+        .byte   %00111100       ; 0262 1-4c:   ****  
+        .byte   %00111000       ; 0263 1-4c:   ***   
+        .byte   %01100111       ; 0264 1-4c:  **  ***
+        .byte   %01100110       ; 0265 1-4c:  **  ** 
+        .byte   %00111111       ; 0266 1-4c:   ******
+        .byte   %00000000       ; 0267 1-4c:         
+
+        .byte   %00111100       ; 0268 1-4d:   ****  
+        .byte   %01100110       ; 0269 1-4d:  **  ** 
+        .byte   %00111100       ; 026A 1-4d:   ****  
+        .byte   %00111000       ; 026B 1-4d:   ***   
+        .byte   %01100111       ; 026C 1-4d:  **  ***
+        .byte   %01100110       ; 026D 1-4d:  **  ** 
+        .byte   %00111111       ; 026E 1-4d:   ******
+        .byte   %00000000       ; 026F 1-4d:         
+
+        .byte   %00000110       ; 0270 1-4e:      ** 
+        .byte   %00001100       ; 0271 1-4e:     **  
+        .byte   %00011000       ; 0272 1-4e:    **   
+        .byte   %00000000       ; 0273 1-4e:         
+        .byte   %00000000       ; 0274 1-4e:         
+        .byte   %00000000       ; 0275 1-4e:         
+        .byte   %00000000       ; 0276 1-4e:         
+        .byte   %00000000       ; 0277 1-4e:         
+
+        .byte   %00000110       ; 0278 1-4f:      ** 
+        .byte   %00001100       ; 0279 1-4f:     **  
+        .byte   %00011000       ; 027A 1-4f:    **   
+        .byte   %00000000       ; 027B 1-4f:         
+        .byte   %00000000       ; 027C 1-4f:         
+        .byte   %00000000       ; 027D 1-4f:         
+        .byte   %00000000       ; 027E 1-4f:         
+        .byte   %00000000       ; 027F 1-4f:         
+
+        .byte   %00001100       ; 0280 1-50:     **  
+        .byte   %00011000       ; 0281 1-50:    **   
+        .byte   %00110000       ; 0282 1-50:   **    
+        .byte   %00110000       ; 0283 1-50:   **    
+        .byte   %00110000       ; 0284 1-50:   **    
+        .byte   %00011000       ; 0285 1-50:    **   
+        .byte   %00001100       ; 0286 1-50:     **  
+        .byte   %00000000       ; 0287 1-50:         
+
+        .byte   %00001100       ; 0288 1-51:     **  
+        .byte   %00011000       ; 0289 1-51:    **   
+        .byte   %00110000       ; 028A 1-51:   **    
+        .byte   %00110000       ; 028B 1-51:   **    
+        .byte   %00110000       ; 028C 1-51:   **    
+        .byte   %00011000       ; 028D 1-51:    **   
+        .byte   %00001100       ; 028E 1-51:     **  
+        .byte   %00000000       ; 028F 1-51:         
+
+        .byte   %00110000       ; 0290 1-52:   **    
+        .byte   %00011000       ; 0291 1-52:    **   
+        .byte   %00001100       ; 0292 1-52:     **  
+        .byte   %00001100       ; 0293 1-52:     **  
+        .byte   %00001100       ; 0294 1-52:     **  
+        .byte   %00011000       ; 0295 1-52:    **   
+        .byte   %00110000       ; 0296 1-52:   **    
+        .byte   %00000000       ; 0297 1-52:         
+
+        .byte   %00110000       ; 0298 1-53:   **    
+        .byte   %00011000       ; 0299 1-53:    **   
+        .byte   %00001100       ; 029A 1-53:     **  
+        .byte   %00001100       ; 029B 1-53:     **  
+        .byte   %00001100       ; 029C 1-53:     **  
+        .byte   %00011000       ; 029D 1-53:    **   
+        .byte   %00110000       ; 029E 1-53:   **    
+        .byte   %00000000       ; 029F 1-53:         
+
+        .byte   %00000000       ; 02A0 1-54:         
+        .byte   %01100110       ; 02A1 1-54:  **  ** 
+        .byte   %00111100       ; 02A2 1-54:   ****  
+        .byte   %11111111       ; 02A3 1-54: ********
+        .byte   %00111100       ; 02A4 1-54:   ****  
+        .byte   %01100110       ; 02A5 1-54:  **  ** 
+        .byte   %00000000       ; 02A6 1-54:         
+        .byte   %00000000       ; 02A7 1-54:         
+
+        .byte   %00000000       ; 02A8 1-55:         
+        .byte   %01100110       ; 02A9 1-55:  **  ** 
+        .byte   %00111100       ; 02AA 1-55:   ****  
+        .byte   %11111111       ; 02AB 1-55: ********
+        .byte   %00111100       ; 02AC 1-55:   ****  
+        .byte   %01100110       ; 02AD 1-55:  **  ** 
+        .byte   %00000000       ; 02AE 1-55:         
+        .byte   %00000000       ; 02AF 1-55:         
+
+        .byte   %00000000       ; 02B0 1-56:         
+        .byte   %00011000       ; 02B1 1-56:    **   
+        .byte   %00011000       ; 02B2 1-56:    **   
+        .byte   %01111110       ; 02B3 1-56:  ****** 
+        .byte   %00011000       ; 02B4 1-56:    **   
+        .byte   %00011000       ; 02B5 1-56:    **   
+        .byte   %00000000       ; 02B6 1-56:         
+        .byte   %00000000       ; 02B7 1-56:         
+
+        .byte   %00000000       ; 02B8 1-57:         
+        .byte   %00011000       ; 02B9 1-57:    **   
+        .byte   %00011000       ; 02BA 1-57:    **   
+        .byte   %01111110       ; 02BB 1-57:  ****** 
+        .byte   %00011000       ; 02BC 1-57:    **   
+        .byte   %00011000       ; 02BD 1-57:    **   
+        .byte   %00000000       ; 02BE 1-57:         
+        .byte   %00000000       ; 02BF 1-57:         
+
+        .byte   %00000000       ; 02C0 1-58:         
+        .byte   %00000000       ; 02C1 1-58:         
+        .byte   %00000000       ; 02C2 1-58:         
+        .byte   %00000000       ; 02C3 1-58:         
+        .byte   %00000000       ; 02C4 1-58:         
+        .byte   %00011000       ; 02C5 1-58:    **   
+        .byte   %00011000       ; 02C6 1-58:    **   
+        .byte   %00110000       ; 02C7 1-58:   **    
+
+        .byte   %00000000       ; 02C8 1-59:         
+        .byte   %00000000       ; 02C9 1-59:         
+        .byte   %00000000       ; 02CA 1-59:         
+        .byte   %00000000       ; 02CB 1-59:         
+        .byte   %00000000       ; 02CC 1-59:         
+        .byte   %00011000       ; 02CD 1-59:    **   
+        .byte   %00011000       ; 02CE 1-59:    **   
+        .byte   %00110000       ; 02CF 1-59:   **    
+
+        .byte   %00000000       ; 02D0 1-5a:         
+        .byte   %00000000       ; 02D1 1-5a:         
+        .byte   %00000000       ; 02D2 1-5a:         
+        .byte   %01111110       ; 02D3 1-5a:  ****** 
+        .byte   %00000000       ; 02D4 1-5a:         
+        .byte   %00000000       ; 02D5 1-5a:         
+        .byte   %00000000       ; 02D6 1-5a:         
+        .byte   %00000000       ; 02D7 1-5a:         
+
+        .byte   %00000000       ; 02D8 1-5b:         
+        .byte   %00000000       ; 02D9 1-5b:         
+        .byte   %00000000       ; 02DA 1-5b:         
+        .byte   %01111110       ; 02DB 1-5b:  ****** 
+        .byte   %00000000       ; 02DC 1-5b:         
+        .byte   %00000000       ; 02DD 1-5b:         
+        .byte   %00000000       ; 02DE 1-5b:         
+        .byte   %00000000       ; 02DF 1-5b:         
+
+        .byte   %00000000       ; 02E0 1-5c:         
+        .byte   %00000000       ; 02E1 1-5c:         
+        .byte   %00000000       ; 02E2 1-5c:         
+        .byte   %00000000       ; 02E3 1-5c:         
+        .byte   %00000000       ; 02E4 1-5c:         
+        .byte   %00011000       ; 02E5 1-5c:    **   
+        .byte   %00011000       ; 02E6 1-5c:    **   
+        .byte   %00000000       ; 02E7 1-5c:         
+
+        .byte   %00000000       ; 02E8 1-5d:         
+        .byte   %00000000       ; 02E9 1-5d:         
+        .byte   %00000000       ; 02EA 1-5d:         
+        .byte   %00000000       ; 02EB 1-5d:         
+        .byte   %00000000       ; 02EC 1-5d:         
+        .byte   %00011000       ; 02ED 1-5d:    **   
+        .byte   %00011000       ; 02EE 1-5d:    **   
+        .byte   %00000000       ; 02EF 1-5d:         
+
+        .byte   %00000000       ; 02F0 1-5e:         
+        .byte   %00000011       ; 02F1 1-5e:       **
+        .byte   %00000110       ; 02F2 1-5e:      ** 
+        .byte   %00001100       ; 02F3 1-5e:     **  
+        .byte   %00011000       ; 02F4 1-5e:    **   
+        .byte   %00110000       ; 02F5 1-5e:   **    
+        .byte   %01100000       ; 02F6 1-5e:  **     
+        .byte   %00000000       ; 02F7 1-5e:         
+
+        .byte   %00000000       ; 02F8 1-5f:         
+        .byte   %00000011       ; 02F9 1-5f:       **
+        .byte   %00000110       ; 02FA 1-5f:      ** 
+        .byte   %00001100       ; 02FB 1-5f:     **  
+        .byte   %00011000       ; 02FC 1-5f:    **   
+        .byte   %00110000       ; 02FD 1-5f:   **    
+        .byte   %01100000       ; 02FE 1-5f:  **     
+        .byte   %00000000       ; 02FF 1-5f:         
+
+        .byte   %00111100       ; 0300 1-60:   ****  
+        .byte   %01100110       ; 0301 1-60:  **  ** 
+        .byte   %01101110       ; 0302 1-60:  ** *** 
+        .byte   %01110110       ; 0303 1-60:  *** ** 
+        .byte   %01100110       ; 0304 1-60:  **  ** 
+        .byte   %01100110       ; 0305 1-60:  **  ** 
+        .byte   %00111100       ; 0306 1-60:   ****  
+        .byte   %00000000       ; 0307 1-60:         
+
+        .byte   %00111100       ; 0308 1-61:   ****  
+        .byte   %01100110       ; 0309 1-61:  **  ** 
+        .byte   %01101110       ; 030A 1-61:  ** *** 
+        .byte   %01110110       ; 030B 1-61:  *** ** 
+        .byte   %01100110       ; 030C 1-61:  **  ** 
+        .byte   %01100110       ; 030D 1-61:  **  ** 
+        .byte   %00111100       ; 030E 1-61:   ****  
+        .byte   %00000000       ; 030F 1-61:         
+
+        .byte   %00011000       ; 0310 1-62:    **   
+        .byte   %00011000       ; 0311 1-62:    **   
+        .byte   %00111000       ; 0312 1-62:   ***   
+        .byte   %00011000       ; 0313 1-62:    **   
+        .byte   %00011000       ; 0314 1-62:    **   
+        .byte   %00011000       ; 0315 1-62:    **   
+        .byte   %01111110       ; 0316 1-62:  ****** 
+        .byte   %00000000       ; 0317 1-62:         
+
+        .byte   %00011000       ; 0318 1-63:    **   
+        .byte   %00011000       ; 0319 1-63:    **   
+        .byte   %00111000       ; 031A 1-63:   ***   
+        .byte   %00011000       ; 031B 1-63:    **   
+        .byte   %00011000       ; 031C 1-63:    **   
+        .byte   %00011000       ; 031D 1-63:    **   
+        .byte   %01111110       ; 031E 1-63:  ****** 
+        .byte   %00000000       ; 031F 1-63:         
+
+        .byte   %00111100       ; 0320 1-64:   ****  
+        .byte   %01100110       ; 0321 1-64:  **  ** 
+        .byte   %00000110       ; 0322 1-64:      ** 
+        .byte   %00001100       ; 0323 1-64:     **  
+        .byte   %00110000       ; 0324 1-64:   **    
+        .byte   %01100000       ; 0325 1-64:  **     
+        .byte   %01111110       ; 0326 1-64:  ****** 
+        .byte   %00000000       ; 0327 1-64:         
+
+        .byte   %00111100       ; 0328 1-65:   ****  
+        .byte   %01100110       ; 0329 1-65:  **  ** 
+        .byte   %00000110       ; 032A 1-65:      ** 
+        .byte   %00001100       ; 032B 1-65:     **  
+        .byte   %00110000       ; 032C 1-65:   **    
+        .byte   %01100000       ; 032D 1-65:  **     
+        .byte   %01111110       ; 032E 1-65:  ****** 
+        .byte   %00000000       ; 032F 1-65:         
+
+        .byte   %00111100       ; 0330 1-66:   ****  
+        .byte   %01100110       ; 0331 1-66:  **  ** 
+        .byte   %00000110       ; 0332 1-66:      ** 
+        .byte   %00011100       ; 0333 1-66:    ***  
+        .byte   %00000110       ; 0334 1-66:      ** 
+        .byte   %01100110       ; 0335 1-66:  **  ** 
+        .byte   %00111100       ; 0336 1-66:   ****  
+        .byte   %00000000       ; 0337 1-66:         
+
+        .byte   %00111100       ; 0338 1-67:   ****  
+        .byte   %01100110       ; 0339 1-67:  **  ** 
+        .byte   %00000110       ; 033A 1-67:      ** 
+        .byte   %00011100       ; 033B 1-67:    ***  
+        .byte   %00000110       ; 033C 1-67:      ** 
+        .byte   %01100110       ; 033D 1-67:  **  ** 
+        .byte   %00111100       ; 033E 1-67:   ****  
+        .byte   %00000000       ; 033F 1-67:         
+
+        .byte   %00000110       ; 0340 1-68:      ** 
+        .byte   %00001110       ; 0341 1-68:     *** 
+        .byte   %00011110       ; 0342 1-68:    **** 
+        .byte   %01100110       ; 0343 1-68:  **  ** 
+        .byte   %01111111       ; 0344 1-68:  *******
+        .byte   %00000110       ; 0345 1-68:      ** 
+        .byte   %00000110       ; 0346 1-68:      ** 
+        .byte   %00000000       ; 0347 1-68:         
+
+        .byte   %00000110       ; 0348 1-69:      ** 
+        .byte   %00001110       ; 0349 1-69:     *** 
+        .byte   %00011110       ; 034A 1-69:    **** 
+        .byte   %01100110       ; 034B 1-69:  **  ** 
+        .byte   %01111111       ; 034C 1-69:  *******
+        .byte   %00000110       ; 034D 1-69:      ** 
+        .byte   %00000110       ; 034E 1-69:      ** 
+        .byte   %00000000       ; 034F 1-69:         
+
+        .byte   %01111110       ; 0350 1-6a:  ****** 
+        .byte   %01100000       ; 0351 1-6a:  **     
+        .byte   %01111100       ; 0352 1-6a:  *****  
+        .byte   %00000110       ; 0353 1-6a:      ** 
+        .byte   %00000110       ; 0354 1-6a:      ** 
+        .byte   %01100110       ; 0355 1-6a:  **  ** 
+        .byte   %00111100       ; 0356 1-6a:   ****  
+        .byte   %00000000       ; 0357 1-6a:         
+
+        .byte   %01111110       ; 0358 1-6b:  ****** 
+        .byte   %01100000       ; 0359 1-6b:  **     
+        .byte   %01111100       ; 035A 1-6b:  *****  
+        .byte   %00000110       ; 035B 1-6b:      ** 
+        .byte   %00000110       ; 035C 1-6b:      ** 
+        .byte   %01100110       ; 035D 1-6b:  **  ** 
+        .byte   %00111100       ; 035E 1-6b:   ****  
+        .byte   %00000000       ; 035F 1-6b:         
+
+        .byte   %00111100       ; 0360 1-6c:   ****  
+        .byte   %01100110       ; 0361 1-6c:  **  ** 
+        .byte   %01100000       ; 0362 1-6c:  **     
+        .byte   %01111100       ; 0363 1-6c:  *****  
+        .byte   %01100110       ; 0364 1-6c:  **  ** 
+        .byte   %01100110       ; 0365 1-6c:  **  ** 
+        .byte   %00111100       ; 0366 1-6c:   ****  
+        .byte   %00000000       ; 0367 1-6c:         
+
+        .byte   %00111100       ; 0368 1-6d:   ****  
+        .byte   %01100110       ; 0369 1-6d:  **  ** 
+        .byte   %01100000       ; 036A 1-6d:  **     
+        .byte   %01111100       ; 036B 1-6d:  *****  
+        .byte   %01100110       ; 036C 1-6d:  **  ** 
+        .byte   %01100110       ; 036D 1-6d:  **  ** 
+        .byte   %00111100       ; 036E 1-6d:   ****  
+        .byte   %00000000       ; 036F 1-6d:         
+
+        .byte   %01111110       ; 0370 1-6e:  ****** 
+        .byte   %01100110       ; 0371 1-6e:  **  ** 
+        .byte   %00001100       ; 0372 1-6e:     **  
+        .byte   %00011000       ; 0373 1-6e:    **   
+        .byte   %00011000       ; 0374 1-6e:    **   
+        .byte   %00011000       ; 0375 1-6e:    **   
+        .byte   %00011000       ; 0376 1-6e:    **   
+        .byte   %00000000       ; 0377 1-6e:         
+
+        .byte   %01111110       ; 0378 1-6f:  ****** 
+        .byte   %01100110       ; 0379 1-6f:  **  ** 
+        .byte   %00001100       ; 037A 1-6f:     **  
+        .byte   %00011000       ; 037B 1-6f:    **   
+        .byte   %00011000       ; 037C 1-6f:    **   
+        .byte   %00011000       ; 037D 1-6f:    **   
+        .byte   %00011000       ; 037E 1-6f:    **   
+        .byte   %00000000       ; 037F 1-6f:         
+
+        .byte   %00111100       ; 0380 1-70:   ****  
+        .byte   %01100110       ; 0381 1-70:  **  ** 
+        .byte   %01100110       ; 0382 1-70:  **  ** 
+        .byte   %00111100       ; 0383 1-70:   ****  
+        .byte   %01100110       ; 0384 1-70:  **  ** 
+        .byte   %01100110       ; 0385 1-70:  **  ** 
+        .byte   %00111100       ; 0386 1-70:   ****  
+        .byte   %00000000       ; 0387 1-70:         
+
+        .byte   %00111100       ; 0388 1-71:   ****  
+        .byte   %01100110       ; 0389 1-71:  **  ** 
+        .byte   %01100110       ; 038A 1-71:  **  ** 
+        .byte   %00111100       ; 038B 1-71:   ****  
+        .byte   %01100110       ; 038C 1-71:  **  ** 
+        .byte   %01100110       ; 038D 1-71:  **  ** 
+        .byte   %00111100       ; 038E 1-71:   ****  
+        .byte   %00000000       ; 038F 1-71:         
+
+        .byte   %00111100       ; 0390 1-72:   ****  
+        .byte   %01100110       ; 0391 1-72:  **  ** 
+        .byte   %01100110       ; 0392 1-72:  **  ** 
+        .byte   %00111110       ; 0393 1-72:   ***** 
+        .byte   %00000110       ; 0394 1-72:      ** 
+        .byte   %01100110       ; 0395 1-72:  **  ** 
+        .byte   %00111100       ; 0396 1-72:   ****  
+        .byte   %00000000       ; 0397 1-72:         
+
+        .byte   %00111100       ; 0398 1-73:   ****  
+        .byte   %01100110       ; 0399 1-73:  **  ** 
+        .byte   %01100110       ; 039A 1-73:  **  ** 
+        .byte   %00111110       ; 039B 1-73:   ***** 
+        .byte   %00000110       ; 039C 1-73:      ** 
+        .byte   %01100110       ; 039D 1-73:  **  ** 
+        .byte   %00111100       ; 039E 1-73:   ****  
+        .byte   %00000000       ; 039F 1-73:         
+
+        .byte   %00000000       ; 03A0 1-74:         
+        .byte   %00000000       ; 03A1 1-74:         
+        .byte   %00011000       ; 03A2 1-74:    **   
+        .byte   %00000000       ; 03A3 1-74:         
+        .byte   %00000000       ; 03A4 1-74:         
+        .byte   %00011000       ; 03A5 1-74:    **   
+        .byte   %00000000       ; 03A6 1-74:         
+        .byte   %00000000       ; 03A7 1-74:         
+
+        .byte   %00000000       ; 03A8 1-75:         
+        .byte   %00000000       ; 03A9 1-75:         
+        .byte   %00011000       ; 03AA 1-75:    **   
+        .byte   %00000000       ; 03AB 1-75:         
+        .byte   %00000000       ; 03AC 1-75:         
+        .byte   %00011000       ; 03AD 1-75:    **   
+        .byte   %00000000       ; 03AE 1-75:         
+        .byte   %00000000       ; 03AF 1-75:         
+
+        .byte   %00000000       ; 03B0 1-76:         
+        .byte   %00000000       ; 03B1 1-76:         
+        .byte   %00011000       ; 03B2 1-76:    **   
+        .byte   %00000000       ; 03B3 1-76:         
+        .byte   %00000000       ; 03B4 1-76:         
+        .byte   %00011000       ; 03B5 1-76:    **   
+        .byte   %00011000       ; 03B6 1-76:    **   
+        .byte   %00110000       ; 03B7 1-76:   **    
+
+        .byte   %00000000       ; 03B8 1-77:         
+        .byte   %00000000       ; 03B9 1-77:         
+        .byte   %00011000       ; 03BA 1-77:    **   
+        .byte   %00000000       ; 03BB 1-77:         
+        .byte   %00000000       ; 03BC 1-77:         
+        .byte   %00011000       ; 03BD 1-77:    **   
+        .byte   %00011000       ; 03BE 1-77:    **   
+        .byte   %00110000       ; 03BF 1-77:   **    
+
+        .byte   %00001110       ; 03C0 1-78:     *** 
+        .byte   %00011000       ; 03C1 1-78:    **   
+        .byte   %00110000       ; 03C2 1-78:   **    
+        .byte   %01100000       ; 03C3 1-78:  **     
+        .byte   %00110000       ; 03C4 1-78:   **    
+        .byte   %00011000       ; 03C5 1-78:    **   
+        .byte   %00001110       ; 03C6 1-78:     *** 
+        .byte   %00000000       ; 03C7 1-78:         
+
+        .byte   %00001110       ; 03C8 1-79:     *** 
+        .byte   %00011000       ; 03C9 1-79:    **   
+        .byte   %00110000       ; 03CA 1-79:   **    
+        .byte   %01100000       ; 03CB 1-79:  **     
+        .byte   %00110000       ; 03CC 1-79:   **    
+        .byte   %00011000       ; 03CD 1-79:    **   
+        .byte   %00001110       ; 03CE 1-79:     *** 
+        .byte   %00000000       ; 03CF 1-79:         
+
+        .byte   %00000000       ; 03D0 1-7a:         
+        .byte   %00000000       ; 03D1 1-7a:         
+        .byte   %01111110       ; 03D2 1-7a:  ****** 
+        .byte   %00000000       ; 03D3 1-7a:         
+        .byte   %01111110       ; 03D4 1-7a:  ****** 
+        .byte   %00000000       ; 03D5 1-7a:         
+        .byte   %00000000       ; 03D6 1-7a:         
+        .byte   %00000000       ; 03D7 1-7a:         
+
+        .byte   %00000000       ; 03D8 1-7b:         
+        .byte   %00000000       ; 03D9 1-7b:         
+        .byte   %01111110       ; 03DA 1-7b:  ****** 
+        .byte   %00000000       ; 03DB 1-7b:         
+        .byte   %01111110       ; 03DC 1-7b:  ****** 
+        .byte   %00000000       ; 03DD 1-7b:         
+        .byte   %00000000       ; 03DE 1-7b:         
+        .byte   %00000000       ; 03DF 1-7b:         
+
+        .byte   %01110000       ; 03E0 1-7c:  ***    
+        .byte   %00011000       ; 03E1 1-7c:    **   
+        .byte   %00001100       ; 03E2 1-7c:     **  
+        .byte   %00000110       ; 03E3 1-7c:      ** 
+        .byte   %00001100       ; 03E4 1-7c:     **  
+        .byte   %00011000       ; 03E5 1-7c:    **   
+        .byte   %01110000       ; 03E6 1-7c:  ***    
+        .byte   %00000000       ; 03E7 1-7c:         
+
+        .byte   %01110000       ; 03E8 1-7d:  ***    
+        .byte   %00011000       ; 03E9 1-7d:    **   
+        .byte   %00001100       ; 03EA 1-7d:     **  
+        .byte   %00000110       ; 03EB 1-7d:      ** 
+        .byte   %00001100       ; 03EC 1-7d:     **  
+        .byte   %00011000       ; 03ED 1-7d:    **   
+        .byte   %01110000       ; 03EE 1-7d:  ***    
+        .byte   %00000000       ; 03EF 1-7d:         
+
+        .byte   %00111100       ; 03F0 1-7e:   ****  
+        .byte   %01100110       ; 03F1 1-7e:  **  ** 
+        .byte   %00000110       ; 03F2 1-7e:      ** 
+        .byte   %00001100       ; 03F3 1-7e:     **  
+        .byte   %00011000       ; 03F4 1-7e:    **   
+        .byte   %00000000       ; 03F5 1-7e:         
+        .byte   %00011000       ; 03F6 1-7e:    **   
+        .byte   %00000000       ; 03F7 1-7e:         
+
+        .byte   %00111100       ; 03F8 1-7f:   ****  
+        .byte   %01100110       ; 03F9 1-7f:  **  ** 
+        .byte   %00000110       ; 03FA 1-7f:      ** 
+        .byte   %00001100       ; 03FB 1-7f:     **  
+        .byte   %00011000       ; 03FC 1-7f:    **   
+        .byte   %00000000       ; 03FD 1-7f:         
+        .byte   %00011000       ; 03FE 1-7f:    **   
+        .byte   %00000000       ; 03FF 1-7f:         
+
+        .byte   %00111100       ; 0400 1-80:   ****  
+        .byte   %01100110       ; 0401 1-80:  **  ** 
+        .byte   %01101110       ; 0402 1-80:  ** *** 
+        .byte   %01101110       ; 0403 1-80:  ** *** 
+        .byte   %01100000       ; 0404 1-80:  **     
+        .byte   %01100010       ; 0405 1-80:  **   * 
+        .byte   %00111100       ; 0406 1-80:   ****  
+        .byte   %00000000       ; 0407 1-80:         
+
+        .byte   %00111100       ; 0408 1-81:   ****  
+        .byte   %01100110       ; 0409 1-81:  **  ** 
+        .byte   %01101110       ; 040A 1-81:  ** *** 
+        .byte   %01101110       ; 040B 1-81:  ** *** 
+        .byte   %01100000       ; 040C 1-81:  **     
+        .byte   %01100010       ; 040D 1-81:  **   * 
+        .byte   %00111100       ; 040E 1-81:   ****  
+        .byte   %00000000       ; 040F 1-81:         
+
+        .byte   %00011000       ; 0410 1-82:    **   
+        .byte   %00111100       ; 0411 1-82:   ****  
+        .byte   %01100110       ; 0412 1-82:  **  ** 
+        .byte   %01111110       ; 0413 1-82:  ****** 
+        .byte   %01100110       ; 0414 1-82:  **  ** 
+        .byte   %01100110       ; 0415 1-82:  **  ** 
+        .byte   %01100110       ; 0416 1-82:  **  ** 
+        .byte   %00000000       ; 0417 1-82:         
+
+        .byte   %00011000       ; 0418 1-83:    **   
+        .byte   %00111100       ; 0419 1-83:   ****  
+        .byte   %01100110       ; 041A 1-83:  **  ** 
+        .byte   %01111110       ; 041B 1-83:  ****** 
+        .byte   %01100110       ; 041C 1-83:  **  ** 
+        .byte   %01100110       ; 041D 1-83:  **  ** 
+        .byte   %01100110       ; 041E 1-83:  **  ** 
+        .byte   %00000000       ; 041F 1-83:         
+
+        .byte   %01111100       ; 0420 1-84:  *****  
+        .byte   %01100110       ; 0421 1-84:  **  ** 
+        .byte   %01100110       ; 0422 1-84:  **  ** 
+        .byte   %01111100       ; 0423 1-84:  *****  
+        .byte   %01100110       ; 0424 1-84:  **  ** 
+        .byte   %01100110       ; 0425 1-84:  **  ** 
+        .byte   %01111100       ; 0426 1-84:  *****  
+        .byte   %00000000       ; 0427 1-84:         
+
+        .byte   %01111100       ; 0428 1-85:  *****  
+        .byte   %01100110       ; 0429 1-85:  **  ** 
+        .byte   %01100110       ; 042A 1-85:  **  ** 
+        .byte   %01111100       ; 042B 1-85:  *****  
+        .byte   %01100110       ; 042C 1-85:  **  ** 
+        .byte   %01100110       ; 042D 1-85:  **  ** 
+        .byte   %01111100       ; 042E 1-85:  *****  
+        .byte   %00000000       ; 042F 1-85:         
+
+        .byte   %00111100       ; 0430 1-86:   ****  
+        .byte   %01100110       ; 0431 1-86:  **  ** 
+        .byte   %01100000       ; 0432 1-86:  **     
+        .byte   %01100000       ; 0433 1-86:  **     
+        .byte   %01100000       ; 0434 1-86:  **     
+        .byte   %01100110       ; 0435 1-86:  **  ** 
+        .byte   %00111100       ; 0436 1-86:   ****  
+        .byte   %00000000       ; 0437 1-86:         
+
+        .byte   %00111100       ; 0438 1-87:   ****  
+        .byte   %01100110       ; 0439 1-87:  **  ** 
+        .byte   %01100000       ; 043A 1-87:  **     
+        .byte   %01100000       ; 043B 1-87:  **     
+        .byte   %01100000       ; 043C 1-87:  **     
+        .byte   %01100110       ; 043D 1-87:  **  ** 
+        .byte   %00111100       ; 043E 1-87:   ****  
+        .byte   %00000000       ; 043F 1-87:         
+
+        .byte   %01111000       ; 0440 1-88:  ****   
+        .byte   %01101100       ; 0441 1-88:  ** **  
+        .byte   %01100110       ; 0442 1-88:  **  ** 
+        .byte   %01100110       ; 0443 1-88:  **  ** 
+        .byte   %01100110       ; 0444 1-88:  **  ** 
+        .byte   %01101100       ; 0445 1-88:  ** **  
+        .byte   %01111000       ; 0446 1-88:  ****   
+        .byte   %00000000       ; 0447 1-88:         
+
+        .byte   %01111000       ; 0448 1-89:  ****   
+        .byte   %01101100       ; 0449 1-89:  ** **  
+        .byte   %01100110       ; 044A 1-89:  **  ** 
+        .byte   %01100110       ; 044B 1-89:  **  ** 
+        .byte   %01100110       ; 044C 1-89:  **  ** 
+        .byte   %01101100       ; 044D 1-89:  ** **  
+        .byte   %01111000       ; 044E 1-89:  ****   
+        .byte   %00000000       ; 044F 1-89:         
+
+        .byte   %01111110       ; 0450 1-8a:  ****** 
+        .byte   %01100000       ; 0451 1-8a:  **     
+        .byte   %01100000       ; 0452 1-8a:  **     
+        .byte   %01111000       ; 0453 1-8a:  ****   
+        .byte   %01100000       ; 0454 1-8a:  **     
+        .byte   %01100000       ; 0455 1-8a:  **     
+        .byte   %01111110       ; 0456 1-8a:  ****** 
+        .byte   %00000000       ; 0457 1-8a:         
+
+        .byte   %01111110       ; 0458 1-8b:  ****** 
+        .byte   %01100000       ; 0459 1-8b:  **     
+        .byte   %01100000       ; 045A 1-8b:  **     
+        .byte   %01111000       ; 045B 1-8b:  ****   
+        .byte   %01100000       ; 045C 1-8b:  **     
+        .byte   %01100000       ; 045D 1-8b:  **     
+        .byte   %01111110       ; 045E 1-8b:  ****** 
+        .byte   %00000000       ; 045F 1-8b:         
+
+        .byte   %01111110       ; 0460 1-8c:  ****** 
+        .byte   %01100000       ; 0461 1-8c:  **     
+        .byte   %01100000       ; 0462 1-8c:  **     
+        .byte   %01111000       ; 0463 1-8c:  ****   
+        .byte   %01100000       ; 0464 1-8c:  **     
+        .byte   %01100000       ; 0465 1-8c:  **     
+        .byte   %01100000       ; 0466 1-8c:  **     
+        .byte   %00000000       ; 0467 1-8c:         
+
+        .byte   %01111110       ; 0468 1-8d:  ****** 
+        .byte   %01100000       ; 0469 1-8d:  **     
+        .byte   %01100000       ; 046A 1-8d:  **     
+        .byte   %01111000       ; 046B 1-8d:  ****   
+        .byte   %01100000       ; 046C 1-8d:  **     
+        .byte   %01100000       ; 046D 1-8d:  **     
+        .byte   %01100000       ; 046E 1-8d:  **     
+        .byte   %00000000       ; 046F 1-8d:         
+
+        .byte   %00111100       ; 0470 1-8e:   ****  
+        .byte   %01100110       ; 0471 1-8e:  **  ** 
+        .byte   %01100000       ; 0472 1-8e:  **     
+        .byte   %01101110       ; 0473 1-8e:  ** *** 
+        .byte   %01100110       ; 0474 1-8e:  **  ** 
+        .byte   %01100110       ; 0475 1-8e:  **  ** 
+        .byte   %00111100       ; 0476 1-8e:   ****  
+        .byte   %00000000       ; 0477 1-8e:         
+
+        .byte   %00111100       ; 0478 1-8f:   ****  
+        .byte   %01100110       ; 0479 1-8f:  **  ** 
+        .byte   %01100000       ; 047A 1-8f:  **     
+        .byte   %01101110       ; 047B 1-8f:  ** *** 
+        .byte   %01100110       ; 047C 1-8f:  **  ** 
+        .byte   %01100110       ; 047D 1-8f:  **  ** 
+        .byte   %00111100       ; 047E 1-8f:   ****  
+        .byte   %00000000       ; 047F 1-8f:         
+
+        .byte   %01100110       ; 0480 1-90:  **  ** 
+        .byte   %01100110       ; 0481 1-90:  **  ** 
+        .byte   %01100110       ; 0482 1-90:  **  ** 
+        .byte   %01111110       ; 0483 1-90:  ****** 
+        .byte   %01100110       ; 0484 1-90:  **  ** 
+        .byte   %01100110       ; 0485 1-90:  **  ** 
+        .byte   %01100110       ; 0486 1-90:  **  ** 
+        .byte   %00000000       ; 0487 1-90:         
+
+        .byte   %01100110       ; 0488 1-91:  **  ** 
+        .byte   %01100110       ; 0489 1-91:  **  ** 
+        .byte   %01100110       ; 048A 1-91:  **  ** 
+        .byte   %01111110       ; 048B 1-91:  ****** 
+        .byte   %01100110       ; 048C 1-91:  **  ** 
+        .byte   %01100110       ; 048D 1-91:  **  ** 
+        .byte   %01100110       ; 048E 1-91:  **  ** 
+        .byte   %00000000       ; 048F 1-91:         
+
+        .byte   %00111100       ; 0490 1-92:   ****  
+        .byte   %00011000       ; 0491 1-92:    **   
+        .byte   %00011000       ; 0492 1-92:    **   
+        .byte   %00011000       ; 0493 1-92:    **   
+        .byte   %00011000       ; 0494 1-92:    **   
+        .byte   %00011000       ; 0495 1-92:    **   
+        .byte   %00111100       ; 0496 1-92:   ****  
+        .byte   %00000000       ; 0497 1-92:         
+
+        .byte   %00111100       ; 0498 1-93:   ****  
+        .byte   %00011000       ; 0499 1-93:    **   
+        .byte   %00011000       ; 049A 1-93:    **   
+        .byte   %00011000       ; 049B 1-93:    **   
+        .byte   %00011000       ; 049C 1-93:    **   
+        .byte   %00011000       ; 049D 1-93:    **   
+        .byte   %00111100       ; 049E 1-93:   ****  
+        .byte   %00000000       ; 049F 1-93:         
+
+        .byte   %00011110       ; 04A0 1-94:    **** 
+        .byte   %00001100       ; 04A1 1-94:     **  
+        .byte   %00001100       ; 04A2 1-94:     **  
+        .byte   %00001100       ; 04A3 1-94:     **  
+        .byte   %00001100       ; 04A4 1-94:     **  
+        .byte   %01101100       ; 04A5 1-94:  ** **  
+        .byte   %00111000       ; 04A6 1-94:   ***   
+        .byte   %00000000       ; 04A7 1-94:         
+
+        .byte   %00011110       ; 04A8 1-95:    **** 
+        .byte   %00001100       ; 04A9 1-95:     **  
+        .byte   %00001100       ; 04AA 1-95:     **  
+        .byte   %00001100       ; 04AB 1-95:     **  
+        .byte   %00001100       ; 04AC 1-95:     **  
+        .byte   %01101100       ; 04AD 1-95:  ** **  
+        .byte   %00111000       ; 04AE 1-95:   ***   
+        .byte   %00000000       ; 04AF 1-95:         
+
+        .byte   %01100110       ; 04B0 1-96:  **  ** 
+        .byte   %01101100       ; 04B1 1-96:  ** **  
+        .byte   %01111000       ; 04B2 1-96:  ****   
+        .byte   %01110000       ; 04B3 1-96:  ***    
+        .byte   %01111000       ; 04B4 1-96:  ****   
+        .byte   %01101100       ; 04B5 1-96:  ** **  
+        .byte   %01100110       ; 04B6 1-96:  **  ** 
+        .byte   %00000000       ; 04B7 1-96:         
+
+        .byte   %01100110       ; 04B8 1-97:  **  ** 
+        .byte   %01101100       ; 04B9 1-97:  ** **  
+        .byte   %01111000       ; 04BA 1-97:  ****   
+        .byte   %01110000       ; 04BB 1-97:  ***    
+        .byte   %01111000       ; 04BC 1-97:  ****   
+        .byte   %01101100       ; 04BD 1-97:  ** **  
+        .byte   %01100110       ; 04BE 1-97:  **  ** 
+        .byte   %00000000       ; 04BF 1-97:         
+
+        .byte   %01100000       ; 04C0 1-98:  **     
+        .byte   %01100000       ; 04C1 1-98:  **     
+        .byte   %01100000       ; 04C2 1-98:  **     
+        .byte   %01100000       ; 04C3 1-98:  **     
+        .byte   %01100000       ; 04C4 1-98:  **     
+        .byte   %01100000       ; 04C5 1-98:  **     
+        .byte   %01111110       ; 04C6 1-98:  ****** 
+        .byte   %00000000       ; 04C7 1-98:         
+
+        .byte   %01100000       ; 04C8 1-99:  **     
+        .byte   %01100000       ; 04C9 1-99:  **     
+        .byte   %01100000       ; 04CA 1-99:  **     
+        .byte   %01100000       ; 04CB 1-99:  **     
+        .byte   %01100000       ; 04CC 1-99:  **     
+        .byte   %01100000       ; 04CD 1-99:  **     
+        .byte   %01111110       ; 04CE 1-99:  ****** 
+        .byte   %00000000       ; 04CF 1-99:         
+
+        .byte   %01100011       ; 04D0 1-9a:  **   **
+        .byte   %01110111       ; 04D1 1-9a:  *** ***
+        .byte   %01111111       ; 04D2 1-9a:  *******
+        .byte   %01101011       ; 04D3 1-9a:  ** * **
+        .byte   %01100011       ; 04D4 1-9a:  **   **
+        .byte   %01100011       ; 04D5 1-9a:  **   **
+        .byte   %01100011       ; 04D6 1-9a:  **   **
+        .byte   %00000000       ; 04D7 1-9a:         
+
+        .byte   %01100011       ; 04D8 1-9b:  **   **
+        .byte   %01110111       ; 04D9 1-9b:  *** ***
+        .byte   %01111111       ; 04DA 1-9b:  *******
+        .byte   %01101011       ; 04DB 1-9b:  ** * **
+        .byte   %01100011       ; 04DC 1-9b:  **   **
+        .byte   %01100011       ; 04DD 1-9b:  **   **
+        .byte   %01100011       ; 04DE 1-9b:  **   **
+        .byte   %00000000       ; 04DF 1-9b:         
+
+        .byte   %01100110       ; 04E0 1-9c:  **  ** 
+        .byte   %01110110       ; 04E1 1-9c:  *** ** 
+        .byte   %01111110       ; 04E2 1-9c:  ****** 
+        .byte   %01111110       ; 04E3 1-9c:  ****** 
+        .byte   %01101110       ; 04E4 1-9c:  ** *** 
+        .byte   %01100110       ; 04E5 1-9c:  **  ** 
+        .byte   %01100110       ; 04E6 1-9c:  **  ** 
+        .byte   %00000000       ; 04E7 1-9c:         
+
+        .byte   %01100110       ; 04E8 1-9d:  **  ** 
+        .byte   %01110110       ; 04E9 1-9d:  *** ** 
+        .byte   %01111110       ; 04EA 1-9d:  ****** 
+        .byte   %01111110       ; 04EB 1-9d:  ****** 
+        .byte   %01101110       ; 04EC 1-9d:  ** *** 
+        .byte   %01100110       ; 04ED 1-9d:  **  ** 
+        .byte   %01100110       ; 04EE 1-9d:  **  ** 
+        .byte   %00000000       ; 04EF 1-9d:         
+
+        .byte   %00111100       ; 04F0 1-9e:   ****  
+        .byte   %01100110       ; 04F1 1-9e:  **  ** 
+        .byte   %01100110       ; 04F2 1-9e:  **  ** 
+        .byte   %01100110       ; 04F3 1-9e:  **  ** 
+        .byte   %01100110       ; 04F4 1-9e:  **  ** 
+        .byte   %01100110       ; 04F5 1-9e:  **  ** 
+        .byte   %00111100       ; 04F6 1-9e:   ****  
+        .byte   %00000000       ; 04F7 1-9e:         
+
+        .byte   %00111100       ; 04F8 1-9f:   ****  
+        .byte   %01100110       ; 04F9 1-9f:  **  ** 
+        .byte   %01100110       ; 04FA 1-9f:  **  ** 
+        .byte   %01100110       ; 04FB 1-9f:  **  ** 
+        .byte   %01100110       ; 04FC 1-9f:  **  ** 
+        .byte   %01100110       ; 04FD 1-9f:  **  ** 
+        .byte   %00111100       ; 04FE 1-9f:   ****  
+        .byte   %00000000       ; 04FF 1-9f:         
+
+        .byte   %01111100       ; 0500 1-a0:  *****  
+        .byte   %01100110       ; 0501 1-a0:  **  ** 
+        .byte   %01100110       ; 0502 1-a0:  **  ** 
+        .byte   %01111100       ; 0503 1-a0:  *****  
+        .byte   %01100000       ; 0504 1-a0:  **     
+        .byte   %01100000       ; 0505 1-a0:  **     
+        .byte   %01100000       ; 0506 1-a0:  **     
+        .byte   %00000000       ; 0507 1-a0:         
+
+        .byte   %01111100       ; 0508 1-a1:  *****  
+        .byte   %01100110       ; 0509 1-a1:  **  ** 
+        .byte   %01100110       ; 050A 1-a1:  **  ** 
+        .byte   %01111100       ; 050B 1-a1:  *****  
+        .byte   %01100000       ; 050C 1-a1:  **     
+        .byte   %01100000       ; 050D 1-a1:  **     
+        .byte   %01100000       ; 050E 1-a1:  **     
+        .byte   %00000000       ; 050F 1-a1:         
+
+        .byte   %00111100       ; 0510 1-a2:   ****  
+        .byte   %01100110       ; 0511 1-a2:  **  ** 
+        .byte   %01100110       ; 0512 1-a2:  **  ** 
+        .byte   %01100110       ; 0513 1-a2:  **  ** 
+        .byte   %01100110       ; 0514 1-a2:  **  ** 
+        .byte   %00111100       ; 0515 1-a2:   ****  
+        .byte   %00001110       ; 0516 1-a2:     *** 
+        .byte   %00000000       ; 0517 1-a2:         
+
+        .byte   %00111100       ; 0518 1-a3:   ****  
+        .byte   %01100110       ; 0519 1-a3:  **  ** 
+        .byte   %01100110       ; 051A 1-a3:  **  ** 
+        .byte   %01100110       ; 051B 1-a3:  **  ** 
+        .byte   %01100110       ; 051C 1-a3:  **  ** 
+        .byte   %00111100       ; 051D 1-a3:   ****  
+        .byte   %00001110       ; 051E 1-a3:     *** 
+        .byte   %00000000       ; 051F 1-a3:         
+
+        .byte   %01111100       ; 0520 1-a4:  *****  
+        .byte   %01100110       ; 0521 1-a4:  **  ** 
+        .byte   %01100110       ; 0522 1-a4:  **  ** 
+        .byte   %01111100       ; 0523 1-a4:  *****  
+        .byte   %01111000       ; 0524 1-a4:  ****   
+        .byte   %01101100       ; 0525 1-a4:  ** **  
+        .byte   %01100110       ; 0526 1-a4:  **  ** 
+        .byte   %00000000       ; 0527 1-a4:         
+
+        .byte   %01111100       ; 0528 1-a5:  *****  
+        .byte   %01100110       ; 0529 1-a5:  **  ** 
+        .byte   %01100110       ; 052A 1-a5:  **  ** 
+        .byte   %01111100       ; 052B 1-a5:  *****  
+        .byte   %01111000       ; 052C 1-a5:  ****   
+        .byte   %01101100       ; 052D 1-a5:  ** **  
+        .byte   %01100110       ; 052E 1-a5:  **  ** 
+        .byte   %00000000       ; 052F 1-a5:         
+
+        .byte   %00111100       ; 0530 1-a6:   ****  
+        .byte   %01100110       ; 0531 1-a6:  **  ** 
+        .byte   %01100000       ; 0532 1-a6:  **     
+        .byte   %00111100       ; 0533 1-a6:   ****  
+        .byte   %00000110       ; 0534 1-a6:      ** 
+        .byte   %01100110       ; 0535 1-a6:  **  ** 
+        .byte   %00111100       ; 0536 1-a6:   ****  
+        .byte   %00000000       ; 0537 1-a6:         
+
+        .byte   %00111100       ; 0538 1-a7:   ****  
+        .byte   %01100110       ; 0539 1-a7:  **  ** 
+        .byte   %01100000       ; 053A 1-a7:  **     
+        .byte   %00111100       ; 053B 1-a7:   ****  
+        .byte   %00000110       ; 053C 1-a7:      ** 
+        .byte   %01100110       ; 053D 1-a7:  **  ** 
+        .byte   %00111100       ; 053E 1-a7:   ****  
+        .byte   %00000000       ; 053F 1-a7:         
+
+        .byte   %01111110       ; 0540 1-a8:  ****** 
+        .byte   %00011000       ; 0541 1-a8:    **   
+        .byte   %00011000       ; 0542 1-a8:    **   
+        .byte   %00011000       ; 0543 1-a8:    **   
+        .byte   %00011000       ; 0544 1-a8:    **   
+        .byte   %00011000       ; 0545 1-a8:    **   
+        .byte   %00011000       ; 0546 1-a8:    **   
+        .byte   %00000000       ; 0547 1-a8:         
+
+        .byte   %01111110       ; 0548 1-a9:  ****** 
+        .byte   %00011000       ; 0549 1-a9:    **   
+        .byte   %00011000       ; 054A 1-a9:    **   
+        .byte   %00011000       ; 054B 1-a9:    **   
+        .byte   %00011000       ; 054C 1-a9:    **   
+        .byte   %00011000       ; 054D 1-a9:    **   
+        .byte   %00011000       ; 054E 1-a9:    **   
+        .byte   %00000000       ; 054F 1-a9:         
+
+        .byte   %01100110       ; 0550 1-aa:  **  ** 
+        .byte   %01100110       ; 0551 1-aa:  **  ** 
+        .byte   %01100110       ; 0552 1-aa:  **  ** 
+        .byte   %01100110       ; 0553 1-aa:  **  ** 
+        .byte   %01100110       ; 0554 1-aa:  **  ** 
+        .byte   %01100110       ; 0555 1-aa:  **  ** 
+        .byte   %00111100       ; 0556 1-aa:   ****  
+        .byte   %00000000       ; 0557 1-aa:         
+
+        .byte   %01100110       ; 0558 1-ab:  **  ** 
+        .byte   %01100110       ; 0559 1-ab:  **  ** 
+        .byte   %01100110       ; 055A 1-ab:  **  ** 
+        .byte   %01100110       ; 055B 1-ab:  **  ** 
+        .byte   %01100110       ; 055C 1-ab:  **  ** 
+        .byte   %01100110       ; 055D 1-ab:  **  ** 
+        .byte   %00111100       ; 055E 1-ab:   ****  
+        .byte   %00000000       ; 055F 1-ab:         
+
+        .byte   %01100110       ; 0560 1-ac:  **  ** 
+        .byte   %01100110       ; 0561 1-ac:  **  ** 
+        .byte   %01100110       ; 0562 1-ac:  **  ** 
+        .byte   %01100110       ; 0563 1-ac:  **  ** 
+        .byte   %01100110       ; 0564 1-ac:  **  ** 
+        .byte   %00111100       ; 0565 1-ac:   ****  
+        .byte   %00011000       ; 0566 1-ac:    **   
+        .byte   %00000000       ; 0567 1-ac:         
+
+        .byte   %01100110       ; 0568 1-ad:  **  ** 
+        .byte   %01100110       ; 0569 1-ad:  **  ** 
+        .byte   %01100110       ; 056A 1-ad:  **  ** 
+        .byte   %01100110       ; 056B 1-ad:  **  ** 
+        .byte   %01100110       ; 056C 1-ad:  **  ** 
+        .byte   %00111100       ; 056D 1-ad:   ****  
+        .byte   %00011000       ; 056E 1-ad:    **   
+        .byte   %00000000       ; 056F 1-ad:         
+
+        .byte   %01100011       ; 0570 1-ae:  **   **
+        .byte   %01100011       ; 0571 1-ae:  **   **
+        .byte   %01100011       ; 0572 1-ae:  **   **
+        .byte   %01101011       ; 0573 1-ae:  ** * **
+        .byte   %01111111       ; 0574 1-ae:  *******
+        .byte   %01110111       ; 0575 1-ae:  *** ***
+        .byte   %01100011       ; 0576 1-ae:  **   **
+        .byte   %00000000       ; 0577 1-ae:         
+
+        .byte   %01100011       ; 0578 1-af:  **   **
+        .byte   %01100011       ; 0579 1-af:  **   **
+        .byte   %01100011       ; 057A 1-af:  **   **
+        .byte   %01101011       ; 057B 1-af:  ** * **
+        .byte   %01111111       ; 057C 1-af:  *******
+        .byte   %01110111       ; 057D 1-af:  *** ***
+        .byte   %01100011       ; 057E 1-af:  **   **
+        .byte   %00000000       ; 057F 1-af:         
+
+        .byte   %01100110       ; 0580 1-b0:  **  ** 
+        .byte   %01100110       ; 0581 1-b0:  **  ** 
+        .byte   %00111100       ; 0582 1-b0:   ****  
+        .byte   %00011000       ; 0583 1-b0:    **   
+        .byte   %00111100       ; 0584 1-b0:   ****  
+        .byte   %01100110       ; 0585 1-b0:  **  ** 
+        .byte   %01100110       ; 0586 1-b0:  **  ** 
+        .byte   %00000000       ; 0587 1-b0:         
+
+        .byte   %01100110       ; 0588 1-b1:  **  ** 
+        .byte   %01100110       ; 0589 1-b1:  **  ** 
+        .byte   %00111100       ; 058A 1-b1:   ****  
+        .byte   %00011000       ; 058B 1-b1:    **   
+        .byte   %00111100       ; 058C 1-b1:   ****  
+        .byte   %01100110       ; 058D 1-b1:  **  ** 
+        .byte   %01100110       ; 058E 1-b1:  **  ** 
+        .byte   %00000000       ; 058F 1-b1:         
+
+        .byte   %01100110       ; 0590 1-b2:  **  ** 
+        .byte   %01100110       ; 0591 1-b2:  **  ** 
+        .byte   %01100110       ; 0592 1-b2:  **  ** 
+        .byte   %00111100       ; 0593 1-b2:   ****  
+        .byte   %00011000       ; 0594 1-b2:    **   
+        .byte   %00011000       ; 0595 1-b2:    **   
+        .byte   %00011000       ; 0596 1-b2:    **   
+        .byte   %00000000       ; 0597 1-b2:         
+
+        .byte   %01100110       ; 0598 1-b3:  **  ** 
+        .byte   %01100110       ; 0599 1-b3:  **  ** 
+        .byte   %01100110       ; 059A 1-b3:  **  ** 
+        .byte   %00111100       ; 059B 1-b3:   ****  
+        .byte   %00011000       ; 059C 1-b3:    **   
+        .byte   %00011000       ; 059D 1-b3:    **   
+        .byte   %00011000       ; 059E 1-b3:    **   
+        .byte   %00000000       ; 059F 1-b3:         
+
+        .byte   %01111110       ; 05A0 1-b4:  ****** 
+        .byte   %00000110       ; 05A1 1-b4:      ** 
+        .byte   %00001100       ; 05A2 1-b4:     **  
+        .byte   %00011000       ; 05A3 1-b4:    **   
+        .byte   %00110000       ; 05A4 1-b4:   **    
+        .byte   %01100000       ; 05A5 1-b4:  **     
+        .byte   %01111110       ; 05A6 1-b4:  ****** 
+        .byte   %00000000       ; 05A7 1-b4:         
+
+        .byte   %01111110       ; 05A8 1-b5:  ****** 
+        .byte   %00000110       ; 05A9 1-b5:      ** 
+        .byte   %00001100       ; 05AA 1-b5:     **  
+        .byte   %00011000       ; 05AB 1-b5:    **   
+        .byte   %00110000       ; 05AC 1-b5:   **    
+        .byte   %01100000       ; 05AD 1-b5:  **     
+        .byte   %01111110       ; 05AE 1-b5:  ****** 
+        .byte   %00000000       ; 05AF 1-b5:         
+
+        .byte   %00111100       ; 05B0 1-b6:   ****  
+        .byte   %00110000       ; 05B1 1-b6:   **    
+        .byte   %00110000       ; 05B2 1-b6:   **    
+        .byte   %00110000       ; 05B3 1-b6:   **    
+        .byte   %00110000       ; 05B4 1-b6:   **    
+        .byte   %00110000       ; 05B5 1-b6:   **    
+        .byte   %00111100       ; 05B6 1-b6:   ****  
+        .byte   %00000000       ; 05B7 1-b6:         
+
+        .byte   %00111100       ; 05B8 1-b7:   ****  
+        .byte   %00110000       ; 05B9 1-b7:   **    
+        .byte   %00110000       ; 05BA 1-b7:   **    
+        .byte   %00110000       ; 05BB 1-b7:   **    
+        .byte   %00110000       ; 05BC 1-b7:   **    
+        .byte   %00110000       ; 05BD 1-b7:   **    
+        .byte   %00111100       ; 05BE 1-b7:   ****  
+        .byte   %00000000       ; 05BF 1-b7:         
+
+        .byte   %01100000       ; 05C0 1-b8:  **     
+        .byte   %00110000       ; 05C1 1-b8:   **    
+        .byte   %00011000       ; 05C2 1-b8:    **   
+        .byte   %00001100       ; 05C3 1-b8:     **  
+        .byte   %00000110       ; 05C4 1-b8:      ** 
+        .byte   %00000011       ; 05C5 1-b8:       **
+        .byte   %00000000       ; 05C6 1-b8:         
+        .byte   %00000000       ; 05C7 1-b8:         
+
+        .byte   %01100000       ; 05C8 1-b9:  **     
+        .byte   %00110000       ; 05C9 1-b9:   **    
+        .byte   %00011000       ; 05CA 1-b9:    **   
+        .byte   %00001100       ; 05CB 1-b9:     **  
+        .byte   %00000110       ; 05CC 1-b9:      ** 
+        .byte   %00000011       ; 05CD 1-b9:       **
+        .byte   %00000000       ; 05CE 1-b9:         
+        .byte   %00000000       ; 05CF 1-b9:         
+
+        .byte   %00111100       ; 05D0 1-ba:   ****  
+        .byte   %00001100       ; 05D1 1-ba:     **  
+        .byte   %00001100       ; 05D2 1-ba:     **  
+        .byte   %00001100       ; 05D3 1-ba:     **  
+        .byte   %00001100       ; 05D4 1-ba:     **  
+        .byte   %00001100       ; 05D5 1-ba:     **  
+        .byte   %00111100       ; 05D6 1-ba:   ****  
+        .byte   %00000000       ; 05D7 1-ba:         
+
+        .byte   %00111100       ; 05D8 1-bb:   ****  
+        .byte   %00001100       ; 05D9 1-bb:     **  
+        .byte   %00001100       ; 05DA 1-bb:     **  
+        .byte   %00001100       ; 05DB 1-bb:     **  
+        .byte   %00001100       ; 05DC 1-bb:     **  
+        .byte   %00001100       ; 05DD 1-bb:     **  
+        .byte   %00111100       ; 05DE 1-bb:   ****  
+        .byte   %00000000       ; 05DF 1-bb:         
+
+        .byte   %00000000       ; 05E0 1-bc:         
+        .byte   %00011000       ; 05E1 1-bc:    **   
+        .byte   %00111100       ; 05E2 1-bc:   ****  
+        .byte   %01100110       ; 05E3 1-bc:  **  ** 
+        .byte   %00000000       ; 05E4 1-bc:         
+        .byte   %00000000       ; 05E5 1-bc:         
+        .byte   %00000000       ; 05E6 1-bc:         
+        .byte   %00000000       ; 05E7 1-bc:         
+
+        .byte   %00000000       ; 05E8 1-bd:         
+        .byte   %00011000       ; 05E9 1-bd:    **   
+        .byte   %00111100       ; 05EA 1-bd:   ****  
+        .byte   %01100110       ; 05EB 1-bd:  **  ** 
+        .byte   %00000000       ; 05EC 1-bd:         
+        .byte   %00000000       ; 05ED 1-bd:         
+        .byte   %00000000       ; 05EE 1-bd:         
+        .byte   %00000000       ; 05EF 1-bd:         
+
+        .byte   %00000000       ; 05F0 1-be:         
+        .byte   %00000000       ; 05F1 1-be:         
+        .byte   %00000000       ; 05F2 1-be:         
+        .byte   %00000000       ; 05F3 1-be:         
+        .byte   %00000000       ; 05F4 1-be:         
+        .byte   %00000000       ; 05F5 1-be:         
+        .byte   %01111111       ; 05F6 1-be:  *******
+        .byte   %00000000       ; 05F7 1-be:         
+
+        .byte   %00000000       ; 05F8 1-bf:         
+        .byte   %00000000       ; 05F9 1-bf:         
+        .byte   %00000000       ; 05FA 1-bf:         
+        .byte   %00000000       ; 05FB 1-bf:         
+        .byte   %00000000       ; 05FC 1-bf:         
+        .byte   %00000000       ; 05FD 1-bf:         
+        .byte   %01111111       ; 05FE 1-bf:  *******
+        .byte   %00000000       ; 05FF 1-bf:         
+
+        .byte   %00011000       ; 0600 1-c0:    **   
+        .byte   %00011000       ; 0601 1-c0:    **   
+        .byte   %00011000       ; 0602 1-c0:    **   
+        .byte   %00000000       ; 0603 1-c0:         
+        .byte   %00000000       ; 0604 1-c0:         
+        .byte   %00000000       ; 0605 1-c0:         
+        .byte   %00000000       ; 0606 1-c0:         
+        .byte   %00000000       ; 0607 1-c0:         
+
+        .byte   %00011000       ; 0608 1-c1:    **   
+        .byte   %00011000       ; 0609 1-c1:    **   
+        .byte   %00011000       ; 060A 1-c1:    **   
+        .byte   %00000000       ; 060B 1-c1:         
+        .byte   %00000000       ; 060C 1-c1:         
+        .byte   %00000000       ; 060D 1-c1:         
+        .byte   %00000000       ; 060E 1-c1:         
+        .byte   %00000000       ; 060F 1-c1:         
+
+        .byte   %00000000       ; 0610 1-c2:         
+        .byte   %00000000       ; 0611 1-c2:         
+        .byte   %00111100       ; 0612 1-c2:   ****  
+        .byte   %00000110       ; 0613 1-c2:      ** 
+        .byte   %00111110       ; 0614 1-c2:   ***** 
+        .byte   %01100110       ; 0615 1-c2:  **  ** 
+        .byte   %00111110       ; 0616 1-c2:   ***** 
+        .byte   %00000000       ; 0617 1-c2:         
+
+        .byte   %00000000       ; 0618 1-c3:         
+        .byte   %00000000       ; 0619 1-c3:         
+        .byte   %00111100       ; 061A 1-c3:   ****  
+        .byte   %00000110       ; 061B 1-c3:      ** 
+        .byte   %00111110       ; 061C 1-c3:   ***** 
+        .byte   %01100110       ; 061D 1-c3:  **  ** 
+        .byte   %00111110       ; 061E 1-c3:   ***** 
+        .byte   %00000000       ; 061F 1-c3:         
+
+        .byte   %00000000       ; 0620 1-c4:         
+        .byte   %01100000       ; 0621 1-c4:  **     
+        .byte   %01100000       ; 0622 1-c4:  **     
+        .byte   %01111100       ; 0623 1-c4:  *****  
+        .byte   %01100110       ; 0624 1-c4:  **  ** 
+        .byte   %01100110       ; 0625 1-c4:  **  ** 
+        .byte   %01111100       ; 0626 1-c4:  *****  
+        .byte   %00000000       ; 0627 1-c4:         
+
+        .byte   %00000000       ; 0628 1-c5:         
+        .byte   %01100000       ; 0629 1-c5:  **     
+        .byte   %01100000       ; 062A 1-c5:  **     
+        .byte   %01111100       ; 062B 1-c5:  *****  
+        .byte   %01100110       ; 062C 1-c5:  **  ** 
+        .byte   %01100110       ; 062D 1-c5:  **  ** 
+        .byte   %01111100       ; 062E 1-c5:  *****  
+        .byte   %00000000       ; 062F 1-c5:         
+
+        .byte   %00000000       ; 0630 1-c6:         
+        .byte   %00000000       ; 0631 1-c6:         
+        .byte   %00111100       ; 0632 1-c6:   ****  
+        .byte   %01100000       ; 0633 1-c6:  **     
+        .byte   %01100000       ; 0634 1-c6:  **     
+        .byte   %01100000       ; 0635 1-c6:  **     
+        .byte   %00111100       ; 0636 1-c6:   ****  
+        .byte   %00000000       ; 0637 1-c6:         
+
+        .byte   %00000000       ; 0638 1-c7:         
+        .byte   %00000000       ; 0639 1-c7:         
+        .byte   %00111100       ; 063A 1-c7:   ****  
+        .byte   %01100000       ; 063B 1-c7:  **     
+        .byte   %01100000       ; 063C 1-c7:  **     
+        .byte   %01100000       ; 063D 1-c7:  **     
+        .byte   %00111100       ; 063E 1-c7:   ****  
+        .byte   %00000000       ; 063F 1-c7:         
+
+        .byte   %00000000       ; 0640 1-c8:         
+        .byte   %00000110       ; 0641 1-c8:      ** 
+        .byte   %00000110       ; 0642 1-c8:      ** 
+        .byte   %00111110       ; 0643 1-c8:   ***** 
+        .byte   %01100110       ; 0644 1-c8:  **  ** 
+        .byte   %01100110       ; 0645 1-c8:  **  ** 
+        .byte   %00111110       ; 0646 1-c8:   ***** 
+        .byte   %00000000       ; 0647 1-c8:         
+
+        .byte   %00000000       ; 0648 1-c9:         
+        .byte   %00000110       ; 0649 1-c9:      ** 
+        .byte   %00000110       ; 064A 1-c9:      ** 
+        .byte   %00111110       ; 064B 1-c9:   ***** 
+        .byte   %01100110       ; 064C 1-c9:  **  ** 
+        .byte   %01100110       ; 064D 1-c9:  **  ** 
+        .byte   %00111110       ; 064E 1-c9:   ***** 
+        .byte   %00000000       ; 064F 1-c9:         
+
+        .byte   %00000000       ; 0650 1-ca:         
+        .byte   %00000000       ; 0651 1-ca:         
+        .byte   %00111100       ; 0652 1-ca:   ****  
+        .byte   %01100110       ; 0653 1-ca:  **  ** 
+        .byte   %01111110       ; 0654 1-ca:  ****** 
+        .byte   %01100000       ; 0655 1-ca:  **     
+        .byte   %00111100       ; 0656 1-ca:   ****  
+        .byte   %00000000       ; 0657 1-ca:         
+
+        .byte   %00000000       ; 0658 1-cb:         
+        .byte   %00000000       ; 0659 1-cb:         
+        .byte   %00111100       ; 065A 1-cb:   ****  
+        .byte   %01100110       ; 065B 1-cb:  **  ** 
+        .byte   %01111110       ; 065C 1-cb:  ****** 
+        .byte   %01100000       ; 065D 1-cb:  **     
+        .byte   %00111100       ; 065E 1-cb:   ****  
+        .byte   %00000000       ; 065F 1-cb:         
+
+        .byte   %00000000       ; 0660 1-cc:         
+        .byte   %00001110       ; 0661 1-cc:     *** 
+        .byte   %00011000       ; 0662 1-cc:    **   
+        .byte   %00111110       ; 0663 1-cc:   ***** 
+        .byte   %00011000       ; 0664 1-cc:    **   
+        .byte   %00011000       ; 0665 1-cc:    **   
+        .byte   %00011000       ; 0666 1-cc:    **   
+        .byte   %00000000       ; 0667 1-cc:         
+
+        .byte   %00000000       ; 0668 1-cd:         
+        .byte   %00001110       ; 0669 1-cd:     *** 
+        .byte   %00011000       ; 066A 1-cd:    **   
+        .byte   %00111110       ; 066B 1-cd:   ***** 
+        .byte   %00011000       ; 066C 1-cd:    **   
+        .byte   %00011000       ; 066D 1-cd:    **   
+        .byte   %00011000       ; 066E 1-cd:    **   
+        .byte   %00000000       ; 066F 1-cd:         
+
+        .byte   %00000000       ; 0670 1-ce:         
+        .byte   %00000000       ; 0671 1-ce:         
+        .byte   %00111110       ; 0672 1-ce:   ***** 
+        .byte   %01100110       ; 0673 1-ce:  **  ** 
+        .byte   %01100110       ; 0674 1-ce:  **  ** 
+        .byte   %00111110       ; 0675 1-ce:   ***** 
+        .byte   %00000110       ; 0676 1-ce:      ** 
+        .byte   %01111100       ; 0677 1-ce:  *****  
+
+        .byte   %00000000       ; 0678 1-cf:         
+        .byte   %00000000       ; 0679 1-cf:         
+        .byte   %00111110       ; 067A 1-cf:   ***** 
+        .byte   %01100110       ; 067B 1-cf:  **  ** 
+        .byte   %01100110       ; 067C 1-cf:  **  ** 
+        .byte   %00111110       ; 067D 1-cf:   ***** 
+        .byte   %00000110       ; 067E 1-cf:      ** 
+        .byte   %01111100       ; 067F 1-cf:  *****  
+
+        .byte   %00000000       ; 0680 1-d0:         
+        .byte   %01100000       ; 0681 1-d0:  **     
+        .byte   %01100000       ; 0682 1-d0:  **     
+        .byte   %01111100       ; 0683 1-d0:  *****  
+        .byte   %01100110       ; 0684 1-d0:  **  ** 
+        .byte   %01100110       ; 0685 1-d0:  **  ** 
+        .byte   %01100110       ; 0686 1-d0:  **  ** 
+        .byte   %00000000       ; 0687 1-d0:         
+
+        .byte   %00000000       ; 0688 1-d1:         
+        .byte   %01100000       ; 0689 1-d1:  **     
+        .byte   %01100000       ; 068A 1-d1:  **     
+        .byte   %01111100       ; 068B 1-d1:  *****  
+        .byte   %01100110       ; 068C 1-d1:  **  ** 
+        .byte   %01100110       ; 068D 1-d1:  **  ** 
+        .byte   %01100110       ; 068E 1-d1:  **  ** 
+        .byte   %00000000       ; 068F 1-d1:         
+
+        .byte   %00000000       ; 0690 1-d2:         
+        .byte   %00011000       ; 0691 1-d2:    **   
+        .byte   %00000000       ; 0692 1-d2:         
+        .byte   %00111000       ; 0693 1-d2:   ***   
+        .byte   %00011000       ; 0694 1-d2:    **   
+        .byte   %00011000       ; 0695 1-d2:    **   
+        .byte   %00111100       ; 0696 1-d2:   ****  
+        .byte   %00000000       ; 0697 1-d2:         
+
+        .byte   %00000000       ; 0698 1-d3:         
+        .byte   %00011000       ; 0699 1-d3:    **   
+        .byte   %00000000       ; 069A 1-d3:         
+        .byte   %00111000       ; 069B 1-d3:   ***   
+        .byte   %00011000       ; 069C 1-d3:    **   
+        .byte   %00011000       ; 069D 1-d3:    **   
+        .byte   %00111100       ; 069E 1-d3:   ****  
+        .byte   %00000000       ; 069F 1-d3:         
+
+        .byte   %00000000       ; 06A0 1-d4:         
+        .byte   %00000110       ; 06A1 1-d4:      ** 
+        .byte   %00000000       ; 06A2 1-d4:         
+        .byte   %00000110       ; 06A3 1-d4:      ** 
+        .byte   %00000110       ; 06A4 1-d4:      ** 
+        .byte   %00000110       ; 06A5 1-d4:      ** 
+        .byte   %00000110       ; 06A6 1-d4:      ** 
+        .byte   %00111100       ; 06A7 1-d4:   ****  
+
+        .byte   %00000000       ; 06A8 1-d5:         
+        .byte   %00000110       ; 06A9 1-d5:      ** 
+        .byte   %00000000       ; 06AA 1-d5:         
+        .byte   %00000110       ; 06AB 1-d5:      ** 
+        .byte   %00000110       ; 06AC 1-d5:      ** 
+        .byte   %00000110       ; 06AD 1-d5:      ** 
+        .byte   %00000110       ; 06AE 1-d5:      ** 
+        .byte   %00111100       ; 06AF 1-d5:   ****  
+
+        .byte   %00000000       ; 06B0 1-d6:         
+        .byte   %01100000       ; 06B1 1-d6:  **     
+        .byte   %01100000       ; 06B2 1-d6:  **     
+        .byte   %01101100       ; 06B3 1-d6:  ** **  
+        .byte   %01111000       ; 06B4 1-d6:  ****   
+        .byte   %01101100       ; 06B5 1-d6:  ** **  
+        .byte   %01100110       ; 06B6 1-d6:  **  ** 
+        .byte   %00000000       ; 06B7 1-d6:         
+
+        .byte   %00000000       ; 06B8 1-d7:         
+        .byte   %01100000       ; 06B9 1-d7:  **     
+        .byte   %01100000       ; 06BA 1-d7:  **     
+        .byte   %01101100       ; 06BB 1-d7:  ** **  
+        .byte   %01111000       ; 06BC 1-d7:  ****   
+        .byte   %01101100       ; 06BD 1-d7:  ** **  
+        .byte   %01100110       ; 06BE 1-d7:  **  ** 
+        .byte   %00000000       ; 06BF 1-d7:         
+
+        .byte   %00000000       ; 06C0 1-d8:         
+        .byte   %00111000       ; 06C1 1-d8:   ***   
+        .byte   %00011000       ; 06C2 1-d8:    **   
+        .byte   %00011000       ; 06C3 1-d8:    **   
+        .byte   %00011000       ; 06C4 1-d8:    **   
+        .byte   %00011000       ; 06C5 1-d8:    **   
+        .byte   %00111100       ; 06C6 1-d8:   ****  
+        .byte   %00000000       ; 06C7 1-d8:         
+
+        .byte   %00000000       ; 06C8 1-d9:         
+        .byte   %00111000       ; 06C9 1-d9:   ***   
+        .byte   %00011000       ; 06CA 1-d9:    **   
+        .byte   %00011000       ; 06CB 1-d9:    **   
+        .byte   %00011000       ; 06CC 1-d9:    **   
+        .byte   %00011000       ; 06CD 1-d9:    **   
+        .byte   %00111100       ; 06CE 1-d9:   ****  
+        .byte   %00000000       ; 06CF 1-d9:         
+
+        .byte   %00000000       ; 06D0 1-da:         
+        .byte   %00000000       ; 06D1 1-da:         
+        .byte   %01100110       ; 06D2 1-da:  **  ** 
+        .byte   %01111111       ; 06D3 1-da:  *******
+        .byte   %01111111       ; 06D4 1-da:  *******
+        .byte   %01101011       ; 06D5 1-da:  ** * **
+        .byte   %01100011       ; 06D6 1-da:  **   **
+        .byte   %00000000       ; 06D7 1-da:         
+
+        .byte   %00000000       ; 06D8 1-db:         
+        .byte   %00000000       ; 06D9 1-db:         
+        .byte   %01100110       ; 06DA 1-db:  **  ** 
+        .byte   %01111111       ; 06DB 1-db:  *******
+        .byte   %01111111       ; 06DC 1-db:  *******
+        .byte   %01101011       ; 06DD 1-db:  ** * **
+        .byte   %01100011       ; 06DE 1-db:  **   **
+        .byte   %00000000       ; 06DF 1-db:         
+
+        .byte   %00000000       ; 06E0 1-dc:         
+        .byte   %00000000       ; 06E1 1-dc:         
+        .byte   %01111100       ; 06E2 1-dc:  *****  
+        .byte   %01100110       ; 06E3 1-dc:  **  ** 
+        .byte   %01100110       ; 06E4 1-dc:  **  ** 
+        .byte   %01100110       ; 06E5 1-dc:  **  ** 
+        .byte   %01100110       ; 06E6 1-dc:  **  ** 
+        .byte   %00000000       ; 06E7 1-dc:         
+
+        .byte   %00000000       ; 06E8 1-dd:         
+        .byte   %00000000       ; 06E9 1-dd:         
+        .byte   %01111100       ; 06EA 1-dd:  *****  
+        .byte   %01100110       ; 06EB 1-dd:  **  ** 
+        .byte   %01100110       ; 06EC 1-dd:  **  ** 
+        .byte   %01100110       ; 06ED 1-dd:  **  ** 
+        .byte   %01100110       ; 06EE 1-dd:  **  ** 
+        .byte   %00000000       ; 06EF 1-dd:         
+
+        .byte   %00000000       ; 06F0 1-de:         
+        .byte   %00000000       ; 06F1 1-de:         
+        .byte   %00111100       ; 06F2 1-de:   ****  
+        .byte   %01100110       ; 06F3 1-de:  **  ** 
+        .byte   %01100110       ; 06F4 1-de:  **  ** 
+        .byte   %01100110       ; 06F5 1-de:  **  ** 
+        .byte   %00111100       ; 06F6 1-de:   ****  
+        .byte   %00000000       ; 06F7 1-de:         
+
+        .byte   %00000000       ; 06F8 1-df:         
+        .byte   %00000000       ; 06F9 1-df:         
+        .byte   %00111100       ; 06FA 1-df:   ****  
+        .byte   %01100110       ; 06FB 1-df:  **  ** 
+        .byte   %01100110       ; 06FC 1-df:  **  ** 
+        .byte   %01100110       ; 06FD 1-df:  **  ** 
+        .byte   %00111100       ; 06FE 1-df:   ****  
+        .byte   %00000000       ; 06FF 1-df:         
+
+        .byte   %00000000       ; 0700 1-e0:         
+        .byte   %00000000       ; 0701 1-e0:         
+        .byte   %01111100       ; 0702 1-e0:  *****  
+        .byte   %01100110       ; 0703 1-e0:  **  ** 
+        .byte   %01100110       ; 0704 1-e0:  **  ** 
+        .byte   %01111100       ; 0705 1-e0:  *****  
+        .byte   %01100000       ; 0706 1-e0:  **     
+        .byte   %01100000       ; 0707 1-e0:  **     
+
+        .byte   %00000000       ; 0708 1-e1:         
+        .byte   %00000000       ; 0709 1-e1:         
+        .byte   %01111100       ; 070A 1-e1:  *****  
+        .byte   %01100110       ; 070B 1-e1:  **  ** 
+        .byte   %01100110       ; 070C 1-e1:  **  ** 
+        .byte   %01111100       ; 070D 1-e1:  *****  
+        .byte   %01100000       ; 070E 1-e1:  **     
+        .byte   %01100000       ; 070F 1-e1:  **     
+
+        .byte   %00000000       ; 0710 1-e2:         
+        .byte   %00000000       ; 0711 1-e2:         
+        .byte   %00111110       ; 0712 1-e2:   ***** 
+        .byte   %01100110       ; 0713 1-e2:  **  ** 
+        .byte   %01100110       ; 0714 1-e2:  **  ** 
+        .byte   %00111110       ; 0715 1-e2:   ***** 
+        .byte   %00000110       ; 0716 1-e2:      ** 
+        .byte   %00000110       ; 0717 1-e2:      ** 
+
+        .byte   %00000000       ; 0718 1-e3:         
+        .byte   %00000000       ; 0719 1-e3:         
+        .byte   %00111110       ; 071A 1-e3:   ***** 
+        .byte   %01100110       ; 071B 1-e3:  **  ** 
+        .byte   %01100110       ; 071C 1-e3:  **  ** 
+        .byte   %00111110       ; 071D 1-e3:   ***** 
+        .byte   %00000110       ; 071E 1-e3:      ** 
+        .byte   %00000110       ; 071F 1-e3:      ** 
+
+        .byte   %00000000       ; 0720 1-e4:         
+        .byte   %00000000       ; 0721 1-e4:         
+        .byte   %01111100       ; 0722 1-e4:  *****  
+        .byte   %01100110       ; 0723 1-e4:  **  ** 
+        .byte   %01100000       ; 0724 1-e4:  **     
+        .byte   %01100000       ; 0725 1-e4:  **     
+        .byte   %01100000       ; 0726 1-e4:  **     
+        .byte   %00000000       ; 0727 1-e4:         
+
+        .byte   %00000000       ; 0728 1-e5:         
+        .byte   %00000000       ; 0729 1-e5:         
+        .byte   %01111100       ; 072A 1-e5:  *****  
+        .byte   %01100110       ; 072B 1-e5:  **  ** 
+        .byte   %01100000       ; 072C 1-e5:  **     
+        .byte   %01100000       ; 072D 1-e5:  **     
+        .byte   %01100000       ; 072E 1-e5:  **     
+        .byte   %00000000       ; 072F 1-e5:         
+
+        .byte   %00000000       ; 0730 1-e6:         
+        .byte   %00000000       ; 0731 1-e6:         
+        .byte   %00111110       ; 0732 1-e6:   ***** 
+        .byte   %01100000       ; 0733 1-e6:  **     
+        .byte   %00111100       ; 0734 1-e6:   ****  
+        .byte   %00000110       ; 0735 1-e6:      ** 
+        .byte   %01111100       ; 0736 1-e6:  *****  
+        .byte   %00000000       ; 0737 1-e6:         
+
+        .byte   %00000000       ; 0738 1-e7:         
+        .byte   %00000000       ; 0739 1-e7:         
+        .byte   %00111110       ; 073A 1-e7:   ***** 
+        .byte   %01100000       ; 073B 1-e7:  **     
+        .byte   %00111100       ; 073C 1-e7:   ****  
+        .byte   %00000110       ; 073D 1-e7:      ** 
+        .byte   %01111100       ; 073E 1-e7:  *****  
+        .byte   %00000000       ; 073F 1-e7:         
+
+        .byte   %00000000       ; 0740 1-e8:         
+        .byte   %00011000       ; 0741 1-e8:    **   
+        .byte   %01111110       ; 0742 1-e8:  ****** 
+        .byte   %00011000       ; 0743 1-e8:    **   
+        .byte   %00011000       ; 0744 1-e8:    **   
+        .byte   %00011000       ; 0745 1-e8:    **   
+        .byte   %00001110       ; 0746 1-e8:     *** 
+        .byte   %00000000       ; 0747 1-e8:         
+
+        .byte   %00000000       ; 0748 1-e9:         
+        .byte   %00011000       ; 0749 1-e9:    **   
+        .byte   %01111110       ; 074A 1-e9:  ****** 
+        .byte   %00011000       ; 074B 1-e9:    **   
+        .byte   %00011000       ; 074C 1-e9:    **   
+        .byte   %00011000       ; 074D 1-e9:    **   
+        .byte   %00001110       ; 074E 1-e9:     *** 
+        .byte   %00000000       ; 074F 1-e9:         
+
+        .byte   %00000000       ; 0750 1-ea:         
+        .byte   %00000000       ; 0751 1-ea:         
+        .byte   %01100110       ; 0752 1-ea:  **  ** 
+        .byte   %01100110       ; 0753 1-ea:  **  ** 
+        .byte   %01100110       ; 0754 1-ea:  **  ** 
+        .byte   %01100110       ; 0755 1-ea:  **  ** 
+        .byte   %00111110       ; 0756 1-ea:   ***** 
+        .byte   %00000000       ; 0757 1-ea:         
+
+        .byte   %00000000       ; 0758 1-eb:         
+        .byte   %00000000       ; 0759 1-eb:         
+        .byte   %01100110       ; 075A 1-eb:  **  ** 
+        .byte   %01100110       ; 075B 1-eb:  **  ** 
+        .byte   %01100110       ; 075C 1-eb:  **  ** 
+        .byte   %01100110       ; 075D 1-eb:  **  ** 
+        .byte   %00111110       ; 075E 1-eb:   ***** 
+        .byte   %00000000       ; 075F 1-eb:         
+
+        .byte   %00000000       ; 0760 1-ec:         
+        .byte   %00000000       ; 0761 1-ec:         
+        .byte   %01100110       ; 0762 1-ec:  **  ** 
+        .byte   %01100110       ; 0763 1-ec:  **  ** 
+        .byte   %01100110       ; 0764 1-ec:  **  ** 
+        .byte   %00111100       ; 0765 1-ec:   ****  
+        .byte   %00011000       ; 0766 1-ec:    **   
+        .byte   %00000000       ; 0767 1-ec:         
+
+        .byte   %00000000       ; 0768 1-ed:         
+        .byte   %00000000       ; 0769 1-ed:         
+        .byte   %01100110       ; 076A 1-ed:  **  ** 
+        .byte   %01100110       ; 076B 1-ed:  **  ** 
+        .byte   %01100110       ; 076C 1-ed:  **  ** 
+        .byte   %00111100       ; 076D 1-ed:   ****  
+        .byte   %00011000       ; 076E 1-ed:    **   
+        .byte   %00000000       ; 076F 1-ed:         
+
+        .byte   %00000000       ; 0770 1-ee:         
+        .byte   %00000000       ; 0771 1-ee:         
+        .byte   %01100011       ; 0772 1-ee:  **   **
+        .byte   %01101011       ; 0773 1-ee:  ** * **
+        .byte   %01111111       ; 0774 1-ee:  *******
+        .byte   %00111110       ; 0775 1-ee:   ***** 
+        .byte   %00110110       ; 0776 1-ee:   ** ** 
+        .byte   %00000000       ; 0777 1-ee:         
+
+        .byte   %00000000       ; 0778 1-ef:         
+        .byte   %00000000       ; 0779 1-ef:         
+        .byte   %01100011       ; 077A 1-ef:  **   **
+        .byte   %01101011       ; 077B 1-ef:  ** * **
+        .byte   %01111111       ; 077C 1-ef:  *******
+        .byte   %00111110       ; 077D 1-ef:   ***** 
+        .byte   %00110110       ; 077E 1-ef:   ** ** 
+        .byte   %00000000       ; 077F 1-ef:         
+
+        .byte   %00000000       ; 0780 1-f0:         
+        .byte   %00000000       ; 0781 1-f0:         
+        .byte   %01100110       ; 0782 1-f0:  **  ** 
+        .byte   %00111100       ; 0783 1-f0:   ****  
+        .byte   %00011000       ; 0784 1-f0:    **   
+        .byte   %00111100       ; 0785 1-f0:   ****  
+        .byte   %01100110       ; 0786 1-f0:  **  ** 
+        .byte   %00000000       ; 0787 1-f0:         
+
+        .byte   %00000000       ; 0788 1-f1:         
+        .byte   %00000000       ; 0789 1-f1:         
+        .byte   %01100110       ; 078A 1-f1:  **  ** 
+        .byte   %00111100       ; 078B 1-f1:   ****  
+        .byte   %00011000       ; 078C 1-f1:    **   
+        .byte   %00111100       ; 078D 1-f1:   ****  
+        .byte   %01100110       ; 078E 1-f1:  **  ** 
+        .byte   %00000000       ; 078F 1-f1:         
+
+        .byte   %00000000       ; 0790 1-f2:         
+        .byte   %00000000       ; 0791 1-f2:         
+        .byte   %01100110       ; 0792 1-f2:  **  ** 
+        .byte   %01100110       ; 0793 1-f2:  **  ** 
+        .byte   %01100110       ; 0794 1-f2:  **  ** 
+        .byte   %00111110       ; 0795 1-f2:   ***** 
+        .byte   %00001100       ; 0796 1-f2:     **  
+        .byte   %01111000       ; 0797 1-f2:  ****   
+
+        .byte   %00000000       ; 0798 1-f3:         
+        .byte   %00000000       ; 0799 1-f3:         
+        .byte   %01100110       ; 079A 1-f3:  **  ** 
+        .byte   %01100110       ; 079B 1-f3:  **  ** 
+        .byte   %01100110       ; 079C 1-f3:  **  ** 
+        .byte   %00111110       ; 079D 1-f3:   ***** 
+        .byte   %00001100       ; 079E 1-f3:     **  
+        .byte   %01111000       ; 079F 1-f3:  ****   
+
+        .byte   %00000000       ; 07A0 1-f4:         
+        .byte   %00000000       ; 07A1 1-f4:         
+        .byte   %01111110       ; 07A2 1-f4:  ****** 
+        .byte   %00001100       ; 07A3 1-f4:     **  
+        .byte   %00011000       ; 07A4 1-f4:    **   
+        .byte   %00110000       ; 07A5 1-f4:   **    
+        .byte   %01111110       ; 07A6 1-f4:  ****** 
+        .byte   %00000000       ; 07A7 1-f4:         
+
+        .byte   %00000000       ; 07A8 1-f5:         
+        .byte   %00000000       ; 07A9 1-f5:         
+        .byte   %01111110       ; 07AA 1-f5:  ****** 
+        .byte   %00001100       ; 07AB 1-f5:     **  
+        .byte   %00011000       ; 07AC 1-f5:    **   
+        .byte   %00110000       ; 07AD 1-f5:   **    
+        .byte   %01111110       ; 07AE 1-f5:  ****** 
+        .byte   %00000000       ; 07AF 1-f5:         
+
+        .byte   %00011100       ; 07B0 1-f6:    ***  
+        .byte   %00110000       ; 07B1 1-f6:   **    
+        .byte   %00011000       ; 07B2 1-f6:    **   
+        .byte   %01110000       ; 07B3 1-f6:  ***    
+        .byte   %00011000       ; 07B4 1-f6:    **   
+        .byte   %00110000       ; 07B5 1-f6:   **    
+        .byte   %00011100       ; 07B6 1-f6:    ***  
+        .byte   %00000000       ; 07B7 1-f6:         
+
+        .byte   %00011100       ; 07B8 1-f7:    ***  
+        .byte   %00110000       ; 07B9 1-f7:   **    
+        .byte   %00011000       ; 07BA 1-f7:    **   
+        .byte   %01110000       ; 07BB 1-f7:  ***    
+        .byte   %00011000       ; 07BC 1-f7:    **   
+        .byte   %00110000       ; 07BD 1-f7:   **    
+        .byte   %00011100       ; 07BE 1-f7:    ***  
+        .byte   %00000000       ; 07BF 1-f7:         
+
+        .byte   %00011000       ; 07C0 1-f8:    **   
+        .byte   %00011000       ; 07C1 1-f8:    **   
+        .byte   %00011000       ; 07C2 1-f8:    **   
+        .byte   %00000000       ; 07C3 1-f8:         
+        .byte   %00000000       ; 07C4 1-f8:         
+        .byte   %00011000       ; 07C5 1-f8:    **   
+        .byte   %00011000       ; 07C6 1-f8:    **   
+        .byte   %00011000       ; 07C7 1-f8:    **   
+
+        .byte   %00011000       ; 07C8 1-f9:    **   
+        .byte   %00011000       ; 07C9 1-f9:    **   
+        .byte   %00011000       ; 07CA 1-f9:    **   
+        .byte   %00000000       ; 07CB 1-f9:         
+        .byte   %00000000       ; 07CC 1-f9:         
+        .byte   %00011000       ; 07CD 1-f9:    **   
+        .byte   %00011000       ; 07CE 1-f9:    **   
+        .byte   %00011000       ; 07CF 1-f9:    **   
+
+        .byte   %00111000       ; 07D0 1-fa:   ***   
+        .byte   %00001100       ; 07D1 1-fa:     **  
+        .byte   %00011000       ; 07D2 1-fa:    **   
+        .byte   %00001110       ; 07D3 1-fa:     *** 
+        .byte   %00011000       ; 07D4 1-fa:    **   
+        .byte   %00001100       ; 07D5 1-fa:     **  
+        .byte   %00111000       ; 07D6 1-fa:   ***   
+        .byte   %00000000       ; 07D7 1-fa:         
+
+        .byte   %00111000       ; 07D8 1-fb:   ***   
+        .byte   %00001100       ; 07D9 1-fb:     **  
+        .byte   %00011000       ; 07DA 1-fb:    **   
+        .byte   %00001110       ; 07DB 1-fb:     *** 
+        .byte   %00011000       ; 07DC 1-fb:    **   
+        .byte   %00001100       ; 07DD 1-fb:     **  
+        .byte   %00111000       ; 07DE 1-fb:   ***   
+        .byte   %00000000       ; 07DF 1-fb:         
+
+        .byte   %00110011       ; 07E0 1-fc:   **  **
+        .byte   %11111111       ; 07E1 1-fc: ********
+        .byte   %11001100       ; 07E2 1-fc: **  **  
+        .byte   %00000000       ; 07E3 1-fc:         
+        .byte   %00000000       ; 07E4 1-fc:         
+        .byte   %00000000       ; 07E5 1-fc:         
+        .byte   %00000000       ; 07E6 1-fc:         
+        .byte   %00000000       ; 07E7 1-fc:         
+
+        .byte   %00110011       ; 07E8 1-fd:   **  **
+        .byte   %11111111       ; 07E9 1-fd: ********
+        .byte   %11001100       ; 07EA 1-fd: **  **  
+        .byte   %00000000       ; 07EB 1-fd:         
+        .byte   %00000000       ; 07EC 1-fd:         
+        .byte   %00000000       ; 07ED 1-fd:         
+        .byte   %00000000       ; 07EE 1-fd:         
+        .byte   %00000000       ; 07EF 1-fd:         
+
+        .byte   %00000000       ; 07F0 1-fe:         
+        .byte   %00000000       ; 07F1 1-fe:         
+        .byte   %00000000       ; 07F2 1-fe:         
+        .byte   %00000000       ; 07F3 1-fe:         
+        .byte   %00000000       ; 07F4 1-fe:         
+        .byte   %00000000       ; 07F5 1-fe:         
+        .byte   %00000000       ; 07F6 1-fe:         
+        .byte   %00000000       ; 07F7 1-fe:         
+
+        .byte   %00000000       ; 07F8 1-ff:         
+        .byte   %00000000       ; 07F9 1-ff:         
+        .byte   %00000000       ; 07FA 1-ff:         
+        .byte   %00000000       ; 07FB 1-ff:         
+        .byte   %00000000       ; 07FC 1-ff:         
+        .byte   %00000000       ; 07FD 1-ff:         
+        .byte   %00000000       ; 07FE 1-ff:         
+        .byte   %00000000       ; 07FF 1-ff:         
+
+        .byte   %11111111       ; 0800 2-00: ********
+        .byte   %11111111       ; 0801 2-00: ********
+        .byte   %11111111       ; 0802 2-00: ********
+        .byte   %11111111       ; 0803 2-00: ********
+        .byte   %11111111       ; 0804 2-00: ********
+        .byte   %11111111       ; 0805 2-00: ********
+        .byte   %11111111       ; 0806 2-00: ********
+        .byte   %11111111       ; 0807 2-00: ********
+
+        .byte   %11111111       ; 0808 2-01: ********
+        .byte   %11111111       ; 0809 2-01: ********
+        .byte   %11111111       ; 080A 2-01: ********
+        .byte   %11111111       ; 080B 2-01: ********
+        .byte   %11111111       ; 080C 2-01: ********
+        .byte   %11111111       ; 080D 2-01: ********
+        .byte   %11111111       ; 080E 2-01: ********
+        .byte   %11111111       ; 080F 2-01: ********
+
+        .byte   %00110011       ; 0810 2-02:   **  **
+        .byte   %00110011       ; 0811 2-02:   **  **
+        .byte   %11001100       ; 0812 2-02: **  **  
+        .byte   %11001100       ; 0813 2-02: **  **  
+        .byte   %00110011       ; 0814 2-02:   **  **
+        .byte   %00110011       ; 0815 2-02:   **  **
+        .byte   %11001100       ; 0816 2-02: **  **  
+        .byte   %11001100       ; 0817 2-02: **  **  
+
+        .byte   %00110011       ; 0818 2-03:   **  **
+        .byte   %00110011       ; 0819 2-03:   **  **
+        .byte   %11001100       ; 081A 2-03: **  **  
+        .byte   %11001100       ; 081B 2-03: **  **  
+        .byte   %00110011       ; 081C 2-03:   **  **
+        .byte   %00110011       ; 081D 2-03:   **  **
+        .byte   %11001100       ; 081E 2-03: **  **  
+        .byte   %11001100       ; 081F 2-03: **  **  
+
+        .byte   %11111111       ; 0820 2-04: ********
+        .byte   %11100111       ; 0821 2-04: ***  ***
+        .byte   %11000011       ; 0822 2-04: **    **
+        .byte   %10000001       ; 0823 2-04: *      *
+        .byte   %11100111       ; 0824 2-04: ***  ***
+        .byte   %11100111       ; 0825 2-04: ***  ***
+        .byte   %11100111       ; 0826 2-04: ***  ***
+        .byte   %11100111       ; 0827 2-04: ***  ***
+
+        .byte   %11111111       ; 0828 2-05: ********
+        .byte   %11100111       ; 0829 2-05: ***  ***
+        .byte   %11000011       ; 082A 2-05: **    **
+        .byte   %10000001       ; 082B 2-05: *      *
+        .byte   %11100111       ; 082C 2-05: ***  ***
+        .byte   %11100111       ; 082D 2-05: ***  ***
+        .byte   %11100111       ; 082E 2-05: ***  ***
+        .byte   %11100111       ; 082F 2-05: ***  ***
+
+        .byte   %11111111       ; 0830 2-06: ********
+        .byte   %11101111       ; 0831 2-06: *** ****
+        .byte   %11001111       ; 0832 2-06: **  ****
+        .byte   %10000000       ; 0833 2-06: *       
+        .byte   %10000000       ; 0834 2-06: *       
+        .byte   %11001111       ; 0835 2-06: **  ****
+        .byte   %11101111       ; 0836 2-06: *** ****
+        .byte   %11111111       ; 0837 2-06: ********
+
+        .byte   %11111111       ; 0838 2-07: ********
+        .byte   %11101111       ; 0839 2-07: *** ****
+        .byte   %11001111       ; 083A 2-07: **  ****
+        .byte   %10000000       ; 083B 2-07: *       
+        .byte   %10000000       ; 083C 2-07: *       
+        .byte   %11001111       ; 083D 2-07: **  ****
+        .byte   %11101111       ; 083E 2-07: *** ****
+        .byte   %11111111       ; 083F 2-07: ********
+
+        .byte   %11110011       ; 0840 2-08: ****  **
+        .byte   %11101101       ; 0841 2-08: *** ** *
+        .byte   %11001111       ; 0842 2-08: **  ****
+        .byte   %10000011       ; 0843 2-08: *     **
+        .byte   %11001111       ; 0844 2-08: **  ****
+        .byte   %10011101       ; 0845 2-08: *  *** *
+        .byte   %00000011       ; 0846 2-08:       **
+        .byte   %11111111       ; 0847 2-08: ********
+
+        .byte   %11110011       ; 0848 2-09: ****  **
+        .byte   %11101101       ; 0849 2-09: *** ** *
+        .byte   %11001111       ; 084A 2-09: **  ****
+        .byte   %10000011       ; 084B 2-09: *     **
+        .byte   %11001111       ; 084C 2-09: **  ****
+        .byte   %10011101       ; 084D 2-09: *  *** *
+        .byte   %00000011       ; 084E 2-09:       **
+        .byte   %11111111       ; 084F 2-09: ********
+
+        .byte   %11111111       ; 0850 2-0a: ********
+        .byte   %11111111       ; 0851 2-0a: ********
+        .byte   %11111100       ; 0852 2-0a: ******  
+        .byte   %11000001       ; 0853 2-0a: **     *
+        .byte   %10001001       ; 0854 2-0a: *   *  *
+        .byte   %11001001       ; 0855 2-0a: **  *  *
+        .byte   %11001001       ; 0856 2-0a: **  *  *
+        .byte   %11111111       ; 0857 2-0a: ********
+
+        .byte   %11111111       ; 0858 2-0b: ********
+        .byte   %11111111       ; 0859 2-0b: ********
+        .byte   %11111100       ; 085A 2-0b: ******  
+        .byte   %11000001       ; 085B 2-0b: **     *
+        .byte   %10001001       ; 085C 2-0b: *   *  *
+        .byte   %11001001       ; 085D 2-0b: **  *  *
+        .byte   %11001001       ; 085E 2-0b: **  *  *
+        .byte   %11111111       ; 085F 2-0b: ********
+
+        .byte   %10000000       ; 0860 2-0c: *       
+        .byte   %10000000       ; 0861 2-0c: *       
+        .byte   %11111111       ; 0862 2-0c: ********
+        .byte   %11111111       ; 0863 2-0c: ********
+        .byte   %11111111       ; 0864 2-0c: ********
+        .byte   %11111111       ; 0865 2-0c: ********
+        .byte   %11111111       ; 0866 2-0c: ********
+        .byte   %11111111       ; 0867 2-0c: ********
+
+        .byte   %10000000       ; 0868 2-0d: *       
+        .byte   %10000000       ; 0869 2-0d: *       
+        .byte   %11111111       ; 086A 2-0d: ********
+        .byte   %11111111       ; 086B 2-0d: ********
+        .byte   %11111111       ; 086C 2-0d: ********
+        .byte   %11111111       ; 086D 2-0d: ********
+        .byte   %11111111       ; 086E 2-0d: ********
+        .byte   %11111111       ; 086F 2-0d: ********
+
+        .byte   %00011111       ; 0870 2-0e:    *****
+        .byte   %00011111       ; 0871 2-0e:    *****
+        .byte   %10011111       ; 0872 2-0e: *  *****
+        .byte   %10011111       ; 0873 2-0e: *  *****
+        .byte   %10011111       ; 0874 2-0e: *  *****
+        .byte   %10011111       ; 0875 2-0e: *  *****
+        .byte   %10011111       ; 0876 2-0e: *  *****
+        .byte   %10011111       ; 0877 2-0e: *  *****
+
+        .byte   %00011111       ; 0878 2-0f:    *****
+        .byte   %00011111       ; 0879 2-0f:    *****
+        .byte   %10011111       ; 087A 2-0f: *  *****
+        .byte   %10011111       ; 087B 2-0f: *  *****
+        .byte   %10011111       ; 087C 2-0f: *  *****
+        .byte   %10011111       ; 087D 2-0f: *  *****
+        .byte   %10011111       ; 087E 2-0f: *  *****
+        .byte   %10011111       ; 087F 2-0f: *  *****
+
+        .byte   %11100111       ; 0880 2-10: ***  ***
+        .byte   %11100111       ; 0881 2-10: ***  ***
+        .byte   %11100111       ; 0882 2-10: ***  ***
+        .byte   %00000111       ; 0883 2-10:      ***
+        .byte   %00000111       ; 0884 2-10:      ***
+        .byte   %11111111       ; 0885 2-10: ********
+        .byte   %11111111       ; 0886 2-10: ********
+        .byte   %11111111       ; 0887 2-10: ********
+
+        .byte   %11100111       ; 0888 2-11: ***  ***
+        .byte   %11100111       ; 0889 2-11: ***  ***
+        .byte   %11100111       ; 088A 2-11: ***  ***
+        .byte   %00000111       ; 088B 2-11:      ***
+        .byte   %00000111       ; 088C 2-11:      ***
+        .byte   %11111111       ; 088D 2-11: ********
+        .byte   %11111111       ; 088E 2-11: ********
+        .byte   %11111111       ; 088F 2-11: ********
+
+        .byte   %00110011       ; 0890 2-12:   **  **
+        .byte   %01100110       ; 0891 2-12:  **  ** 
+        .byte   %11001100       ; 0892 2-12: **  **  
+        .byte   %10011001       ; 0893 2-12: *  **  *
+        .byte   %00110011       ; 0894 2-12:   **  **
+        .byte   %01100110       ; 0895 2-12:  **  ** 
+        .byte   %11001100       ; 0896 2-12: **  **  
+        .byte   %10011001       ; 0897 2-12: *  **  *
+
+        .byte   %00110011       ; 0898 2-13:   **  **
+        .byte   %01100110       ; 0899 2-13:  **  ** 
+        .byte   %11001100       ; 089A 2-13: **  **  
+        .byte   %10011001       ; 089B 2-13: *  **  *
+        .byte   %00110011       ; 089C 2-13:   **  **
+        .byte   %01100110       ; 089D 2-13:  **  ** 
+        .byte   %11001100       ; 089E 2-13: **  **  
+        .byte   %10011001       ; 089F 2-13: *  **  *
+
+        .byte   %11001100       ; 08A0 2-14: **  **  
+        .byte   %01100110       ; 08A1 2-14:  **  ** 
+        .byte   %00110011       ; 08A2 2-14:   **  **
+        .byte   %10011001       ; 08A3 2-14: *  **  *
+        .byte   %11001100       ; 08A4 2-14: **  **  
+        .byte   %01100110       ; 08A5 2-14:  **  ** 
+        .byte   %00110011       ; 08A6 2-14:   **  **
+        .byte   %10011001       ; 08A7 2-14: *  **  *
+
+        .byte   %11001100       ; 08A8 2-15: **  **  
+        .byte   %01100110       ; 08A9 2-15:  **  ** 
+        .byte   %00110011       ; 08AA 2-15:   **  **
+        .byte   %10011001       ; 08AB 2-15: *  **  *
+        .byte   %11001100       ; 08AC 2-15: **  **  
+        .byte   %01100110       ; 08AD 2-15:  **  ** 
+        .byte   %00110011       ; 08AE 2-15:   **  **
+        .byte   %10011001       ; 08AF 2-15: *  **  *
+
+        .byte   %11111111       ; 08B0 2-16: ********
+        .byte   %11111111       ; 08B1 2-16: ********
+        .byte   %11111111       ; 08B2 2-16: ********
+        .byte   %00000000       ; 08B3 2-16:         
+        .byte   %00000000       ; 08B4 2-16:         
+        .byte   %11111111       ; 08B5 2-16: ********
+        .byte   %11111111       ; 08B6 2-16: ********
+        .byte   %11111111       ; 08B7 2-16: ********
+
+        .byte   %11111111       ; 08B8 2-17: ********
+        .byte   %11111111       ; 08B9 2-17: ********
+        .byte   %11111111       ; 08BA 2-17: ********
+        .byte   %00000000       ; 08BB 2-17:         
+        .byte   %00000000       ; 08BC 2-17:         
+        .byte   %11111111       ; 08BD 2-17: ********
+        .byte   %11111111       ; 08BE 2-17: ********
+        .byte   %11111111       ; 08BF 2-17: ********
+
+        .byte   %11111100       ; 08C0 2-18: ******  
+        .byte   %11111100       ; 08C1 2-18: ******  
+        .byte   %11111100       ; 08C2 2-18: ******  
+        .byte   %11111100       ; 08C3 2-18: ******  
+        .byte   %11111100       ; 08C4 2-18: ******  
+        .byte   %11111100       ; 08C5 2-18: ******  
+        .byte   %11111100       ; 08C6 2-18: ******  
+        .byte   %11111100       ; 08C7 2-18: ******  
+
+        .byte   %11111100       ; 08C8 2-19: ******  
+        .byte   %11111100       ; 08C9 2-19: ******  
+        .byte   %11111100       ; 08CA 2-19: ******  
+        .byte   %11111100       ; 08CB 2-19: ******  
+        .byte   %11111100       ; 08CC 2-19: ******  
+        .byte   %11111100       ; 08CD 2-19: ******  
+        .byte   %11111100       ; 08CE 2-19: ******  
+        .byte   %11111100       ; 08CF 2-19: ******  
+
+        .byte   %11111111       ; 08D0 2-1a: ********
+        .byte   %11111111       ; 08D1 2-1a: ********
+        .byte   %11111111       ; 08D2 2-1a: ********
+        .byte   %11111111       ; 08D3 2-1a: ********
+        .byte   %00110011       ; 08D4 2-1a:   **  **
+        .byte   %00110011       ; 08D5 2-1a:   **  **
+        .byte   %11001100       ; 08D6 2-1a: **  **  
+        .byte   %11001100       ; 08D7 2-1a: **  **  
+
+        .byte   %11111111       ; 08D8 2-1b: ********
+        .byte   %11111111       ; 08D9 2-1b: ********
+        .byte   %11111111       ; 08DA 2-1b: ********
+        .byte   %11111111       ; 08DB 2-1b: ********
+        .byte   %00110011       ; 08DC 2-1b:   **  **
+        .byte   %00110011       ; 08DD 2-1b:   **  **
+        .byte   %11001100       ; 08DE 2-1b: **  **  
+        .byte   %11001100       ; 08DF 2-1b: **  **  
+
+        .byte   %11100111       ; 08E0 2-1c: ***  ***
+        .byte   %11100111       ; 08E1 2-1c: ***  ***
+        .byte   %11100111       ; 08E2 2-1c: ***  ***
+        .byte   %11100111       ; 08E3 2-1c: ***  ***
+        .byte   %11100111       ; 08E4 2-1c: ***  ***
+        .byte   %11100111       ; 08E5 2-1c: ***  ***
+        .byte   %11100111       ; 08E6 2-1c: ***  ***
+        .byte   %11100111       ; 08E7 2-1c: ***  ***
+
+        .byte   %11100111       ; 08E8 2-1d: ***  ***
+        .byte   %11100111       ; 08E9 2-1d: ***  ***
+        .byte   %11100111       ; 08EA 2-1d: ***  ***
+        .byte   %11100111       ; 08EB 2-1d: ***  ***
+        .byte   %11100111       ; 08EC 2-1d: ***  ***
+        .byte   %11100111       ; 08ED 2-1d: ***  ***
+        .byte   %11100111       ; 08EE 2-1d: ***  ***
+        .byte   %11100111       ; 08EF 2-1d: ***  ***
+
+        .byte   %11100111       ; 08F0 2-1e: ***  ***
+        .byte   %11100111       ; 08F1 2-1e: ***  ***
+        .byte   %11100111       ; 08F2 2-1e: ***  ***
+        .byte   %11100000       ; 08F3 2-1e: ***     
+        .byte   %11100000       ; 08F4 2-1e: ***     
+        .byte   %11100111       ; 08F5 2-1e: ***  ***
+        .byte   %11100111       ; 08F6 2-1e: ***  ***
+        .byte   %11100111       ; 08F7 2-1e: ***  ***
+
+        .byte   %11100111       ; 08F8 2-1f: ***  ***
+        .byte   %11100111       ; 08F9 2-1f: ***  ***
+        .byte   %11100111       ; 08FA 2-1f: ***  ***
+        .byte   %11100000       ; 08FB 2-1f: ***     
+        .byte   %11100000       ; 08FC 2-1f: ***     
+        .byte   %11100111       ; 08FD 2-1f: ***  ***
+        .byte   %11100111       ; 08FE 2-1f: ***  ***
+        .byte   %11100111       ; 08FF 2-1f: ***  ***
+
+        .byte   %11100111       ; 0900 2-20: ***  ***
+        .byte   %11100111       ; 0901 2-20: ***  ***
+        .byte   %11100111       ; 0902 2-20: ***  ***
+        .byte   %00000000       ; 0903 2-20:         
+        .byte   %00000000       ; 0904 2-20:         
+        .byte   %11100111       ; 0905 2-20: ***  ***
+        .byte   %11100111       ; 0906 2-20: ***  ***
+        .byte   %11100111       ; 0907 2-20: ***  ***
+
+        .byte   %11100111       ; 0908 2-21: ***  ***
+        .byte   %11100111       ; 0909 2-21: ***  ***
+        .byte   %11100111       ; 090A 2-21: ***  ***
+        .byte   %00000000       ; 090B 2-21:         
+        .byte   %00000000       ; 090C 2-21:         
+        .byte   %11100111       ; 090D 2-21: ***  ***
+        .byte   %11100111       ; 090E 2-21: ***  ***
+        .byte   %11100111       ; 090F 2-21: ***  ***
+
+        .byte   %11100111       ; 0910 2-22: ***  ***
+        .byte   %11100111       ; 0911 2-22: ***  ***
+        .byte   %11100111       ; 0912 2-22: ***  ***
+        .byte   %11100000       ; 0913 2-22: ***     
+        .byte   %11100000       ; 0914 2-22: ***     
+        .byte   %11111111       ; 0915 2-22: ********
+        .byte   %11111111       ; 0916 2-22: ********
+        .byte   %11111111       ; 0917 2-22: ********
+
+        .byte   %11100111       ; 0918 2-23: ***  ***
+        .byte   %11100111       ; 0919 2-23: ***  ***
+        .byte   %11100111       ; 091A 2-23: ***  ***
+        .byte   %11100000       ; 091B 2-23: ***     
+        .byte   %11100000       ; 091C 2-23: ***     
+        .byte   %11111111       ; 091D 2-23: ********
+        .byte   %11111111       ; 091E 2-23: ********
+        .byte   %11111111       ; 091F 2-23: ********
+
+        .byte   %11111111       ; 0920 2-24: ********
+        .byte   %11111111       ; 0921 2-24: ********
+        .byte   %11111111       ; 0922 2-24: ********
+        .byte   %00000111       ; 0923 2-24:      ***
+        .byte   %00000111       ; 0924 2-24:      ***
+        .byte   %11100111       ; 0925 2-24: ***  ***
+        .byte   %11100111       ; 0926 2-24: ***  ***
+        .byte   %11100111       ; 0927 2-24: ***  ***
+
+        .byte   %11111111       ; 0928 2-25: ********
+        .byte   %11111111       ; 0929 2-25: ********
+        .byte   %11111111       ; 092A 2-25: ********
+        .byte   %00000111       ; 092B 2-25:      ***
+        .byte   %00000111       ; 092C 2-25:      ***
+        .byte   %11100111       ; 092D 2-25: ***  ***
+        .byte   %11100111       ; 092E 2-25: ***  ***
+        .byte   %11100111       ; 092F 2-25: ***  ***
+
+        .byte   %11111111       ; 0930 2-26: ********
+        .byte   %11111111       ; 0931 2-26: ********
+        .byte   %11111111       ; 0932 2-26: ********
+        .byte   %11111111       ; 0933 2-26: ********
+        .byte   %11111111       ; 0934 2-26: ********
+        .byte   %11111111       ; 0935 2-26: ********
+        .byte   %00000000       ; 0936 2-26:         
+        .byte   %00000000       ; 0937 2-26:         
+
+        .byte   %11111111       ; 0938 2-27: ********
+        .byte   %11111111       ; 0939 2-27: ********
+        .byte   %11111111       ; 093A 2-27: ********
+        .byte   %11111111       ; 093B 2-27: ********
+        .byte   %11111111       ; 093C 2-27: ********
+        .byte   %11111111       ; 093D 2-27: ********
+        .byte   %00000000       ; 093E 2-27:         
+        .byte   %00000000       ; 093F 2-27:         
+
+        .byte   %11111111       ; 0940 2-28: ********
+        .byte   %11111111       ; 0941 2-28: ********
+        .byte   %11111111       ; 0942 2-28: ********
+        .byte   %11100000       ; 0943 2-28: ***     
+        .byte   %11100000       ; 0944 2-28: ***     
+        .byte   %11100111       ; 0945 2-28: ***  ***
+        .byte   %11100111       ; 0946 2-28: ***  ***
+        .byte   %11100111       ; 0947 2-28: ***  ***
+
+        .byte   %11111111       ; 0948 2-29: ********
+        .byte   %11111111       ; 0949 2-29: ********
+        .byte   %11111111       ; 094A 2-29: ********
+        .byte   %11100000       ; 094B 2-29: ***     
+        .byte   %11100000       ; 094C 2-29: ***     
+        .byte   %11100111       ; 094D 2-29: ***  ***
+        .byte   %11100111       ; 094E 2-29: ***  ***
+        .byte   %11100111       ; 094F 2-29: ***  ***
+
+        .byte   %11100111       ; 0950 2-2a: ***  ***
+        .byte   %11100111       ; 0951 2-2a: ***  ***
+        .byte   %11100111       ; 0952 2-2a: ***  ***
+        .byte   %00000000       ; 0953 2-2a:         
+        .byte   %00000000       ; 0954 2-2a:         
+        .byte   %11111111       ; 0955 2-2a: ********
+        .byte   %11111111       ; 0956 2-2a: ********
+        .byte   %11111111       ; 0957 2-2a: ********
+
+        .byte   %11100111       ; 0958 2-2b: ***  ***
+        .byte   %11100111       ; 0959 2-2b: ***  ***
+        .byte   %11100111       ; 095A 2-2b: ***  ***
+        .byte   %00000000       ; 095B 2-2b:         
+        .byte   %00000000       ; 095C 2-2b:         
+        .byte   %11111111       ; 095D 2-2b: ********
+        .byte   %11111111       ; 095E 2-2b: ********
+        .byte   %11111111       ; 095F 2-2b: ********
+
+        .byte   %11111111       ; 0960 2-2c: ********
+        .byte   %11111111       ; 0961 2-2c: ********
+        .byte   %11111111       ; 0962 2-2c: ********
+        .byte   %00000000       ; 0963 2-2c:         
+        .byte   %00000000       ; 0964 2-2c:         
+        .byte   %11100111       ; 0965 2-2c: ***  ***
+        .byte   %11100111       ; 0966 2-2c: ***  ***
+        .byte   %11100111       ; 0967 2-2c: ***  ***
+
+        .byte   %11111111       ; 0968 2-2d: ********
+        .byte   %11111111       ; 0969 2-2d: ********
+        .byte   %11111111       ; 096A 2-2d: ********
+        .byte   %00000000       ; 096B 2-2d:         
+        .byte   %00000000       ; 096C 2-2d:         
+        .byte   %11100111       ; 096D 2-2d: ***  ***
+        .byte   %11100111       ; 096E 2-2d: ***  ***
+        .byte   %11100111       ; 096F 2-2d: ***  ***
+
+        .byte   %11100111       ; 0970 2-2e: ***  ***
+        .byte   %11100111       ; 0971 2-2e: ***  ***
+        .byte   %11100111       ; 0972 2-2e: ***  ***
+        .byte   %00000111       ; 0973 2-2e:      ***
+        .byte   %00000111       ; 0974 2-2e:      ***
+        .byte   %11100111       ; 0975 2-2e: ***  ***
+        .byte   %11100111       ; 0976 2-2e: ***  ***
+        .byte   %11100111       ; 0977 2-2e: ***  ***
+
+        .byte   %11100111       ; 0978 2-2f: ***  ***
+        .byte   %11100111       ; 0979 2-2f: ***  ***
+        .byte   %11100111       ; 097A 2-2f: ***  ***
+        .byte   %00000111       ; 097B 2-2f:      ***
+        .byte   %00000111       ; 097C 2-2f:      ***
+        .byte   %11100111       ; 097D 2-2f: ***  ***
+        .byte   %11100111       ; 097E 2-2f: ***  ***
+        .byte   %11100111       ; 097F 2-2f: ***  ***
+
+        .byte   %00001111       ; 0980 2-30:     ****
+        .byte   %00001111       ; 0981 2-30:     ****
+        .byte   %00001111       ; 0982 2-30:     ****
+        .byte   %00001111       ; 0983 2-30:     ****
+        .byte   %00001111       ; 0984 2-30:     ****
+        .byte   %00001111       ; 0985 2-30:     ****
+        .byte   %00001111       ; 0986 2-30:     ****
+        .byte   %00001111       ; 0987 2-30:     ****
+
+        .byte   %00001111       ; 0988 2-31:     ****
+        .byte   %00001111       ; 0989 2-31:     ****
+        .byte   %00001111       ; 098A 2-31:     ****
+        .byte   %00001111       ; 098B 2-31:     ****
+        .byte   %00001111       ; 098C 2-31:     ****
+        .byte   %00001111       ; 098D 2-31:     ****
+        .byte   %00001111       ; 098E 2-31:     ****
+        .byte   %00001111       ; 098F 2-31:     ****
+
+        .byte   %11111111       ; 0990 2-32: ********
+        .byte   %11111111       ; 0991 2-32: ********
+        .byte   %11111111       ; 0992 2-32: ********
+        .byte   %11111111       ; 0993 2-32: ********
+        .byte   %00000000       ; 0994 2-32:         
+        .byte   %00000000       ; 0995 2-32:         
+        .byte   %00000000       ; 0996 2-32:         
+        .byte   %00000000       ; 0997 2-32:         
+
+        .byte   %11111111       ; 0998 2-33: ********
+        .byte   %11111111       ; 0999 2-33: ********
+        .byte   %11111111       ; 099A 2-33: ********
+        .byte   %11111111       ; 099B 2-33: ********
+        .byte   %00000000       ; 099C 2-33:         
+        .byte   %00000000       ; 099D 2-33:         
+        .byte   %00000000       ; 099E 2-33:         
+        .byte   %00000000       ; 099F 2-33:         
+
+        .byte   %11111111       ; 09A0 2-34: ********
+        .byte   %11111111       ; 09A1 2-34: ********
+        .byte   %11111111       ; 09A2 2-34: ********
+        .byte   %11111111       ; 09A3 2-34: ********
+        .byte   %00001111       ; 09A4 2-34:     ****
+        .byte   %00001111       ; 09A5 2-34:     ****
+        .byte   %00001111       ; 09A6 2-34:     ****
+        .byte   %00001111       ; 09A7 2-34:     ****
+
+        .byte   %11111111       ; 09A8 2-35: ********
+        .byte   %11111111       ; 09A9 2-35: ********
+        .byte   %11111111       ; 09AA 2-35: ********
+        .byte   %11111111       ; 09AB 2-35: ********
+        .byte   %00001111       ; 09AC 2-35:     ****
+        .byte   %00001111       ; 09AD 2-35:     ****
+        .byte   %00001111       ; 09AE 2-35:     ****
+        .byte   %00001111       ; 09AF 2-35:     ****
+
+        .byte   %00111111       ; 09B0 2-36:   ******
+        .byte   %00111111       ; 09B1 2-36:   ******
+        .byte   %11001111       ; 09B2 2-36: **  ****
+        .byte   %11001111       ; 09B3 2-36: **  ****
+        .byte   %00111111       ; 09B4 2-36:   ******
+        .byte   %00111111       ; 09B5 2-36:   ******
+        .byte   %11001111       ; 09B6 2-36: **  ****
+        .byte   %11001111       ; 09B7 2-36: **  ****
+
+        .byte   %00111111       ; 09B8 2-37:   ******
+        .byte   %00111111       ; 09B9 2-37:   ******
+        .byte   %11001111       ; 09BA 2-37: **  ****
+        .byte   %11001111       ; 09BB 2-37: **  ****
+        .byte   %00111111       ; 09BC 2-37:   ******
+        .byte   %00111111       ; 09BD 2-37:   ******
+        .byte   %11001111       ; 09BE 2-37: **  ****
+        .byte   %11001111       ; 09BF 2-37: **  ****
+
+        .byte   %11110000       ; 09C0 2-38: ****    
+        .byte   %11110000       ; 09C1 2-38: ****    
+        .byte   %11110000       ; 09C2 2-38: ****    
+        .byte   %11110000       ; 09C3 2-38: ****    
+        .byte   %11111111       ; 09C4 2-38: ********
+        .byte   %11111111       ; 09C5 2-38: ********
+        .byte   %11111111       ; 09C6 2-38: ********
+        .byte   %11111111       ; 09C7 2-38: ********
+
+        .byte   %11110000       ; 09C8 2-39: ****    
+        .byte   %11110000       ; 09C9 2-39: ****    
+        .byte   %11110000       ; 09CA 2-39: ****    
+        .byte   %11110000       ; 09CB 2-39: ****    
+        .byte   %11111111       ; 09CC 2-39: ********
+        .byte   %11111111       ; 09CD 2-39: ********
+        .byte   %11111111       ; 09CE 2-39: ********
+        .byte   %11111111       ; 09CF 2-39: ********
+
+        .byte   %11111111       ; 09D0 2-3a: ********
+        .byte   %11111111       ; 09D1 2-3a: ********
+        .byte   %11111111       ; 09D2 2-3a: ********
+        .byte   %11111111       ; 09D3 2-3a: ********
+        .byte   %11110000       ; 09D4 2-3a: ****    
+        .byte   %11110000       ; 09D5 2-3a: ****    
+        .byte   %11110000       ; 09D6 2-3a: ****    
+        .byte   %11110000       ; 09D7 2-3a: ****    
+
+        .byte   %11111111       ; 09D8 2-3b: ********
+        .byte   %11111111       ; 09D9 2-3b: ********
+        .byte   %11111111       ; 09DA 2-3b: ********
+        .byte   %11111111       ; 09DB 2-3b: ********
+        .byte   %11110000       ; 09DC 2-3b: ****    
+        .byte   %11110000       ; 09DD 2-3b: ****    
+        .byte   %11110000       ; 09DE 2-3b: ****    
+        .byte   %11110000       ; 09DF 2-3b: ****    
+
+        .byte   %00001111       ; 09E0 2-3c:     ****
+        .byte   %00001111       ; 09E1 2-3c:     ****
+        .byte   %00001111       ; 09E2 2-3c:     ****
+        .byte   %00001111       ; 09E3 2-3c:     ****
+        .byte   %11111111       ; 09E4 2-3c: ********
+        .byte   %11111111       ; 09E5 2-3c: ********
+        .byte   %11111111       ; 09E6 2-3c: ********
+        .byte   %11111111       ; 09E7 2-3c: ********
+
+        .byte   %00001111       ; 09E8 2-3d:     ****
+        .byte   %00001111       ; 09E9 2-3d:     ****
+        .byte   %00001111       ; 09EA 2-3d:     ****
+        .byte   %00001111       ; 09EB 2-3d:     ****
+        .byte   %11111111       ; 09EC 2-3d: ********
+        .byte   %11111111       ; 09ED 2-3d: ********
+        .byte   %11111111       ; 09EE 2-3d: ********
+        .byte   %11111111       ; 09EF 2-3d: ********
+
+        .byte   %00001111       ; 09F0 2-3e:     ****
+        .byte   %00001111       ; 09F1 2-3e:     ****
+        .byte   %00001111       ; 09F2 2-3e:     ****
+        .byte   %00001111       ; 09F3 2-3e:     ****
+        .byte   %11110000       ; 09F4 2-3e: ****    
+        .byte   %11110000       ; 09F5 2-3e: ****    
+        .byte   %11110000       ; 09F6 2-3e: ****    
+        .byte   %11110000       ; 09F7 2-3e: ****    
+
+        .byte   %00001111       ; 09F8 2-3f:     ****
+        .byte   %00001111       ; 09F9 2-3f:     ****
+        .byte   %00001111       ; 09FA 2-3f:     ****
+        .byte   %00001111       ; 09FB 2-3f:     ****
+        .byte   %11110000       ; 09FC 2-3f: ****    
+        .byte   %11110000       ; 09FD 2-3f: ****    
+        .byte   %11110000       ; 09FE 2-3f: ****    
+        .byte   %11110000       ; 09FF 2-3f: ****    
+
+        .byte   %11111111       ; 0A00 2-40: ********
+        .byte   %11111111       ; 0A01 2-40: ********
+        .byte   %11111111       ; 0A02 2-40: ********
+        .byte   %11111111       ; 0A03 2-40: ********
+        .byte   %11111111       ; 0A04 2-40: ********
+        .byte   %11111111       ; 0A05 2-40: ********
+        .byte   %11111111       ; 0A06 2-40: ********
+        .byte   %11111111       ; 0A07 2-40: ********
+
+        .byte   %11111111       ; 0A08 2-41: ********
+        .byte   %11111111       ; 0A09 2-41: ********
+        .byte   %11111111       ; 0A0A 2-41: ********
+        .byte   %11111111       ; 0A0B 2-41: ********
+        .byte   %11111111       ; 0A0C 2-41: ********
+        .byte   %11111111       ; 0A0D 2-41: ********
+        .byte   %11111111       ; 0A0E 2-41: ********
+        .byte   %11111111       ; 0A0F 2-41: ********
+
+        .byte   %11100111       ; 0A10 2-42: ***  ***
+        .byte   %11100111       ; 0A11 2-42: ***  ***
+        .byte   %11100111       ; 0A12 2-42: ***  ***
+        .byte   %11100111       ; 0A13 2-42: ***  ***
+        .byte   %11111111       ; 0A14 2-42: ********
+        .byte   %11111111       ; 0A15 2-42: ********
+        .byte   %11100111       ; 0A16 2-42: ***  ***
+        .byte   %11111111       ; 0A17 2-42: ********
+
+        .byte   %11100111       ; 0A18 2-43: ***  ***
+        .byte   %11100111       ; 0A19 2-43: ***  ***
+        .byte   %11100111       ; 0A1A 2-43: ***  ***
+        .byte   %11100111       ; 0A1B 2-43: ***  ***
+        .byte   %11111111       ; 0A1C 2-43: ********
+        .byte   %11111111       ; 0A1D 2-43: ********
+        .byte   %11100111       ; 0A1E 2-43: ***  ***
+        .byte   %11111111       ; 0A1F 2-43: ********
+
+        .byte   %10011001       ; 0A20 2-44: *  **  *
+        .byte   %10011001       ; 0A21 2-44: *  **  *
+        .byte   %10011001       ; 0A22 2-44: *  **  *
+        .byte   %11111111       ; 0A23 2-44: ********
+        .byte   %11111111       ; 0A24 2-44: ********
+        .byte   %11111111       ; 0A25 2-44: ********
+        .byte   %11111111       ; 0A26 2-44: ********
+        .byte   %11111111       ; 0A27 2-44: ********
+
+        .byte   %10011001       ; 0A28 2-45: *  **  *
+        .byte   %10011001       ; 0A29 2-45: *  **  *
+        .byte   %10011001       ; 0A2A 2-45: *  **  *
+        .byte   %11111111       ; 0A2B 2-45: ********
+        .byte   %11111111       ; 0A2C 2-45: ********
+        .byte   %11111111       ; 0A2D 2-45: ********
+        .byte   %11111111       ; 0A2E 2-45: ********
+        .byte   %11111111       ; 0A2F 2-45: ********
+
+        .byte   %10011001       ; 0A30 2-46: *  **  *
+        .byte   %10011001       ; 0A31 2-46: *  **  *
+        .byte   %00000000       ; 0A32 2-46:         
+        .byte   %10011001       ; 0A33 2-46: *  **  *
+        .byte   %00000000       ; 0A34 2-46:         
+        .byte   %10011001       ; 0A35 2-46: *  **  *
+        .byte   %10011001       ; 0A36 2-46: *  **  *
+        .byte   %11111111       ; 0A37 2-46: ********
+
+        .byte   %10011001       ; 0A38 2-47: *  **  *
+        .byte   %10011001       ; 0A39 2-47: *  **  *
+        .byte   %00000000       ; 0A3A 2-47:         
+        .byte   %10011001       ; 0A3B 2-47: *  **  *
+        .byte   %00000000       ; 0A3C 2-47:         
+        .byte   %10011001       ; 0A3D 2-47: *  **  *
+        .byte   %10011001       ; 0A3E 2-47: *  **  *
+        .byte   %11111111       ; 0A3F 2-47: ********
+
+        .byte   %11100111       ; 0A40 2-48: ***  ***
+        .byte   %11000001       ; 0A41 2-48: **     *
+        .byte   %10011111       ; 0A42 2-48: *  *****
+        .byte   %11000011       ; 0A43 2-48: **    **
+        .byte   %11111001       ; 0A44 2-48: *****  *
+        .byte   %10000011       ; 0A45 2-48: *     **
+        .byte   %11100111       ; 0A46 2-48: ***  ***
+        .byte   %11111111       ; 0A47 2-48: ********
+
+        .byte   %11100111       ; 0A48 2-49: ***  ***
+        .byte   %11000001       ; 0A49 2-49: **     *
+        .byte   %10011111       ; 0A4A 2-49: *  *****
+        .byte   %11000011       ; 0A4B 2-49: **    **
+        .byte   %11111001       ; 0A4C 2-49: *****  *
+        .byte   %10000011       ; 0A4D 2-49: *     **
+        .byte   %11100111       ; 0A4E 2-49: ***  ***
+        .byte   %11111111       ; 0A4F 2-49: ********
+
+        .byte   %11111111       ; 0A50 2-4a: ********
+        .byte   %10011001       ; 0A51 2-4a: *  **  *
+        .byte   %11110011       ; 0A52 2-4a: ****  **
+        .byte   %11100111       ; 0A53 2-4a: ***  ***
+        .byte   %11001111       ; 0A54 2-4a: **  ****
+        .byte   %10011001       ; 0A55 2-4a: *  **  *
+        .byte   %10111001       ; 0A56 2-4a: * ***  *
+        .byte   %11111111       ; 0A57 2-4a: ********
+
+        .byte   %11111111       ; 0A58 2-4b: ********
+        .byte   %10011001       ; 0A59 2-4b: *  **  *
+        .byte   %11110011       ; 0A5A 2-4b: ****  **
+        .byte   %11100111       ; 0A5B 2-4b: ***  ***
+        .byte   %11001111       ; 0A5C 2-4b: **  ****
+        .byte   %10011001       ; 0A5D 2-4b: *  **  *
+        .byte   %10111001       ; 0A5E 2-4b: * ***  *
+        .byte   %11111111       ; 0A5F 2-4b: ********
+
+        .byte   %11000011       ; 0A60 2-4c: **    **
+        .byte   %10011001       ; 0A61 2-4c: *  **  *
+        .byte   %11000011       ; 0A62 2-4c: **    **
+        .byte   %11000111       ; 0A63 2-4c: **   ***
+        .byte   %10011000       ; 0A64 2-4c: *  **   
+        .byte   %10011001       ; 0A65 2-4c: *  **  *
+        .byte   %11000000       ; 0A66 2-4c: **      
+        .byte   %11111111       ; 0A67 2-4c: ********
+
+        .byte   %11000011       ; 0A68 2-4d: **    **
+        .byte   %10011001       ; 0A69 2-4d: *  **  *
+        .byte   %11000011       ; 0A6A 2-4d: **    **
+        .byte   %11000111       ; 0A6B 2-4d: **   ***
+        .byte   %10011000       ; 0A6C 2-4d: *  **   
+        .byte   %10011001       ; 0A6D 2-4d: *  **  *
+        .byte   %11000000       ; 0A6E 2-4d: **      
+        .byte   %11111111       ; 0A6F 2-4d: ********
+
+        .byte   %11111001       ; 0A70 2-4e: *****  *
+        .byte   %11110011       ; 0A71 2-4e: ****  **
+        .byte   %11100111       ; 0A72 2-4e: ***  ***
+        .byte   %11111111       ; 0A73 2-4e: ********
+        .byte   %11111111       ; 0A74 2-4e: ********
+        .byte   %11111111       ; 0A75 2-4e: ********
+        .byte   %11111111       ; 0A76 2-4e: ********
+        .byte   %11111111       ; 0A77 2-4e: ********
+
+        .byte   %11111001       ; 0A78 2-4f: *****  *
+        .byte   %11110011       ; 0A79 2-4f: ****  **
+        .byte   %11100111       ; 0A7A 2-4f: ***  ***
+        .byte   %11111111       ; 0A7B 2-4f: ********
+        .byte   %11111111       ; 0A7C 2-4f: ********
+        .byte   %11111111       ; 0A7D 2-4f: ********
+        .byte   %11111111       ; 0A7E 2-4f: ********
+        .byte   %11111111       ; 0A7F 2-4f: ********
+
+        .byte   %11110011       ; 0A80 2-50: ****  **
+        .byte   %11100111       ; 0A81 2-50: ***  ***
+        .byte   %11001111       ; 0A82 2-50: **  ****
+        .byte   %11001111       ; 0A83 2-50: **  ****
+        .byte   %11001111       ; 0A84 2-50: **  ****
+        .byte   %11100111       ; 0A85 2-50: ***  ***
+        .byte   %11110011       ; 0A86 2-50: ****  **
+        .byte   %11111111       ; 0A87 2-50: ********
+
+        .byte   %11110011       ; 0A88 2-51: ****  **
+        .byte   %11100111       ; 0A89 2-51: ***  ***
+        .byte   %11001111       ; 0A8A 2-51: **  ****
+        .byte   %11001111       ; 0A8B 2-51: **  ****
+        .byte   %11001111       ; 0A8C 2-51: **  ****
+        .byte   %11100111       ; 0A8D 2-51: ***  ***
+        .byte   %11110011       ; 0A8E 2-51: ****  **
+        .byte   %11111111       ; 0A8F 2-51: ********
+
+        .byte   %11001111       ; 0A90 2-52: **  ****
+        .byte   %11100111       ; 0A91 2-52: ***  ***
+        .byte   %11110011       ; 0A92 2-52: ****  **
+        .byte   %11110011       ; 0A93 2-52: ****  **
+        .byte   %11110011       ; 0A94 2-52: ****  **
+        .byte   %11100111       ; 0A95 2-52: ***  ***
+        .byte   %11001111       ; 0A96 2-52: **  ****
+        .byte   %11111111       ; 0A97 2-52: ********
+
+        .byte   %11001111       ; 0A98 2-53: **  ****
+        .byte   %11100111       ; 0A99 2-53: ***  ***
+        .byte   %11110011       ; 0A9A 2-53: ****  **
+        .byte   %11110011       ; 0A9B 2-53: ****  **
+        .byte   %11110011       ; 0A9C 2-53: ****  **
+        .byte   %11100111       ; 0A9D 2-53: ***  ***
+        .byte   %11001111       ; 0A9E 2-53: **  ****
+        .byte   %11111111       ; 0A9F 2-53: ********
+
+        .byte   %11111111       ; 0AA0 2-54: ********
+        .byte   %10011001       ; 0AA1 2-54: *  **  *
+        .byte   %11000011       ; 0AA2 2-54: **    **
+        .byte   %00000000       ; 0AA3 2-54:         
+        .byte   %11000011       ; 0AA4 2-54: **    **
+        .byte   %10011001       ; 0AA5 2-54: *  **  *
+        .byte   %11111111       ; 0AA6 2-54: ********
+        .byte   %11111111       ; 0AA7 2-54: ********
+
+        .byte   %11111111       ; 0AA8 2-55: ********
+        .byte   %10011001       ; 0AA9 2-55: *  **  *
+        .byte   %11000011       ; 0AAA 2-55: **    **
+        .byte   %00000000       ; 0AAB 2-55:         
+        .byte   %11000011       ; 0AAC 2-55: **    **
+        .byte   %10011001       ; 0AAD 2-55: *  **  *
+        .byte   %11111111       ; 0AAE 2-55: ********
+        .byte   %11111111       ; 0AAF 2-55: ********
+
+        .byte   %11111111       ; 0AB0 2-56: ********
+        .byte   %11100111       ; 0AB1 2-56: ***  ***
+        .byte   %11100111       ; 0AB2 2-56: ***  ***
+        .byte   %10000001       ; 0AB3 2-56: *      *
+        .byte   %11100111       ; 0AB4 2-56: ***  ***
+        .byte   %11100111       ; 0AB5 2-56: ***  ***
+        .byte   %11111111       ; 0AB6 2-56: ********
+        .byte   %11111111       ; 0AB7 2-56: ********
+
+        .byte   %11111111       ; 0AB8 2-57: ********
+        .byte   %11100111       ; 0AB9 2-57: ***  ***
+        .byte   %11100111       ; 0ABA 2-57: ***  ***
+        .byte   %10000001       ; 0ABB 2-57: *      *
+        .byte   %11100111       ; 0ABC 2-57: ***  ***
+        .byte   %11100111       ; 0ABD 2-57: ***  ***
+        .byte   %11111111       ; 0ABE 2-57: ********
+        .byte   %11111111       ; 0ABF 2-57: ********
+
+        .byte   %11111111       ; 0AC0 2-58: ********
+        .byte   %11111111       ; 0AC1 2-58: ********
+        .byte   %11111111       ; 0AC2 2-58: ********
+        .byte   %11111111       ; 0AC3 2-58: ********
+        .byte   %11111111       ; 0AC4 2-58: ********
+        .byte   %11100111       ; 0AC5 2-58: ***  ***
+        .byte   %11100111       ; 0AC6 2-58: ***  ***
+        .byte   %11001111       ; 0AC7 2-58: **  ****
+
+        .byte   %11111111       ; 0AC8 2-59: ********
+        .byte   %11111111       ; 0AC9 2-59: ********
+        .byte   %11111111       ; 0ACA 2-59: ********
+        .byte   %11111111       ; 0ACB 2-59: ********
+        .byte   %11111111       ; 0ACC 2-59: ********
+        .byte   %11100111       ; 0ACD 2-59: ***  ***
+        .byte   %11100111       ; 0ACE 2-59: ***  ***
+        .byte   %11001111       ; 0ACF 2-59: **  ****
+
+        .byte   %11111111       ; 0AD0 2-5a: ********
+        .byte   %11111111       ; 0AD1 2-5a: ********
+        .byte   %11111111       ; 0AD2 2-5a: ********
+        .byte   %10000001       ; 0AD3 2-5a: *      *
+        .byte   %11111111       ; 0AD4 2-5a: ********
+        .byte   %11111111       ; 0AD5 2-5a: ********
+        .byte   %11111111       ; 0AD6 2-5a: ********
+        .byte   %11111111       ; 0AD7 2-5a: ********
+
+        .byte   %11111111       ; 0AD8 2-5b: ********
+        .byte   %11111111       ; 0AD9 2-5b: ********
+        .byte   %11111111       ; 0ADA 2-5b: ********
+        .byte   %10000001       ; 0ADB 2-5b: *      *
+        .byte   %11111111       ; 0ADC 2-5b: ********
+        .byte   %11111111       ; 0ADD 2-5b: ********
+        .byte   %11111111       ; 0ADE 2-5b: ********
+        .byte   %11111111       ; 0ADF 2-5b: ********
+
+        .byte   %11111111       ; 0AE0 2-5c: ********
+        .byte   %11111111       ; 0AE1 2-5c: ********
+        .byte   %11111111       ; 0AE2 2-5c: ********
+        .byte   %11111111       ; 0AE3 2-5c: ********
+        .byte   %11111111       ; 0AE4 2-5c: ********
+        .byte   %11100111       ; 0AE5 2-5c: ***  ***
+        .byte   %11100111       ; 0AE6 2-5c: ***  ***
+        .byte   %11111111       ; 0AE7 2-5c: ********
+
+        .byte   %11111111       ; 0AE8 2-5d: ********
+        .byte   %11111111       ; 0AE9 2-5d: ********
+        .byte   %11111111       ; 0AEA 2-5d: ********
+        .byte   %11111111       ; 0AEB 2-5d: ********
+        .byte   %11111111       ; 0AEC 2-5d: ********
+        .byte   %11100111       ; 0AED 2-5d: ***  ***
+        .byte   %11100111       ; 0AEE 2-5d: ***  ***
+        .byte   %11111111       ; 0AEF 2-5d: ********
+
+        .byte   %11111111       ; 0AF0 2-5e: ********
+        .byte   %11111100       ; 0AF1 2-5e: ******  
+        .byte   %11111001       ; 0AF2 2-5e: *****  *
+        .byte   %11110011       ; 0AF3 2-5e: ****  **
+        .byte   %11100111       ; 0AF4 2-5e: ***  ***
+        .byte   %11001111       ; 0AF5 2-5e: **  ****
+        .byte   %10011111       ; 0AF6 2-5e: *  *****
+        .byte   %11111111       ; 0AF7 2-5e: ********
+
+        .byte   %11111111       ; 0AF8 2-5f: ********
+        .byte   %11111100       ; 0AF9 2-5f: ******  
+        .byte   %11111001       ; 0AFA 2-5f: *****  *
+        .byte   %11110011       ; 0AFB 2-5f: ****  **
+        .byte   %11100111       ; 0AFC 2-5f: ***  ***
+        .byte   %11001111       ; 0AFD 2-5f: **  ****
+        .byte   %10011111       ; 0AFE 2-5f: *  *****
+        .byte   %11111111       ; 0AFF 2-5f: ********
+
+        .byte   %11000011       ; 0B00 2-60: **    **
+        .byte   %10011001       ; 0B01 2-60: *  **  *
+        .byte   %10010001       ; 0B02 2-60: *  *   *
+        .byte   %10001001       ; 0B03 2-60: *   *  *
+        .byte   %10011001       ; 0B04 2-60: *  **  *
+        .byte   %10011001       ; 0B05 2-60: *  **  *
+        .byte   %11000011       ; 0B06 2-60: **    **
+        .byte   %11111111       ; 0B07 2-60: ********
+
+        .byte   %11000011       ; 0B08 2-61: **    **
+        .byte   %10011001       ; 0B09 2-61: *  **  *
+        .byte   %10010001       ; 0B0A 2-61: *  *   *
+        .byte   %10001001       ; 0B0B 2-61: *   *  *
+        .byte   %10011001       ; 0B0C 2-61: *  **  *
+        .byte   %10011001       ; 0B0D 2-61: *  **  *
+        .byte   %11000011       ; 0B0E 2-61: **    **
+        .byte   %11111111       ; 0B0F 2-61: ********
+
+        .byte   %11100111       ; 0B10 2-62: ***  ***
+        .byte   %11100111       ; 0B11 2-62: ***  ***
+        .byte   %11000111       ; 0B12 2-62: **   ***
+        .byte   %11100111       ; 0B13 2-62: ***  ***
+        .byte   %11100111       ; 0B14 2-62: ***  ***
+        .byte   %11100111       ; 0B15 2-62: ***  ***
+        .byte   %10000001       ; 0B16 2-62: *      *
+        .byte   %11111111       ; 0B17 2-62: ********
+
+        .byte   %11100111       ; 0B18 2-63: ***  ***
+        .byte   %11100111       ; 0B19 2-63: ***  ***
+        .byte   %11000111       ; 0B1A 2-63: **   ***
+        .byte   %11100111       ; 0B1B 2-63: ***  ***
+        .byte   %11100111       ; 0B1C 2-63: ***  ***
+        .byte   %11100111       ; 0B1D 2-63: ***  ***
+        .byte   %10000001       ; 0B1E 2-63: *      *
+        .byte   %11111111       ; 0B1F 2-63: ********
+
+        .byte   %11000011       ; 0B20 2-64: **    **
+        .byte   %10011001       ; 0B21 2-64: *  **  *
+        .byte   %11111001       ; 0B22 2-64: *****  *
+        .byte   %11110011       ; 0B23 2-64: ****  **
+        .byte   %11001111       ; 0B24 2-64: **  ****
+        .byte   %10011111       ; 0B25 2-64: *  *****
+        .byte   %10000001       ; 0B26 2-64: *      *
+        .byte   %11111111       ; 0B27 2-64: ********
+
+        .byte   %11000011       ; 0B28 2-65: **    **
+        .byte   %10011001       ; 0B29 2-65: *  **  *
+        .byte   %11111001       ; 0B2A 2-65: *****  *
+        .byte   %11110011       ; 0B2B 2-65: ****  **
+        .byte   %11001111       ; 0B2C 2-65: **  ****
+        .byte   %10011111       ; 0B2D 2-65: *  *****
+        .byte   %10000001       ; 0B2E 2-65: *      *
+        .byte   %11111111       ; 0B2F 2-65: ********
+
+        .byte   %11000011       ; 0B30 2-66: **    **
+        .byte   %10011001       ; 0B31 2-66: *  **  *
+        .byte   %11111001       ; 0B32 2-66: *****  *
+        .byte   %11100011       ; 0B33 2-66: ***   **
+        .byte   %11111001       ; 0B34 2-66: *****  *
+        .byte   %10011001       ; 0B35 2-66: *  **  *
+        .byte   %11000011       ; 0B36 2-66: **    **
+        .byte   %11111111       ; 0B37 2-66: ********
+
+        .byte   %11000011       ; 0B38 2-67: **    **
+        .byte   %10011001       ; 0B39 2-67: *  **  *
+        .byte   %11111001       ; 0B3A 2-67: *****  *
+        .byte   %11100011       ; 0B3B 2-67: ***   **
+        .byte   %11111001       ; 0B3C 2-67: *****  *
+        .byte   %10011001       ; 0B3D 2-67: *  **  *
+        .byte   %11000011       ; 0B3E 2-67: **    **
+        .byte   %11111111       ; 0B3F 2-67: ********
+
+        .byte   %11111001       ; 0B40 2-68: *****  *
+        .byte   %11110001       ; 0B41 2-68: ****   *
+        .byte   %11100001       ; 0B42 2-68: ***    *
+        .byte   %10011001       ; 0B43 2-68: *  **  *
+        .byte   %10000000       ; 0B44 2-68: *       
+        .byte   %11111001       ; 0B45 2-68: *****  *
+        .byte   %11111001       ; 0B46 2-68: *****  *
+        .byte   %11111111       ; 0B47 2-68: ********
+
+        .byte   %11111001       ; 0B48 2-69: *****  *
+        .byte   %11110001       ; 0B49 2-69: ****   *
+        .byte   %11100001       ; 0B4A 2-69: ***    *
+        .byte   %10011001       ; 0B4B 2-69: *  **  *
+        .byte   %10000000       ; 0B4C 2-69: *       
+        .byte   %11111001       ; 0B4D 2-69: *****  *
+        .byte   %11111001       ; 0B4E 2-69: *****  *
+        .byte   %11111111       ; 0B4F 2-69: ********
+
+        .byte   %10000001       ; 0B50 2-6a: *      *
+        .byte   %10011111       ; 0B51 2-6a: *  *****
+        .byte   %10000011       ; 0B52 2-6a: *     **
+        .byte   %11111001       ; 0B53 2-6a: *****  *
+        .byte   %11111001       ; 0B54 2-6a: *****  *
+        .byte   %10011001       ; 0B55 2-6a: *  **  *
+        .byte   %11000011       ; 0B56 2-6a: **    **
+        .byte   %11111111       ; 0B57 2-6a: ********
+
+        .byte   %10000001       ; 0B58 2-6b: *      *
+        .byte   %10011111       ; 0B59 2-6b: *  *****
+        .byte   %10000011       ; 0B5A 2-6b: *     **
+        .byte   %11111001       ; 0B5B 2-6b: *****  *
+        .byte   %11111001       ; 0B5C 2-6b: *****  *
+        .byte   %10011001       ; 0B5D 2-6b: *  **  *
+        .byte   %11000011       ; 0B5E 2-6b: **    **
+        .byte   %11111111       ; 0B5F 2-6b: ********
+
+        .byte   %11000011       ; 0B60 2-6c: **    **
+        .byte   %10011001       ; 0B61 2-6c: *  **  *
+        .byte   %10011111       ; 0B62 2-6c: *  *****
+        .byte   %10000011       ; 0B63 2-6c: *     **
+        .byte   %10011001       ; 0B64 2-6c: *  **  *
+        .byte   %10011001       ; 0B65 2-6c: *  **  *
+        .byte   %11000011       ; 0B66 2-6c: **    **
+        .byte   %11111111       ; 0B67 2-6c: ********
+
+        .byte   %11000011       ; 0B68 2-6d: **    **
+        .byte   %10011001       ; 0B69 2-6d: *  **  *
+        .byte   %10011111       ; 0B6A 2-6d: *  *****
+        .byte   %10000011       ; 0B6B 2-6d: *     **
+        .byte   %10011001       ; 0B6C 2-6d: *  **  *
+        .byte   %10011001       ; 0B6D 2-6d: *  **  *
+        .byte   %11000011       ; 0B6E 2-6d: **    **
+        .byte   %11111111       ; 0B6F 2-6d: ********
+
+        .byte   %10000001       ; 0B70 2-6e: *      *
+        .byte   %10011001       ; 0B71 2-6e: *  **  *
+        .byte   %11110011       ; 0B72 2-6e: ****  **
+        .byte   %11100111       ; 0B73 2-6e: ***  ***
+        .byte   %11100111       ; 0B74 2-6e: ***  ***
+        .byte   %11100111       ; 0B75 2-6e: ***  ***
+        .byte   %11100111       ; 0B76 2-6e: ***  ***
+        .byte   %11111111       ; 0B77 2-6e: ********
+
+        .byte   %10000001       ; 0B78 2-6f: *      *
+        .byte   %10011001       ; 0B79 2-6f: *  **  *
+        .byte   %11110011       ; 0B7A 2-6f: ****  **
+        .byte   %11100111       ; 0B7B 2-6f: ***  ***
+        .byte   %11100111       ; 0B7C 2-6f: ***  ***
+        .byte   %11100111       ; 0B7D 2-6f: ***  ***
+        .byte   %11100111       ; 0B7E 2-6f: ***  ***
+        .byte   %11111111       ; 0B7F 2-6f: ********
+
+        .byte   %11000011       ; 0B80 2-70: **    **
+        .byte   %10011001       ; 0B81 2-70: *  **  *
+        .byte   %10011001       ; 0B82 2-70: *  **  *
+        .byte   %11000011       ; 0B83 2-70: **    **
+        .byte   %10011001       ; 0B84 2-70: *  **  *
+        .byte   %10011001       ; 0B85 2-70: *  **  *
+        .byte   %11000011       ; 0B86 2-70: **    **
+        .byte   %11111111       ; 0B87 2-70: ********
+
+        .byte   %11000011       ; 0B88 2-71: **    **
+        .byte   %10011001       ; 0B89 2-71: *  **  *
+        .byte   %10011001       ; 0B8A 2-71: *  **  *
+        .byte   %11000011       ; 0B8B 2-71: **    **
+        .byte   %10011001       ; 0B8C 2-71: *  **  *
+        .byte   %10011001       ; 0B8D 2-71: *  **  *
+        .byte   %11000011       ; 0B8E 2-71: **    **
+        .byte   %11111111       ; 0B8F 2-71: ********
+
+        .byte   %11000011       ; 0B90 2-72: **    **
+        .byte   %10011001       ; 0B91 2-72: *  **  *
+        .byte   %10011001       ; 0B92 2-72: *  **  *
+        .byte   %11000001       ; 0B93 2-72: **     *
+        .byte   %11111001       ; 0B94 2-72: *****  *
+        .byte   %10011001       ; 0B95 2-72: *  **  *
+        .byte   %11000011       ; 0B96 2-72: **    **
+        .byte   %11111111       ; 0B97 2-72: ********
+
+        .byte   %11000011       ; 0B98 2-73: **    **
+        .byte   %10011001       ; 0B99 2-73: *  **  *
+        .byte   %10011001       ; 0B9A 2-73: *  **  *
+        .byte   %11000001       ; 0B9B 2-73: **     *
+        .byte   %11111001       ; 0B9C 2-73: *****  *
+        .byte   %10011001       ; 0B9D 2-73: *  **  *
+        .byte   %11000011       ; 0B9E 2-73: **    **
+        .byte   %11111111       ; 0B9F 2-73: ********
+
+        .byte   %11111111       ; 0BA0 2-74: ********
+        .byte   %11111111       ; 0BA1 2-74: ********
+        .byte   %11100111       ; 0BA2 2-74: ***  ***
+        .byte   %11111111       ; 0BA3 2-74: ********
+        .byte   %11111111       ; 0BA4 2-74: ********
+        .byte   %11100111       ; 0BA5 2-74: ***  ***
+        .byte   %11111111       ; 0BA6 2-74: ********
+        .byte   %11111111       ; 0BA7 2-74: ********
+
+        .byte   %11111111       ; 0BA8 2-75: ********
+        .byte   %11111111       ; 0BA9 2-75: ********
+        .byte   %11100111       ; 0BAA 2-75: ***  ***
+        .byte   %11111111       ; 0BAB 2-75: ********
+        .byte   %11111111       ; 0BAC 2-75: ********
+        .byte   %11100111       ; 0BAD 2-75: ***  ***
+        .byte   %11111111       ; 0BAE 2-75: ********
+        .byte   %11111111       ; 0BAF 2-75: ********
+
+        .byte   %11111111       ; 0BB0 2-76: ********
+        .byte   %11111111       ; 0BB1 2-76: ********
+        .byte   %11100111       ; 0BB2 2-76: ***  ***
+        .byte   %11111111       ; 0BB3 2-76: ********
+        .byte   %11111111       ; 0BB4 2-76: ********
+        .byte   %11100111       ; 0BB5 2-76: ***  ***
+        .byte   %11100111       ; 0BB6 2-76: ***  ***
+        .byte   %11001111       ; 0BB7 2-76: **  ****
+
+        .byte   %11111111       ; 0BB8 2-77: ********
+        .byte   %11111111       ; 0BB9 2-77: ********
+        .byte   %11100111       ; 0BBA 2-77: ***  ***
+        .byte   %11111111       ; 0BBB 2-77: ********
+        .byte   %11111111       ; 0BBC 2-77: ********
+        .byte   %11100111       ; 0BBD 2-77: ***  ***
+        .byte   %11100111       ; 0BBE 2-77: ***  ***
+        .byte   %11001111       ; 0BBF 2-77: **  ****
+
+        .byte   %11110001       ; 0BC0 2-78: ****   *
+        .byte   %11100111       ; 0BC1 2-78: ***  ***
+        .byte   %11001111       ; 0BC2 2-78: **  ****
+        .byte   %10011111       ; 0BC3 2-78: *  *****
+        .byte   %11001111       ; 0BC4 2-78: **  ****
+        .byte   %11100111       ; 0BC5 2-78: ***  ***
+        .byte   %11110001       ; 0BC6 2-78: ****   *
+        .byte   %11111111       ; 0BC7 2-78: ********
+
+        .byte   %11110001       ; 0BC8 2-79: ****   *
+        .byte   %11100111       ; 0BC9 2-79: ***  ***
+        .byte   %11001111       ; 0BCA 2-79: **  ****
+        .byte   %10011111       ; 0BCB 2-79: *  *****
+        .byte   %11001111       ; 0BCC 2-79: **  ****
+        .byte   %11100111       ; 0BCD 2-79: ***  ***
+        .byte   %11110001       ; 0BCE 2-79: ****   *
+        .byte   %11111111       ; 0BCF 2-79: ********
+
+        .byte   %11111111       ; 0BD0 2-7a: ********
+        .byte   %11111111       ; 0BD1 2-7a: ********
+        .byte   %10000001       ; 0BD2 2-7a: *      *
+        .byte   %11111111       ; 0BD3 2-7a: ********
+        .byte   %10000001       ; 0BD4 2-7a: *      *
+        .byte   %11111111       ; 0BD5 2-7a: ********
+        .byte   %11111111       ; 0BD6 2-7a: ********
+        .byte   %11111111       ; 0BD7 2-7a: ********
+
+        .byte   %11111111       ; 0BD8 2-7b: ********
+        .byte   %11111111       ; 0BD9 2-7b: ********
+        .byte   %10000001       ; 0BDA 2-7b: *      *
+        .byte   %11111111       ; 0BDB 2-7b: ********
+        .byte   %10000001       ; 0BDC 2-7b: *      *
+        .byte   %11111111       ; 0BDD 2-7b: ********
+        .byte   %11111111       ; 0BDE 2-7b: ********
+        .byte   %11111111       ; 0BDF 2-7b: ********
+
+        .byte   %10001111       ; 0BE0 2-7c: *   ****
+        .byte   %11100111       ; 0BE1 2-7c: ***  ***
+        .byte   %11110011       ; 0BE2 2-7c: ****  **
+        .byte   %11111001       ; 0BE3 2-7c: *****  *
+        .byte   %11110011       ; 0BE4 2-7c: ****  **
+        .byte   %11100111       ; 0BE5 2-7c: ***  ***
+        .byte   %10001111       ; 0BE6 2-7c: *   ****
+        .byte   %11111111       ; 0BE7 2-7c: ********
+
+        .byte   %10001111       ; 0BE8 2-7d: *   ****
+        .byte   %11100111       ; 0BE9 2-7d: ***  ***
+        .byte   %11110011       ; 0BEA 2-7d: ****  **
+        .byte   %11111001       ; 0BEB 2-7d: *****  *
+        .byte   %11110011       ; 0BEC 2-7d: ****  **
+        .byte   %11100111       ; 0BED 2-7d: ***  ***
+        .byte   %10001111       ; 0BEE 2-7d: *   ****
+        .byte   %11111111       ; 0BEF 2-7d: ********
+
+        .byte   %11000011       ; 0BF0 2-7e: **    **
+        .byte   %10011001       ; 0BF1 2-7e: *  **  *
+        .byte   %11111001       ; 0BF2 2-7e: *****  *
+        .byte   %11110011       ; 0BF3 2-7e: ****  **
+        .byte   %11100111       ; 0BF4 2-7e: ***  ***
+        .byte   %11111111       ; 0BF5 2-7e: ********
+        .byte   %11100111       ; 0BF6 2-7e: ***  ***
+        .byte   %11111111       ; 0BF7 2-7e: ********
+
+        .byte   %11000011       ; 0BF8 2-7f: **    **
+        .byte   %10011001       ; 0BF9 2-7f: *  **  *
+        .byte   %11111001       ; 0BFA 2-7f: *****  *
+        .byte   %11110011       ; 0BFB 2-7f: ****  **
+        .byte   %11100111       ; 0BFC 2-7f: ***  ***
+        .byte   %11111111       ; 0BFD 2-7f: ********
+        .byte   %11100111       ; 0BFE 2-7f: ***  ***
+        .byte   %11111111       ; 0BFF 2-7f: ********
+
+        .byte   %11000011       ; 0C00 2-80: **    **
+        .byte   %10011001       ; 0C01 2-80: *  **  *
+        .byte   %10010001       ; 0C02 2-80: *  *   *
+        .byte   %10010001       ; 0C03 2-80: *  *   *
+        .byte   %10011111       ; 0C04 2-80: *  *****
+        .byte   %10011101       ; 0C05 2-80: *  *** *
+        .byte   %11000011       ; 0C06 2-80: **    **
+        .byte   %11111111       ; 0C07 2-80: ********
+
+        .byte   %11000011       ; 0C08 2-81: **    **
+        .byte   %10011001       ; 0C09 2-81: *  **  *
+        .byte   %10010001       ; 0C0A 2-81: *  *   *
+        .byte   %10010001       ; 0C0B 2-81: *  *   *
+        .byte   %10011111       ; 0C0C 2-81: *  *****
+        .byte   %10011101       ; 0C0D 2-81: *  *** *
+        .byte   %11000011       ; 0C0E 2-81: **    **
+        .byte   %11111111       ; 0C0F 2-81: ********
+
+        .byte   %11100111       ; 0C10 2-82: ***  ***
+        .byte   %11000011       ; 0C11 2-82: **    **
+        .byte   %10011001       ; 0C12 2-82: *  **  *
+        .byte   %10000001       ; 0C13 2-82: *      *
+        .byte   %10011001       ; 0C14 2-82: *  **  *
+        .byte   %10011001       ; 0C15 2-82: *  **  *
+        .byte   %10011001       ; 0C16 2-82: *  **  *
+        .byte   %11111111       ; 0C17 2-82: ********
+
+        .byte   %11100111       ; 0C18 2-83: ***  ***
+        .byte   %11000011       ; 0C19 2-83: **    **
+        .byte   %10011001       ; 0C1A 2-83: *  **  *
+        .byte   %10000001       ; 0C1B 2-83: *      *
+        .byte   %10011001       ; 0C1C 2-83: *  **  *
+        .byte   %10011001       ; 0C1D 2-83: *  **  *
+        .byte   %10011001       ; 0C1E 2-83: *  **  *
+        .byte   %11111111       ; 0C1F 2-83: ********
+
+        .byte   %10000011       ; 0C20 2-84: *     **
+        .byte   %10011001       ; 0C21 2-84: *  **  *
+        .byte   %10011001       ; 0C22 2-84: *  **  *
+        .byte   %10000011       ; 0C23 2-84: *     **
+        .byte   %10011001       ; 0C24 2-84: *  **  *
+        .byte   %10011001       ; 0C25 2-84: *  **  *
+        .byte   %10000011       ; 0C26 2-84: *     **
+        .byte   %11111111       ; 0C27 2-84: ********
+
+        .byte   %10000011       ; 0C28 2-85: *     **
+        .byte   %10011001       ; 0C29 2-85: *  **  *
+        .byte   %10011001       ; 0C2A 2-85: *  **  *
+        .byte   %10000011       ; 0C2B 2-85: *     **
+        .byte   %10011001       ; 0C2C 2-85: *  **  *
+        .byte   %10011001       ; 0C2D 2-85: *  **  *
+        .byte   %10000011       ; 0C2E 2-85: *     **
+        .byte   %11111111       ; 0C2F 2-85: ********
+
+        .byte   %11000011       ; 0C30 2-86: **    **
+        .byte   %10011001       ; 0C31 2-86: *  **  *
+        .byte   %10011111       ; 0C32 2-86: *  *****
+        .byte   %10011111       ; 0C33 2-86: *  *****
+        .byte   %10011111       ; 0C34 2-86: *  *****
+        .byte   %10011001       ; 0C35 2-86: *  **  *
+        .byte   %11000011       ; 0C36 2-86: **    **
+        .byte   %11111111       ; 0C37 2-86: ********
+
+        .byte   %11000011       ; 0C38 2-87: **    **
+        .byte   %10011001       ; 0C39 2-87: *  **  *
+        .byte   %10011111       ; 0C3A 2-87: *  *****
+        .byte   %10011111       ; 0C3B 2-87: *  *****
+        .byte   %10011111       ; 0C3C 2-87: *  *****
+        .byte   %10011001       ; 0C3D 2-87: *  **  *
+        .byte   %11000011       ; 0C3E 2-87: **    **
+        .byte   %11111111       ; 0C3F 2-87: ********
+
+        .byte   %10000111       ; 0C40 2-88: *    ***
+        .byte   %10010011       ; 0C41 2-88: *  *  **
+        .byte   %10011001       ; 0C42 2-88: *  **  *
+        .byte   %10011001       ; 0C43 2-88: *  **  *
+        .byte   %10011001       ; 0C44 2-88: *  **  *
+        .byte   %10010011       ; 0C45 2-88: *  *  **
+        .byte   %10000111       ; 0C46 2-88: *    ***
+        .byte   %11111111       ; 0C47 2-88: ********
+
+        .byte   %10000111       ; 0C48 2-89: *    ***
+        .byte   %10010011       ; 0C49 2-89: *  *  **
+        .byte   %10011001       ; 0C4A 2-89: *  **  *
+        .byte   %10011001       ; 0C4B 2-89: *  **  *
+        .byte   %10011001       ; 0C4C 2-89: *  **  *
+        .byte   %10010011       ; 0C4D 2-89: *  *  **
+        .byte   %10000111       ; 0C4E 2-89: *    ***
+        .byte   %11111111       ; 0C4F 2-89: ********
+
+        .byte   %10000001       ; 0C50 2-8a: *      *
+        .byte   %10011111       ; 0C51 2-8a: *  *****
+        .byte   %10011111       ; 0C52 2-8a: *  *****
+        .byte   %10000111       ; 0C53 2-8a: *    ***
+        .byte   %10011111       ; 0C54 2-8a: *  *****
+        .byte   %10011111       ; 0C55 2-8a: *  *****
+        .byte   %10000001       ; 0C56 2-8a: *      *
+        .byte   %11111111       ; 0C57 2-8a: ********
+
+        .byte   %10000001       ; 0C58 2-8b: *      *
+        .byte   %10011111       ; 0C59 2-8b: *  *****
+        .byte   %10011111       ; 0C5A 2-8b: *  *****
+        .byte   %10000111       ; 0C5B 2-8b: *    ***
+        .byte   %10011111       ; 0C5C 2-8b: *  *****
+        .byte   %10011111       ; 0C5D 2-8b: *  *****
+        .byte   %10000001       ; 0C5E 2-8b: *      *
+        .byte   %11111111       ; 0C5F 2-8b: ********
+
+        .byte   %10000001       ; 0C60 2-8c: *      *
+        .byte   %10011111       ; 0C61 2-8c: *  *****
+        .byte   %10011111       ; 0C62 2-8c: *  *****
+        .byte   %10000111       ; 0C63 2-8c: *    ***
+        .byte   %10011111       ; 0C64 2-8c: *  *****
+        .byte   %10011111       ; 0C65 2-8c: *  *****
+        .byte   %10011111       ; 0C66 2-8c: *  *****
+        .byte   %11111111       ; 0C67 2-8c: ********
+
+        .byte   %10000001       ; 0C68 2-8d: *      *
+        .byte   %10011111       ; 0C69 2-8d: *  *****
+        .byte   %10011111       ; 0C6A 2-8d: *  *****
+        .byte   %10000111       ; 0C6B 2-8d: *    ***
+        .byte   %10011111       ; 0C6C 2-8d: *  *****
+        .byte   %10011111       ; 0C6D 2-8d: *  *****
+        .byte   %10011111       ; 0C6E 2-8d: *  *****
+        .byte   %11111111       ; 0C6F 2-8d: ********
+
+        .byte   %11000011       ; 0C70 2-8e: **    **
+        .byte   %10011001       ; 0C71 2-8e: *  **  *
+        .byte   %10011111       ; 0C72 2-8e: *  *****
+        .byte   %10010001       ; 0C73 2-8e: *  *   *
+        .byte   %10011001       ; 0C74 2-8e: *  **  *
+        .byte   %10011001       ; 0C75 2-8e: *  **  *
+        .byte   %11000011       ; 0C76 2-8e: **    **
+        .byte   %11111111       ; 0C77 2-8e: ********
+
+        .byte   %11000011       ; 0C78 2-8f: **    **
+        .byte   %10011001       ; 0C79 2-8f: *  **  *
+        .byte   %10011111       ; 0C7A 2-8f: *  *****
+        .byte   %10010001       ; 0C7B 2-8f: *  *   *
+        .byte   %10011001       ; 0C7C 2-8f: *  **  *
+        .byte   %10011001       ; 0C7D 2-8f: *  **  *
+        .byte   %11000011       ; 0C7E 2-8f: **    **
+        .byte   %11111111       ; 0C7F 2-8f: ********
+
+        .byte   %10011001       ; 0C80 2-90: *  **  *
+        .byte   %10011001       ; 0C81 2-90: *  **  *
+        .byte   %10011001       ; 0C82 2-90: *  **  *
+        .byte   %10000001       ; 0C83 2-90: *      *
+        .byte   %10011001       ; 0C84 2-90: *  **  *
+        .byte   %10011001       ; 0C85 2-90: *  **  *
+        .byte   %10011001       ; 0C86 2-90: *  **  *
+        .byte   %11111111       ; 0C87 2-90: ********
+
+        .byte   %10011001       ; 0C88 2-91: *  **  *
+        .byte   %10011001       ; 0C89 2-91: *  **  *
+        .byte   %10011001       ; 0C8A 2-91: *  **  *
+        .byte   %10000001       ; 0C8B 2-91: *      *
+        .byte   %10011001       ; 0C8C 2-91: *  **  *
+        .byte   %10011001       ; 0C8D 2-91: *  **  *
+        .byte   %10011001       ; 0C8E 2-91: *  **  *
+        .byte   %11111111       ; 0C8F 2-91: ********
+
+        .byte   %11000011       ; 0C90 2-92: **    **
+        .byte   %11100111       ; 0C91 2-92: ***  ***
+        .byte   %11100111       ; 0C92 2-92: ***  ***
+        .byte   %11100111       ; 0C93 2-92: ***  ***
+        .byte   %11100111       ; 0C94 2-92: ***  ***
+        .byte   %11100111       ; 0C95 2-92: ***  ***
+        .byte   %11000011       ; 0C96 2-92: **    **
+        .byte   %11111111       ; 0C97 2-92: ********
+
+        .byte   %11000011       ; 0C98 2-93: **    **
+        .byte   %11100111       ; 0C99 2-93: ***  ***
+        .byte   %11100111       ; 0C9A 2-93: ***  ***
+        .byte   %11100111       ; 0C9B 2-93: ***  ***
+        .byte   %11100111       ; 0C9C 2-93: ***  ***
+        .byte   %11100111       ; 0C9D 2-93: ***  ***
+        .byte   %11000011       ; 0C9E 2-93: **    **
+        .byte   %11111111       ; 0C9F 2-93: ********
+
+        .byte   %11100001       ; 0CA0 2-94: ***    *
+        .byte   %11110011       ; 0CA1 2-94: ****  **
+        .byte   %11110011       ; 0CA2 2-94: ****  **
+        .byte   %11110011       ; 0CA3 2-94: ****  **
+        .byte   %11110011       ; 0CA4 2-94: ****  **
+        .byte   %10010011       ; 0CA5 2-94: *  *  **
+        .byte   %11000111       ; 0CA6 2-94: **   ***
+        .byte   %11111111       ; 0CA7 2-94: ********
+
+        .byte   %11100001       ; 0CA8 2-95: ***    *
+        .byte   %11110011       ; 0CA9 2-95: ****  **
+        .byte   %11110011       ; 0CAA 2-95: ****  **
+        .byte   %11110011       ; 0CAB 2-95: ****  **
+        .byte   %11110011       ; 0CAC 2-95: ****  **
+        .byte   %10010011       ; 0CAD 2-95: *  *  **
+        .byte   %11000111       ; 0CAE 2-95: **   ***
+        .byte   %11111111       ; 0CAF 2-95: ********
+
+        .byte   %10011001       ; 0CB0 2-96: *  **  *
+        .byte   %10010011       ; 0CB1 2-96: *  *  **
+        .byte   %10000111       ; 0CB2 2-96: *    ***
+        .byte   %10001111       ; 0CB3 2-96: *   ****
+        .byte   %10000111       ; 0CB4 2-96: *    ***
+        .byte   %10010011       ; 0CB5 2-96: *  *  **
+        .byte   %10011001       ; 0CB6 2-96: *  **  *
+        .byte   %11111111       ; 0CB7 2-96: ********
+
+        .byte   %10011001       ; 0CB8 2-97: *  **  *
+        .byte   %10010011       ; 0CB9 2-97: *  *  **
+        .byte   %10000111       ; 0CBA 2-97: *    ***
+        .byte   %10001111       ; 0CBB 2-97: *   ****
+        .byte   %10000111       ; 0CBC 2-97: *    ***
+        .byte   %10010011       ; 0CBD 2-97: *  *  **
+        .byte   %10011001       ; 0CBE 2-97: *  **  *
+        .byte   %11111111       ; 0CBF 2-97: ********
+
+        .byte   %10011111       ; 0CC0 2-98: *  *****
+        .byte   %10011111       ; 0CC1 2-98: *  *****
+        .byte   %10011111       ; 0CC2 2-98: *  *****
+        .byte   %10011111       ; 0CC3 2-98: *  *****
+        .byte   %10011111       ; 0CC4 2-98: *  *****
+        .byte   %10011111       ; 0CC5 2-98: *  *****
+        .byte   %10000001       ; 0CC6 2-98: *      *
+        .byte   %11111111       ; 0CC7 2-98: ********
+
+        .byte   %10011111       ; 0CC8 2-99: *  *****
+        .byte   %10011111       ; 0CC9 2-99: *  *****
+        .byte   %10011111       ; 0CCA 2-99: *  *****
+        .byte   %10011111       ; 0CCB 2-99: *  *****
+        .byte   %10011111       ; 0CCC 2-99: *  *****
+        .byte   %10011111       ; 0CCD 2-99: *  *****
+        .byte   %10000001       ; 0CCE 2-99: *      *
+        .byte   %11111111       ; 0CCF 2-99: ********
+
+        .byte   %10011100       ; 0CD0 2-9a: *  ***  
+        .byte   %10001000       ; 0CD1 2-9a: *   *   
+        .byte   %10000000       ; 0CD2 2-9a: *       
+        .byte   %10010100       ; 0CD3 2-9a: *  * *  
+        .byte   %10011100       ; 0CD4 2-9a: *  ***  
+        .byte   %10011100       ; 0CD5 2-9a: *  ***  
+        .byte   %10011100       ; 0CD6 2-9a: *  ***  
+        .byte   %11111111       ; 0CD7 2-9a: ********
+
+        .byte   %10011100       ; 0CD8 2-9b: *  ***  
+        .byte   %10001000       ; 0CD9 2-9b: *   *   
+        .byte   %10000000       ; 0CDA 2-9b: *       
+        .byte   %10010100       ; 0CDB 2-9b: *  * *  
+        .byte   %10011100       ; 0CDC 2-9b: *  ***  
+        .byte   %10011100       ; 0CDD 2-9b: *  ***  
+        .byte   %10011100       ; 0CDE 2-9b: *  ***  
+        .byte   %11111111       ; 0CDF 2-9b: ********
+
+        .byte   %10011001       ; 0CE0 2-9c: *  **  *
+        .byte   %10001001       ; 0CE1 2-9c: *   *  *
+        .byte   %10000001       ; 0CE2 2-9c: *      *
+        .byte   %10000001       ; 0CE3 2-9c: *      *
+        .byte   %10010001       ; 0CE4 2-9c: *  *   *
+        .byte   %10011001       ; 0CE5 2-9c: *  **  *
+        .byte   %10011001       ; 0CE6 2-9c: *  **  *
+        .byte   %11111111       ; 0CE7 2-9c: ********
+
+        .byte   %10011001       ; 0CE8 2-9d: *  **  *
+        .byte   %10001001       ; 0CE9 2-9d: *   *  *
+        .byte   %10000001       ; 0CEA 2-9d: *      *
+        .byte   %10000001       ; 0CEB 2-9d: *      *
+        .byte   %10010001       ; 0CEC 2-9d: *  *   *
+        .byte   %10011001       ; 0CED 2-9d: *  **  *
+        .byte   %10011001       ; 0CEE 2-9d: *  **  *
+        .byte   %11111111       ; 0CEF 2-9d: ********
+
+        .byte   %11000011       ; 0CF0 2-9e: **    **
+        .byte   %10011001       ; 0CF1 2-9e: *  **  *
+        .byte   %10011001       ; 0CF2 2-9e: *  **  *
+        .byte   %10011001       ; 0CF3 2-9e: *  **  *
+        .byte   %10011001       ; 0CF4 2-9e: *  **  *
+        .byte   %10011001       ; 0CF5 2-9e: *  **  *
+        .byte   %11000011       ; 0CF6 2-9e: **    **
+        .byte   %11111111       ; 0CF7 2-9e: ********
+
+        .byte   %11000011       ; 0CF8 2-9f: **    **
+        .byte   %10011001       ; 0CF9 2-9f: *  **  *
+        .byte   %10011001       ; 0CFA 2-9f: *  **  *
+        .byte   %10011001       ; 0CFB 2-9f: *  **  *
+        .byte   %10011001       ; 0CFC 2-9f: *  **  *
+        .byte   %10011001       ; 0CFD 2-9f: *  **  *
+        .byte   %11000011       ; 0CFE 2-9f: **    **
+        .byte   %11111111       ; 0CFF 2-9f: ********
+
+        .byte   %10000011       ; 0D00 2-a0: *     **
+        .byte   %10011001       ; 0D01 2-a0: *  **  *
+        .byte   %10011001       ; 0D02 2-a0: *  **  *
+        .byte   %10000011       ; 0D03 2-a0: *     **
+        .byte   %10011111       ; 0D04 2-a0: *  *****
+        .byte   %10011111       ; 0D05 2-a0: *  *****
+        .byte   %10011111       ; 0D06 2-a0: *  *****
+        .byte   %11111111       ; 0D07 2-a0: ********
+
+        .byte   %10000011       ; 0D08 2-a1: *     **
+        .byte   %10011001       ; 0D09 2-a1: *  **  *
+        .byte   %10011001       ; 0D0A 2-a1: *  **  *
+        .byte   %10000011       ; 0D0B 2-a1: *     **
+        .byte   %10011111       ; 0D0C 2-a1: *  *****
+        .byte   %10011111       ; 0D0D 2-a1: *  *****
+        .byte   %10011111       ; 0D0E 2-a1: *  *****
+        .byte   %11111111       ; 0D0F 2-a1: ********
+
+        .byte   %11000011       ; 0D10 2-a2: **    **
+        .byte   %10011001       ; 0D11 2-a2: *  **  *
+        .byte   %10011001       ; 0D12 2-a2: *  **  *
+        .byte   %10011001       ; 0D13 2-a2: *  **  *
+        .byte   %10011001       ; 0D14 2-a2: *  **  *
+        .byte   %11000011       ; 0D15 2-a2: **    **
+        .byte   %11110001       ; 0D16 2-a2: ****   *
+        .byte   %11111111       ; 0D17 2-a2: ********
+
+        .byte   %11000011       ; 0D18 2-a3: **    **
+        .byte   %10011001       ; 0D19 2-a3: *  **  *
+        .byte   %10011001       ; 0D1A 2-a3: *  **  *
+        .byte   %10011001       ; 0D1B 2-a3: *  **  *
+        .byte   %10011001       ; 0D1C 2-a3: *  **  *
+        .byte   %11000011       ; 0D1D 2-a3: **    **
+        .byte   %11110001       ; 0D1E 2-a3: ****   *
+        .byte   %11111111       ; 0D1F 2-a3: ********
+
+        .byte   %10000011       ; 0D20 2-a4: *     **
+        .byte   %10011001       ; 0D21 2-a4: *  **  *
+        .byte   %10011001       ; 0D22 2-a4: *  **  *
+        .byte   %10000011       ; 0D23 2-a4: *     **
+        .byte   %10000111       ; 0D24 2-a4: *    ***
+        .byte   %10010011       ; 0D25 2-a4: *  *  **
+        .byte   %10011001       ; 0D26 2-a4: *  **  *
+        .byte   %11111111       ; 0D27 2-a4: ********
+
+        .byte   %10000011       ; 0D28 2-a5: *     **
+        .byte   %10011001       ; 0D29 2-a5: *  **  *
+        .byte   %10011001       ; 0D2A 2-a5: *  **  *
+        .byte   %10000011       ; 0D2B 2-a5: *     **
+        .byte   %10000111       ; 0D2C 2-a5: *    ***
+        .byte   %10010011       ; 0D2D 2-a5: *  *  **
+        .byte   %10011001       ; 0D2E 2-a5: *  **  *
+        .byte   %11111111       ; 0D2F 2-a5: ********
+
+        .byte   %11000011       ; 0D30 2-a6: **    **
+        .byte   %10011001       ; 0D31 2-a6: *  **  *
+        .byte   %10011111       ; 0D32 2-a6: *  *****
+        .byte   %11000011       ; 0D33 2-a6: **    **
+        .byte   %11111001       ; 0D34 2-a6: *****  *
+        .byte   %10011001       ; 0D35 2-a6: *  **  *
+        .byte   %11000011       ; 0D36 2-a6: **    **
+        .byte   %11111111       ; 0D37 2-a6: ********
+
+        .byte   %11000011       ; 0D38 2-a7: **    **
+        .byte   %10011001       ; 0D39 2-a7: *  **  *
+        .byte   %10011111       ; 0D3A 2-a7: *  *****
+        .byte   %11000011       ; 0D3B 2-a7: **    **
+        .byte   %11111001       ; 0D3C 2-a7: *****  *
+        .byte   %10011001       ; 0D3D 2-a7: *  **  *
+        .byte   %11000011       ; 0D3E 2-a7: **    **
+        .byte   %11111111       ; 0D3F 2-a7: ********
+
+        .byte   %10000001       ; 0D40 2-a8: *      *
+        .byte   %11100111       ; 0D41 2-a8: ***  ***
+        .byte   %11100111       ; 0D42 2-a8: ***  ***
+        .byte   %11100111       ; 0D43 2-a8: ***  ***
+        .byte   %11100111       ; 0D44 2-a8: ***  ***
+        .byte   %11100111       ; 0D45 2-a8: ***  ***
+        .byte   %11100111       ; 0D46 2-a8: ***  ***
+        .byte   %11111111       ; 0D47 2-a8: ********
+
+        .byte   %10000001       ; 0D48 2-a9: *      *
+        .byte   %11100111       ; 0D49 2-a9: ***  ***
+        .byte   %11100111       ; 0D4A 2-a9: ***  ***
+        .byte   %11100111       ; 0D4B 2-a9: ***  ***
+        .byte   %11100111       ; 0D4C 2-a9: ***  ***
+        .byte   %11100111       ; 0D4D 2-a9: ***  ***
+        .byte   %11100111       ; 0D4E 2-a9: ***  ***
+        .byte   %11111111       ; 0D4F 2-a9: ********
+
+        .byte   %10011001       ; 0D50 2-aa: *  **  *
+        .byte   %10011001       ; 0D51 2-aa: *  **  *
+        .byte   %10011001       ; 0D52 2-aa: *  **  *
+        .byte   %10011001       ; 0D53 2-aa: *  **  *
+        .byte   %10011001       ; 0D54 2-aa: *  **  *
+        .byte   %10011001       ; 0D55 2-aa: *  **  *
+        .byte   %11000011       ; 0D56 2-aa: **    **
+        .byte   %11111111       ; 0D57 2-aa: ********
+
+        .byte   %10011001       ; 0D58 2-ab: *  **  *
+        .byte   %10011001       ; 0D59 2-ab: *  **  *
+        .byte   %10011001       ; 0D5A 2-ab: *  **  *
+        .byte   %10011001       ; 0D5B 2-ab: *  **  *
+        .byte   %10011001       ; 0D5C 2-ab: *  **  *
+        .byte   %10011001       ; 0D5D 2-ab: *  **  *
+        .byte   %11000011       ; 0D5E 2-ab: **    **
+        .byte   %11111111       ; 0D5F 2-ab: ********
+
+        .byte   %10011001       ; 0D60 2-ac: *  **  *
+        .byte   %10011001       ; 0D61 2-ac: *  **  *
+        .byte   %10011001       ; 0D62 2-ac: *  **  *
+        .byte   %10011001       ; 0D63 2-ac: *  **  *
+        .byte   %10011001       ; 0D64 2-ac: *  **  *
+        .byte   %11000011       ; 0D65 2-ac: **    **
+        .byte   %11100111       ; 0D66 2-ac: ***  ***
+        .byte   %11111111       ; 0D67 2-ac: ********
+
+        .byte   %10011001       ; 0D68 2-ad: *  **  *
+        .byte   %10011001       ; 0D69 2-ad: *  **  *
+        .byte   %10011001       ; 0D6A 2-ad: *  **  *
+        .byte   %10011001       ; 0D6B 2-ad: *  **  *
+        .byte   %10011001       ; 0D6C 2-ad: *  **  *
+        .byte   %11000011       ; 0D6D 2-ad: **    **
+        .byte   %11100111       ; 0D6E 2-ad: ***  ***
+        .byte   %11111111       ; 0D6F 2-ad: ********
+
+        .byte   %10011100       ; 0D70 2-ae: *  ***  
+        .byte   %10011100       ; 0D71 2-ae: *  ***  
+        .byte   %10011100       ; 0D72 2-ae: *  ***  
+        .byte   %10010100       ; 0D73 2-ae: *  * *  
+        .byte   %10000000       ; 0D74 2-ae: *       
+        .byte   %10001000       ; 0D75 2-ae: *   *   
+        .byte   %10011100       ; 0D76 2-ae: *  ***  
+        .byte   %11111111       ; 0D77 2-ae: ********
+
+        .byte   %10011100       ; 0D78 2-af: *  ***  
+        .byte   %10011100       ; 0D79 2-af: *  ***  
+        .byte   %10011100       ; 0D7A 2-af: *  ***  
+        .byte   %10010100       ; 0D7B 2-af: *  * *  
+        .byte   %10000000       ; 0D7C 2-af: *       
+        .byte   %10001000       ; 0D7D 2-af: *   *   
+        .byte   %10011100       ; 0D7E 2-af: *  ***  
+        .byte   %11111111       ; 0D7F 2-af: ********
+
+        .byte   %10011001       ; 0D80 2-b0: *  **  *
+        .byte   %10011001       ; 0D81 2-b0: *  **  *
+        .byte   %11000011       ; 0D82 2-b0: **    **
+        .byte   %11100111       ; 0D83 2-b0: ***  ***
+        .byte   %11000011       ; 0D84 2-b0: **    **
+        .byte   %10011001       ; 0D85 2-b0: *  **  *
+        .byte   %10011001       ; 0D86 2-b0: *  **  *
+        .byte   %11111111       ; 0D87 2-b0: ********
+
+        .byte   %10011001       ; 0D88 2-b1: *  **  *
+        .byte   %10011001       ; 0D89 2-b1: *  **  *
+        .byte   %11000011       ; 0D8A 2-b1: **    **
+        .byte   %11100111       ; 0D8B 2-b1: ***  ***
+        .byte   %11000011       ; 0D8C 2-b1: **    **
+        .byte   %10011001       ; 0D8D 2-b1: *  **  *
+        .byte   %10011001       ; 0D8E 2-b1: *  **  *
+        .byte   %11111111       ; 0D8F 2-b1: ********
+
+        .byte   %10011001       ; 0D90 2-b2: *  **  *
+        .byte   %10011001       ; 0D91 2-b2: *  **  *
+        .byte   %10011001       ; 0D92 2-b2: *  **  *
+        .byte   %11000011       ; 0D93 2-b2: **    **
+        .byte   %11100111       ; 0D94 2-b2: ***  ***
+        .byte   %11100111       ; 0D95 2-b2: ***  ***
+        .byte   %11100111       ; 0D96 2-b2: ***  ***
+        .byte   %11111111       ; 0D97 2-b2: ********
+
+        .byte   %10011001       ; 0D98 2-b3: *  **  *
+        .byte   %10011001       ; 0D99 2-b3: *  **  *
+        .byte   %10011001       ; 0D9A 2-b3: *  **  *
+        .byte   %11000011       ; 0D9B 2-b3: **    **
+        .byte   %11100111       ; 0D9C 2-b3: ***  ***
+        .byte   %11100111       ; 0D9D 2-b3: ***  ***
+        .byte   %11100111       ; 0D9E 2-b3: ***  ***
+        .byte   %11111111       ; 0D9F 2-b3: ********
+
+        .byte   %10000001       ; 0DA0 2-b4: *      *
+        .byte   %11111001       ; 0DA1 2-b4: *****  *
+        .byte   %11110011       ; 0DA2 2-b4: ****  **
+        .byte   %11100111       ; 0DA3 2-b4: ***  ***
+        .byte   %11001111       ; 0DA4 2-b4: **  ****
+        .byte   %10011111       ; 0DA5 2-b4: *  *****
+        .byte   %10000001       ; 0DA6 2-b4: *      *
+        .byte   %11111111       ; 0DA7 2-b4: ********
+
+        .byte   %10000001       ; 0DA8 2-b5: *      *
+        .byte   %11111001       ; 0DA9 2-b5: *****  *
+        .byte   %11110011       ; 0DAA 2-b5: ****  **
+        .byte   %11100111       ; 0DAB 2-b5: ***  ***
+        .byte   %11001111       ; 0DAC 2-b5: **  ****
+        .byte   %10011111       ; 0DAD 2-b5: *  *****
+        .byte   %10000001       ; 0DAE 2-b5: *      *
+        .byte   %11111111       ; 0DAF 2-b5: ********
+
+        .byte   %11000011       ; 0DB0 2-b6: **    **
+        .byte   %11001111       ; 0DB1 2-b6: **  ****
+        .byte   %11001111       ; 0DB2 2-b6: **  ****
+        .byte   %11001111       ; 0DB3 2-b6: **  ****
+        .byte   %11001111       ; 0DB4 2-b6: **  ****
+        .byte   %11001111       ; 0DB5 2-b6: **  ****
+        .byte   %11000011       ; 0DB6 2-b6: **    **
+        .byte   %11111111       ; 0DB7 2-b6: ********
+
+        .byte   %11000011       ; 0DB8 2-b7: **    **
+        .byte   %11001111       ; 0DB9 2-b7: **  ****
+        .byte   %11001111       ; 0DBA 2-b7: **  ****
+        .byte   %11001111       ; 0DBB 2-b7: **  ****
+        .byte   %11001111       ; 0DBC 2-b7: **  ****
+        .byte   %11001111       ; 0DBD 2-b7: **  ****
+        .byte   %11000011       ; 0DBE 2-b7: **    **
+        .byte   %11111111       ; 0DBF 2-b7: ********
+
+        .byte   %10011111       ; 0DC0 2-b8: *  *****
+        .byte   %11001111       ; 0DC1 2-b8: **  ****
+        .byte   %11100111       ; 0DC2 2-b8: ***  ***
+        .byte   %11110011       ; 0DC3 2-b8: ****  **
+        .byte   %11111001       ; 0DC4 2-b8: *****  *
+        .byte   %11111100       ; 0DC5 2-b8: ******  
+        .byte   %11111111       ; 0DC6 2-b8: ********
+        .byte   %11111111       ; 0DC7 2-b8: ********
+
+        .byte   %10011111       ; 0DC8 2-b9: *  *****
+        .byte   %11001111       ; 0DC9 2-b9: **  ****
+        .byte   %11100111       ; 0DCA 2-b9: ***  ***
+        .byte   %11110011       ; 0DCB 2-b9: ****  **
+        .byte   %11111001       ; 0DCC 2-b9: *****  *
+        .byte   %11111100       ; 0DCD 2-b9: ******  
+        .byte   %11111111       ; 0DCE 2-b9: ********
+        .byte   %11111111       ; 0DCF 2-b9: ********
+
+        .byte   %11000011       ; 0DD0 2-ba: **    **
+        .byte   %11110011       ; 0DD1 2-ba: ****  **
+        .byte   %11110011       ; 0DD2 2-ba: ****  **
+        .byte   %11110011       ; 0DD3 2-ba: ****  **
+        .byte   %11110011       ; 0DD4 2-ba: ****  **
+        .byte   %11110011       ; 0DD5 2-ba: ****  **
+        .byte   %11000011       ; 0DD6 2-ba: **    **
+        .byte   %11111111       ; 0DD7 2-ba: ********
+
+        .byte   %11000011       ; 0DD8 2-bb: **    **
+        .byte   %11110011       ; 0DD9 2-bb: ****  **
+        .byte   %11110011       ; 0DDA 2-bb: ****  **
+        .byte   %11110011       ; 0DDB 2-bb: ****  **
+        .byte   %11110011       ; 0DDC 2-bb: ****  **
+        .byte   %11110011       ; 0DDD 2-bb: ****  **
+        .byte   %11000011       ; 0DDE 2-bb: **    **
+        .byte   %11111111       ; 0DDF 2-bb: ********
+
+        .byte   %11111111       ; 0DE0 2-bc: ********
+        .byte   %11100111       ; 0DE1 2-bc: ***  ***
+        .byte   %11000011       ; 0DE2 2-bc: **    **
+        .byte   %10011001       ; 0DE3 2-bc: *  **  *
+        .byte   %11111111       ; 0DE4 2-bc: ********
+        .byte   %11111111       ; 0DE5 2-bc: ********
+        .byte   %11111111       ; 0DE6 2-bc: ********
+        .byte   %11111111       ; 0DE7 2-bc: ********
+
+        .byte   %11111111       ; 0DE8 2-bd: ********
+        .byte   %11100111       ; 0DE9 2-bd: ***  ***
+        .byte   %11000011       ; 0DEA 2-bd: **    **
+        .byte   %10011001       ; 0DEB 2-bd: *  **  *
+        .byte   %11111111       ; 0DEC 2-bd: ********
+        .byte   %11111111       ; 0DED 2-bd: ********
+        .byte   %11111111       ; 0DEE 2-bd: ********
+        .byte   %11111111       ; 0DEF 2-bd: ********
+
+        .byte   %11111111       ; 0DF0 2-be: ********
+        .byte   %11111111       ; 0DF1 2-be: ********
+        .byte   %11111111       ; 0DF2 2-be: ********
+        .byte   %11111111       ; 0DF3 2-be: ********
+        .byte   %11111111       ; 0DF4 2-be: ********
+        .byte   %11111111       ; 0DF5 2-be: ********
+        .byte   %10000000       ; 0DF6 2-be: *       
+        .byte   %11111111       ; 0DF7 2-be: ********
+
+        .byte   %11111111       ; 0DF8 2-bf: ********
+        .byte   %11111111       ; 0DF9 2-bf: ********
+        .byte   %11111111       ; 0DFA 2-bf: ********
+        .byte   %11111111       ; 0DFB 2-bf: ********
+        .byte   %11111111       ; 0DFC 2-bf: ********
+        .byte   %11111111       ; 0DFD 2-bf: ********
+        .byte   %10000000       ; 0DFE 2-bf: *       
+        .byte   %11111111       ; 0DFF 2-bf: ********
+
+        .byte   %11100111       ; 0E00 2-c0: ***  ***
+        .byte   %11100111       ; 0E01 2-c0: ***  ***
+        .byte   %11100111       ; 0E02 2-c0: ***  ***
+        .byte   %11111111       ; 0E03 2-c0: ********
+        .byte   %11111111       ; 0E04 2-c0: ********
+        .byte   %11111111       ; 0E05 2-c0: ********
+        .byte   %11111111       ; 0E06 2-c0: ********
+        .byte   %11111111       ; 0E07 2-c0: ********
+
+        .byte   %11100111       ; 0E08 2-c1: ***  ***
+        .byte   %11100111       ; 0E09 2-c1: ***  ***
+        .byte   %11100111       ; 0E0A 2-c1: ***  ***
+        .byte   %11111111       ; 0E0B 2-c1: ********
+        .byte   %11111111       ; 0E0C 2-c1: ********
+        .byte   %11111111       ; 0E0D 2-c1: ********
+        .byte   %11111111       ; 0E0E 2-c1: ********
+        .byte   %11111111       ; 0E0F 2-c1: ********
+
+        .byte   %11111111       ; 0E10 2-c2: ********
+        .byte   %11111111       ; 0E11 2-c2: ********
+        .byte   %11000011       ; 0E12 2-c2: **    **
+        .byte   %11111001       ; 0E13 2-c2: *****  *
+        .byte   %11000001       ; 0E14 2-c2: **     *
+        .byte   %10011001       ; 0E15 2-c2: *  **  *
+        .byte   %11000001       ; 0E16 2-c2: **     *
+        .byte   %11111111       ; 0E17 2-c2: ********
+
+        .byte   %11111111       ; 0E18 2-c3: ********
+        .byte   %11111111       ; 0E19 2-c3: ********
+        .byte   %11000011       ; 0E1A 2-c3: **    **
+        .byte   %11111001       ; 0E1B 2-c3: *****  *
+        .byte   %11000001       ; 0E1C 2-c3: **     *
+        .byte   %10011001       ; 0E1D 2-c3: *  **  *
+        .byte   %11000001       ; 0E1E 2-c3: **     *
+        .byte   %11111111       ; 0E1F 2-c3: ********
+
+        .byte   %11111111       ; 0E20 2-c4: ********
+        .byte   %10011111       ; 0E21 2-c4: *  *****
+        .byte   %10011111       ; 0E22 2-c4: *  *****
+        .byte   %10000011       ; 0E23 2-c4: *     **
+        .byte   %10011001       ; 0E24 2-c4: *  **  *
+        .byte   %10011001       ; 0E25 2-c4: *  **  *
+        .byte   %10000011       ; 0E26 2-c4: *     **
+        .byte   %11111111       ; 0E27 2-c4: ********
+
+        .byte   %11111111       ; 0E28 2-c5: ********
+        .byte   %10011111       ; 0E29 2-c5: *  *****
+        .byte   %10011111       ; 0E2A 2-c5: *  *****
+        .byte   %10000011       ; 0E2B 2-c5: *     **
+        .byte   %10011001       ; 0E2C 2-c5: *  **  *
+        .byte   %10011001       ; 0E2D 2-c5: *  **  *
+        .byte   %10000011       ; 0E2E 2-c5: *     **
+        .byte   %11111111       ; 0E2F 2-c5: ********
+
+        .byte   %11111111       ; 0E30 2-c6: ********
+        .byte   %11111111       ; 0E31 2-c6: ********
+        .byte   %11000011       ; 0E32 2-c6: **    **
+        .byte   %10011111       ; 0E33 2-c6: *  *****
+        .byte   %10011111       ; 0E34 2-c6: *  *****
+        .byte   %10011111       ; 0E35 2-c6: *  *****
+        .byte   %11000011       ; 0E36 2-c6: **    **
+        .byte   %11111111       ; 0E37 2-c6: ********
+
+        .byte   %11111111       ; 0E38 2-c7: ********
+        .byte   %11111111       ; 0E39 2-c7: ********
+        .byte   %11000011       ; 0E3A 2-c7: **    **
+        .byte   %10011111       ; 0E3B 2-c7: *  *****
+        .byte   %10011111       ; 0E3C 2-c7: *  *****
+        .byte   %10011111       ; 0E3D 2-c7: *  *****
+        .byte   %11000011       ; 0E3E 2-c7: **    **
+        .byte   %11111111       ; 0E3F 2-c7: ********
+
+        .byte   %11111111       ; 0E40 2-c8: ********
+        .byte   %11111001       ; 0E41 2-c8: *****  *
+        .byte   %11111001       ; 0E42 2-c8: *****  *
+        .byte   %11000001       ; 0E43 2-c8: **     *
+        .byte   %10011001       ; 0E44 2-c8: *  **  *
+        .byte   %10011001       ; 0E45 2-c8: *  **  *
+        .byte   %11000001       ; 0E46 2-c8: **     *
+        .byte   %11111111       ; 0E47 2-c8: ********
+
+        .byte   %11111111       ; 0E48 2-c9: ********
+        .byte   %11111001       ; 0E49 2-c9: *****  *
+        .byte   %11111001       ; 0E4A 2-c9: *****  *
+        .byte   %11000001       ; 0E4B 2-c9: **     *
+        .byte   %10011001       ; 0E4C 2-c9: *  **  *
+        .byte   %10011001       ; 0E4D 2-c9: *  **  *
+        .byte   %11000001       ; 0E4E 2-c9: **     *
+        .byte   %11111111       ; 0E4F 2-c9: ********
+
+        .byte   %11111111       ; 0E50 2-ca: ********
+        .byte   %11111111       ; 0E51 2-ca: ********
+        .byte   %11000011       ; 0E52 2-ca: **    **
+        .byte   %10011001       ; 0E53 2-ca: *  **  *
+        .byte   %10000001       ; 0E54 2-ca: *      *
+        .byte   %10011111       ; 0E55 2-ca: *  *****
+        .byte   %11000011       ; 0E56 2-ca: **    **
+        .byte   %11111111       ; 0E57 2-ca: ********
+
+        .byte   %11111111       ; 0E58 2-cb: ********
+        .byte   %11111111       ; 0E59 2-cb: ********
+        .byte   %11000011       ; 0E5A 2-cb: **    **
+        .byte   %10011001       ; 0E5B 2-cb: *  **  *
+        .byte   %10000001       ; 0E5C 2-cb: *      *
+        .byte   %10011111       ; 0E5D 2-cb: *  *****
+        .byte   %11000011       ; 0E5E 2-cb: **    **
+        .byte   %11111111       ; 0E5F 2-cb: ********
+
+        .byte   %11111111       ; 0E60 2-cc: ********
+        .byte   %11110001       ; 0E61 2-cc: ****   *
+        .byte   %11100111       ; 0E62 2-cc: ***  ***
+        .byte   %11000001       ; 0E63 2-cc: **     *
+        .byte   %11100111       ; 0E64 2-cc: ***  ***
+        .byte   %11100111       ; 0E65 2-cc: ***  ***
+        .byte   %11100111       ; 0E66 2-cc: ***  ***
+        .byte   %11111111       ; 0E67 2-cc: ********
+
+        .byte   %11111111       ; 0E68 2-cd: ********
+        .byte   %11110001       ; 0E69 2-cd: ****   *
+        .byte   %11100111       ; 0E6A 2-cd: ***  ***
+        .byte   %11000001       ; 0E6B 2-cd: **     *
+        .byte   %11100111       ; 0E6C 2-cd: ***  ***
+        .byte   %11100111       ; 0E6D 2-cd: ***  ***
+        .byte   %11100111       ; 0E6E 2-cd: ***  ***
+        .byte   %11111111       ; 0E6F 2-cd: ********
+
+        .byte   %11111111       ; 0E70 2-ce: ********
+        .byte   %11111111       ; 0E71 2-ce: ********
+        .byte   %11000001       ; 0E72 2-ce: **     *
+        .byte   %10011001       ; 0E73 2-ce: *  **  *
+        .byte   %10011001       ; 0E74 2-ce: *  **  *
+        .byte   %11000001       ; 0E75 2-ce: **     *
+        .byte   %11111001       ; 0E76 2-ce: *****  *
+        .byte   %10000011       ; 0E77 2-ce: *     **
+
+        .byte   %11111111       ; 0E78 2-cf: ********
+        .byte   %11111111       ; 0E79 2-cf: ********
+        .byte   %11000001       ; 0E7A 2-cf: **     *
+        .byte   %10011001       ; 0E7B 2-cf: *  **  *
+        .byte   %10011001       ; 0E7C 2-cf: *  **  *
+        .byte   %11000001       ; 0E7D 2-cf: **     *
+        .byte   %11111001       ; 0E7E 2-cf: *****  *
+        .byte   %10000011       ; 0E7F 2-cf: *     **
+
+        .byte   %11111111       ; 0E80 2-d0: ********
+        .byte   %10011111       ; 0E81 2-d0: *  *****
+        .byte   %10011111       ; 0E82 2-d0: *  *****
+        .byte   %10000011       ; 0E83 2-d0: *     **
+        .byte   %10011001       ; 0E84 2-d0: *  **  *
+        .byte   %10011001       ; 0E85 2-d0: *  **  *
+        .byte   %10011001       ; 0E86 2-d0: *  **  *
+        .byte   %11111111       ; 0E87 2-d0: ********
+
+        .byte   %11111111       ; 0E88 2-d1: ********
+        .byte   %10011111       ; 0E89 2-d1: *  *****
+        .byte   %10011111       ; 0E8A 2-d1: *  *****
+        .byte   %10000011       ; 0E8B 2-d1: *     **
+        .byte   %10011001       ; 0E8C 2-d1: *  **  *
+        .byte   %10011001       ; 0E8D 2-d1: *  **  *
+        .byte   %10011001       ; 0E8E 2-d1: *  **  *
+        .byte   %11111111       ; 0E8F 2-d1: ********
+
+        .byte   %11111111       ; 0E90 2-d2: ********
+        .byte   %11100111       ; 0E91 2-d2: ***  ***
+        .byte   %11111111       ; 0E92 2-d2: ********
+        .byte   %11000111       ; 0E93 2-d2: **   ***
+        .byte   %11100111       ; 0E94 2-d2: ***  ***
+        .byte   %11100111       ; 0E95 2-d2: ***  ***
+        .byte   %11000011       ; 0E96 2-d2: **    **
+        .byte   %11111111       ; 0E97 2-d2: ********
+
+        .byte   %11111111       ; 0E98 2-d3: ********
+        .byte   %11100111       ; 0E99 2-d3: ***  ***
+        .byte   %11111111       ; 0E9A 2-d3: ********
+        .byte   %11000111       ; 0E9B 2-d3: **   ***
+        .byte   %11100111       ; 0E9C 2-d3: ***  ***
+        .byte   %11100111       ; 0E9D 2-d3: ***  ***
+        .byte   %11000011       ; 0E9E 2-d3: **    **
+        .byte   %11111111       ; 0E9F 2-d3: ********
+
+        .byte   %11111111       ; 0EA0 2-d4: ********
+        .byte   %11111001       ; 0EA1 2-d4: *****  *
+        .byte   %11111111       ; 0EA2 2-d4: ********
+        .byte   %11111001       ; 0EA3 2-d4: *****  *
+        .byte   %11111001       ; 0EA4 2-d4: *****  *
+        .byte   %11111001       ; 0EA5 2-d4: *****  *
+        .byte   %11111001       ; 0EA6 2-d4: *****  *
+        .byte   %11000011       ; 0EA7 2-d4: **    **
+
+        .byte   %11111111       ; 0EA8 2-d5: ********
+        .byte   %11111001       ; 0EA9 2-d5: *****  *
+        .byte   %11111111       ; 0EAA 2-d5: ********
+        .byte   %11111001       ; 0EAB 2-d5: *****  *
+        .byte   %11111001       ; 0EAC 2-d5: *****  *
+        .byte   %11111001       ; 0EAD 2-d5: *****  *
+        .byte   %11111001       ; 0EAE 2-d5: *****  *
+        .byte   %11000011       ; 0EAF 2-d5: **    **
+
+        .byte   %11111111       ; 0EB0 2-d6: ********
+        .byte   %10011111       ; 0EB1 2-d6: *  *****
+        .byte   %10011111       ; 0EB2 2-d6: *  *****
+        .byte   %10010011       ; 0EB3 2-d6: *  *  **
+        .byte   %10000111       ; 0EB4 2-d6: *    ***
+        .byte   %10010011       ; 0EB5 2-d6: *  *  **
+        .byte   %10011001       ; 0EB6 2-d6: *  **  *
+        .byte   %11111111       ; 0EB7 2-d6: ********
+
+        .byte   %11111111       ; 0EB8 2-d7: ********
+        .byte   %10011111       ; 0EB9 2-d7: *  *****
+        .byte   %10011111       ; 0EBA 2-d7: *  *****
+        .byte   %10010011       ; 0EBB 2-d7: *  *  **
+        .byte   %10000111       ; 0EBC 2-d7: *    ***
+        .byte   %10010011       ; 0EBD 2-d7: *  *  **
+        .byte   %10011001       ; 0EBE 2-d7: *  **  *
+        .byte   %11111111       ; 0EBF 2-d7: ********
+
+        .byte   %11111111       ; 0EC0 2-d8: ********
+        .byte   %11000111       ; 0EC1 2-d8: **   ***
+        .byte   %11100111       ; 0EC2 2-d8: ***  ***
+        .byte   %11100111       ; 0EC3 2-d8: ***  ***
+        .byte   %11100111       ; 0EC4 2-d8: ***  ***
+        .byte   %11100111       ; 0EC5 2-d8: ***  ***
+        .byte   %11000011       ; 0EC6 2-d8: **    **
+        .byte   %11111111       ; 0EC7 2-d8: ********
+
+        .byte   %11111111       ; 0EC8 2-d9: ********
+        .byte   %11000111       ; 0EC9 2-d9: **   ***
+        .byte   %11100111       ; 0ECA 2-d9: ***  ***
+        .byte   %11100111       ; 0ECB 2-d9: ***  ***
+        .byte   %11100111       ; 0ECC 2-d9: ***  ***
+        .byte   %11100111       ; 0ECD 2-d9: ***  ***
+        .byte   %11000011       ; 0ECE 2-d9: **    **
+        .byte   %11111111       ; 0ECF 2-d9: ********
+
+        .byte   %11111111       ; 0ED0 2-da: ********
+        .byte   %11111111       ; 0ED1 2-da: ********
+        .byte   %10011001       ; 0ED2 2-da: *  **  *
+        .byte   %10000000       ; 0ED3 2-da: *       
+        .byte   %10000000       ; 0ED4 2-da: *       
+        .byte   %10010100       ; 0ED5 2-da: *  * *  
+        .byte   %10011100       ; 0ED6 2-da: *  ***  
+        .byte   %11111111       ; 0ED7 2-da: ********
+
+        .byte   %11111111       ; 0ED8 2-db: ********
+        .byte   %11111111       ; 0ED9 2-db: ********
+        .byte   %10011001       ; 0EDA 2-db: *  **  *
+        .byte   %10000000       ; 0EDB 2-db: *       
+        .byte   %10000000       ; 0EDC 2-db: *       
+        .byte   %10010100       ; 0EDD 2-db: *  * *  
+        .byte   %10011100       ; 0EDE 2-db: *  ***  
+        .byte   %11111111       ; 0EDF 2-db: ********
+
+        .byte   %11111111       ; 0EE0 2-dc: ********
+        .byte   %11111111       ; 0EE1 2-dc: ********
+        .byte   %10000011       ; 0EE2 2-dc: *     **
+        .byte   %10011001       ; 0EE3 2-dc: *  **  *
+        .byte   %10011001       ; 0EE4 2-dc: *  **  *
+        .byte   %10011001       ; 0EE5 2-dc: *  **  *
+        .byte   %10011001       ; 0EE6 2-dc: *  **  *
+        .byte   %11111111       ; 0EE7 2-dc: ********
+
+        .byte   %11111111       ; 0EE8 2-dd: ********
+        .byte   %11111111       ; 0EE9 2-dd: ********
+        .byte   %10000011       ; 0EEA 2-dd: *     **
+        .byte   %10011001       ; 0EEB 2-dd: *  **  *
+        .byte   %10011001       ; 0EEC 2-dd: *  **  *
+        .byte   %10011001       ; 0EED 2-dd: *  **  *
+        .byte   %10011001       ; 0EEE 2-dd: *  **  *
+        .byte   %11111111       ; 0EEF 2-dd: ********
+
+        .byte   %11111111       ; 0EF0 2-de: ********
+        .byte   %11111111       ; 0EF1 2-de: ********
+        .byte   %11000011       ; 0EF2 2-de: **    **
+        .byte   %10011001       ; 0EF3 2-de: *  **  *
+        .byte   %10011001       ; 0EF4 2-de: *  **  *
+        .byte   %10011001       ; 0EF5 2-de: *  **  *
+        .byte   %11000011       ; 0EF6 2-de: **    **
+        .byte   %11111111       ; 0EF7 2-de: ********
+
+        .byte   %11111111       ; 0EF8 2-df: ********
+        .byte   %11111111       ; 0EF9 2-df: ********
+        .byte   %11000011       ; 0EFA 2-df: **    **
+        .byte   %10011001       ; 0EFB 2-df: *  **  *
+        .byte   %10011001       ; 0EFC 2-df: *  **  *
+        .byte   %10011001       ; 0EFD 2-df: *  **  *
+        .byte   %11000011       ; 0EFE 2-df: **    **
+        .byte   %11111111       ; 0EFF 2-df: ********
+
+        .byte   %11111111       ; 0F00 2-e0: ********
+        .byte   %11111111       ; 0F01 2-e0: ********
+        .byte   %10000011       ; 0F02 2-e0: *     **
+        .byte   %10011001       ; 0F03 2-e0: *  **  *
+        .byte   %10011001       ; 0F04 2-e0: *  **  *
+        .byte   %10000011       ; 0F05 2-e0: *     **
+        .byte   %10011111       ; 0F06 2-e0: *  *****
+        .byte   %10011111       ; 0F07 2-e0: *  *****
+
+        .byte   %11111111       ; 0F08 2-e1: ********
+        .byte   %11111111       ; 0F09 2-e1: ********
+        .byte   %10000011       ; 0F0A 2-e1: *     **
+        .byte   %10011001       ; 0F0B 2-e1: *  **  *
+        .byte   %10011001       ; 0F0C 2-e1: *  **  *
+        .byte   %10000011       ; 0F0D 2-e1: *     **
+        .byte   %10011111       ; 0F0E 2-e1: *  *****
+        .byte   %10011111       ; 0F0F 2-e1: *  *****
+
+        .byte   %11111111       ; 0F10 2-e2: ********
+        .byte   %11111111       ; 0F11 2-e2: ********
+        .byte   %11000001       ; 0F12 2-e2: **     *
+        .byte   %10011001       ; 0F13 2-e2: *  **  *
+        .byte   %10011001       ; 0F14 2-e2: *  **  *
+        .byte   %11000001       ; 0F15 2-e2: **     *
+        .byte   %11111001       ; 0F16 2-e2: *****  *
+        .byte   %11111001       ; 0F17 2-e2: *****  *
+
+        .byte   %11111111       ; 0F18 2-e3: ********
+        .byte   %11111111       ; 0F19 2-e3: ********
+        .byte   %11000001       ; 0F1A 2-e3: **     *
+        .byte   %10011001       ; 0F1B 2-e3: *  **  *
+        .byte   %10011001       ; 0F1C 2-e3: *  **  *
+        .byte   %11000001       ; 0F1D 2-e3: **     *
+        .byte   %11111001       ; 0F1E 2-e3: *****  *
+        .byte   %11111001       ; 0F1F 2-e3: *****  *
+
+        .byte   %11111111       ; 0F20 2-e4: ********
+        .byte   %11111111       ; 0F21 2-e4: ********
+        .byte   %10000011       ; 0F22 2-e4: *     **
+        .byte   %10011001       ; 0F23 2-e4: *  **  *
+        .byte   %10011111       ; 0F24 2-e4: *  *****
+        .byte   %10011111       ; 0F25 2-e4: *  *****
+        .byte   %10011111       ; 0F26 2-e4: *  *****
+        .byte   %11111111       ; 0F27 2-e4: ********
+
+        .byte   %11111111       ; 0F28 2-e5: ********
+        .byte   %11111111       ; 0F29 2-e5: ********
+        .byte   %10000011       ; 0F2A 2-e5: *     **
+        .byte   %10011001       ; 0F2B 2-e5: *  **  *
+        .byte   %10011111       ; 0F2C 2-e5: *  *****
+        .byte   %10011111       ; 0F2D 2-e5: *  *****
+        .byte   %10011111       ; 0F2E 2-e5: *  *****
+        .byte   %11111111       ; 0F2F 2-e5: ********
+
+        .byte   %11111111       ; 0F30 2-e6: ********
+        .byte   %11111111       ; 0F31 2-e6: ********
+        .byte   %11000001       ; 0F32 2-e6: **     *
+        .byte   %10011111       ; 0F33 2-e6: *  *****
+        .byte   %11000011       ; 0F34 2-e6: **    **
+        .byte   %11111001       ; 0F35 2-e6: *****  *
+        .byte   %10000011       ; 0F36 2-e6: *     **
+        .byte   %11111111       ; 0F37 2-e6: ********
+
+        .byte   %11111111       ; 0F38 2-e7: ********
+        .byte   %11111111       ; 0F39 2-e7: ********
+        .byte   %11000001       ; 0F3A 2-e7: **     *
+        .byte   %10011111       ; 0F3B 2-e7: *  *****
+        .byte   %11000011       ; 0F3C 2-e7: **    **
+        .byte   %11111001       ; 0F3D 2-e7: *****  *
+        .byte   %10000011       ; 0F3E 2-e7: *     **
+        .byte   %11111111       ; 0F3F 2-e7: ********
+
+        .byte   %11111111       ; 0F40 2-e8: ********
+        .byte   %11100111       ; 0F41 2-e8: ***  ***
+        .byte   %10000001       ; 0F42 2-e8: *      *
+        .byte   %11100111       ; 0F43 2-e8: ***  ***
+        .byte   %11100111       ; 0F44 2-e8: ***  ***
+        .byte   %11100111       ; 0F45 2-e8: ***  ***
+        .byte   %11110001       ; 0F46 2-e8: ****   *
+        .byte   %11111111       ; 0F47 2-e8: ********
+
+        .byte   %11111111       ; 0F48 2-e9: ********
+        .byte   %11100111       ; 0F49 2-e9: ***  ***
+        .byte   %10000001       ; 0F4A 2-e9: *      *
+        .byte   %11100111       ; 0F4B 2-e9: ***  ***
+        .byte   %11100111       ; 0F4C 2-e9: ***  ***
+        .byte   %11100111       ; 0F4D 2-e9: ***  ***
+        .byte   %11110001       ; 0F4E 2-e9: ****   *
+        .byte   %11111111       ; 0F4F 2-e9: ********
+
+        .byte   %11111111       ; 0F50 2-ea: ********
+        .byte   %11111111       ; 0F51 2-ea: ********
+        .byte   %10011001       ; 0F52 2-ea: *  **  *
+        .byte   %10011001       ; 0F53 2-ea: *  **  *
+        .byte   %10011001       ; 0F54 2-ea: *  **  *
+        .byte   %10011001       ; 0F55 2-ea: *  **  *
+        .byte   %11000001       ; 0F56 2-ea: **     *
+        .byte   %11111111       ; 0F57 2-ea: ********
+
+        .byte   %11111111       ; 0F58 2-eb: ********
+        .byte   %11111111       ; 0F59 2-eb: ********
+        .byte   %10011001       ; 0F5A 2-eb: *  **  *
+        .byte   %10011001       ; 0F5B 2-eb: *  **  *
+        .byte   %10011001       ; 0F5C 2-eb: *  **  *
+        .byte   %10011001       ; 0F5D 2-eb: *  **  *
+        .byte   %11000001       ; 0F5E 2-eb: **     *
+        .byte   %11111111       ; 0F5F 2-eb: ********
+
+        .byte   %11111111       ; 0F60 2-ec: ********
+        .byte   %11111111       ; 0F61 2-ec: ********
+        .byte   %10011001       ; 0F62 2-ec: *  **  *
+        .byte   %10011001       ; 0F63 2-ec: *  **  *
+        .byte   %10011001       ; 0F64 2-ec: *  **  *
+        .byte   %11000011       ; 0F65 2-ec: **    **
+        .byte   %11100111       ; 0F66 2-ec: ***  ***
+        .byte   %11111111       ; 0F67 2-ec: ********
+
+        .byte   %11111111       ; 0F68 2-ed: ********
+        .byte   %11111111       ; 0F69 2-ed: ********
+        .byte   %10011001       ; 0F6A 2-ed: *  **  *
+        .byte   %10011001       ; 0F6B 2-ed: *  **  *
+        .byte   %10011001       ; 0F6C 2-ed: *  **  *
+        .byte   %11000011       ; 0F6D 2-ed: **    **
+        .byte   %11100111       ; 0F6E 2-ed: ***  ***
+        .byte   %11111111       ; 0F6F 2-ed: ********
+
+        .byte   %11111111       ; 0F70 2-ee: ********
+        .byte   %11111111       ; 0F71 2-ee: ********
+        .byte   %10011100       ; 0F72 2-ee: *  ***  
+        .byte   %10010100       ; 0F73 2-ee: *  * *  
+        .byte   %10000000       ; 0F74 2-ee: *       
+        .byte   %11000001       ; 0F75 2-ee: **     *
+        .byte   %11001001       ; 0F76 2-ee: **  *  *
+        .byte   %11111111       ; 0F77 2-ee: ********
+
+        .byte   %11111111       ; 0F78 2-ef: ********
+        .byte   %11111111       ; 0F79 2-ef: ********
+        .byte   %10011100       ; 0F7A 2-ef: *  ***  
+        .byte   %10010100       ; 0F7B 2-ef: *  * *  
+        .byte   %10000000       ; 0F7C 2-ef: *       
+        .byte   %11000001       ; 0F7D 2-ef: **     *
+        .byte   %11001001       ; 0F7E 2-ef: **  *  *
+        .byte   %11111111       ; 0F7F 2-ef: ********
+
+        .byte   %11111111       ; 0F80 2-f0: ********
+        .byte   %11111111       ; 0F81 2-f0: ********
+        .byte   %10011001       ; 0F82 2-f0: *  **  *
+        .byte   %11000011       ; 0F83 2-f0: **    **
+        .byte   %11100111       ; 0F84 2-f0: ***  ***
+        .byte   %11000011       ; 0F85 2-f0: **    **
+        .byte   %10011001       ; 0F86 2-f0: *  **  *
+        .byte   %11111111       ; 0F87 2-f0: ********
+
+        .byte   %11111111       ; 0F88 2-f1: ********
+        .byte   %11111111       ; 0F89 2-f1: ********
+        .byte   %10011001       ; 0F8A 2-f1: *  **  *
+        .byte   %11000011       ; 0F8B 2-f1: **    **
+        .byte   %11100111       ; 0F8C 2-f1: ***  ***
+        .byte   %11000011       ; 0F8D 2-f1: **    **
+        .byte   %10011001       ; 0F8E 2-f1: *  **  *
+        .byte   %11111111       ; 0F8F 2-f1: ********
+
+        .byte   %11111111       ; 0F90 2-f2: ********
+        .byte   %11111111       ; 0F91 2-f2: ********
+        .byte   %10011001       ; 0F92 2-f2: *  **  *
+        .byte   %10011001       ; 0F93 2-f2: *  **  *
+        .byte   %10011001       ; 0F94 2-f2: *  **  *
+        .byte   %11000001       ; 0F95 2-f2: **     *
+        .byte   %11110011       ; 0F96 2-f2: ****  **
+        .byte   %10000111       ; 0F97 2-f2: *    ***
+
+        .byte   %11111111       ; 0F98 2-f3: ********
+        .byte   %11111111       ; 0F99 2-f3: ********
+        .byte   %10011001       ; 0F9A 2-f3: *  **  *
+        .byte   %10011001       ; 0F9B 2-f3: *  **  *
+        .byte   %10011001       ; 0F9C 2-f3: *  **  *
+        .byte   %11000001       ; 0F9D 2-f3: **     *
+        .byte   %11110011       ; 0F9E 2-f3: ****  **
+        .byte   %10000111       ; 0F9F 2-f3: *    ***
+
+        .byte   %11111111       ; 0FA0 2-f4: ********
+        .byte   %11111111       ; 0FA1 2-f4: ********
+        .byte   %10000001       ; 0FA2 2-f4: *      *
+        .byte   %11110011       ; 0FA3 2-f4: ****  **
+        .byte   %11100111       ; 0FA4 2-f4: ***  ***
+        .byte   %11001111       ; 0FA5 2-f4: **  ****
+        .byte   %10000001       ; 0FA6 2-f4: *      *
+        .byte   %11111111       ; 0FA7 2-f4: ********
+
+        .byte   %11111111       ; 0FA8 2-f5: ********
+        .byte   %11111111       ; 0FA9 2-f5: ********
+        .byte   %10000001       ; 0FAA 2-f5: *      *
+        .byte   %11110011       ; 0FAB 2-f5: ****  **
+        .byte   %11100111       ; 0FAC 2-f5: ***  ***
+        .byte   %11001111       ; 0FAD 2-f5: **  ****
+        .byte   %10000001       ; 0FAE 2-f5: *      *
+        .byte   %11111111       ; 0FAF 2-f5: ********
+
+        .byte   %11100011       ; 0FB0 2-f6: ***   **
+        .byte   %11001111       ; 0FB1 2-f6: **  ****
+        .byte   %11100111       ; 0FB2 2-f6: ***  ***
+        .byte   %10001111       ; 0FB3 2-f6: *   ****
+        .byte   %11100111       ; 0FB4 2-f6: ***  ***
+        .byte   %11001111       ; 0FB5 2-f6: **  ****
+        .byte   %11100011       ; 0FB6 2-f6: ***   **
+        .byte   %11111111       ; 0FB7 2-f6: ********
+
+        .byte   %11100011       ; 0FB8 2-f7: ***   **
+        .byte   %11001111       ; 0FB9 2-f7: **  ****
+        .byte   %11100111       ; 0FBA 2-f7: ***  ***
+        .byte   %10001111       ; 0FBB 2-f7: *   ****
+        .byte   %11100111       ; 0FBC 2-f7: ***  ***
+        .byte   %11001111       ; 0FBD 2-f7: **  ****
+        .byte   %11100011       ; 0FBE 2-f7: ***   **
+        .byte   %11111111       ; 0FBF 2-f7: ********
+
+        .byte   %11100111       ; 0FC0 2-f8: ***  ***
+        .byte   %11100111       ; 0FC1 2-f8: ***  ***
+        .byte   %11100111       ; 0FC2 2-f8: ***  ***
+        .byte   %11111111       ; 0FC3 2-f8: ********
+        .byte   %11111111       ; 0FC4 2-f8: ********
+        .byte   %11100111       ; 0FC5 2-f8: ***  ***
+        .byte   %11100111       ; 0FC6 2-f8: ***  ***
+        .byte   %11100111       ; 0FC7 2-f8: ***  ***
+
+        .byte   %11100111       ; 0FC8 2-f9: ***  ***
+        .byte   %11100111       ; 0FC9 2-f9: ***  ***
+        .byte   %11100111       ; 0FCA 2-f9: ***  ***
+        .byte   %11111111       ; 0FCB 2-f9: ********
+        .byte   %11111111       ; 0FCC 2-f9: ********
+        .byte   %11100111       ; 0FCD 2-f9: ***  ***
+        .byte   %11100111       ; 0FCE 2-f9: ***  ***
+        .byte   %11100111       ; 0FCF 2-f9: ***  ***
+
+        .byte   %11000111       ; 0FD0 2-fa: **   ***
+        .byte   %11110011       ; 0FD1 2-fa: ****  **
+        .byte   %11100111       ; 0FD2 2-fa: ***  ***
+        .byte   %11110001       ; 0FD3 2-fa: ****   *
+        .byte   %11100111       ; 0FD4 2-fa: ***  ***
+        .byte   %11110011       ; 0FD5 2-fa: ****  **
+        .byte   %11000111       ; 0FD6 2-fa: **   ***
+        .byte   %11111111       ; 0FD7 2-fa: ********
+
+        .byte   %11000111       ; 0FD8 2-fb: **   ***
+        .byte   %11110011       ; 0FD9 2-fb: ****  **
+        .byte   %11100111       ; 0FDA 2-fb: ***  ***
+        .byte   %11110001       ; 0FDB 2-fb: ****   *
+        .byte   %11100111       ; 0FDC 2-fb: ***  ***
+        .byte   %11110011       ; 0FDD 2-fb: ****  **
+        .byte   %11000111       ; 0FDE 2-fb: **   ***
+        .byte   %11111111       ; 0FDF 2-fb: ********
+
+        .byte   %11001100       ; 0FE0 2-fc: **  **  
+        .byte   %00000000       ; 0FE1 2-fc:         
+        .byte   %00110011       ; 0FE2 2-fc:   **  **
+        .byte   %11111111       ; 0FE3 2-fc: ********
+        .byte   %11111111       ; 0FE4 2-fc: ********
+        .byte   %11111111       ; 0FE5 2-fc: ********
+        .byte   %11111111       ; 0FE6 2-fc: ********
+        .byte   %11111111       ; 0FE7 2-fc: ********
+
+        .byte   %11001100       ; 0FE8 2-fd: **  **  
+        .byte   %00000000       ; 0FE9 2-fd:         
+        .byte   %00110011       ; 0FEA 2-fd:   **  **
+        .byte   %11111111       ; 0FEB 2-fd: ********
+        .byte   %11111111       ; 0FEC 2-fd: ********
+        .byte   %11111111       ; 0FED 2-fd: ********
+        .byte   %11111111       ; 0FEE 2-fd: ********
+        .byte   %11111111       ; 0FEF 2-fd: ********
+
+        .byte   %11111111       ; 0FF0 2-fe: ********
+        .byte   %11111111       ; 0FF1 2-fe: ********
+        .byte   %11111111       ; 0FF2 2-fe: ********
+        .byte   %11111111       ; 0FF3 2-fe: ********
+        .byte   %11111111       ; 0FF4 2-fe: ********
+        .byte   %11111111       ; 0FF5 2-fe: ********
+        .byte   %11111111       ; 0FF6 2-fe: ********
+        .byte   %11111111       ; 0FF7 2-fe: ********
+
+        .byte   %11111111       ; 0FF8 2-ff: ********
+        .byte   %11111111       ; 0FF9 2-ff: ********
+        .byte   %11111111       ; 0FFA 2-ff: ********
+        .byte   %11111111       ; 0FFB 2-ff: ********
+        .byte   %11111111       ; 0FFC 2-ff: ********
+        .byte   %11111111       ; 0FFD 2-ff: ********
+        .byte   %11111111       ; 0FFE 2-ff: ********
+        .byte   %11111111       ; 0FFF 2-ff: ********
 
index 344a1071ae0a5fadfeefa92e4eb3b27a14b16095..06dc10a65695c94571183e0660144c95d2fc5db2 100644 (file)
 ; Cleanup by Ullrich von Bassewitz <uz@cc65.org>
 ;
 
-       .export ppuinit
-       .export paletteinit, paldata
+        .export ppuinit
+        .export paletteinit, paldata
 
-       .include "nes.inc"
+        .include "nes.inc"
 
 ;+---------+----------------------------------------------------------+
-;|  $2000  | PPU Control Register #1 (W)                             |
-;|        |                                                          |
-;|        |    D7: Execute NMI on VBlank                             |
-;|        |           0 = Disabled                                   |
-;|        |           1 = Enabled                                    |
-;|        |    D6: PPU Master/Slave Selection --+                    |
-;|        |           0 = Master                +-- UNUSED           |
-;|        |           1 = Slave               --+                    |
-;|        |    D5: Sprite Size                                       |
-;|        |           0 = 8x8                                        |
-;|        |           1 = 8x16                                       |
-;|        |    D4: Background Pattern Table Address                  |
-;|        |           0 = $0000 (VRAM)                               |
-;|        |           1 = $1000 (VRAM)                               |
-;|        |    D3: Sprite Pattern Table Address                      |
-;|        |           0 = $0000 (VRAM)                               |
-;|        |           1 = $1000 (VRAM)                               |
-;|        |    D2: PPU Address Increment                             |
-;|        |           0 = Increment by 1                             |
-;|        |           1 = Increment by 32                            |
-;|        | D1-D0: Name Table Address                                |
-;|        |         00 = $2000 (VRAM)                                |
-;|        |         01 = $2400 (VRAM)                                |
-;|        |         10 = $2800 (VRAM)                                |
-;|        |         11 = $2C00 (VRAM)                                |
+;|  $2000  | PPU Control Register #1 (W)                              |
+;|         |                                                          |
+;|         |    D7: Execute NMI on VBlank                             |
+;|         |           0 = Disabled                                   |
+;|         |           1 = Enabled                                    |
+;|         |    D6: PPU Master/Slave Selection --+                    |
+;|         |           0 = Master                +-- UNUSED           |
+;|         |           1 = Slave               --+                    |
+;|         |    D5: Sprite Size                                       |
+;|         |           0 = 8x8                                        |
+;|         |           1 = 8x16                                       |
+;|         |    D4: Background Pattern Table Address                  |
+;|         |           0 = $0000 (VRAM)                               |
+;|         |           1 = $1000 (VRAM)                               |
+;|         |    D3: Sprite Pattern Table Address                      |
+;|         |           0 = $0000 (VRAM)                               |
+;|         |           1 = $1000 (VRAM)                               |
+;|         |    D2: PPU Address Increment                             |
+;|         |           0 = Increment by 1                             |
+;|         |           1 = Increment by 32                            |
+;|         | D1-D0: Name Table Address                                |
+;|         |         00 = $2000 (VRAM)                                |
+;|         |         01 = $2400 (VRAM)                                |
+;|         |         10 = $2800 (VRAM)                                |
+;|         |         11 = $2C00 (VRAM)                                |
 ;+---------+----------------------------------------------------------+
 ;+---------+----------------------------------------------------------+
-;|  $2001  | PPU Control Register #2 (W)                             |
-;|        |                                                          |
-;|        | D7-D5: Full Background Colour (when D0 == 1)             |
-;|        |         000 = None  +------------+                       |
-;|        |         001 = Green              | NOTE: Do not use more |
-;|        |         010 = Blue               |       than one type   |
-;|        |         100 = Red   +------------+                       |
-;|        | D7-D5: Colour Intensity (when D0 == 0)                   |
-;|        |         000 = None            +--+                       |
-;|        |         001 = Intensify green    | NOTE: Do not use more |
-;|        |         010 = Intensify blue     |       than one type   |
-;|        |         100 = Intensify red   +--+                       |
-;|        |    D4: Sprite Visibility                                 |
-;|        |           0 = Sprites not displayed                      |
-;|        |           1 = Sprites visible                            |
-;|        |    D3: Background Visibility                             |
-;|        |           0 = Background not displayed                   |
-;|        |           1 = Background visible                         |
-;|        |    D2: Sprite Clipping                                   |
-;|        |           0 = Sprites invisible in left 8-pixel column   |
-;|        |           1 = No clipping                                |
-;|        |    D1: Background Clipping                               |
-;|        |           0 = BG invisible in left 8-pixel column        |
-;|        |           1 = No clipping                                |
-;|        |    D0: Display Type                                      |
-;|        |           0 = Colour display                             |
-;|        |           1 = Monochrome display                         |
+;|  $2001  | PPU Control Register #2 (W)                              |
+;|         |                                                          |
+;|         | D7-D5: Full Background Colour (when D0 == 1)             |
+;|         |         000 = None  +------------+                       |
+;|         |         001 = Green              | NOTE: Do not use more |
+;|         |         010 = Blue               |       than one type   |
+;|         |         100 = Red   +------------+                       |
+;|         | D7-D5: Colour Intensity (when D0 == 0)                   |
+;|         |         000 = None            +--+                       |
+;|         |         001 = Intensify green    | NOTE: Do not use more |
+;|         |         010 = Intensify blue     |       than one type   |
+;|         |         100 = Intensify red   +--+                       |
+;|         |    D4: Sprite Visibility                                 |
+;|         |           0 = Sprites not displayed                      |
+;|         |           1 = Sprites visible                            |
+;|         |    D3: Background Visibility                             |
+;|         |           0 = Background not displayed                   |
+;|         |           1 = Background visible                         |
+;|         |    D2: Sprite Clipping                                   |
+;|         |           0 = Sprites invisible in left 8-pixel column   |
+;|         |           1 = No clipping                                |
+;|         |    D1: Background Clipping                               |
+;|         |           0 = BG invisible in left 8-pixel column        |
+;|         |           1 = No clipping                                |
+;|         |    D0: Display Type                                      |
+;|         |           0 = Colour display                             |
+;|         |           1 = Monochrome display                         |
 ;+---------+----------------------------------------------------------+
 
 
 ;-----------------------------------------------------------------------------
 
-.proc  ppuinit
+.proc   ppuinit
 
-       lda #%10101000
-       sta PPU_CTRL1
+        lda     #%10101000
+        sta     PPU_CTRL1
 
-       lda     #%00011110
-       sta     PPU_CTRL2
+        lda     #%00011110
+        sta     PPU_CTRL2
 
 ; Wait for vblank
 
-@wait: lda     PPU_STATUS
-       bpl     @wait
+@wait:  lda     PPU_STATUS
+        bpl     @wait
 
 ; reset scrolling
 
-       lda     #0
-       sta     PPU_VRAM_ADDR1
-       sta     PPU_VRAM_ADDR1
+        lda     #0
+        sta     PPU_VRAM_ADDR1
+        sta     PPU_VRAM_ADDR1
 
 ; Make all sprites invisible
 
-       lda     #$00
-       ldy     #$f0
-       sta     PPU_SPR_ADDR
-       ldx     #$40
-@loop: sty     PPU_SPR_IO
-       sta     PPU_SPR_IO
-       sta     PPU_SPR_IO
-       sty     PPU_SPR_IO
-       dex
-       bne     @loop
+        lda     #$00
+        ldy     #$f0
+        sta     PPU_SPR_ADDR
+        ldx     #$40
+@loop:  sty     PPU_SPR_IO
+        sta     PPU_SPR_IO
+        sta     PPU_SPR_IO
+        sty     PPU_SPR_IO
+        dex
+        bne     @loop
 
-       rts
+        rts
 
 .endproc
 
 
 ;-----------------------------------------------------------------------------
 
-.proc  paletteinit
+.proc   paletteinit
 
 ; Wait for v-blank
-@wait: lda     PPU_STATUS
-       bpl     @wait
-
-       lda     #$3F
-       sta     PPU_VRAM_ADDR2
-       lda     #$00
-       sta     PPU_VRAM_ADDR2
-
-       ldx     #0
-@loop: lda     paldata,x
-       sta     PPU_VRAM_IO
-       inx
-       cpx     #(16*2)
-       bne     @loop
-
-       rts
-                    
+@wait:  lda     PPU_STATUS
+        bpl     @wait
+
+        lda     #$3F
+        sta     PPU_VRAM_ADDR2
+        lda     #$00
+        sta     PPU_VRAM_ADDR2
+
+        ldx     #0
+@loop:  lda     paldata,x
+        sta     PPU_VRAM_IO
+        inx
+        cpx     #(16*2)
+        bne     @loop
+
+        rts
+                     
 .endproc
 
 ;-----------------------------------------------------------------------------
 .rodata
 
 paldata:
-       .repeat 2
-       .byte   $0f     ; 0 black
-       .byte   $14     ; 4 violett
-       .byte   $3b     ; 3 cyan
-       .byte   $3d     ; 1 white
-
-       .byte   $38     ; 7 yellow
-       .byte   $2d     ; b dark grey
-       .byte   $22     ; e light blue
-       .byte   $04     ; 2 red
-
-       .byte   $18     ; 8 orange
-       .byte   $08     ; 9 brown
-       .byte   $35     ; a light red
-       .byte   $01     ; 6 blue
-
-       .byte   $10     ; c middle grey
-       .byte   $2b     ; d light green
-       .byte   $3d     ; f light gray
-       .byte   $1a     ; 5 green
-       .endrepeat
+        .repeat 2
+        .byte   $0f     ; 0 black
+        .byte   $14     ; 4 violett
+        .byte   $3b     ; 3 cyan
+        .byte   $3d     ; 1 white
+
+        .byte   $38     ; 7 yellow
+        .byte   $2d     ; b dark grey
+        .byte   $22     ; e light blue
+        .byte   $04     ; 2 red
+
+        .byte   $18     ; 8 orange
+        .byte   $08     ; 9 brown
+        .byte   $35     ; a light red
+        .byte   $01     ; 6 blue
+
+        .byte   $10     ; c middle grey
+        .byte   $2b     ; d light green
+        .byte   $3d     ; f light gray
+        .byte   $1a     ; 5 green
+        .endrepeat
index 68f194e78d45f434bb6bd598896463aeefd895e6..3708b93c119bdd4729fe77df6247b37bfb45aaf3 100644 (file)
@@ -20,8 +20,8 @@
 
 
 @wait:  lda     ringcount
-       bne     @wait
-       rts
+        bne     @wait
+        rts
 
 .endproc
 
@@ -34,8 +34,8 @@
 
         lda     #$ff            ; (($0100/3)*1)
 @wait:  cmp     ringcount
-       beq     @wait
-       rts
+        beq     @wait
+        rts
 
 .endproc
 
index 8336b17c64eff433c8ef3c177d6fa7b52f3a6176..8df4fb88a0aa79fa1da5b23918415c7be490507e 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "nes.inc"
+        .include        "nes.inc"
 
 __randomize:
         ldx     tickcount       ; Use tick clock
index 32144c9e23541e0d3d3b267f34a1ae228d42820b..3f74db08755bc78cd90b56580e0c0a27c9a0dd46 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "nes.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index a3cca1030e8493e8ddaabe9ec68498ecd9f7df4f..c73a3441c3e4b9b1590a45b0236fd6895abf5858 100644 (file)
@@ -4,22 +4,22 @@
 ;
 ; Set the cursor position
 
-       .export         setcursor
+        .export         setcursor
 
-       .include        "nes.inc"
+        .include        "nes.inc"
 
 ;-----------------------------------------------------------------------------
 
 .proc   setcursor
 
-       tya
-       clc
-       adc     addrlo,x
-       sta     SCREEN_PTR
+        tya
+        clc
+        adc     addrlo,x
+        sta     SCREEN_PTR
 
-       lda     addrhi,x
-       adc     #0
-       sta     SCREEN_PTR+1
+        lda     addrhi,x
+        adc     #0
+        sta     SCREEN_PTR+1
         rts
 
 .endproc
 ; Tables with screen addresses
 
 addrlo: .repeat screenrows,line
-       .byte <($2000+((1*32))+(line*charsperline))
-       .endrepeat
+        .byte <($2000+((1*32))+(line*charsperline))
+        .endrepeat
 
 addrhi: .repeat screenrows,line
-       .byte >($2000+((1*32))+(line*charsperline))
-       .endrepeat
+        .byte >($2000+((1*32))+(line*charsperline))
+        .endrepeat
 
index f41e63d886fe963a713159e696b0f2f81dcb0e56..cce83e2315bd3ccfff1878b1ee5b677f749dd2ec 100644 (file)
@@ -5,59 +5,59 @@
 ; Based on Maciej Witkowiak's line routine.
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "tgi-kernel.inc"
-       .include        "tgi-error.inc"
-       .include        "nes.inc"
-       .include        "get_tv.inc"
-       .import         _clrscr, setcursor, putchar
-       .import         paldata
+        .include        "tgi-kernel.inc"
+        .include        "tgi-error.inc"
+        .include        "nes.inc"
+        .include        "get_tv.inc"
+        .import         _clrscr, setcursor, putchar
+        .import         paldata
 
-       .macpack        generic
+        .macpack        generic
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table and constants.
 
-.segment       "JUMPTABLE"
+.segment        "JUMPTABLE"
 
 ; First part of the header is a structure that has a magic and defines the
 ; capabilities of the driver
 
-       .byte   $74, $67, $69           ; "tgi"
-       .byte   TGI_API_VERSION         ; TGI API version number
-xres:  .word   charsperline*2          ; Max X resolution
-yres:  .word   56                      ; Max Y resolution
-       .byte   2                       ; Number of drawing colors
-       .byte   1                       ; Number of screens available
-       .byte   2                       ; System font X size
-       .byte   2                       ; System font Y size
-       .word   $100                    ; Aspect ratio
-       .byte   0                       ; TGI driver flags
+        .byte   $74, $67, $69           ; "tgi"
+        .byte   TGI_API_VERSION         ; TGI API version number
+xres:   .word   charsperline*2          ; Max X resolution
+yres:   .word   56                      ; Max Y resolution
+        .byte   2                       ; Number of drawing colors
+        .byte   1                       ; Number of screens available
+        .byte   2                       ; System font X size
+        .byte   2                       ; System font Y size
+        .word   $100                    ; Aspect ratio
+        .byte   0                       ; TGI driver flags
 
 ; Next comes the jump table. Currently all entries must be valid and may point
 ; to an RTS for test versions (function not implemented).
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   INIT
-       .addr   DONE
-       .addr   GETERROR
-       .addr   CONTROL
-       .addr   CLEAR
-       .addr   SETVIEWPAGE
-       .addr   SETDRAWPAGE
-       .addr   SETCOLOR
-       .addr   SETPALETTE
-       .addr   GETPALETTE
-       .addr   GETDEFPALETTE
-       .addr   SETPIXEL
-       .addr   GETPIXEL
-       .addr   LINE
-       .addr   BAR
-       .addr   TEXTSTYLE
-       .addr   OUTTEXT
-       .addr   0                       ; IRQ entry is unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   INIT
+        .addr   DONE
+        .addr   GETERROR
+        .addr   CONTROL
+        .addr   CLEAR
+        .addr   SETVIEWPAGE
+        .addr   SETDRAWPAGE
+        .addr   SETCOLOR
+        .addr   SETPALETTE
+        .addr   GETPALETTE
+        .addr   GETDEFPALETTE
+        .addr   SETPIXEL
+        .addr   GETPIXEL
+        .addr   LINE
+        .addr   BAR
+        .addr   TEXTSTYLE
+        .addr   OUTTEXT
+        .addr   0                       ; IRQ entry is unused
 
 ; ------------------------------------------------------------------------
 ; Data.
@@ -65,57 +65,57 @@ yres:       .word   56                      ; Max Y resolution
 ; Variables mapped to the zero page segment variables. Some of these are
 ; used for passing parameters to the driver.
 
-X1             = ptr1
-Y1             = ptr2
-X2             = ptr3
-Y2             = ptr4
-RADIUS         = tmp1
+X1              = ptr1
+Y1              = ptr2
+X2              = ptr3
+Y2              = ptr4
+RADIUS          = tmp1
 
-ADDR           = tmp1
-TEMP           = tmp3
-TEMP2          = tmp4
-TEMP3          = sreg
-TEMP4          = sreg+1
+ADDR            = tmp1
+TEMP            = tmp3
+TEMP2           = tmp4
+TEMP3           = sreg
+TEMP4           = sreg+1
 
 ; Line routine stuff (must be on zpage)
-PB             = ptr3          ; (2)   LINE
-UB             = ptr4          ; (2)   LINE
-ERR            = regsave       ; (2)   LINE
-NX             = regsave+2     ; (2)   LINE
+PB              = ptr3          ; (2)   LINE
+UB              = ptr4          ; (2)   LINE
+ERR             = regsave       ; (2)   LINE
+NX              = regsave+2     ; (2)   LINE
 
 ; Absolute variables used in the code
 
 .bss
 
-MEM:           .res    charsperline*2*56/4
+MEM:            .res    charsperline*2*56/4
 MEMEND:
-ERROR:         .res    1       ; Error code
-COLOR:         .res    1       ; Current color
-PALETTE:       .res    2       ; The current palette
+ERROR:          .res    1       ; Error code
+COLOR:          .res    1       ; Current color
+PALETTE:        .res    2       ; The current palette
 
 ; Line routine stuff
 
 OGora:
-COUNT:         .res    2
+COUNT:          .res    2
 OUkos:
-NY:            .res    2
+NY:             .res    2
 Y3:
-DX:            .res    1
-DY:            .res    1
-AY:            .res    1
+DX:             .res    1
+DY:             .res    1
+AY:             .res    1
 
 ; Constants and tables
 
 .rodata
 
-DEFPALETTE:    .byte   $0, $1
-OFFSET:                .byte   8, 4, 2, 1
-;                      00  00  00  00  01  01  01  01
-;                      00  01  10  11  00  01  10  11
-CODE:          .byte   32, 29, 26, 25, 28, 24+128, 31+128, 30+128
-;                      10  10  10  10  11  11  11  11
-;                      00  01  10  11  00  01  10  11
-               .byte   30, 31, 24, 28+128, 25+128, 26+128, 29+128, 32+128
+DEFPALETTE:     .byte   $0, $1
+OFFSET:         .byte   8, 4, 2, 1
+;                       00  00  00  00  01  01  01  01
+;                       00  01  10  11  00  01  10  11
+CODE:           .byte   32, 29, 26, 25, 28, 24+128, 31+128, 30+128
+;                       10  10  10  10  11  11  11  11
+;                       00  01  10  11  00  01  10  11
+                .byte   30, 31, 24, 28+128, 25+128, 26+128, 29+128, 32+128
 
 .code
 
@@ -128,13 +128,13 @@ CODE:             .byte   32, 29, 26, 25, 28, 24+128, 31+128, 30+128
 ;
 
 INSTALL:
-       jsr     _get_tv
-       cmp     #TV::NTSC
-       beq     ntsc
+        jsr     _get_tv
+        cmp     #TV::NTSC
+        beq     ntsc
 ; TODO ROM!
-       inc     yres
-       inc     yres
-ntsc:; rts
+        inc     yres
+        inc     yres
+ntsc:;  rts
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory. May
@@ -144,7 +144,7 @@ ntsc:;      rts
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; INIT: Changes an already installed device from text mode to graphics
@@ -164,9 +164,9 @@ INIT:
 
 ; Done, reset the error code
 
-       lda     #TGI_ERR_OK
-       sta     ERROR
-;      rts
+        lda     #TGI_ERR_OK
+        sta     ERROR
+;       rts
 
 ; ------------------------------------------------------------------------
 ; DONE: Will be called to switch the graphics device back into text mode.
@@ -177,16 +177,16 @@ INIT:
 ;
 
 DONE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETERROR: Return the error code in A and clear it.
 
 GETERROR:
-       lda     ERROR
-       ldx     #TGI_ERR_OK
-       stx     ERROR
-       rts
+        lda     ERROR
+        ldx     #TGI_ERR_OK
+        stx     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CONTROL: Platform/driver specific entry point.
@@ -195,9 +195,9 @@ GETERROR:
 ;
 
 CONTROL:
-       lda     #TGI_ERR_INV_FUNC
-       sta     ERROR
-       rts
+        lda     #TGI_ERR_INV_FUNC
+        sta     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; CLEAR: Clears the screen.
@@ -206,20 +206,20 @@ CONTROL:
 ;
 
 CLEAR:
-       ldx     #<MEM
-       stx     TEMP
-       ldx     #>MEM
-       stx     TEMP+1
-       lda     #0
-       tay
-@L1:   sta     (TEMP),y
-       iny
-       bne     @L1
-       inc     TEMP+1
-       inx
-       cpx     #>MEMEND
-       bne     @L1
-       jmp     _clrscr
+        ldx     #<MEM
+        stx     TEMP
+        ldx     #>MEM
+        stx     TEMP+1
+        lda     #0
+        tay
+@L1:    sta     (TEMP),y
+        iny
+        bne     @L1
+        inc     TEMP+1
+        inx
+        cpx     #>MEMEND
+        bne     @L1
+        jmp     _clrscr
 
 ; ------------------------------------------------------------------------
 ; SETCOLOR: Set the drawing color (in A). The new color is already checked
@@ -229,8 +229,8 @@ CLEAR:
 ;
 
 SETCOLOR:
-       sta     COLOR
-;      rts
+        sta     COLOR
+;       rts
 
 ; ------------------------------------------------------------------------
 ; SETVIEWPAGE: Set the visible page. Called with the new page in A (0..n).
@@ -249,7 +249,7 @@ SETVIEWPAGE:
 ;
 
 SETDRAWPAGE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPALETTE: Set the palette (not available with all drivers/hardware).
@@ -261,31 +261,31 @@ SETDRAWPAGE:
 
 SETPALETTE:
 ; Wait for v-blank
-@wait: lda     PPU_STATUS
-       bpl     @wait
-
-       lda     #$3F
-       sta     PPU_VRAM_ADDR2
-       lda     #$00
-       sta     PPU_VRAM_ADDR2
-
-       ldy     #0
-       lda     (ptr1),y
-       sta     PALETTE
-       tax
-       lda     paldata,x
-;      sta     PPU_VRAM_IO
-
-       iny
-       lda     (ptr1),y
-       sta     PALETTE+1
-       tax
-       lda     paldata,x
-       sta     PPU_VRAM_IO
-
-       lda     #TGI_ERR_OK
-       sta     ERROR
-       rts
+@wait:  lda     PPU_STATUS
+        bpl     @wait
+
+        lda     #$3F
+        sta     PPU_VRAM_ADDR2
+        lda     #$00
+        sta     PPU_VRAM_ADDR2
+
+        ldy     #0
+        lda     (ptr1),y
+        sta     PALETTE
+        tax
+        lda     paldata,x
+;       sta     PPU_VRAM_IO
+
+        iny
+        lda     (ptr1),y
+        sta     PALETTE+1
+        tax
+        lda     paldata,x
+        sta     PPU_VRAM_IO
+
+        lda     #TGI_ERR_OK
+        sta     ERROR
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETPALETTE: Return the current palette in A/X. Even drivers that cannot
@@ -296,9 +296,9 @@ SETPALETTE:
 ;
 
 GETPALETTE:
-       lda     #<PALETTE
-       ldx     #>PALETTE
-       rts
+        lda     #<PALETTE
+        ldx     #>PALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; GETDEFPALETTE: Return the default palette for the driver in A/X. All
@@ -310,9 +310,9 @@ GETPALETTE:
 ;
 
 GETDEFPALETTE:
-       lda     #<DEFPALETTE
-       ldx     #>DEFPALETTE
-       rts
+        lda     #<DEFPALETTE
+        ldx     #>DEFPALETTE
+        rts
 
 ; ------------------------------------------------------------------------
 ; SETPIXEL: Draw one pixel at X1/Y1 = ptr1/ptr2 with the current drawing
@@ -323,41 +323,41 @@ GETDEFPALETTE:
 ;
 
 SETPIXEL:
-       ldx     Y1              ; y+2<yres
-       inx
-       inx
-       cpx     yres
-       bcc     @L2
-       ldx     X1              ; x+2<xres
-       inx
-       inx
-       cpx     xres
-       bcc     @L2
-       rts
-@L2:   lda     X1
-       lsr
-       tay
-       lda     Y1
-       lsr
-       tax
-       clc
-       jsr     setcursor
-       jsr     CALC
-       ldx     COLOR
-       bne     @set2
-       eor     #%00001111
-@set2: sta     TEMP3
-
-       lda     (TEMP),y
-       ldx     COLOR
-       bne     @set
-       and     TEMP3
-       .byte   $2c
-@set:  ora     TEMP3
-       sta     (TEMP),y
-       tax
-       lda     CODE,x
-@normal:jmp    putchar
+        ldx     Y1              ; y+2<yres
+        inx
+        inx
+        cpx     yres
+        bcc     @L2
+        ldx     X1              ; x+2<xres
+        inx
+        inx
+        cpx     xres
+        bcc     @L2
+        rts
+@L2:    lda     X1
+        lsr
+        tay
+        lda     Y1
+        lsr
+        tax
+        clc
+        jsr     setcursor
+        jsr     CALC
+        ldx     COLOR
+        bne     @set2
+        eor     #%00001111
+@set2:  sta     TEMP3
+
+        lda     (TEMP),y
+        ldx     COLOR
+        bne     @set
+        and     TEMP3
+        .byte   $2c
+@set:   ora     TEMP3
+        sta     (TEMP),y
+        tax
+        lda     CODE,x
+@normal:jmp     putchar
 
 ; ------------------------------------------------------------------------
 ; GETPIXEL: Read the color value of a pixel and return it in A/X. The
@@ -366,14 +366,14 @@ SETPIXEL:
 
 
 GETPIXEL:
-       jsr     CALC
-       sta     TEMP3
-       lda     (TEMP),y
-       and     TEMP3
-       beq     @L1
-       lda     #1
-@L1:   ldx     #0
-       rts
+        jsr     CALC
+        sta     TEMP3
+        lda     (TEMP),y
+        and     TEMP3
+        beq     @L1
+        lda     #1
+@L1:    ldx     #0
+        rts
 
 ; ------------------------------------------------------------------------
 ; BAR: Draw a filled rectangle with the corners X1/Y1, X2/Y2, where
@@ -381,32 +381,32 @@ GETPIXEL:
 ; Contrary to most other functions, the graphics kernel will sort and clip
 ; the coordinates before calling the driver, so on entry the following
 ; conditions are valid:
-;      X1 <= X2
-;      Y1 <= Y2
-;      (X1 >= 0) && (X1 < XRES)
-;      (X2 >= 0) && (X2 < XRES)
-;      (Y1 >= 0) && (Y1 < YRES)
-;      (Y2 >= 0) && (Y2 < YRES)
+;       X1 <= X2
+;       Y1 <= Y2
+;       (X1 >= 0) && (X1 < XRES)
+;       (X2 >= 0) && (X2 < XRES)
+;       (Y1 >= 0) && (Y1 < YRES)
+;       (Y2 >= 0) && (Y2 < YRES)
 ;
 ; Must set an error code: NO
 ;
 
 BAR:
-       inc     Y2
-@L1:   lda     X1
-       pha
-@L2:   jsr     SETPIXEL
-       inc     X1
-       lda     X2
-       cmp     X1
-       bne     @L2
-       pla
-       sta     X1
-       inc     Y1
-       lda     Y2
-       cmp     Y1
-       bne     @L1
-       rts
+        inc     Y2
+@L1:    lda     X1
+        pha
+@L2:    jsr     SETPIXEL
+        inc     X1
+        lda     X2
+        cmp     X1
+        bne     @L2
+        pla
+        sta     X1
+        inc     Y1
+        lda     Y2
+        cmp     Y1
+        bne     @L1
+        rts
 
 ; ------------------------------------------------------------------------
 ; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
@@ -416,7 +416,7 @@ BAR:
 ;
 
 TEXTSTYLE:
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; OUTTEXT: Output text at X/Y = ptr1/ptr2 using the current color and the
@@ -427,68 +427,68 @@ TEXTSTYLE:
 ;
 
 OUTTEXT:
-       lda     ptr1
-       lsr
-       tay
-       lda     ptr2
-       lsr
-       tax
-       clc
-       jsr     setcursor
-       ldy     #0
-@L1:   lda     (ptr3),y
-       jsr     putchar
-       iny
-       cmp     #$0
-       bne     @L1
-       rts
+        lda     ptr1
+        lsr
+        tay
+        lda     ptr2
+        lsr
+        tax
+        clc
+        jsr     setcursor
+        ldy     #0
+@L1:    lda     (ptr3),y
+        jsr     putchar
+        iny
+        cmp     #$0
+        bne     @L1
+        rts
 
 ; ------------------------------------------------------------------------
 ; Calculate all variables to plot the pixel at X1/Y1. If the point is out
 ; of range, a carry is returned and INRANGE is set to a value !0 zero. If
 ; the coordinates are valid, INRANGE is zero and the carry clear.
 
-CALC:  lda     xres
-       sta     TEMP
-       lda     #0
-       sta     TEMP+1
-       ldy     Y1
-@L1:   lda     TEMP
-       add     xres
-       lsr
-       sta     TEMP
-       lda     TEMP+1
-       adc     #0
-       lsr
-       sta     TEMP+1
-       dey
-       bne     @L1
-       lda     TEMP
-       add     X1
-       lsr
-       sta     TEMP
-       lda     TEMP+1
-       adc     #0
-       lsr
-       sta     TEMP+1
-       lda     TEMP
-       add     #<MEM
-       sta     TEMP
-       lda     TEMP+1
-       adc     #>MEM
-       sta     TEMP+1
-
-       lda     X1
-       and     #%00000001
-       sta     TEMP3
-       lda     Y1
-       asl
-       and     #%00000010
-       ora     TEMP3
-       tax
-       lda     OFFSET,x
-       rts
+CALC:   lda     xres
+        sta     TEMP
+        lda     #0
+        sta     TEMP+1
+        ldy     Y1
+@L1:    lda     TEMP
+        add     xres
+        lsr
+        sta     TEMP
+        lda     TEMP+1
+        adc     #0
+        lsr
+        sta     TEMP+1
+        dey
+        bne     @L1
+        lda     TEMP
+        add     X1
+        lsr
+        sta     TEMP
+        lda     TEMP+1
+        adc     #0
+        lsr
+        sta     TEMP+1
+        lda     TEMP
+        add     #<MEM
+        sta     TEMP
+        lda     TEMP+1
+        adc     #>MEM
+        sta     TEMP+1
+
+        lda     X1
+        and     #%00000001
+        sta     TEMP3
+        lda     Y1
+        asl
+        and     #%00000010
+        ora     TEMP3
+        tax
+        lda     OFFSET,x
+        rts
 
 ; ------------------------------------------------------------------------
 
-.include       "../../tgi/tgidrv_line.inc"
+.include        "../../tgi/tgidrv_line.inc"
index 4dab483e292d0109f3e278a094f0aaaa2b87dd78..6ef3729b40158600c1c4f084c49b5a37c4d3e27e 100644 (file)
@@ -2,7 +2,7 @@
 ; Target-specific black & white values for use by the target-shared TGI kernel
 ;
 
-       .include        "tgi-kernel.inc"
+        .include        "tgi-kernel.inc"
 
-       .export         tgi_color_black:zp = $00
-       .export         tgi_color_white:zp = $01
+        .export         tgi_color_black:zp = $00
+        .export         tgi_color_white:zp = $01
index 797d244946b890231bcb12254c24a3ff4fdbb6a7..9b08bc460f27a7c10e8484d0191eeb1dc8c91746 100644 (file)
@@ -6,8 +6,8 @@
 ; const void tgi_static_stddrv[];
 ;
 
-        .export        _tgi_static_stddrv
-        .import        _nes_64_56_2_tgi
+        .export _tgi_static_stddrv
+        .import _nes_64_56_2_tgi
 
 .rodata
 
index 25f00f803fb12857b0f36879fb724513364510b0..b0239e276a9884992600c42e4f6327711a413a8a 100644 (file)
@@ -6,8 +6,8 @@
 ; const char tgi_stddrv[];
 ;
 
-        .export        _tgi_stddrv
+        .export _tgi_stddrv
 
 .rodata
 
-_tgi_stddrv:   .asciiz "nes-64-56-2.tgi"
+_tgi_stddrv:    .asciiz "nes-64-56-2.tgi"
index 373a8462916bbe95df9f4d30ee1d9bf7c72ee022..4086469045ce7d6e2d60152bff1c4d467d57f16d 100644 (file)
@@ -5,9 +5,9 @@
 ; void waitvblank(void);
 ;
 
-       .export _waitvblank
+        .export _waitvblank
 
-       .include "nes.inc"
+        .include "nes.inc"
 
 .proc   _waitvblank
 
index 347d1fdbe0031a07d14fb6bdf956781b0fe080f1..2082c73f6726668e47887ecae14511d821df30d9 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char wherex (void);
 ;
 
-       .export         _wherex
+        .export         _wherex
 
         .include        "nes.inc"
 
@@ -12,7 +12,7 @@
 
         lda     CURS_X
         ldx     #$00
-       rts
+        rts
 
 .endproc
 
index af6ead4b6c5f19ba707c68621f5cd89333abfcb7..46813b923d16d061bd98cb9d06e95c4e017c905f 100644 (file)
@@ -4,7 +4,7 @@
 ; unsigned char wherey (void);
 ;
 
-       .export         _wherey
+        .export         _wherey
 
         .include        "nes.inc"
 
@@ -12,7 +12,7 @@
 
         lda     CURS_Y
         ldx     #$00
-       rts
+        rts
 
 .endproc
 
index ef8b4c56bd8a3479545032c58cd41e5ea39d90d4..b2ba92b98b8682d9ffe510482c45ded6edd142b7 100644 (file)
@@ -4,16 +4,16 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 .proc   screensize
 
-               ldx     SCR_LINELEN
-       inx                     ; Variable is one less
-               ldy     #25
-       rts
+        ldx     SCR_LINELEN
+        inx                     ; Variable is one less
+        ldy     #25
+        rts
 
 .endproc
 
index 7d31c679d70dc91731b75222814ab71b18a40872..49585ffef338aa28ca880422907a3279d0411d0d 100644 (file)
@@ -5,65 +5,65 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
-               .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -71,37 +71,37 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
-
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 4113e1305b8c4d82e626ae11f25ba1fb4a84c48d..1249bb19de6ff47983ad4ccf9c27d0b19dedb731 100644 (file)
@@ -4,65 +4,65 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
-       .import         cursor
+        .export         _cgetc
+        .import         cursor
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
-_cgetc:        lda     KEY_COUNT       ; Get number of characters
-               bne     L3              ; Jump if there are already chars waiting
+_cgetc: lda     KEY_COUNT       ; Get number of characters
+        bne     L3              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed
 
-       lda     CURS_FLAG
-       pha
-       lda     cursor
-       jsr     setcursor
-L1:    lda     KEY_COUNT
-       beq     L1
-       ldx     #0
-       pla
-       bne     L2
-       inx
-L2:    txa
-       jsr     setcursor
+        lda     CURS_FLAG
+        pha
+        lda     cursor
+        jsr     setcursor
+L1:     lda     KEY_COUNT
+        beq     L1
+        ldx     #0
+        pla
+        bne     L2
+        inx
+L2:     txa
+        jsr     setcursor
 
 ; Fetch the character from the keyboard buffer
 
-L3:            sei
-       ldy     KEY_BUF
-       ldx     #$00
-L4:    lda     KEY_BUF+1,x
-       sta     KEY_BUF,x
-       inx
-       cpx     KEY_COUNT
-       bne     L4
-       dec     KEY_COUNT
-       cli
-       ldx     #$00            ; Clear high byte
-       tya
-       rts
+L3:     sei
+        ldy     KEY_BUF
+        ldx     #$00
+L4:     lda     KEY_BUF+1,x
+        sta     KEY_BUF,x
+        inx
+        cpx     KEY_COUNT
+        bne     L4
+        dec     KEY_COUNT
+        cli
+        ldx     #$00            ; Clear high byte
+        tya
+        rts
 
 ; Switch the cursor on or off
 
 setcursor:
-               tax                     ; On or off?
-       bne     seton           ; Go set it on
-               lda     CURS_FLAG       ; Is the cursor currently off?
-       bne     crs9            ; Jump if yes
-       lda     #1
-       sta     CURS_FLAG       ; Mark it as off
-       lda     CURS_STATE      ; Cursor currently displayed?
-       beq     crs8            ; Jump if no
-       ldy     CURS_X          ; Get the character column
-               lda     (SCREEN_PTR),y  ; Get character
-       eor     #$80
-       sta     (SCREEN_PTR),y  ; Store character back
-crs8:  lda     #0
-       sta     CURS_STATE      ; Cursor not displayed
-crs9:  rts
+        tax                     ; On or off?
+        bne     seton           ; Go set it on
+        lda     CURS_FLAG       ; Is the cursor currently off?
+        bne     crs9            ; Jump if yes
+        lda     #1
+        sta     CURS_FLAG       ; Mark it as off
+        lda     CURS_STATE      ; Cursor currently displayed?
+        beq     crs8            ; Jump if no
+        ldy     CURS_X          ; Get the character column
+        lda     (SCREEN_PTR),y  ; Get character
+        eor     #$80
+        sta     (SCREEN_PTR),y  ; Store character back
+crs8:   lda     #0
+        sta     CURS_STATE      ; Cursor not displayed
+crs9:   rts
 
-seton:         lda     #0
-       sta     CURS_FLAG
-       rts
+seton:  lda     #0
+        sta     CURS_FLAG
+        rts
 
index 426a8c5ade5c838ca7c668037260b52d03e3609b..fe50374574b5877a5d7dd136285c8fc9131c0a83 100644 (file)
@@ -4,46 +4,46 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
-       .import         plot
-               .importzp       ptr1
+        .export         _clrscr
+        .import         plot
+        .importzp       ptr1
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 _clrscr:
 
 ; Set the screen base address
 
-       lda     #$00
-       sta     ptr1
-       lda     #$80
-       sta     ptr1+1
+        lda     #$00
+        sta     ptr1
+        lda     #$80
+        sta     ptr1+1
 
 ; Determine, how many pages to fill
 
-       ldx     #4
-       lda     SCR_LINELEN     ; Check length of one line
-       cmp     #40+1
-               bcc     L1
-       ldx     #8
+        ldx     #4
+        lda     SCR_LINELEN     ; Check length of one line
+        cmp     #40+1
+        bcc     L1
+        ldx     #8
 
 ; Clear the screen
 
-L1:            lda     #$20            ; Screen code for blank
-       ldy     #$00
-L2:    sta     (ptr1),y
-       iny
-       bne     L2
-       inc     ptr1+1
-       dex
-       bne     L2
+L1:     lda     #$20            ; Screen code for blank
+        ldy     #$00
+L2:     sta     (ptr1),y
+        iny
+        bne     L2
+        inc     ptr1+1
+        dex
+        bne     L2
 
 ; Set the cursor to 0/0
 
-       lda     #0
-       sta     CURS_X
-       sta     CURS_Y
-       jmp     plot
+        lda     #0
+        sta     CURS_X
+        sta     CURS_Y
+        jmp     plot
 
-       rts
+        rts
 
index 6fbca5682d58bc7084b3e297b71199852891565a..80ffb91a7fb728dffbfa7b2a1305335c2c6aa737 100644 (file)
@@ -6,13 +6,13 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
-       .import         return0, return1
+        .export         _textcolor, _bgcolor, _bordercolor
+        .import         return0, return1
 
-_textcolor     = return1
+_textcolor      = return1
 
-_bgcolor       = return0
+_bgcolor        = return0
 
-_bordercolor   = return0
+_bordercolor    = return0
 
 
index 45ae54d74de1f49516839026d6510b436ae5858b..f46c38c21d78e2b86ae13b3c83c791660d7f4f11 100644 (file)
@@ -4,7 +4,7 @@
 ; Low level stuff for screen output/console input
 ;
 
-       .exportzp       CURS_X, CURS_Y
+        .exportzp       CURS_X, CURS_Y
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
index c9ac9928e0e6b7bd8183e840d6d44b34d8daa900..f38d2759ae614df6190932098a553d62ca258ddb 100644 (file)
@@ -5,43 +5,43 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .import         popa, _gotoxy
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .import         popa, _gotoxy
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
@@ -55,64 +55,64 @@ L3:     iny
         rts
 
 newline:
-       lda     SCR_LINELEN     ; xsize-1
+        lda     SCR_LINELEN     ; xsize-1
         sec                     ; Account for -1 above
-       adc     SCREEN_PTR
-       sta     SCREEN_PTR
-       bcc     L4
-       inc     SCREEN_PTR+1
-L4:    inc     CURS_Y
-       rts
+        adc     SCREEN_PTR
+        sta     SCREEN_PTR
+        bcc     L4
+        inc     SCREEN_PTR+1
+L4:     inc     CURS_Y
+        rts
 
 ; Handle character if high bit set
 
-L10:   and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L11
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L11:   ora     #$40
-       bne     cputdirect
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect
 
 
 
 ; Set cursor position, calculate RAM pointers
 
-plot:  ldy     CURS_Y
-       lda     ScrLo,y
-       sta     SCREEN_PTR
-       lda     ScrHi,y
-       ldy     SCR_LINELEN
-       cpy     #40+1
-               bcc     @L1
-               asl     SCREEN_PTR              ; 80 column mode
-       rol     a
-@L1:   ora     #$80                    ; Screen at $8000
-       sta     SCREEN_PTR+1
-       rts
+plot:   ldy     CURS_Y
+        lda     ScrLo,y
+        sta     SCREEN_PTR
+        lda     ScrHi,y
+        ldy     SCR_LINELEN
+        cpy     #40+1
+        bcc     @L1
+        asl     SCREEN_PTR              ; 80 column mode
+        rol     a
+@L1:    ora     #$80                    ; Screen at $8000
+        sta     SCREEN_PTR+1
+        rts
 
 
 ; Write one character to the screen without doing anything else, return X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (SCREEN_PTR),y  ; Set char
-       rts
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (SCREEN_PTR),y  ; Set char
+        rts
 
 ; Screen address tables - offset to real screen
 
 .rodata
 
-ScrLo:         .byte   $00, $28, $50, $78, $A0, $C8, $F0, $18
-       .byte   $40, $68, $90, $B8, $E0, $08, $30, $58
-       .byte   $80, $A8, $D0, $F8, $20, $48, $70, $98
-       .byte   $C0
+ScrLo:  .byte   $00, $28, $50, $78, $A0, $C8, $F0, $18
+        .byte   $40, $68, $90, $B8, $E0, $08, $30, $58
+        .byte   $80, $A8, $D0, $F8, $20, $48, $70, $98
+        .byte   $C0
 
-ScrHi: .byte   $00, $00, $00, $00, $00, $00, $00, $01
-       .byte   $01, $01, $01, $01, $01, $02, $02, $02
-       .byte   $02, $02, $02, $02, $03, $03, $03, $03
-       .byte   $03
+ScrHi:  .byte   $00, $00, $00, $00, $00, $00, $00, $01
+        .byte   $01, $01, $01, $01, $01, $02, $02, $02
+        .byte   $02, $02, $02, $02, $03, $03, $03, $03
+        .byte   $03
 
 
index b71c012ff44ec45c22d20250710cd57c6b999026..e828870ab573d1bdb113be191e4479d2c6ebb236 100644 (file)
@@ -2,32 +2,32 @@
 ; Startup code for cc65 (PET version)
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib
-       .import         zerobss, push0
-       .import         callmain
-       .import         CLRCH, BSOUT
-       .importzp       ST
-
-       .include        "zeropage.inc"
-       .include        "pet.inc"
-       .include        "../cbm/cbm.inc"
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .import         initlib, donelib
+        .import         zerobss, push0
+        .import         callmain
+        .import         CLRCH, BSOUT
+        .importzp       ST
+
+        .include        "zeropage.inc"
+        .include        "pet.inc"
+        .include        "../cbm/cbm.inc"
 
 ; ------------------------------------------------------------------------
 ; Startup code
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 Start:
 
 ; Save the zero page locations we need
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
 
 ; Switch to second charset. The routine that is called by BSOUT to switch the
 ; character set will use FNLEN as temporary storage - YUCK! Since the
@@ -35,72 +35,72 @@ L1: lda     sp,x
 ; information, we need to save and restore it here.
 ; Thanks to Stefan Haubenthal for this information!
 
-       lda     FNLEN
-       pha                     ; Save FNLEN
-       lda     #14
-;      sta     $E84C           ; See PET FAQ
-       jsr     BSOUT
-       pla
-       sta     FNLEN           ; Restore FNLEN
+        lda     FNLEN
+        pha                     ; Save FNLEN
+        lda     #14
+;       sta     $E84C           ; See PET FAQ
+        jsr     BSOUT
+        pla
+        sta     FNLEN           ; Restore FNLEN
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Save system stuff and setup the stack
 
-       tsx
-       stx     spsave          ; Save the system stack ptr
+        tsx
+        stx     spsave          ; Save the system stack ptr
 
-       lda     MEMSIZE
-       sta     sp
-       lda     MEMSIZE+1
-       sta     sp+1            ; Set argument stack ptr
+        lda     MEMSIZE
+        sta     sp
+        lda     MEMSIZE+1
+        sta     sp+1            ; Set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-       jsr     callmain
+        jsr     callmain
 
 ; Call module destructors. This is also the _exit entry.
 
-_exit: pha                     ; Save the return code on stack
-       jsr     donelib
+_exit:  pha                     ; Save the return code on stack
+        jsr     donelib
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Store the program return code into ST
 
-       pla
-       sta     ST
+        pla
+        sta     ST
 
 ; Restore the stack pointer
 
-       ldx     spsave
-       txs                     ; Restore stack pointer
+        ldx     spsave
+        txs                     ; Restore stack pointer
 
 ; Back to basic
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave:        .res    zpspace
+zpsave: .res    zpspace
 
 ; ------------------------------------------------------------------------
 
 .bss
 
-spsave:        .res    1
-mmusave:.res   1
+spsave: .res    1
+mmusave:.res    1
index 82d6b6bc64d79a2593344afa3adccd569d681182..cecc5ddc10e1fec78d8e4d7c012c3a0be543f925 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index 8ac4377dc9d83226450087746e88e4f8c1aa85fb..eee3fe2215f67d6e2197f9e8b3ff8de64b8cfbf7 100644 (file)
@@ -6,7 +6,7 @@
 ;
 
         .include        "pet.inc"
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
 ;--------------------------------------------------------------------------
 ; _get_tv
index 64a29ea35da313a721a32017bbd4b0618ab736ce..ddaf43ca5988277c4506a9fbc727a24a3358a303 100644 (file)
@@ -2,48 +2,48 @@
 ; IRQ handling (PET version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     IRQVec
-       ldx     IRQVec+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       jmp     setvec
+        lda     IRQVec
+        ldx     IRQVec+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        jmp     setvec
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     IRQInd+1
-       ldx     IRQInd+2
-setvec:        sei
-       sta     IRQVec
-       stx     IRQVec+1
-       cli
-       rts
+        lda     IRQInd+1
+        ldx     IRQInd+2
+setvec: sei
+        sta     IRQVec
+        stx     IRQVec+1
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       jsr     callirq                 ; Call the functions
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        jsr     callirq                 ; Call the functions
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
 
 ; ------------------------------------------------------------------------
 
 .data
 
-IRQInd:        jmp     $0000
+IRQInd: jmp     $0000
index 85d2097ce9e1b1a3f5844bf07d7ab49d36f57b18..997352f06ce275bde8fe3ebc6442698674ed8f82 100644 (file)
@@ -6,47 +6,47 @@
 ; obviously based on Ullrichs driver :)
 ;
 
-       .include "zeropage.inc"
+        .include "zeropage.inc"
 
-       .include "joy-kernel.inc"
-       .include "joy-error.inc"
-;      .include "pet.inc"
-VIA_PRA                := $E841                ; Port register A
-VIA_DDRA       := $E843                ; Data direction register A
+        .include "joy-kernel.inc"
+        .include "joy-error.inc"
+;       .include "pet.inc"
+VIA_PRA         := $E841                ; Port register A
+VIA_DDRA        := $E843                ; Data direction register A
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment "JUMPTABLE"
+        .segment "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79   ; "joy"
-       .byte   JOY_API_VERSION ; Driver API version number
+        .byte   $6A, $6F, $79   ; "joy"
+        .byte   JOY_API_VERSION ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $01                     ; JOY_UP
-       .byte   $02                     ; JOY_DOWN
-       .byte   $04                     ; JOY_LEFT
-       .byte   $08                     ; JOY_RIGHT
-       .byte   $10                     ; JOY_FIRE
-       .byte   $00                     ; JOY_FIRE2 unavailable
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
+        .byte   $01                     ; JOY_UP
+        .byte   $02                     ; JOY_DOWN
+        .byte   $04                     ; JOY_LEFT
+        .byte   $08                     ; JOY_RIGHT
+        .byte   $10                     ; JOY_FIRE
+        .byte   $00                     ; JOY_FIRE2 unavailable
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READ
-       .addr   0                       ; IRQ entry unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READ
+        .addr   0                       ; IRQ entry unused
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 2             ; Number of joysticks we support
+JOY_COUNT       = 2             ; Number of joysticks we support
 
 
 .code
@@ -59,9 +59,9 @@ JOY_COUNT     = 2             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda     #<JOY_ERR_OK
-       ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+        lda     #<JOY_ERR_OK
+        ldx     #>JOY_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -69,7 +69,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -77,44 +77,44 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #<JOY_COUNT
-       ldx     #>JOY_COUNT
-       rts
+        lda     #<JOY_COUNT
+        ldx     #>JOY_COUNT
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:  lda     #%10000000      ; via port A Data-Direction
-       sta     VIA_DDRA        ; bit 7: out    bit 6-0: in
+READ:   lda     #%10000000      ; via port A Data-Direction
+        sta     VIA_DDRA        ; bit 7: out    bit 6-0: in
 
-       tax                     ; Joystick number into X
-       bne     joy2
+        tax                     ; Joystick number into X
+        bne     joy2
 
 ; Read joystick 1
 
-joy1:  lda     #$80            ; via port A read/write
-       sta     VIA_PRA         ; (output one at PA7)
+joy1:   lda     #$80            ; via port A read/write
+        sta     VIA_PRA         ; (output one at PA7)
 
-       lda     VIA_PRA         ; via port A read/write
-       and     #$1f            ; get bit 4-0 (PA4-PA0)
-       eor     #$1f
-       rts
+        lda     VIA_PRA         ; via port A read/write
+        and     #$1f            ; get bit 4-0 (PA4-PA0)
+        eor     #$1f
+        rts
 
 ; Read joystick 2
 
-joy2:  lda     #$00            ; via port A read/write
-       sta     VIA_PRA         ; (output zero at PA7)
+joy2:   lda     #$00            ; via port A read/write
+        sta     VIA_PRA         ; (output zero at PA7)
 
-       lda     VIA_PRA         ; via port A read/write
-       and     #$0f            ; get bit 3-0 (PA3-PA0)
-       sta     tmp1            ; joy 4 directions
+        lda     VIA_PRA         ; via port A read/write
+        and     #$0f            ; get bit 3-0 (PA3-PA0)
+        sta     tmp1            ; joy 4 directions
 
-       lda     VIA_PRA         ; via port A read/write
-       and     #%00100000      ; get bit 5 (PA5)
-       lsr
-       ora     tmp1
-       eor     #$1f
+        lda     VIA_PRA         ; via port A read/write
+        and     #%00100000      ; get bit 5 (PA5)
+        lsr
+        ora     tmp1
+        eor     #$1f
 
-       ldx     #0
-       rts
+        ldx     #0
+        rts
index d14f3e408f566d7a59850ede08785f83e224a6cb..155dbbdf7e54cd1407fd06e23110f7799b069635 100644 (file)
@@ -4,46 +4,46 @@
 ; Marco van den Heuvel, 2010-01-23
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
-       .include        "joy-error.inc"
-        .include       "pet.inc"
+        .include        "joy-kernel.inc"
+        .include        "joy-error.inc"
+        .include        "pet.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment "JUMPTABLE"
+        .segment "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79           ; "joy"
-       .byte   JOY_API_VERSION         ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $01             ; JOY_UP
-       .byte   $02             ; JOY_DOWN
-       .byte   $04             ; JOY_LEFT
-       .byte   $08             ; JOY_RIGHT
-       .byte   $10             ; JOY_FIRE
-       .byte   $00             ; JOY_FIRE2 unavailable
-       .byte   $00             ; Future expansion
-       .byte   $00             ; Future expansion
+        .byte   $01             ; JOY_UP
+        .byte   $02             ; JOY_DOWN
+        .byte   $04             ; JOY_LEFT
+        .byte   $08             ; JOY_RIGHT
+        .byte   $10             ; JOY_FIRE
+        .byte   $00             ; JOY_FIRE2 unavailable
+        .byte   $00             ; Future expansion
+        .byte   $00             ; Future expansion
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READ
-       .addr   0               ; IRQ entry unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READ
+        .addr   0               ; IRQ entry unused
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-JOY_COUNT      = 2             ; Number of joysticks we support
+JOY_COUNT       = 2             ; Number of joysticks we support
 
 
 .code
@@ -56,9 +56,9 @@ JOY_COUNT     = 2             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda     #<JOY_ERR_OK
-       ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+        lda     #<JOY_ERR_OK
+        ldx     #>JOY_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -66,7 +66,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -74,52 +74,52 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #<JOY_COUNT
-       ldx     #>JOY_COUNT
-       rts
+        lda     #<JOY_COUNT
+        ldx     #>JOY_COUNT
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
 READ:
-       tax                     ; Joystick number into X
-       bne     joy2
+        tax                     ; Joystick number into X
+        bne     joy2
 
 ; Read joystick 1
 
 joy1:
-       lda     #0
-       sta     VIA_DDRA
-       lda     VIA_PRA
-       and     #$0f
-       cmp     #$0c
-       bne     @notc1
-       lda     #$0f
-       bne     @end1
+        lda     #0
+        sta     VIA_DDRA
+        lda     VIA_PRA
+        and     #$0f
+        cmp     #$0c
+        bne     @notc1
+        lda     #$0f
+        bne     @end1
 @notc1:
-       ora     #$10
+        ora     #$10
 @end1:
-       eor     #$1f
-       rts
+        eor     #$1f
+        rts
 
 ; Read joystick 2
 
 joy2:
-       lda     #0
-       sta     VIA_DDRA
-       lda     VIA_PRA
-       lsr
-       lsr
-       lsr
-       lsr
-       cmp     #$0c
-       bne     @notc2
-       lda     #$0f
-       bne     @end2
+        lda     #0
+        sta     VIA_DDRA
+        lda     VIA_PRA
+        lsr
+        lsr
+        lsr
+        lsr
+        cmp     #$0c
+        bne     @notc2
+        lda     #$0f
+        bne     @end2
 @notc2:
-       ora     #$10
+        ora     #$10
 @end2:
-       eor     #$1f
-       ldx     #0
-       rts
+        eor     #$1f
+        ldx     #0
+        rts
index fb79aa4211e5ae6e8e54598cda8c7862a99e7619..840c66ff37f0c0774d3cc56e7ff876cfcc91657e 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _pet_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _pet_stdjoy_joy
 
 .rodata
 
index 617d374cf6d73f0f068feb4103aed943909db238..21fa5390235198838a456234f377eeca83d28a17 100644 (file)
@@ -6,9 +6,9 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "pet-stdjoy.joy"
+_joy_stddrv:    .asciiz "pet-stdjoy.joy"
 
index a09c283219b886268de8e0f6eb31fe06c47b8541..2a011c69ddfd240a8e899f5622ece36eb3101911 100644 (file)
@@ -4,15 +4,15 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-       lda     KEY_COUNT       ; Get number of characters
+        lda     KEY_COUNT       ; Get number of characters
         beq     L9
         lda     #1
 L9:     rts
index 714f7ab0823c856cf3f483ae5de6ac1834c23299..1a9dd6f67a7c26b05ab76a96bb06a93e1de3714d 100644 (file)
 ;-----------------------------------------------------------------------------
 ; Functions that are available in the kernal jump table
 
-CLRCH          = $FFCC
-BASIN          = $FFCF
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-UDTIM          = $FFEA
+CLRCH           = $FFCC
+BASIN           = $FFCF
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+UDTIM           = $FFEA
 
index a5892a49c1e5879c8c968a145b12512cb72db52e..9a63f50c2febbc8062819d8a0e591940957fc869 100644 (file)
@@ -5,14 +5,14 @@
 ; Setup arguments for main
 ;
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $8f                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $8f                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 BASIC_BUF= $200
 
 
@@ -20,106 +20,106 @@ BASIC_BUF= $200
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run
 
-.segment       "INIT"
+.segment        "INIT"
 
-.proc  initmainargs
+.proc   initmainargs
 
 ; Assume that the program was loaded, a moment ago, by the traditional LOAD
 ; statement.  Save the "most-recent filename" as argument #0.
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     FNLEN
-       cpy     #NAME_LEN + 1
-       bcc     L1
-       ldy     #NAME_LEN - 1   ; limit the length
-L0:    lda     (FNADR),y
-       sta     name,y
-L1:    dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        ldy     FNLEN
+        cpy     #NAME_LEN + 1
+        bcc     L1
+        ldy     #NAME_LEN - 1   ; limit the length
+L0:     lda     (FNADR),y
+        sta     name,y
+L1:     dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-       beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
-next:  lda     BASIC_BUF,x
-       beq     done            ; End of line reached
-       inx
-       cmp     #' '            ; Skip leading spaces
-       beq     next            ;
+next:   lda     BASIC_BUF,x
+        beq     done            ; End of line reached
+        inx
+        cmp     #' '            ; Skip leading spaces
+        beq     next            ;
 
 ; Found start of next argument. We've incremented the pointer in X already, so
 ; it points to the second character of the argument. This is useful since we
 ; will check now for a quoted argument, in which case we will have to skip this
 ; first character.
 
-found: cmp     #'"'            ; Is the argument quoted?
-       beq     setterm         ; Jump if so
-       dex                     ; Reset pointer to first argument character
-       lda     #' '            ; A space ends the argument
-setterm:sta    term            ; Set end of argument marker
+found:  cmp     #'"'            ; Is the argument quoted?
+        beq     setterm         ; Jump if so
+        dex                     ; Reset pointer to first argument character
+        lda     #' '            ; A space ends the argument
+setterm:sta     term            ; Set end of argument marker
 
 ; Now store a pointer to the argument into the next slot. Since the BASIC
 ; input buffer is located at the start of a RAM page, no calculations are
 ; necessary.
 
-       txa                     ; Get low byte
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       lda     #>BASIC_BUF
-       sta     argv,y
-       iny
-       inc     __argc          ; Found another arg
+        txa                     ; Get low byte
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        lda     #>BASIC_BUF
+        sta     argv,y
+        iny
+        inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
 
-argloop:lda    BASIC_BUF,x
-       beq     done
-       inx
-       cmp     term
-       bne     argloop
+argloop:lda     BASIC_BUF,x
+        beq     done
+        inx
+        cmp     term
+        bne     argloop
 
 ; We've found the end of the argument. X points one character behind it, and
 ; A contains the terminating character. To make the argument a valid C string,
 ; replace the terminating character by a zero.
 
-       lda     #0
-       sta     BASIC_BUF-1,x
+        lda     #0
+        sta     BASIC_BUF-1,x
 
 ; Check if the maximum number of command line arguments is reached. If not,
 ; parse the next one.
 
-       lda     __argc          ; Get low byte of argument count
-       cmp     #MAXARGS        ; Maximum number of arguments reached?
-       bcc     next            ; Parse next one if not
+        lda     __argc          ; Get low byte of argument count
+        cmp     #MAXARGS        ; Maximum number of arguments reached?
+        bcc     next            ; Parse next one if not
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
-       rts
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
+        rts
 
 .endproc
 
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
-argv:  .addr   name
-       .res    MAXARGS * 2
+argv:   .addr   name
+        .res    MAXARGS * 2
index bf65270360fe13a1ccffb012e969abd73dbfe95d..fc5f621af5b5c2f4ad91bd02578ac1823bece148 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "pet.inc"
+        .include        "pet.inc"
 
 __randomize:              
         ldx     TIME
index bbcf8e1327acdf9f078f491a2102b1f7d80027be..49982d2616cc84c3ba4017bba3a42b7090bf2f58 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "pet.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index bb72817cee08b01a05f9444444a17e1c911f459c..2e2e858a05f4c909984d1fd803a353ca2716c80e 100644 (file)
@@ -2,4 +2,4 @@
 ; Oliver Schmidt, 2012-09-30
 ;
 
-       .exportzp       ST := $96       ; IEC status byte
+        .exportzp       ST := $96       ; IEC status byte
index 19f92d7e5b7e3c44817c77f9303b3cc434fd83ad..4d3bae05d901d240137a91dfa6d51ea84a15adf8 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
 
 ; We will return the values directly instead of banking in the ROM and calling
 ; SCREEN which is a lot more overhead in code size and CPU cycles.
index 37ead40bb50300f456c7aea110a1c96328eb302d..248a558c714e9b7a95ce6c477823ac460cbc6297 100644 (file)
@@ -5,46 +5,46 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .export         _set_brk, _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
         .import         brk_jmp
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-        lda    #<brk_handler   ; Set the break vector to our routine
-       sta     brk_jmp+1
-               lda     #>brk_handler
-       sta     brk_jmp+2
-       rts
+        lda     #<brk_handler   ; Set the break vector to our routine
+        sta     brk_jmp+1
+        lda     #>brk_handler
+        sta     brk_jmp+2
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
+.proc   _reset_brk
 
         lda     #$00
         sta     brk_jmp+1
@@ -57,37 +57,37 @@ uservec:            jmp     $FFFF           ; Patched at runtime
 
 ; Break handler, called if a break occurs. 
 
-.proc  brk_handler
-
-       pla
-               sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 0a440312719806b6d833c386c199086c67df9f35..7ff568101e6e67f37235ba309c6b22848d03f880 100644 (file)
@@ -4,87 +4,87 @@
 ; char cgetc (void);
 ;
 
-               .export         _cgetc
-               .import         cursor
+        .export         _cgetc
+        .import         cursor
 
-               .include        "plus4.inc"
+        .include        "plus4.inc"
 
 ; --------------------------------------------------------------------------
 
 .segment        "LOWCODE"       ; Accesses the ROM - must go into low mem
 
-_cgetc:        lda     KEY_COUNT       ; Get number of characters
-               ora     FKEY_COUNT      ; Or with number of function key chars
-               bne     L2              ; Jump if there are already chars waiting
+_cgetc: lda     KEY_COUNT       ; Get number of characters
+        ora     FKEY_COUNT      ; Or with number of function key chars
+        bne     L2              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed
 
-               ldy     CURS_X
-               lda     (CRAM_PTR),y    ; Get current char
-               pha                     ; And save it
-               lda     CHARCOLOR
-               sta     (CRAM_PTR),y
-
-               lda     cursor
-               beq     L1              ; Jump if no cursor
-               tya
-               clc
-               adc     SCREEN_PTR
-               sta     TED_CURSLO
-               lda     SCREEN_PTR+1
-               adc     #$00
-               sbc     #$0B            ; + carry = $C00 (screen address)
-               sta     TED_CURSHI
-
-L1:            lda     KEY_COUNT
-               ora     FKEY_COUNT
-               beq     L1
-               pla
-               sta     (CRAM_PTR),y
-               lda     #$ff
-               sta     TED_CURSLO      ; Cursor off
-               sta     TED_CURSHI
-
-L2:            sta     ENABLE_ROM      ; Bank in the ROM
-        jsr            KBDREAD         ; Read char and return in A (ROM routine)
+        ldy     CURS_X
+        lda     (CRAM_PTR),y    ; Get current char
+        pha                     ; And save it
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y
+
+        lda     cursor
+        beq     L1              ; Jump if no cursor
+        tya
+        clc
+        adc     SCREEN_PTR
+        sta     TED_CURSLO
+        lda     SCREEN_PTR+1
+        adc     #$00
+        sbc     #$0B            ; + carry = $C00 (screen address)
+        sta     TED_CURSHI
+
+L1:     lda     KEY_COUNT
+        ora     FKEY_COUNT
+        beq     L1
+        pla
+        sta     (CRAM_PTR),y
+        lda     #$ff
+        sta     TED_CURSLO      ; Cursor off
+        sta     TED_CURSHI
+
+L2:     sta     ENABLE_ROM      ; Bank in the ROM
+        jsr     KBDREAD         ; Read char and return in A (ROM routine)
         sta     ENABLE_RAM      ; Reenable the RAM
-               ldx     #0
-               rts
+        ldx     #0
+        rts
 
 ; --------------------------------------------------------------------------
 ; Make the function keys return function key codes instead of the current
 ; strings so the program will see and may handle them.
 ; Undo this change when the program ends
 
-       .constructor    initkbd
-       .destructor     donekbd
+        .constructor    initkbd
+        .destructor     donekbd
 
 .segment        "INIT"          ; Special init code segment may get overwritten
 
-.proc  initkbd
+.proc   initkbd
 
-       ldy     #15
-@L1:   lda     fnkeys,y
-       sta     FKEY_SPACE,y
-       dey
-       bpl     @L1
-       rts
+        ldy     #15
+@L1:    lda     fnkeys,y
+        sta     FKEY_SPACE,y
+        dey
+        bpl     @L1
+        rts
 
 .endproc
 
 
 .segment        "LOWCODE"       ; Accesses the ROM - must go into low mem
 
-.proc  donekbd
+.proc   donekbd
 
-       ldx     #$39            ; Copy the original function keys
+        ldx     #$39            ; Copy the original function keys
         sta     ENABLE_ROM      ; Bank in the ROM
-@L1:   lda     FKEY_ORIG,x
-       sta     FKEY_SPACE,x
-       dex
-       bpl     @L1
+@L1:    lda     FKEY_ORIG,x
+        sta     FKEY_SPACE,x
+        dex
+        bpl     @L1
         sta     ENABLE_RAM      ; Bank out the ROM
-       rts
+        rts
 
 .endproc
 
@@ -92,6 +92,6 @@ L2:           sta     ENABLE_ROM      ; Bank in the ROM
 ; Function key table, readonly
 
 .rodata
-fnkeys:        .byte   $01, $01, $01, $01, $01, $01, $01, $01
-       .byte   133, 137, 134, 138, 135, 139, 136, 140
+fnkeys: .byte   $01, $01, $01, $01, $01, $01, $01, $01
+        .byte   133, 137, 134, 138, 135, 139, 136, 140
 
index 6641c336bd367f4a91768625c0907a1300cc48f2..720a5e6e4a4e308fef17a40f50bb969d2cfe241b 100644 (file)
@@ -4,9 +4,9 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
+        .export         _clrscr
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 .segment        "LOWCODE"               ; Must go into low memory
 
index 9d7107de8e12645f48ff24075a48af8e3561fb79..2f3046e8f8ed5f7ee9d18645607d58671b4a4b09 100644 (file)
@@ -6,28 +6,28 @@
 ; unsigned char __fastcall__ bordercolor (unsigned char color);
 ;
 
-       .export         _textcolor, _bgcolor, _bordercolor
+        .export         _textcolor, _bgcolor, _bordercolor
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 _textcolor:
-       ldx     CHARCOLOR       ; get old value
-       sta     CHARCOLOR       ; set new value
-       txa
-       rts
+        ldx     CHARCOLOR       ; get old value
+        sta     CHARCOLOR       ; set new value
+        txa
+        rts
 
 
 _bgcolor:
-               ldx     TED_BGCOLOR     ; get old value
-       sta     TED_BGCOLOR     ; set new value
-       txa
-       rts
+        ldx     TED_BGCOLOR     ; get old value
+        sta     TED_BGCOLOR     ; set new value
+        txa
+        rts
 
 
 _bordercolor:
-               ldx     TED_BORDERCOLOR ; get old value
-       sta     TED_BORDERCOLOR ; set new value
-       txa
-       rts
+        ldx     TED_BORDERCOLOR ; get old value
+        sta     TED_BORDERCOLOR ; set new value
+        txa
+        rts
 
 
index 23c7948560605f6ce4818c57270b7a974a1a21b6..feca30c6898dfc1ca9500b0e29333d11405076c8 100644 (file)
@@ -4,7 +4,7 @@
 ; Low level stuff for screen output/console input
 ;
 
-       .exportzp       CURS_X, CURS_Y
+        .exportzp       CURS_X, CURS_Y
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
index 5788c1cb01540cb172105348bc4e4ce126d63267..a83a9c60beaad68aa2f8ae9c8b0ba3a5be0f578e 100644 (file)
@@ -5,45 +5,45 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .import         popa, _gotoxy
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .import         popa, _gotoxy
         .import         PLOT
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
@@ -57,39 +57,39 @@ L3:     sty     CURS_X
         rts
 
 newline:
-       clc
-       lda     #XSIZE
-       adc     SCREEN_PTR
-       sta     SCREEN_PTR
-       bcc     L4
-       inc     SCREEN_PTR+1
-       clc
-L4:    lda     #XSIZE
-       adc     CRAM_PTR
-       sta     CRAM_PTR
-       bcc     L5
-       inc     CRAM_PTR+1
-L5:    inc     CURS_Y
-       rts
+        clc
+        lda     #XSIZE
+        adc     SCREEN_PTR
+        sta     SCREEN_PTR
+        bcc     L4
+        inc     SCREEN_PTR+1
+        clc
+L4:     lda     #XSIZE
+        adc     CRAM_PTR
+        sta     CRAM_PTR
+        bcc     L5
+        inc     CRAM_PTR+1
+L5:     inc     CURS_Y
+        rts
 
 ; Handle character if high bit set
 
-L10:   and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L11
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L11:   ora     #$40
-       bne     cputdirect
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect
 
 
 
 ; Set cursor position, calculate RAM pointers
 
-plot:  ldy     CURS_X
-       ldx     CURS_Y
-       clc
-       jmp     PLOT            ; Set the new cursor
+plot:   ldy     CURS_X
+        ldx     CURS_Y
+        clc
+        jmp     PLOT            ; Set the new cursor
 
 
 
@@ -97,9 +97,9 @@ plot: ldy     CURS_X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (SCREEN_PTR),y  ; Set char
-       lda     CHARCOLOR
-       sta     (CRAM_PTR),y    ; Set color
-       rts
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (SCREEN_PTR),y  ; Set char
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y    ; Set color
+        rts
index 73460d82b367d08ef5cbcd946ecc8db6ed8a2850..92faadf52eff489ed7a721e57e6998582140754c 100644 (file)
@@ -2,30 +2,30 @@
 ; Startup code for cc65 (Plus/4 version)
 ;
 
-       .export         _exit
+        .export         _exit
         .export         brk_jmp
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
-       .import         callirq_y, initlib, donelib
-       .import         callmain, zerobss
-       .import         __INTERRUPTOR_COUNT__
-       .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
-       .import         __STACKSIZE__                   ; Linker generated
-       .importzp       ST
+        .import         callirq_y, initlib, donelib
+        .import         callmain, zerobss
+        .import         __INTERRUPTOR_COUNT__
+        .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
+        .import         __STACKSIZE__                   ; Linker generated
+        .importzp       ST
 
         .include        "zeropage.inc"
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-IRQInd                 = $500  ; JMP $0000 - used as indirect IRQ vector
+IRQInd          = $500  ; JMP $0000 - used as indirect IRQ vector
 
 ; ------------------------------------------------------------------------
 ; Startup code
 
-.segment               "STARTUP"
+.segment        "STARTUP"
 
 Start:
 
@@ -33,24 +33,24 @@ Start:
 
         sei                     ; No interrupts since we're banking out the ROM
         sta     ENABLE_RAM
-               ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-               bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
         sta     ENABLE_ROM
         cli
 
 ; Switch to second charset
 
-       lda     #14
-       jsr     $FFD2           ; BSOUT
+        lda     #14
+        jsr     $FFD2           ; BSOUT
 
 ; Save system stuff and setup the stack. The stack starts at the top of the
 ; usable RAM.
 
-               tsx
-               stx     spsave          ; save system stk ptr
+        tsx
+        stx     spsave          ; save system stk ptr
 
         lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
         sta     sp
@@ -69,7 +69,7 @@ L1:   lda     sp,x
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Initialize irqcount, which means that from now own custom linked in IRQ
 ; handlers (via condes) will be called.
@@ -79,44 +79,44 @@ L1: lda     sp,x
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-       jsr     callmain
+        jsr     callmain
 
 ; Back from main (this is also the _exit entry). Run module destructors.
 
-_exit:         pha                     ; Save the return code
-        jsr    donelib         ; Run module destructors
+_exit:  pha                     ; Save the return code
+        jsr     donelib         ; Run module destructors
 
 ; Disable chained IRQ handlers
 
-       lda     #0
+        lda     #0
         sta     irqcount        ; Disable custom IRQ handlers
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-               bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Place the program return code into ST
 
-       pla
-       sta     ST
+        pla
+        sta     ST
 
 ; Restore the stack pointer
 
-               ldx     spsave
-               txs
+        ldx     spsave
+        txs
 
 ; Enable the ROM and return to BASIC
 
         sta     ENABLE_ROM
-               rts
+        rts
 
 ; ------------------------------------------------------------------------
 ; IRQ handler. The handler in the ROM enables the kernal and jumps to
@@ -128,12 +128,12 @@ L2:       lda     zpsave,x
 
 .segment        "LOWCODE"
 
-IRQ:    cld                    ; Just to be sure
-       pha
+IRQ:    cld                     ; Just to be sure
+        pha
         txa
         pha
-       tya
-       pha
+        tya
+        pha
         tsx                     ; Get the stack pointer
         lda     $0104,x         ; Get the saved status register
         and     #$10            ; Test for BRK bit
@@ -144,8 +144,8 @@ IRQ:    cld                 ; Just to be sure
 ; condes function is not reentrant. The irqcount flag will be set/reset from
 ; the main code, to avoid races.
 
-       ldy     irqcount
-       beq     @L1
+        ldy     irqcount
+        beq     @L1
         jsr     callirq_y       ; Call the IRQ functions
 
 ; Since the ROM handler will end with an RTI, we have to fake an IRQ return
@@ -156,17 +156,17 @@ IRQ:    cld                       ; Just to be sure
         pha
         lda     #<irq_ret
         pha
-               php                     ; Push faked IRQ frame on stack
-       pha                     ; Push faked A register
-       pha                     ; Push faked X register
-       pha                     ; Push faked Y register
+        php                     ; Push faked IRQ frame on stack
+        pha                     ; Push faked A register
+        pha                     ; Push faked X register
+        pha                     ; Push faked Y register
         sta     ENABLE_ROM      ; Switch to ROM
         jmp     (IRQVec)        ; Jump indirect to kernal irq handler
 
 irq_ret:
         sta     ENABLE_RAM      ; Switch back to RAM
-       pla
-       tay
+        pla
+        tay
         pla
         tax
         pla
@@ -191,12 +191,12 @@ nohandler:
 ; BRK handling
 brk_jmp:        jmp     $0000
 
-spsave:                .res    1
+spsave:         .res    1
 
 irqcount:       .byte   0
 
 .segment        "ZPSAVE"
 
-zpsave:                .res    zpspace
+zpsave:         .res    zpspace
 
 
index d369476e7823f7c44d5a60f5b7c93e05f8781570..ed141d6f138630c38b299dd637213ade244380e0 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index fb696020f0b4ef37cc7d6d5765db3f2081879fdc..ca5ebb4c69030711e71e1b9640dd66ac60327915 100644 (file)
@@ -6,7 +6,7 @@
 ;
 
         .include        "plus4.inc"
-       .include        "get_tv.inc"
+        .include        "get_tv.inc"
 
 
 ;--------------------------------------------------------------------------
@@ -14,7 +14,7 @@
 
 .proc   _get_tv
 
-        ldx     #TV::PAL       ; Assume PAL
+        ldx     #TV::PAL        ; Assume PAL
         bit     TED_MULTI1      ; Test bit 6
         bvc     pal
         dex                     ; NTSC
index 490d5f658097e12ead414a67b93771f00bce0462..082caf848c6c734bdd486b1ecf3eaf78bf1d8823 100644 (file)
@@ -2,8 +2,8 @@
 ; IRQ handling (Plus/4 version)
 ;
 
-       .export         initirq, doneirq
+        .export         initirq, doneirq
 
 initirq:
 doneirq:
-       rts
+        rts
index bdba131fb49ef0dec24fe89567a4a9a2a0ec1ee7..74dbc52e4027c189339273685c778e36fb13ff21 100644 (file)
@@ -5,9 +5,9 @@
 ; Ullrich von Bassewitz, 2002-12-21
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "plus4.inc"
 
@@ -21,8 +21,8 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79          ; "joy"
-        .byte   JOY_API_VERSION                ; Driver API version number
+        .byte   $6A, $6F, $79           ; "joy"
+        .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
 
@@ -65,7 +65,7 @@ JOY_COUNT       = 2             ; Number of joysticks we support
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -89,16 +89,16 @@ COUNT:
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:  ldy     #$FA            ; Load index for joystick #1
-       tax                     ; Test joystick number
-               beq     @L1
-       ldy     #$FB            ; Load index for joystick #2
+READ:   ldy     #$FA            ; Load index for joystick #1
+        tax                     ; Test joystick number
+        beq     @L1
+        ldy     #$FB            ; Load index for joystick #2
 @L1:    sei
-       sty     TED_KBD
-       lda     TED_KBD
-       cli
-       ldx     #$00            ; Clear high byte
-       and     #$1F
-       eor     #$1F
-       rts
+        sty     TED_KBD
+        lda     TED_KBD
+        cli
+        ldx     #$00            ; Clear high byte
+        and     #$1F
+        eor     #$1F
+        rts
 
index d31f32354dbe777accf68554b11646768aed7677..9401d415b9d4958a374f7f602611f69a8f54d725 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _plus4_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _plus4_stdjoy_joy
 
 .rodata
 
index 354ebf7020ce5953324df4212c9f7ea6e0280c0d..b80a3d87e579b31d58673e922ec2216e329087a9 100644 (file)
@@ -6,9 +6,9 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "plus4-stdjoy.joy"
+_joy_stddrv:    .asciiz "plus4-stdjoy.joy"
 
index 87e379955735f86a6c9c9e46c2b2cab725f34b3e..9484d2b4a0476481636e7bc3e14c910bd206ac3f 100644 (file)
@@ -4,16 +4,16 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-       lda     KEY_COUNT       ; Get number of characters
-       ora     FKEY_COUNT      ; Or with number of chars from function keys
+        lda     KEY_COUNT       ; Get number of characters
+        ora     FKEY_COUNT      ; Or with number of chars from function keys
         beq     L9
         lda     #1
 L9:     rts
index eb15bbf956d9026ad7c184431c3c9006325636d5..8f8d07f7a751efdb73247d33debd220c4c0c8d80 100644 (file)
@@ -12,7 +12,7 @@
 
 .proc   CLOSE
         sta     ENABLE_ROM              ; Enable the ROM
-       clc                             ; Force C64 compatible behaviour
+        clc                             ; Force C64 compatible behaviour
         jsr     $FFC3                   ; Call the ROM routine
         sta     ENABLE_RAM              ; Switch back to RAM
         rts                             ; Return to caller
index 90a08c25b2effc57ad730e5f85d23d5e473b3684..43fbb0f5443c8594acdf95d85bef945aa6c9866a 100644 (file)
@@ -17,7 +17,7 @@
 
 ; Store the length of the name into the zero page
 
-       sta     FNAM_LEN
+        sta     FNAM_LEN
 
 ; Check if we have to copy the name to low memory
 
index 7365b1478da2dbba8a71565d1ff470f1db9e925b..7df8402fe1db13e7eefcdc07e134887be693b17e 100644 (file)
 ; - The "file-name" might be a path-name; don't copy the directory-components.
 ; - Add a control-character quoting mechanism.
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
                                                                             
 
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $8f                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $8f                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run
@@ -45,25 +45,25 @@ initmainargs:
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     FNAM_LEN
-       cpy     #NAME_LEN + 1
-       bcc     L1
-       ldy     #NAME_LEN - 1   ; limit the length
-L0:    lda     (FNAM),y
-       sta     name,y
-L1:    dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        ldy     FNAM_LEN
+        cpy     #NAME_LEN + 1
+        bcc     L1
+        ldy     #NAME_LEN - 1   ; limit the length
+L0:     lda     (FNAM),y
+        sta     name,y
+L1:     dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-               beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
@@ -89,11 +89,11 @@ setterm:sta     term            ; Set end of argument marker
 ; necessary.
 
         txa                     ; Get low byte
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       lda     #>BASIC_BUF
-       sta     argv,y
-       iny
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        lda     #>BASIC_BUF
+        sta     argv,y
+        iny
         inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
@@ -120,22 +120,22 @@ argloop:lda     BASIC_BUF,x
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
-       rts
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
+        rts
                       
 ; --------------------------------------------------------------------------
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
 argv:   .addr   name
-        .res           MAXARGS * 2
+        .res    MAXARGS * 2
 
index ff7c05ce9241cb7bdc893cb12a474eabf490bb04..6c7b863533df3eb4e258deea80a33653ab4ede43 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 __randomize:              
         ldx     TED_VLINELO     ; Use TED rasterline as high byte
index c48ff9862212c0ecd1918af22aba9ba39b067dc5..f1c0b4d64a4d9dc0ed92a2e6863b00f1cd5c7c34 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "plus4.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index 30569a31fdfc9a4b786c9bf8d103249573c28fca..ed33aa8c7316d951b18bf5e15c17d6949830fc7b 100644 (file)
@@ -24,7 +24,7 @@
         .include        "zeropage.inc"
         .include        "ser-kernel.inc"
         .include        "ser-error.inc"
-       .include        "plus4.inc"
+        .include        "plus4.inc"
 
 
 ; ------------------------------------------------------------------------
         .word   PUT
         .word   STATUS
         .word   IOCTL
-       .word   IRQ
+        .word   IRQ
 
 ;----------------------------------------------------------------------------
 ; I/O definitions
 
-ACIA                   = $DE00
+ACIA            = $DE00
 ACIA_DATA       = ACIA+0        ; Data register
 ACIA_STATUS     = ACIA+1        ; Status register
 ACIA_CMD        = ACIA+2        ; Command register
@@ -64,19 +64,19 @@ ACIA_CTRL       = ACIA+3        ; Control register
 ;
 
 .bss
-RecvHead:      .res    1       ; Head of receive buffer
-RecvTail:      .res    1       ; Tail of receive buffer
-RecvFreeCnt:   .res    1       ; Number of bytes in receive buffer
-SendHead:      .res    1       ; Head of send buffer
-SendTail:      .res    1       ; Tail of send buffer
-SendFreeCnt:   .res    1       ; Number of bytes in send buffer
+RecvHead:       .res    1       ; Head of receive buffer
+RecvTail:       .res    1       ; Tail of receive buffer
+RecvFreeCnt:    .res    1       ; Number of bytes in receive buffer
+SendHead:       .res    1       ; Head of send buffer
+SendTail:       .res    1       ; Tail of send buffer
+SendFreeCnt:    .res    1       ; Number of bytes in send buffer
 
-Stopped:       .res    1       ; Flow-stopped flag
-RtsOff:                .res    1       ;
+Stopped:        .res    1       ; Flow-stopped flag
+RtsOff:         .res    1       ;
 
 ; Send and receive buffers: 256 bytes each
-RecvBuf:       .res    256
-SendBuf:       .res    256
+RecvBuf:        .res    256
+SendBuf:        .res    256
 
 .rodata
 
@@ -146,14 +146,14 @@ CLOSE:
 
 ; Deactivate DTR and disable 6551 interrupts
 
-       lda     #%00001010
-               sta     ACIA_CMD
+        lda     #%00001010
+        sta     ACIA_CMD
 
 ; Done, return an error code
 
         lda     #<SER_ERR_OK
         tax                     ; A is zero
-       rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; PARAMS routine. A pointer to a ser_params structure is passed in ptr1.
@@ -163,22 +163,22 @@ OPEN:
 
 ; Check if the handshake setting is valid
 
-        ldy    #SER_PARAMS::HANDSHAKE  ; Handshake
+        ldy     #SER_PARAMS::HANDSHAKE  ; Handshake
         lda     (ptr1),y
-        cmp    #SER_HS_HW              ; This is all we support
-        bne    InvParam
+        cmp     #SER_HS_HW              ; This is all we support
+        bne     InvParam
 
 ; Initialize buffers
 
-        ldx    #0
+        ldx     #0
         stx     Stopped
-               stx     RecvHead
-       stx     RecvTail
-       stx     SendHead
-       stx     SendTail
+        stx     RecvHead
+        stx     RecvTail
+        stx     SendHead
+        stx     SendTail
         dex                             ; X = 255
-               stx     RecvFreeCnt
-       stx     SendFreeCnt
+        stx     RecvFreeCnt
+        stx     SendFreeCnt
 
 ; Set the value for the control register, which contains stop bits, word
 ; length and the baud rate.
@@ -187,48 +187,48 @@ OPEN:
         lda     (ptr1),y                ; Baudrate index
         tay
         lda     BaudTable,y             ; Get 6551 value
-        bmi     InvBaud                        ; Branch if rate not supported
+        bmi     InvBaud                 ; Branch if rate not supported
         sta     tmp1
 
-        ldy    #SER_PARAMS::DATABITS   ; Databits
+        ldy     #SER_PARAMS::DATABITS   ; Databits
         lda     (ptr1),y
         tay
         lda     BitTable,y
         ora     tmp1
         sta     tmp1
 
-        ldy    #SER_PARAMS::STOPBITS   ; Stopbits
+        ldy     #SER_PARAMS::STOPBITS   ; Stopbits
         lda     (ptr1),y
         tay
         lda     StopTable,y
         ora     tmp1
-        ora    #%00010000              ; Receiver clock source = baudrate
-       sta     ACIA_CTRL
+        ora     #%00010000              ; Receiver clock source = baudrate
+        sta     ACIA_CTRL
 
 ; Set the value for the command register. We remember the base value in
 ; RtsOff, since we will have to manipulate ACIA_CMD often.
 
-        ldy            #SER_PARAMS::PARITY     ; Parity
+        ldy     #SER_PARAMS::PARITY     ; Parity
         lda     (ptr1),y
         tay
         lda     ParityTable,y
-       ora     #%00000001              ; DTR active
-       sta     RtsOff
-               ora     #%00001000              ; Enable receive interrupts
-               sta     ACIA_CMD
+        ora     #%00000001              ; DTR active
+        sta     RtsOff
+        ora     #%00001000              ; Enable receive interrupts
+        sta     ACIA_CMD
 
 ; Done
 
         lda     #<SER_ERR_OK
         tax                             ; A is zero
-               rts
+        rts
 
 ; Invalid parameter
 
 InvParam:
-       lda     #<SER_ERR_INIT_FAILED
-       ldx     #>SER_ERR_INIT_FAILED
-       rts
+        lda     #<SER_ERR_INIT_FAILED
+        ldx     #>SER_ERR_INIT_FAILED
+        rts
 
 ; Baud rate not available
 
@@ -243,43 +243,43 @@ InvBaud:
 ; return.
 ;
 
-GET:    ldx    SendFreeCnt             ; Send data if necessary
-               inx                             ; X == $FF?
-       beq     @L1
-       lda     #$00
-       jsr     TryToSend
+GET:    ldx     SendFreeCnt             ; Send data if necessary
+        inx                             ; X == $FF?
+        beq     @L1
+        lda     #$00
+        jsr     TryToSend
 
 ; Check for buffer empty
 
-@L1:   lda     RecvFreeCnt             ; (25)
-       cmp     #$ff
-       bne     @L2
-       lda     #<SER_ERR_NO_DATA
-       ldx     #>SER_ERR_NO_DATA
-       rts
+@L1:    lda     RecvFreeCnt             ; (25)
+        cmp     #$ff
+        bne     @L2
+        lda     #<SER_ERR_NO_DATA
+        ldx     #>SER_ERR_NO_DATA
+        rts
 
 ; Check for flow stopped & enough free: release flow control
 
-@L2:   ldx     Stopped                 ; (34)
-       beq     @L3
-       cmp     #63
-       bcc     @L3
-       lda     #$00
-       sta     Stopped
-       lda     RtsOff
-       ora     #%00001000
-       sta     ACIA_CMD
+@L2:    ldx     Stopped                 ; (34)
+        beq     @L3
+        cmp     #63
+        bcc     @L3
+        lda     #$00
+        sta     Stopped
+        lda     RtsOff
+        ora     #%00001000
+        sta     ACIA_CMD
 
 ; Get byte from buffer
 
-@L3:   ldx     RecvHead                ; (41)
-               lda     RecvBuf,x
-       inc     RecvHead
-       inc     RecvFreeCnt
-               ldx     #$00                    ; (59)
-       sta     (ptr1,x)
-               txa                             ; Return code = 0
-       rts
+@L3:    ldx     RecvHead                ; (41)
+        lda     RecvBuf,x
+        inc     RecvHead
+        inc     RecvFreeCnt
+        ldx     #$00                    ; (59)
+        sta     (ptr1,x)
+        txa                             ; Return code = 0
+        rts
 
 ;----------------------------------------------------------------------------
 ; PUT: Output character in A.
@@ -290,40 +290,40 @@ PUT:
 
 ; Try to send
 
-        ldx    SendFreeCnt
-               inx                             ; X = $ff?
-       beq     @L2
-       pha
-       lda     #$00
-       jsr     TryToSend
-       pla
+        ldx     SendFreeCnt
+        inx                             ; X = $ff?
+        beq     @L2
+        pha
+        lda     #$00
+        jsr     TryToSend
+        pla
 
 ; Put byte into send buffer & send
 
-@L2:   ldx     SendFreeCnt
-       bne     @L3
-       lda     #<SER_ERR_OVERFLOW      ; X is already zero
-       rts
-
-@L3:   ldx     SendTail
-       sta     SendBuf,x
-       inc     SendTail
-       dec     SendFreeCnt
-       lda     #$ff
-       jsr     TryToSend
-       lda     #<SER_ERR_OK
-       tax
-               rts
+@L2:    ldx     SendFreeCnt
+        bne     @L3
+        lda     #<SER_ERR_OVERFLOW      ; X is already zero
+        rts
+
+@L3:    ldx     SendTail
+        sta     SendBuf,x
+        inc     SendTail
+        dec     SendFreeCnt
+        lda     #$ff
+        jsr     TryToSend
+        lda     #<SER_ERR_OK
+        tax
+        rts
 
 ;----------------------------------------------------------------------------
 ; STATUS: Return the status in the variable pointed to by ptr1.
 ; Must return an error code in a/x.
 ;
 
-STATUS: lda            ACIA_STATUS
-               ldx     #0
-       sta     (ptr1,x)
-       txa                             ; SER_ERR_OK
+STATUS: lda     ACIA_STATUS
+        ldx     #0
+        sta     (ptr1,x)
+        txa                             ; SER_ERR_OK
         rts
 
 ;----------------------------------------------------------------------------
@@ -334,7 +334,7 @@ STATUS: lda         ACIA_STATUS
 
 IOCTL:  lda     #<SER_ERR_INV_IOCTL     ; We don't support ioclts for now
         ldx     #>SER_ERR_INV_IOCTL
-        rts                            ; Run into IRQ instead
+        rts                             ; Run into IRQ instead
 
 ;----------------------------------------------------------------------------
 ; IRQ: Called from the builtin runtime IRQ handler as a subroutine. All
@@ -343,25 +343,25 @@ IOCTL:  lda     #<SER_ERR_INV_IOCTL     ; We don't support ioclts for now
 ; was handled, otherwise with carry clear.
 ;
 
-IRQ:    lda            ACIA_STATUS     ; Check ACIA status for receive interrupt
-       and     #$08
-               beq     @L9             ; Jump if no ACIA interrupt (carry still clear)
-        lda    ACIA_DATA       ; Get byte from ACIA
-       ldx     RecvFreeCnt     ; Check if we have free space left
-               beq     @L1             ; Jump if no space in receive buffer
-       ldy     RecvTail        ; Load buffer pointer
-       sta     RecvBuf,y       ; Store received byte in buffer
-       inc     RecvTail        ; Increment buffer pointer
-       dec     RecvFreeCnt     ; Decrement free space counter
-       cpx     #33             ; Check for buffer space low
-               bcc     @L1             ; Assert flow control if buffer space low
+IRQ:    lda     ACIA_STATUS     ; Check ACIA status for receive interrupt
+        and     #$08
+        beq     @L9             ; Jump if no ACIA interrupt (carry still clear)
+        lda     ACIA_DATA       ; Get byte from ACIA
+        ldx     RecvFreeCnt     ; Check if we have free space left
+        beq     @L1             ; Jump if no space in receive buffer
+        ldy     RecvTail        ; Load buffer pointer
+        sta     RecvBuf,y       ; Store received byte in buffer
+        inc     RecvTail        ; Increment buffer pointer
+        dec     RecvFreeCnt     ; Decrement free space counter
+        cpx     #33             ; Check for buffer space low
+        bcc     @L1             ; Assert flow control if buffer space low
         rts                     ; Return with carry set (interrupt handled)
 
 ; Assert flow control if buffer space too low
 
-@L1:   lda     RtsOff
-       sta     ACIA_CMD
-       sta     Stopped
+@L1:    lda     RtsOff
+        sta     ACIA_CMD
+        sta     Stopped
         sec                     ; Interrupt handled
 @L9:    rts
 
@@ -370,33 +370,33 @@ IRQ:    lda       ACIA_STATUS     ; Check ACIA status for receive interrupt
 
 .proc   TryToSend
 
-       sta     tmp1            ; Remember tryHard flag
-@L0:           lda     SendFreeCnt
-       cmp     #$ff
-       beq     @L3             ; Bail out
+        sta     tmp1            ; Remember tryHard flag
+@L0:    lda     SendFreeCnt
+        cmp     #$ff
+        beq     @L3             ; Bail out
 
 ; Check for flow stopped
 
-@L1:   lda     Stopped
-               bne     @L3             ; Bail out
+@L1:    lda     Stopped
+        bne     @L3             ; Bail out
 
 ; Check that swiftlink is ready to send
 
-@L2:           lda     ACIA_STATUS
-       and     #$10
-       bne     @L4
-       bit     tmp1            ;keep trying if must try hard
-               bmi     @L0
-@L3:   rts
+@L2:    lda     ACIA_STATUS
+        and     #$10
+        bne     @L4
+        bit     tmp1            ;keep trying if must try hard
+        bmi     @L0
+@L3:    rts
 
 ; Send byte and try again
 
-@L4:   ldx     SendHead
-       lda     SendBuf,x
-       sta     ACIA_DATA
-       inc     SendHead
-       inc     SendFreeCnt
-       jmp     @L0
+@L4:    ldx     SendHead
+        lda     SendBuf,x
+        sta     ACIA_DATA
+        inc     SendHead
+        inc     SendFreeCnt
+        jmp     @L0
 
 .endproc
 
index 3620c9107361a5eab3bebebab44d1a4f771b83bc..c6f27923064bfbf5160015fb10a5491fbeaf81b0 100644 (file)
@@ -2,4 +2,4 @@
 ; Oliver Schmidt, 2012-09-30
 ;
 
-       .exportzp       ST := $90       ; IEC status byte
+        .exportzp       ST := $90       ; IEC status byte
index 1d039e80e0ac43fc79e4baa583a12bc17b8894a3..d22b8c596c8dff2f4624405b064373c8d7e20663 100644 (file)
@@ -9,7 +9,7 @@
 ;  */
 ;
 
-       .export         __systime
+        .export         __systime
 
         .importzp       sreg
 
index a4a058ddf48ba95ea054fced47831ba0521b3ad9..6fb2dacf7ee48b70d49453e410476ac63a0b61f1 100644 (file)
@@ -7,33 +7,33 @@
 ; Make this as fast as possible, even if it needs more space since it's
 ; called a lot!
 
-               .export         tosadda0, tosaddax
-       .importzp       sp
+        .export         tosadda0, tosaddax
+        .importzp       sp
 
         .macpack        cpu
 
 tosadda0:
-       ldx     #0
+        ldx     #0
 tosaddax:
-       clc
+        clc
 .if (.cpu .bitand CPU_ISET_65SC02)
-       adc     (sp)            ; 65SC02 version - saves 2 cycles
-       ldy     #1
+        adc     (sp)            ; 65SC02 version - saves 2 cycles
+        ldy     #1
 .else
-       ldy     #0
-       adc     (sp),y          ; lo byte
-       iny
+        ldy     #0
+        adc     (sp),y          ; lo byte
+        iny
 .endif
-               pha                     ; save it
-       txa
-       adc     (sp),y          ; hi byte
-       tax
-       clc
-       lda     sp
-       adc     #2
-       sta     sp
-       bcc     L1
-       inc     sp+1
-L1:            pla                     ; Restore low byte
-       rts
+        pha                     ; save it
+        txa
+        adc     (sp),y          ; hi byte
+        tax
+        clc
+        lda     sp
+        adc     #2
+        sta     sp
+        bcc     L1
+        inc     sp+1
+L1:     pla                     ; Restore low byte
+        rts
 
index d667e36d905c0242365c5942a9778d4735bf8488..5112d2790b461dffd2f20ac01de433dcef2e9de1 100644 (file)
@@ -4,21 +4,21 @@
 ; CC65 runtime: += operator for ints on the stack
 ;
 
-               .export         addeq0sp, addeqysp
-       .importzp       sp
+        .export         addeq0sp, addeqysp
+        .importzp       sp
 
 addeq0sp:
-       ldy     #0
+        ldy     #0
 addeqysp:
-       clc
-       adc     (sp),y
-       sta     (sp),y
-       pha
-       iny
-       txa
-       adc     (sp),y
-       sta     (sp),y
-       tax
-       pla
-       rts
+        clc
+        adc     (sp),y
+        sta     (sp),y
+        pha
+        iny
+        txa
+        adc     (sp),y
+        sta     (sp),y
+        tax
+        pla
+        rts
 
index b5069f10a66d0c338651f99552b6ef1c0c1d78b7..e0e7db1ceefe04b0fa3aa8518a1238ed934ea6c1 100644 (file)
@@ -4,18 +4,18 @@
 ; CC65 runtime: Increment the stackpointer by value in y
 ;
 
-               .export         addysp1, addysp
-       .importzp       sp
+        .export         addysp1, addysp
+        .importzp       sp
 
 addysp1:
-       iny
-addysp:        pha                     ; Save A
-       clc
-       tya                     ; Get the value
-       adc     sp              ; Add low byte
-       sta     sp              ; Put it back
-       bcc     @L1             ; If no carry, we're done
-       inc     sp+1            ; Inc high byte
-@L1:   pla                     ; Restore A
-       rts
+        iny
+addysp: pha                     ; Save A
+        clc
+        tya                     ; Get the value
+        adc     sp              ; Add low byte
+        sta     sp              ; Put it back
+        bcc     @L1             ; If no carry, we're done
+        inc     sp+1            ; Inc high byte
+@L1:    pla                     ; Restore A
+        rts
 
index e8707d8c65bd4c8ae9aa75032f577db88b5747e6..661b3124a871f807dd85caac0f5120f041d53efa 100644 (file)
@@ -4,21 +4,21 @@
 ; CC65 runtime: Convert char in ax into a long
 ;
 
-               .export         aulong, along
-       .importzp       sreg
+        .export         aulong, along
+        .importzp       sreg
 
 ; Convert A from char to long in EAX
 
-aulong: ldx    #0
-       stx     sreg
-       stx     sreg+1
-               rts
+aulong: ldx     #0
+        stx     sreg
+        stx     sreg+1
+        rts
 
-along:         cmp     #$80            ; Positive?
-       bcc     aulong          ; Yes, handle like unsigned type
-       ldx     #$ff
-       stx     sreg
-       stx     sreg+1
-       rts
+along:  cmp     #$80            ; Positive?
+        bcc     aulong          ; Yes, handle like unsigned type
+        ldx     #$ff
+        stx     sreg
+        stx     sreg+1
+        rts
 
 
index c38b47bb23b7abcb8bb0fe98d25ba987d46a4aea..8c180b580c7d98f34b1474742621af43da5a2a72 100644 (file)
@@ -4,27 +4,27 @@
 ; CC65 runtime: and on ints
 ;
 
-               .export         tosanda0, tosandax
-       .import         addysp1
-       .importzp       sp, ptr4
+        .export         tosanda0, tosandax
+        .import         addysp1
+        .importzp       sp, ptr4
 
         .macpack        cpu
 
 tosanda0:
-       ldx     #$00
+        ldx     #$00
 tosandax:
 .if (.cpu .bitand CPU_ISET_65SC02)
-       and     (sp)            ; 65SC02 version, saves 2 cycles and 1 byte
-       ldy     #1
+        and     (sp)            ; 65SC02 version, saves 2 cycles and 1 byte
+        ldy     #1
 .else
-       ldy     #0
-               and     (sp),y
-       iny
+        ldy     #0
+        and     (sp),y
+        iny
 .endif
-               pha
-       txa
-       and     (sp),y
-       tax
-       pla
-       jmp     addysp1         ; drop TOS, set condition codes
+        pha
+        txa
+        and     (sp),y
+        tax
+        pla
+        jmp     addysp1         ; drop TOS, set condition codes
 
index eddb5272a47fea7df280077d507b9d4f10315c47..14f0be3cc33b9d3ac7e5121d8f5f14847e7594fd 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Scale the primary register
 ;
 
-               .export         aslax1, shlax1
-       .importzp       tmp1
-                           
+        .export         aslax1, shlax1
+        .importzp       tmp1
+                            
 aslax1:
-shlax1: stx    tmp1
-       asl     A
-       rol     tmp1
-       ldx     tmp1
-       rts
+shlax1: stx     tmp1
+        asl     A
+        rol     tmp1
+        ldx     tmp1
+        rts
 
 
index e6e56b0d0697bd9e6b07577f0b1905e2a5669b1a..79495e3e2dea508a7ba016e0097c6b84f6fbad61 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Scale the primary register by 4
 ;
 
-               .export         aslax2, shlax2
-       .importzp       tmp1
+        .export         aslax2, shlax2
+        .importzp       tmp1
 
 aslax2:
-shlax2:        stx     tmp1
-               asl     a
-               rol     tmp1
-               asl     a
-               rol     tmp1
-               ldx     tmp1
-               rts
+shlax2: stx     tmp1
+        asl     a
+        rol     tmp1
+        asl     a
+        rol     tmp1
+        ldx     tmp1
+        rts
 
index 9c9bbb8065dcf35a941f27274464a51c5147d2e3..8cf19d48f725d599bcdb47b657b74bb1b7cc76af 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Scale the primary register by 8
 ;
 
-       .export         aslax3, shlax3
-       .importzp       tmp1
+        .export         aslax3, shlax3
+        .importzp       tmp1
 
 aslax3:
-shlax3:        stx     tmp1
-               asl     a
-               rol     tmp1
-               asl     a
-               rol     tmp1
-               asl     a
-               rol     tmp1
-               ldx     tmp1
-               rts
+shlax3: stx     tmp1
+        asl     a
+        rol     tmp1
+        asl     a
+        rol     tmp1
+        asl     a
+        rol     tmp1
+        ldx     tmp1
+        rts
 
index 13c52731d246856631affd294414712e47c6f62c..df88a5fb40ac54faec847ccf5e3395a28f1de5a5 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: Scale the primary register by 16
 ;
 
-       .export         aslax4, shlax4
-       .importzp       tmp1
+        .export         aslax4, shlax4
+        .importzp       tmp1
 
 aslax4:
-shlax4:        stx     tmp1
-               asl     a
-               rol     tmp1
-               asl     a
-               rol     tmp1
-               asl     a
-               rol     tmp1
-               asl     a
-               rol     tmp1
-               ldx     tmp1
-               rts
+shlax4: stx     tmp1
+        asl     a
+        rol     tmp1
+        asl     a
+        rol     tmp1
+        asl     a
+        rol     tmp1
+        asl     a
+        rol     tmp1
+        ldx     tmp1
+        rts
 
index 8f30a18a39c1c737245968b886f218d7cd8bb15e..d3d2f7070b88f860e7a9c79cb6b065f81dd9c8e1 100644 (file)
@@ -4,16 +4,16 @@
 ; CC65 runtime: Scale the 32 bit primary register by 2
 ;
 
-               .export         asleax1, shleax1
-       .importzp       sreg, tmp1
+        .export         asleax1, shleax1
+        .importzp       sreg, tmp1
 
 asleax1:
 shleax1:
-       stx     tmp1
-       asl     a
-       rol     tmp1
-       rol     sreg
-       rol     sreg+1
-       ldx     tmp1
-       rts
+        stx     tmp1
+        asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        ldx     tmp1
+        rts
 
index 772a37d9bee211cad9936647a491e750f328d4d4..356f34d082fdc1b16179c05baa4d9c03b41d81e6 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Scale the 32 bit primary register by 4
 ;
 
-       .export         asleax2, shleax2
-       .importzp       sreg, tmp1
+        .export         asleax2, shleax2
+        .importzp       sreg, tmp1
 
 asleax2:
 shleax2:
-       stx     tmp1
-       asl     a
-       rol     tmp1
-       rol     sreg
-       rol     sreg+1
-       asl     a
-       rol     tmp1
-       rol     sreg
-       rol     sreg+1
-       ldx     tmp1
-       rts
+        stx     tmp1
+        asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        ldx     tmp1
+        rts
 
index 1c45320eb841b0585777b5ce562e9e908e781c2c..b5a1e3847119b819d753d615b40fed10c87d7eae 100644 (file)
@@ -4,24 +4,24 @@
 ; CC65 runtime: Scale the 32 bit primary register by 8
 ;
 
-       .export         asleax3, shleax3
-       .importzp       sreg, tmp1
+        .export         asleax3, shleax3
+        .importzp       sreg, tmp1
 
 asleax3:
 shleax3:
-               stx     tmp1
-               asl     a
-               rol     tmp1
-               rol     sreg
-               rol     sreg+1
-               asl     a
-       rol     tmp1
-       rol     sreg
-       rol     sreg+1
-               asl     a
-       rol     tmp1
-       rol     sreg
-       rol     sreg+1
-       ldx     tmp1
-       rts
+        stx     tmp1
+        asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        ldx     tmp1
+        rts
 
index b5f1721037fee6932ab04a832300a26c64ea1ede..4d8017dbc83f6ddb51ab3a294f90be9dd3f423f0 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: Scale the 32 bit primary register by 16
 ;
 
-       .export         asleax4, shleax4
-       .importzp       sreg, tmp1
+        .export         asleax4, shleax4
+        .importzp       sreg, tmp1
 
 asleax4:
 shleax4:
-               stx     tmp1
-       ldx     #4
-@L1:   asl     a
-               rol     tmp1
-               rol     sreg
-               rol     sreg+1
-       dex
-       bne     @L1
-       ldx     tmp1
-       rts
+        stx     tmp1
+        ldx     #4
+@L1:    asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
+        dex
+        bne     @L1
+        ldx     tmp1
+        rts
 
index 48b5075b5784ff47da60bd25cd226f199deab074..814a18c4b978eb498c04420e2e4dab5606c0226f 100644 (file)
@@ -11,9 +11,9 @@
 ;
 
 
-       .export         tosasrax, asraxy
-       .import         popax
-       .importzp       tmp1
+        .export         tosasrax, asraxy
+        .import         popax
+        .importzp       tmp1
 
 tosasrax:
         sta     tmp1            ; Save shift count
@@ -69,10 +69,10 @@ L7:     cpx     #$80            ; Sign bit into carry
         ror     tmp1
         ror     a
         dey
-               bne     L7
+        bne     L7
 
 ; Done with shift
 
-        ldx    tmp1
+        ldx     tmp1
         rts
 
index bf7646aefe31e91ff7273dccee78523e94ed3979..3f0295e632edd764b01bdad8aa16ddb257c2c388 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Scale the primary register
 ;
 
-               .export         asrax1
-       .importzp       tmp1
+        .export         asrax1
+        .importzp       tmp1
 
-asrax1: stx    tmp1
-       cpx     #$80            ; Put bit 7 into carry
-       ror     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+asrax1: stx     tmp1
+        cpx     #$80            ; Put bit 7 into carry
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index b6cb3f7f423f352a89faa0858025ee91b04fae4f..e1c9065eec72e6a35a85bd65ebfe3df36f1b9083 100644 (file)
@@ -4,16 +4,16 @@
 ; CC65 runtime: Scale the primary register by 4
 ;
 
-               .export         asrax2
-       .importzp       tmp1
+        .export         asrax2
+        .importzp       tmp1
 
-asrax2:        stx     tmp1
-       cpx     #$80            ; Put bit 7 into carry
-       ror     tmp1
-       ror     a
-       cpx     #$80
-       ror     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+asrax2: stx     tmp1
+        cpx     #$80            ; Put bit 7 into carry
+        ror     tmp1
+        ror     a
+        cpx     #$80
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index ee3e9f0911bac6a233de8950979f9cec96f7667f..52a2f375c15276fcffaa4c67daeab19341d13107 100644 (file)
@@ -5,19 +5,19 @@
 ; CC65 runtime: Scale the primary register by 8
 ;
 
-       .export         asrax3
-       .importzp       tmp1
+        .export         asrax3
+        .importzp       tmp1
 
-asrax3:        stx     tmp1
-       cpx     #$80            ; Put bit 7 into carry
-       ror     tmp1
-       ror     a
-       cpx     #$80
-       ror     tmp1
-       ror     a
-       cpx     #$80
-       ror     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+asrax3: stx     tmp1
+        cpx     #$80            ; Put bit 7 into carry
+        ror     tmp1
+        ror     a
+        cpx     #$80
+        ror     tmp1
+        ror     a
+        cpx     #$80
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 61b6645b633c5341fe38f4969baf316c93e67c89..0d6aa110f8fb391db4718654625a9b1d75a2db37 100644 (file)
@@ -5,22 +5,22 @@
 ; CC65 runtime: Scale the primary register by 16
 ;
 
-       .export         asrax4
-       .importzp       tmp1
+        .export         asrax4
+        .importzp       tmp1
 
-asrax4:        stx     tmp1
-       cpx     #$80            ; Put bit 7 into carry
-       ror     tmp1
-       ror     a
-       cpx     #$80
-       ror     tmp1
-       ror     a
-       cpx     #$80
-       ror     tmp1
-       ror     a
-       cpx     #$80
-       ror     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+asrax4: stx     tmp1
+        cpx     #$80            ; Put bit 7 into carry
+        ror     tmp1
+        ror     a
+        cpx     #$80
+        ror     tmp1
+        ror     a
+        cpx     #$80
+        ror     tmp1
+        ror     a
+        cpx     #$80
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index ab02ed9d2abdd29987472c17d1d22d500d45d24a..d304c633465a413f18b9991c468ffedb057da757 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Scale the primary register
 ;
 
-               .export         asreax1
-       .importzp       sreg, tmp1
+        .export         asreax1
+        .importzp       sreg, tmp1
 
 asreax1:
-       stx     tmp1
-               ldx     sreg+1
-               cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               ldx     tmp1
-               rts
+        stx     tmp1
+        ldx     sreg+1
+        cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 9006b122272d9bd2ad2ed95c2afd38826c3ecf30..7dfd43e1ebd545b8b06c0808472d9e215adcf29b 100644 (file)
@@ -4,22 +4,22 @@
 ; CC65 runtime: Scale the 32 bit primary register by 4
 ;
 
-       .export         asreax2
-       .importzp       sreg, tmp1
+        .export         asreax2
+        .importzp       sreg, tmp1
 
 asreax2:
-       stx     tmp1
-               ldx     sreg+1
-               cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               ldx     tmp1
-               rts
+        stx     tmp1
+        ldx     sreg+1
+        cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 5f759b2eeb936b6f932cc6e01937252994c915d8..ef11a2cf97f0ffc586af0c9a1df4d900a5eacb65 100644 (file)
@@ -4,27 +4,27 @@
 ; CC65 runtime: Scale the 32 bit primary register by 8
 ;
 
-       .export         asreax3
-       .importzp       sreg, tmp1
+        .export         asreax3
+        .importzp       sreg, tmp1
 
 asreax3:
-               stx     tmp1
-               ldx     sreg+1
-               cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               ldx     tmp1
-               rts
+        stx     tmp1
+        ldx     sreg+1
+        cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 577d9ae1276fbf5d722de7b9c4d0818040fe25cc..62f9808d792930565aad44844bdb005a81480de3 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Scale the 32 bit primary register by 16
 ;
 
-               .export         asreax4
-               .importzp       sreg, tmp1
+        .export         asreax4
+        .importzp       sreg, tmp1
 
 asreax4:
-               stx     tmp1
-               ldx     sreg+1
-       ldy     #4
-@L1:   cpx     #$80            ; Get bit 7 into carry
-               ror     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-       dey
-       bne     @L1
-               ldx     tmp1
-               rts
+        stx     tmp1
+        ldx     sreg+1
+        ldy     #4
+@L1:    cpx     #$80            ; Get bit 7 into carry
+        ror     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        dey
+        bne     @L1
+        ldx     tmp1
+        rts
 
index dd208bf174463f252f9fd2050863a4840fd54cf0..6d97b5025bf885895e734e8f5a1ca9168056d18b 100644 (file)
@@ -4,23 +4,23 @@
 ; CC65 runtime: Convert int in ax into a long
 ;
 
-               .export         axulong, axlong
-       .importzp       sreg
+        .export         axulong, axlong
+        .importzp       sreg
 
 ; Convert AX from int to long in EAX
 
 axulong:
-       ldy     #0
-       sty     sreg
-       sty     sreg+1
-               rts
+        ldy     #0
+        sty     sreg
+        sty     sreg+1
+        rts
 
-axlong:        cpx     #$80            ; Positive?
-       bcc     axulong         ; Yes, handle like unsigned type
-       ldy     #$ff
-       sty     sreg
-       sty     sreg+1
-       rts
+axlong: cpx     #$80            ; Positive?
+        bcc     axulong         ; Yes, handle like unsigned type
+        ldy     #$ff
+        sty     sreg
+        sty     sreg+1
+        rts
 
 
 
index 8f488f9c1972bbc0df14a698e6c17192030e3af7..fa301cd6a3bccbde3eee6adc778850d1179f8bfb 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: boolean negation
 ;
 
-               .export         bnega, bnegax
-       .import         return0, return1
+        .export         bnega, bnegax
+        .import         return0, return1
 
-bnegax:        cpx     #0
-       bne     L0
-bnega:         tax
-       bne     L0
-L1:    lda     #1              ; Zero already in X
-       rts
+bnegax: cpx     #0
+        bne     L0
+bnega:  tax
+        bne     L0
+L1:     lda     #1              ; Zero already in X
+        rts
 
-L0:    ldx     #0
-       txa
-       rts
+L0:     ldx     #0
+        txa
+        rts
 
index f4d8d532fa62b83a28ae2269bb0d3514a42f843e..1c6add4a98f7fa4874dbb1e7db2ce7bcd5182e60 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Load a from stack slot and push as byte
 ;
 
-       .export         bpushbsp, bpushbysp
-       .import         pusha
-       .importzp       sp
+        .export         bpushbsp, bpushbysp
+        .import         pusha
+        .importzp       sp
 
 bpushbsp:
-       ldy     #0
+        ldy     #0
 bpushbysp:
-       lda     (sp),y
-       jmp     pusha
+        lda     (sp),y
+        jmp     pusha
 
 
 
index 0600177cdc5dcf62905c85cf4066e5ee8f1aa717..d95b69a73f8d7cbee9020925105d9ea50424cb8e 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: call function via pointer in ax
 ;
 
-       .export         callax
-       .importzp       ptr1
+        .export         callax
+        .importzp       ptr1
 
-callax:        sta     ptr1
-       stx     ptr1+1
-       jmp     (ptr1)          ; jump there
+callax: sta     ptr1
+        stx     ptr1+1
+        jmp     (ptr1)          ; jump there
 
index 7e7b6894ef62ae9ffe9be631dc97fb6a24017bf6..83cd7448273d1552cf34758627bf54cdebe2d905 100644 (file)
@@ -5,8 +5,8 @@
 ;
 
 
-       .export         callmain
-               .export         __argc, __argv
+        .export         callmain
+        .export         __argc, __argv
 
         .import         _main, pushax
 
@@ -23,7 +23,7 @@
         ldx     __argv+1
         jsr     pushax          ; Push argv
 
-       ldy     #4              ; Argument size
+        ldy     #4              ; Argument size
         jmp     _main
 
 .endproc
index 5e9626321bdaea13087e608a70ffd91400171e06..254afde98d504580cb1c9649f9d26bb973040731 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: integer complement
 ;
 
-               .export         complax
+        .export         complax
 
 complax:
-       eor     #$FF            ; Not A
-       pha
-       txa
-       eor     #$FF            ; Not X
-       tax
-       pla
-       rts
+        eor     #$FF            ; Not A
+        pha
+        txa
+        eor     #$FF            ; Not X
+        tax
+        pla
+        rts
 
index c94e41252285292f8aac50e6d28e80ba0f05e6d3..c04f718084d0342529a7436cefeb936aabe7f596 100644 (file)
 ; code.
 
 
-               .export initlib, donelib, condes
+        .export initlib, donelib, condes
 
-               .import __CONSTRUCTOR_TABLE__, __CONSTRUCTOR_COUNT__
-       .import __DESTRUCTOR_TABLE__, __DESTRUCTOR_COUNT__
+        .import __CONSTRUCTOR_TABLE__, __CONSTRUCTOR_COUNT__
+        .import __DESTRUCTOR_TABLE__, __DESTRUCTOR_COUNT__
 
         .macpack        cpu
 
 
 .segment        "INIT"
 
-.proc  initlib
+.proc   initlib
 
-       ldy     #<(__CONSTRUCTOR_COUNT__*2)
-               beq     exit
-       lda     #<__CONSTRUCTOR_TABLE__
-       ldx     #>__CONSTRUCTOR_TABLE__
+        ldy     #<(__CONSTRUCTOR_COUNT__*2)
+        beq     exit
+        lda     #<__CONSTRUCTOR_TABLE__
+        ldx     #>__CONSTRUCTOR_TABLE__
         jmp     condes
 exit:   rts
 
@@ -42,13 +42,13 @@ exit:   rts
 
 .code
 
-.proc  donelib
+.proc   donelib
 
-       ldy     #<(__DESTRUCTOR_COUNT__*2)
-       beq     exit
-       lda     #<__DESTRUCTOR_TABLE__
-       ldx     #>__DESTRUCTOR_TABLE__
-       jmp     condes
+        ldy     #<(__DESTRUCTOR_COUNT__*2)
+        beq     exit
+        lda     #<__DESTRUCTOR_TABLE__
+        ldx     #>__DESTRUCTOR_TABLE__
+        jmp     condes
 exit:   rts
 
 .endproc
@@ -61,22 +61,22 @@ exit:   rts
 
 .data
 
-.proc  condes
+.proc   condes
 
-       sta     fetch1+1
-       stx     fetch1+2
-       sta     fetch2+1
-       stx     fetch2+2
+        sta     fetch1+1
+        stx     fetch1+2
+        sta     fetch2+1
+        stx     fetch2+2
 loop:   dey
 fetch1: lda     $FFFF,y                 ; Patched at runtime
         sta     jmpvec+2
-       dey
+        dey
 fetch2: lda     $FFFF,y                 ; Patched at runtime
         sta     jmpvec+1
-               sty     index+1
-jmpvec: jsr            $FFFF                   ; Patched at runtime
-index:         ldy     #$FF                    ; Patched at runtime
-               bne     loop
+        sty     index+1
+jmpvec: jsr     $FFFF                   ; Patched at runtime
+index:  ldy     #$FF                    ; Patched at runtime
+        bne     loop
         rts
 
 .endproc
index 7c6891a96d8c0372d4ed35af08cb7d53b1f8d776..ebde0b052142620c9a78c783b4141d53bbfc8af1 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 1
 ;
 
-               .export         decax1
+        .export         decax1
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax1
+.proc   decax1
 
-       sub     #1
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #1
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index f117063b6be2f3676bbc32be86746be0e250ad38..7ef01ae55943b9bf8d951113d5103fbb650234ae 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 2
 ;
 
-               .export         decax2
+        .export         decax2
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax2
+.proc   decax2
 
-       sub     #2
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #2
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index 3a86d3f2bac104f2dfbca72a2d29902d3fb1bd27..9529fd905412fca29d2acd4754c23136caa0974c 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 3
 ;
 
-               .export         decax3
+        .export         decax3
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax3
+.proc   decax3
 
-       sub     #3
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #3
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index 57e5c7c36498ee2f22784e5804b77d503a81f58e..be5f9aa497c2ac93415694240b7af7ed243246ce 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 4
 ;
 
-               .export         decax4
+        .export         decax4
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax4
+.proc   decax4
 
-       sub     #4
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #4
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index 5b44bbb7357c73bc6406ba6cef93d45571fe2c40..1f7f9cd33f062d68dc370046f11c52d74383f77f 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 5
 ;
 
-               .export         decax5
+        .export         decax5
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax5
+.proc   decax5
 
-       sub     #5
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #5
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index 0ca4de64963e2310bf526312bc0f7dfee3f06b8b..8d40fb0848f4fdd6e7c70bbcbbf2af92c45d4c2e 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 6
 ;
 
-               .export         decax6
+        .export         decax6
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax6
+.proc   decax6
 
-       sub     #6
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #6
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index 17636b57455ff148ffd583058dabb3ee0c8f4bed..7d06ce41be4025eb1ef0faaadd6c52a5a4cd0c45 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 7
 ;
 
-               .export         decax7
+        .export         decax7
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax7
+.proc   decax7
 
-       sub     #7
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #7
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index abeb632d6f2fe2faa95701abafe757c7f3d3b074..6bab61ea3905b7565560109240b16ca9ca786a47 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Decrement ax by 8
 ;
 
-               .export         decax8
+        .export         decax8
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decax8
+.proc   decax8
 
-       sub     #8
-       bcs     @L9
-       dex
-@L9:   rts
+        sub     #8
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
index ec2b9c784a9c8569e20d27e62ffbbe9bd04ee683..d01d881d03cb9b05654f600bc627460ce4699d73 100644 (file)
@@ -4,18 +4,18 @@
 ; CC65 runtime: Decrement ax by value in Y
 ;
 
-               .export         decaxy
-       .importzp       tmp1
+        .export         decaxy
+        .importzp       tmp1
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  decaxy
+.proc   decaxy
 
-       sty     tmp1
-       sub     tmp1
-       bcs     @L9
-       dex
-@L9:   rts
+        sty     tmp1
+        sub     tmp1
+        bcs     @L9
+        dex
+@L9:    rts
 
 .endproc
 
index ab31a49b0da4501ea9de86e98ea950b3c2144b19..5aa7fa2048a936098ccb6473177388768fc82edc 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 1
 ;
 
-               .export         decsp1
-       .importzp       sp
+        .export         decsp1
+        .importzp       sp
 
-.proc  decsp1
+.proc   decsp1
 
-       ldy     sp
-       bne     @L1
-       dec     sp+1
-@L1:   dec     sp
-       rts
+        ldy     sp
+        bne     @L1
+        dec     sp+1
+@L1:    dec     sp
+        rts
 
 .endproc
 
 
 
 
-       
+        
index c92da4d31d9fbe6427a8cfe925f7db6145db996a..a3793e778bc00500adf540ce136e1acb3cb5f962 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 2
 ;
 
-               .export         decsp2
-       .importzp       sp
+        .export         decsp2
+        .importzp       sp
 
-.proc  decsp2
+.proc   decsp2
 
-       lda     sp
-       sec
-       sbc     #2
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #2
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index 9401c3dc538fa731bcf29d98fbd2a48b0d09a22c..a3ad7777eac53cea7abcf161f2a528d2842d461f 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 3
 ;
 
-               .export         decsp3
-               .importzp       sp
+        .export         decsp3
+        .importzp       sp
 
-.proc  decsp3
+.proc   decsp3
 
-       lda     sp
-       sec
-       sbc     #3
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #3
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index 8513390723778b2dce9e66e184f03a04c92e9d95..5c7e949433447bb311d89a9d0b058b08591caf6b 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 4
 ;
 
-               .export         decsp4
-               .importzp       sp
+        .export         decsp4
+        .importzp       sp
 
-.proc  decsp4
+.proc   decsp4
 
-       lda     sp
-       sec
-       sbc     #4
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #4
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index 0519bf480f874613aca211c13b23fce86c8229b1..7ff4605cfb3117b7a9cc30d8956c986c2eb9af0a 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 5
 ;
 
-               .export         decsp5
-       .importzp       sp
+        .export         decsp5
+        .importzp       sp
 
-.proc  decsp5
+.proc   decsp5
 
-       lda     sp
-       sec
-       sbc     #5
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #5
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index 31d6ec9dc44df5d0836d04c287e3d52d1487bbfc..6e55e664d269c10d43e2bcd6af3019a0930afc65 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 6
 ;
 
-               .export         decsp6
-               .importzp       sp
+        .export         decsp6
+        .importzp       sp
 
-.proc  decsp6
+.proc   decsp6
 
-       lda     sp
-       sec
-       sbc     #6
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #6
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index 249b00baa9442821452a398d02a8bd5b875ab1c1..ee82232f6518e0b27ebe492206eaf76acb28da01 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 7
 ;
 
-               .export         decsp7
-       .importzp       sp
+        .export         decsp7
+        .importzp       sp
 
-.proc  decsp7
+.proc   decsp7
 
-       lda     sp
-       sec
-       sbc     #7
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #7
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index 0c0c8fee9e4743f58af9826c4d20b52773f967ca..47d44593ef6d24eec2f5d2d3bc305ef4c903ebf9 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: Decrement the stackpointer by 8
 ;
 
-               .export         decsp8
-               .importzp       sp
+        .export         decsp8
+        .importzp       sp
 
-.proc  decsp8
+.proc   decsp8
 
-       lda     sp
-       sec
-       sbc     #8
-       sta     sp
-       bcc     @L1
-       rts
+        lda     sp
+        sec
+        sbc     #8
+        sta     sp
+        bcc     @L1
+        rts
 
-@L1:   dec     sp+1
-       rts
+@L1:    dec     sp+1
+        rts
 
 .endproc
 
index e419dedffcf08b8fe00717519db762932846958f..cdd340272bf21d66738f45b6301e2f1e13d26e50 100644 (file)
@@ -7,15 +7,15 @@
 ; When negating values, we will ignore the possibility here, that one of the
 ; values if $8000, in which case the negate will fail.
 
-               .export         tosdiva0, tosdivax
-       .import         popsargs, udiv16, negax
-       .importzp       sreg, tmp1, tmp2
+        .export         tosdiva0, tosdivax
+        .import         popsargs, udiv16, negax
+        .importzp       sreg, tmp1, tmp2
 
 tosdiva0:
-       ldx     #0
+        ldx     #0
 tosdivax:
-       jsr     popsargs        ; Get arguments from stack, adjust sign
-       jsr     udiv16          ; Do the division
+        jsr     popsargs        ; Get arguments from stack, adjust sign
+        jsr     udiv16          ; Do the division
         ldx     sreg+1          ; Load high byte of result
 
 ; Adjust the sign of the result. tmp1 contains the high byte of the left
index a246d5e936d994cb0842ec48a6d29562631c747f..c51b4f7bb5092b069c8625e61ce17fad00df09d1 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: function prologue
 ;
 
-               .export         enter
-       .importzp       sp
+        .export         enter
+        .importzp       sp
 
-enter: tya                     ; get arg size
-               ldy     sp
-       bne     L1
-       dec     sp+1
-L1:    dec     sp
-       ldy     #0
-       sta     (sp),y          ; Store the arg count
-       rts
+enter:  tya                     ; get arg size
+        ldy     sp
+        bne     L1
+        dec     sp+1
+L1:     dec     sp
+        ldy     #0
+        sta     (sp),y          ; Store the arg count
+        rts
 
index 28e52055efa45250d7751d7a7c6285ab5fbb02eb..c2a537a356259f88ffb5a1d1b6963cddcfb12bb7 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Compare == for ints
 ;
 
-       .export         toseq00, toseqa0, toseqax
-       .import         tosicmp, booleq
-       .importzp       sp, tmp1
+        .export         toseq00, toseqa0, toseqax
+        .import         tosicmp, booleq
+        .importzp       sp, tmp1
 
 toseq00:
-       lda     #$00
+        lda     #$00
 toseqa0:
-       ldx     #$00
+        ldx     #$00
 toseqax:
-       jsr     tosicmp         ; Set flags
-       jmp     booleq          ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     booleq          ; Convert to boolean
index 17d4bb98b32789c68c45cd45e66887417c7d9350..5cfb829c10288e5504df16b1709c1014834cf03d 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Compare >= for signed ints
 ;
 
-       .export         tosge00, tosgea0, tosgeax
-               .import         tosicmp, boolge
+        .export         tosge00, tosgea0, tosgeax
+        .import         tosicmp, boolge
 
 
 tosge00:
-       lda     #$00
+        lda     #$00
 tosgea0:
-       ldx     #$00
+        ldx     #$00
 tosgeax:
-       jsr     tosicmp         ; Set flags
-       jmp     boolge          ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boolge          ; Convert to boolean
index b6ba7b61cad644a31ad3a61499c86255205bf4a0..3c6976da542809c85a280c2419add7f675985089 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Compare > for signed ints
 ;
 
-       .export         tosgt00, tosgta0, tosgtax
-               .import         tosicmp, boolgt
+        .export         tosgt00, tosgta0, tosgtax
+        .import         tosicmp, boolgt
 
 
 tosgt00:
-       lda     #$00
+        lda     #$00
 tosgta0:
-       ldx     #$00
+        ldx     #$00
 tosgtax:
-               jsr     tosicmp         ; Set the flags
-       jmp     boolgt          ; Convert to boolean
+        jsr     tosicmp         ; Set the flags
+        jmp     boolgt          ; Convert to boolean
 
index 70bcb76bda607c023aba4e22ce46f74106a3d40e..05c73bd01e159746b0cac7335009b32ce4cf8553 100644 (file)
@@ -5,43 +5,43 @@
 ; Integer compare function - used by the compare operators
 ;
 
-       .export         tosicmp, tosicmp0
-       .importzp       sp, sreg
+        .export         tosicmp, tosicmp0
+        .importzp       sp, sreg
 
 
 tosicmp0:
         ldx     #$00
 
 tosicmp:
-       sta     sreg
-       stx     sreg+1          ; Save ax
-
-       ldy     #$00
-       lda     (sp),y          ; Get low byte
-       tax
-       inc     sp              ; 5
-       bne     @L1             ; 3
-       inc     sp+1            ; (5)
+        sta     sreg
+        stx     sreg+1          ; Save ax
+
+        ldy     #$00
+        lda     (sp),y          ; Get low byte
+        tax
+        inc     sp              ; 5
+        bne     @L1             ; 3
+        inc     sp+1            ; (5)
 @L1:
-       lda     (sp),y          ; Get high byte
-       inc     sp              ; 5
-       bne     @L2             ; 3
-       inc     sp+1            ; (5)
+        lda     (sp),y          ; Get high byte
+        inc     sp              ; 5
+        bne     @L2             ; 3
+        inc     sp+1            ; (5)
 
 ; Do the compare.
 
-@L2:   sec
-       sbc     sreg+1          ; Compare high byte
-       bne     @L4
-       cpx     sreg            ; Compare low byte
-       beq     @L3
-       adc     #$FF            ; If the C flag is set then clear the N flag
-       ora     #$01            ; else set the N flag
-@L3:   rts
-
-@L4:   bvc     @L3
-       eor     #$FF            ; Fix the N flag if overflow
-       ora     #$01            ; Clear the Z flag
-       rts
+@L2:    sec
+        sbc     sreg+1          ; Compare high byte
+        bne     @L4
+        cpx     sreg            ; Compare low byte
+        beq     @L3
+        adc     #$FF            ; If the C flag is set then clear the N flag
+        ora     #$01            ; else set the N flag
+@L3:    rts
+
+@L4:    bvc     @L3
+        eor     #$FF            ; Fix the N flag if overflow
+        ora     #$01            ; Clear the Z flag
+        rts
 
 
index a69c2a7a72388daddfc8555ccbe4c991bae78ae5..12e7feb5158d3c657799d6d0e358ed85cf383862 100644 (file)
@@ -5,7 +5,7 @@
 ;
 
         .export         idiv32by16r16
-               .import         negax, udiv32by16r16m
+        .import         negax, udiv32by16r16m
 
         .include        "zeropage.inc"
 
index 2d57b39811613e75537b336cb8f9c5b303afacf6..19c1d0c603b9c48bf4b70a22841f7b422afd543e 100644 (file)
@@ -4,21 +4,21 @@
 ; CC65 runtime: Increment ax by 1
 ;
 
-               .export         incax1
+        .export         incax1
 
-       .macpack        generic
+        .macpack        generic
         .macpack        cpu
 
-.proc  incax1
+.proc   incax1
 
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-       ina                     ; 65C02 version
-       bne     @L9
+        ina                     ; 65C02 version
+        bne     @L9
 .else
-       add     #1
-       bcc     @L9
+        add     #1
+        bcc     @L9
 .endif
-       inx
-@L9:   rts
+        inx
+@L9:    rts
 
 .endproc
index 9525171cc8f9ef1bc65d6f9ab042dc5e8149b8d8..55c4571e4c9cfe7cde991f5b4ebacfb7f2475707 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Increment ax by 2
 ;
 
-               .export         incax2
+        .export         incax2
 
-       .macpack        generic
+        .macpack        generic
 
-.proc  incax2
+.proc   incax2
 
-       add     #2
-       bcc     @L9
-       inx
-@L9:   rts
+        add     #2
+        bcc     @L9
+        inx
+@L9:    rts
 
 .endproc
index e06b9132baa700f4207419a404c59d4cc5a17902..031c41ddf1fae48de80ca3f55eebc93b2ef5634c 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Increment ax by 3
 ;
 
-               .export         incax3
-       .import         incaxy
+        .export         incax3
+        .import         incaxy
 
-.proc  incax3
+.proc   incax3
 
-       ldy     #3
-       jmp     incaxy
+        ldy     #3
+        jmp     incaxy
 
 .endproc
 
index ae9e063cfc6d3b8530e0f5a0cea5e5ff50ec0770..2e16a1c9f5e1de182e75a8da0ebce2427cdb7906 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Increment ax by 5
 ;
 
-               .export         incax5
-       .import         incaxy
+        .export         incax5
+        .import         incaxy
 
-.proc  incax5
+.proc   incax5
 
-       ldy     #5
-       jmp     incaxy
+        ldy     #5
+        jmp     incaxy
 
 .endproc
 
index 5f80d36f8e27afbd2294bf6f46098e11fa252d61..355245450a65ba388dcee5192d9e054edf826074 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Increment ax by 6
 ;
 
-               .export         incax6
-       .import         incaxy
+        .export         incax6
+        .import         incaxy
 
-.proc  incax6
+.proc   incax6
 
-       ldy     #6
-       jmp     incaxy
+        ldy     #6
+        jmp     incaxy
 
 .endproc
 
index ed883c3aeb55621dc6851d7d1984d1a96657e6de..e8d27ae50a69f6046141d16e1eb8cb51030be30b 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Increment ax by 7
 ;
 
-               .export         incax7
-       .import         incaxy
+        .export         incax7
+        .import         incaxy
 
-.proc  incax7
+.proc   incax7
 
-       ldy     #7
-       jmp     incaxy
+        ldy     #7
+        jmp     incaxy
 
 .endproc
 
index ae1e52660bca4c27832c073830cf1c4359072b06..12b9dfd09c8a888ca5c76fdcf88a9c3637edb566 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Increment ax by 8
 ;
 
-               .export         incax8
-       .import         incaxy
+        .export         incax8
+        .import         incaxy
 
-.proc  incax8
+.proc   incax8
 
-       ldy     #8
-       jmp     incaxy
+        ldy     #8
+        jmp     incaxy
 
 .endproc
 
index feed9564c9328e3fb41621b24d3759e103586271..0ee7d879f04f4a13923a07d48daea1d58e15f64d 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Increment ax by valie in y
 ;
 
-               .export         incaxy, incax4
-       .importzp       tmp1
-       .macpack        generic
+        .export         incaxy, incax4
+        .importzp       tmp1
+        .macpack        generic
 
-incax4:        ldy     #4
-incaxy:        sty     tmp1
-               add     tmp1
-               bcc     @L9
-               inx
-@L9:           rts
+incax4: ldy     #4
+incaxy: sty     tmp1
+        add     tmp1
+        bcc     @L9
+        inx
+@L9:    rts
 
index a85092d23b5c3ca9131779bcdf7981eaf1760e68..43c92dc82dc6066a20726cdf443eeb4cfe78c4bc 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: Increment the stackpointer by 1
 ;
 
-               .export         incsp1
-       .importzp       sp
+        .export         incsp1
+        .importzp       sp
 
-.proc  incsp1
+.proc   incsp1
 
-       inc     sp
-       bne     @L1
-       inc     sp+1
-@L1:   rts
+        inc     sp
+        bne     @L1
+        inc     sp+1
+@L1:    rts
 
 .endproc
 
 
 
 
-       
+        
index 639f8a44f14a55b3722d0b5f02b84e8301cc2880..067154b86f16ce0b99df7df1c065fa69cf02a34b 100644 (file)
@@ -2,32 +2,32 @@
 ; Ullrich von Bassewitz, 25.10.2000
 ;
 ; CC65 runtime: Increment the stackpointer by 2. For performance reasons,
-;              this modules does also contain the popax function.
+;               this modules does also contain the popax function.
 
-               .export         popax, incsp2
-       .importzp       sp
+        .export         popax, incsp2
+        .importzp       sp
 
         .macpack        cpu
 
 ; Pop a/x from stack. This function will run directly into incsp2
 
-.proc  popax
+.proc   popax
 
-       ldy     #1
-       lda     (sp),y          ; get hi byte
-               tax                     ; into x
+        ldy     #1
+        lda     (sp),y          ; get hi byte
+        tax                     ; into x
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-       lda     (sp)            ; get lo byte
+        lda     (sp)            ; get lo byte
 .else
-       dey
-       lda     (sp),y          ; get lo byte
+        dey
+        lda     (sp),y          ; get lo byte
 .endif
 
 .endproc
 
 
 
-.proc  incsp2
+.proc   incsp2
 
         inc     sp              ; 5
         beq     @L1             ; 2
index 90dca0b96bc1139020ba57dafd432b51cc40aece..29067a55e73a3ec6eacc2d31e622ed7f810f0d35 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Increment the stackpointer by 3
 ;
 
-               .export         incsp3
-       .import         addysp
+        .export         incsp3
+        .import         addysp
 
-.proc  incsp3
+.proc   incsp3
 
-       ldy     #3
-       jmp     addysp
+        ldy     #3
+        jmp     addysp
 
 .endproc
 
 
 
 
-       
+        
index 125c533e7322442b4b797407bf21c9153e94d67d..51e9229bbe03f6538aaadcbd30ffbd7c18f09871 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Increment the stackpointer by 4
 ;
 
-               .export         incsp4
-       .import         addysp
+        .export         incsp4
+        .import         addysp
 
-.proc  incsp4
+.proc   incsp4
 
-       ldy     #4
-       jmp     addysp
+        ldy     #4
+        jmp     addysp
 
 .endproc
 
 
 
 
-       
+        
index df239cf2192840a62391e76d74fb12c53eb306a4..164c625246d579255dabcc54437382ab8b42431b 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Increment the stackpointer by 5
 ;
 
-               .export         incsp5
-       .import         addysp
+        .export         incsp5
+        .import         addysp
 
-.proc  incsp5
+.proc   incsp5
 
-       ldy     #5
-       jmp     addysp
+        ldy     #5
+        jmp     addysp
 
 .endproc
 
 
 
 
-       
+        
index a7ab932dd69b428a10c229a1a07bfd0bcbdee60f..1a393840eda2213ce47df2dc2ec253b8b1404957 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Increment the stackpointer by 6
 ;
 
-               .export         incsp6
-       .import         addysp
+        .export         incsp6
+        .import         addysp
 
-.proc  incsp6
+.proc   incsp6
 
-       ldy     #6
-       jmp     addysp
+        ldy     #6
+        jmp     addysp
 
 .endproc
 
 
 
 
-       
+        
index 417700fe9cf5fb2f761ef6d8726497d048519ed0..8a583813735c228f9c876cd2d1c9af45c0523337 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Increment the stackpointer by 7
 ;
 
-               .export         incsp7
-       .import         addysp
+        .export         incsp7
+        .import         addysp
 
-.proc  incsp7
+.proc   incsp7
 
-       ldy     #7
-       jmp     addysp
+        ldy     #7
+        jmp     addysp
 
 .endproc
 
 
 
 
-       
+        
index 3ec15202e94e9c8e5ba9507205a5e49298ae326c..a77dc3d7f323a44d09627c91170e6733fa13efd6 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Increment the stackpointer by 8
 ;
 
-               .export         incsp8
-       .import         addysp
+        .export         incsp8
+        .import         addysp
 
-.proc  incsp8
+.proc   incsp8
 
-       ldy     #8
-       jmp     addysp
+        ldy     #8
+        jmp     addysp
 
 .endproc
 
index 6ae8715ca2e5bc1bccf5d31c94b8ad73267e0936..ed77a07891d2996c8b28b8f66d862b2a854b6929 100644 (file)
@@ -5,10 +5,10 @@
 ; may be patched at runtime.
 ;
 
-               .export jmpvec
+        .export jmpvec
 
 .data
 
-jmpvec:        jmp     $FFFF
+jmpvec: jmp     $FFFF
 
 
index 4e864c79727ac354e770711b6b70c2f2414329a7..23b3436c042a9c70fb3c8d2f077c7fcb3318b383 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: long add
 ;
 
-       .export         tosadd0ax, tosaddeax
-       .import         addysp1
-       .importzp       sp, sreg, tmp1
+        .export         tosadd0ax, tosaddeax
+        .import         addysp1
+        .importzp       sp, sreg, tmp1
 
         .macpack        cpu
 
@@ -18,27 +18,27 @@ tosadd0ax:
         sty     sreg+1
 
 tosaddeax:
-       clc
+        clc
 .if (.cpu .bitand CPU_ISET_65SC02)
-       adc     (sp)            ; 65SC02 version - saves 2 cycles
-       ldy     #1
+        adc     (sp)            ; 65SC02 version - saves 2 cycles
+        ldy     #1
 .else
-       ldy     #0
-       adc     (sp),y          ; lo byte
-       iny
+        ldy     #0
+        adc     (sp),y          ; lo byte
+        iny
 .endif
-       sta     tmp1            ; use as temp storage
-       txa
-       adc     (sp),y          ; byte 1
-       tax
-       iny
-       lda     sreg
-       adc     (sp),y          ; byte 2
-       sta     sreg
-       iny
-       lda     sreg+1
-       adc     (sp),y          ; byte 3
-       sta     sreg+1
-       lda     tmp1            ; load byte 0
-               jmp     addysp1         ; drop TOS
+        sta     tmp1            ; use as temp storage
+        txa
+        adc     (sp),y          ; byte 1
+        tax
+        iny
+        lda     sreg
+        adc     (sp),y          ; byte 2
+        sta     sreg
+        iny
+        lda     sreg+1
+        adc     (sp),y          ; byte 3
+        sta     sreg+1
+        lda     tmp1            ; load byte 0
+        jmp     addysp1         ; drop TOS
 
index 6478017f3d27ee4a7d4ed3a06725c415ddc4db92..2632ec90940ea932742401718d0f3139fc99ce0f 100644 (file)
@@ -7,47 +7,47 @@
 ; in ptr1, the high byte is in Y, and the increment is in eax.
 ;
 
-               .export         laddeq1, laddeqa, laddeq
-               .importzp       sreg, ptr1, tmp1
+        .export         laddeq1, laddeqa, laddeq
+        .importzp       sreg, ptr1, tmp1
 
 
 laddeq1:
-               lda     #$01
+        lda     #$01
 
 laddeqa:
-       ldx     #$00
-       stx     sreg
-       stx     sreg+1
-
-laddeq:        sty     ptr1+1                  ; Store high byte of address
-       ldy     #$00                    ; Address low byte
-       clc
-
-       adc     (ptr1),y
-       sta     (ptr1),y
-               pha                             ; Save byte 0 of result for later
-
-       iny                             ; Address byte 1
-       txa
-       adc     (ptr1),y                ; Load byte 1
-       sta     (ptr1),y
-       tax
-
-       iny                             ; Address byte 2
-       lda     sreg
-       adc     (ptr1),y
-       sta     (ptr1),y
-       sta     sreg
-
-       iny                             ; Address byte 3
-       lda     sreg+1
-       adc     (ptr1),y
-       sta     (ptr1),y
-       sta     sreg+1
-
-       pla                             ; Retrieve byte 0 of result
-
-       rts                             ; Done
+        ldx     #$00
+        stx     sreg
+        stx     sreg+1
+
+laddeq: sty     ptr1+1                  ; Store high byte of address
+        ldy     #$00                    ; Address low byte
+        clc
+
+        adc     (ptr1),y
+        sta     (ptr1),y
+        pha                             ; Save byte 0 of result for later
+
+        iny                             ; Address byte 1
+        txa
+        adc     (ptr1),y                ; Load byte 1
+        sta     (ptr1),y
+        tax
+
+        iny                             ; Address byte 2
+        lda     sreg
+        adc     (ptr1),y
+        sta     (ptr1),y
+        sta     sreg
+
+        iny                             ; Address byte 3
+        lda     sreg+1
+        adc     (ptr1),y
+        sta     (ptr1),y
+        sta     sreg+1
+
+        pla                             ; Retrieve byte 0 of result
+
+        rts                             ; Done
 
 
 
index e5a1f04a9fe1d57214f796111411dd40ebcfa324..46c3c1f29621fdd9bf52b845f508259a14c3799f 100644 (file)
@@ -4,31 +4,31 @@
 ; CC65 runtime: += operator for longs on the stack
 ;
 
-               .export         laddeq0sp, laddeqysp
-       .importzp       sp, sreg
+        .export         laddeq0sp, laddeqysp
+        .importzp       sp, sreg
 
 laddeq0sp:
-       ldy     #0
+        ldy     #0
 laddeqysp:
-       clc
-       adc     (sp),y
-       sta     (sp),y
-       pha
-       iny
-       txa
-       adc     (sp),y
-       sta     (sp),y
-       tax
-       iny
-       lda     sreg
-       adc     (sp),y
-       sta     (sp),y
-       sta     sreg
-       iny
-       lda     sreg+1
-       adc     (sp),y
-       sta     (sp),y
-       sta     sreg+1
-       pla
-       rts
+        clc
+        adc     (sp),y
+        sta     (sp),y
+        pha
+        iny
+        txa
+        adc     (sp),y
+        sta     (sp),y
+        tax
+        iny
+        lda     sreg
+        adc     (sp),y
+        sta     (sp),y
+        sta     sreg
+        iny
+        lda     sreg+1
+        adc     (sp),y
+        sta     (sp),y
+        sta     sreg+1
+        pla
+        rts
 
index 1e66039e2af25b14ac73a865921acaa04ca6adca..506c071a4f18e98db034054b5763675accf73614 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: and on longs
 ;
 
-       .export         tosand0ax, tosandeax
-       .import         addysp1
-       .importzp       sp, sreg, tmp1
+        .export         tosand0ax, tosandeax
+        .import         addysp1
+        .importzp       sp, sreg, tmp1
 
                                    
 tosand0ax:
@@ -15,22 +15,22 @@ tosand0ax:
         sty     sreg+1
 
 tosandeax:
-               ldy     #0
-               and     (sp),y          ; byte 0
-       sta     tmp1
-       iny
-       txa
-       and     (sp),y          ; byte 1
-       tax
-       iny
-       lda     sreg
-       and     (sp),y          ; byte 2
-       sta     sreg
-       iny
-       lda     sreg+1
-       and     (sp),y          ; byte 3
-       sta     sreg+1
+        ldy     #0
+        and     (sp),y          ; byte 0
+        sta     tmp1
+        iny
+        txa
+        and     (sp),y          ; byte 1
+        tax
+        iny
+        lda     sreg
+        and     (sp),y          ; byte 2
+        sta     sreg
+        iny
+        lda     sreg+1
+        and     (sp),y          ; byte 3
+        sta     sreg+1
 
-       lda     tmp1
-               jmp     addysp1
+        lda     tmp1
+        jmp     addysp1
 
index c96f1e1f5c7d188556a8c3f0c296678fe137c14c..cce9a711f98bfcff89198261835920c108a980b0 100644 (file)
@@ -11,9 +11,9 @@
 ;
 
 
-               .export         tosasreax
-       .import         popeax
-       .importzp       sreg, tmp1
+        .export         tosasreax
+        .import         popeax
+        .importzp       sreg, tmp1
 
 
 tosasreax:
@@ -35,7 +35,7 @@ L2:     cpx     #$80            ; Copy bit 31 into the carry
         ror     tmp1
         ror     a
         dey
-               bne     L2
+        bne     L2
 
 ; Shift done
 
index ca737e4269ef4dc0f5312db368ba2b971f862bbd..0b06d1f15231b862724e3f0459fe3891547d1fe4 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: boolean negation for longs
 ;
 
-       .export         bnegeax
-       .importzp       sreg, tmp1
+        .export         bnegeax
+        .importzp       sreg, tmp1
 
 bnegeax:
-       stx     tmp1
-       ldx     #0              ; High byte of result
-       ora     tmp1
-       ora     sreg
-       ora     sreg+1
-       bne     @L0
-       lda     #1
-       rts
+        stx     tmp1
+        ldx     #0              ; High byte of result
+        ora     tmp1
+        ora     sreg
+        ora     sreg+1
+        bne     @L0
+        lda     #1
+        rts
 
-@L0:   txa                     ; X is zero
-       rts
+@L0:    txa                     ; X is zero
+        rts
 
index 4e50aa538f89cc5a79c5f0e13adde59c7b201d22..d0ba4d81fdac5532443087c57aeddd9058d22b38 100644 (file)
@@ -5,52 +5,52 @@
 ; Long int compare function - used by the compare operators
 ;
 
-       .export         toslcmp
-       .import         incsp4
-       .importzp       sp, sreg, ptr1
+        .export         toslcmp
+        .import         incsp4
+        .importzp       sp, sreg, ptr1
 
 
 toslcmp:
-       sta     ptr1
-       stx     ptr1+1          ; EAX now in sreg:ptr1
-
-       ldy     #$03
-       lda     (sp),y
-       sec
-       sbc     sreg+1
-       bne     L4
-
-       dey
-       lda     (sp),y
-       cmp     sreg
-       bne     L1
-
-       dey
-       lda     (sp),y
-       cmp     ptr1+1
-       bne     L1
-
-       dey
-       lda     (sp),y
-       cmp     ptr1
-
-L1:    php                     ; Save flags
-       jsr     incsp4          ; Drop TOS
-       plp                     ; Restore the flags
-       beq     L2
-       bcs     L3
-       lda     #$FF            ; Set the N flag
-L2:    rts
-
-L3:    lda     #$01            ; Clear the N flag
-       rts
-
-L4:    bvc     L5
-       eor     #$FF            ; Fix the N flag if overflow
-       ora     #$01            ; Clear the Z flag
-L5:    php                     ; Save flags
-       jsr     incsp4          ; Drop TOS
-       plp                     ; Restore flags
-       rts
+        sta     ptr1
+        stx     ptr1+1          ; EAX now in sreg:ptr1
+
+        ldy     #$03
+        lda     (sp),y
+        sec
+        sbc     sreg+1
+        bne     L4
+
+        dey
+        lda     (sp),y
+        cmp     sreg
+        bne     L1
+
+        dey
+        lda     (sp),y
+        cmp     ptr1+1
+        bne     L1
+
+        dey
+        lda     (sp),y
+        cmp     ptr1
+
+L1:     php                     ; Save flags
+        jsr     incsp4          ; Drop TOS
+        plp                     ; Restore the flags
+        beq     L2
+        bcs     L3
+        lda     #$FF            ; Set the N flag
+L2:     rts
+
+L3:     lda     #$01            ; Clear the N flag
+        rts
+
+L4:     bvc     L5
+        eor     #$FF            ; Fix the N flag if overflow
+        ora     #$01            ; Clear the Z flag
+L5:     php                     ; Save flags
+        jsr     incsp4          ; Drop TOS
+        plp                     ; Restore flags
+        rts
 
 
index fff31d9aff92f357c5c68a3b5a21cf5065576902..f856aeaa9eb6a1ea0a2f3fcbdbfb02a21faec1b3 100644 (file)
@@ -4,23 +4,23 @@
 ; CC65 runtime: long complement
 ;
 
-       .export         compleax
-       .importzp       sreg
+        .export         compleax
+        .importzp       sreg
 
 ; eax = ~eax
 
 compleax:
-       eor     #$FF
-       pha
-       txa
-       eor     #$FF
-       tax
-       lda     sreg
-       eor     #$FF
-       sta     sreg
-       lda     sreg+1
-       eor     #$FF
-       sta     sreg+1
-       pla
-       rts
+        eor     #$FF
+        pha
+        txa
+        eor     #$FF
+        tax
+        lda     sreg
+        eor     #$FF
+        sta     sreg
+        lda     sreg+1
+        eor     #$FF
+        sta     sreg+1
+        pla
+        rts
 
index ec3a996108e7a2b70f9beae525e3ab09d60c82a8..6d90f0b2c20261396117e99bada40b52203201ca 100644 (file)
@@ -4,16 +4,16 @@
 ; CC65 runtime: Load a indirect from address in ax
 ;
 
-       .export         ldaidx
-       .importzp       ptr1
+        .export         ldaidx
+        .importzp       ptr1
 
-.proc  ldaidx
-       sta     ptr1
-       stx     ptr1+1
-       ldx     #$00
-       lda     (ptr1),y
-       bpl     @L1
-       dex
-@L1:   rts
+.proc   ldaidx
+        sta     ptr1
+        stx     ptr1+1
+        ldx     #$00
+        lda     (ptr1),y
+        bpl     @L1
+        dex
+@L1:    rts
 .endproc
 
index 0be99d32018ecaded0487a2e1c2a353789d9b645..a986d52da20eb75a1950342d921770aa058ac83b 100644 (file)
@@ -4,24 +4,24 @@
 ; CC65 runtime: Load an unsigned char indirect from pointer somewhere in stack
 ;
 
-       .export         ldau00sp, ldau0ysp
-       .importzp       sp, ptr1
+        .export         ldau00sp, ldau0ysp
+        .importzp       sp, ptr1
 
         .macpack        cpu
 
 ldau00sp:
-       ldy     #1
+        ldy     #1
 ldau0ysp:
-       lda     (sp),y
-       sta     ptr1+1
-       dey
-       lda     (sp),y
-       sta     ptr1
-       ldx     #0
+        lda     (sp),y
+        sta     ptr1+1
+        dey
+        lda     (sp),y
+        sta     ptr1
+        ldx     #0
 .if (.cpu .bitand CPU_ISET_65SC02)
-       lda     (ptr1)          ; Save one cycle for the C02
+        lda     (ptr1)          ; Save one cycle for the C02
 .else
-       lda     (ptr1,x)
+        lda     (ptr1,x)
 .endif
-       rts
+        rts
 
index b84783df34631572f5d294b866bbf3e2601fd554..aa3a41c172b3a1dd5e1a612f6c2e14747d182a7c 100644 (file)
@@ -4,13 +4,13 @@
 ; CC65 runtime: Load a unsigned indirect from address in ax
 ;
 
-       .export         ldauidx
-       .importzp       ptr1
+        .export         ldauidx
+        .importzp       ptr1
 
-.proc  ldauidx
-       sta     ptr1
-       stx     ptr1+1
-       ldx     #0
-       lda     (ptr1),y
-       rts
+.proc   ldauidx
+        sta     ptr1
+        stx     ptr1+1
+        ldx     #0
+        lda     (ptr1),y
+        rts
 .endproc
index 7e153291c33c9d12de47501b375ff243f514eda1..1afcf2487f5177c440ad99f7047b565c5b52e6e6 100644 (file)
@@ -4,21 +4,21 @@
 ; CC65 runtime: Load an unsigned char indirect from pointer somewhere in stack
 ;
 
-       .export         ldaui0sp, ldauiysp
-       .importzp       sp, ptr1
+        .export         ldaui0sp, ldauiysp
+        .importzp       sp, ptr1
 
 ldaui0sp:
-       ldy     #1
+        ldy     #1
 ldauiysp:
-       lda     (sp),y
-       sta     ptr1+1
-       dey
-       lda     (sp),y
-       sta     ptr1
-       txa
-       tay
-       ldx     #0
-       lda     (ptr1),y
-       rts
+        lda     (sp),y
+        sta     ptr1+1
+        dey
+        lda     (sp),y
+        sta     ptr1
+        txa
+        tay
+        ldx     #0
+        lda     (ptr1),y
+        rts
 
-                                  
+                                   
index a03c610e4272f98831deccbe7e7b36025ccf9906..f2ac653d5842165f1b6688e5eabc06c9667e6199 100644 (file)
@@ -4,16 +4,16 @@
 ; CC65 runtime: Load ax indirect from address in ax
 ;
 
-       .export         ldaxi, ldaxidx
-       .importzp       ptr1
+        .export         ldaxi, ldaxidx
+        .importzp       ptr1
 
-ldaxi: ldy     #1
+ldaxi:  ldy     #1
 ldaxidx:
-       sta     ptr1
-       stx     ptr1+1
-       lda     (ptr1),y
-       tax
-       dey
-       lda     (ptr1),y
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        lda     (ptr1),y
+        tax
+        dey
+        lda     (ptr1),y
+        rts
 
index 0f1a2c8d30e17ac4dde4dfbc7a39cb7265c182e0..aa94b43cd3e4813e3a46c679dc34f9139f3bef43 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Load ax from offset in stack
 ;
 
-               .export         ldax0sp, ldaxysp
-       .importzp       sp
+        .export         ldax0sp, ldaxysp
+        .importzp       sp
 
 ; Beware: The optimizer knows about the value in Y after return!
 
 ldax0sp:
-       ldy     #1
+        ldy     #1
 ldaxysp:
-       lda     (sp),y          ; get high byte
-       tax                     ; and save it
-       dey                     ; point to lo byte
-       lda     (sp),y          ; load low byte
-       rts
+        lda     (sp),y          ; get high byte
+        tax                     ; and save it
+        dey                     ; point to lo byte
+        lda     (sp),y          ; load low byte
+        rts
 
index a1f9e64f976803bea70eecbc79764a24ff52b245..26b208f849de5b31ec101077937d5f1cbc03f253 100644 (file)
@@ -4,22 +4,22 @@
 ; CC65 runtime: Load eax indirect from address in ax
 ;
 
-       .export         ldeaxidx, ldeaxi
-       .importzp       sreg, ptr1
+        .export         ldeaxidx, ldeaxi
+        .importzp       sreg, ptr1
 
-ldeaxi:        ldy     #3
+ldeaxi: ldy     #3
 ldeaxidx:
-       sta     ptr1
-       stx     ptr1+1
-       lda     (ptr1),y
-       dey
-       sta     sreg+1
-       lda     (ptr1),y
-       dey
-       sta     sreg
-       lda     (ptr1),y
-       dey
-       tax
-       lda     (ptr1),y
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        lda     (ptr1),y
+        dey
+        sta     sreg+1
+        lda     (ptr1),y
+        dey
+        sta     sreg
+        lda     (ptr1),y
+        dey
+        tax
+        lda     (ptr1),y
+        rts
 
index cf15f3fc4151a3c82f9ab8957f534c1523a04f26..1d65e9c3898856491d951f0ef8e01e953debe436 100644 (file)
@@ -4,25 +4,25 @@
 ; CC65 runtime: Load a long from somewhere in the stack
 ;
 ; Beware: The optimizer knows about the register contents after calling
-;        this function!
+;         this function!
 ;
 
 
-       .export         ldeax0sp, ldeaxysp
-       .importzp       sreg, sp
+        .export         ldeax0sp, ldeaxysp
+        .importzp       sreg, sp
 
 ldeax0sp:
-       ldy     #3
+        ldy     #3
 ldeaxysp:
-       lda     (sp),y
-       sta     sreg+1
-       dey
-       lda     (sp),y
-       sta     sreg
-       dey
-       lda     (sp),y
-       tax
-       dey
-       lda     (sp),y
-       rts
+        lda     (sp),y
+        sta     sreg+1
+        dey
+        lda     (sp),y
+        sta     sreg
+        dey
+        lda     (sp),y
+        tax
+        dey
+        lda     (sp),y
+        rts
 
index a87323e6121191a5837ec129102f4f93fadb8e55..53b60095daa4f37fd4bddccd5fd1ee48a6de9c80 100644 (file)
@@ -4,23 +4,23 @@
 ; CC65 runtime: Decrement eax by value in Y
 ;
 
-               .export         deceaxy
-       .importzp       sreg, tmp1
+        .export         deceaxy
+        .importzp       sreg, tmp1
 
 deceaxy:
-       sty     tmp1
-       sec
-       sbc     tmp1
-       sta     tmp1
-       txa
-       sbc     #0
-       tax
-       lda     sreg
-       sbc     #0
-       sta     sreg
-       lda     sreg+1
-       sbc     #0
-       sta     sreg+1
-       lda     tmp1
-       rts
+        sty     tmp1
+        sec
+        sbc     tmp1
+        sta     tmp1
+        txa
+        sbc     #0
+        tax
+        lda     sreg
+        sbc     #0
+        sta     sreg
+        lda     sreg+1
+        sbc     #0
+        sta     sreg+1
+        lda     tmp1
+        rts
 
index 3d8dda0d5bd4a0ee60cc869f702d35006b290e42..b9ed897166dc935ff6017d472ffbf279c474e593 100644 (file)
@@ -7,9 +7,9 @@
 ; When negating values, we will ignore the possibility here, that one of the
 ; values if $80000000, in which case the negate will fail.
 
-               .export         tosdiv0ax, tosdiveax
-       .import         poplsargs, udiv32, negeax
-       .importzp       sreg, ptr1, tmp1, tmp2
+        .export         tosdiv0ax, tosdiveax
+        .import         poplsargs, udiv32, negeax
+        .importzp       sreg, ptr1, tmp1, tmp2
 
 tosdiv0ax:
         ldy     #$00
@@ -17,8 +17,8 @@ tosdiv0ax:
         sty     sreg+1
 
 tosdiveax:
-               jsr     poplsargs       ; Get arguments from stack, adjust sign
-               jsr     udiv32          ; Do the division, result is in (ptr1:sreg)
+        jsr     poplsargs       ; Get arguments from stack, adjust sign
+        jsr     udiv32          ; Do the division, result is in (ptr1:sreg)
         ldx     ptr1+1          ; Load byte 1 of result
 
 ; Adjust the sign of the result
@@ -29,8 +29,8 @@ tosdiveax:
 
 ; Result is negative
 
-       lda     ptr1            ; Load byte 0
-       jmp     negeax          ; Negate value
+        lda     ptr1            ; Load byte 0
+        jmp     negeax          ; Negate value
 
 ; Result is positive
 
index a615b3f0a1fdbea1c135e8bb40b6f92f76eb0431..1a875ecc109d80f44617c56a017f56366b3304ef 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Compare <= for signed ints
 ;
 
-       .export         tosle00, toslea0, tosleax
-               .import         tosicmp, boolle
+        .export         tosle00, toslea0, tosleax
+        .import         tosicmp, boolle
 
 tosle00:
-       lda     #$00
+        lda     #$00
 toslea0:
-       ldx     #$00
+        ldx     #$00
 tosleax:
-       jsr     tosicmp         ; Set flags
-       jmp     boolle          ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boolle          ; Convert to boolean
 
index 2a92cf00d9b94ef726cd75761de39e836a37bf61..0741170cab638585469a6ff494e9b68b0f1295b1 100644 (file)
@@ -4,8 +4,8 @@
 ; CC65 runtime: Load effective address with offset in A/X relative to SP
 ;
 
-       .export         leaaxsp, leaa0sp
-       .importzp       sp
+        .export         leaaxsp, leaa0sp
+        .importzp       sp
 
 leaa0sp:
         ldx     #$00
index 4846b9efd0057777ecd211ae7560625532dc3e68..8f4e055f563a5b301b4d9ca05fd993581bc1c97a 100644 (file)
@@ -8,30 +8,30 @@
 ; flavours that provide default values for the return val, or drop a local
 ; stack frame with size in y.
 
-       .export         leave00, leave0, leavey00, leavey0, leavey
-       .export         leave
-       .import         addysp
-       .importzp       sp
+        .export         leave00, leave0, leavey00, leavey0, leavey
+        .export         leave
+        .import         addysp
+        .importzp       sp
 
 leave00:
-       lda     #0
-leave0:        ldx     #0
-       beq     leave
+        lda     #0
+leave0: ldx     #0
+        beq     leave
 
 leavey00:
-       lda     #0              ; "return 0"
+        lda     #0              ; "return 0"
 leavey0:
-       ldx     #0              ; return < 256
+        ldx     #0              ; return < 256
 leavey:
-       jsr     addysp          ; drop stack frame
-leave: pha                     ; save A a sec
-       ldy     #0
-       lda     (sp),y          ; that's the pushed arg size
-       sec                     ; Count the byte, the count's stored in
-       adc     sp
-       sta     sp
-       bcc     L1
-       inc     sp+1
-L1:    pla                     ; Get return value back
-               rts
+        jsr     addysp          ; drop stack frame
+leave:  pha                     ; save A a sec
+        ldy     #0
+        lda     (sp),y          ; that's the pushed arg size
+        sec                     ; Count the byte, the count's stored in
+        adc     sp
+        sta     sp
+        bcc     L1
+        inc     sp+1
+L1:     pla                     ; Get return value back
+        rts
 
index 6349caffc07054f133cf719d19c51fbc79a2a6f8..44316aa080b2682af9ac54301e6c5d61ff4a6d47 100644 (file)
@@ -4,12 +4,12 @@
 ; CC65 runtime: long equal
 ;
 
-       .export         toseqeax
-       .import         toslcmp, booleq
+        .export         toseqeax
+        .import         toslcmp, booleq
 
-toseqeax:                      
-       jsr     toslcmp         ; Set flags
-       jmp     booleq          ; Convert to boolean
+toseqeax:                       
+        jsr     toslcmp         ; Set flags
+        jmp     booleq          ; Convert to boolean
 
 
 
index 1e4df329c320c75579f4b87024f78ae9b7ccbb68..768175cffa18d54e7976e4944df9c6ed962c2ef6 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Compare >= for long ints
 ;
 
-       .export         tosgeeax
-               .import         toslcmp, boolge
+        .export         tosgeeax
+        .import         toslcmp, boolge
 
 tosgeeax:
-               jsr     toslcmp         ; Set the flags
-               jmp     boolge          ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boolge          ; Convert to boolean
 
index aa7157000beed558a1a069095516a38095ca828f..a7ff05568c19c877d848c3b0d3d4d778faec233e 100644 (file)
@@ -4,11 +4,11 @@
 ; CC65 runtime: Compare > for long ints
 ;
 
-       .export         tosgteax
-       .import         toslcmp, boolgt
+        .export         tosgteax
+        .import         toslcmp, boolgt
 
 tosgteax:
-               jsr     toslcmp         ; Set the flags
-       jmp     boolgt          ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boolgt          ; Convert to boolean
 
 
index aff3758ee7d9fe3584bbe54b1aa3ae5fdc653193..1a0de38ad497d0d19bed171ddb0886482344c990 100644 (file)
@@ -4,21 +4,21 @@
 ; CC65 runtime: Increment eax by value in Y
 ;
 
-               .export         inceaxy
-       .importzp       ptr4, sreg
+        .export         inceaxy
+        .importzp       ptr4, sreg
 
-.proc  inceaxy
+.proc   inceaxy
 
-               sty     ptr4
-               clc
-               adc     ptr4
-               bcc     @L9
-               inx
-               bne     @L9
-               inc     sreg
-               bne     @L9
-               inc     sreg+1
-@L9:   rts
+        sty     ptr4
+        clc
+        adc     ptr4
+        bcc     @L9
+        inx
+        bne     @L9
+        inc     sreg
+        bne     @L9
+        inc     sreg+1
+@L9:    rts
 
 .endproc
 
index 6f11e0339ddb8b1758b4cd1180bc9c79c04d2b72..6a73e2103c6c8b66ce66c6e075a5e0b62beae07c 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Compare <= for long ints
 ;
 
-       .export         tosleeax
-       .import         toslcmp, boolle
+        .export         tosleeax
+        .import         toslcmp, boolle
 
 tosleeax:
-               jsr     toslcmp         ; Set the flags
-       jmp     boolle          ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boolle          ; Convert to boolean
 
index 5d5290d3450f327a72d8c32d3d251cd3cdeaf9b2..242664d084a700affcaa04e31b85c1b375eb5f62 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: Compare < for long ints
 ;
 
-       .export         toslteax
-               .import         toslcmp, boollt
+        .export         toslteax
+        .import         toslcmp, boollt
 
 toslteax:
-               jsr     toslcmp         ; Set the flags
-       jmp     boollt          ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boollt          ; Convert to boolean
index 89826ba842783700495da823b1de58fdec554f27..74deb23f08343920c2de9cb1c15f208ccd591cb8 100644 (file)
@@ -7,9 +7,9 @@
 ; When negating values, we will ignore the possibility here, that one of the
 ; values if $8000, in which case the negate will fail.
 
-               .export         tosmod0ax, tosmodeax
-       .import         poplsargs, udiv32, negeax
-       .importzp       sreg, ptr1, ptr2, tmp1, tmp3, tmp4
+        .export         tosmod0ax, tosmodeax
+        .import         poplsargs, udiv32, negeax
+        .importzp       sreg, ptr1, ptr2, tmp1, tmp3, tmp4
 
 tosmod0ax:
         ldy     #$00
@@ -17,17 +17,17 @@ tosmod0ax:
         sty     sreg+1
 
 tosmodeax:                         
-               jsr     poplsargs       ; Get arguments from stack, adjust sign
-       jsr     udiv32          ; Do the division, remainder is in (ptr2:tmp3:tmp4)
+        jsr     poplsargs       ; Get arguments from stack, adjust sign
+        jsr     udiv32          ; Do the division, remainder is in (ptr2:tmp3:tmp4)
 
 ; Load the result
 
         lda     ptr2
-       ldx     ptr2+1
-       ldy     tmp3
-       sty     sreg
-       ldy     tmp4
-       sty     sreg+1
+        ldx     ptr2+1
+        ldy     tmp3
+        sty     sreg
+        ldy     tmp4
+        sty     sreg+1
 
 ; Check the sign of the result. It is the sign of the left operand.
 
index 44a46b5aaa994563afa4d19593412795b66bf759..7ad2b2aa4266f39eb2df17241656f2c457685b16 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: multiplication for long (unsigned) ints
 ;
 
-               .export         tosumul0ax, tosumuleax, tosmul0ax, tosmuleax
-       .import         addysp1
-       .importzp       sp, sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr3, ptr4
+        .export         tosumul0ax, tosumuleax, tosmul0ax, tosmuleax
+        .import         addysp1
+        .importzp       sp, sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr3, ptr4
 
 tosmul0ax:
 tosumul0ax:
@@ -16,54 +16,54 @@ tosumul0ax:
 
 tosmuleax:
 tosumuleax:
-mul32: sta     ptr1
-       stx     ptr1+1          ; op2 now in ptr1/sreg
-       ldy     #0
-       lda     (sp),y
-       sta     ptr3
-       iny
-       lda     (sp),y
-       sta     ptr3+1
-       iny
-       lda     (sp),y
-       sta     ptr4
-       iny
-       lda     (sp),y
-       sta     ptr4+1          ; op1 in pre3/ptr4
-               jsr     addysp1         ; Drop TOS
+mul32:  sta     ptr1
+        stx     ptr1+1          ; op2 now in ptr1/sreg
+        ldy     #0
+        lda     (sp),y
+        sta     ptr3
+        iny
+        lda     (sp),y
+        sta     ptr3+1
+        iny
+        lda     (sp),y
+        sta     ptr4
+        iny
+        lda     (sp),y
+        sta     ptr4+1          ; op1 in pre3/ptr4
+        jsr     addysp1         ; Drop TOS
 
 ; Do (ptr1:sreg)*(ptr3:ptr4) --> EAX.
 
-       lda     #0
-       sta     tmp4
-       sta     tmp3
-       sta     tmp2
-       ldy     #32
-L0:    lsr     tmp4
-       ror     tmp3
-       ror     tmp2
-       ror     a
-       ror     sreg+1
-       ror     sreg
-       ror     ptr1+1
-       ror     ptr1
-       bcc     L1
-       clc
-       adc     ptr3
-       pha
-       lda     ptr3+1
-       adc     tmp2
-       sta     tmp2
-       lda     ptr4
-       adc     tmp3
-       sta     tmp3
-       lda     ptr4+1
-       adc     tmp4
-       sta     tmp4
-       pla
-L1:    dey
-               bpl     L0
-       lda     ptr1            ; Load the low result word
-       ldx     ptr1+1
-       rts
+        lda     #0
+        sta     tmp4
+        sta     tmp3
+        sta     tmp2
+        ldy     #32
+L0:     lsr     tmp4
+        ror     tmp3
+        ror     tmp2
+        ror     a
+        ror     sreg+1
+        ror     sreg
+        ror     ptr1+1
+        ror     ptr1
+        bcc     L1
+        clc
+        adc     ptr3
+        pha
+        lda     ptr3+1
+        adc     tmp2
+        sta     tmp2
+        lda     ptr4
+        adc     tmp3
+        sta     tmp3
+        lda     ptr4+1
+        adc     tmp4
+        sta     tmp4
+        pla
+L1:     dey
+        bpl     L0
+        lda     ptr1            ; Load the low result word
+        ldx     ptr1+1
+        rts
 
index e0f0485793b001c24e4834b9a64f7b109acd4b03..58ae99acc4f2550a3dbfa6bde20e0d965a8e86f9 100644 (file)
@@ -4,11 +4,11 @@
 ; CC65 runtime: long not equal
 ;
 
-       .export         tosneeax
-       .import         toslcmp, boolne
+        .export         tosneeax
+        .import         toslcmp, boolne
 
 tosneeax:
-       jsr     toslcmp         ; Set flags
-       jmp     boolne          ; Convert to boolean
+        jsr     toslcmp         ; Set flags
+        jmp     boolne          ; Convert to boolean
 
 
index 12b744b48521f12b323f3b212b97557f91944902..a5c11c6af078dce0770aa92712667b346c9ad419 100644 (file)
@@ -7,25 +7,25 @@
 ;
 ; eax = -eax
 ;
-       .export         negeax
-       .importzp       sreg
+        .export         negeax
+        .importzp       sreg
 
-negeax:        clc
-       eor     #$FF
-       adc     #1
-       pha
-       txa
-       eor     #$FF
-       adc     #0
-       tax
-       lda     sreg
-       eor     #$FF
-       adc     #0
-       sta     sreg
-       lda     sreg+1
-       eor     #$FF
-       adc     #0
-       sta     sreg+1
-       pla
-       rts
+negeax: clc
+        eor     #$FF
+        adc     #1
+        pha
+        txa
+        eor     #$FF
+        adc     #0
+        tax
+        lda     sreg
+        eor     #$FF
+        adc     #0
+        sta     sreg
+        lda     sreg+1
+        eor     #$FF
+        adc     #0
+        sta     sreg+1
+        pla
+        rts
 
index 841154b1dd0bf8b48c1c5b8c19d8996f80373392..a74b3305950acb1b55d3e55e06dc3af98baeedaa 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: or on longs
 ;
 
-       .export         tosor0ax, tosoreax
-       .import         addysp1
-       .importzp       sp, sreg, tmp1
+        .export         tosor0ax, tosoreax
+        .import         addysp1
+        .importzp       sp, sreg, tmp1
                                   
 
 tosor0ax:
@@ -15,22 +15,22 @@ tosor0ax:
         sty     sreg+1 
 
 tosoreax:
-               ldy     #0
-               ora     (sp),y          ; byte 0
-       sta     tmp1
-       iny
-       txa
-       ora     (sp),y          ; byte 1
-       tax
-       iny
-       lda     sreg
-       ora     (sp),y          ; byte 2
-       sta     sreg
-       iny
-       lda     sreg+1
-       ora     (sp),y          ; byte 3
-       sta     sreg+1
+        ldy     #0
+        ora     (sp),y          ; byte 0
+        sta     tmp1
+        iny
+        txa
+        ora     (sp),y          ; byte 1
+        tax
+        iny
+        lda     sreg
+        ora     (sp),y          ; byte 2
+        sta     sreg
+        iny
+        lda     sreg+1
+        ora     (sp),y          ; byte 3
+        sta     sreg+1
 
-       lda     tmp1
-               jmp     addysp1
+        lda     tmp1
+        jmp     addysp1
 
index ff0d59b9bc0a8ef9aab3c77a46717b5553d9b930..7d281db52e1b581c240ba0d13e52f4812a1146c9 100644 (file)
@@ -4,22 +4,22 @@
 ; CC65 runtime: long pop
 ;
 
-       .export         popeax
-       .import         incsp4
-       .importzp       sp, sreg
+        .export         popeax
+        .import         incsp4
+        .importzp       sp, sreg
 
 
-popeax:        ldy     #3
-       lda     (sp),y
-       sta     sreg+1
-       dey
-       lda     (sp),y
-       sta     sreg
-       dey
-       lda     (sp),y
-       tax
-       dey
-       lda     (sp),y
-       jmp     incsp4
+popeax: ldy     #3
+        lda     (sp),y
+        sta     sreg+1
+        dey
+        lda     (sp),y
+        sta     sreg
+        dey
+        lda     (sp),y
+        tax
+        dey
+        lda     (sp),y
+        jmp     incsp4
 
 
index 0d75085fcf62e0a61ec04f95f905424db900f48b..074b4320aee1a5bbeee5924e9eef25043c207584 100644 (file)
@@ -7,31 +7,31 @@
 ;
 ; push eax on stack
 ;
-               .export         pushl0, push0ax, pusheax
-               .import         decsp4
-               .importzp       sp, sreg
+        .export         pushl0, push0ax, pusheax
+        .import         decsp4
+        .importzp       sp, sreg
 
 pushl0:
         lda     #0
         tax
 push0ax:
-       ldy     #0
-       sty     sreg
-       sty     sreg+1
+        ldy     #0
+        sty     sreg
+        sty     sreg+1
 pusheax:
-       pha                     ; decsp will destroy A (but not X)
-       jsr     decsp4
-       ldy     #3
-       lda     sreg+1
-       sta     (sp),y
-       dey
-       lda     sreg
-       sta     (sp),y
-       dey
-       txa
-       sta     (sp),y
-       dey
-       pla
-       sta     (sp),y
-       rts
+        pha                     ; decsp will destroy A (but not X)
+        jsr     decsp4
+        ldy     #3
+        lda     sreg+1
+        sta     (sp),y
+        dey
+        lda     sreg
+        sta     (sp),y
+        dey
+        txa
+        sta     (sp),y
+        dey
+        pla
+        sta     (sp),y
+        rts
 
index 7dfe43ac5a04d17187cc300b53884d727aee3699..fd519ca4f742f7cdd61b8312ffec6d69ef9a5dc8 100644 (file)
@@ -7,9 +7,9 @@
 ;
 ; EAX = EAX - TOS
 ;
-       .export         tosrsub0ax, tosrsubeax
-       .import         addysp1
-       .importzp       sp, sreg, tmp1
+        .export         tosrsub0ax, tosrsubeax
+        .import         addysp1
+        .importzp       sp, sreg, tmp1
 
 tosrsub0ax:
         ldy     #$00
@@ -17,22 +17,22 @@ tosrsub0ax:
         sty     sreg+1
 
 tosrsubeax:                         
-       ldy     #0
-               sec
-       sbc     (sp),y          ; byte 0
-               sta     tmp1            ; use as temp storage
-       txa
-       iny
-       sbc     (sp),y          ; byte 1
-       tax
-       iny
-       lda     sreg
-       sbc     (sp),y          ; byte 2
-       sta     sreg
-       iny
-       lda     sreg+1
-       sbc     (sp),y          ; byte 3
-       sta     sreg+1
-       lda     tmp1
-               jmp     addysp1         ; drop TOS
+        ldy     #0
+        sec
+        sbc     (sp),y          ; byte 0
+        sta     tmp1            ; use as temp storage
+        txa
+        iny
+        sbc     (sp),y          ; byte 1
+        tax
+        iny
+        lda     sreg
+        sbc     (sp),y          ; byte 2
+        sta     sreg
+        iny
+        lda     sreg+1
+        sbc     (sp),y          ; byte 3
+        sta     sreg+1
+        lda     tmp1
+        jmp     addysp1         ; drop TOS
 
index e9ccfc32f77f3f38bf0d7552e779377a3bb12b23..fa21e463ec0ee3805081583248dd5eb7a255d8fe 100644 (file)
@@ -4,25 +4,25 @@
 ; CC65 runtime: save ax into temp storage/restore ax from temp storage
 ;
 
-       .export         saveeax, resteax
-       .importzp       sreg, regsave
+        .export         saveeax, resteax
+        .importzp       sreg, regsave
 
 saveeax:
-       sta     regsave
-       stx     regsave+1
-       lda     sreg
-       sta     regsave+2
-       lda     sreg+1
-       sta     regsave+3
-       lda     regsave
-       rts
+        sta     regsave
+        stx     regsave+1
+        lda     sreg
+        sta     regsave+2
+        lda     sreg+1
+        sta     regsave+3
+        lda     regsave
+        rts
 
 resteax:
-       lda     regsave+3
-       sta     sreg+1
-       lda     regsave+2
-       sta     sreg
-       ldx     regsave+1
-       lda     regsave
-       rts
+        lda     regsave+3
+        sta     sreg+1
+        lda     regsave+2
+        sta     sreg
+        ldx     regsave+1
+        lda     regsave
+        rts
 
index a17f12fd163916d72a57d93babcdf6fc60581342..8a2fca13949b4d3e136b66b5ea27781194305b0d 100644 (file)
@@ -7,59 +7,59 @@
 ; When negating values, we will ignore the possibility here, that one of the
 ; values if $80000000, in which case the negate will fail.
 
-               .export         poplsargs
-       .import         getlop
-       .importzp       sreg, tmp1, tmp2, ptr1, ptr3, ptr4
+        .export         poplsargs
+        .import         getlop
+        .importzp       sreg, tmp1, tmp2, ptr1, ptr3, ptr4
 
 poplsargs:
-       jsr     getlop          ; Get the operands
+        jsr     getlop          ; Get the operands
 
 ; Remember the signs of the operands (that is, the high bytes) in tmp1 and
 ; tmp2. Make both operands positive.
 
-       lda     sreg+1          ; Is the left operand negative?
+        lda     sreg+1          ; Is the left operand negative?
         sta     tmp1            ; Remember the sign for later
-       bpl     L1              ; Jump if not
+        bpl     L1              ; Jump if not
 
-       clc                     ; Make it positive
-       lda     ptr1
-       eor     #$FF
-       adc     #$01
-       sta     ptr1
-       lda     ptr1+1
-       eor     #$FF
-       adc     #$00
-       sta     ptr1+1
-       lda     sreg
-       eor     #$FF
-       adc     #$00
-       sta     sreg
-       lda     sreg+1
-       eor     #$FF
-       adc     #$00
-       sta     sreg+1
+        clc                     ; Make it positive
+        lda     ptr1
+        eor     #$FF
+        adc     #$01
+        sta     ptr1
+        lda     ptr1+1
+        eor     #$FF
+        adc     #$00
+        sta     ptr1+1
+        lda     sreg
+        eor     #$FF
+        adc     #$00
+        sta     sreg
+        lda     sreg+1
+        eor     #$FF
+        adc     #$00
+        sta     sreg+1
 
-L1:    lda     ptr4+1          ; Is the right operand nagative?
+L1:     lda     ptr4+1          ; Is the right operand nagative?
         sta     tmp2            ; Remember the sign for later
-       bpl     L2              ; Jump if not
+        bpl     L2              ; Jump if not
 
-       clc                     ; Make it positive
-       lda     ptr3
-       eor     #$FF
-       adc     #$01
-       sta     ptr3
-       lda     ptr3+1
-       eor     #$FF
-       adc     #$00
-       sta     ptr3+1
-       lda     ptr4
-       eor     #$FF
-       adc     #$00
-       sta     ptr4
-       lda     ptr4+1
-       eor     #$FF
-       adc     #$00
-       sta     ptr4+1
+        clc                     ; Make it positive
+        lda     ptr3
+        eor     #$FF
+        adc     #$01
+        sta     ptr3
+        lda     ptr3+1
+        eor     #$FF
+        adc     #$00
+        sta     ptr3+1
+        lda     ptr4
+        eor     #$FF
+        adc     #$00
+        sta     ptr4
+        lda     ptr4+1
+        eor     #$FF
+        adc     #$00
+        sta     ptr4+1
 
-L2:    rts
+L2:     rts
 
index 3c4e7080b91170b9a1177a8a0bf3d720a0e03885..78c065eb26bd694baca1db1da1698dced9f42ee7 100644 (file)
@@ -11,9 +11,9 @@
 ;
 
 
-       .export         tosasleax, tosshleax
-       .import         popeax
-       .importzp       sreg, tmp1
+        .export         tosasleax, tosshleax
+        .import         popeax
+        .importzp       sreg, tmp1
 
 
 tosshleax:
@@ -29,12 +29,12 @@ tosasleax:
 
 ; Do the actual shift. Faster solutions are possible but need a lot more code.
 
-L2:     asl    a
-       rol     tmp1
-       rol     sreg
-       rol     sreg+1
+L2:     asl     a
+        rol     tmp1
+        rol     sreg
+        rol     sreg+1
         dey
-               bne     L2
+        bne     L2
 
 ; Shift done
 
index 9c2a6e3a882a17790e187ab52302fdff1661f05f..09d585abd1d476eacb6132350b0fbc6d01887301 100644 (file)
@@ -11,9 +11,9 @@
 ;
 
 
-       .export         tosshreax
-       .import         popeax
-       .importzp       sreg, tmp1
+        .export         tosshreax
+        .import         popeax
+        .importzp       sreg, tmp1
 
 
 tosshreax:
@@ -29,11 +29,11 @@ tosshreax:
 ; Do the actual shift. Faster solutions are possible but need a lot more code.
 
 L2:     lsr     sreg+1
-       ror     sreg
-        ror            tmp1
+        ror     sreg
+        ror     tmp1
         ror     a
         dey
-               bne     L2
+        bne     L2
 
 ; Shift done
 
index 30ae49da173eda0753ff20be0face7860233cd5c..926d52e510f0babfe9695025e303524c75853c5b 100644 (file)
@@ -7,9 +7,9 @@
 ;
 ; EAX = TOS - EAX
 ;
-       .export         tossub0ax, tossubeax
-       .import         addysp1
-       .importzp       sp, sreg
+        .export         tossub0ax, tossubeax
+        .import         addysp1
+        .importzp       sp, sreg
 
         .macpack        cpu
 
@@ -19,29 +19,29 @@ tossub0ax:
         sty     sreg+1
 
 tossubeax:
-       sec
-       eor     #$FF
+        sec
+        eor     #$FF
 .if (.cpu .bitand CPU_ISET_65SC02)
-       adc     (sp)            ; 65SC02 version - saves 2 cycles
-       ldy     #1
+        adc     (sp)            ; 65SC02 version - saves 2 cycles
+        ldy     #1
 .else
-       ldy     #0
-       adc     (sp),y          ; lo byte
-       iny
+        ldy     #0
+        adc     (sp),y          ; lo byte
+        iny
 .endif
-               pha                     ; Save low byte
-       txa
-       eor     #$FF
-       adc     (sp),y          ; byte 1
-       tax
-       iny
-       lda     (sp),y
-       sbc     sreg            ; byte 2
-       sta     sreg
-       iny
-       lda     (sp),y
-       sbc     sreg+1          ; byte 3
-       sta     sreg+1
-       pla                     ; Restore byte 0
-               jmp     addysp1         ; Drop TOS
+        pha                     ; Save low byte
+        txa
+        eor     #$FF
+        adc     (sp),y          ; byte 1
+        tax
+        iny
+        lda     (sp),y
+        sbc     sreg            ; byte 2
+        sta     sreg
+        iny
+        lda     (sp),y
+        sbc     sreg+1          ; byte 3
+        sta     sreg+1
+        pla                     ; Restore byte 0
+        jmp     addysp1         ; Drop TOS
 
index acc6a286141b707e10746b0fcb892f8014824262..9f5853d29f4e66be62627dbfc401823ee02194eb 100644 (file)
@@ -1,4 +1,4 @@
-;                                
+;                                 
 ; Ullrich von Bassewitz, 07.04.2000
 ;
 ; CC65 runtime: -= operator
@@ -7,49 +7,49 @@
 ; in ptr1, the high byte is in Y, and the decrement is in eax.
 ;
 
-               .export         lsubeq1, lsubeqa, lsubeq
-               .importzp       sreg, ptr1
+        .export         lsubeq1, lsubeqa, lsubeq
+        .importzp       sreg, ptr1
 
 
 lsubeq1:
-               lda     #$01
+        lda     #$01
 
 lsubeqa:
-       ldx     #$00
-       stx     sreg
-       stx     sreg+1
-
-lsubeq:        sty     ptr1+1                  ; Store high byte of address
-       ldy     #$00                    ; Address low byte
-       sec
-
-       eor     #$FF
-       adc     (ptr1),y                ; Subtract byte 0
-       sta     (ptr1),y
-               pha                             ; Save byte 0 of result for later
-
-       iny                             ; Address byte 1
-       txa
-       eor     #$FF
-       adc     (ptr1),y                ; Subtract byte 1
-       sta     (ptr1),y
-       tax
-
-       iny                             ; Address byte 2
-       lda     (ptr1),y
-       sbc     sreg
-       sta     (ptr1),y
-       sta     sreg
-
-       iny                             ; Address byte 3
-       lda     (ptr1),y
-       sbc     sreg+1
-       sta     (ptr1),y
-       sta     sreg+1
-
-       pla                             ; Retrieve byte 0 of result
-
-       rts                             ; Done
+        ldx     #$00
+        stx     sreg
+        stx     sreg+1
+
+lsubeq: sty     ptr1+1                  ; Store high byte of address
+        ldy     #$00                    ; Address low byte
+        sec
+
+        eor     #$FF
+        adc     (ptr1),y                ; Subtract byte 0
+        sta     (ptr1),y
+        pha                             ; Save byte 0 of result for later
+
+        iny                             ; Address byte 1
+        txa
+        eor     #$FF
+        adc     (ptr1),y                ; Subtract byte 1
+        sta     (ptr1),y
+        tax
+
+        iny                             ; Address byte 2
+        lda     (ptr1),y
+        sbc     sreg
+        sta     (ptr1),y
+        sta     sreg
+
+        iny                             ; Address byte 3
+        lda     (ptr1),y
+        sbc     sreg+1
+        sta     (ptr1),y
+        sta     sreg+1
+
+        pla                             ; Retrieve byte 0 of result
+
+        rts                             ; Done
 
 
 
index c679c8806bb0e8473f77368de79d2a56bddcc311..f32930c69ee6c5896b2f698f6f65db1890e7296e 100644 (file)
@@ -4,33 +4,33 @@
 ; CC65 runtime: -= operator for longs on the stack
 ;
 
-               .export         lsubeq0sp, lsubeqysp
-       .importzp       sp, sreg
+        .export         lsubeq0sp, lsubeqysp
+        .importzp       sp, sreg
 
 lsubeq0sp:
-       ldy     #0
+        ldy     #0
 lsubeqysp:
-       sec
-       eor     #$FF
-               adc     (sp),y
-       sta     (sp),y
-       pha                     ; Save low byte
-       iny
-       txa
-       eor     #$FF
-               adc     (sp),y
-       sta     (sp),y
-       tax
-       iny
-               lda     (sp),y
-       sbc     sreg
-       sta     (sp),y
-       sta     sreg
-       iny
-               lda     (sp),y
-       sbc     sreg+1
-       sta     (sp),y
-       sta     sreg+1
-       pla
-       rts
+        sec
+        eor     #$FF
+        adc     (sp),y
+        sta     (sp),y
+        pha                     ; Save low byte
+        iny
+        txa
+        eor     #$FF
+        adc     (sp),y
+        sta     (sp),y
+        tax
+        iny
+        lda     (sp),y
+        sbc     sreg
+        sta     (sp),y
+        sta     sreg
+        iny
+        lda     (sp),y
+        sbc     sreg+1
+        sta     (sp),y
+        sta     sreg+1
+        pla
+        rts
 
index 1b681f588b391b669fc963f72481e4b195a129f7..f42a0e7fa7ff9be8f450f7df9f2e540ce1e02ca9 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Compare < for signed ints
 ;
 
-       .export         toslt00, toslta0, tosltax
-               .import         tosicmp, boollt
+        .export         toslt00, toslta0, tosltax
+        .import         tosicmp, boollt
 
 toslt00:
-       lda     #$00
+        lda     #$00
 toslta0:
-       ldx     #$00
+        ldx     #$00
 tosltax:
-       jsr     tosicmp         ; Set flags
-       jmp     boollt          ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boollt          ; Convert to boolean
 
index 2c6630042f21e4b9c283431bb9d6cf8046dc8fac..6027b8dd46846f174654a05c7878910316225217 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: test long in eax
 ;
 
-               .export         utsteax, tsteax
-       .importzp       sreg, tmp1
+        .export         utsteax, tsteax
+        .importzp       sreg, tmp1
 
 tsteax:
 utsteax:
-       tay                     ; Save value
-       stx     tmp1
-       ora     tmp1
-       ora     sreg
-       ora     sreg+1
-       beq     L9
-       tya
-       ldy     #1              ; Force NE
-L9:    rts                               
+        tay                     ; Save value
+        stx     tmp1
+        ora     tmp1
+        ora     sreg
+        ora     sreg+1
+        beq     L9
+        tya
+        ldy     #1              ; Force NE
+L9:     rts                               
 
 
index aa40a962063dc3660d6681a0f5b97ab1eee96261..149c98a7875e62ce790da91deee6df3389381c09 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: division for long unsigned ints
 ;
 
-               .export         tosudiv0ax, tosudiveax, getlop, udiv32
-       .import         addysp1
-       .importzp       sp, sreg, tmp3, tmp4, ptr1, ptr2, ptr3, ptr4
+        .export         tosudiv0ax, tosudiveax, getlop, udiv32
+        .import         addysp1
+        .importzp       sp, sreg, tmp3, tmp4, ptr1, ptr2, ptr3, ptr4
 
 tosudiv0ax:
         ldy     #$00
@@ -14,85 +14,85 @@ tosudiv0ax:
         sty     sreg+1
 
 tosudiveax:                         
-       jsr     getlop          ; Get the paramameters
-       jsr     udiv32          ; Do the division
-       lda     ptr1            ; Result is in ptr1:sreg
-       ldx     ptr1+1
-       rts
+        jsr     getlop          ; Get the paramameters
+        jsr     udiv32          ; Do the division
+        lda     ptr1            ; Result is in ptr1:sreg
+        ldx     ptr1+1
+        rts
 
 ; Pop the parameters for the long division and put it into the relevant
 ; memory cells. Called from the signed divisions also.
 
-getlop:        sta     ptr3            ; Put right operand in place
-               stx     ptr3+1
-       lda     sreg
-       sta     ptr4
-       lda     sreg+1
-       sta     ptr4+1
+getlop: sta     ptr3            ; Put right operand in place
+        stx     ptr3+1
+        lda     sreg
+        sta     ptr4
+        lda     sreg+1
+        sta     ptr4+1
 
-       ldy     #0              ; Put left operand in place
-       lda     (sp),y
-       sta     ptr1
-       iny
-       lda     (sp),y
-       sta     ptr1+1
-       iny
-       lda     (sp),y
-       sta     sreg
-       iny
-       lda     (sp),y
-       sta     sreg+1
-       jmp     addysp1         ; Drop parameters
+        ldy     #0              ; Put left operand in place
+        lda     (sp),y
+        sta     ptr1
+        iny
+        lda     (sp),y
+        sta     ptr1+1
+        iny
+        lda     (sp),y
+        sta     sreg
+        iny
+        lda     (sp),y
+        sta     sreg+1
+        jmp     addysp1         ; Drop parameters
 
 ; Do (ptr1:sreg) / (ptr3:ptr4) --> (ptr1:sreg), remainder in (ptr2:tmp3:tmp4)
 ; This is also the entry point for the signed division
 
-udiv32:        lda     #0
-       sta     ptr2+1
-       sta     tmp3
-       sta     tmp4
-;      sta     ptr1+1
-       ldy     #32
-L0:    asl     ptr1
-       rol     ptr1+1
-       rol     sreg
-       rol     sreg+1
-       rol     a
-       rol     ptr2+1
-       rol     tmp3
-       rol     tmp4
+udiv32: lda     #0
+        sta     ptr2+1
+        sta     tmp3
+        sta     tmp4
+;       sta     ptr1+1
+        ldy     #32
+L0:     asl     ptr1
+        rol     ptr1+1
+        rol     sreg
+        rol     sreg+1
+        rol     a
+        rol     ptr2+1
+        rol     tmp3
+        rol     tmp4
 
 ; Do a subtraction. we do not have enough space to store the intermediate
 ; result, so we may have to do the subtraction twice.
 
-       pha
-       cmp     ptr3
-       lda     ptr2+1
-       sbc     ptr3+1
-       lda     tmp3
-       sbc     ptr4
-       lda     tmp4
-       sbc     ptr4+1
-       bcc     L1
+        pha
+        cmp     ptr3
+        lda     ptr2+1
+        sbc     ptr3+1
+        lda     tmp3
+        sbc     ptr4
+        lda     tmp4
+        sbc     ptr4+1
+        bcc     L1
 
 ; Overflow, do the subtraction again, this time store the result
 
-        sta            tmp4            ; We have the high byte already
-       pla
-       sbc     ptr3            ; byte 0
-       pha
-       lda     ptr2+1
-       sbc     ptr3+1
-       sta     ptr2+1          ; byte 1
-       lda     tmp3
-       sbc     ptr4
-       sta     tmp3            ; byte 2
-       inc     ptr1            ; Set result bit
+        sta     tmp4            ; We have the high byte already
+        pla
+        sbc     ptr3            ; byte 0
+        pha
+        lda     ptr2+1
+        sbc     ptr3+1
+        sta     ptr2+1          ; byte 1
+        lda     tmp3
+        sbc     ptr4
+        sta     tmp3            ; byte 2
+        inc     ptr1            ; Set result bit
 
-L1:    pla
-       dey
-       bne     L0
-       sta     ptr2
-       rts
+L1:     pla
+        dey
+        bne     L0
+        sta     ptr2
+        rts
 
 
index 541ff4852adfa12ec9984ab38e0fb7016c0a5a61..38e06f0c6deb953f8a82dc907650f61fe0a57bdd 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Compare >= for long unsigneds
 ;
 
-       .export         tosugeeax
-               .import         toslcmp, booluge
+        .export         tosugeeax
+        .import         toslcmp, booluge
 
 tosugeeax:
-               jsr     toslcmp         ; Set the flags
-               jmp     booluge         ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     booluge         ; Convert to boolean
 
index 19cbcc0fa9154efc3ba23cfcb8b6a2b8eec8c6e0..19254e94c76c37989f3498540863b0d5892185b9 100644 (file)
@@ -4,11 +4,11 @@
 ; CC65 runtime: Compare > for long unsigneds
 ;
 
-       .export         tosugteax
-       .import         toslcmp, boolugt
+        .export         tosugteax
+        .import         toslcmp, boolugt
 
 tosugteax:
-               jsr     toslcmp         ; Set the flags
-       jmp     boolugt         ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boolugt         ; Convert to boolean
 
 
index d898979d5b97a2bfc1698220ef2e87a7f71fc652..5a802c9e1e9a49f2d4595405ebf385b97b62360e 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Compare <= for long unsigneds
 ;
 
-       .export         tosuleeax
-       .import         toslcmp, boolule
+        .export         tosuleeax
+        .import         toslcmp, boolule
 
 tosuleeax:
-               jsr     toslcmp         ; Set the flags
-       jmp     boolule         ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boolule         ; Convert to boolean
 
index f13735eb1a128e4c06c4a34e9511b9117983ac06..905ff1d46aed6fc14b68cd72f7cd1d19365fe4ed 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: Compare < for long unsigneds
 ;
 
-       .export         tosulteax
-               .import         toslcmp, boolult
+        .export         tosulteax
+        .import         toslcmp, boolult
 
 tosulteax:
-               jsr     toslcmp         ; Set the flags
-       jmp     boolult         ; Convert to boolean
+        jsr     toslcmp         ; Set the flags
+        jmp     boolult         ; Convert to boolean
index 3128bc078afd2eb1ddd27f2f890a8ef5a28e7fd9..e290e11677e9a0a2e9a2e862a773ad59d93e11bb 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: modulo operation for long unsigned ints
 ;
 
-               .export         tosumod0ax, tosumodeax
-               .import         getlop, udiv32
-               .importzp       sreg, tmp3, tmp4, ptr2
+        .export         tosumod0ax, tosumodeax
+        .import         getlop, udiv32
+        .importzp       sreg, tmp3, tmp4, ptr2
 
 tosumod0ax:                          
         ldy     #$00
@@ -14,13 +14,13 @@ tosumod0ax:
         sty     sreg+1
 
 tosumodeax:
-       jsr     getlop          ; Get the paramameters
-       jsr     udiv32          ; Do the division
-       lda     tmp3            ; Remainder is in ptr2:tmp3:tmp4
-       sta     sreg
-       lda     tmp4
-       sta     sreg+1
-       lda     ptr2
-       ldx     ptr2+1
-       rts
+        jsr     getlop          ; Get the paramameters
+        jsr     udiv32          ; Do the division
+        lda     tmp3            ; Remainder is in ptr2:tmp3:tmp4
+        sta     sreg
+        lda     tmp4
+        sta     sreg+1
+        lda     ptr2
+        ldx     ptr2+1
+        rts
 
index 46086fbc4853c2135bf920293e67a994d8be4a8d..ce21ef35bd7dfcfdbcb3091e1755442f17c91743 100644 (file)
@@ -4,9 +4,9 @@
 ; CC65 runtime: xor on longs
 ;
 
-       .export         tosxor0ax, tosxoreax
-       .import         addysp1
-       .importzp       sp, sreg, tmp1
+        .export         tosxor0ax, tosxoreax
+        .import         addysp1
+        .importzp       sp, sreg, tmp1
 
 tosxor0ax:
         ldy     #$00
@@ -14,24 +14,24 @@ tosxor0ax:
         sty     sreg+1
 
 tosxoreax:                         
-               ldy     #0
-               eor     (sp),y          ; byte 0
-       sta     tmp1
-       iny
-       txa
-       eor     (sp),y          ; byte 1
-       tax
-       iny
-       lda     sreg
-       eor     (sp),y          ; byte 2
-       sta     sreg
-       iny
-       lda     sreg+1
-       eor     (sp),y          ; byte 3
-       sta     sreg+1
+        ldy     #0
+        eor     (sp),y          ; byte 0
+        sta     tmp1
+        iny
+        txa
+        eor     (sp),y          ; byte 1
+        tax
+        iny
+        lda     sreg
+        eor     (sp),y          ; byte 2
+        sta     sreg
+        iny
+        lda     sreg+1
+        eor     (sp),y          ; byte 3
+        sta     sreg+1
 
-       lda     tmp1
-               jmp     addysp1
+        lda     tmp1
+        jmp     addysp1
 
 
 
index 3429ff0bc9060888d22ae926d0f59fffa3f7a21b..a15b24b9335dee4acc1a1aedc5de7ba1c440e38f 100644 (file)
@@ -4,57 +4,57 @@
 ; CC65 runtime: Make boolean according to flags
 ;
 
-               .export         boolne, booleq, boollt, boolle, boolgt, boolge
-       .export         boolult, boolule, boolugt, booluge
+        .export         boolne, booleq, boollt, boolle, boolgt, boolge
+        .export         boolult, boolule, boolugt, booluge
 
 
-boolne:        bne     ret1
-       ldx     #$00
-       txa
-       rts
+boolne: bne     ret1
+        ldx     #$00
+        txa
+        rts
 
 
-booleq:        beq     ret1
-               ldx     #$00
-               txa
-               rts
+booleq: beq     ret1
+        ldx     #$00
+        txa
+        rts
 
 
-boolle:        beq     ret1
-boollt:        bmi     ret1
-       ldx     #$00
-       txa
-       rts
+boolle: beq     ret1
+boollt: bmi     ret1
+        ldx     #$00
+        txa
+        rts
 
 
-boolgt: beq    L0
-boolge:        bpl     ret1
-L0:            ldx     #$00
-               txa
-               rts
+boolgt: beq     L0
+boolge: bpl     ret1
+L0:     ldx     #$00
+        txa
+        rts
 
 
 boolule:
-       beq     ret1
+        beq     ret1
 boolult:
-       bcc     ret1
-       ldx     #$00
-       txa
-       rts
+        bcc     ret1
+        ldx     #$00
+        txa
+        rts
 
 
 boolugt:
-       beq     L1
+        beq     L1
 booluge:
-       bcs     ret1
-L1:    ldx     #$00
-       txa
-       rts
+        bcs     ret1
+L1:     ldx     #$00
+        txa
+        rts
 
 
-ret1:  ldx     #$00
-       lda     #$01
-       rts
+ret1:   ldx     #$00
+        lda     #$01
+        rts
 
 
 
index c5565a8520e6ee1a7158d2a4a8cecd4d9daaff41..c4331ed855f52105f8d87c2da897e25c0b7c848d 100644 (file)
@@ -7,17 +7,17 @@
 ; When negating values, we will ignore the possibility here, that one of the
 ; values if $8000, in which case the negate will fail.
 
-               .export         tosmoda0, tosmodax
-       .import         popsargs, udiv16, negax
-       .importzp       ptr1, tmp1
+        .export         tosmoda0, tosmodax
+        .import         popsargs, udiv16, negax
+        .importzp       ptr1, tmp1
 
 tosmoda0:
-       ldx     #0
+        ldx     #0
 tosmodax:
-       jsr     popsargs        ; Get arguments from stack, adjust sign
-       jsr     udiv16          ; Do the division
+        jsr     popsargs        ; Get arguments from stack, adjust sign
+        jsr     udiv16          ; Do the division
         lda     ptr1            ; Load low byte of result
-       ldx     ptr1+1          ; Load high byte of result
+        ldx     ptr1+1          ; Load high byte of result
 
 ; Adjust the sign of the result. tmp1 contains the high byte of the left
 ; operand, tmp2 contains the high byte of the right operand. The sign of
index eaf1fb97b86144a0da3b869f5c168dd896a45a09..6344e3a32e89d937293549b5fa761c939a5aa936 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: multiplication for ints
 ;
 
-               .export         tosumulax, tosmulax
+        .export         tosumulax, tosmulax
         .import         mul8x16, mul8x16a       ; in mul8.s
-       .import         popsreg
-       .importzp       sreg, tmp1, ptr4
+        .import         popsreg
+        .importzp       sreg, tmp1, ptr4
 
 
 ;---------------------------------------------------------------------------
 
 tosmulax:
 tosumulax:
-        sta    ptr4
+        sta     ptr4
         txa                     ; High byte zero
         beq     @L3             ; Do 8x16 multiplication if high byte zero
-               stx     ptr4+1          ; Save right operand
-               jsr     popsreg         ; Get left operand
+        stx     ptr4+1          ; Save right operand
+        jsr     popsreg         ; Get left operand
 
 ; Do ptr4:ptr4+1 * sreg:sreg+1 --> AX
 
-               lda     #0
-               ldx     sreg+1          ; Get high byte into register for speed
+        lda     #0
+        ldx     sreg+1          ; Get high byte into register for speed
         beq     @L4             ; -> we can do 8x16 after swap
-               sta     tmp1
-               ldy     #16             ; Number of bits
+        sta     tmp1
+        ldy     #16             ; Number of bits
 
         lsr     ptr4+1
         ror     ptr4            ; Get first bit into carry
 @L0:    bcc     @L1
 
-       clc
-       adc     sreg
-       pha
-               txa                     ; hi byte of left op
-       adc     tmp1
-       sta     tmp1
-       pla
+        clc
+        adc     sreg
+        pha
+        txa                     ; hi byte of left op
+        adc     tmp1
+        sta     tmp1
+        pla
 
 @L1:    ror     tmp1
-       ror     a
-       ror     ptr4+1
-       ror     ptr4
+        ror     a
+        ror     ptr4+1
+        ror     ptr4
         dey
         bne     @L0
 
-       lda     ptr4            ; Load the result
-       ldx     ptr4+1
-       rts                     ; Done
+        lda     ptr4            ; Load the result
+        ldx     ptr4+1
+        rts                     ; Done
 
 ; High byte of rhs is zero, jump to the 8x16 routine instead
 
index 3287e2155cfd931750d9086abd723383dcf20300..9d4dfcbf4519b267fefc15e068d99b5e7ff13b1b 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: multiplication for ints. Short versions.
 ;
 
-               .export         tosumula0, tosmula0
+        .export         tosumula0, tosmula0
         .export         mul8x16, mul8x16a
-       .import         popsreg
-       .importzp       sreg, ptr4
+        .import         popsreg
+        .importzp       sreg, ptr4
 
 
 ;---------------------------------------------------------------------------
 
 tosmula0:
 tosumula0:
-        sta    ptr4
-mul8x16:jsr    popsreg         ; Get left operand
+        sta     ptr4
+mul8x16:jsr     popsreg         ; Get left operand
 
-       lda     #0              ; Clear byte 1
-               ldy     #8              ; Number of bits
-       ldx     sreg+1          ; Get into register for speed
+        lda     #0              ; Clear byte 1
+        ldy     #8              ; Number of bits
+        ldx     sreg+1          ; Get into register for speed
         beq     mul8x8          ; Do 8x8 multiplication if high byte zero
 mul8x16a:
-       sta     ptr4+1          ; Clear byte 2
+        sta     ptr4+1          ; Clear byte 2
 
         lsr     ptr4            ; Get first bit into carry
 @L0:    bcc     @L1
 
-       clc
-       adc     sreg
-       pha
-               txa                     ; hi byte of left op
-       adc     ptr4+1
-       sta     ptr4+1
-       pla
-
-@L1:    ror            ptr4+1
-       ror     a
-       ror     ptr4
+        clc
+        adc     sreg
+        pha
+        txa                     ; hi byte of left op
+        adc     ptr4+1
+        sta     ptr4+1
+        pla
+
+@L1:    ror     ptr4+1
+        ror     a
+        ror     ptr4
         dey
         bne     @L0
         tax
@@ -58,6 +58,6 @@ mul8x8:
         dey
         bne     @L0
         tax
-       lda     ptr4            ; Load the result
-       rts                     ; Done
+        lda     ptr4            ; Load the result
+        rts                     ; Done
 
index 3fe250c4a59bc307ba0bf3d9b83476fc506eb8d1..d3e006d2b8350cf0398d0ca7fd3dd36fc0119e4b 100644 (file)
@@ -5,27 +5,27 @@
 ; CC65 runtime: Multiply the primary register by 10
 ;
 
-       .export         mulax10
-       .importzp       ptr1
+        .export         mulax10
+        .importzp       ptr1
 
-.proc  mulax10
+.proc   mulax10
 
-       sta     ptr1
-       stx     ptr1+1
-       asl     a
-       rol     ptr1+1
-       asl     a
-       rol     ptr1+1
-       clc
-       adc     ptr1
-       sta     ptr1
-       txa
-       adc     ptr1+1
-       asl     ptr1
-       rol     a
-       tax
-       lda     ptr1
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        asl     a
+        rol     ptr1+1
+        asl     a
+        rol     ptr1+1
+        clc
+        adc     ptr1
+        sta     ptr1
+        txa
+        adc     ptr1+1
+        asl     ptr1
+        rol     a
+        tax
+        lda     ptr1
+        rts
 
 .endproc
 
index 07625f8cf2715f0693b353e2b2473607c61c5148..c35b05dcc2bd24c6fe46e02326d445fd0049617f 100644 (file)
@@ -4,23 +4,23 @@
 ; CC65 runtime: Multiply the primary register
 ;
 
-       .export         mulax3
-       .importzp       ptr1
-               
-.proc  mulax3
+        .export         mulax3
+        .importzp       ptr1
+                
+.proc   mulax3
 
-       sta     ptr1
-       stx     ptr1+1
-       asl     a
-       rol     ptr1+1
-       clc
-       adc     ptr1
-       pha
-       txa
-       adc     ptr1+1
-       tax
-       pla
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        asl     a
+        rol     ptr1+1
+        clc
+        adc     ptr1
+        pha
+        txa
+        adc     ptr1+1
+        tax
+        pla
+        rts
 
 .endproc
 
index dbfa9fc95d81d2b4b719aa97cbd32aaced7b740d..9af599806160f8a592c7ab9c24c125b9e9fd67b9 100644 (file)
@@ -4,25 +4,25 @@
 ; CC65 runtime: Multiply the primary register
 ;
 
-       .export         mulax5
-       .importzp       ptr1
+        .export         mulax5
+        .importzp       ptr1
 
-.proc  mulax5
+.proc   mulax5
 
-       sta     ptr1
-       stx     ptr1+1
-       asl     a
-       rol     ptr1+1
-       asl     a
-       rol     ptr1+1
-       clc
-       adc     ptr1
-       pha
-       txa
-       adc     ptr1+1
-       tax
-       pla
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        asl     a
+        rol     ptr1+1
+        asl     a
+        rol     ptr1+1
+        clc
+        adc     ptr1
+        pha
+        txa
+        adc     ptr1+1
+        tax
+        pla
+        rts
 
 .endproc
 
index 78aa85bda817f9f0ea15378a016d98426dd9d82c..6967602fc6ffee887f3e906c0c9812042633404a 100644 (file)
@@ -5,25 +5,25 @@
 ; CC65 runtime: Multiply the primary register by 6
 ;
 
-       .export         mulax6
-       .importzp       ptr1
+        .export         mulax6
+        .importzp       ptr1
 
-.proc  mulax6
+.proc   mulax6
 
-       sta     ptr1
-       stx     ptr1+1
-       asl     a
-       rol     ptr1+1
-       clc
-       adc     ptr1
-       sta     ptr1
-       txa
-       adc     ptr1+1
-       asl     ptr1
-       rol     a
-       tax
-       lda     ptr1
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        asl     a
+        rol     ptr1+1
+        clc
+        adc     ptr1
+        sta     ptr1
+        txa
+        adc     ptr1+1
+        asl     ptr1
+        rol     a
+        tax
+        lda     ptr1
+        rts
 
 .endproc
 
index c9f7e47150a9c43c554a15bccb4b9176461f8d28..90313180c198edb927b32713c84238dc9634e075 100644 (file)
@@ -5,28 +5,28 @@
 ; CC65 runtime: Multiply the primary register by 7
 ;
 
-       .export         mulax7
-       .importzp       ptr1
+        .export         mulax7
+        .importzp       ptr1
 
-.proc  mulax7
+.proc   mulax7
 
-       sta     ptr1
-       stx     ptr1+1
-       asl     a
-       rol     ptr1+1                  ; * 2
-       asl     a
-       rol     ptr1+1                  ; * 4
-       asl     a
-       rol     ptr1+1                  ; * 8
-       sec
-       sbc     ptr1
-       pha
-       txa
-       eor     #$ff
-       adc     ptr1+1                  ; * (8 - 1)
-       tax
-       pla
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        asl     a
+        rol     ptr1+1                  ; * 2
+        asl     a
+        rol     ptr1+1                  ; * 4
+        asl     a
+        rol     ptr1+1                  ; * 8
+        sec
+        sbc     ptr1
+        pha
+        txa
+        eor     #$ff
+        adc     ptr1+1                  ; * (8 - 1)
+        tax
+        pla
+        rts
 
 .endproc
 
index 67a07b4d63bfb055493dfd3c86bb7b828887bbfb..d2dd89529fc9223135157242738d60ccc4328cde 100644 (file)
@@ -5,27 +5,27 @@
 ; CC65 runtime: Multiply the primary register by 9
 ;
 
-       .export         mulax9
-       .importzp       ptr1
+        .export         mulax9
+        .importzp       ptr1
 
-.proc  mulax9
+.proc   mulax9
 
-       sta     ptr1
-       stx     ptr1+1
-       asl     a
-       rol     ptr1+1                  ; * 2
-       asl     a
-       rol     ptr1+1                  ; * 4
-       asl     a
-       rol     ptr1+1                  ; * 8
-       clc
-       adc     ptr1                    ; * (8+1)
-       pha
-       txa
-       adc     ptr1+1
-       tax
-       pla
-       rts
+        sta     ptr1
+        stx     ptr1+1
+        asl     a
+        rol     ptr1+1                  ; * 2
+        asl     a
+        rol     ptr1+1                  ; * 4
+        asl     a
+        rol     ptr1+1                  ; * 8
+        clc
+        adc     ptr1                    ; * (8+1)
+        pha
+        txa
+        adc     ptr1+1
+        tax
+        pla
+        rts
 
 .endproc
 
index ce9b8171d0983d9e3554180f121d04f3c8c9e49d..f209534893d39a879e8fc592bf9ed0ebd05c505a 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Compare != for ints
 ;
 
-       .export         tosne00, tosnea0, tosneax
-       .import         tosicmp, boolne
+        .export         tosne00, tosnea0, tosneax
+        .import         tosicmp, boolne
 
 tosne00:
-       lda     #$00
+        lda     #$00
 tosnea0:
-       ldx     #$00
+        ldx     #$00
 tosneax:
-       jsr     tosicmp         ; Set flags
-       jmp     boolne          ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boolne          ; Convert to boolean
 
 
index 62807c7e9b59c8cdf2b621bf8bbe6d879b8618b9..a428fd1e41518c01bd8f85760acd8bc81a5f0736 100644 (file)
@@ -4,18 +4,18 @@
 ; CC65 runtime: negation on ints
 ;
 
-       .export         negax
+        .export         negax
 
-negax: clc
-       eor     #$FF
-       adc     #1
-       pha
-       txa
-       eor     #$FF
-       adc     #0
-       tax
-       pla
-       rts
+negax:  clc
+        eor     #$FF
+        adc     #1
+        pha
+        txa
+        eor     #$FF
+        adc     #0
+        tax
+        pla
+        rts
 
 
 
index f953549218b798bb02860225fec2fe0943f686eb..8570c0cd7adb378da9cfcc301c83b717b8739632 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: or on ints
 ;
 
-               .export         tosora0, tosorax
-       .import         addysp1
-       .importzp       sp, tmp1
+        .export         tosora0, tosorax
+        .import         addysp1
+        .importzp       sp, tmp1
 
 tosora0:
-       ldx     #$00
+        ldx     #$00
 tosorax:
-       ldy     #0
-               ora     (sp),y
-       sta     tmp1
-       iny
-       txa
-       ora     (sp),y
-       tax
-       lda     tmp1
-       jmp     addysp1         ; drop TOS, set condition codes
+        ldy     #0
+        ora     (sp),y
+        sta     tmp1
+        iny
+        txa
+        ora     (sp),y
+        tax
+        lda     tmp1
+        jmp     addysp1         ; drop TOS, set condition codes
 
index 0534b24e50df381eac811b78986b487660246433..bb74df0ca23e7fddcff569021958539a62abf096 100644 (file)
@@ -4,25 +4,25 @@
 ; CC65 runtime: Pop a from stack
 ;
 
-               .export         popa
-       .importzp       sp
+        .export         popa
+        .importzp       sp
 
         .macpack        cpu
 
-.proc  popa
+.proc   popa
 
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-       lda     (sp)
+        lda     (sp)
 .else
-       ldy     #0              ; (2)
-       lda     (sp),y          ; (7) Read byte
+        ldy     #0              ; (2)
+        lda     (sp),y          ; (7) Read byte
 .endif
-       inc     sp              ; (12)
-               beq     @L1             ; (14)
-       rts                     ; (20)
+        inc     sp              ; (12)
+        beq     @L1             ; (14)
+        rts                     ; (20)
 
-@L1:   inc     sp+1
-       rts
+@L1:    inc     sp+1
+        rts
 
 .endproc
 
index 80e484339d4d4b4b3650a94ef35f7142b5960f67..47d67503a748c8ca316f71fea19b0f40ee7c23be 100644 (file)
@@ -4,24 +4,24 @@
 ; CC65 runtime: Pop TOS into sreg
 ;
 
-       .export         popsreg
-       .import         incsp2
-               .importzp       sp, sreg
+        .export         popsreg
+        .import         incsp2
+        .importzp       sp, sreg
 
         .macpack        cpu
 
 popsreg:
-       pha                     ; save A
-       ldy     #1
-       lda     (sp),y          ; get hi byte
-       sta     sreg+1          ; store it
+        pha                     ; save A
+        ldy     #1
+        lda     (sp),y          ; get hi byte
+        sta     sreg+1          ; store it
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-       lda     (sp)            ; get lo byte
+        lda     (sp)            ; get lo byte
 .else
-       dey
-       lda     (sp),y          ; get lo byte
+        dey
+        lda     (sp),y          ; get lo byte
 .endif
-       sta     sreg            ; store it
-       pla                     ; get A back
-       jmp     incsp2          ; bump stack and return
+        sta     sreg            ; store it
+        pla                     ; get A back
+        jmp     incsp2          ; bump stack and return
 
index d58509a73d029e07a4e32351fadb3428c92bc2d4..0451ecf89efcb59b7ece7a90edd9754bd8c0fc01 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)1 onto the stack
 ;
 
-               .export         push1
-       .import         pusha0
+        .export         push1
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push1
+.proc   push1
 
-       lda     #1
-       jmp     pusha0
+        lda     #1
+        jmp     pusha0
 
 .endproc
 
index 2bbf8154894e0e71f990712c8c9904caa8800c8f..95ce7271fd118f27ee6ae05382faedf687a2d2f4 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)2 onto the stack
 ;
 
-               .export         push2
-       .import         pusha0
+        .export         push2
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push2
+.proc   push2
 
-       lda     #2
-       jmp     pusha0
+        lda     #2
+        jmp     pusha0
 
 .endproc
 
index d55d1e4dcb6c94019a486161ed3f5bbcecc7c7ea..a7c933fbd88019f124c106bd0cabf8e4f5a2d0be 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)3 onto the stack
 ;
 
-               .export         push3
-       .import         pusha0
+        .export         push3
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push3
+.proc   push3
 
-       lda     #3
-       jmp     pusha0
+        lda     #3
+        jmp     pusha0
 
 .endproc
 
index 0ceeeda2e104c3c7be12b0a0adbb17f842c54ecb..06da2fccc22773b68e7635c4911675c498fb2ab2 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)4 onto the stack
 ;
 
-               .export         push4
-       .import         pusha0
+        .export         push4
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push4
+.proc   push4
 
-       lda     #4
-       jmp     pusha0
+        lda     #4
+        jmp     pusha0
 
 .endproc
 
index 583486439a939d864420a86ea457e95488a70315..94b9d92423a7691c9489806df7b47ecf002dda99 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)5 onto the stack
 ;
 
-               .export         push5
-       .import         pusha0
+        .export         push5
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push5
+.proc   push5
 
-       lda     #5
-       jmp     pusha0
+        lda     #5
+        jmp     pusha0
 
 .endproc
 
index 7355aeada732c0eb889d05400ff8b1bb822c2712..0e4e9d3405c943a37f01f55dade963017b8a2407 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)6 onto the stack
 ;
 
-               .export         push6
-       .import         pusha0
+        .export         push6
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push6
+.proc   push6
 
-       lda     #6
-       jmp     pusha0
+        lda     #6
+        jmp     pusha0
 
 .endproc
 
index 2dfc994ff3bc89e3e8105cab2bb7e1e9ef1c3630..afae8ad39c8643fa0618d5a9bd389a14bb68a486 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (int)7 onto the stack
 ;
 
-               .export         push7
-       .import         pusha0
+        .export         push7
+        .import         pusha0
 
 ; Beware: The optimizer knows about this function!
 
-.proc  push7
+.proc   push7
 
-       lda     #7
-       jmp     pusha0
+        lda     #7
+        jmp     pusha0
 
 .endproc
 
index f4e9639dd7d66e89871dc84779ca5b5deb147d5f..04233282e5a4ce43141e9b83bd739632423d525e 100644 (file)
@@ -4,26 +4,26 @@
 ; CC65 runtime: Push value in a onto the stack
 ;
 
-               .export         pusha0sp, pushaysp, pusha
-       .importzp       sp
+        .export         pusha0sp, pushaysp, pusha
+        .importzp       sp
 
         .macpack        cpu
 
 ; Beware: The optimizer knows about this function!
 
 pusha0sp:
-       ldy     #$00
+        ldy     #$00
 pushaysp:
-       lda     (sp),y
-pusha: ldy     sp              ; (3)
-               beq     @L1             ; (6)
-       dec     sp              ; (11)
-       ldy     #0              ; (13)
-       sta     (sp),y          ; (19)
-       rts                     ; (25)
+        lda     (sp),y
+pusha:  ldy     sp              ; (3)
+        beq     @L1             ; (6)
+        dec     sp              ; (11)
+        ldy     #0              ; (13)
+        sta     (sp),y          ; (19)
+        rts                     ; (25)
 
-@L1:   dec     sp+1            ; (11)
-       dec     sp              ; (16)
-       sta     (sp),y          ; (22)
-       rts                     ; (28)
+@L1:    dec     sp+1            ; (11)
+        dec     sp              ; (16)
+        sta     (sp),y          ; (22)
+        rts                     ; (28)
 
index dd8dc87685421cc2cee5bf225cdf6ef6e5cf1d5d..08d988bb24512b25ed5804c189e00f16b6815f47 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Push a extended with FF onto the stack
 ;
 
-               .export         pushaFF
-       .import         pushax
+        .export         pushaFF
+        .import         pushax
 
 ; Beware: The optimizer knows about this function!
 
-.proc  pushaFF
+.proc   pushaFF
 
-       ldx     #$FF
-       jmp     pushax
+        ldx     #$FF
+        jmp     pushax
 
 .endproc
 
 
-                     
+                      
index d9efe7c0e636f4b52000c472b9ca410b66f04152..cba313c2f4e7e4a615b7072cb1e88a38192ccd6f 100644 (file)
@@ -4,32 +4,32 @@
 ; CC65 runtime: Push value in a/x onto the stack
 ;
 
-               .export         push0, pusha0, pushax
-       .importzp       sp
+        .export         push0, pusha0, pushax
+        .importzp       sp
 
-push0: lda     #0
-pusha0:        ldx     #0
+push0:  lda     #0
+pusha0: ldx     #0
 
 ; This function is used *a lot*, so don't call any subroutines here.
 ; Beware: The value in ax must not be changed by this function!
 ; Beware^2: The optimizer knows about the value of Y after the function
 ;           returns!
 
-.proc  pushax
+.proc   pushax
 
-       pha                     ; (3)
-       lda     sp              ; (6)
-       sec                     ; (8)
-       sbc     #2              ; (10)
-       sta     sp              ; (13)
-       bcs     @L1             ; (17)
-       dec     sp+1            ; (+5)
-@L1:   ldy     #1              ; (19)
-       txa                     ; (21)
-       sta     (sp),y          ; (27)
-       pla                     ; (31)
-       dey                     ; (33)
-       sta     (sp),y          ; (38)
-       rts                     ; (44)     
+        pha                     ; (3)
+        lda     sp              ; (6)
+        sec                     ; (8)
+        sbc     #2              ; (10)
+        sta     sp              ; (13)
+        bcs     @L1             ; (17)
+        dec     sp+1            ; (+5)
+@L1:    ldy     #1              ; (19)
+        txa                     ; (21)
+        sta     (sp),y          ; (27)
+        pla                     ; (31)
+        dey                     ; (33)
+        sta     (sp),y          ; (38)
+        rts                     ; (44)     
 
 .endproc
index d32c1c93027183f3d2337c532a491448e674e997..7507ff21a44761050633d5c083d7e6561867950a 100644 (file)
@@ -4,27 +4,27 @@
 ; CC65 runtime: Push word from stack
 ;
 
-               .export         pushb, pushbidx
-       .import         pushax
-       .importzp       ptr1
+        .export         pushb, pushbidx
+        .import         pushax
+        .importzp       ptr1
 
         .macpack        cpu
 
 pushbidx:
-       sty     ptr1
-       clc
-       adc     ptr1
-       bcc     pushb
-       inx
-pushb: sta     ptr1
-       stx     ptr1+1
-       ldx     #0              ; Load index/high byte
+        sty     ptr1
+        clc
+        adc     ptr1
+        bcc     pushb
+        inx
+pushb:  sta     ptr1
+        stx     ptr1+1
+        ldx     #0              ; Load index/high byte
 .if (.cpu .bitand CPU_ISET_65SC02)
-       lda     (ptr1)          ; Save one cycle for the C02
+        lda     (ptr1)          ; Save one cycle for the C02
 .else
-       lda     (ptr1,x)
+        lda     (ptr1,x)
 .endif
-       bpl     L1
-       dex                     ; Make high byte FF
-L1:    jmp     pushax
+        bpl     L1
+        dex                     ; Make high byte FF
+L1:     jmp     pushax
 
index 2ae062506a8794acdad35114f70bb2c18f57011d..0b5cbe854836f02ab08916ce73ef7d13540add55 100644 (file)
@@ -4,14 +4,14 @@
 ; CC65 runtime: Load a from stack slot and push as word
 ;
 
-       .export         pushbsp, pushbysp
-       .import         pusha0
-       .importzp       sp
+        .export         pushbsp, pushbysp
+        .import         pusha0
+        .importzp       sp
 
 pushbsp:
-       ldy     #0
+        ldy     #0
 pushbysp:
-       lda     (sp),y          ; get lo byte
-               jmp     pusha0          ; promote to unsigned and push
+        lda     (sp),y          ; get lo byte
+        jmp     pusha0          ; promote to unsigned and push
 
 
index fd720640087d1a51662cf8282f6d39d8a4303d41..5100cd6f7d47f2d2e2acecd34946bab4eb4e6b68 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (char)0 onto the stack
 ;
 
-               .export         pushc0
-       .import         pusha
+        .export         pushc0
+        .import         pusha
 
 ; Beware: The optimizer knows about this function!
 
-.proc  pushc0
+.proc   pushc0
 
-       lda     #0
-       jmp     pusha
+        lda     #0
+        jmp     pusha
 
 .endproc
 
index 9997b566b90acbed32c0fe95a9b17c921f9affc9..84365b56401306e0e59cd9de54f20efce0f0f875 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (char)1 onto the stack
 ;
 
-               .export         pushc1
-       .import         pusha
+        .export         pushc1
+        .import         pusha
 
 ; Beware: The optimizer knows about this function!
 
-.proc  pushc1
+.proc   pushc1
 
-       lda     #1
-       jmp     pusha
+        lda     #1
+        jmp     pusha
 
 .endproc
 
index 4539f30b423b584ba0f4fd3fde4558201064de67..87a59e3cce37a279722c46250cafe7028935c36b 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Push (char)2 onto the stack
 ;
 
-               .export         pushc2
-       .import         pusha
+        .export         pushc2
+        .import         pusha
 
 ; Beware: The optimizer knows about this function!
 
-.proc  pushc2
+.proc   pushc2
 
-       lda     #2
-       jmp     pusha
+        lda     #2
+        jmp     pusha
 
 .endproc
 
index a91b9f77e319f0add2f1cfe70d077a6e56b83f4a..ca1834265124c3e7b6a03938b6599dd4060446ec 100644 (file)
@@ -5,26 +5,26 @@
 ;
 
 
-       .export         pushlysp
-       .import         pusheax
-       .importzp       sreg, sp
+        .export         pushlysp
+        .import         pusheax
+        .importzp       sreg, sp
 
-.proc  pushlysp
+.proc   pushlysp
 
-       iny
-       iny
-       lda     (sp),y
-       iny
-       sta     sreg
-       lda     (sp),y
-       sta     sreg+1
-       dey
-       dey
-       lda     (sp),y
-       dey
-       tax
-       lda     (sp),y
-       jmp     pusheax
+        iny
+        iny
+        lda     (sp),y
+        iny
+        sta     sreg
+        lda     (sp),y
+        sta     sreg+1
+        dey
+        dey
+        lda     (sp),y
+        dey
+        tax
+        lda     (sp),y
+        jmp     pusheax
 
 .endproc
 
index d78323c74bb2b60d8a5462b6c54d2a72527b85ae..4b1920cdd56ff10511f73b9f4fad4b7dce63d663 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: Fetch word indirect and push
 ;
 
-       .export         pushw, pushwidx, pushptr1idx
-       .import         pushax
-       .importzp       ptr1
+        .export         pushw, pushwidx, pushptr1idx
+        .import         pushax
+        .importzp       ptr1
 
 
 pushw:  ldy     #1
 pushwidx:
-        sta    ptr1
-       stx     ptr1+1
+        sta     ptr1
+        stx     ptr1+1
 pushptr1idx:
-       lda     (ptr1),y
-       tax
-       dey
-       lda     (ptr1),y
-       jmp     pushax
+        lda     (ptr1),y
+        tax
+        dey
+        lda     (ptr1),y
+        jmp     pushax
 
index 6e9735485fccf758aeef27f62d8c57d7e1495ce7..f5ebe0d7ec5647485d4cc0ac409ec92113fe7e92 100644 (file)
@@ -4,28 +4,28 @@
 ; CC65 runtime: Load word from stack slot and push
 ;
 
-               .export         pushwysp, pushw0sp
-       .importzp       sp
+        .export         pushwysp, pushw0sp
+        .importzp       sp
 
-       .macpack        generic
+        .macpack        generic
 
 pushw0sp:
-       ldy     #3
+        ldy     #3
 pushwysp:
-       lda     sp              ; 3
-               sub     #2              ; 4
-       sta     sp              ; 3
-       bcs     @L1             ; 3(+1)
-       dec     sp+1            ; (5)
-@L1:   lda     (sp),y          ; 5 =16
-       tax                     ; 2
-       dey                     ; 2
-       lda     (sp),y          ; 5
-       ldy     #$00            ; 2
-       sta     (sp),y          ; 5
-       iny                     ; 2
-       txa                     ; 2
-       sta     (sp),y          ; 5
-       rts
+        lda     sp              ; 3
+        sub     #2              ; 4
+        sta     sp              ; 3
+        bcs     @L1             ; 3(+1)
+        dec     sp+1            ; (5)
+@L1:    lda     (sp),y          ; 5 =16
+        tax                     ; 2
+        dey                     ; 2
+        lda     (sp),y          ; 5
+        ldy     #$00            ; 2
+        sta     (sp),y          ; 5
+        iny                     ; 2
+        txa                     ; 2
+        sta     (sp),y          ; 5
+        rts
 
 
index 28e0441afb3865fefdb5d5b36d10aca3c7ecb4c0..689d8d12ad987b54f2901832ec38991ab8a8ed70 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Swap x bytes of register variable space
 ;
 
-       .export         regswap
-       .importzp       sp, regbank, tmp1
+        .export         regswap
+        .importzp       sp, regbank, tmp1
 
-.proc  regswap
+.proc   regswap
 
         sta     tmp1                    ; Store count
 @L1:    lda     regbank,x               ; Get old value
@@ -21,7 +21,7 @@
         dec     tmp1
         bne     @L1
 
-       rts
+        rts
 
 .endproc
 
index e2410f96d24d36a122814880380276f431ec2373..753020acb1041a7b985dfbb50a6b7e74e7e7fe13 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Swap 1 byte of register variable space
 ;
 
-       .export         regswap1
-       .importzp       sp, regbank
+        .export         regswap1
+        .importzp       sp, regbank
 
-.proc  regswap1
+.proc   regswap1
 
         lda     regbank,x               ; Get old value
         pha                             ; Save it
@@ -15,7 +15,7 @@
         sta     regbank,x               ; Store new value
         pla
         sta     (sp),y                  ; Store old value
-       rts
+        rts
 
 .endproc
 
index 50eb6c2a45e3a70a7bc0f1a65778acd11651853e..df5109dc6a625bb503995f0341da806b0071001b 100644 (file)
@@ -4,10 +4,10 @@
 ; CC65 runtime: Swap 2 bytes of register variable space
 ;
 
-       .export         regswap2
-       .importzp       sp, regbank
+        .export         regswap2
+        .importzp       sp, regbank
 
-.proc  regswap2
+.proc   regswap2
 
 ; First byte
 
@@ -28,7 +28,7 @@
         pla
         sta     (sp),y                  ; Store old value
 
-       rts
+        rts
 
 .endproc
 
index 37c2608047cec11aca5453497dd2f185a24e0fb5..c061e013c85197cbc4f121a465f4d28f493f4c24 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Return 0 in a/x
 ;
 
-               .export         return0
+        .export         return0
 
-.proc  return0
+.proc   return0
 
-       lda     #0
-       tax
-       rts
+        lda     #0
+        tax
+        rts
 
 .endproc
 
 
 
 
-       
+        
index 2987de30c032a0f29f4dcb6bfe43315c06f12f71..76153f3e17283b903fbb3badc21db627293b558a 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Return 1 in a/x
 ;
 
-               .export         return1
+        .export         return1
 
-.proc  return1
+.proc   return1
 
-       ldx     #0
-       lda     #1
-       rts
+        ldx     #0
+        lda     #1
+        rts
 
 .endproc
 
 
 
 
-       
+        
index 2b722e01367db5a56d5db3cefd92395a9d3b4cfa..475a69e767e0f196ba4d8dc6fe3aeb47e29b9286 100644 (file)
@@ -4,26 +4,26 @@
 ; CC65 runtime: sub ints reversed
 ;
 
-               .export         tosrsuba0, tosrsubax
-       .import         addysp1
-       .importzp       sp, tmp1
+        .export         tosrsuba0, tosrsubax
+        .import         addysp1
+        .importzp       sp, tmp1
 
 ;
 ; AX = AX - TOS
 ;
 
 tosrsuba0:
-       ldx     #0
+        ldx     #0
 tosrsubax:
-       ldy     #0
-       sec
-       sbc     (sp),y          ; lo byte
-       sta     tmp1            ; save lo byte
-       txa
-       iny
-       sbc     (sp),y          ; hi byte
-       tax
-       lda     tmp1
-       jmp     addysp1         ; drop TOS, set condition codes
+        ldy     #0
+        sec
+        sbc     (sp),y          ; lo byte
+        sta     tmp1            ; save lo byte
+        txa
+        iny
+        sbc     (sp),y          ; hi byte
+        tax
+        lda     tmp1
+        jmp     addysp1         ; drop TOS, set condition codes
 
 
index d4f55b1e22bb7ad57289c96b392fedf727166313..b1ebeb7988a28a20aa9dabc5ca62f08c22f52f84 100644 (file)
@@ -7,24 +7,24 @@
 ; When negating values, we will ignore the possibility here, that one of the
 ; values if $8000, in which case the negate will fail.
 
-               .export         popsargs
-       .import         negax, popax
-       .importzp       sreg, tmp1, tmp2, ptr4
+        .export         popsargs
+        .import         negax, popax
+        .importzp       sreg, tmp1, tmp2, ptr4
 
 popsargs:
-               stx     tmp2            ; Remember sign
-       cpx     #0
-       bpl     L1
-       jsr     negax           ; Negate accumulator
-L1:    sta     ptr4
-       stx     ptr4+1          ; Save right operand
+        stx     tmp2            ; Remember sign
+        cpx     #0
+        bpl     L1
+        jsr     negax           ; Negate accumulator
+L1:     sta     ptr4
+        stx     ptr4+1          ; Save right operand
 
-       jsr     popax
-       stx     tmp1            ; Remember sign
-       cpx     #0
-       bpl     L2
-       jsr     negax
-L2:    sta     sreg
-       stx     sreg+1
+        jsr     popax
+        stx     tmp1            ; Remember sign
+        cpx     #0
+        bpl     L2
+        jsr     negax
+L2:     sta     sreg
+        stx     sreg+1
         rts
 
index edc5f871c7a3d735e5557e7ad7fa5c4e4b6f9e5f..55b15bd2969ba6132fe3f3c0d5c02e29bbb4695e 100644 (file)
@@ -11,9 +11,9 @@
 ;
 
 
-       .export         tosshrax, shraxy
-       .import         popax
-       .importzp       tmp1
+        .export         tosshrax, shraxy
+        .import         popax
+        .importzp       tmp1
 
 tosshrax:
         sta     tmp1            ; Save shift count
@@ -65,11 +65,11 @@ L4:     adc     #8              ; Correct counter
 L5:     lsr     tmp1
         ror     a
         dey
-               bne     L5
+        bne     L5
 
 ; Done with shift
 
-        ldx    tmp1
+        ldx     tmp1
         rts
 
 
index f7b6b725694ba14c39a6efab1e136e743f94b4e7..4f4fac0fd9c279f92671413978698190403b6379 100644 (file)
@@ -4,12 +4,12 @@
 ; CC65 runtime: Scale the primary register
 ;
 
-       .export         shrax1
-       .importzp       tmp1
+        .export         shrax1
+        .importzp       tmp1
 
-shrax1: stx            tmp1
-       lsr     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+shrax1: stx     tmp1
+        lsr     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 074ab8e3e396a0dbfcff6f7673c38fab89569277..a96d5641b37b0e3483b6ff8d096ebf2c2ad84b68 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Scale the primary register by 4
 ;
 
-       .export         shrax2
-       .importzp       tmp1
+        .export         shrax2
+        .importzp       tmp1
 
-shrax2: stx    tmp1
-       lsr     tmp1
-       ror     a
-       lsr     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+shrax2: stx     tmp1
+        lsr     tmp1
+        ror     a
+        lsr     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
 
index 07e1e1f07db2fb3c243819e47c5b2442f344f8a3..d84236f1e30e4e0844d8c2768a20be4a54d5f8d9 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Scale the primary register by 8
 ;
 
-       .export         shrax3
-       .importzp       tmp1
+        .export         shrax3
+        .importzp       tmp1
 
-shrax3: stx    tmp1
-       lsr     tmp1
-       ror     a
-       lsr     tmp1
-       ror     a
-       lsr     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+shrax3: stx     tmp1
+        lsr     tmp1
+        ror     a
+        lsr     tmp1
+        ror     a
+        lsr     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
 
index 46589e2b1e5c3e8ba70dfccdccd16a98494ff06b..730e337296265ac6cc77b6120f56a7b4e84e8cda 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: Scale the primary register by 16
 ;
 
-       .export         shrax4
-       .importzp       tmp1
+        .export         shrax4
+        .importzp       tmp1
 
-shrax4: stx    tmp1
-       lsr     tmp1
-       ror     a
-       lsr     tmp1
-       ror     a
-       lsr     tmp1
-       ror     a
-       lsr     tmp1
-       ror     a
-       ldx     tmp1
-       rts
+shrax4: stx     tmp1
+        lsr     tmp1
+        ror     a
+        lsr     tmp1
+        ror     a
+        lsr     tmp1
+        ror     a
+        lsr     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
 
index f4d808f55a55e6ed0d55bc19182e5f861e07ceee..93ee7d8c3b1548dd12b80102b49bde3439157aa9 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Scale the 32 bit primary register by 2
 ;
 
-               .export         shreax1
-       .importzp       sreg, tmp1
+        .export         shreax1
+        .importzp       sreg, tmp1
 
 shreax1:
-       stx     tmp1
-               lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               ldx     tmp1
-               rts
+        stx     tmp1
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 1f2a23da87850dc9cfbd5381338b5babcb1ad59a..29ba23cf831f14d299712d7fc5098b9e13c7ee2a 100644 (file)
@@ -4,19 +4,19 @@
 ; CC65 runtime: Scale the 32 bit primary register by 4
 ;
 
-       .export         shreax2
-       .importzp       sreg, tmp1
+        .export         shreax2
+        .importzp       sreg, tmp1
 
 shreax2:
-       stx     tmp1
-               lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               ldx     tmp1
-               rts
+        stx     tmp1
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 8111253a0343861c0e6096e62159970a47860b79..e67cfe2e44b6faa7b3217322f89da05eb1f2698f 100644 (file)
@@ -4,23 +4,23 @@
 ; CC65 runtime: Scale the 32 bit primary register by 8
 ;
 
-       .export         shreax3
-       .importzp       sreg, tmp1
+        .export         shreax3
+        .importzp       sreg, tmp1
 
 shreax3:
-       stx     tmp1
-               lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-               ldx     tmp1
-               rts
+        stx     tmp1
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        ldx     tmp1
+        rts
 
index 802059261c229a416fa235aa2336501875a6445b..a44e7b8a76c1b728c6b4e36aa09fda72c5873968 100644 (file)
@@ -4,18 +4,18 @@
 ; CC65 runtime: Scale the 32 bit primary register by 16
 ;
 
-               .export         shreax4
-               .importzp       sreg, tmp1
+        .export         shreax4
+        .importzp       sreg, tmp1
 
 shreax4:
-       stx     tmp1
-       ldx     #4
-@L1:   lsr     sreg+1
-               ror     sreg
-               ror     tmp1
-               ror     a
-       dex
-       bne     @L1
-               ldx     tmp1
-               rts
+        stx     tmp1
+        ldx     #4
+@L1:    lsr     sreg+1
+        ror     sreg
+        ror     tmp1
+        ror     a
+        dex
+        bne     @L1
+        ldx     tmp1
+        rts
 
index c5e1440b8d07bbd2cdcff1dbad953798f500f62a..c8d42f34c9b97d91371befdc2ebcc1d933d83dde 100644 (file)
@@ -4,24 +4,24 @@
 ; CC65 runtime: Store a indirect into address at top of stack with index
 ;
 
-               .export         staspidx
-       .import         incsp2
-       .importzp       sp, tmp1, ptr1
+        .export         staspidx
+        .import         incsp2
+        .importzp       sp, tmp1, ptr1
 
-.proc  staspidx
+.proc   staspidx
 
-       pha
-       sty     tmp1            ; Save Index
-       ldy     #1
-       lda     (sp),y
-       sta     ptr1+1
-       dey
-       lda     (sp),y
-       sta     ptr1            ; Pointer now in ptr1
-       ldy     tmp1            ; Restore offset
-       pla                     ; Restore value
-       sta     (ptr1),y        ; Store
-       jmp     incsp2          ; Drop address
+        pha
+        sty     tmp1            ; Save Index
+        ldy     #1
+        lda     (sp),y
+        sta     ptr1+1
+        dey
+        lda     (sp),y
+        sta     ptr1            ; Pointer now in ptr1
+        ldy     tmp1            ; Restore offset
+        pla                     ; Restore value
+        sta     (ptr1),y        ; Store
+        jmp     incsp2          ; Drop address
 
 .endproc
 
index 07828e36f88657e33d94b42e82c3273f26200613..599e92a32d9bff4fd93748102dd0942900e7841e 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Store ax at (sp),y
 ;
 
-       .export         staxysp, stax0sp
-       .importzp       sp
+        .export         staxysp, stax0sp
+        .importzp       sp
 
 stax0sp:
-       ldy     #0
+        ldy     #0
 staxysp:
-       sta     (sp),y
-       iny
-       pha
-       txa
-       sta     (sp),y
-       pla
-       rts
+        sta     (sp),y
+        iny
+        pha
+        txa
+        sta     (sp),y
+        pla
+        rts
 
index 1c4c011b496f762773f0c3534aaf29672aa75dce..90738e0d2d44c67b2c8c8ca0616c0b56cd298272 100644 (file)
@@ -4,28 +4,28 @@
 ; CC65 runtime: Store a/x indirect into address at top of stack with index
 ;
 
-               .export         staxspidx
-       .import         incsp2
-       .importzp       sp, tmp1, ptr1
+        .export         staxspidx
+        .import         incsp2
+        .importzp       sp, tmp1, ptr1
 
-.proc  staxspidx
+.proc   staxspidx
 
-       sty     tmp1            ; Save Y
-       pha                     ; Save A
-       ldy     #1
-       lda     (sp),y
-       sta     ptr1+1
-       dey
-       lda     (sp),y
-       sta     ptr1            ; Address now in ptr1
-       ldy     tmp1            ; Restore Y
-       iny                     ; Address high byte
-       txa                     ; Get high byte
-       sta     (ptr1),y        ; Store high byte
-       dey                     ; Address low byte
-       pla                     ; Restore low byte into A
-       sta     (ptr1),y        ; Store low byte
-       jmp     incsp2          ; Drop address
+        sty     tmp1            ; Save Y
+        pha                     ; Save A
+        ldy     #1
+        lda     (sp),y
+        sta     ptr1+1
+        dey
+        lda     (sp),y
+        sta     ptr1            ; Address now in ptr1
+        ldy     tmp1            ; Restore Y
+        iny                     ; Address high byte
+        txa                     ; Get high byte
+        sta     (ptr1),y        ; Store high byte
+        dey                     ; Address low byte
+        pla                     ; Restore low byte into A
+        sta     (ptr1),y        ; Store low byte
+        jmp     incsp2          ; Drop address
 
 .endproc
 
index de134e2d327206be422350d745f6e7a2c3127883..6ac3891c973e0521a92e7223dcde814690dd9c1c 100644 (file)
@@ -4,24 +4,24 @@
 ; CC65 runtime: Store eax at (sp),y
 ;
 
-       .export         steaxysp, steax0sp
-       .importzp       sp, sreg
+        .export         steaxysp, steax0sp
+        .importzp       sp, sreg
 
 steax0sp:
-       ldy     #0
+        ldy     #0
 steaxysp:
-       sta     (sp),y
-       iny
-       pha
-       txa
-       sta     (sp),y
-       iny
-       lda     sreg
-       sta     (sp),y
-       iny
-       lda     sreg+1
-       sta     (sp),y
-       pla
-       rts
+        sta     (sp),y
+        iny
+        pha
+        txa
+        sta     (sp),y
+        iny
+        lda     sreg
+        sta     (sp),y
+        iny
+        lda     sreg+1
+        sta     (sp),y
+        pla
+        rts
 
 
index ec1777e87fa06ca16d5dc86ce1e08eff8413a21c..b85725050e1a87e5feb8c3a76350eabcd1b2ef9b 100644 (file)
@@ -5,34 +5,34 @@
 ;
 
 
-       .export         steaxspidx
-       .import         popax
-       .importzp       sreg, ptr1, tmp1, tmp2, tmp3
-
-
-.proc  steaxspidx
-
-       sta     tmp1
-       stx     tmp2
-       sty     tmp3
-       jsr     popax           ; get the pointer
-       sta     ptr1
-       stx     ptr1+1
-       ldy     tmp3
-       lda     tmp1
-       sta     (ptr1),y
-       iny
-       lda     tmp2
-       sta     (ptr1),y
-       iny
-       tax
-       lda     sreg
-       sta     (ptr1),y
-       iny
-       lda     sreg+1
-       sta     (ptr1),y
-       lda     tmp1
-       rts
+        .export         steaxspidx
+        .import         popax
+        .importzp       sreg, ptr1, tmp1, tmp2, tmp3
+
+
+.proc   steaxspidx
+
+        sta     tmp1
+        stx     tmp2
+        sty     tmp3
+        jsr     popax           ; get the pointer
+        sta     ptr1
+        stx     ptr1+1
+        ldy     tmp3
+        lda     tmp1
+        sta     (ptr1),y
+        iny
+        lda     tmp2
+        sta     (ptr1),y
+        iny
+        tax
+        lda     sreg
+        sta     (ptr1),y
+        iny
+        lda     sreg+1
+        sta     (ptr1),y
+        lda     tmp1
+        rts
 
 .endproc
 
index ee0b7144c80fc7316fc5d611f970bb562394454d..73df0991782ab65594b4a8d48de525aaf824385e 100644 (file)
 ; its' bounds.
 ;
 
-       .export         stkchk, cstkchk
-       .constructor    initstkchk, 25
-       .import         __STACKSIZE__                   ; Linker defined
-               .import         pusha0, _exit
-       .importzp       sp
-
-       ; Use macros for better readability
-       .macpack        generic
+        .export         stkchk, cstkchk
+        .constructor    initstkchk, 25
+        .import         __STACKSIZE__                   ; Linker defined
+        .import         pusha0, _exit
+        .importzp       sp
+
+        ; Use macros for better readability
+        .macpack        generic
         .macpack        cpu
 
 
 
 .segment        "INIT"
 
-.proc  initstkchk
+.proc   initstkchk
 
-       lda     sp
-       sta     initialsp
-       sub     #<__STACKSIZE__
-       sta     lowwater
-       lda     sp+1
-       sta     initialsp+1
-       sbc     #>__STACKSIZE__
+        lda     sp
+        sta     initialsp
+        sub     #<__STACKSIZE__
+        sta     lowwater
+        lda     sp+1
+        sta     initialsp+1
+        sbc     #>__STACKSIZE__
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-               ina                     ; Add 256 bytes safety area
+        ina                     ; Add 256 bytes safety area
 .else
-               add     #1              ; Add 256 bytes safety area
+        add     #1              ; Add 256 bytes safety area
 .endif
-       sta     lowwater+1
-       rts
+        sta     lowwater+1
+        rts
 
 .endproc
 
 
 .code
 
-stkchk:        tsx
-               cpx     #12
-               bcc     Fail            ; Jump on stack overflow
-       rts                     ; Return if ok
+stkchk: tsx
+        cpx     #12
+        bcc     Fail            ; Jump on stack overflow
+        rts                     ; Return if ok
 
 ; ----------------------------------------------------------------------------
 ; C stack checking routine. Does not need to save any registers.
@@ -69,34 +69,34 @@ cstkchk:
 
 ; Check the high byte of the software stack
 
-@L0:           lda     lowwater+1
-               cmp     sp+1
-               bcs     @L1
-               rts
+@L0:    lda     lowwater+1
+        cmp     sp+1
+        bcs     @L1
+        rts
 
 ; Check low byte
 
-@L1:   bne     CStackOverflow
-       lda     lowwater
-       cmp     sp
-       bcs     CStackOverflow
-Done:  rts
+@L1:    bne     CStackOverflow
+        lda     lowwater
+        cmp     sp
+        bcs     CStackOverflow
+Done:   rts
 
 ; We have a C stack overflow. Set the stack pointer to the initial value, so
 ; we can continue without worrying about stack issues.
 
 CStackOverflow:
-       lda     initialsp
-       sta     sp
-       lda     initialsp+1
-       sta     sp+1
+        lda     initialsp
+        sta     sp
+        lda     initialsp+1
+        sta     sp+1
 
 ; Generic abort entry. We should output a diagnostic here, but this is
 ; difficult, since we're operating at a lower level here.
 
-Fail:  lda     #4
+Fail:   lda     #4
         ldx     #0
-       jmp     _exit
+        jmp     _exit
 
 ; ----------------------------------------------------------------------------
 ; Data
@@ -105,10 +105,10 @@ Fail:     lda     #4
 
 ; Initial stack pointer value. Stack is reset to this in case of overflows to
 ; allow program exit processing.
-initialsp:     .word   0
+initialsp:      .word   0
 
 ; Stack low water mark.
-lowwater:      .word   0
+lowwater:       .word   0
 
 
 
index c9d427efd624a2ee408c7a666ab90392d59b2a5c..b41df3d9172b18db4ce82c3037f90dee9a653763 100644 (file)
@@ -4,32 +4,32 @@
 ; CC65 runtime: sub ints
 ;
 
-               .export         tossuba0, tossubax
-       .import         addysp1
-       .importzp       sp
+        .export         tossuba0, tossubax
+        .import         addysp1
+        .importzp       sp
 
         .macpack        cpu
 
 ; AX = TOS - AX
 
 tossuba0:
-       ldx     #0
+        ldx     #0
 tossubax:
-       sec
-       eor     #$FF
+        sec
+        eor     #$FF
 .if (.cpu .bitand CPU_ISET_65SC02)
-        adc    (sp)
-       ldy     #1
+        adc     (sp)
+        ldy     #1
 .else
-       ldy     #0
-       adc     (sp),y          ; Subtract low byte
-       iny
+        ldy     #0
+        adc     (sp),y          ; Subtract low byte
+        iny
 .endif
-       pha                     ; Save high byte
+        pha                     ; Save high byte
         txa
-       eor     #$FF
-       adc     (sp),y          ; Subtract high byte
-       tax                     ; High byte into X
-       pla                     ; Restore low byte
-       jmp     addysp1         ; drop TOS
+        eor     #$FF
+        adc     (sp),y          ; Subtract high byte
+        tax                     ; High byte into X
+        pla                     ; Restore low byte
+        jmp     addysp1         ; drop TOS
 
index 8a2e3e3ee9e2be01280b4423b843523e2bab0429..24080d97d03392fc333ec151368f6b9ec478bd72 100644 (file)
@@ -4,23 +4,23 @@
 ; CC65 runtime: -= operator for ints on the stack
 ;
 
-               .export         subeq0sp, subeqysp
-       .importzp       sp
+        .export         subeq0sp, subeqysp
+        .importzp       sp
 
 subeq0sp:
-       ldy     #0
+        ldy     #0
 subeqysp:
-       sec
-       eor     #$FF
-       adc     (sp),y
-       sta     (sp),y
-       pha                     ; Save low byte
-       iny
-       txa
-       eor     #$FF
-               adc     (sp),y
-       sta     (sp),y
-       tax
-       pla                     ; Restore low byte
-       rts
+        sec
+        eor     #$FF
+        adc     (sp),y
+        sta     (sp),y
+        pha                     ; Save low byte
+        iny
+        txa
+        eor     #$FF
+        adc     (sp),y
+        sta     (sp),y
+        tax
+        pla                     ; Restore low byte
+        rts
 
index 9d1a2c69160b7bba975b973dd06e9f58de170a51..9fae442226ea357514b8c0ddccb42fc7db44b807 100644 (file)
@@ -5,19 +5,19 @@
 ; CC65 runtime: Decrement the stackpointer by value in y
 ;
 
-       .export         subysp
-       .importzp       sp
+        .export         subysp
+        .importzp       sp
 
-.proc  subysp
+.proc   subysp
 
-       tya
-       eor     #$ff
-       sec
-       adc     sp
-       sta     sp
-       bcs     @L1
-       dec     sp+1
-@L1:   rts
+        tya
+        eor     #$ff
+        sec
+        adc     sp
+        sta     sp
+        bcs     @L1
+        dec     sp+1
+@L1:    rts
 
 .endproc
 
index e2f882f7e7560673bf7d72dad60874896fb774fb..e91eeca31dd2aaf11a5a4928a901bd995f66d5a8 100644 (file)
@@ -4,22 +4,22 @@
 ; CC65 runtime: swap ax with TOS
 ;
 
-       .export         swapstk
-       .importzp       sp, ptr4
+        .export         swapstk
+        .importzp       sp, ptr4
 
 swapstk:
-       sta     ptr4
-       stx     ptr4+1
-       ldy     #1              ; index
-       lda     (sp),y
-       tax
-       lda     ptr4+1
-       sta     (sp),y
-       dey
-       lda     (sp),y
-       pha
-       lda     ptr4
-       sta     (sp),y
-       pla
-       rts                     ; whew!
+        sta     ptr4
+        stx     ptr4+1
+        ldy     #1              ; index
+        lda     (sp),y
+        tax
+        lda     ptr4+1
+        sta     (sp),y
+        dey
+        lda     (sp),y
+        pha
+        lda     ptr4
+        sta     (sp),y
+        pla
+        rts                     ; whew!
 
index d29fa2e8b71752222a4dc3487db545f3dd77ed92..ed32298bd741649ba5d73ca4bd70eedf2f3775de 100644 (file)
@@ -4,30 +4,30 @@
 ; CC65 runtime: Convert tos from long to int
 ;
 
-               .export         tosint
-       .import         incsp2
-       .importzp       sp
+        .export         tosint
+        .import         incsp2
+        .importzp       sp
 
         .macpack        cpu
 
 ; Convert TOS from long to int by cutting of the high 16bit
 
-.proc  tosint
+.proc   tosint
 
-       pha
+        pha
 .if (.cpu .bitand ::CPU_ISET_65SC02)
-       lda     (sp)
+        lda     (sp)
 .else
-       ldy     #0
-       lda     (sp),y          ; sp+1
+        ldy     #0
+        lda     (sp),y          ; sp+1
 .endif
-       ldy     #2
-       sta     (sp),y
-       dey
-       lda     (sp),y
-       ldy     #3
-       sta     (sp),y
-       pla
-               jmp     incsp2          ; Drop 16 bit
+        ldy     #2
+        sta     (sp),y
+        dey
+        lda     (sp),y
+        ldy     #3
+        sta     (sp),y
+        pla
+        jmp     incsp2          ; Drop 16 bit
 
 .endproc
index 9bf66a321c8d733fae859cff3a725083bb7c0b6e..9065d3e6c1aa55ca5a972d1a9fd3dcc98d6155e3 100644 (file)
@@ -4,57 +4,57 @@
 ; CC65 runtime: Convert tos from int to long
 ;
 
-               .export         tosulong, toslong
-       .import         decsp2
-       .importzp       sp
+        .export         tosulong, toslong
+        .import         decsp2
+        .importzp       sp
 
         .macpack        cpu
 
 ; Convert TOS from int to long
 
 tosulong:
-               pha
-       jsr     decsp2          ; Make room
-       ldy     #2
-       lda     (sp),y
+        pha
+        jsr     decsp2          ; Make room
+        ldy     #2
+        lda     (sp),y
 .if (.cpu .bitand CPU_ISET_65SC02)
-       sta     (sp)            ; 65C02 version
-       iny                     ; Y = 3
+        sta     (sp)            ; 65C02 version
+        iny                     ; Y = 3
 .else
-       ldy     #0
-               sta     (sp),y
-       ldy     #3
+        ldy     #0
+        sta     (sp),y
+        ldy     #3
 .endif
-       lda     (sp),y
+        lda     (sp),y
 toslong1:
-       ldy     #1
-       sta     (sp),y
-       lda     #0              ; Zero extend
+        ldy     #1
+        sta     (sp),y
+        lda     #0              ; Zero extend
 toslong2:
-       iny
-       sta     (sp),y
-       iny
-       sta     (sp),y
-       pla
-       rts
+        iny
+        sta     (sp),y
+        iny
+        sta     (sp),y
+        pla
+        rts
 
 toslong:
-               pha
-       jsr     decsp2          ; Make room
-       ldy     #2
-       lda     (sp),y
+        pha
+        jsr     decsp2          ; Make room
+        ldy     #2
+        lda     (sp),y
 .if (.cpu .bitand CPU_ISET_65SC02)
-       sta     (sp)            ; 65C02 version
-       iny                     ; Y = 3
+        sta     (sp)            ; 65C02 version
+        iny                     ; Y = 3
 .else
-       ldy     #0
-               sta     (sp),y
-       ldy     #3
+        ldy     #0
+        sta     (sp),y
+        ldy     #3
 .endif
-       lda     (sp),y
-       bpl     toslong1        ; Jump if positive, high word is zero
-       ldy     #1
-       sta     (sp),y
-       lda     #$FF
-       bne     toslong2        ; Branch always
+        lda     (sp),y
+        bpl     toslong1        ; Jump if positive, high word is zero
+        ldy     #1
+        sta     (sp),y
+        lda     #$FF
+        bne     toslong2        ; Branch always
 
index e667af0e29b6c96b351b954093db68e01968140d..93548d0493247d97b8744b604c3976ca4f63591c 100644 (file)
@@ -4,79 +4,79 @@
 ; CC65 runtime: division for unsigned ints
 ;
 
-               .export         tosudiva0, tosudivax, udiv16
-       .import         popsreg
-       .importzp       sreg, ptr1, ptr4
+        .export         tosudiva0, tosudivax, udiv16
+        .import         popsreg
+        .importzp       sreg, ptr1, ptr4
 
 
 tosudiva0:
         ldx     #$00            ; Clear high byte
 tosudivax:
-               sta     ptr4
-               stx     ptr4+1          ; Save right operand
-               jsr     popsreg         ; Get left operand
+        sta     ptr4
+        stx     ptr4+1          ; Save right operand
+        jsr     popsreg         ; Get left operand
 
 ; Do the division
 
-       jsr     udiv16
+        jsr     udiv16
 
 ; Result is in sreg, remainder in ptr1
 
-       lda     sreg
-       ldx     sreg+1
-       rts
+        lda     sreg
+        ldx     sreg+1
+        rts
 
 ;---------------------------------------------------------------------------
 ; 16by16 division. Divide sreg by ptr4. Result is in sreg, remainder in ptr1
 ; (see mult-div.s from "The Fridge").
 ; This is also the entry point for the signed division
 
-udiv16:        lda     #0
-       sta     ptr1+1
-       ldy     #16
+udiv16: lda     #0
+        sta     ptr1+1
+        ldy     #16
         ldx     ptr4+1
         beq     udiv16by8a
 
-L0:    asl     sreg
-       rol     sreg+1
-       rol     a
-       rol     ptr1+1
+L0:     asl     sreg
+        rol     sreg+1
+        rol     a
+        rol     ptr1+1
 
-       pha
-       cmp     ptr4
-       lda     ptr1+1
-       sbc     ptr4+1
-       bcc     L1
+        pha
+        cmp     ptr4
+        lda     ptr1+1
+        sbc     ptr4+1
+        bcc     L1
 
-       sta     ptr1+1
-       pla
-       sbc     ptr4
-       pha
-       inc     sreg
+        sta     ptr1+1
+        pla
+        sbc     ptr4
+        pha
+        inc     sreg
 
-L1:    pla
-       dey
-       bne     L0
-       sta     ptr1
-       rts
+L1:     pla
+        dey
+        bne     L0
+        sta     ptr1
+        rts
 
 
 ;---------------------------------------------------------------------------
 ; 16by8 division
 
 udiv16by8a:
-@L0:   asl     sreg
-       rol     sreg+1
-       rol     a
+@L0:    asl     sreg
+        rol     sreg+1
+        rol     a
         bcs     @L1
 
-       cmp     ptr4
-       bcc     @L2
-@L1:    sbc    ptr4
-       inc     sreg
+        cmp     ptr4
+        bcc     @L2
+@L1:    sbc     ptr4
+        inc     sreg
 
-@L2:   dey
-       bne     @L0
-       sta     ptr1
-       rts
+@L2:    dey
+        bne     @L0
+        sta     ptr1
+        rts
 
index 3925ffe813cba3cd2d11658b56c06f6f32e19154..9897f9908250d3a96510063133bb817e49779c8e 100644 (file)
@@ -4,7 +4,7 @@
 ; CC65 runtime: 32by16 => 16 unsigned division
 ;
 
-               .export         udiv32by16r16, udiv32by16r16m
+        .export         udiv32by16r16, udiv32by16r16m
 
         .include        "zeropage.inc"
 
@@ -23,34 +23,34 @@ udiv32by16r16:
         sta     ptr3
         stx     ptr3+1
 udiv32by16r16m:
-        lda            #0
-       sta     sreg+1
-       ldy     #32
+        lda     #0
+        sta     sreg+1
+        ldy     #32
 
-L0:            asl     ptr1
+L0:     asl     ptr1
         rol     ptr1+1
         rol     ptr2
         rol     ptr2+1
         rol     a
         rol     sreg+1
 
-       pha
-       cmp     ptr3
-       lda     sreg+1
-       sbc     ptr3+1
-       bcc     L1
-
-       sta     sreg+1
-       pla
-       sbc     ptr3
-       pha
-       inc     ptr1
-
-L1:    pla
-       dey
-       bne     L0
-       sta     sreg
+        pha
+        cmp     ptr3
+        lda     sreg+1
+        sbc     ptr3+1
+        bcc     L1
+
+        sta     sreg+1
+        pla
+        sbc     ptr3
+        pha
+        inc     ptr1
+
+L1:     pla
+        dey
+        bne     L0
+        sta     sreg
         lda     ptr1
         ldx     ptr1+1
-       rts
+        rts
 
index 96e94971713b2cd2ea181ffed51905826fa66cf7..ecbe74efdf7ea5046ab4a6fc0463df98ff1e5c34 100644 (file)
@@ -4,17 +4,17 @@
 ; CC65 runtime: Compare >= for unsigned ints
 ;
 
-               .export         tosuge00, tosugea0, tosugeax
-       .import         tosicmp, booluge
+        .export         tosuge00, tosugea0, tosugeax
+        .import         tosicmp, booluge
 
 
 tosuge00:
-       lda     #$00
+        lda     #$00
 tosugea0:
-       ldx     #$00
+        ldx     #$00
 tosugeax:
-       jsr     tosicmp         ; Set flags
-       jmp     booluge         ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     booluge         ; Convert to boolean
 
 
 
index a8befbfca435940c6aa131a36e3d56b04f577ca2..3b05f435f185766d4f4bfa1dddb8f3aa8aa6b93e 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Compare > for unsigned ints
 ;
 
-               .export         tosugt00, tosugta0, tosugtax
-       .import         tosicmp, boolugt
+        .export         tosugt00, tosugta0, tosugtax
+        .import         tosicmp, boolugt
 
 
 tosugt00:
-       lda     #$00
+        lda     #$00
 tosugta0:
-       ldx     #$00
+        ldx     #$00
 tosugtax:
-       jsr     tosicmp         ; Set flags
-       jmp     boolugt         ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boolugt         ; Convert to boolean
 
index 5e0817d49270b919eccc6b1e337599336bbf31dc..7a78ff490fcc8ace733182930c26901b8f6708df 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Compare <= for unsigned ints
 ;
 
-       .export         tosule00, tosulea0, tosuleax
-               .import         tosicmp, boolule
+        .export         tosule00, tosulea0, tosuleax
+        .import         tosicmp, boolule
 
 tosule00:
-       lda     #$00
+        lda     #$00
 tosulea0:
-       ldx     #$00
+        ldx     #$00
 tosuleax:
-       jsr     tosicmp         ; Set flags
-       jmp     boolule         ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boolule         ; Convert to boolean
 
 
index d2895d08d9db1f06d50b1f074fea1d9a597c9ccd..34df73262a2f59aa882a86c6c77843651b8f89bd 100644 (file)
@@ -4,15 +4,15 @@
 ; CC65 runtime: Compare < for unsigned ints
 ;
 
-               .export         tosult00, tosulta0, tosultax
-       .import         tosicmp, boolult, return0
+        .export         tosult00, tosulta0, tosultax
+        .import         tosicmp, boolult, return0
 
 
-tosult00       = return0       ; This is always false
+tosult00        = return0       ; This is always false
 
 tosulta0:
-       ldx     #$00
+        ldx     #$00
 tosultax:
-       jsr     tosicmp         ; Set flags
-       jmp     boolult         ; Convert to boolean
+        jsr     tosicmp         ; Set flags
+        jmp     boolult         ; Convert to boolean
 
index b465d90f01eb89c014f2440ba06fb36e0ecfa597..92ebb5f91b9dda50ac26123dedb76a0bfab349a2 100644 (file)
@@ -4,25 +4,25 @@
 ; CC65 runtime: modulo operation for unsigned ints
 ;
 
-               .export         tosumoda0, tosumodax
-       .import         popsreg, udiv16
-       .importzp       ptr1, ptr4
+        .export         tosumoda0, tosumodax
+        .import         popsreg, udiv16
+        .importzp       ptr1, ptr4
 
 tosumoda0:
-               ldx     #0
+        ldx     #0
 tosumodax:
-               sta     ptr4
-               stx     ptr4+1          ; Save right operand
-               jsr     popsreg         ; Get right operand
+        sta     ptr4
+        stx     ptr4+1          ; Save right operand
+        jsr     popsreg         ; Get right operand
 
 ; Do the division
 
-               jsr     udiv16
+        jsr     udiv16
 
 ; Result is in sreg, remainder in ptr1
 
-               lda     ptr1
-               ldx     ptr1+1
-               rts
+        lda     ptr1
+        ldx     ptr1+1
+        rts
 
-          
+           
index d481fd166970eb28f70e6e4c507a1fbd6c76543c..c02cf8bb2c857305ef5993c16e359da2782963a0 100644 (file)
@@ -32,32 +32,32 @@ umul16x16r16:
 
 umul16x16r32m:
 umul16x16r16m:
-               lda     #0
-               sta     sreg+1
-               ldy     #16             ; Number of bits
+        lda     #0
+        sta     sreg+1
+        ldy     #16             ; Number of bits
 
         lsr     ptr1+1
         ror     ptr1            ; Get first bit into carry
 @L0:    bcc     @L1
 
-       clc
-       adc     ptr3
-       pha
-               lda     ptr3+1
-       adc     sreg+1
-       sta     sreg+1
-       pla
+        clc
+        adc     ptr3
+        pha
+        lda     ptr3+1
+        adc     sreg+1
+        sta     sreg+1
+        pla
 
 @L1:    ror     sreg+1
-       ror     a
-       ror     ptr1+1
-       ror     ptr1
+        ror     a
+        ror     ptr1+1
+        ror     ptr1
         dey
         bne     @L0
 
         sta     sreg            ; Save byte 3
-       lda     ptr1            ; Load the result
-       ldx     ptr1+1
-       rts                     ; Done
+        lda     ptr1            ; Load the result
+        ldx     ptr1+1
+        rts                     ; Done
 
 
index 9a982d58a94db0a26ad3c719aea2b2e430c69e8e..64653f5f40b048296b80a6e2bc2f9432f593880f 100644 (file)
@@ -30,11 +30,11 @@ umul8x16r16:
 
 umul8x16r24m:
 umul8x16r16m:
-               ldx     #0
+        ldx     #0
         stx     ptr1+1
-               stx     sreg
+        stx     sreg
 
-               ldy     #8              ; Number of bits
+        ldy     #8              ; Number of bits
         ldx     ptr3            ; Get into register for speed
         lda     ptr1
         ror     a               ; Get next bit into carry
@@ -51,13 +51,13 @@ umul8x16r16m:
         pla
 
 @L1:    ror     sreg
-       ror     ptr1+1
-       ror     a
+        ror     ptr1+1
+        ror     a
         dey
         bne     @L0
 
         sta     ptr1            ; Save low byte of result
         ldx     ptr1+1          ; Load high byte of result
-       rts                     ; Done
+        rts                     ; Done
 
 
index 543110f1ba90251183f7319b94241ebd47bd27be..34ff82872c9282d669a7f980f01b3266af8ca7d9 100644 (file)
@@ -4,8 +4,8 @@
 ; CC65 runtime: 8x8 => 16 multiplication
 ;
 
-               .export         umul8x8r16, umul8x8r16m
-       .importzp       ptr1, ptr3
+        .export         umul8x8r16, umul8x8r16m
+        .importzp       ptr1, ptr3
 
 
 ;---------------------------------------------------------------------------
@@ -19,8 +19,8 @@
 umul8x8r16:
         sta     ptr3
 umul8x8r16m:
-       lda     #0              ; Clear byte 1
-               ldy     #8              ; Number of bits
+        lda     #0              ; Clear byte 1
+        ldy     #8              ; Number of bits
         lsr     ptr1            ; Get first bit of lhs into carry
 @L0:    bcc     @L1
         clc
@@ -31,7 +31,7 @@ umul8x8r16m:
         bne     @L0
         tax
         stx     ptr1+1          ; Result in a/x and ptr1
-       lda     ptr1            ; Load the result
-       rts                     ; Done
+        lda     ptr1            ; Load the result
+        rts                     ; Done
 
 
index 9027cb1d6a444a79a8dcb7c5a15880488a9895ec..825c576d16d5356fba5599df881c3f9546b68aa9 100644 (file)
@@ -4,20 +4,20 @@
 ; CC65 runtime: xor on ints
 ;
 
-       .export         tosxora0, tosxorax
-       .import         addysp1
-       .importzp       sp, tmp1
+        .export         tosxora0, tosxorax
+        .import         addysp1
+        .importzp       sp, tmp1
 
 tosxora0:
-       ldx     #$00
+        ldx     #$00
 tosxorax:
-       ldy     #0
-               eor     (sp),y
-       sta     tmp1
-       iny
-       txa
-       eor     (sp),y
-       tax
-       lda     tmp1
-       jmp     addysp1         ; drop TOS, set condition codes
+        ldy     #0
+        eor     (sp),y
+        sta     tmp1
+        iny
+        txa
+        eor     (sp),y
+        tax
+        lda     tmp1
+        jmp     addysp1         ; drop TOS, set condition codes
 
index 8d5818344fcd42486cd41dbad19b5bbf9e7d7128..b4af44e33b4054ce5a2d65fa6598f1d7233559cc 100644 (file)
 
 .zeropage
 
-sp:            .res    2       ; Stack pointer
-sreg:          .res    2       ; Secondary register/high 16 bit for longs
-regsave:       .res    4       ; Slot to save/restore (E)AX into
-ptr1:          .res    2
-ptr2:          .res    2
-ptr3:          .res    2
-ptr4:          .res    2
-tmp1:          .res    1
-tmp2:          .res    1
-tmp3:          .res    1
-tmp4:          .res    1
-regbank:               .res    regbanksize     ; Register bank
+sp:             .res    2       ; Stack pointer
+sreg:           .res    2       ; Secondary register/high 16 bit for longs
+regsave:        .res    4       ; Slot to save/restore (E)AX into
+ptr1:           .res    2
+ptr2:           .res    2
+ptr3:           .res    2
+ptr4:           .res    2
+tmp1:           .res    1
+tmp2:           .res    1
+tmp3:           .res    1
+tmp4:           .res    1
+regbank:        .res    regbanksize     ; Register bank
 
 ; Add an empty EXTZP zeropage segment to avoid linker warnings that this
 ; segment does not exist (it does not exist in most builtin linker configs
index d96f8306a1cbbb30018bf119ad94f99143d1964e..7a91e5e4b426bfd23358abbef3f4969a96adf6af 100644 (file)
@@ -6,7 +6,7 @@
 
         .import         return0
         .importzp       ptr1
-               .interruptor    ser_irq, 29     ; Export as high priority IRQ handler
+        .interruptor    ser_irq, 29     ; Export as high priority IRQ handler
 
         .include        "ser-kernel.inc"
         .include        "ser-error.inc"
 
 
 .bss
-_ser_drv:       .res    2                      ; Pointer to driver
+_ser_drv:       .res    2               ; Pointer to driver
 
 ; Jump table for the driver functions.
 .data
 ser_vectors:
-ser_install:           jmp     return0
-ser_uninstall:         jmp     return0
+ser_install:    jmp     return0
+ser_uninstall:  jmp     return0
 ser_open:       jmp     return0
 ser_close:      jmp     return0
 ser_get:        jmp     return0
 ser_put:        jmp     return0
 ser_status:     jmp     return0
 ser_ioctl:      jmp     return0
-ser_irq:       .byte   $60, $00, $00   ; RTS plus two dummy bytes
+ser_irq:        .byte   $60, $00, $00   ; RTS plus two dummy bytes
 
 ; Driver header signature
 .rodata
@@ -44,10 +44,10 @@ ser_sig:        .byte   $73, $65, $72, SER_API_VERSION  ; "ser", version
 
 
 _ser_install:
-               sta     _ser_drv
-       sta     ptr1
-       stx     _ser_drv+1
-       stx     ptr1+1
+        sta     _ser_drv
+        sta     ptr1
+        stx     _ser_drv+1
+        stx     ptr1+1
 
 ; Check the driver signature
 
@@ -72,8 +72,8 @@ _ser_install:
 
         ldy     ser_irq+2               ; Check high byte of IRQ vector
         beq     @L2                     ; Jump if vector invalid
-       ldy     #$4C                    ; Jump opcode
-       sty     ser_irq                 ; Activate IRQ routine
+        ldy     #$4C                    ; Jump opcode
+        sty     ser_irq                 ; Activate IRQ routine
 @L2:    rts
 
 ; Driver signature invalid
@@ -100,8 +100,8 @@ copy:   lda     (ptr1),y
 _ser_uninstall:
         jsr     ser_uninstall           ; Call driver routine
 
-       lda     #$60                    ; RTS opcode
-       sta     ser_irq                 ; Disable IRQ entry point
+        lda     #$60                    ; RTS opcode
+        sta     ser_irq                 ; Disable IRQ entry point
 
 _ser_clear_ptr:                         ; External entry point
         lda     #0
index c97a4b3d3c5fa1c6a89419be1e92247ffe715f8f..bf7201255cd5bec0c82ce09ec1d4ff7eca475bc3 100644 (file)
 
 
 _ser_unload:
-       lda     _ser_drv
+        lda     _ser_drv
         pha                             ; Save pointer to driver
-       ora     _ser_drv+1
-               beq     no_driver               ; No driver
-       lda     _ser_drv+1
-       pha
+        ora     _ser_drv+1
+        beq     no_driver               ; No driver
+        lda     _ser_drv+1
+        pha
 
-               jsr     _ser_uninstall          ; Uninstall the driver
+        jsr     _ser_uninstall          ; Uninstall the driver
 
-       pla
-       tax
-       pla                             ; Get pointer to driver
+        pla
+        tax
+        pla                             ; Get pointer to driver
         jsr     _mod_free               ; Free the driver
         jmp     return0                 ; Return SER_ERR_OK
 
 no_driver:
-               tax                             ; X = 0
+        tax                             ; X = 0
         pla                             ; Remove pushed junk
-       lda     #<SER_ERR_NO_DRIVER
-       rts
+        lda     #<SER_ERR_NO_DRIVER
+        rts
index bb82de3ee08a29e06a02d7e81fb2515de676c1e7..11d23927706499fa7d382b9631535dcd61368319 100644 (file)
@@ -5,17 +5,17 @@
         .export         _exit
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
-       .import         _main
+        .import         _main
         .import         initlib, donelib, copydata
         .import         zerobss
-       .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
-       .import         __STACKSIZE__                   ; Linker generated
+        .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
+        .import         __STACKSIZE__                   ; Linker generated
 
-       .include "zeropage.inc"
-       .include "supervision.inc"
+        .include "zeropage.inc"
+        .include "supervision.inc"
 
-       .export _sv_irq_timer_counter, _sv_irq_dma_counter
-       .export _sv_nmi_counter
+        .export _sv_irq_timer_counter, _sv_irq_dma_counter
+        .export _sv_nmi_counter
 
 .bss
 
@@ -26,41 +26,41 @@ _sv_nmi_counter:        .byte 0
 .code
 
 reset:
-       jsr     zerobss
+        jsr     zerobss
 
-       ; initialize data
-       jsr     copydata
+        ; initialize data
+        jsr     copydata
 
-       lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-               sta     sp+1            ; Set argument stack ptr
-               stz     sp              ; #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       jsr     initlib
-       jsr     _main
-_exit: jsr     donelib
-exit:   jmp            exit
+        lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp+1            ; Set argument stack ptr
+        stz     sp              ; #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        jsr     initlib
+        jsr     _main
+_exit:  jsr     donelib
+exit:   jmp     exit
 
 
 .proc   irq
-       pha
-       lda     sv_irq_source
-       and     #SV_IRQ_REQUEST_TIMER
-       beq     not_timer
-       lda     sv_timer_quit
-       inc     _sv_irq_timer_counter
+        pha
+        lda     sv_irq_source
+        and     #SV_IRQ_REQUEST_TIMER
+        beq     not_timer
+        lda     sv_timer_quit
+        inc     _sv_irq_timer_counter
 not_timer:
-       lda     sv_irq_source
-       and     #SV_IRQ_REQUEST_DMA
-       beq     not_dma
-       lda     sv_dma_quit
-       inc     _sv_irq_dma_counter
+        lda     sv_irq_source
+        and     #SV_IRQ_REQUEST_DMA
+        beq     not_dma
+        lda     sv_dma_quit
+        inc     _sv_irq_dma_counter
 not_dma:
-       pla
-       rti
+        pla
+        rti
 .endproc
 
 .proc   nmi
-       inc     _sv_nmi_counter
-       rti
+        inc     _sv_nmi_counter
+        rti
 .endproc
 
 ; removing this segment gives only a warning
index f8b04a1a68f23cd886c36a002d4d7c795f633791..1892554fdb70d14e8694513a74fff6ffc0778d6d 100644 (file)
@@ -4,7 +4,7 @@
 ; Character specification table.
 ;
 
-       .include        "ctype.inc"
+        .include        "ctype.inc"
 
 ; The tables are readonly, put them into the rodata segment
 
 
 
 __ctype:
-               .byte   CT_CTRL                 ;   0/00 ___ctrl_@___
-       .byte   CT_CTRL                 ;   1/01 ___ctrl_A___
-       .byte   CT_CTRL                 ;   2/02 ___ctrl_B___
-       .byte   CT_CTRL                 ;   3/03 ___ctrl_C___
-       .byte   CT_CTRL                 ;   4/04 ___ctrl_D___
-       .byte   CT_CTRL                 ;   5/05 ___ctrl_E___
-       .byte   CT_CTRL                 ;   6/06 ___ctrl_F___
-       .byte   CT_CTRL                 ;   7/07 ___ctrl_G___
-       .byte   CT_CTRL                 ;   8/08 ___ctrl_H___
-       .byte   CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB
-                                       ;   9/09 ___ctrl_I___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  10/0a ___ctrl_J___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  11/0b ___ctrl_K___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  12/0c ___ctrl_L___
-       .byte   CT_CTRL | CT_OTHER_WS   ;  13/0d ___ctrl_M___
-       .byte   CT_CTRL                 ;  14/0e ___ctrl_N___
-       .byte   CT_CTRL                 ;  15/0f ___ctrl_O___
-       .byte   CT_CTRL                 ;  16/10 ___ctrl_P___
-       .byte   CT_CTRL                 ;  17/11 ___ctrl_Q___
-       .byte   CT_CTRL                 ;  18/12 ___ctrl_R___
-       .byte   CT_CTRL                 ;  19/13 ___ctrl_S___
-       .byte   CT_CTRL                 ;  20/14 ___ctrl_T___
-       .byte   CT_CTRL                 ;  21/15 ___ctrl_U___
-       .byte   CT_CTRL                 ;  22/16 ___ctrl_V___
-       .byte   CT_CTRL                 ;  23/17 ___ctrl_W___
-       .byte   CT_CTRL                 ;  24/18 ___ctrl_X___
-       .byte   CT_CTRL                 ;  25/19 ___ctrl_Y___
-       .byte   CT_CTRL                 ;  26/1a ___ctrl_Z___
-       .byte   CT_CTRL                 ;  27/1b ___ctrl_[___
-       .byte   CT_CTRL                 ;  28/1c ___ctrl_\___
-       .byte   CT_CTRL                 ;  29/1d ___ctrl_]___
-       .byte   CT_CTRL                 ;  30/1e ___ctrl_^___
-       .byte   CT_CTRL                 ;  31/1f ___ctrl_____
-       .byte   CT_SPACE | CT_SPACE_TAB ;  32/20 ___SPACE___
-               .byte   CT_NONE                 ;  33/21 _____!_____
-               .byte   CT_NONE                 ;  34/22 _____"_____
-               .byte   CT_NONE                 ;  35/23 _____#_____
-               .byte   CT_NONE                 ;  36/24 _____$_____
-               .byte   CT_NONE                 ;  37/25 _____%_____
-               .byte   CT_NONE                 ;  38/26 _____&_____
-               .byte   CT_NONE                 ;  39/27 _____'_____
-               .byte   CT_NONE                 ;  40/28 _____(_____
-               .byte   CT_NONE                 ;  41/29 _____)_____
-               .byte   CT_NONE                 ;  42/2a _____*_____
-               .byte   CT_NONE                 ;  43/2b _____+_____
-               .byte   CT_NONE                 ;  44/2c _____,_____
-               .byte   CT_NONE                 ;  45/2d _____-_____
-               .byte   CT_NONE                 ;  46/2e _____._____
-               .byte   CT_NONE                 ;  47/2f _____/_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  48/30 _____0_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  49/31 _____1_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  50/32 _____2_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  51/33 _____3_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  52/34 _____4_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  53/35 _____5_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  54/36 _____6_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  55/37 _____7_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  56/38 _____8_____
-       .byte   CT_DIGIT | CT_XDIGIT    ;  57/39 _____9_____
-               .byte   CT_NONE                 ;  58/3a _____:_____
-               .byte   CT_NONE                 ;  59/3b _____;_____
-               .byte   CT_NONE                 ;  60/3c _____<_____
-               .byte   CT_NONE                 ;  61/3d _____=_____
-               .byte   CT_NONE                 ;  62/3e _____>_____
-               .byte   CT_NONE                 ;  63/3f _____?_____
+        .byte   CT_CTRL                 ;   0/00 ___ctrl_@___
+        .byte   CT_CTRL                 ;   1/01 ___ctrl_A___
+        .byte   CT_CTRL                 ;   2/02 ___ctrl_B___
+        .byte   CT_CTRL                 ;   3/03 ___ctrl_C___
+        .byte   CT_CTRL                 ;   4/04 ___ctrl_D___
+        .byte   CT_CTRL                 ;   5/05 ___ctrl_E___
+        .byte   CT_CTRL                 ;   6/06 ___ctrl_F___
+        .byte   CT_CTRL                 ;   7/07 ___ctrl_G___
+        .byte   CT_CTRL                 ;   8/08 ___ctrl_H___
+        .byte   CT_CTRL | CT_OTHER_WS | CT_SPACE_TAB
+                                        ;   9/09 ___ctrl_I___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  10/0a ___ctrl_J___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  11/0b ___ctrl_K___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  12/0c ___ctrl_L___
+        .byte   CT_CTRL | CT_OTHER_WS   ;  13/0d ___ctrl_M___
+        .byte   CT_CTRL                 ;  14/0e ___ctrl_N___
+        .byte   CT_CTRL                 ;  15/0f ___ctrl_O___
+        .byte   CT_CTRL                 ;  16/10 ___ctrl_P___
+        .byte   CT_CTRL                 ;  17/11 ___ctrl_Q___
+        .byte   CT_CTRL                 ;  18/12 ___ctrl_R___
+        .byte   CT_CTRL                 ;  19/13 ___ctrl_S___
+        .byte   CT_CTRL                 ;  20/14 ___ctrl_T___
+        .byte   CT_CTRL                 ;  21/15 ___ctrl_U___
+        .byte   CT_CTRL                 ;  22/16 ___ctrl_V___
+        .byte   CT_CTRL                 ;  23/17 ___ctrl_W___
+        .byte   CT_CTRL                 ;  24/18 ___ctrl_X___
+        .byte   CT_CTRL                 ;  25/19 ___ctrl_Y___
+        .byte   CT_CTRL                 ;  26/1a ___ctrl_Z___
+        .byte   CT_CTRL                 ;  27/1b ___ctrl_[___
+        .byte   CT_CTRL                 ;  28/1c ___ctrl_\___
+        .byte   CT_CTRL                 ;  29/1d ___ctrl_]___
+        .byte   CT_CTRL                 ;  30/1e ___ctrl_^___
+        .byte   CT_CTRL                 ;  31/1f ___ctrl_____
+        .byte   CT_SPACE | CT_SPACE_TAB ;  32/20 ___SPACE___
+        .byte   CT_NONE                 ;  33/21 _____!_____
+        .byte   CT_NONE                 ;  34/22 _____"_____
+        .byte   CT_NONE                 ;  35/23 _____#_____
+        .byte   CT_NONE                 ;  36/24 _____$_____
+        .byte   CT_NONE                 ;  37/25 _____%_____
+        .byte   CT_NONE                 ;  38/26 _____&_____
+        .byte   CT_NONE                 ;  39/27 _____'_____
+        .byte   CT_NONE                 ;  40/28 _____(_____
+        .byte   CT_NONE                 ;  41/29 _____)_____
+        .byte   CT_NONE                 ;  42/2a _____*_____
+        .byte   CT_NONE                 ;  43/2b _____+_____
+        .byte   CT_NONE                 ;  44/2c _____,_____
+        .byte   CT_NONE                 ;  45/2d _____-_____
+        .byte   CT_NONE                 ;  46/2e _____._____
+        .byte   CT_NONE                 ;  47/2f _____/_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  48/30 _____0_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  49/31 _____1_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  50/32 _____2_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  51/33 _____3_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  52/34 _____4_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  53/35 _____5_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  54/36 _____6_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  55/37 _____7_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  56/38 _____8_____
+        .byte   CT_DIGIT | CT_XDIGIT    ;  57/39 _____9_____
+        .byte   CT_NONE                 ;  58/3a _____:_____
+        .byte   CT_NONE                 ;  59/3b _____;_____
+        .byte   CT_NONE                 ;  60/3c _____<_____
+        .byte   CT_NONE                 ;  61/3d _____=_____
+        .byte   CT_NONE                 ;  62/3e _____>_____
+        .byte   CT_NONE                 ;  63/3f _____?_____
 
-               .byte   CT_NONE                 ;  64/40 _____@_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  65/41 _____A_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  66/42 _____B_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  67/43 _____C_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  68/44 _____D_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  69/45 _____E_____
-       .byte   CT_UPPER | CT_XDIGIT    ;  70/46 _____F_____
-       .byte   CT_UPPER                ;  71/47 _____G_____
-       .byte   CT_UPPER                ;  72/48 _____H_____
-       .byte   CT_UPPER                ;  73/49 _____I_____
-       .byte   CT_UPPER                ;  74/4a _____J_____
-       .byte   CT_UPPER                ;  75/4b _____K_____
-       .byte   CT_UPPER                ;  76/4c _____L_____
-       .byte   CT_UPPER                ;  77/4d _____M_____
-       .byte   CT_UPPER                ;  78/4e _____N_____
-       .byte   CT_UPPER                ;  79/4f _____O_____
-       .byte   CT_UPPER                ;  80/50 _____P_____
-       .byte   CT_UPPER                ;  81/51 _____Q_____
-       .byte   CT_UPPER                ;  82/52 _____R_____
-       .byte   CT_UPPER                ;  83/53 _____S_____
-       .byte   CT_UPPER                ;  84/54 _____T_____
-       .byte   CT_UPPER                ;  85/55 _____U_____
-       .byte   CT_UPPER                ;  86/56 _____V_____
-       .byte   CT_UPPER                ;  87/57 _____W_____
-       .byte   CT_UPPER                ;  88/58 _____X_____
-       .byte   CT_UPPER                ;  89/59 _____Y_____
-       .byte   CT_UPPER                ;  90/5a _____Z_____
-               .byte   CT_NONE                 ;  91/5b _____[_____
-               .byte   CT_NONE                 ;  92/5c _____\_____
-               .byte   CT_NONE                 ;  93/5d _____]_____
-               .byte   CT_NONE                 ;  94/5e _____^_____
-               .byte   CT_NONE                 ;  95/5f _UNDERLINE_
-               .byte   CT_NONE                 ;  96/60 ___grave___
-       .byte   CT_LOWER | CT_XDIGIT    ;  97/61 _____a_____
-       .byte   CT_LOWER | CT_XDIGIT    ;  98/62 _____b_____
-       .byte   CT_LOWER | CT_XDIGIT    ;  99/63 _____c_____
-       .byte   CT_LOWER | CT_XDIGIT    ; 100/64 _____d_____
-       .byte   CT_LOWER | CT_XDIGIT    ; 101/65 _____e_____
-       .byte   CT_LOWER | CT_XDIGIT    ; 102/66 _____f_____
-       .byte   CT_LOWER                ; 103/67 _____g_____
-       .byte   CT_LOWER                ; 104/68 _____h_____
-       .byte   CT_LOWER                ; 105/69 _____i_____
-       .byte   CT_LOWER                ; 106/6a _____j_____
-       .byte   CT_LOWER                ; 107/6b _____k_____
-       .byte   CT_LOWER                ; 108/6c _____l_____
-       .byte   CT_LOWER                ; 109/6d _____m_____
-       .byte   CT_LOWER                ; 110/6e _____n_____
-       .byte   CT_LOWER                ; 111/6f _____o_____
-       .byte   CT_LOWER                ; 112/70 _____p_____
-       .byte   CT_LOWER                ; 113/71 _____q_____
-       .byte   CT_LOWER                ; 114/72 _____r_____
-       .byte   CT_LOWER                ; 115/73 _____s_____
-       .byte   CT_LOWER                ; 116/74 _____t_____
-       .byte   CT_LOWER                ; 117/75 _____u_____
-       .byte   CT_LOWER                ; 118/76 _____v_____
-       .byte   CT_LOWER                ; 119/77 _____w_____
-       .byte   CT_LOWER                ; 120/78 _____x_____
-       .byte   CT_LOWER                ; 121/79 _____y_____
-       .byte   CT_LOWER                ; 122/7a _____z_____
-               .byte   CT_NONE                 ; 123/7b _____{_____
-               .byte   CT_NONE                 ; 124/7c _____|_____
-               .byte   CT_NONE                 ; 125/7d _____}_____
-               .byte   CT_NONE                 ; 126/7e _____~_____
-       .byte   CT_OTHER_WS             ; 127/7f ____DEL____
+        .byte   CT_NONE                 ;  64/40 _____@_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  65/41 _____A_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  66/42 _____B_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  67/43 _____C_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  68/44 _____D_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  69/45 _____E_____
+        .byte   CT_UPPER | CT_XDIGIT    ;  70/46 _____F_____
+        .byte   CT_UPPER                ;  71/47 _____G_____
+        .byte   CT_UPPER                ;  72/48 _____H_____
+        .byte   CT_UPPER                ;  73/49 _____I_____
+        .byte   CT_UPPER                ;  74/4a _____J_____
+        .byte   CT_UPPER                ;  75/4b _____K_____
+        .byte   CT_UPPER                ;  76/4c _____L_____
+        .byte   CT_UPPER                ;  77/4d _____M_____
+        .byte   CT_UPPER                ;  78/4e _____N_____
+        .byte   CT_UPPER                ;  79/4f _____O_____
+        .byte   CT_UPPER                ;  80/50 _____P_____
+        .byte   CT_UPPER                ;  81/51 _____Q_____
+        .byte   CT_UPPER                ;  82/52 _____R_____
+        .byte   CT_UPPER                ;  83/53 _____S_____
+        .byte   CT_UPPER                ;  84/54 _____T_____
+        .byte   CT_UPPER                ;  85/55 _____U_____
+        .byte   CT_UPPER                ;  86/56 _____V_____
+        .byte   CT_UPPER                ;  87/57 _____W_____
+        .byte   CT_UPPER                ;  88/58 _____X_____
+        .byte   CT_UPPER                ;  89/59 _____Y_____
+        .byte   CT_UPPER                ;  90/5a _____Z_____
+        .byte   CT_NONE                 ;  91/5b _____[_____
+        .byte   CT_NONE                 ;  92/5c _____\_____
+        .byte   CT_NONE                 ;  93/5d _____]_____
+        .byte   CT_NONE                 ;  94/5e _____^_____
+        .byte   CT_NONE                 ;  95/5f _UNDERLINE_
+        .byte   CT_NONE                 ;  96/60 ___grave___
+        .byte   CT_LOWER | CT_XDIGIT    ;  97/61 _____a_____
+        .byte   CT_LOWER | CT_XDIGIT    ;  98/62 _____b_____
+        .byte   CT_LOWER | CT_XDIGIT    ;  99/63 _____c_____
+        .byte   CT_LOWER | CT_XDIGIT    ; 100/64 _____d_____
+        .byte   CT_LOWER | CT_XDIGIT    ; 101/65 _____e_____
+        .byte   CT_LOWER | CT_XDIGIT    ; 102/66 _____f_____
+        .byte   CT_LOWER                ; 103/67 _____g_____
+        .byte   CT_LOWER                ; 104/68 _____h_____
+        .byte   CT_LOWER                ; 105/69 _____i_____
+        .byte   CT_LOWER                ; 106/6a _____j_____
+        .byte   CT_LOWER                ; 107/6b _____k_____
+        .byte   CT_LOWER                ; 108/6c _____l_____
+        .byte   CT_LOWER                ; 109/6d _____m_____
+        .byte   CT_LOWER                ; 110/6e _____n_____
+        .byte   CT_LOWER                ; 111/6f _____o_____
+        .byte   CT_LOWER                ; 112/70 _____p_____
+        .byte   CT_LOWER                ; 113/71 _____q_____
+        .byte   CT_LOWER                ; 114/72 _____r_____
+        .byte   CT_LOWER                ; 115/73 _____s_____
+        .byte   CT_LOWER                ; 116/74 _____t_____
+        .byte   CT_LOWER                ; 117/75 _____u_____
+        .byte   CT_LOWER                ; 118/76 _____v_____
+        .byte   CT_LOWER                ; 119/77 _____w_____
+        .byte   CT_LOWER                ; 120/78 _____x_____
+        .byte   CT_LOWER                ; 121/79 _____y_____
+        .byte   CT_LOWER                ; 122/7a _____z_____
+        .byte   CT_NONE                 ; 123/7b _____{_____
+        .byte   CT_NONE                 ; 124/7c _____|_____
+        .byte   CT_NONE                 ; 125/7d _____}_____
+        .byte   CT_NONE                 ; 126/7e _____~_____
+        .byte   CT_OTHER_WS             ; 127/7f ____DEL____
 
         .res    128, CT_NONE            ; 128-255
 
index cfdd375b2e323932cfb6d96fd4d96823225613c7..d5b025506ac7fa46cb3c57a597ca6c70965df1e3 100644 (file)
 
 .bss
 
-_tgi_drv:                  .res    2           ; Pointer to driver
+_tgi_drv:           .res    2           ; Pointer to driver
 ; From here on, variables get cleared when a new driver is loaded
 cstart:
-_tgi_error:                .res    1           ; Last error code
+_tgi_error:         .res    1           ; Last error code
 _tgi_gmode:         .res    1           ; Flag: Graphics mode active
 _tgi_curx:          .res    2           ; Current drawing cursor X
 _tgi_cury:          .res    2           ; Current drawing cursor Y
@@ -61,11 +61,11 @@ _tgi_flags:         .res    1           ; TGI driver flags
 ; Jump table for the driver functions.
 
 jumpvectors:
-tgi_install:               jmp     $0000
-tgi_uninstall:             jmp     $0000
+tgi_install:        jmp     $0000
+tgi_uninstall:      jmp     $0000
 tgi_init:           jmp     $0000
 tgi_done:           jmp     $0000
-tgi_geterror:      jmp     $0000
+tgi_geterror:       jmp     $0000
 tgi_control:        jmp     $0000
 tgi_clear:          jmp     $0000
 tgi_setviewpage:    jmp     $0000
@@ -94,10 +94,10 @@ tgi_sig:        .byte   $74, $67, $69, TGI_API_VERSION  ; "tgi", version
 
 
 _tgi_install:
-               sta     _tgi_drv
-       sta     ptr1
-       stx     _tgi_drv+1
-       stx     ptr1+1
+        sta     _tgi_drv
+        sta     ptr1
+        stx     _tgi_drv+1
+        stx     ptr1+1
 
 ; Check the driver signature
 
@@ -138,8 +138,8 @@ _tgi_install:
 
         lda     tgi_irq+2               ; Check high byte of IRQ vector
         beq     @L4                     ; Jump if vector invalid
-       lda     #$4C                    ; Jump opcode
-               sta     tgi_irq                 ; Activate IRQ routine
+        lda     #$4C                    ; Jump opcode
+        sta     tgi_irq                 ; Activate IRQ routine
 
 ; Initialize some other variables
 
@@ -149,7 +149,7 @@ _tgi_install:
         dex
         bpl     @L5
 
-       rts
+        rts
 
 ; Copy one byte to the jump vectors
 
@@ -179,10 +179,10 @@ tgi_inv_drv:
 ; Load the pointer to the tgi driver into ptr1.
 
 tgi_set_ptr:
-               lda     _tgi_drv
-       sta     ptr1
-       lda     _tgi_drv+1
-       sta     ptr1+1
+        lda     _tgi_drv
+        sta     ptr1
+        lda     _tgi_drv+1
+        sta     ptr1+1
         rts
 
 ;----------------------------------------------------------------------------
@@ -196,8 +196,8 @@ _tgi_uninstall:
 
         jsr     tgi_uninstall           ; Allow the driver to clean up
 
-       lda     #$60                    ; RTS opcode
-       sta     tgi_irq                 ; Disable IRQ entry point
+        lda     #$60                    ; RTS opcode
+        sta     tgi_irq                 ; Disable IRQ entry point
 
 ; Clear driver pointer and error code
 
index 44ab3d5215d950153d83ab16f6d63a90efd81a09..c8fd355d54c3dcccca5dd9c6f9ee1af8ee6a4989 100644 (file)
 
 ; Do driver initialization. Set draw and view pages.
 
-       lda     #0
-       jsr     tgi_setviewpage
-       lda     #0
-       jsr     tgi_setdrawpage
+        lda     #0
+        jsr     tgi_setviewpage
+        lda     #0
+        jsr     tgi_setdrawpage
 
 ; Set the default palette.
 
index bbcb7c911baeac65b3916e6a9d80191be6d62419..e904b5117b6d323000228ad4846fb9af716dcadb 100644 (file)
 ; X2/Y2 = ptr3/ptr4 using the current drawing color.
 ; Must set an error code: NO
 
-       .proc   LINE
+        .proc   LINE
 
 ; Used for passing parameters to the driver.
 
-X1     :=      ptr1
-Y1     :=      ptr2
-X2     :=      ptr3
-Y2     :=      ptr4
+X1      :=      ptr1
+Y1      :=      ptr2
+X2      :=      ptr3
+Y2      :=      ptr4
 
 ; These ones must be on zpage.
 
-TEMP1  :=      tmp3
-TEMP2  :=      tmp4
-TEMP3  :=      sreg
-TEMP4  :=      sreg+1
-PB     :=      ptr3
-UB     :=      ptr4
-ERR    :=      regsave
-NX     :=      regsave+2
+TEMP1   :=      tmp3
+TEMP2   :=      tmp4
+TEMP3   :=      sreg
+TEMP4   :=      sreg+1
+PB      :=      ptr3
+UB      :=      ptr4
+ERR     :=      regsave
+NX      :=      regsave+2
 
 ; ------------------------------------------------------------------------
 
-       .bss
+        .bss
 
-COUNT: .res    2
-NY:    .res    2
-DX:    .res    1
-DY:    .res    1
-AX:    .res    1
-AY:    .res    1
+COUNT:  .res    2
+NY:     .res    2
+DX:     .res    1
+DY:     .res    1
+AX:     .res    1
+AY:     .res    1
 
 ; ------------------------------------------------------------------------
 
-       .code
-
-       ; nx = abs (x2 - x1)
-       sec
-       lda     X2
-       sbc     X1
-       sta     NX
-       lda     X2+1
-       sbc     X1+1
-       tay
-       lda     NX
-       jsr     abs
-       sta     NX
-       sty     NX+1
-
-       ; ny = abs (y2 - y1)
-       sec
-       lda     Y2
-       sbc     Y1
-       sta     NY
-       lda     Y2+1
-       sbc     Y1+1
-       tay
-       lda     NY
-       jsr     abs
-       sta     NY
-       sty     NY+1
-
-       ; if (x2 >= x1)
-       ldx     #X2
-       lda     X1
-       ldy     X1+1
-       jsr     icmp
-       bcc     :+
-
-       ;    dx = 1
-       lda     #$01
-       bne     :++
-
-       ; else
-       ;    dx = -1
-:      lda     #$FF
-:      sta     DX
-
-       ; if (y2 >= y1)
-       ldx     #Y2
-       lda     Y1
-       ldy     Y1+1
-       jsr     icmp
-       bcc     :+
-
-       ;    dy = 1
-       lda     #$01
-       bne     :++
-
-       ; else
-       ;    dy = -1
-:      lda     #$FF
-:      sta     DY
-
-       ; err = ax = ay = 0
-       lda     #$00
-       sta     ERR
-       sta     ERR+1
-       sta     AX
-       sta     AY
-
-       ; if (nx < ny) {
-       ldx     #NX
-       lda     NY
-       ldy     NY+1
-       jsr     icmp
-       bcs     :+
-
-       ;    nx <-> ny
-       lda     NX
-       ldx     NY
-       sta     NY
-       stx     NX
-       lda     NX+1
-       ldx     NY+1
-       sta     NY+1
-       stx     NX+1
-
-       ;    ax = dx
-       lda     DX
-       sta     AX
-
-       ;    ay = dy
-       lda     DY
-       sta     AY
-
-       ;    dx = dy = 0 }
-       lda     #$00
-       sta     DX
-       sta     DY
-
-       ; ny = - ny
-:      lda     NY
-       ldy     NY+1
-       jsr     neg
-       sta     NY
-       sty     NY+1
-
-       ; for (count = nx; count > 0; --count) {
-       lda     NX
-       ldx     NX+1
-       sta     COUNT
-       stx     COUNT+1
-for:   lda     COUNT           ; count > 0
-       ora     COUNT+1
-       bne     :+
-       rts
-
-       ;    setpixel (X1, Y1)
-:      jsr     SETPIXEL
-
-       ;    pb = err + ny
-       clc
-       lda     ERR
-       adc     NY
-       sta     PB
-       lda     ERR+1
-       adc     NY+1
-       sta     PB+1
-       tax
-
-       ;    ub = pb + nx
-       clc
-       lda     PB
-       adc     NX
-       sta     UB
-       txa
-       adc     NX+1
-       sta     UB+1
-
-       ;    x1 = x1 + dx
-       ldx     #$00
-       lda     DX
-       bpl     :+
-       dex
-:      clc
-       adc     X1
-       sta     X1
-       txa
-       adc     X1+1
-       sta     X1+1
-
-       ;    y1 = y1 + ay
-       ldx     #$00
-       lda     AY
-       bpl     :+
-       dex
-:      clc
-       adc     Y1
-       sta     Y1
-       txa
-       adc     Y1+1
-       sta     Y1+1
-
-       ;    if (abs (pb) < abs (ub)) {
-       lda     PB
-       ldy     PB+1
-       jsr     abs
-       sta     TEMP3
-       sty     TEMP4
-       lda     UB
-       ldy     UB+1
-       jsr     abs
-       ldx     #TEMP3
-       jsr     icmp
-       bpl     :+
-
-       ;       err = pb }
-       lda     PB
-       ldx     PB+1
-       jmp     next
-
-       ;    else { x1 = x1 + ax
-:      ldx     #$00
-       lda     AX
-       bpl     :+
-       dex
-:      clc
-       adc     X1
-       sta     X1
-       txa
-       adc     X1+1
-       sta     X1+1
-
-       ;       y1 = y1 + dy
-       ldx     #$00
-       lda     DY
-       bpl     :+
-       dex
-:      clc
-       adc     Y1
-       sta     Y1
-       txa
-       adc     Y1+1
-       sta     Y1+1
-
-       ;       err = ub }
-       lda     UB
-       ldx     UB+1
-next:  sta     ERR
-       stx     ERR+1
-
-       ; } (--count)
-       lda     COUNT
-       sec
-       sbc     #$01
-       sta     COUNT
-       bcc     :+
-       jmp     for
-:      dec     COUNT+1
-       jmp     for
+        .code
+
+        ; nx = abs (x2 - x1)
+        sec
+        lda     X2
+        sbc     X1
+        sta     NX
+        lda     X2+1
+        sbc     X1+1
+        tay
+        lda     NX
+        jsr     abs
+        sta     NX
+        sty     NX+1
+
+        ; ny = abs (y2 - y1)
+        sec
+        lda     Y2
+        sbc     Y1
+        sta     NY
+        lda     Y2+1
+        sbc     Y1+1
+        tay
+        lda     NY
+        jsr     abs
+        sta     NY
+        sty     NY+1
+
+        ; if (x2 >= x1)
+        ldx     #X2
+        lda     X1
+        ldy     X1+1
+        jsr     icmp
+        bcc     :+
+
+        ;    dx = 1
+        lda     #$01
+        bne     :++
+
+        ; else
+        ;    dx = -1
+:       lda     #$FF
+:       sta     DX
+
+        ; if (y2 >= y1)
+        ldx     #Y2
+        lda     Y1
+        ldy     Y1+1
+        jsr     icmp
+        bcc     :+
+
+        ;    dy = 1
+        lda     #$01
+        bne     :++
+
+        ; else
+        ;    dy = -1
+:       lda     #$FF
+:       sta     DY
+
+        ; err = ax = ay = 0
+        lda     #$00
+        sta     ERR
+        sta     ERR+1
+        sta     AX
+        sta     AY
+
+        ; if (nx < ny) {
+        ldx     #NX
+        lda     NY
+        ldy     NY+1
+        jsr     icmp
+        bcs     :+
+
+        ;    nx <-> ny
+        lda     NX
+        ldx     NY
+        sta     NY
+        stx     NX
+        lda     NX+1
+        ldx     NY+1
+        sta     NY+1
+        stx     NX+1
+
+        ;    ax = dx
+        lda     DX
+        sta     AX
+
+        ;    ay = dy
+        lda     DY
+        sta     AY
+
+        ;    dx = dy = 0 }
+        lda     #$00
+        sta     DX
+        sta     DY
+
+        ; ny = - ny
+:       lda     NY
+        ldy     NY+1
+        jsr     neg
+        sta     NY
+        sty     NY+1
+
+        ; for (count = nx; count > 0; --count) {
+        lda     NX
+        ldx     NX+1
+        sta     COUNT
+        stx     COUNT+1
+for:    lda     COUNT           ; count > 0
+        ora     COUNT+1
+        bne     :+
+        rts
+
+        ;    setpixel (X1, Y1)
+:       jsr     SETPIXEL
+
+        ;    pb = err + ny
+        clc
+        lda     ERR
+        adc     NY
+        sta     PB
+        lda     ERR+1
+        adc     NY+1
+        sta     PB+1
+        tax
+
+        ;    ub = pb + nx
+        clc
+        lda     PB
+        adc     NX
+        sta     UB
+        txa
+        adc     NX+1
+        sta     UB+1
+
+        ;    x1 = x1 + dx
+        ldx     #$00
+        lda     DX
+        bpl     :+
+        dex
+:       clc
+        adc     X1
+        sta     X1
+        txa
+        adc     X1+1
+        sta     X1+1
+
+        ;    y1 = y1 + ay
+        ldx     #$00
+        lda     AY
+        bpl     :+
+        dex
+:       clc
+        adc     Y1
+        sta     Y1
+        txa
+        adc     Y1+1
+        sta     Y1+1
+
+        ;    if (abs (pb) < abs (ub)) {
+        lda     PB
+        ldy     PB+1
+        jsr     abs
+        sta     TEMP3
+        sty     TEMP4
+        lda     UB
+        ldy     UB+1
+        jsr     abs
+        ldx     #TEMP3
+        jsr     icmp
+        bpl     :+
+
+        ;       err = pb }
+        lda     PB
+        ldx     PB+1
+        jmp     next
+
+        ;    else { x1 = x1 + ax
+:       ldx     #$00
+        lda     AX
+        bpl     :+
+        dex
+:       clc
+        adc     X1
+        sta     X1
+        txa
+        adc     X1+1
+        sta     X1+1
+
+        ;       y1 = y1 + dy
+        ldx     #$00
+        lda     DY
+        bpl     :+
+        dex
+:       clc
+        adc     Y1
+        sta     Y1
+        txa
+        adc     Y1+1
+        sta     Y1+1
+
+        ;       err = ub }
+        lda     UB
+        ldx     UB+1
+next:   sta     ERR
+        stx     ERR+1
+
+        ; } (--count)
+        lda     COUNT
+        sec
+        sbc     #$01
+        sta     COUNT
+        bcc     :+
+        jmp     for
+:       dec     COUNT+1
+        jmp     for
 
 
 ; Copies of some runtime routines
 
 abs:
-       ; A/Y := abs (A/Y)
-       cpy     #$00
-       bpl     :+
-       
-       ; A/Y := neg (A/Y)
-neg:   clc
-       eor     #$FF
-       adc     #$01
-       pha
-       tya
-       eor     #$FF
-       adc     #$00
-       tay
-       pla
-:      rts
+        ; A/Y := abs (A/Y)
+        cpy     #$00
+        bpl     :+
+        
+        ; A/Y := neg (A/Y)
+neg:    clc
+        eor     #$FF
+        adc     #$01
+        pha
+        tya
+        eor     #$FF
+        adc     #$00
+        tay
+        pla
+:       rts
 
 icmp:
-       ; Compare A/Y to zp,X
-       sta     TEMP1           ; TEMP1/TEMP2 - arg2
-       sty     TEMP2
-       lda     $00,x
-       pha
-       lda     $01,x
-       tay
-       pla
-       tax
-       tya                     ; X/A - arg1 (a = high)
-
-       sec
-       sbc     TEMP2
-       bne     :++
-       cpx     TEMP1
-       beq     :+
-       adc     #$FF
-       ora     #$01
-:      rts
-:      bvc     :+
-       eor     #$FF
-       ora     #$01
-:      rts
-
-       .endproc
+        ; Compare A/Y to zp,X
+        sta     TEMP1           ; TEMP1/TEMP2 - arg2
+        sty     TEMP2
+        lda     $00,x
+        pha
+        lda     $01,x
+        tay
+        pla
+        tax
+        tya                     ; X/A - arg1 (a = high)
+
+        sec
+        sbc     TEMP2
+        bne     :++
+        cpx     TEMP1
+        beq     :+
+        adc     #$FF
+        ora     #$01
+:       rts
+:       bvc     :+
+        eor     #$FF
+        ora     #$01
+:       rts
+
+        .endproc
index c0a746198b24f5756d9b9626d1ac10c673eaae6a..57ad4f30ff9cdc67c4c833a134e302e6f6d5e727 100644 (file)
@@ -4,7 +4,7 @@
 ; Screen size variables
 ;
 
-       .export         screensize
+        .export         screensize
         .import         SCREEN
 
 screensize      = SCREEN
index 4277336c7a95f0215e6e7f3fd76782c20f1383fd..9a5ef02e7830a2be95be122f86285f06fe9dd3f0 100644 (file)
@@ -5,65 +5,65 @@
 ; void reset_brk (void);
 ;
 
-               .export         _set_brk, _reset_brk
-       .destructor     _reset_brk
-               .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+        .export         _set_brk, _reset_brk
+        .destructor     _reset_brk
+        .export         _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 
 .bss
-_brk_a:                .res    1
-_brk_x:                .res    1
-_brk_y:                .res    1
-_brk_sr:       .res    1
-_brk_pc:       .res    2
+_brk_a:         .res    1
+_brk_x:         .res    1
+_brk_y:         .res    1
+_brk_sr:        .res    1
+_brk_pc:        .res    2
 
-oldvec:        .res    2               ; Old vector
+oldvec:         .res    2               ; Old vector
 
 
 .data
-uservec:       jmp     $FFFF           ; Patched at runtime
+uservec:        jmp     $FFFF           ; Patched at runtime
 
 
 .code
 
 ; Set the break vector
-.proc  _set_brk
+.proc   _set_brk
 
-       sta     uservec+1
-       stx     uservec+2       ; Set the user vector
+        sta     uservec+1
+        stx     uservec+2       ; Set the user vector
 
-       lda     oldvec
-       ora     oldvec+1        ; Did we save the vector already?
-               bne     L1              ; Jump if we installed the handler already
+        lda     oldvec
+        ora     oldvec+1        ; Did we save the vector already?
+        bne     L1              ; Jump if we installed the handler already
 
-       lda     BRKVec
-       sta     oldvec
-       lda     BRKVec+1
-       sta     oldvec+1        ; Save the old vector
+        lda     BRKVec
+        sta     oldvec
+        lda     BRKVec+1
+        sta     oldvec+1        ; Save the old vector
 
-L1:    lda     #<brk_handler   ; Set the break vector to our routine
-       ldx     #>brk_handler
-       sta     BRKVec
-       stx     BRKVec+1
-       rts
+L1:     lda     #<brk_handler   ; Set the break vector to our routine
+        ldx     #>brk_handler
+        sta     BRKVec
+        stx     BRKVec+1
+        rts
 
 .endproc
 
 
 ; Reset the break vector
-.proc  _reset_brk
-
-       lda     oldvec
-       ldx     oldvec+1
-       beq     @L9             ; Jump if vector not installed
-       sta     BRKVec
-       stx     BRKVec+1
-       lda     #$00
-       sta     oldvec          ; Clear the old vector
-       stx     oldvec+1
-@L9:   rts
+.proc   _reset_brk
+
+        lda     oldvec
+        ldx     oldvec+1
+        beq     @L9             ; Jump if vector not installed
+        sta     BRKVec
+        stx     BRKVec+1
+        lda     #$00
+        sta     oldvec          ; Clear the old vector
+        stx     oldvec+1
+@L9:    rts
 
 .endproc
 
@@ -71,37 +71,37 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 
 ; Break handler, called if a break occurs
 
-.proc  brk_handler
-
-       pla
-       sta     _brk_y
-       pla
-       sta     _brk_x
-       pla
-       sta     _brk_a
-       pla
-       and     #$EF            ; Clear break bit
-       sta     _brk_sr
-       pla                     ; PC low
-       sec
-       sbc     #2              ; Point to start of brk
-       sta     _brk_pc
-       pla                     ; PC high
-       sbc     #0
-       sta     _brk_pc+1
-
-       jsr     uservec         ; Call the user's routine
-
-       lda     _brk_pc+1
-       pha
-       lda     _brk_pc
-       pha
-       lda     _brk_sr
-       pha
-       ldx     _brk_x
-       ldy     _brk_y
-       lda     _brk_a
-       rti                     ; Jump back...
+.proc   brk_handler
+
+        pla
+        sta     _brk_y
+        pla
+        sta     _brk_x
+        pla
+        sta     _brk_a
+        pla
+        and     #$EF            ; Clear break bit
+        sta     _brk_sr
+        pla                     ; PC low
+        sec
+        sbc     #2              ; Point to start of brk
+        sta     _brk_pc
+        pla                     ; PC high
+        sbc     #0
+        sta     _brk_pc+1
+
+        jsr     uservec         ; Call the user's routine
+
+        lda     _brk_pc+1
+        pha
+        lda     _brk_pc
+        pha
+        lda     _brk_sr
+        pha
+        ldx     _brk_x
+        ldy     _brk_y
+        lda     _brk_a
+        rti                     ; Jump back...
 
 .endproc
 
index 2af2dd7f360ce35a8358c88e3b934530b2f90428..4d3a30ea2ad05359f2ceb1504bcfbc2c235780a1 100644 (file)
@@ -4,58 +4,58 @@
 ; char cgetc (void);
 ;
 
-       .export         _cgetc
-       .import         cursor
+        .export         _cgetc
+        .import         cursor
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
-_cgetc:        lda     KEY_COUNT       ; Get number of characters
-               bne     L3              ; Jump if there are already chars waiting
+_cgetc: lda     KEY_COUNT       ; Get number of characters
+        bne     L3              ; Jump if there are already chars waiting
 
 ; Switch on the cursor if needed
 
-       lda     CURS_FLAG
-       pha
-       lda     cursor
-       jsr     setcursor
-L1:    lda     KEY_COUNT
-       beq     L1
-       ldx     #0
-       pla
-       bne     L2
-               inx
-L2:            txa
-               jsr     setcursor
+        lda     CURS_FLAG
+        pha
+        lda     cursor
+        jsr     setcursor
+L1:     lda     KEY_COUNT
+        beq     L1
+        ldx     #0
+        pla
+        bne     L2
+        inx
+L2:     txa
+        jsr     setcursor
 
-L3:            jsr     KBDREAD         ; Read char and return in A
-       ldx     #0
-       rts
+L3:     jsr     KBDREAD         ; Read char and return in A
+        ldx     #0
+        rts
 
 
 ; Switch the cursor on or off
 
-.proc  setcursor
-
-               tax                     ; On or off?
-       bne     seton           ; Go set it on
-       lda     CURS_FLAG       ; Is the cursor currently off?
-       bne     crs9            ; Jump if yes
-       lda     #1
-       sta     CURS_FLAG       ; Mark it as off
-       lda     CURS_STATE      ; Cursor currently displayed?
-       beq     crs8            ; Jump if no
-       ldy     CURS_X          ; Get the character column
-               lda     (SCREEN_PTR),y  ; Get character
-       eor     #$80
-       sta     (SCREEN_PTR),y  ; Store character back
-       lda     CURS_COLOR
-       sta     (CRAM_PTR),y    ; Store color back
-crs8:  lda     #0
-       sta     CURS_STATE      ; Cursor not displayed
-crs9:  rts
-
-seton:         lda     #0
-       sta     CURS_FLAG
-       rts
+.proc   setcursor
+
+        tax                     ; On or off?
+        bne     seton           ; Go set it on
+        lda     CURS_FLAG       ; Is the cursor currently off?
+        bne     crs9            ; Jump if yes
+        lda     #1
+        sta     CURS_FLAG       ; Mark it as off
+        lda     CURS_STATE      ; Cursor currently displayed?
+        beq     crs8            ; Jump if no
+        ldy     CURS_X          ; Get the character column
+        lda     (SCREEN_PTR),y  ; Get character
+        eor     #$80
+        sta     (SCREEN_PTR),y  ; Store character back
+        lda     CURS_COLOR
+        sta     (CRAM_PTR),y    ; Store color back
+crs8:   lda     #0
+        sta     CURS_STATE      ; Cursor not displayed
+crs9:   rts
+
+seton:  lda     #0
+        sta     CURS_FLAG
+        rts
 
 .endproc
index 046678122ef0b22b6cacf59a1b238f5cc49e6fa0..8d4994eacc1b976d5d810003c13dc823630d4665 100644 (file)
@@ -4,9 +4,9 @@
 ; void clrscr (void);
 ;
 
-       .export         _clrscr
+        .export         _clrscr
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 _clrscr = CLRSCR
 
index 4803df8247a28fa3c7082f53f34d7f657bd2f52a..fb7cf467992c755c9f972ed95eefd0d7ce3483f1 100644 (file)
@@ -8,53 +8,53 @@
 ;
 
 
-       .export         _textcolor, _bgcolor, _bordercolor
-       .importzp       tmp1
+        .export         _textcolor, _bgcolor, _bordercolor
+        .importzp       tmp1
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 
 
 .code
 
 _textcolor:
-       ldx     CHARCOLOR       ; get old value
-       sta     CHARCOLOR       ; set new value
-       txa
-       rts
+        ldx     CHARCOLOR       ; get old value
+        sta     CHARCOLOR       ; set new value
+        txa
+        rts
 
 
 _bgcolor:
-       asl
-       asl
-       asl
-       asl
-       sta     tmp1
-       sei                     ; don't want anything messing around while we update
-       lda     VIC_COLOR       ; get old value
-       and     #$0F
-       tax
-       ora     tmp1
-       sta     VIC_COLOR       ; set new value
-       cli
-       txa
-       lsr
-       lsr
-       lsr
-       lsr
-       rts
+        asl
+        asl
+        asl
+        asl
+        sta     tmp1
+        sei                     ; don't want anything messing around while we update
+        lda     VIC_COLOR       ; get old value
+        and     #$0F
+        tax
+        ora     tmp1
+        sta     VIC_COLOR       ; set new value
+        cli
+        txa
+        lsr
+        lsr
+        lsr
+        lsr
+        rts
 
 
 _bordercolor:
-       and     #$07
-       sta     tmp1
-       sei                     ; don't want anything messing around while we update
-               lda     VIC_COLOR       ; get old value
-       and     #$F8
-       tax
-       ora     tmp1
-       sta     VIC_COLOR       ; set new value
-       cli
-       txa
-       rts
+        and     #$07
+        sta     tmp1
+        sei                     ; don't want anything messing around while we update
+        lda     VIC_COLOR       ; get old value
+        and     #$F8
+        tax
+        ora     tmp1
+        sta     VIC_COLOR       ; set new value
+        cli
+        txa
+        rts
 
index a5692f102e7b585923d76ec4665a3e1880fdda7c..043ac908d83aeeee4ca133c2b8c7e91f7433a71d 100644 (file)
@@ -4,7 +4,7 @@
 ; Low level stuff for screen output/console input
 ;
 
-       .exportzp       CURS_X, CURS_Y
+        .exportzp       CURS_X, CURS_Y
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
index 2dd6f00c9c60e96028773d378f6ac5a330f57eca..7a1014c1c29dcf2428a1b3d5051d8defa4faee12 100644 (file)
@@ -5,91 +5,91 @@
 ; void cputc (char c);
 ;
 
-       .export         _cputcxy, _cputc, cputdirect, putchar
-       .export         newline, plot
-       .import         popa, _gotoxy
+        .export         _cputcxy, _cputc, cputdirect, putchar
+        .export         newline, plot
+        .import         popa, _gotoxy
         .import         PLOT
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 
 _cputcxy:
-       pha                     ; Save C
-       jsr     popa            ; Get Y
-       jsr     _gotoxy         ; Set cursor, drop x
-       pla                     ; Restore C
+        pha                     ; Save C
+        jsr     popa            ; Get Y
+        jsr     _gotoxy         ; Set cursor, drop x
+        pla                     ; Restore C
 
 ; Plot a character - also used as internal function
 
-_cputc: cmp            #$0A            ; CR?
-       bne     L1
-       lda     #0
-       sta     CURS_X
-               beq     plot            ; Recalculate pointers
+_cputc: cmp     #$0A            ; CR?
+        bne     L1
+        lda     #0
+        sta     CURS_X
+        beq     plot            ; Recalculate pointers
 
-L1:    cmp     #$0D            ; LF?
-               beq     newline         ; Recalculate pointers
+L1:     cmp     #$0D            ; LF?
+        beq     newline         ; Recalculate pointers
 
 ; Printable char of some sort
 
-       cmp     #' '
-       bcc     cputdirect      ; Other control char
-       tay
-       bmi     L10
-       cmp     #$60
-       bcc     L2
-       and     #$DF
-       bne     cputdirect      ; Branch always
-L2:    and     #$3F
+        cmp     #' '
+        bcc     cputdirect      ; Other control char
+        tay
+        bmi     L10
+        cmp     #$60
+        bcc     L2
+        and     #$DF
+        bne     cputdirect      ; Branch always
+L2:     and     #$3F
 
 cputdirect:
-       jsr     putchar         ; Write the character to the screen
+        jsr     putchar         ; Write the character to the screen
 
 ; Advance cursor position
 
 advance:
-       iny
-       cpy     #XSIZE
-       bne     L3
-       jsr     newline         ; new line
-       ldy     #0              ; + cr
-L3:    sty     CURS_X
-       rts
+        iny
+        cpy     #XSIZE
+        bne     L3
+        jsr     newline         ; new line
+        ldy     #0              ; + cr
+L3:     sty     CURS_X
+        rts
 
 newline:
-       clc
-       lda     #XSIZE
-       adc     SCREEN_PTR
-       sta     SCREEN_PTR
-       bcc     L4
-       inc     SCREEN_PTR+1
-       clc
-L4:    lda     #XSIZE
-       adc     CRAM_PTR
-       sta     CRAM_PTR
-       bcc     L5
-       inc     CRAM_PTR+1
-L5:    inc     CURS_Y
-       rts
+        clc
+        lda     #XSIZE
+        adc     SCREEN_PTR
+        sta     SCREEN_PTR
+        bcc     L4
+        inc     SCREEN_PTR+1
+        clc
+L4:     lda     #XSIZE
+        adc     CRAM_PTR
+        sta     CRAM_PTR
+        bcc     L5
+        inc     CRAM_PTR+1
+L5:     inc     CURS_Y
+        rts
 
 ; Handle character if high bit set
 
-L10:   and     #$7F
-               cmp     #$7E            ; PI?
-       bne     L11
-       lda     #$5E            ; Load screen code for PI
-       bne     cputdirect
-L11:   ora     #$40
-       bne     cputdirect
+L10:    and     #$7F
+        cmp     #$7E            ; PI?
+        bne     L11
+        lda     #$5E            ; Load screen code for PI
+        bne     cputdirect
+L11:    ora     #$40
+        bne     cputdirect
 
 
 
 ; Set cursor position, calculate RAM pointers
 
-plot:  ldy     CURS_X
-       ldx     CURS_Y
-       clc
-       jmp     PLOT            ; Set the new cursor
+plot:   ldy     CURS_X
+        ldx     CURS_Y
+        clc
+        jmp     PLOT            ; Set the new cursor
 
 
 
@@ -97,9 +97,9 @@ plot: ldy     CURS_X
 ; position in Y
 
 putchar:
-       ora     RVS             ; Set revers bit
-               ldy     CURS_X
-       sta     (SCREEN_PTR),y  ; Set char
-       lda     CHARCOLOR
-       sta     (CRAM_PTR),y    ; Set color
-       rts
+        ora     RVS             ; Set revers bit
+        ldy     CURS_X
+        sta     (SCREEN_PTR),y  ; Set char
+        lda     CHARCOLOR
+        sta     (CRAM_PTR),y    ; Set color
+        rts
index 24b879e238cc7a90a6076fe89ca72aa8161ceb00..dae6424dd02567a3da1cb3d01d3c834e92db163a 100644 (file)
@@ -2,96 +2,96 @@
 ; Startup code for cc65 (Vic20 version)
 ;
 
-       .export         _exit
-       .export         __STARTUP__ : absolute = 1      ; Mark as startup
-       .import         initlib, donelib
-       .import         zerobss, push0
-       .import         callmain
-       .import         RESTOR, BSOUT, CLRCH
-       .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
-       .import         __STACKSIZE__                   ; Linker generated
-       .importzp       ST
-
-       .include        "zeropage.inc"
-       .include        "vic20.inc"
+        .export         _exit
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+        .import         initlib, donelib
+        .import         zerobss, push0
+        .import         callmain
+        .import         RESTOR, BSOUT, CLRCH
+        .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
+        .import         __STACKSIZE__                   ; Linker generated
+        .importzp       ST
+
+        .include        "zeropage.inc"
+        .include        "vic20.inc"
 
 ; ------------------------------------------------------------------------
 ; Startup code
 
-.segment       "STARTUP"
+.segment        "STARTUP"
 
 Start:
 
 ; Save the zero page locations we need
 
-       ldx     #zpspace-1
-L1:    lda     sp,x
-       sta     zpsave,x
-       dex
-       bpl     L1
+        ldx     #zpspace-1
+L1:     lda     sp,x
+        sta     zpsave,x
+        dex
+        bpl     L1
 
 ; Switch to second charset
 
-       lda     #14
-       jsr     BSOUT
+        lda     #14
+        jsr     BSOUT
 
 ; Clear the BSS data
 
-       jsr     zerobss
+        jsr     zerobss
 
 ; Save system stuff and setup the stack
 
-       tsx
-       stx     spsave          ; Save the system stack ptr
+        tsx
+        stx     spsave          ; Save the system stack ptr
 
-       lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp
-       lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
-       sta     sp+1            ; Set argument stack ptr
+        lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp
+        lda     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
+        sta     sp+1            ; Set argument stack ptr
 
 ; Call module constructors
 
-       jsr     initlib
+        jsr     initlib
 
 ; Push arguments and call main()
 
-       jsr     callmain
+        jsr     callmain
 
 ; Back from main (This is also the _exit entry). Run module destructors
 
-_exit: pha                     ; Save the return code on stack
-       jsr     donelib
+_exit:  pha                     ; Save the return code on stack
+        jsr     donelib
 
 ; Copy back the zero page stuff
 
-       ldx     #zpspace-1
-L2:    lda     zpsave,x
-       sta     sp,x
-       dex
-       bpl     L2
+        ldx     #zpspace-1
+L2:     lda     zpsave,x
+        sta     sp,x
+        dex
+        bpl     L2
 
 ; Place the program return code into ST
 
-       pla
-       sta     ST
+        pla
+        sta     ST
 
 ; Restore the stack pointer
 
-       ldx     spsave
-       txs
+        ldx     spsave
+        txs
 
 ; Back to basic
 
-       rts
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "ZPSAVE"
+.segment        "ZPSAVE"
 
-zpsave:        .res    zpspace
+zpsave: .res    zpspace
 
 ; ------------------------------------------------------------------------
 
 .bss
 
-spsave:        .res    1
+spsave: .res    1
index 23a9c3808479250df26f47dbf8dbd6deb614465e..663db5aa47d0e9f561dc2a576293c5968fdeebde 100644 (file)
@@ -2,6 +2,6 @@
 ; Oliver Schmidt, 2010-02-14
 ;
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
-       .exportzp       devnum := DEVNUM
+        .exportzp       devnum := DEVNUM
index df75814d9bb23e010cd4de27f23ab3b15ec2d525..7182c0df770d6a3a832839e07074568db3b2dca3 100644 (file)
@@ -6,26 +6,26 @@
 ; /* Return the video mode the machine is using */
 ;
 
-       .include        "vic20.inc"
-       .include        "get_tv.inc"
+        .include        "vic20.inc"
+        .include        "get_tv.inc"
 
 ;--------------------------------------------------------------------------
 ; _get_tv
 
-.proc  _get_tv
+.proc   _get_tv
 
 NTSC_LINES = 261
-       ; detect the system
-       lda     #TV::NTSC
-       tax
-@L0:   ldy     VIC_HLINE
-       cpy     #1
-       bne     @L0             ; wait for line 1
-@L1:   ldy     VIC_HLINE
-       beq     @L2             ; line 0 reached -> NTSC
-       cpy     #NTSC_LINES/2+2
-       bne     @L1
-       lda     #TV::PAL
-@L2:   rts                     ; system detected: 0 for NTSC, 1 for PAL
+        ; detect the system
+        lda     #TV::NTSC
+        tax
+@L0:    ldy     VIC_HLINE
+        cpy     #1
+        bne     @L0             ; wait for line 1
+@L1:    ldy     VIC_HLINE
+        beq     @L2             ; line 0 reached -> NTSC
+        cpy     #NTSC_LINES/2+2
+        bne     @L1
+        lda     #TV::PAL
+@L2:    rts                     ; system detected: 0 for NTSC, 1 for PAL
 
 .endproc
index 6e5099e4a928ba6b771271aee5e27796a3658646..ca47347f8da98465249412b3dbdd8b727b109809 100644 (file)
@@ -2,48 +2,48 @@
 ; IRQ handling (Vic20 version)
 ;
 
-       .export         initirq, doneirq
-       .import         callirq
+        .export         initirq, doneirq
+        .import         callirq
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 ; ------------------------------------------------------------------------
 
-.segment       "INIT"
+.segment        "INIT"
 
 initirq:
-       lda     IRQVec
-       ldx     IRQVec+1
-       sta     IRQInd+1
-       stx     IRQInd+2
-       lda     #<IRQStub
-       ldx     #>IRQStub
-       jmp     setvec
+        lda     IRQVec
+        ldx     IRQVec+1
+        sta     IRQInd+1
+        stx     IRQInd+2
+        lda     #<IRQStub
+        ldx     #>IRQStub
+        jmp     setvec
 
 ; ------------------------------------------------------------------------
 
 .code
 
 doneirq:
-       lda     IRQInd+1
-       ldx     IRQInd+2
-setvec:        sei
-       sta     IRQVec
-       stx     IRQVec+1
-       cli
-       rts
+        lda     IRQInd+1
+        ldx     IRQInd+2
+setvec: sei
+        sta     IRQVec
+        stx     IRQVec+1
+        cli
+        rts
 
 ; ------------------------------------------------------------------------
 
-.segment       "LOWCODE"
+.segment        "LOWCODE"
 
 IRQStub:
-       cld                             ; Just to be sure
-       jsr     callirq                 ; Call the functions
-       jmp     IRQInd                  ; Jump to the saved IRQ vector
+        cld                             ; Just to be sure
+        jsr     callirq                 ; Call the functions
+        jmp     IRQInd                  ; Jump to the saved IRQ vector
 
 ; ------------------------------------------------------------------------
 
 .data
 
-IRQInd:        jmp     $0000
+IRQInd: jmp     $0000
index b8c08c67d9c619728f7c27caa953428491e888e2..fabb802f61282cfd732048869535d400e2246721 100644 (file)
@@ -7,46 +7,46 @@
 ; Using code from Steve Schmidtke
 ;
 
-       .include "zeropage.inc"
+        .include "zeropage.inc"
 
-       .include "joy-kernel.inc"
-       .include "joy-error.inc"
-       .include "vic20.inc"
+        .include "joy-kernel.inc"
+        .include "joy-error.inc"
+        .include "vic20.inc"
 
 ; ------------------------------------------------------------------------
 ; Header. Includes jump table
 
-       .segment "JUMPTABLE"
+        .segment "JUMPTABLE"
 
 ; Driver signature
 
-       .byte   $6A, $6F, $79   ; "joy"
-       .byte   JOY_API_VERSION ; Driver API version number
+        .byte   $6A, $6F, $79   ; "joy"
+        .byte   JOY_API_VERSION ; Driver API version number
 
 ; Button state masks (8 values)
 
-       .byte   $01                     ; JOY_UP
-       .byte   $02                     ; JOY_DOWN
-       .byte   $04                     ; JOY_LEFT
-       .byte   $08                     ; JOY_RIGHT
-       .byte   $10                     ; JOY_FIRE
-       .byte   $00                     ; JOY_FIRE2 unavailable
-       .byte   $00                     ; Future expansion
-       .byte   $00                     ; Future expansion
+        .byte   $01                     ; JOY_UP
+        .byte   $02                     ; JOY_DOWN
+        .byte   $04                     ; JOY_LEFT
+        .byte   $08                     ; JOY_RIGHT
+        .byte   $10                     ; JOY_FIRE
+        .byte   $00                     ; JOY_FIRE2 unavailable
+        .byte   $00                     ; Future expansion
+        .byte   $00                     ; Future expansion
 
 ; Jump table.
 
-       .addr   INSTALL
-       .addr   UNINSTALL
-       .addr   COUNT
-       .addr   READ
-       .addr   0                       ; IRQ entry unused
+        .addr   INSTALL
+        .addr   UNINSTALL
+        .addr   COUNT
+        .addr   READ
+        .addr   0                       ; IRQ entry unused
 
 ; ------------------------------------------------------------------------
 ; Constants
 
-VIA1_PRB               := VIA1         ; User port register
-JOY_COUNT      = 3             ; Number of joysticks we support
+VIA1_PRB        := VIA1         ; User port register
+JOY_COUNT       = 3             ; Number of joysticks we support
 
 
 .code
@@ -59,9 +59,9 @@ JOY_COUNT     = 3             ; Number of joysticks we support
 ;
 
 INSTALL:
-       lda     #<JOY_ERR_OK
-       ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+        lda     #<JOY_ERR_OK
+        ldx     #>JOY_ERR_OK
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -69,7 +69,7 @@ INSTALL:
 ;
 
 UNINSTALL:
-       rts
+        rts
 
 
 ; ------------------------------------------------------------------------
@@ -77,72 +77,72 @@ UNINSTALL:
 ;
 
 COUNT:
-       lda     #<JOY_COUNT
-       ldx     #>JOY_COUNT
-       rts
+        lda     #<JOY_COUNT
+        ldx     #>JOY_COUNT
+        rts
 
 ; ------------------------------------------------------------------------
 ; READ: Read a particular joystick passed in A.
 ;
 
-READ:  tax                     ; Joystick number into X
-       bne     joy2
+READ:   tax                     ; Joystick number into X
+        bne     joy2
 
 ; Read joystick 1
 
-joy1:  lda     #$7F            ; mask for VIA2 JOYBIT: sw3
-       ldx     #$C3            ; mask for VIA1 JOYBITS: sw0,sw1,sw2,sw4
-       sei                     ; necessary?
+joy1:   lda     #$7F            ; mask for VIA2 JOYBIT: sw3
+        ldx     #$C3            ; mask for VIA1 JOYBITS: sw0,sw1,sw2,sw4
+        sei                     ; necessary?
 
-       ldy     VIA2_DDRB       ; remember the date of DDRB
-       sta     VIA2_DDRB       ; set JOYBITS on this VIA for input
-       lda     VIA2_JOY        ; read JOYBIT: sw3
-       sty     VIA2_DDRB       ; restore the state of DDRB
-       asl                     ; Shift sw3 into carry
+        ldy     VIA2_DDRB       ; remember the date of DDRB
+        sta     VIA2_DDRB       ; set JOYBITS on this VIA for input
+        lda     VIA2_JOY        ; read JOYBIT: sw3
+        sty     VIA2_DDRB       ; restore the state of DDRB
+        asl                     ; Shift sw3 into carry
 
-       ldy     VIA1_DDRA       ; remember the state of DDRA
-       stx     VIA1_DDRA       ; set JOYBITS on this VIA for input
-       lda     VIA1_JOY        ; read JOYBITS: sw0,sw1,sw2,sw4
-       sty     VIA1_DDRA       ; restore the state of DDRA
+        ldy     VIA1_DDRA       ; remember the state of DDRA
+        stx     VIA1_DDRA       ; set JOYBITS on this VIA for input
+        lda     VIA1_JOY        ; read JOYBITS: sw0,sw1,sw2,sw4
+        sty     VIA1_DDRA       ; restore the state of DDRA
 
-       cli                     ; necessary?
-       ror                     ; Shift sw3 into bit 7
-       and     #$9E            ; Mask relevant bits
-       eor     #$9E            ; Active states are inverted
+        cli                     ; necessary?
+        ror                     ; Shift sw3 into bit 7
+        and     #$9E            ; Mask relevant bits
+        eor     #$9E            ; Active states are inverted
 
-       rts
+        rts
 
 ; Read joystick 2
 
-joy2:  lda     #%10000000      ; via port B Data-Direction
-       sta     VIA1_DDRB       ; bit 7: out    bit 6-0: in
+joy2:   lda     #%10000000      ; via port B Data-Direction
+        sta     VIA1_DDRB       ; bit 7: out    bit 6-0: in
 
-       dex
-       bne     joy3
+        dex
+        bne     joy3
 
-       lda     #$80            ; via port B read/write
-       sta     VIA1_PRB        ; (output one at PB7)
+        lda     #$80            ; via port B read/write
+        sta     VIA1_PRB        ; (output one at PB7)
 
-       lda     VIA1_PRB        ; via port B read/write
-       and     #$1f            ; get bit 4-0 (PB4-PB0)
-       eor     #$1f
-       rts
+        lda     VIA1_PRB        ; via port B read/write
+        and     #$1f            ; get bit 4-0 (PB4-PB0)
+        eor     #$1f
+        rts
 
 ; Read joystick 3
 
-joy3:  lda     #$00            ; via port B read/write
-       sta     VIA1_PRB        ; (output zero at PB7)
+joy3:   lda     #$00            ; via port B read/write
+        sta     VIA1_PRB        ; (output zero at PB7)
 
-       lda     VIA1_PRB        ; via port B read/write
-       and     #$0f            ; get bit 3-0 (PB3-PB0)
-       sta     tmp1            ; joy 4 directions
+        lda     VIA1_PRB        ; via port B read/write
+        and     #$0f            ; get bit 3-0 (PB3-PB0)
+        sta     tmp1            ; joy 4 directions
 
-       lda     VIA1_PRB        ; via port B read/write
-       and     #%00100000      ; get bit 5 (PB5)
-       lsr
-       ora     tmp1
-       eor     #$1f
+        lda     VIA1_PRB        ; via port B read/write
+        and     #%00100000      ; get bit 5 (PB5)
+        lsr
+        ora     tmp1
+        eor     #$1f
 
-       ldx     #0
-       rts
+        ldx     #0
+        rts
 
index e352950cf37e3de3ad58dc9f95259bba81138afb..e49cd38f4f925ff5921f0246467eff723abed9a6 100644 (file)
@@ -6,9 +6,9 @@
 ; Using code from Steve Schmidtke
 ;
 
-       .include        "zeropage.inc"
+        .include        "zeropage.inc"
 
-       .include        "joy-kernel.inc"
+        .include        "joy-kernel.inc"
         .include        "joy-error.inc"
         .include        "vic20.inc"
 
@@ -22,7 +22,7 @@
 
 ; Driver signature
 
-        .byte   $6A, $6F, $79          ; "joy"
+        .byte   $6A, $6F, $79           ; "joy"
         .byte   JOY_API_VERSION         ; Driver API version number
 
 ; Button state masks (8 values)
@@ -66,7 +66,7 @@ JOY_COUNT       = 1             ; Number of joysticks we support
 INSTALL:
         lda     #<JOY_ERR_OK
         ldx     #>JOY_ERR_OK
-;      rts                     ; Run into UNINSTALL instead
+;       rts                     ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
@@ -91,7 +91,7 @@ COUNT:
 ; The current implemenation will ignore the joystick number because we do only
 ; have one joystick
 
-READ:  lda     #$7F            ; mask for VIA2 JOYBIT: sw3
+READ:   lda     #$7F            ; mask for VIA2 JOYBIT: sw3
         ldx     #$C3            ; mask for VIA1 JOYBITS: sw0,sw1,sw2,sw4
         sei                     ; necessary?
 
index 12c2f62347839c5ceef76ecd87341152e37faf61..04f790947f9237167e192faa2ca4b95d31edfb78 100644 (file)
@@ -6,8 +6,8 @@
 ; const void joy_static_stddrv[];
 ;
 
-        .export        _joy_static_stddrv
-        .import        _vic20_stdjoy_joy
+        .export _joy_static_stddrv
+        .import _vic20_stdjoy_joy
 
 .rodata
 
index 07241ae5253dd2d8532fd968cf1901a4f1805c2d..cd3536084ecb1a202cf0f13cabdb66dcbc31b956 100644 (file)
@@ -6,9 +6,9 @@
 ; const char joy_stddrv[];
 ;
 
-       .export _joy_stddrv
+        .export _joy_stddrv
 
 .rodata
 
-_joy_stddrv:   .asciiz "vic20-stdjoy.joy"
+_joy_stddrv:    .asciiz "vic20-stdjoy.joy"
 
index 713646776838bc0e109349697a57aa3b47240e0f..d2e7e81a0482f2f9cfb5d969ab837c5e5582602e 100644 (file)
@@ -4,15 +4,15 @@
 ; unsigned char kbhit (void);
 ;
 
-       .export         _kbhit
+        .export         _kbhit
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 
 .proc   _kbhit
 
         ldx     #0              ; High byte of return is always zero
-       lda     KEY_COUNT       ; Get number of characters
+        lda     KEY_COUNT       ; Get number of characters
         beq     L9
         lda     #1
 L9:     rts
index ca1bac5bc4345414ed8c10f1fd7c7f68d104dca3..35bedb4661946a2f442016cd77c86cefc7c51fe2 100644 (file)
 ;-----------------------------------------------------------------------------
 ; All functions are available in the kernal jump table
 
-CINT           = $FF81
-IOINIT         = $FF84
-RAMTAS         = $FF87
-RESTOR         = $FF8A
-VECTOR         = $FF8D
-SETMSG         = $FF90
-SECOND         = $FF93
-TKSA           = $FF96
-MEMTOP         = $FF99
-MEMBOT         = $FF9C
-SCNKEY         = $FF9F
-SETTMO         = $FFA2
-ACPTR          = $FFA5
-CIOUT          = $FFA8
-UNTLK          = $FFAB
-UNLSN          = $FFAE
-LISTEN         = $FFB1
-TALK           = $FFB4
-READST         = $FFB7
-SETLFS         = $FFBA
-SETNAM         = $FFBD
-OPEN           = $FFC0
-CLOSE          = $FFC3
-CHKIN          = $FFC6
-CKOUT          = $FFC9
-CLRCH          = $FFCC
-BASIN          = $FFCF
-BSOUT          = $FFD2
-LOAD           = $FFD5
-SAVE           = $FFD8
-SETTIM         = $FFDB
-RDTIM          = $FFDE
-STOP           = $FFE1
-GETIN          = $FFE4
-CLALL          = $FFE7
-UDTIM          = $FFEA
-SCREEN         = $FFED
-IOBASE         = $FFF3
+CINT            = $FF81
+IOINIT          = $FF84
+RAMTAS          = $FF87
+RESTOR          = $FF8A
+VECTOR          = $FF8D
+SETMSG          = $FF90
+SECOND          = $FF93
+TKSA            = $FF96
+MEMTOP          = $FF99
+MEMBOT          = $FF9C
+SCNKEY          = $FF9F
+SETTMO          = $FFA2
+ACPTR           = $FFA5
+CIOUT           = $FFA8
+UNTLK           = $FFAB
+UNLSN           = $FFAE
+LISTEN          = $FFB1
+TALK            = $FFB4
+READST          = $FFB7
+SETLFS          = $FFBA
+SETNAM          = $FFBD
+OPEN            = $FFC0
+CLOSE           = $FFC3
+CHKIN           = $FFC6
+CKOUT           = $FFC9
+CLRCH           = $FFCC
+BASIN           = $FFCF
+BSOUT           = $FFD2
+LOAD            = $FFD5
+SAVE            = $FFD8
+SETTIM          = $FFDB
+RDTIM           = $FFDE
+STOP            = $FFE1
+GETIN           = $FFE4
+CLALL           = $FFE7
+UDTIM           = $FFEA
+SCREEN          = $FFED
+IOBASE          = $FFF3
 
index 3cc1dc2862ed4df50dc4be0a4e5b4c07a69fed19..eda8f4f85749f79344ccea26ab4199568077e9ec 100644 (file)
 ; - The "file-name" might be a path-name; don't copy the directory-components.
 ; - Add a control-character quoting mechanism.
 
-       .constructor    initmainargs, 24
-       .import         __argc, __argv
+        .constructor    initmainargs, 24
+        .import         __argc, __argv
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 
 
-MAXARGS         = 10                   ; Maximum number of arguments allowed
-REM     = $8f                  ; BASIC token-code
-NAME_LEN = 16                  ; maximum length of command-name
+MAXARGS  = 10                   ; Maximum number of arguments allowed
+REM      = $8f                  ; BASIC token-code
+NAME_LEN = 16                   ; maximum length of command-name
 
 ; Get possible command-line arguments. Goes into the special INIT segment,
 ; which may be reused after the startup code is run
@@ -45,25 +45,25 @@ initmainargs:
 ; Because the buffer, that we're copying into, was zeroed out,
 ; we don't need to add a NUL character.
 ;
-       ldy     FNAM_LEN
-       cpy     #NAME_LEN + 1
-       bcc     L1
-       ldy     #NAME_LEN - 1   ; limit the length
-L0:    lda     (FNAM),y
-       sta     name,y
-L1:    dey
-       bpl     L0
-       inc     __argc          ; argc always is equal to, at least, 1
+        ldy     FNAM_LEN
+        cpy     #NAME_LEN + 1
+        bcc     L1
+        ldy     #NAME_LEN - 1   ; limit the length
+L0:     lda     (FNAM),y
+        sta     name,y
+L1:     dey
+        bpl     L0
+        inc     __argc          ; argc always is equal to, at least, 1
 
 ; Find the "rem" token.
 ;
-       ldx     #0
-L2:    lda     BASIC_BUF,x
-               beq     done            ; no "rem," no args.
-       inx
-       cmp     #REM
-       bne     L2
-       ldy     #1 * 2
+        ldx     #0
+L2:     lda     BASIC_BUF,x
+        beq     done            ; no "rem," no args.
+        inx
+        cmp     #REM
+        bne     L2
+        ldy     #1 * 2
 
 ; Find the next argument
 
@@ -89,11 +89,11 @@ setterm:sta     term            ; Set end of argument marker
 ; necessary.
 
         txa                     ; Get low byte
-       sta     argv,y          ; argv[y]= &arg
-       iny
-       lda     #>BASIC_BUF
-       sta     argv,y
-       iny
+        sta     argv,y          ; argv[y]= &arg
+        iny
+        lda     #>BASIC_BUF
+        sta     argv,y
+        iny
         inc     __argc          ; Found another arg
 
 ; Search for the end of the argument
@@ -120,21 +120,21 @@ argloop:lda     BASIC_BUF,x
 
 ; (The last vector in argv[] already is NULL.)
 
-done:  lda     #<argv
-       ldx     #>argv
-       sta     __argv
-       stx     __argv + 1
-       rts
+done:   lda     #<argv
+        ldx     #>argv
+        sta     __argv
+        stx     __argv + 1
+        rts
 
 ; These arrays are zeroed before initmainargs is called.
-; char name[16+1];
+; char  name[16+1];
 ; char* argv[MAXARGS+1]={name};
 ;
 .bss
-term:  .res    1
-name:  .res    NAME_LEN + 1
+term:   .res    1
+name:   .res    NAME_LEN + 1
 
 .data
 argv:   .addr   name
-        .res           MAXARGS * 2
+        .res    MAXARGS * 2
 
index e87d4d398cdde38ef5232084830c61f4e4582b50..8a1c4eee73764e78e88e3d97901656949e630cb6 100644 (file)
@@ -5,10 +5,10 @@
 ; /* Initialize the random number generator */
 ;
 
-       .export         __randomize
-       .import         _srand
+        .export         __randomize
+        .import         _srand
 
-       .include        "vic20.inc"
+        .include        "vic20.inc"
 
 __randomize:
         lda     VIC_LINES       ; Get overflow bit
index da4d2ca116286da8ff1db5bbdc62247a3b69fc9e..b2912b8a5612737666ebce1ddab77440e9cfcfd5 100644 (file)
@@ -4,24 +4,24 @@
 ; unsigned char revers (unsigned char onoff);
 ;
 
-       .export         _revers
+        .export         _revers
 
         .include        "vic20.inc"
 
 .proc   _revers
 
-       ldx     #$00            ; Assume revers off
-       tay                     ; Test onoff
-       beq     L1              ; Jump if off
-       ldx     #$80            ; Load on value
-        ldy    #$00            ; Assume old value is zero
-L1:     lda            RVS             ; Load old value
-       stx     RVS             ; Set new value
-       beq     L2              ; Jump if old value zero
-       iny                     ; Make old value = 1
-L2:    ldx     #$00            ; Load high byte of result
-       tya                     ; Load low byte, set CC
-       rts
+        ldx     #$00            ; Assume revers off
+        tay                     ; Test onoff
+        beq     L1              ; Jump if off
+        ldx     #$80            ; Load on value
+        ldy     #$00            ; Assume old value is zero
+L1:     lda     RVS             ; Load old value
+        stx     RVS             ; Set new value
+        beq     L2              ; Jump if old value zero
+        iny                     ; Make old value = 1
+L2:     ldx     #$00            ; Load high byte of result
+        tya                     ; Load low byte, set CC
+        rts
 
 .endproc
 
index 3620c9107361a5eab3bebebab44d1a4f771b83bc..c6f27923064bfbf5160015fb10a5491fbeaf81b0 100644 (file)
@@ -2,4 +2,4 @@
 ; Oliver Schmidt, 2012-09-30
 ;
 
-       .exportzp       ST := $90       ; IEC status byte
+        .exportzp       ST := $90       ; IEC status byte
index bebe34dcfe9038062e5ea729c7ca7a816e79e627..e54e25e776ce55ff9a87895296f48547232dd07e 100644 (file)
@@ -5,81 +5,81 @@
 ;                                     unsigned len);
 ;
 
-       .export _adler32
+        .export _adler32
 
-       .import         incsp2, incsp4, popax, popeax
-       .importzp       sreg, ptr1, ptr2, tmp1
+        .import         incsp2, incsp4, popax, popeax
+        .importzp       sreg, ptr1, ptr2, tmp1
 
-BASE   =       65521   ; largest prime smaller than 65536
+BASE    =       65521   ; largest prime smaller than 65536
 
 _adler32:
 ; ptr2 = (len & 0xff) == 0 ? len : len + 0x100;
-       tay
-       beq     @L1
-       inx
-@L1:   sta     ptr2
-       stx     ptr2+1
+        tay
+        beq     @L1
+        inx
+@L1:    sta     ptr2
+        stx     ptr2+1
 ; ptr1 = buf
-       jsr     popax
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1
 ; if (buf == NULL) return 1L;
-       ora     ptr1+1
-       beq     @L0
+        ora     ptr1+1
+        beq     @L0
 ; s1 = adler & 0xFFFF; s2 = adler >> 16;
-       jsr     popeax
+        jsr     popeax
 ; if (len == 0) return adler;
-       ldy     ptr2
-       bne     @L2
-       ldy     ptr2+1
-       beq     @RET
-@L2:   ldy     #0
+        ldy     ptr2
+        bne     @L2
+        ldy     ptr2+1
+        beq     @RET
+@L2:    ldy     #0
 ; s1 += *ptr++; if (s1 >= BASE) s1 -= BASE;
-@L3:   clc
-       adc     (ptr1),y
-       bcc     @L4
-       inx
-       beq     @L5     ; C flag is set
-@L4:   cpx     #>BASE
-       bcc     @L6
-       cmp     #<BASE
-       bcc     @L6
-       inx             ; ldx #0
-@L5:   sbc     #<BASE  ; C flag is set
-       clc
-@L6:   sta     tmp1
+@L3:    clc
+        adc     (ptr1),y
+        bcc     @L4
+        inx
+        beq     @L5     ; C flag is set
+@L4:    cpx     #>BASE
+        bcc     @L6
+        cmp     #<BASE
+        bcc     @L6
+        inx             ; ldx #0
+@L5:    sbc     #<BASE  ; C flag is set
+        clc
+@L6:    sta     tmp1
 ; s2 += s1; if (s2 >= BASE) s2 -= BASE;
-       adc     sreg    ; C flag is clear
-       sta     sreg
-       txa
-       adc     sreg+1
-       sta     sreg+1
-       bcs     @L7
-       cmp     #>BASE
-       bcc     @L8
-       lda     sreg
-       cmp     #<BASE
-       bcc     @L8
-@L7:   lda     sreg
-       sbc     #<BASE  ; C flag is set
-       sta     sreg
-       lda     sreg+1
-       sbc     #>BASE
-       sta     sreg+1
-@L8:   lda     tmp1
-       iny
-       bne     @L9
-       inc     ptr1+1
-@L9:   dec     ptr2
-       bne     @L3
-       dec     ptr2+1
-       bne     @L3
+        adc     sreg    ; C flag is clear
+        sta     sreg
+        txa
+        adc     sreg+1
+        sta     sreg+1
+        bcs     @L7
+        cmp     #>BASE
+        bcc     @L8
+        lda     sreg
+        cmp     #<BASE
+        bcc     @L8
+@L7:    lda     sreg
+        sbc     #<BASE  ; C flag is set
+        sta     sreg
+        lda     sreg+1
+        sbc     #>BASE
+        sta     sreg+1
+@L8:    lda     tmp1
+        iny
+        bne     @L9
+        inc     ptr1+1
+@L9:    dec     ptr2
+        bne     @L3
+        dec     ptr2+1
+        bne     @L3
 ; return (s2 << 16) | s1;
-@RET:  rts
+@RET:   rts
 
 ; return 1L
-@L0:   sta     sreg
-       sta     sreg+1
-       lda     #1
+@L0:    sta     sreg
+        sta     sreg+1
+        lda     #1
 ; ignore adler
-       jmp     incsp4
+        jmp     incsp4
index 61f64c3cf71084ab92e60ef5390974e19c5f090d..26955dbed7257ce57da047210827bdd4b0f44e86 100644 (file)
 ;                                   unsigned len);
 ;
 
-       .export _crc32
+        .export _crc32
 
-       .import         compleax, incsp2, incsp4, popax, popeax
-       .importzp       sreg, ptr1, ptr2, tmp1, tmp2
+        .import         compleax, incsp2, incsp4, popax, popeax
+        .importzp       sreg, ptr1, ptr2, tmp1, tmp2
 
-POLYNOMIAL     =       $EDB88320
+POLYNOMIAL      =       $EDB88320
 
 make_table:
-       ldx     #0
-@L1:   lda     #0
-       sta     tmp2
-       sta     sreg
-       sta     sreg+1
-       ldy     #8
-       txa
-@L2:   sta     tmp1
-       lsr     a
-       bcc     @L3
-       lda     sreg+1
-       lsr     a
-       eor     #(POLYNOMIAL>>24)&$FF
-       sta     sreg+1
-       lda     sreg
-       ror     a
-       eor     #(POLYNOMIAL>>16)&$FF
-       sta     sreg
-       lda     tmp2
-       ror     a
-       eor     #(POLYNOMIAL>>8)&$FF
-       sta     tmp2
-       lda     tmp1
-       ror     a
-       eor     #POLYNOMIAL&$FF
-       bcs     @L4     ; branch always
-@L3:   rol     a
-       lsr     sreg+1
-       ror     sreg
-       ror     tmp2
-       ror     a
-@L4:   dey
-       bne     @L2
-       sta     table_0,x
-       lda     tmp2
-       sta     table_1,x
-       lda     sreg
-       sta     table_2,x
-       lda     sreg+1
-       sta     table_3,x
-       inx
-       bne     @L1
-       inc     table_initialised
+        ldx     #0
+@L1:    lda     #0
+        sta     tmp2
+        sta     sreg
+        sta     sreg+1
+        ldy     #8
+        txa
+@L2:    sta     tmp1
+        lsr     a
+        bcc     @L3
+        lda     sreg+1
+        lsr     a
+        eor     #(POLYNOMIAL>>24)&$FF
+        sta     sreg+1
+        lda     sreg
+        ror     a
+        eor     #(POLYNOMIAL>>16)&$FF
+        sta     sreg
+        lda     tmp2
+        ror     a
+        eor     #(POLYNOMIAL>>8)&$FF
+        sta     tmp2
+        lda     tmp1
+        ror     a
+        eor     #POLYNOMIAL&$FF
+        bcs     @L4     ; branch always
+@L3:    rol     a
+        lsr     sreg+1
+        ror     sreg
+        ror     tmp2
+        ror     a
+@L4:    dey
+        bne     @L2
+        sta     table_0,x
+        lda     tmp2
+        sta     table_1,x
+        lda     sreg
+        sta     table_2,x
+        lda     sreg+1
+        sta     table_3,x
+        inx
+        bne     @L1
+        inc     table_initialised
 RET:
-       rts
+        rts
 
 _crc32:
 ; ptr2 = (len & 0xff) == 0 ? len : len + 0x100;
-       tay
-       beq     @L1
-       inx
-@L1:   sta     ptr2
-       stx     ptr2+1
+        tay
+        beq     @L1
+        inx
+@L1:    sta     ptr2
+        stx     ptr2+1
 ; ptr1 = buf
-       jsr     popax
-       sta     ptr1
-       stx     ptr1+1
+        jsr     popax
+        sta     ptr1
+        stx     ptr1+1
 ; if (buf == NULL) return 0;
-       ora     ptr1+1
-       beq     @L0
+        ora     ptr1+1
+        beq     @L0
 ; if (!tables_initialised) make_tables();
-       lda     table_initialised
-       bne     @dont_make
-       jsr     make_table
+        lda     table_initialised
+        bne     @dont_make
+        jsr     make_table
 @dont_make:
 ; eax = crc
-       jsr     popeax
+        jsr     popeax
 ; if (len == 0) return crc;
-       ldy     ptr2
-       bne     @L2
-       ldy     ptr2+1
-       beq     RET
+        ldy     ptr2
+        bne     @L2
+        ldy     ptr2+1
+        beq     RET
 @L2:
 ; eax = ~crc
-       jsr     compleax
-       stx     tmp2
-       ldy     #0
+        jsr     compleax
+        stx     tmp2
+        ldy     #0
 ; crc = (crc >> 8) ^ table[(crc & 0xff) ^ *p++];
-@L3:   eor     (ptr1),y
-       tax
-       lda     table_0,x
-       eor     tmp2
-       sta     tmp1
-       lda     table_1,x
-       eor     sreg
-       sta     tmp2
-       lda     table_2,x
-       eor     sreg+1
-       sta     sreg
-       lda     table_3,x
-       sta     sreg+1
-       lda     tmp1
-       iny
-       bne     @L4
-       inc     ptr1+1
-@L4:   dec     ptr2
-       bne     @L3
-       dec     ptr2+1
-       bne     @L3
-       ldx     tmp2
-       jmp     compleax
+@L3:    eor     (ptr1),y
+        tax
+        lda     table_0,x
+        eor     tmp2
+        sta     tmp1
+        lda     table_1,x
+        eor     sreg
+        sta     tmp2
+        lda     table_2,x
+        eor     sreg+1
+        sta     sreg
+        lda     table_3,x
+        sta     sreg+1
+        lda     tmp1
+        iny
+        bne     @L4
+        inc     ptr1+1
+@L4:    dec     ptr2
+        bne     @L3
+        dec     ptr2+1
+        bne     @L3
+        ldx     tmp2
+        jmp     compleax
 
 ; return 0L
-@L0:   sta     sreg
-       sta     sreg+1
+@L0:    sta     sreg
+        sta     sreg+1
 ; ignore crc
-       jmp     incsp4
+        jmp     incsp4
 
-               .data
+                .data
 table_initialised:
-               .byte   0
+                .byte   0
 
-               .bss
-table_0:       .res    256
-table_1:       .res    256
-table_2:       .res    256
-table_3:       .res    256
+                .bss
+table_0:        .res    256
+table_1:        .res    256
+table_2:        .res    256
+table_3:        .res    256
 
 
index 18bf80cd1e3028007f74549fd60f589e9dca3280..bcf473bdda474df815cfab36be9f6bc6819c92e8 100644 (file)
@@ -4,10 +4,10 @@
 ; unsigned __fastcall__ inflatemem (char* dest, const char* source);
 ;
 
-       .export         _inflatemem
+        .export         _inflatemem
 
-       .import         incsp2
-       .importzp       sp, sreg, ptr1, ptr2, ptr3, ptr4, tmp1
+        .import         incsp2
+        .importzp       sp, sreg, ptr1, ptr2, ptr3, ptr4, tmp1
 
 ; --------------------------------------------------------------------------
 ;
@@ -15,7 +15,7 @@
 ;
 
 ; Maximum length of a Huffman code.
-MAX_BITS      =        15
+MAX_BITS      = 15
 
 ; All Huffman trees are stored in the bitsCount, bitsPointer_l
 ; and bitsPointer_h arrays.  There may be two trees: the literal/length tree
@@ -23,13 +23,13 @@ MAX_BITS      =     15
 
 ; Index in the mentioned arrays for the beginning of the literal/length tree
 ; or the temporary tree.
-PRIMARY_TREE  =        0
+PRIMARY_TREE  = 0
 
 ; Index in the mentioned arrays for the beginning of the distance tree.
-DISTANCE_TREE =        MAX_BITS
+DISTANCE_TREE = MAX_BITS
 
 ; Size of each array.
-TREES_SIZE    =        2*MAX_BITS
+TREES_SIZE    = 2*MAX_BITS
 
 
 ; --------------------------------------------------------------------------
@@ -38,30 +38,30 @@ TREES_SIZE    =     2*MAX_BITS
 ;
 
 ; Pointer to the compressed data.
-inputPointer            =      ptr1    ; 2 bytes
+inputPointer            =       ptr1    ; 2 bytes
 
 ; Pointer to the uncompressed data.
-outputPointer           =      ptr2    ; 2 bytes
+outputPointer           =       ptr2    ; 2 bytes
 
 ; Local variables.
 ; As far as there is no conflict, same memory locations are used
 ; for different variables.
 
-inflateDynamicBlock_cnt =      ptr3    ; 1 byte
-inflateCodes_src        =      ptr3    ; 2 bytes
-buildHuffmanTree_src    =      ptr3    ; 2 bytes
-getNextLength_last      =      ptr3    ; 1 byte
-getNextLength_index     =      ptr3+1  ; 1 byte
+inflateDynamicBlock_cnt =       ptr3    ; 1 byte
+inflateCodes_src        =       ptr3    ; 2 bytes
+buildHuffmanTree_src    =       ptr3    ; 2 bytes
+getNextLength_last      =       ptr3    ; 1 byte
+getNextLength_index     =       ptr3+1  ; 1 byte
 
-buildHuffmanTree_ptr    =      ptr4    ; 2 bytes
-fetchCode_ptr           =      ptr4    ; 2 bytes
-getBits_tmp             =      ptr4    ; 1 byte
+buildHuffmanTree_ptr    =       ptr4    ; 2 bytes
+fetchCode_ptr           =       ptr4    ; 2 bytes
+getBits_tmp             =       ptr4    ; 1 byte
 
-moveBlock_len           =      sreg    ; 2 bytes
-inflateDynamicBlock_np  =      sreg    ; 1 byte
-inflateDynamicBlock_nd  =      sreg+1  ; 1 byte
+moveBlock_len           =       sreg    ; 2 bytes
+inflateDynamicBlock_np  =       sreg    ; 1 byte
+inflateDynamicBlock_nd  =       sreg+1  ; 1 byte
 
-getBit_hold             =      tmp1    ; 1 byte
+getBit_hold             =       tmp1    ; 1 byte
 
 
 ; --------------------------------------------------------------------------
@@ -72,127 +72,127 @@ getBit_hold             = tmp1    ; 1 byte
 _inflatemem:
 
 ; inputPointer = source
-       sta     inputPointer
-       stx     inputPointer+1
+        sta     inputPointer
+        stx     inputPointer+1
 ; outputPointer = dest
 .ifpc02
-       lda     (sp)
-       ldy     #1
+        lda     (sp)
+        ldy     #1
 .else
-       ldy     #0
-       lda     (sp),y
-       iny
+        ldy     #0
+        lda     (sp),y
+        iny
 .endif
-       sta     outputPointer
-       lda     (sp),y
-       sta     outputPointer+1
+        sta     outputPointer
+        lda     (sp),y
+        sta     outputPointer+1
 
-;      ldy     #1
-       sty     getBit_hold
+;       ldy     #1
+        sty     getBit_hold
 inflatemem_1:
 ; Get a bit of EOF and two bits of block type
-       ldx     #3
-       lda     #0
-       jsr     getBits
-       lsr     a
+        ldx     #3
+        lda     #0
+        jsr     getBits
+        lsr     a
 ; A and Z contain block type, C contains EOF flag
 ; Save EOF flag
-       php
+        php
 ; Go to the routine decompressing this block
-       jsr     callExtr
-       plp
-       bcc     inflatemem_1
+        jsr     callExtr
+        plp
+        bcc     inflatemem_1
 ; C flag is set!
 
 ; return outputPointer - dest;
-       lda     outputPointer
+        lda     outputPointer
 .ifpc02
-       sbc     (sp)            ; C flag is set
-       ldy     #1
+        sbc     (sp)            ; C flag is set
+        ldy     #1
 .else
-       ldy     #0
-       sbc     (sp),y          ; C flag is set
-       iny
+        ldy     #0
+        sbc     (sp),y          ; C flag is set
+        iny
 .endif
-       pha
-       lda     outputPointer+1
-       sbc     (sp),y
-       tax
-       pla
+        pha
+        lda     outputPointer+1
+        sbc     (sp),y
+        tax
+        pla
 ; pop dest
-       jmp     incsp2
+        jmp     incsp2
 
 ; --------------------------------------------------------------------------
 ; Go to proper block decoding routine.
 
 callExtr:
-       bne     inflateCompressedBlock
+        bne     inflateCompressedBlock
 
 ; --------------------------------------------------------------------------
 ; Decompress a 'stored' data block.
 
 inflateCopyBlock:
 ; Ignore bits until byte boundary
-       ldy     #1
-       sty     getBit_hold
+        ldy     #1
+        sty     getBit_hold
 ; Get 16-bit length
-       ldx     #inputPointer
-       lda     (0,x)
-       sta     moveBlock_len
-       lda     (inputPointer),y
-       sta     moveBlock_len+1
+        ldx     #inputPointer
+        lda     (0,x)
+        sta     moveBlock_len
+        lda     (inputPointer),y
+        sta     moveBlock_len+1
 ; Skip the length and one's complement of it
-       lda     #4
-       clc
-       adc     inputPointer
-       sta     inputPointer
-       bcc     moveBlock
-       inc     inputPointer+1
-;      jmp     moveBlock
+        lda     #4
+        clc
+        adc     inputPointer
+        sta     inputPointer
+        bcc     moveBlock
+        inc     inputPointer+1
+;       jmp     moveBlock
 
 ; --------------------------------------------------------------------------
 ; Copy block of length moveBlock_len from (0,x) to the output.
 
 moveBlock:
-       ldy     moveBlock_len
-       beq     moveBlock_1
+        ldy     moveBlock_len
+        beq     moveBlock_1
 .ifpc02
 .else
-       ldy     #0
+        ldy     #0
 .endif
-       inc     moveBlock_len+1
+        inc     moveBlock_len+1
 moveBlock_1:
-       lda     (0,x)
+        lda     (0,x)
 .ifpc02
-       sta     (outputPointer)
+        sta     (outputPointer)
 .else
-       sta     (outputPointer),y
+        sta     (outputPointer),y
 .endif
-       inc     0,x
-       bne     moveBlock_2
-       inc     1,x
+        inc     0,x
+        bne     moveBlock_2
+        inc     1,x
 moveBlock_2:
-       inc     outputPointer
-       bne     moveBlock_3
-       inc     outputPointer+1
+        inc     outputPointer
+        bne     moveBlock_3
+        inc     outputPointer+1
 moveBlock_3:
 .ifpc02
-       dey
+        dey
 .else
-       dec     moveBlock_len
+        dec     moveBlock_len
 .endif
-       bne     moveBlock_1
-       dec     moveBlock_len+1
-       bne     moveBlock_1
-       rts
+        bne     moveBlock_1
+        dec     moveBlock_len+1
+        bne     moveBlock_1
+        rts
 
 ; --------------------------------------------------------------------------
 ; Decompress a Huffman-coded data block
 ; (A = 1: fixed, A = 2: dynamic).
 
 inflateCompressedBlock:
-       lsr     a
-       bne     inflateDynamicBlock
+        lsr     a
+        bne     inflateDynamicBlock
 ; Note: inflateDynamicBlock may assume that A = 1
 
 ; --------------------------------------------------------------------------
@@ -205,151 +205,151 @@ inflateCompressedBlock:
 ;                     (two 8-bit codes from the primary tree are not used).
 
 inflateFixedBlock:
-       ldx     #159
-       stx     distanceCodeLength+32
-       lda     #8
+        ldx     #159
+        stx     distanceCodeLength+32
+        lda     #8
 inflateFixedBlock_1:
-       sta     literalCodeLength-1,x
-       sta     literalCodeLength+159-1,x
-       dex
-       bne     inflateFixedBlock_1
-       ldx     #112
-;      lda     #9
+        sta     literalCodeLength-1,x
+        sta     literalCodeLength+159-1,x
+        dex
+        bne     inflateFixedBlock_1
+        ldx     #112
+;       lda     #9
 inflateFixedBlock_2:
-       inc     literalCodeLength+144-1,x       ; sta
-       dex
-       bne     inflateFixedBlock_2
-       ldx     #24
-;      lda     #7
+        inc     literalCodeLength+144-1,x       ; sta
+        dex
+        bne     inflateFixedBlock_2
+        ldx     #24
+;       lda     #7
 inflateFixedBlock_3:
-       dec     endCodeLength-1,x       ; sta
-       dex
-       bne     inflateFixedBlock_3
-       ldx     #30
-       lda     #5+DISTANCE_TREE
+        dec     endCodeLength-1,x       ; sta
+        dex
+        bne     inflateFixedBlock_3
+        ldx     #30
+        lda     #5+DISTANCE_TREE
 inflateFixedBlock_4:
-       sta     distanceCodeLength-1,x
-       dex
-       bne     inflateFixedBlock_4
-       beq     inflateCodes            ; branch always
+        sta     distanceCodeLength-1,x
+        dex
+        bne     inflateFixedBlock_4
+        beq     inflateCodes            ; branch always
 
 ; --------------------------------------------------------------------------
 ; Decompress a Huffman-coded data block, reading Huffman trees first.
 
 inflateDynamicBlock:
 ; numberOfPrimaryCodes = 257 + getBits(5)
-       ldx     #5
-;      lda     #1
-       jsr     getBits
-       sta     inflateDynamicBlock_np
+        ldx     #5
+;       lda     #1
+        jsr     getBits
+        sta     inflateDynamicBlock_np
 ; numberOfDistanceCodes = 1 + getBits(5)
-       ldx     #5
-       lda     #1+29+1
-       jsr     getBits
-       sta     inflateDynamicBlock_nd
+        ldx     #5
+        lda     #1+29+1
+        jsr     getBits
+        sta     inflateDynamicBlock_nd
 ; numberOfTemporaryCodes = 4 + getBits(4)
-       lda     #4
-       tax
-       jsr     getBits
-       sta     inflateDynamicBlock_cnt
+        lda     #4
+        tax
+        jsr     getBits
+        sta     inflateDynamicBlock_cnt
 ; Get lengths of temporary codes in the order stored in tempCodeLengthOrder
-       txa                     ; lda #0
-       tay
+        txa                     ; lda #0
+        tay
 inflateDynamicBlock_1:
-       ldx     #3              ; A = 0
-       jsr     getBits         ; does not change Y
+        ldx     #3              ; A = 0
+        jsr     getBits         ; does not change Y
 inflateDynamicBlock_2:
-       ldx     tempCodeLengthOrder,y
-       sta     literalCodeLength,x
-       lda     #0
-       iny
-       cpy     inflateDynamicBlock_cnt
-       bcc     inflateDynamicBlock_1
-       cpy     #19
-       bcc     inflateDynamicBlock_2
-       ror     literalCodeLength+19    ; C flag is set, so this will set b7
+        ldx     tempCodeLengthOrder,y
+        sta     literalCodeLength,x
+        lda     #0
+        iny
+        cpy     inflateDynamicBlock_cnt
+        bcc     inflateDynamicBlock_1
+        cpy     #19
+        bcc     inflateDynamicBlock_2
+        ror     literalCodeLength+19    ; C flag is set, so this will set b7
 ; Build the tree for temporary codes
-       jsr     buildHuffmanTree
+        jsr     buildHuffmanTree
 
 ; Use temporary codes to get lengths of literal/length and distance codes
-       ldx     #0
-       ldy     #1
-       stx     getNextLength_last
+        ldx     #0
+        ldy     #1
+        stx     getNextLength_last
 inflateDynamicBlock_3:
-       jsr     getNextLength
-       sta     literalCodeLength,x
-       inx
-       bne     inflateDynamicBlock_3
+        jsr     getNextLength
+        sta     literalCodeLength,x
+        inx
+        bne     inflateDynamicBlock_3
 inflateDynamicBlock_4:
-       jsr     getNextLength
+        jsr     getNextLength
 inflateDynamicBlock_5:
-       sta     endCodeLength,x
-       inx
-       cpx     inflateDynamicBlock_np
-       bcc     inflateDynamicBlock_4
-       lda     #0
-       cpx     #1+29
-       bcc     inflateDynamicBlock_5
+        sta     endCodeLength,x
+        inx
+        cpx     inflateDynamicBlock_np
+        bcc     inflateDynamicBlock_4
+        lda     #0
+        cpx     #1+29
+        bcc     inflateDynamicBlock_5
 inflateDynamicBlock_6:
-       jsr     getNextLength
-       cmp     #0
-       beq     inflateDynamicBlock_7
-       adc     #DISTANCE_TREE-1        ; C flag is set
+        jsr     getNextLength
+        cmp     #0
+        beq     inflateDynamicBlock_7
+        adc     #DISTANCE_TREE-1        ; C flag is set
 inflateDynamicBlock_7:
-       sta     endCodeLength,x
-       inx
-       cpx     inflateDynamicBlock_nd
-       bcc     inflateDynamicBlock_6
-       ror     endCodeLength,x         ; C flag is set, so this will set b7
-;      jmp     inflateCodes
+        sta     endCodeLength,x
+        inx
+        cpx     inflateDynamicBlock_nd
+        bcc     inflateDynamicBlock_6
+        ror     endCodeLength,x         ; C flag is set, so this will set b7
+;       jmp     inflateCodes
 
 ; --------------------------------------------------------------------------
 ; Decompress a data block basing on given Huffman trees.
 
 inflateCodes:
-       jsr     buildHuffmanTree
+        jsr     buildHuffmanTree
 inflateCodes_1:
-       jsr     fetchPrimaryCode
-       bcs     inflateCodes_2
+        jsr     fetchPrimaryCode
+        bcs     inflateCodes_2
 ; Literal code
 .ifpc02
-       sta     (outputPointer)
+        sta     (outputPointer)
 .else
-       ldy     #0
-       sta     (outputPointer),y
+        ldy     #0
+        sta     (outputPointer),y
 .endif
-       inc     outputPointer
-       bne     inflateCodes_1
-       inc     outputPointer+1
-       bcc     inflateCodes_1  ; branch always
+        inc     outputPointer
+        bne     inflateCodes_1
+        inc     outputPointer+1
+        bcc     inflateCodes_1  ; branch always
 ; End of block
 inflateCodes_ret:
-       rts
+        rts
 inflateCodes_2:
-       beq     inflateCodes_ret
+        beq     inflateCodes_ret
 ; Restore a block from the look-behind buffer
-       jsr     getValue
-       sta     moveBlock_len
-       tya
-       jsr     getBits
-       sta     moveBlock_len+1
-       ldx     #DISTANCE_TREE
-       jsr     fetchCode
-       jsr     getValue
-       sec
-       eor     #$ff
-       adc     outputPointer
-       sta     inflateCodes_src
-       php
-       tya
-       jsr     getBits
-       plp
-       eor     #$ff
-       adc     outputPointer+1
-       sta     inflateCodes_src+1
-       ldx     #inflateCodes_src
-       jsr     moveBlock
-       beq     inflateCodes_1  ; branch always
+        jsr     getValue
+        sta     moveBlock_len
+        tya
+        jsr     getBits
+        sta     moveBlock_len+1
+        ldx     #DISTANCE_TREE
+        jsr     fetchCode
+        jsr     getValue
+        sec
+        eor     #$ff
+        adc     outputPointer
+        sta     inflateCodes_src
+        php
+        tya
+        jsr     getBits
+        plp
+        eor     #$ff
+        adc     outputPointer+1
+        sta     inflateCodes_src+1
+        ldx     #inflateCodes_src
+        jsr     moveBlock
+        beq     inflateCodes_1  ; branch always
 
 ; --------------------------------------------------------------------------
 ; Build Huffman trees basing on code lengths (in bits).
@@ -357,114 +357,114 @@ inflateCodes_2:
 ; A byte with its highest bit set marks the end.
 
 buildHuffmanTree:
-       lda     #<literalCodeLength
-       sta     buildHuffmanTree_src
-       lda     #>literalCodeLength
-       sta     buildHuffmanTree_src+1
+        lda     #<literalCodeLength
+        sta     buildHuffmanTree_src
+        lda     #>literalCodeLength
+        sta     buildHuffmanTree_src+1
 ; Clear bitsCount and bitsPointer_l
-       ldy     #2*TREES_SIZE+1
-       lda     #0
+        ldy     #2*TREES_SIZE+1
+        lda     #0
 buildHuffmanTree_1:
-       sta     bitsCount-1,y
-       dey
-       bne     buildHuffmanTree_1
-       beq     buildHuffmanTree_3      ; branch always
+        sta     bitsCount-1,y
+        dey
+        bne     buildHuffmanTree_1
+        beq     buildHuffmanTree_3      ; branch always
 ; Count number of codes of each length
 buildHuffmanTree_2:
-       tax
-       inc     bitsPointer_l,x
-       iny
-       bne     buildHuffmanTree_3
-       inc     buildHuffmanTree_src+1
+        tax
+        inc     bitsPointer_l,x
+        iny
+        bne     buildHuffmanTree_3
+        inc     buildHuffmanTree_src+1
 buildHuffmanTree_3:
-       lda     (buildHuffmanTree_src),y
-       bpl     buildHuffmanTree_2
+        lda     (buildHuffmanTree_src),y
+        bpl     buildHuffmanTree_2
 ; Calculate a pointer for each length
-       ldx     #0
-       lda     #<sortedCodes
-       ldy     #>sortedCodes
-       clc
+        ldx     #0
+        lda     #<sortedCodes
+        ldy     #>sortedCodes
+        clc
 buildHuffmanTree_4:
-       sta     bitsPointer_l,x
-       tya
-       sta     bitsPointer_h,x
-       lda     bitsPointer_l+1,x
-       adc     bitsPointer_l,x         ; C flag is zero
-       bcc     buildHuffmanTree_5
-       iny
+        sta     bitsPointer_l,x
+        tya
+        sta     bitsPointer_h,x
+        lda     bitsPointer_l+1,x
+        adc     bitsPointer_l,x         ; C flag is zero
+        bcc     buildHuffmanTree_5
+        iny
 buildHuffmanTree_5:
-       inx
-       cpx     #TREES_SIZE
-       bcc     buildHuffmanTree_4
-       lda     #>literalCodeLength
-       sta     buildHuffmanTree_src+1
-       ldy     #0
-       bcs     buildHuffmanTree_9      ; branch always
+        inx
+        cpx     #TREES_SIZE
+        bcc     buildHuffmanTree_4
+        lda     #>literalCodeLength
+        sta     buildHuffmanTree_src+1
+        ldy     #0
+        bcs     buildHuffmanTree_9      ; branch always
 ; Put codes into their place in sorted table
 buildHuffmanTree_6:
-       beq     buildHuffmanTree_7
-       tax
-       lda     bitsPointer_l-1,x
-       sta     buildHuffmanTree_ptr
-       lda     bitsPointer_h-1,x
-       sta     buildHuffmanTree_ptr+1
-       tya
-       ldy     bitsCount-1,x
-       inc     bitsCount-1,x
-       sta     (buildHuffmanTree_ptr),y
-       tay
+        beq     buildHuffmanTree_7
+        tax
+        lda     bitsPointer_l-1,x
+        sta     buildHuffmanTree_ptr
+        lda     bitsPointer_h-1,x
+        sta     buildHuffmanTree_ptr+1
+        tya
+        ldy     bitsCount-1,x
+        inc     bitsCount-1,x
+        sta     (buildHuffmanTree_ptr),y
+        tay
 buildHuffmanTree_7:
-       iny
-       bne     buildHuffmanTree_9
-       inc     buildHuffmanTree_src+1
-       ldx     #MAX_BITS-1
+        iny
+        bne     buildHuffmanTree_9
+        inc     buildHuffmanTree_src+1
+        ldx     #MAX_BITS-1
 buildHuffmanTree_8:
-       lda     bitsCount,x
-       sta     literalCount,x
-       dex
-       bpl     buildHuffmanTree_8
+        lda     bitsCount,x
+        sta     literalCount,x
+        dex
+        bpl     buildHuffmanTree_8
 buildHuffmanTree_9:
-       lda     (buildHuffmanTree_src),y
-       bpl     buildHuffmanTree_6
-       rts
+        lda     (buildHuffmanTree_src),y
+        bpl     buildHuffmanTree_6
+        rts
 
 ; --------------------------------------------------------------------------
 ; Decode next code length using temporary codes.
 
 getNextLength:
-       stx     getNextLength_index
-       dey
-       bne     getNextLength_1
+        stx     getNextLength_index
+        dey
+        bne     getNextLength_1
 ; Fetch a temporary code
-       jsr     fetchPrimaryCode
+        jsr     fetchPrimaryCode
 ; Temporary code 0..15: put this length
-       ldy     #1
-       cmp     #16
-       bcc     getNextLength_2
+        ldy     #1
+        cmp     #16
+        bcc     getNextLength_2
 ; Temporary code 16: repeat last length 3 + getBits(2) times
 ; Temporary code 17: put zero length 3 + getBits(3) times
 ; Temporary code 18: put zero length 11 + getBits(7) times
-       tay
-       ldx     tempExtraBits-16,y
-       lda     tempBaseValue-16,y
-       jsr     getBits
-       cpy     #17
-       tay
-       txa                     ; lda #0
-       bcs     getNextLength_2
+        tay
+        ldx     tempExtraBits-16,y
+        lda     tempBaseValue-16,y
+        jsr     getBits
+        cpy     #17
+        tay
+        txa                     ; lda #0
+        bcs     getNextLength_2
 getNextLength_1:
-       lda     getNextLength_last
+        lda     getNextLength_last
 getNextLength_2:
-       sta     getNextLength_last
-       ldx     getNextLength_index
-       rts
+        sta     getNextLength_last
+        ldx     getNextLength_index
+        rts
 
 ; --------------------------------------------------------------------------
 ; Read a code basing on the primary tree.
 
 fetchPrimaryCode:
-       ldx     #PRIMARY_TREE
-;      jmp     fetchCode
+        ldx     #PRIMARY_TREE
+;       jmp     fetchCode
 
 ; --------------------------------------------------------------------------
 ; Read a code from input basing on the tree specified in X.
@@ -472,36 +472,36 @@ fetchPrimaryCode:
 ; For the literal/length tree, the C flag is set if the code is non-literal.
 
 fetchCode:
-       lda     #0
+        lda     #0
 fetchCode_1:
-       jsr     getBit
-       rol     a
-       inx
-       sec
-       sbc     bitsCount-1,x
-       bcs     fetchCode_1
-       adc     bitsCount-1,x   ; C flag is zero
-       cmp     literalCount-1,x
-       sta     fetchCode_ptr
-       ldy     bitsPointer_l-1,x
-       lda     bitsPointer_h-1,x
-       sta     fetchCode_ptr+1
-       lda     (fetchCode_ptr),y
-       rts
+        jsr     getBit
+        rol     a
+        inx
+        sec
+        sbc     bitsCount-1,x
+        bcs     fetchCode_1
+        adc     bitsCount-1,x   ; C flag is zero
+        cmp     literalCount-1,x
+        sta     fetchCode_ptr
+        ldy     bitsPointer_l-1,x
+        lda     bitsPointer_h-1,x
+        sta     fetchCode_ptr+1
+        lda     (fetchCode_ptr),y
+        rts
 
 ; --------------------------------------------------------------------------
 ; Decode low byte of a value (length or distance), basing on the code in A.
 ; The result is the base value for this code plus some bits read from input.
 
 getValue:
-       tay
-       ldx     lengthExtraBits-1,y
-       lda     lengthBaseValue_l-1,y
-       pha
-       lda     lengthBaseValue_h-1,y
-       tay
-       pla
-;      jmp     getBits
+        tay
+        ldx     lengthExtraBits-1,y
+        lda     lengthBaseValue_l-1,y
+        pha
+        lda     lengthBaseValue_h-1,y
+        tay
+        pla
+;       jmp     getBits
 
 ; --------------------------------------------------------------------------
 ; Read X-bit number from the input and add it to A.
@@ -510,55 +510,55 @@ getValue:
 ; On return X holds number of unread bits: X = (X > 8 ? X - 8 : 0);
 
 getBits:
-       cpx     #0
-       beq     getBits_ret
+        cpx     #0
+        beq     getBits_ret
 .ifpc02
-       stz     getBits_tmp
-       dec     getBits_tmp
+        stz     getBits_tmp
+        dec     getBits_tmp
 .else
-       pha
-       lda     #$ff
-       sta     getBits_tmp
-       pla
+        pha
+        lda     #$ff
+        sta     getBits_tmp
+        pla
 .endif
 getBits_1:
-       jsr     getBit
-       bcc     getBits_2
-       sbc     getBits_tmp     ; C flag is set
-       bcc     getBits_2
-       iny
+        jsr     getBit
+        bcc     getBits_2
+        sbc     getBits_tmp     ; C flag is set
+        bcc     getBits_2
+        iny
 getBits_2:
-       dex
-       beq     getBits_ret
-       asl     getBits_tmp
-       bmi     getBits_1
+        dex
+        beq     getBits_ret
+        asl     getBits_tmp
+        bmi     getBits_1
 getBits_ret:
-       rts
+        rts
 
 ; --------------------------------------------------------------------------
 ; Read a single bit from input, return it in the C flag.
 
 getBit:
-       lsr     getBit_hold
-       bne     getBit_ret
-       pha
+        lsr     getBit_hold
+        bne     getBit_ret
+        pha
 .ifpc02
-       lda     (inputPointer)
+        lda     (inputPointer)
 .else
-       sty     getBit_hold
-       ldy     #0
-       lda     (inputPointer),y
-       ldy     getBit_hold
+        sty     getBit_hold
+        ldy     #0
+        lda     (inputPointer),y
+        ldy     getBit_hold
 .endif
-       inc     inputPointer
-       bne     getBit_1
-       inc     inputPointer+1
+        inc     inputPointer
+        bne     getBit_1
+        inc     inputPointer+1
 getBit_1:
-       ror     a       ; C flag is set
-       sta     getBit_hold
-       pla
+        ror     a       ; C flag is set
+        sta     getBit_hold
+        pla
 getBit_ret:
-       rts
+        rts
 
 
 ; --------------------------------------------------------------------------
@@ -566,58 +566,58 @@ getBit_ret:
 ; Constant data
 ;
 
-       .rodata
+        .rodata
 ; --------------------------------------------------------------------------
 ; Arrays for the temporary codes.
 
 ; Order, in which lengths of the temporary codes are stored.
 tempCodeLengthOrder:
-       .byte   16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15
+        .byte   16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15
 
 ; Base values.
 tempBaseValue:
-       .byte   3,3,11
+        .byte   3,3,11
 
 ; Number of extra bits to read.
 tempExtraBits:
-       .byte   2,3,7
+        .byte   2,3,7
 
 ; --------------------------------------------------------------------------
 ; Arrays for the length and distance codes.
 
 ; Base values.
 lengthBaseValue_l:
-       .byte   <3,<4,<5,<6,<7,<8,<9,<10
-       .byte   <11,<13,<15,<17,<19,<23,<27,<31
-       .byte   <35,<43,<51,<59,<67,<83,<99,<115
-       .byte   <131,<163,<195,<227,<258
+        .byte   <3,<4,<5,<6,<7,<8,<9,<10
+        .byte   <11,<13,<15,<17,<19,<23,<27,<31
+        .byte   <35,<43,<51,<59,<67,<83,<99,<115
+        .byte   <131,<163,<195,<227,<258
 distanceBaseValue_l:
-       .byte   <1,<2,<3,<4,<5,<7,<9,<13
-       .byte   <17,<25,<33,<49,<65,<97,<129,<193
-       .byte   <257,<385,<513,<769,<1025,<1537,<2049,<3073
-       .byte   <4097,<6145,<8193,<12289,<16385,<24577
+        .byte   <1,<2,<3,<4,<5,<7,<9,<13
+        .byte   <17,<25,<33,<49,<65,<97,<129,<193
+        .byte   <257,<385,<513,<769,<1025,<1537,<2049,<3073
+        .byte   <4097,<6145,<8193,<12289,<16385,<24577
 lengthBaseValue_h:
-       .byte   >3,>4,>5,>6,>7,>8,>9,>10
-       .byte   >11,>13,>15,>17,>19,>23,>27,>31
-       .byte   >35,>43,>51,>59,>67,>83,>99,>115
-       .byte   >131,>163,>195,>227,>258
+        .byte   >3,>4,>5,>6,>7,>8,>9,>10
+        .byte   >11,>13,>15,>17,>19,>23,>27,>31
+        .byte   >35,>43,>51,>59,>67,>83,>99,>115
+        .byte   >131,>163,>195,>227,>258
 distanceBaseValue_h:
-       .byte   >1,>2,>3,>4,>5,>7,>9,>13
-       .byte   >17,>25,>33,>49,>65,>97,>129,>193
-       .byte   >257,>385,>513,>769,>1025,>1537,>2049,>3073
-       .byte   >4097,>6145,>8193,>12289,>16385,>24577
+        .byte   >1,>2,>3,>4,>5,>7,>9,>13
+        .byte   >17,>25,>33,>49,>65,>97,>129,>193
+        .byte   >257,>385,>513,>769,>1025,>1537,>2049,>3073
+        .byte   >4097,>6145,>8193,>12289,>16385,>24577
 
 ; Number of extra bits to read.
 lengthExtraBits:
-       .byte   0,0,0,0,0,0,0,0
-       .byte   1,1,1,1,2,2,2,2
-       .byte   3,3,3,3,4,4,4,4
-       .byte   5,5,5,5,0
+        .byte   0,0,0,0,0,0,0,0
+        .byte   1,1,1,1,2,2,2,2
+        .byte   3,3,3,3,4,4,4,4
+        .byte   5,5,5,5,0
 distanceExtraBits:
-       .byte   0,0,0,0,1,1,2,2
-       .byte   3,3,4,4,5,5,6,6
-       .byte   7,7,8,8,9,9,10,10
-       .byte   11,11,12,12,13,13
+        .byte   0,0,0,0,1,1,2,2
+        .byte   3,3,4,4,5,5,6,6
+        .byte   7,7,8,8,9,9,10,10
+        .byte   11,11,12,12,13,13
 
 
 ; --------------------------------------------------------------------------
@@ -625,7 +625,7 @@ distanceExtraBits:
 ; Uninitialised data
 ;
 
-       .bss
+        .bss
 
 ; Number of literal codes of each length in the primary tree
 ; (MAX_BITS bytes, overlap with literalCodeLength).
@@ -636,38 +636,38 @@ literalCount:
 
 ; Lengths of literal codes.
 literalCodeLength:
-       .res    256
+        .res    256
 ; Length of the end code.
 endCodeLength:
-       .res    1
+        .res    1
 ; Lengths of length codes.
 lengthCodeLength:
-       .res    29
+        .res    29
 
 ; --------------------------------------------------------------------------
 ; Data for building the distance tree.
 
 ; Lengths of distance codes.
 distanceCodeLength:
-       .res    30
+        .res    30
 ; For two unused codes in the fixed trees and an 'end' mark.
-       .res    3
+        .res    3
 
 ; --------------------------------------------------------------------------
 ; The Huffman trees.
 
 ; Number of codes of each length.
 bitsCount:
-       .res    TREES_SIZE
+        .res    TREES_SIZE
 ; Pointers to sorted codes of each length.
 bitsPointer_l:
-       .res    TREES_SIZE+1
+        .res    TREES_SIZE+1
 bitsPointer_h:
-       .res    TREES_SIZE
+        .res    TREES_SIZE
 
 ; Sorted codes.
 sortedCodes:
-       .res    256+1+29+30+2
+        .res    256+1+29+30+2
 
 
 
index 162158657a3f5f93ca1a832fe9acbdf4f9055fd9..3cff19ad3640ac31694a0a930144b67331c316c7 100644 (file)
@@ -9,28 +9,28 @@
 int uncompress (char* dest, unsigned* destLen,
                 const char* source, unsigned sourceLen)
 {
-       unsigned len;
-       unsigned char* ptr;
-       unsigned long csum;
-       /* source[0]: Compression method and flags
-           bits 0 to 3: Compression method (must be Z_DEFLATED)
-           bits 4 to 7: Compression info (must be <= 7)
-          source[1]: Flags
-           bits 0 to 4: Check bits
-           bit 5:       Preset dictionary (not supported, sorry)
-           bits 6 to 7: Compression level
-       */
-       if ((source[0] & 0x8f) != Z_DEFLATED || source[1] & 0x20)
-               return Z_DATA_ERROR;
-       if ((((unsigned) source[0] << 8) | (unsigned char) source[1]) % 31)
-               return Z_DATA_ERROR;
-       *destLen = len = inflatemem(dest, source + 2);
-       ptr = (unsigned char*) source + sourceLen - 4;
-       csum = adler32(adler32(0L, Z_NULL, 0), dest, len);
-       if ((unsigned char) csum != ptr[3]
-        || (unsigned char) (csum >> 8) != ptr[2]
-        || (unsigned char) (csum >> 16) != ptr[1]
-        || (unsigned char) (csum >> 24) != ptr[0])
-               return Z_DATA_ERROR;
-       return Z_OK;
+        unsigned len;
+        unsigned char* ptr;
+        unsigned long csum;
+        /* source[0]: Compression method and flags
+            bits 0 to 3: Compression method (must be Z_DEFLATED)
+            bits 4 to 7: Compression info (must be <= 7)
+           source[1]: Flags
+            bits 0 to 4: Check bits
+            bit 5:       Preset dictionary (not supported, sorry)
+            bits 6 to 7: Compression level
+        */
+        if ((source[0] & 0x8f) != Z_DEFLATED || source[1] & 0x20)
+                return Z_DATA_ERROR;
+        if ((((unsigned) source[0] << 8) | (unsigned char) source[1]) % 31)
+                return Z_DATA_ERROR;
+        *destLen = len = inflatemem(dest, source + 2);
+        ptr = (unsigned char*) source + sourceLen - 4;
+        csum = adler32(adler32(0L, Z_NULL, 0), dest, len);
+        if ((unsigned char) csum != ptr[3]
+         || (unsigned char) (csum >> 8) != ptr[2]
+         || (unsigned char) (csum >> 16) != ptr[1]
+         || (unsigned char) (csum >> 24) != ptr[0])
+                return Z_DATA_ERROR;
+        return Z_OK;
 }
index 4d677fa1a253290f0bb43de69cdfed241df96171..25ee431183fb0f65199827e1de854329a7e39d1d 100644 (file)
@@ -19,103 +19,103 @@ Please note:
 List of supplied sample programs:
 
 -----------------------------------------------------------------------------
-Name:          ascii
-Description:   Shows the ASCII (or ATASCII, PETSCII) codes of typed
-               characters. Written and contributed by Greg King
-               <gngking@erols.com>.
-Platforms:     All platforms with conio or stdio (compile time configurable).
+Name:           ascii
+Description:    Shows the ASCII (or ATASCII, PETSCII) codes of typed
+                characters. Written and contributed by Greg King
+                <gngking@erols.com>.
+Platforms:      All platforms with conio or stdio (compile time configurable).
 
 -----------------------------------------------------------------------------
-Name:          diodemo
-Description:   A disc copy program written and contributed by Oliver
-               Schmidt, <ol.sc@web.de>. Supports single or dual disc copy.
-Platforms:     The program does depend on conio and dio (direct disk i/o),
-               so it does currently compile for the Atari and Apple ][
-               machines.
+Name:           diodemo
+Description:    A disc copy program written and contributed by Oliver
+                Schmidt, <ol.sc@web.de>. Supports single or dual disc copy.
+Platforms:      The program does depend on conio and dio (direct disk i/o),
+                so it does currently compile for the Atari and Apple ][
+                machines.
 
 -----------------------------------------------------------------------------
-Name:          enumdevdir
-Description:   Enumerates all devices, directories and files. Written and
-               contributed by Oliver Schmidt, <ol.sc@web.de>.
-Platforms:     All systems with device enumeration and directory access
-               (currently the C64, the C128 and the Apple ][).
+Name:           enumdevdir
+Description:    Enumerates all devices, directories and files. Written and
+                contributed by Oliver Schmidt, <ol.sc@web.de>.
+Platforms:      All systems with device enumeration and directory access
+                (currently the C64, the C128 and the Apple ][).
 
 -----------------------------------------------------------------------------
-Name:          fire
-Description:   Another graphics demo written by groepaz/hitmen.
-Platforms:     The program is currently only running on the C64, but should
-               be portable to the C128 and CBM510 (and maybe more machines).
+Name:           fire
+Description:    Another graphics demo written by groepaz/hitmen.
+Platforms:      The program is currently only running on the C64, but should
+                be portable to the C128 and CBM510 (and maybe more machines).
 
 -----------------------------------------------------------------------------
-Name:          gunzip65
-Description:   A gunzip utility for 6502 based machines written by Piotr
-               Fusik <fox@scene.pl>.
-Platforms:     Runs on all platforms with file I/O (currently the Atari, the
-               Apple ][ and most Commodore machines).
+Name:           gunzip65
+Description:    A gunzip utility for 6502 based machines written by Piotr
+                Fusik <fox@scene.pl>.
+Platforms:      Runs on all platforms with file I/O (currently the Atari, the
+                Apple ][ and most Commodore machines).
 
 -----------------------------------------------------------------------------
-Name:          hello
-Description:   A nice "Hello world" type program that uses the conio
-               console I/O library for output.
-Platforms:     Runs on all platforms that support conio, which means:
-               Apple ][, Atari, C16, C64, C128, CBM510, CBM610, PET, Plus/4
+Name:           hello
+Description:    A nice "Hello world" type program that uses the conio
+                console I/O library for output.
+Platforms:      Runs on all platforms that support conio, which means:
+                Apple ][, Atari, C16, C64, C128, CBM510, CBM610, PET, Plus/4
 
 -----------------------------------------------------------------------------
-Name:          mandelbrot
-Description:   A mandelbrot demo using integer arithmetic. The demo was
-               written by groepaz/hitmen and converted to cc65 using TGI
-               graphics by Stephan Haubenthal.
-Platforms:     Runs on all platforms that have TGI support:
-               Apple ][, C64, C128, Oric Atmos, Geos and Lynx.
+Name:           mandelbrot
+Description:    A mandelbrot demo using integer arithmetic. The demo was
+                written by groepaz/hitmen and converted to cc65 using TGI
+                graphics by Stephan Haubenthal.
+Platforms:      Runs on all platforms that have TGI support:
+                Apple ][, C64, C128, Oric Atmos, Geos and Lynx.
 
 -----------------------------------------------------------------------------
-Name:          mousedemo
-Description:   Shows how to use the mouse.
-Platforms:     All systems with mouse and conio support:
-               C64, C128, CBM510, Atari, Apple ][
+Name:           mousedemo
+Description:    Shows how to use the mouse.
+Platforms:      All systems with mouse and conio support:
+                C64, C128, CBM510, Atari, Apple ][
 
 -----------------------------------------------------------------------------
-Name:          multidemo
-Description:   Shows how to combine multiple cc65 features incl. overlays
-               and extended memory drivers. Written and contributed by
-               Oliver Schmidt, <ol.sc@web.de>.
-Platforms:     All systems with an overlay linker config, disk directory
-               access and EMD support (currently the C64, the C128,
-               the Atari and the Apple ][).
+Name:           multidemo
+Description:    Shows how to combine multiple cc65 features incl. overlays
+                and extended memory drivers. Written and contributed by
+                Oliver Schmidt, <ol.sc@web.de>.
+Platforms:      All systems with an overlay linker config, disk directory
+                access and EMD support (currently the C64, the C128,
+                the Atari and the Apple ][).
 
 -----------------------------------------------------------------------------
-Name:          nachtm
-Description:   Plays "Eine kleine Nachtmusik" by Wolfgang Amadeus Mozart
-Platforms:     All systems that have the Commodore SID (Sound Interface
-               Device):
-               C64, C128, CBM510, CBM610
+Name:           nachtm
+Description:    Plays "Eine kleine Nachtmusik" by Wolfgang Amadeus Mozart
+Platforms:      All systems that have the Commodore SID (Sound Interface
+                Device):
+                C64, C128, CBM510, CBM610
 
 -----------------------------------------------------------------------------
-Name:          overlaydemo
-Description:   Shows how to load overlay files from disk. Written and
-               contributed by Oliver Schmidt, <ol.sc@web.de>.
-Platforms:     All systems with an overlay linker config (currently the C64,
-               the C128, the Atari and the Apple ][).
+Name:           overlaydemo
+Description:    Shows how to load overlay files from disk. Written and
+                contributed by Oliver Schmidt, <ol.sc@web.de>.
+Platforms:      All systems with an overlay linker config (currently the C64,
+                the C128, the Atari and the Apple ][).
 
 -----------------------------------------------------------------------------
-Name:          plasma
-Description:   A fancy graphics demo written by groepaz/hitmen.
-Platforms:     The program needs a VIC, or a TED, so it runs on the following
-               systems:
-               C64, C128, CBM510, Plus/4
+Name:           plasma
+Description:    A fancy graphics demo written by groepaz/hitmen.
+Platforms:      The program needs a VIC, or a TED, so it runs on the following
+                systems:
+                C64, C128, CBM510, Plus/4
 
 -----------------------------------------------------------------------------
-Name:          sieve
-Description:   Implements the "Sieve of Eratosthenes" as a way to find all
-               prime numbers in a specific number interval. Often used as
-               a benchmark program.
-Platforms:     All systems with conio and clock support:
-               Atari, C16, C64, C128, CBM510, CBM610, PET, Plus/4,
-               Apple ][ (without timing due to missing clock support)
+Name:           sieve
+Description:    Implements the "Sieve of Eratosthenes" as a way to find all
+                prime numbers in a specific number interval. Often used as
+                a benchmark program.
+Platforms:      All systems with conio and clock support:
+                Atari, C16, C64, C128, CBM510, CBM610, PET, Plus/4,
+                Apple ][ (without timing due to missing clock support)
 
 -----------------------------------------------------------------------------
-Name:          tgidemo
-Description:   Shows some of the graphics capabilities of the "tiny graphics
-               interface".
-Platforms:     Runs on all platforms that have TGI support:
-               Apple ][, C64, C128, Oric Atmos, Geos and Lynx.
+Name:           tgidemo
+Description:    Shows some of the graphics capabilities of the "tiny graphics
+                interface".
+Platforms:      Runs on all platforms that have TGI support:
+                Apple ][, C64, C128, Oric Atmos, Geos and Lynx.
index 190025e9d265eb91ce3abb73e7809f49b3767642..fd293e21306d3aeda32eac5459dd633eacf4e2ef 100644 (file)
@@ -19,7 +19,7 @@
 #include <stdlib.h>
 #include <stdbool.h>
 
-#define QUIT   'Q'
+#define QUIT    'Q'
 
 /* r -- row.  t -- table-column.
 */
@@ -28,63 +28,63 @@ static int c;
 
 #ifndef USE_STDIO
 
-# define PRINT cprintf
-# define PUT(c)        cputc((char)(c))
+# define PRINT  cprintf
+# define PUT(c) cputc((char)(c))
 
 /* conio doesn't echo typed characters.
 ** So, this function does it.
 */
 static int GET(void) {
-       PUT(c = (int)cgetc());
-       return c;
-       }
+        PUT(c = (int)cgetc());
+        return c;
+        }
 
 #else
 
-# define PRINT printf
-# define GET   getchar
+# define PRINT  printf
+# define GET    getchar
 
 #endif
 
 int main(void) {
 
-#      ifndef USE_STDIO
-       /* conio doesn't scroll!  Avoid trouble by starting at the top
-       ** of the screen, and never going "below" the bottom of the screen.
-       */
-       clrscr();
-       r = 7;                          /* allow for prompt */
-#      endif
+#       ifndef USE_STDIO
+        /* conio doesn't scroll!  Avoid trouble by starting at the top
+        ** of the screen, and never going "below" the bottom of the screen.
+        */
+        clrscr();
+        r = 7;                          /* allow for prompt */
+#       endif
 
-       /* This prompt fits on the VIC-20's narrow screen.
-       */
-       PRINT("Type characters to see\r\ntheir hexadecimal code\r\nnumbers:\r\n\n");
-       screensize(&width, &height);    /* get the screen's dimensions */
-       width /= 6;                     /* get number of codes on a line */
-       cursor(true);
-       t = 0;
-       while ((c = GET()) != EOF) {
+        /* This prompt fits on the VIC-20's narrow screen.
+        */
+        PRINT("Type characters to see\r\ntheir hexadecimal code\r\nnumbers:\r\n\n");
+        screensize(&width, &height);    /* get the screen's dimensions */
+        width /= 6;                     /* get number of codes on a line */
+        cursor(true);
+        t = 0;
+        while ((c = GET()) != EOF) {
 
-#              ifndef USE_STDIO
-               if (r == height) {
-                       clrscr();
-                       t = 0;
-                       PUT(c); /* echo char. again because screen was erased */
-                       r = 1;
-                       }
-               if (c == '\n')
-                       ++r;
-#              endif
+#               ifndef USE_STDIO
+                if (r == height) {
+                        clrscr();
+                        t = 0;
+                        PUT(c); /* echo char. again because screen was erased */
+                        r = 1;
+                        }
+                if (c == '\n')
+                        ++r;
+#               endif
 
-               PRINT("=$%02x ", c);
-               if (c == QUIT)
-                       break;
-               if (++t == width) {
-                       PRINT("\r\n");
-                       ++r;
-                       t = 0;
-                       }
-               }
-       PRINT("\r\n");
-       return EXIT_SUCCESS;
-       }
+                PRINT("=$%02x ", c);
+                if (c == QUIT)
+                        break;
+                if (++t == width) {
+                        PRINT("\r\n");
+                        ++r;
+                        t = 0;
+                        }
+                }
+        PRINT("\r\n");
+        return EXIT_SUCCESS;
+        }
index bbea872cf1c92adb17a44345f4451d67d2b9a3d6..cae9225097cf047da79de3dbc8470cb6966deada 100644 (file)
@@ -3,7 +3,7 @@
  *                                                                           *
  * (w)2002 by groepaz/hitmen                                                 *
  *                                                                           *
- * Cleanup and porting by Ullrich von Bassewitz.                            *
+ * Cleanup and porting by Ullrich von Bassewitz.                             *
  * 2004-06-08, Greg King                                                     *
  *                                                                           *
  *****************************************************************************/
@@ -26,7 +26,7 @@
 #  define SCREEN2               0xE400
 #  define CHARSET               0xE800
 #  define COLORRAM              0xD800
-#  define outb(addr,val)               (*(addr) = (val))
+#  define outb(addr,val)        (*(addr) = (val))
 #  define inb(addr)             (*(addr))
 #elif defined(__C128__)
 #  define BUFFER                0x0400
@@ -34,7 +34,7 @@
 #  define SCREEN2               0xE400
 #  define CHARSET               0xE800
 #  define COLORRAM              0xD800
-#  define outb(addr,val)               (*(addr) = (val))
+#  define outb(addr,val)        (*(addr) = (val))
 #  define inb(addr)             (*(addr))
 #elif defined(__CBM510__)
 #  define BUFFER                0xF800
@@ -201,7 +201,7 @@ int main (void)
     /* Run the demo until a key was hit */
     t = clock ();
     while (!kbhit()) {
-       /* Build page 1, then make it visible */
+        /* Build page 1, then make it visible */
         fire (SCREEN1);
         waitvsync ();
         outb (&VIC.addr, PAGE1);
index b4ad10605c5dddec8dea17c006ebd24fd6cf1fba..fd46d157d2d73ecda7a2ce1dcda1bf42877b797b 100644 (file)
@@ -17,8 +17,8 @@ void main (void)
     // Let's show what we've got...
 
     DlgBoxOk(CBOLDON "Hello, world" CPLAINTEXT,
-            "This is written in C!");
-            
+             "This is written in C!");
+             
     // Normal apps exit from main into system's mainloop, and app finish
     // when user selects it from icons or menu, but here we want to exit
     // immediately.
index f4f57a6cb090a78b24c8f1be86f9b35b6ebd0c7f..d41bdb3c9648b18797be43408c1cc2f6b70a5654 100644 (file)
@@ -36,7 +36,7 @@ void main (void)
     // Note that this is multitasking sleep, and if there are any icons/menus onscreen,
     // they would be usable, in this case you have only pointer usable
     Sleep(5*50);
-            
+             
     // Normal apps exit from main into system's mainloop, and app finish
     // when user selects it from icons or menu, but here we want to exit
     // immediately.
index 3b84982b756544507dc25e90a3b1bd40eb675d17..bc515f0eee43bdb57bacf9a12059e25c8e209dcd 100644 (file)
  */
 unsigned inflatemem(char* dest, const char* source)
 {
-       z_stream stream;
+        z_stream stream;
 
-       stream.next_in = (Bytef*) source;
-       stream.avail_in = 65535;
+        stream.next_in = (Bytef*) source;
+        stream.avail_in = 65535;
 
-       stream.next_out = dest;
-       stream.avail_out = 65535;
+        stream.next_out = dest;
+        stream.avail_out = 65535;
 
-       stream.zalloc = (alloc_func) 0;
-       stream.zfree = (free_func) 0;
+        stream.zalloc = (alloc_func) 0;
+        stream.zfree = (free_func) 0;
 
-       inflateInit2(&stream, -MAX_WBITS);
-       inflate(&stream, Z_FINISH);
-       inflateEnd(&stream);
+        inflateInit2(&stream, -MAX_WBITS);
+        inflate(&stream, Z_FINISH);
+        inflateEnd(&stream);
 
-       return stream.total_out;
+        return stream.total_out;
 }
 #endif /* __CC65__ */
 
@@ -63,11 +63,11 @@ unsigned inflatemem(char* dest, const char* source)
  */
 
 /* Flags in the GZIP header. */
-#define FTEXT     1    /* Extra text */
-#define FHCRC     2    /* Header CRC */
-#define FEXTRA    4    /* Extra field */
-#define FNAME     8    /* File name */
-#define FCOMMENT 16    /* File comment */
+#define FTEXT     1     /* Extra text */
+#define FHCRC     2     /* Header CRC */
+#define FEXTRA    4     /* Extra field */
+#define FNAME     8     /* File name */
+#define FCOMMENT 16     /* File comment */
 
 /*
  * We read whole GZIP file into this buffer.
@@ -94,82 +94,82 @@ static unsigned char buffer[26000];
  */
 unsigned uncompress_buffer(unsigned complen)
 {
-       unsigned char* ptr;
-       unsigned long crc;
-       unsigned long unclen;
-       void* ptr2;
-       unsigned unclen2;
-
-       /* check GZIP signature */
-       if (buffer[0] != 0x1f || buffer[1] != 0x8b) {
-               puts("Not GZIP format");
-               return 0;
-       }
-
-       /* check compression method (it is always (?) "deflate") */
-       if (buffer[2] != 8) {
-               puts("Unsupported compression method");
-               return 0;
-       }
-
-       /* get CRC from GZIP trailer */
-       crc = GET_LONG(buffer + complen - 8);
-
-       /* get uncompressed length from GZIP trailer */
-       unclen = GET_LONG(buffer + complen - 4);
-       if (unclen > sizeof(buffer)) {
-               puts("Uncompressed size too big");
-               return 0;
-       }
-
-       /* skip extra field, file name, comment and crc */
-       ptr = buffer + 10;
-       if (buffer[3] & FEXTRA)
-               ptr = buffer + 12 + GET_WORD(buffer + 10);
-       if (buffer[3] & FNAME)
-               while (*ptr++ != 0);
-       if (buffer[3] & FCOMMENT)
-               while (*ptr++ != 0);
-       if (buffer[3] & FHCRC)
-               ptr += 2;
-
-       /*
-        * calculate length of raw "deflate" data
-        * (without the GZIP header and 8-byte trailer)
-        */
-       complen -= (ptr - buffer) + 8;
-
-       /*
-        * We will move the compressed data to the end of buffer[].
-        * Thus the compressed data and the decompressed data (written from
-        * the beginning of buffer[]) may overlap, as long as the decompressed
-        * data doesn't go further than unread compressed data.
-        * ptr2 points to the beginning of compressed data at the end
-        * of buffer[].
-        */
-       ptr2 = buffer + sizeof(buffer) - complen;
-       /* move the compressed data to end of buffer[] */
-       memmove(ptr2, ptr, complen);
-
-       /* uncompress */
-       puts("Inflating...");
-       unclen2 = inflatemem(buffer, ptr2);
-
-       /* verify uncompressed length */
-       if (unclen2 != (unsigned) unclen) {
-               puts("Uncompressed size does not match");
-               return 0;
-       }
-
-       /* verify CRC */
-       puts("Calculating CRC...");
-       if (crc32(crc32(0L, Z_NULL, 0), buffer, unclen2) != crc) {
-               puts("CRC mismatch");
-               return 0;
-       }
-
-       /* return number of uncompressed bytes */
-       return unclen2;
+        unsigned char* ptr;
+        unsigned long crc;
+        unsigned long unclen;
+        void* ptr2;
+        unsigned unclen2;
+
+        /* check GZIP signature */
+        if (buffer[0] != 0x1f || buffer[1] != 0x8b) {
+                puts("Not GZIP format");
+                return 0;
+        }
+
+        /* check compression method (it is always (?) "deflate") */
+        if (buffer[2] != 8) {
+                puts("Unsupported compression method");
+                return 0;
+        }
+
+        /* get CRC from GZIP trailer */
+        crc = GET_LONG(buffer + complen - 8);
+
+        /* get uncompressed length from GZIP trailer */
+        unclen = GET_LONG(buffer + complen - 4);
+        if (unclen > sizeof(buffer)) {
+                puts("Uncompressed size too big");
+                return 0;
+        }
+
+        /* skip extra field, file name, comment and crc */
+        ptr = buffer + 10;
+        if (buffer[3] & FEXTRA)
+                ptr = buffer + 12 + GET_WORD(buffer + 10);
+        if (buffer[3] & FNAME)
+                while (*ptr++ != 0);
+        if (buffer[3] & FCOMMENT)
+                while (*ptr++ != 0);
+        if (buffer[3] & FHCRC)
+                ptr += 2;
+
+        /*
+         * calculate length of raw "deflate" data
+         * (without the GZIP header and 8-byte trailer)
+         */
+        complen -= (ptr - buffer) + 8;
+
+        /*
+         * We will move the compressed data to the end of buffer[].
+         * Thus the compressed data and the decompressed data (written from
+         * the beginning of buffer[]) may overlap, as long as the decompressed
+         * data doesn't go further than unread compressed data.
+         * ptr2 points to the beginning of compressed data at the end
+         * of buffer[].
+         */
+        ptr2 = buffer + sizeof(buffer) - complen;
+        /* move the compressed data to end of buffer[] */
+        memmove(ptr2, ptr, complen);
+
+        /* uncompress */
+        puts("Inflating...");
+        unclen2 = inflatemem(buffer, ptr2);
+
+        /* verify uncompressed length */
+        if (unclen2 != (unsigned) unclen) {
+                puts("Uncompressed size does not match");
+                return 0;
+        }
+
+        /* verify CRC */
+        puts("Calculating CRC...");
+        if (crc32(crc32(0L, Z_NULL, 0), buffer, unclen2) != crc) {
+                puts("CRC mismatch");
+                return 0;
+        }
+
+        /* return number of uncompressed bytes */
+        return unclen2;
 }
 
 /*
@@ -177,52 +177,52 @@ unsigned uncompress_buffer(unsigned complen)
  */
 char* get_fname(void)
 {
-       static char filename[100];
-       unsigned len;
-       fgets(filename, sizeof(filename), stdin);
-       len = strlen(filename);
-       if (len >= 1 && filename[len - 1] == '\n')
-               filename[len - 1] = '\0';
-       return filename;
+        static char filename[100];
+        unsigned len;
+        fgets(filename, sizeof(filename), stdin);
+        len = strlen(filename);
+        if (len >= 1 && filename[len - 1] == '\n')
+                filename[len - 1] = '\0';
+        return filename;
 }
 
 int main(void)
 {
-       FILE* fp;
-       unsigned length;
-
-       /* read GZIP file */
-       puts("GZIP file name:");
-       fp = fopen(get_fname(), "rb");
-       if (!fp) {
-               puts("Can't open GZIP file");
-               return 1;
-       }
-       length = fread(buffer, 1, sizeof(buffer), fp);
-       fclose(fp);
-       if (length == sizeof(buffer)) {
-               puts("File is too long");
-               return 1;
-       }
-
-       /* decompress */
-       length = uncompress_buffer(length);
-       if (length == 0)
-               return 1;
-
-       /* write uncompressed file */
-       puts("Uncompressed file name:");
-       fp = fopen(get_fname(), "wb");
-       if (!fp) {
-               puts("Can't create output file");
-               return 1;
-       }
-       if (fwrite(buffer, 1, length, fp) != length) {
-               puts("Error while writing output file");
-               return 1;
-       }
-       fclose(fp);
-
-       puts("Ok.");
-       return 0;
+        FILE* fp;
+        unsigned length;
+
+        /* read GZIP file */
+        puts("GZIP file name:");
+        fp = fopen(get_fname(), "rb");
+        if (!fp) {
+                puts("Can't open GZIP file");
+                return 1;
+        }
+        length = fread(buffer, 1, sizeof(buffer), fp);
+        fclose(fp);
+        if (length == sizeof(buffer)) {
+                puts("File is too long");
+                return 1;
+        }
+
+        /* decompress */
+        length = uncompress_buffer(length);
+        if (length == 0)
+                return 1;
+
+        /* write uncompressed file */
+        puts("Uncompressed file name:");
+        fp = fopen(get_fname(), "wb");
+        if (!fp) {
+                puts("Can't create output file");
+                return 1;
+        }
+        if (fwrite(buffer, 1, length, fp) != length) {
+                puts("Error while writing output file");
+                return 1;
+        }
+        fclose(fp);
+
+        puts("Ok.");
+        return 0;
 }
index cdbfab73a452dbf1989191e319885e322fcd0057..dcd6d6884250e248c60120fc024f19059593e562 100644 (file)
@@ -15,7 +15,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -25,7 +25,7 @@ static const char Text [] = "Hello world!";
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 69035f4ed71b43294693a93e48223b17efacd042..6c58cea978e2a7e697ecc0a861f5f3d39d390e3d 100644 (file)
 
 
 /* Graphics definitions */
-#define SCREEN_X       (tgi_getxres())
-#define SCREEN_Y       (tgi_getyres())
-#define MAXCOL         (tgi_getcolorcount())
+#define SCREEN_X        (tgi_getxres())
+#define SCREEN_Y        (tgi_getyres())
+#define MAXCOL          (tgi_getcolorcount())
 
-#define maxiterations  32
-#define fpshift                (10)
-#define tofp(_x)       ((_x)<<fpshift)
-#define fromfp(_x)     ((_x)>>fpshift)
-#define fpabs(_x)      (abs(_x))
+#define maxiterations   32
+#define fpshift         (10)
+#define tofp(_x)        ((_x)<<fpshift)
+#define fromfp(_x)      ((_x)>>fpshift)
+#define fpabs(_x)       (abs(_x))
 
-#define mulfp(_a,_b)   ((((signed long)_a)*(_b))>>fpshift)
-#define divfp(_a,_b)   ((((signed long)_a)<<fpshift)/(_b))
+#define mulfp(_a,_b)    ((((signed long)_a)*(_b))>>fpshift)
+#define divfp(_a,_b)    ((((signed long)_a)<<fpshift)/(_b))
 
 /* Workaround missing clock stuff */
 #if defined(__APPLE2__) || defined(__APPLE2ENH__)
-#  define clock()      0
-#  define CLK_TCK      1
+#  define clock()       0
+#  define CLK_TCK       1
 #endif
 
 /* Use dynamically loaded driver by default */
 #ifndef DYN_DRV
-#  define DYN_DRV      1
+#  define DYN_DRV       1
 #endif
 
 /* Use static local variables for speed */
index 80937c3b5221d4a581c49a75c6f29ce93a355317..d5d0e36a663f9d35519021e8124ac9d27737fc0d 100644 (file)
 
 /* Address of data for sprite 0 */
 #if defined(__C64__)
-#  define SPRITE0_DATA 0x0340
-#  define SPRITE0_PTR  0x07F8
+#  define SPRITE0_DATA  0x0340
+#  define SPRITE0_PTR   0x07F8
 #elif defined(__C128__)
-#  define SPRITE0_DATA 0x0E00
-#  define SPRITE0_PTR  0x07F8
+#  define SPRITE0_DATA  0x0E00
+#  define SPRITE0_PTR   0x07F8
 #endif
 
 /* The mouse sprite (an arrow) */
@@ -58,7 +58,7 @@ static const unsigned char MouseSprite[64] = {
 
 /* Dynamically loaded driver by default */
 #ifndef DYN_DRV
-#  define DYN_DRV      1
+#  define DYN_DRV       1
 #endif
 
 
index 6c78ebcb2c9a5c3feebc6e98e1953126a20b8489..282df9abf77612b0f4620b6a503639ad3118c7b4 100644 (file)
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Tables with voice data.
  *
- *  Bit            Description
+ *  Bit     Description
  * -------------------------------------------
- *  15     Pause bit.
+ *  15      Pause bit.
  *  12-14   Octave
  *  8-11    Tone (index into frequency table)
  *  7       Unused. Was thought as a control bit in the original version to
@@ -885,12 +885,12 @@ static unsigned long FreqTab [12] = {
 
 
 typedef struct {
-    unsigned char              DoneMask;       /* Set this if we're done */
-    unsigned char      Trigger;        /* Trigger value */
-    unsigned char      Ticks;          /* Ticks for this tone */
-    unsigned           Freq;           /* Actual frequency value */
-    unsigned*                  Data;           /* Pointer to data */
-    struct __sid_voice*        Voice;          /* Pointer to sid registers */
+    unsigned char       DoneMask;       /* Set this if we're done */
+    unsigned char       Trigger;        /* Trigger value */
+    unsigned char       Ticks;          /* Ticks for this tone */
+    unsigned            Freq;           /* Actual frequency value */
+    unsigned*           Data;           /* Pointer to data */
+    struct __sid_voice* Voice;          /* Pointer to sid registers */
 } VoiceCtrl;
 
 /* Control structs for all three voices */
@@ -919,7 +919,7 @@ static unsigned char NextClock;
 static clock_t StartTime;
 
 /* Number of ticks for each tone */
-#define        TICKS_PER_TONE  4
+#define TICKS_PER_TONE  4
 
 /* Done flag. Contains one bit for each voice. Will contain 0x07 if all
  * voices have finished playing.
@@ -929,7 +929,7 @@ static unsigned char Done;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -948,22 +948,22 @@ static void MakeNiceScreen (void)
 /* Make a nice screen */
 {
     typedef struct {
-       unsigned char   Y;
-       char*           Msg;
+        unsigned char   Y;
+        char*           Msg;
     } TextDesc;
     static TextDesc Text [] = {
-               {   2, "Wolfgang Amadeus Mozart"        },
-        {   4, "\"Eine kleine Nachtmusik\""    },
-               {   5, "(KV 525)"                       },
+        {   2, "Wolfgang Amadeus Mozart"        },
+        {   4, "\"Eine kleine Nachtmusik\""     },
+        {   5, "(KV 525)"                       },
         {   9, "Ported to the SID in 1987 by" },
-               {  11, "Joachim von Bassewitz"          },
-               {  12, "(joachim@von-bassewitz.de)"     },
-               {  13, "and"                            },
-               {  14, "Ullrich von Bassewitz"          },
-        {  15, "(ullrich@von-bassewitz.de)"    },
-               {  18, "C Implementation by"            },
-               {  19, "Ullrich von Bassewitz"          },
-        {  23, "Press any key to quit..."      },
+        {  11, "Joachim von Bassewitz"          },
+        {  12, "(joachim@von-bassewitz.de)"     },
+        {  13, "and"                            },
+        {  14, "Ullrich von Bassewitz"          },
+        {  15, "(ullrich@von-bassewitz.de)"     },
+        {  18, "C Implementation by"            },
+        {  19, "Ullrich von Bassewitz"          },
+        {  23, "Press any key to quit..."       },
     };
 
     register const TextDesc* T;
@@ -1004,8 +1004,8 @@ static void MakeNiceScreen (void)
     /* Write something into the frame */
     for (I = 0, T = Text; I < sizeof (Text) / sizeof (Text [0]); ++I) {
         X = (XSize - strlen (T->Msg)) / 2;
-       cputsxy (X, T->Y, T->Msg);
-       ++T;
+        cputsxy (X, T->Y, T->Msg);
+        ++T;
     }
 }
 
@@ -1017,7 +1017,7 @@ static void TimeSync (void)
     static unsigned char Clock;
 
     do {
-               Clock = clock ();
+        Clock = clock ();
     } while (Clock != NextClock);
     NextClock = Clock + TICKS_PER_TONE;
 }
@@ -1041,11 +1041,11 @@ static void DisplayTime (void)
  * just write to the memory space.
  */
 #if defined(__CBM510__) || defined(__CBM610__)
-#  define outb(addr,val)       pokebsys ((unsigned)(addr), val)
-#  define outw(addr,val)       pokewsys ((unsigned)(addr), val)
+#  define outb(addr,val)        pokebsys ((unsigned)(addr), val)
+#  define outw(addr,val)        pokewsys ((unsigned)(addr), val)
 #else
-#  define outb(addr,val)       (*(addr)) = (val)
-#  define outw(addr,val)       (*(addr)) = (val)
+#  define outb(addr,val)        (*(addr)) = (val)
+#  define outw(addr,val)        (*(addr)) = (val)
 #endif
 
 
@@ -1055,9 +1055,9 @@ int main (void)
     unsigned char       I;
     unsigned char       Tone;
     unsigned char       Octave;
-    unsigned           Val;
-    struct __sid_voice*        Voice;
-    register VoiceCtrl*        VC;
+    unsigned            Val;
+    struct __sid_voice* Voice;
+    register VoiceCtrl* VC;
 
     /* Initialize the debugger */
     DbgInit (0);
@@ -1089,74 +1089,74 @@ int main (void)
     /* Play each voice until all three are done */
     while (Done != 0x07) {
 
-       /* Display the time in the lower left corner */
-               DisplayTime ();
-
-       /* Wait for the next run */
-       TimeSync ();
-
-       /* Check for a key */
-       if (kbhit ()) {
-           if (cgetc () == 'd') {
-               /* Start the debugger */
-               BREAK ();
-           } else {
-               /* Stop playing music */
-               break;
-           }
-       }
-
-       /* Play all three voices */
-       for (I = 0; I < 3; ++I) {
-
-           /* Get a pointer to this voice */
-           VC = V [I];
-           Voice = VC->Voice;
-
-           /* Is this voice done? */
-           if (Done & VC->DoneMask) {
-               /* Voice already done */
-               continue;
-           }
-
-           /* Do we have any more ticks to play? */
-           if (VC->Ticks == 0) {
-               /* We need new data */
-               if ((Val = *VC->Data) == 0) {
-                   /* End of data. Mark the voice as done */
-                   Done |= VC->DoneMask;
-                   continue;
-               }
-               ++VC->Data;
-
-               /* Get the ticks from the data */
-                       VC->Ticks = (Val & 0x7F) - 1;
-
-               /* Check if this is a tone or a pause */
-               if (Val & 0x8000) {
-                   /* This is a pause. Remember it and shut off the SID */
-                           outb (&Voice->ctrl, VC->Trigger & 0xFE);
-               } else {
-                   /* This is a tone. Extract the attributes. */
-                   Tone = (Val >> 8) & 0x0F;
-                   Octave = ((Val >> 12) & 0x07) ^ 0x07;
-                   /* Calculate the frequency */
-                   VC->Freq = FreqTab [Tone] >> Octave;
-                   /* Set the frequency */
-                   outw (&Voice->freq, VC->Freq);
-                   /* Start the tone */
-                   outb (&Voice->ctrl, VC->Trigger);
-               }
-           } else {
-               /* Decrement the ticks. If this is the last tick of a tone,
-                * reset bit 0 of the trigger value and write it back to the
-                * SID to start the release phase.
-                */
-                       if (--(VC->Ticks) == 0) {
-                   outb (&Voice->ctrl, VC->Trigger & 0xFE);
-               }
-           }
-       }
+        /* Display the time in the lower left corner */
+        DisplayTime ();
+
+        /* Wait for the next run */
+        TimeSync ();
+
+        /* Check for a key */
+        if (kbhit ()) {
+            if (cgetc () == 'd') {
+                /* Start the debugger */
+                BREAK ();
+            } else {
+                /* Stop playing music */
+                break;
+            }
+        }
+
+        /* Play all three voices */
+        for (I = 0; I < 3; ++I) {
+
+            /* Get a pointer to this voice */
+            VC = V [I];
+            Voice = VC->Voice;
+
+            /* Is this voice done? */
+            if (Done & VC->DoneMask) {
+                /* Voice already done */
+                continue;
+            }
+
+            /* Do we have any more ticks to play? */
+            if (VC->Ticks == 0) {
+                /* We need new data */
+                if ((Val = *VC->Data) == 0) {
+                    /* End of data. Mark the voice as done */
+                    Done |= VC->DoneMask;
+                    continue;
+                }
+                ++VC->Data;
+
+                /* Get the ticks from the data */
+                VC->Ticks = (Val & 0x7F) - 1;
+
+                /* Check if this is a tone or a pause */
+                if (Val & 0x8000) {
+                    /* This is a pause. Remember it and shut off the SID */
+                    outb (&Voice->ctrl, VC->Trigger & 0xFE);
+                } else {
+                    /* This is a tone. Extract the attributes. */
+                    Tone = (Val >> 8) & 0x0F;
+                    Octave = ((Val >> 12) & 0x07) ^ 0x07;
+                    /* Calculate the frequency */
+                    VC->Freq = FreqTab [Tone] >> Octave;
+                    /* Set the frequency */
+                    outw (&Voice->freq, VC->Freq);
+                    /* Start the tone */
+                    outb (&Voice->ctrl, VC->Trigger);
+                }
+            } else {
+                /* Decrement the ticks. If this is the last tick of a tone,
+                 * reset bit 0 of the trigger value and write it back to the
+                 * SID to start the release phase.
+                 */
+                if (--(VC->Ticks) == 0) {
+                    outb (&Voice->ctrl, VC->Trigger & 0xFE);
+                }
+            }
+        }
     }
 
     /* Reset the SID */
@@ -1169,7 +1169,7 @@ int main (void)
 
     /* If we have a character, remove it from the buffer */
     if (kbhit ()) {
-               cgetc ();
+        cgetc ();
     }
 
     /* Done */
index cf0d911f54a96bdb6136675f8ea089d4d8026c7f..ef21ef60ee227ada2bce1bfa276744de8c1c3845 100644 (file)
@@ -3,7 +3,7 @@
  *                                                                           *
  * (w)2001 by groepaz/hitmen                                                 *
  *                                                                           *
- * Cleanup and porting by Ullrich von Bassewitz.                            *
+ * Cleanup and porting by Ullrich von Bassewitz.                             *
  *                                                                           *
  *****************************************************************************/
 
 #  define SCREEN1               0xE000
 #  define SCREEN2               0xE400
 #  define CHARSET               0xE800
-#  define outb(addr,val)               (*(addr)) = (val)
+#  define outb(addr,val)        (*(addr)) = (val)
 #  define inb(addr)             (*(addr))
 #elif defined(__CBM510__)
 #  define SCREEN1               0xF000
 #  define SCREEN2               0xF400
 #  define CHARSET               0xE000
-#  define outb(addr,val)       pokebsys ((unsigned)(addr), val)
+#  define outb(addr,val)        pokebsys ((unsigned)(addr), val)
 #  define inb(addr)             peekbsys ((unsigned)(addr))
 #elif defined(__PLUS4__)
 #  define SCREEN1               0x6400
 #  define SCREEN2               0x6C00
 #  define CHARSET               0x7000
-#  define outb(addr,val)               (*(addr)) = (val)
+#  define outb(addr,val)        (*(addr)) = (val)
 #  define inb(addr)             (*(addr))
 #endif
 
@@ -41,7 +41,7 @@
 #if defined(__PLUS4__)
 #define PAGE1                   ((SCREEN1 >> 8) & 0xF8)
 #define PAGE2                   ((SCREEN2 >> 8) & 0xF8)
-#define CHARADR                        ((CHARSET >> 8) & 0xFC)
+#define CHARADR                 ((CHARSET >> 8) & 0xFC)
 #else
 #define PAGE1                   ((SCREEN1 >> 6) & 0xF0) | ((CHARSET >> 10) & 0x0E)
 #define PAGE2                   ((SCREEN2 >> 6) & 0xF0) | ((CHARSET >> 10) & 0x0E)
@@ -106,7 +106,7 @@ static void doplasma (register unsigned char* scrn)
     for (ii = 0; ii < 25; ++ii) {
         ybuf[ii] = (sinustable[c1a] + sinustable[c1b]);
         c1a += 4;
-       c1b += 9;
+        c1b += 9;
     }
     c1A += 3;
     c1B -= 5;
@@ -115,15 +115,15 @@ static void doplasma (register unsigned char* scrn)
     for (i = 0; i < 40; ++i) {
         xbuf[i] = (sinustable[c2a] + sinustable[c2b]);
         c2a += 3;
-       c2b += 7;
+        c2b += 7;
     }
     c2A += 2;
     c2B -= 3;
     for (ii = 0; ii < 25; ++ii) {
-       /* Unrolling the following loop will give a speed increase of
-        * nearly 100% (~24fps), but it will also increase the code
-        * size a lot.
-        */
+        /* Unrolling the following loop will give a speed increase of
+         * nearly 100% (~24fps), but it will also increase the code
+         * size a lot.
+         */
         for (i = 0; i < 40; ++i, ++scrn) {
             *scrn = (xbuf[i] + ybuf[ii]);
         }
@@ -135,26 +135,26 @@ static void doplasma (register unsigned char* scrn)
 static void makechar (void)
 {
     static const unsigned char bittab[8] = {
-       0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
+        0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
     };
     unsigned char i, ii, b, s;
     unsigned c;
 
     gotoxy (0, 1);
     for (c = 0; c < 0x100; ++c) {
-       s = sinustable[c];
+        s = sinustable[c];
         for (i = 0; i < 8; ++i){
             b = 0;
             for (ii = 0; ii < 8; ++ii) {
                 if ((rand() & 0xFF) > s) {
-                   b |= bittab[ii];
-               }
+                    b |= bittab[ii];
+                }
             }
             ((unsigned char*)CHARSET) [(c*8) + i] = b;
         }
-       if ((c & 0x07) == 0) {
-           cputc ('.');
-       }
+        if ((c & 0x07) == 0) {
+            cputc ('.');
+        }
     }
 }
 
@@ -222,8 +222,8 @@ int main (void)
 
 #if defined(__PLUS4__)
     for (i=0;i<1000;i++) {
-       ((unsigned char *) (SCREEN1-0x0400))[i] = 0;
-       ((unsigned char *) (SCREEN2-0x0400))[i] = 0;
+        ((unsigned char *) (SCREEN1-0x0400))[i] = 0;
+        ((unsigned char *) (SCREEN2-0x0400))[i] = 0;
     }
     outb (&TED.char_addr, CHARADR);
 #endif
@@ -231,23 +231,23 @@ int main (void)
     /* Run the demo until a key was hit */
     t = clock ();
     while (!kbhit()) {
-       /* Build page 1, then make it visible */
+        /* Build page 1, then make it visible */
         doplasma ((unsigned char*)SCREEN1);
 #if defined(__PLUS4__)
-       outb (&TED.video_addr, PAGE1);
+        outb (&TED.video_addr, PAGE1);
 #else
-       outb (&VIC.addr, PAGE1);
+        outb (&VIC.addr, PAGE1);
 #endif
 
-       /* Build page 2, then make it visible */
+        /* Build page 2, then make it visible */
         doplasma ((unsigned char*)SCREEN2);
 #if defined(__PLUS4__)
-       outb (&TED.video_addr, PAGE2);
+        outb (&TED.video_addr, PAGE2);
 #else
-       outb (&VIC.addr, PAGE2);
+        outb (&VIC.addr, PAGE2);
 #endif
 
-       /* Count frames */
+        /* Count frames */
         f += 2;
     }
     t = clock() - t;
index a82e972c9d1620a6578ea91b8b380784e3bb2968..9ecbab02052b5971b7495255bd322f412c4db644 100644 (file)
 
 /* Workaround missing clock stuff */
 #if defined(__APPLE2__) || defined(__APPLE2ENH__)
-#  define clock()              0
-#  define CLOCKS_PER_SEC       1
+#  define clock()               0
+#  define CLOCKS_PER_SEC        1
 #endif
 
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-#define COUNT          16384           /* Up to what number? */
-#define SQRT_COUNT     128             /* Sqrt of COUNT */
+#define COUNT           16384           /* Up to what number? */
+#define SQRT_COUNT      128             /* Sqrt of COUNT */
 
 static unsigned char Sieve[COUNT];
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -59,8 +59,8 @@ int main (void)
 
     /* This is an example where register variables make sense */
     register unsigned char* S;
-    register unsigned      I;
-    register unsigned      J;
+    register unsigned       I;
+    register unsigned       J;
 
     /* Output a header */
     printf ("Sieve benchmark - calculating primes\n");
@@ -73,17 +73,17 @@ int main (void)
     /* Execute the sieve */
     I = 2;
     while (I < SQRT_COUNT) {
-       if (Sieve[I] == 0) {
-           /* Prime number - mark multiples */
+        if (Sieve[I] == 0) {
+            /* Prime number - mark multiples */
             J = I*2;
-           S = &Sieve[J];
-                   while (J < COUNT) {
-               *S = 1;
-               S += I;
-               J += I;
-           }
-       }
-       ++I;
+            S = &Sieve[J];
+            while (J < COUNT) {
+                *S = 1;
+                S += I;
+                J += I;
+            }
+        }
+        ++I;
     }
 
     /* Calculate the time used */
@@ -97,11 +97,11 @@ int main (void)
 
     /* Wait for a key and print the list if not 'Q' */
     if (ReadUpperKey () != 'Q') {
-       /* Print the result */
+        /* Print the result */
         J = 0;
-       for (I = 2; I < COUNT; ++I) {
-           if (Sieve[I] == 0) {
-               printf ("%4d\n", I);
+        for (I = 2; I < COUNT; ++I) {
+            if (Sieve[I] == 0) {
+                printf ("%4d\n", I);
                 if (++J == 23) {
                     printf ("Q to quit, any other key continues\n");
                     if (ReadUpperKey () == 'Q') {
@@ -109,11 +109,11 @@ int main (void)
                     }
                     J = 0;
                 }
-           }
-                   if (kbhit() && ReadUpperKey == 'Q') {
-               break;
-           }
-       }
+            }
+            if (kbhit() && ReadUpperKey == 'Q') {
+                break;
+            }
+        }
     }
 
     return EXIT_SUCCESS;
index 3329dd3ca258b670015de1a75efd2c05187dd93e..a7e3b10f677943d1809a89f6d2812e7e56b7bdf2 100644 (file)
 
 
 #ifndef DYN_DRV
-#  define DYN_DRV      1
+#  define DYN_DRV       1
 #endif
 
-#define COLOR_BACK     TGI_COLOR_BLACK
-#define COLOR_FORE     TGI_COLOR_WHITE
+#define COLOR_BACK      TGI_COLOR_BLACK
+#define COLOR_FORE      TGI_COLOR_WHITE
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -31,7 +31,7 @@ static unsigned AspectRatio;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 82695c18f81f2ce88da3c87485ab7902a1af3f1b..41be9d65ec8846f144550187c5b3f3e5996f2775 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-extern const char text[];      /* In text.s */
+extern const char text[];       /* In text.s */
 
 int main (void)
 {
index 173a4da0d34f2bdf7bd7958e3dd78c37c3af4533..a72be18b1236554015f17b86d2a4ac0a6c13989a 100644 (file)
@@ -1,4 +1,4 @@
 
-       .export _text
-       _text:  .asciiz "Hello world!"
+        .export _text
+        _text:  .asciiz "Hello world!"
 
index 1ca0ff14fa45a559e1fe68f128ec8db23c371587..cecb892927850b7af64a19d07354adf4d0dd1419 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  add.c                                   */
+/*                                   add.c                                   */
 /*                                                                           */
-/*                Object file adding for the ar65 archiver                  */
+/*                 Object file adding for the ar65 archiver                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,10 +55,10 @@ void AddObjFiles (int argc, char* argv [])
 
     /* Check the argument count */
     if (argc <= 0) {
-       Error ("No library name given");
+        Error ("No library name given");
     }
     if (argc <= 1) {
-       Error ("No object files to add");
+        Error ("No object files to add");
     }
 
     /* Open the library, read the index */
@@ -67,8 +67,8 @@ void AddObjFiles (int argc, char* argv [])
     /* Add the object files */
     I = 1;
     while (I < argc) {
-       ObjAdd (argv [I]);
-       ++I;
+        ObjAdd (argv [I]);
+        ++I;
     }
 
     /* Create a new library file and close the old one */
index 38bf8682a1ca585367f714bc7737bf7c1736466f..abaf017b65cb30de4caa1bd338f7f28f55762e82 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  add.h                                   */
+/*                                   add.h                                   */
 /*                                                                           */
-/*                Object file adding for the ar65 archiver                  */
+/*                 Object file adding for the ar65 archiver                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a94be258fdb5c2b0aa4d9f4a7b13966924e6cdf2..d95c012f989e2a1c5ee41a37f0a1bf1e164861a9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  del.h                                   */
+/*                                   del.h                                   */
 /*                                                                           */
-/*               Object file deleting for the ar65 archiver                 */
+/*                Object file deleting for the ar65 archiver                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,10 +55,10 @@ void DelObjFiles (int argc, char* argv [])
 
     /* Check the argument count */
     if (argc <= 0) {
-       Error ("No library name given");
+        Error ("No library name given");
     }
     if (argc <= 1) {
-       Error ("No modules to delete");
+        Error ("No modules to delete");
     }
 
     /* Open the library, read the index */
@@ -67,9 +67,9 @@ void DelObjFiles (int argc, char* argv [])
     /* Delete the modules */
     I = 1;
     while (I < argc) {
-       /* Delete the module from the list */
-       DelObjData (argv [I]);
-       ++I;
+        /* Delete the module from the list */
+        DelObjData (argv [I]);
+        ++I;
     }
 
     /* Create a new library file and close the old one */
index 18f6c3cc0323315b74bc6b2db6ab728e1180ccd7..f25672609ebd875736494b0dc19aae338e881ac4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  del.h                                   */
+/*                                   del.h                                   */
 /*                                                                           */
-/*               Object file deleting for the ar65 archiver                 */
+/*                Object file deleting for the ar65 archiver                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -49,7 +49,7 @@ void DelObjFiles (int argc, char* argv []);
 
 
 
-/* End of del.h */              
+/* End of del.h */               
 
 #endif
 
index 26e5619ee846e89f2c11a5e301ebbd0a8cf2055a..d21c9e9b7943a7fc7a330c97891bd30a97315ef1 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*                  Error handling for the ar65 archiver                    */
+/*                   Error handling for the ar65 archiver                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f7a5122e62b30dbfc015f1ab01a1ebea33a7e878..abff5bd2a0cb6ab4523624a0c0ab623f3622ed77 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*                  Error handling for the ar65 archiver                    */
+/*                   Error handling for the ar65 archiver                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8f74c670ff965ba9de7aa63b5efe9457d7512e4c..75a1986e8d06beb73d3a02cc50087e1663321c24 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                exports.c                                 */
+/*                                 exports.c                                 */
 /*                                                                           */
-/*             Duplicate export checking for the ar65 archiver              */
+/*              Duplicate export checking for the ar65 archiver              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* A hash table entry */
 typedef struct HashEntry HashEntry;
 struct HashEntry {
-    HashEntry*                 Next;           /* Next in list */
-    const ObjData*      Module;                /* Pointer to object module */
-    char               Name [1];       /* Name of identifier */
+    HashEntry*          Next;           /* Next in list */
+    const ObjData*      Module;         /* Pointer to object module */
+    char                Name [1];       /* Name of identifier */
 };
 
 /* Hash table */
-#define HASHTAB_SIZE   4783
-static HashEntry*      HashTab [HASHTAB_SIZE];
+#define HASHTAB_SIZE    4783
+static HashEntry*       HashTab [HASHTAB_SIZE];
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -83,8 +83,8 @@ static HashEntry* NewHashEntry (const char* Name, const ObjData* Module)
     HashEntry* H = xmalloc (sizeof (HashEntry) + Len);
 
     /* Initialize the fields and return it */
-    H->Next    = 0;
-    H->Module  = Module;
+    H->Next     = 0;
+    H->Module   = Module;
     memcpy (H->Name, Name, Len);
     H->Name [Len] = '\0';
     return H;
@@ -105,23 +105,23 @@ void ExpInsert (const char* Name, const ObjData* Module)
 
     /* Search through the list in that slot and print matching duplicates */
     if (HashTab [HashVal] == 0) {
-       /* The slot is empty */
-       HashTab [HashVal] = H;
-       return;
+        /* The slot is empty */
+        HashTab [HashVal] = H;
+        return;
     }
     L = HashTab [HashVal];
     while (1) {
-       if (strcmp (L->Name, Name) == 0) {
-           /* Duplicate entry */
-                   Warning ("External symbol `%s' in module `%s', library `%s' "
+        if (strcmp (L->Name, Name) == 0) {
+            /* Duplicate entry */
+            Warning ("External symbol `%s' in module `%s', library `%s' "
                      "is duplicated in module `%s'",
-                    Name, L->Name, LibName, Module->Name);
-       }
-       if (L->Next == 0) {
-           break;
-       } else {
-           L = L->Next;
-       }
+                     Name, L->Name, LibName, Module->Name);
+        }
+        if (L->Next == 0) {
+            break;
+        } else {
+            L = L->Next;
+        }
     }
     L->Next = H;
 }
@@ -137,11 +137,11 @@ const ObjData* ExpFind (const char* Name)
     HashEntry* L = HashTab [HashStr (Name) % HASHTAB_SIZE];
     while (L) {
         /* Search through the list in that slot */
-       if (strcmp (L->Name, Name) == 0) {
-           /* Entry found */
-           return L->Module;
-       }
-       L = L->Next;
+        if (strcmp (L->Name, Name) == 0) {
+            /* Entry found */
+            return L->Module;
+        }
+        L = L->Next;
     }
 
     /* Not found */
index 1ac30edf388a936734d6a6f536ab1b44bd941dd6..272b19d63b665bf976ac9dd84f890f6a279fd7cc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                exports.h                                 */
+/*                                 exports.h                                 */
 /*                                                                           */
-/*             Duplicate export checking for the ar65 archiver              */
+/*              Duplicate export checking for the ar65 archiver              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@ struct ObjData;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e6769f76f577abfe6a779b2ab172422507ae0d9e..43d7c5b3b8a7ae6ac1203917ba47485335295056 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                extract.c                                 */
+/*                                 extract.c                                 */
 /*                                                                           */
-/*              Object file extraction for the ar65 archiver                */
+/*               Object file extraction for the ar65 archiver                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,10 +55,10 @@ void ExtractObjFiles (int argc, char* argv [])
 
     /* Check the argument count */
     if (argc <= 0) {
-       Error ("No library name given");
+        Error ("No library name given");
     }
     if (argc <= 1) {
-       Error ("No object files to extract");
+        Error ("No object files to extract");
     }
 
     /* Open the library, read the index */
@@ -67,8 +67,8 @@ void ExtractObjFiles (int argc, char* argv [])
     /* Extract the object files */
     I = 1;
     while (I < argc) {
-       ObjExtract (argv [I]);
-       ++I;
+        ObjExtract (argv [I]);
+        ++I;
     }
 
     /* Create a new library file and close the old one */
index c413fd8bc68e20c4dace0cd90e90235ff3a9e192..705d2c8e105d7a91ca449b70da779dcab2bbd265 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                extract.h                                 */
+/*                                 extract.h                                 */
 /*                                                                           */
-/*              Object file extraction for the ar65 archiver                */
+/*               Object file extraction for the ar65 archiver                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b4c6b4aec9058cc46e45e731f7bb6429babf7871..0bd925f154ea0d3bc93849dd475ec1ed3efc9a40 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.c                                  */
+/*                                 fileio.c                                  */
 /*                                                                           */
-/*                     File I/O for the ar65 archiver                       */
+/*                      File I/O for the ar65 archiver                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -54,7 +54,7 @@ void Write8 (FILE* F, unsigned char Val)
 /* Write an 8 bit value to the file */
 {
     if (putc (Val, F) == EOF) {
-       Error ("Write error (disk full?)");
+        Error ("Write error (disk full?)");
     }
 }
 
@@ -89,12 +89,12 @@ void WriteVar (FILE* F, unsigned long V)
      * needing 5 bytes if a 32 bit value is written to file.
      */
     do {
-       unsigned char C = (V & 0x7F);
-       V >>= 7;
-       if (V) {
-           C |= 0x80;
-       }
-       Write8 (F, C);
+        unsigned char C = (V & 0x7F);
+        V >>= 7;
+        if (V) {
+            C |= 0x80;
+        }
+        Write8 (F, C);
     } while (V != 0);
 }
 
@@ -114,7 +114,7 @@ void WriteData (FILE* F, const void* Data, unsigned Size)
 /* Write data to the file */
 {
     if (fwrite (Data, 1, Size, F) != Size) {
-       Error ("Write error (disk full?)");
+        Error ("Write error (disk full?)");
     }
 }
 
@@ -125,7 +125,7 @@ unsigned Read8 (FILE* F)
 {
     int C = getc (F);
     if (C == EOF) {
-       Error ("Read error (file corrupt?)");
+        Error ("Read error (file corrupt?)");
     }
     return C;
 }
@@ -162,12 +162,12 @@ unsigned long ReadVar (FILE* F)
     unsigned long V = 0;
     unsigned Shift = 0;
     do {
-       /* Read one byte */
-       C = Read8 (F);
-       /* Encode it into the target value */
-       V |= ((unsigned long)(C & 0x7F)) << Shift;
-       /* Next value */
-       Shift += 7;
+        /* Read one byte */
+        C = Read8 (F);
+        /* Encode it into the target value */
+        V |= ((unsigned long)(C & 0x7F)) << Shift;
+        /* Next value */
+        Shift += 7;
     } while (C & 0x80);
 
     /* Return the value read */
@@ -197,7 +197,7 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
 /* Read data from the file */
 {
     if (fread (Data, 1, Size, F) != Size) {
-       Error ("Read error (file corrupt?)");
+        Error ("Read error (file corrupt?)");
     }
     return Data;
 }
index 3a636e987d42e7ead7bc0aba5cfd855eceaa2742..0c69f7c1389c624312574fb2c83fa38fa03309ee 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.h                                  */
+/*                                 fileio.h                                  */
 /*                                                                           */
-/*                     File I/O for the ar65 archiver                       */
+/*                      File I/O for the ar65 archiver                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 459dc83e7f4999c18f2e2827da818af2ebf354b8..02157f08bcdb80f5b965d6b652693857e12546ff 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*                 Global variables for the ar65 archiver                   */
+/*                  Global variables for the ar65 archiver                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -38,7 +38,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index c8021be86a5e6541c59265736b7e8086054bc180..f35452d5c8890e3017c57203be15212e9df0912d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*                 Global variables for the ar65 archiver                   */
+/*                  Global variables for the ar65 archiver                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index c7c9e02c29bb1f5e8e61d5aeedb70d2d4e6dbcb5..9fdbf9e91239ec7c00930da6142c27894d22fc30 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                library.c                                 */
+/*                                 library.c                                 */
 /*                                                                           */
-/*        Library data structures and helpers for the ar65 archiver         */
+/*         Library data structures and helpers for the ar65 archiver         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
                         
 /* Name of the library file */
-const char*            LibName = 0;
+const char*             LibName = 0;
 
 /* File descriptor for the library file */
-FILE*                  NewLib = 0;
-static FILE*                   Lib = 0;
+FILE*                   NewLib = 0;
+static FILE*            Lib = 0;
 
 /* The library header */
-static LibHeader       Header = {
+static LibHeader        Header = {
     LIB_MAGIC,
     LIB_VERSION,
     0,
@@ -79,7 +79,7 @@ static LibHeader      Header = {
 
 
 /*****************************************************************************/
-/*                      Writing file data structures                        */
+/*                       Writing file data structures                        */
 /*****************************************************************************/
 
 
@@ -93,11 +93,11 @@ static void ReadHeader (void)
     /* Read the header fields, checking magic and version */
     Header.Magic   = Read32 (Lib);
     if (Header.Magic != LIB_MAGIC) {
-       Error ("`%s' is not a valid library file", LibName);
+        Error ("`%s' is not a valid library file", LibName);
     }
     Header.Version = Read16 (Lib);
     if (Header.Version != LIB_VERSION) {
-       Error ("Wrong data version in `%s'", LibName);
+        Error ("Wrong data version in `%s'", LibName);
     }
     Header.Flags   = Read16 (Lib);
     Header.IndexOffs = Read32 (Lib);
@@ -109,7 +109,7 @@ static void ReadIndexEntry (void)
 /* Read one entry in the index */
 {
     /* Create a new entry and insert it into the list */
-    ObjData* O         = NewObjData ();
+    ObjData* O  = NewObjData ();
 
     /* Module name/flags/MTime/Start/Size */
     O->Name     = ReadStr (Lib);
@@ -134,7 +134,7 @@ static void ReadIndex (void)
 
     /* Read all entries in the index */
     while (Count--) {
-       ReadIndexEntry ();
+        ReadIndexEntry ();
     }
 
     /* Read basic object file data from the actual entries */
@@ -151,7 +151,7 @@ static void ReadIndex (void)
 
 
 /*****************************************************************************/
-/*                              Writing file data structures                        */
+/*                       Writing file data structures                        */
 /*****************************************************************************/
 
 
@@ -200,14 +200,14 @@ static void WriteIndex (void)
 
     /* Write the object files */
     for (I = 0; I < CollCount (&ObjPool); ++I) {
-       WriteIndexEntry (CollConstAt (&ObjPool, I));
+        WriteIndexEntry (CollConstAt (&ObjPool, I));
     }
 }
 
 
 
 /*****************************************************************************/
-/*                            High level stuff                              */
+/*                             High level stuff                              */
 /*****************************************************************************/
 
 
@@ -225,32 +225,32 @@ void LibOpen (const char* Name, int MustExist, int NeedTemp)
     Lib = fopen (Name, "rb");
     if (Lib == 0) {
 
-               /* File does not exist */
-               if (MustExist) {
-                   Error ("Library `%s' does not exist", Name);
-               } else {
-           Warning ("Library `%s' not found - will be created", Name);
-               }
+        /* File does not exist */
+        if (MustExist) {
+            Error ("Library `%s' does not exist", Name);
+        } else {
+            Warning ("Library `%s' not found - will be created", Name);
+        }
 
     } else {
 
         /* We have an existing file: Read the header */
-       ReadHeader ();
+        ReadHeader ();
 
-       /* Now read the existing index */
-               ReadIndex ();
+        /* Now read the existing index */
+        ReadIndex ();
 
     }
 
     if (NeedTemp) {
-       /* Create the temporary library */
-       NewLib = tmpfile ();
-       if (NewLib == 0) {
-           Error ("Cannot create temporary file: %s", strerror (errno));
-       }
-
-       /* Write a dummy header to the temp file */
-       WriteHeader ();
+        /* Create the temporary library */
+        NewLib = tmpfile ();
+        if (NewLib == 0) {
+            Error ("Cannot create temporary file: %s", strerror (errno));
+        }
+
+        /* Write a dummy header to the temp file */
+        WriteHeader ();
     }
 }
 
@@ -268,10 +268,10 @@ unsigned long LibCopyTo (FILE* F, unsigned long Bytes)
 
     /* Copy loop */
     while (Bytes) {
-       unsigned Count = (Bytes > sizeof (Buf))? sizeof (Buf) : Bytes;
-       ReadData (F, Buf, Count);
-       WriteData (NewLib, Buf, Count);
-       Bytes -= Count;
+        unsigned Count = (Bytes > sizeof (Buf))? sizeof (Buf) : Bytes;
+        ReadData (F, Buf, Count);
+        WriteData (NewLib, Buf, Count);
+        Bytes -= Count;
     }
 
     /* Return the start position */
@@ -290,10 +290,10 @@ void LibCopyFrom (unsigned long Pos, unsigned long Bytes, FILE* F)
 
     /* Copy loop */
     while (Bytes) {
-       unsigned Count = (Bytes > sizeof (Buf))? sizeof (Buf) : Bytes;
-       ReadData (Lib, Buf, Count);
-       WriteData (F, Buf, Count);
-       Bytes -= Count;
+        unsigned Count = (Bytes > sizeof (Buf))? sizeof (Buf) : Bytes;
+        ReadData (Lib, Buf, Count);
+        WriteData (F, Buf, Count);
+        Bytes -= Count;
     }
 }
 
@@ -313,11 +313,11 @@ static void LibCheckExports (ObjData* O)
     for (I = 0; I < CollCount (&O->Exports); ++I) {
 
         /* Get the name of the export */
-       const char* Name = CollConstAt (&O->Exports, I);
+        const char* Name = CollConstAt (&O->Exports, I);
 
-       /* Insert the name into the hash table */
-       Print (stdout, 1, "  %s\n", Name);
-       ExpInsert (Name, O);
+        /* Insert the name into the hash table */
+        Print (stdout, 1, "  %s\n", Name);
+        ExpInsert (Name, O);
     }
 }
 
@@ -331,65 +331,65 @@ void LibClose (void)
     /* Do we have a temporary library? */
     if (NewLib) {
 
-       unsigned I;
-       unsigned char Buf [4096];
-       size_t Count;
+        unsigned I;
+        unsigned char Buf [4096];
+        size_t Count;
 
         /* Walk through the object file list, inserting exports into the
-        * export list checking for duplicates. Copy any data that is still
-        * in the old library into the new one.
-        */
-       for (I = 0; I < CollCount (&ObjPool); ++I) {
-
-                   /* Get a pointer to the object */
-           ObjData* O = CollAtUnchecked (&ObjPool, I);
-
-           /* Check exports, make global export table */
-           LibCheckExports (O);
-
-           /* Copy data if needed */
-           if ((O->Flags & OBJ_HAVEDATA) == 0) {
-               /* Data is still in the old library */
-               fseek (Lib, O->Start, SEEK_SET);
-               O->Start = ftell (NewLib);
-               LibCopyTo (Lib, O->Size);
-               O->Flags |= OBJ_HAVEDATA;
-           }
-       }
-
-       /* Write the index */
-       WriteIndex ();
-
-       /* Write the updated header */
-       WriteHeader ();
-
-       /* Close the file */
-       if (Lib && fclose (Lib) != 0) {
-           Error ("Error closing library: %s", strerror (errno));
-       }
-
-       /* Reopen the library and truncate it */
-       Lib = fopen (LibName, "wb");
-       if (Lib == 0) {
-           Error ("Cannot open library `%s' for writing: %s",
-                  LibName, strerror (errno));
-       }
-
-       /* Copy the new library to the new one */
-       fseek (NewLib, 0, SEEK_SET);
-       while ((Count = fread (Buf, 1, sizeof (Buf), NewLib)) != 0) {
-           if (fwrite (Buf, 1, Count, Lib) != Count) {
-               Error ("Cannot write to `%s': %s", LibName, strerror (errno));
-           }
-       }
+         * export list checking for duplicates. Copy any data that is still
+         * in the old library into the new one.
+         */
+        for (I = 0; I < CollCount (&ObjPool); ++I) {
+
+            /* Get a pointer to the object */
+            ObjData* O = CollAtUnchecked (&ObjPool, I);
+
+            /* Check exports, make global export table */
+            LibCheckExports (O);
+
+            /* Copy data if needed */
+            if ((O->Flags & OBJ_HAVEDATA) == 0) {
+                /* Data is still in the old library */
+                fseek (Lib, O->Start, SEEK_SET);
+                O->Start = ftell (NewLib);
+                LibCopyTo (Lib, O->Size);
+                O->Flags |= OBJ_HAVEDATA;
+            }
+        }
+
+        /* Write the index */
+        WriteIndex ();
+
+        /* Write the updated header */
+        WriteHeader ();
+
+        /* Close the file */
+        if (Lib && fclose (Lib) != 0) {
+            Error ("Error closing library: %s", strerror (errno));
+        }
+
+        /* Reopen the library and truncate it */
+        Lib = fopen (LibName, "wb");
+        if (Lib == 0) {
+            Error ("Cannot open library `%s' for writing: %s",
+                   LibName, strerror (errno));
+        }
+
+        /* Copy the new library to the new one */
+        fseek (NewLib, 0, SEEK_SET);
+        while ((Count = fread (Buf, 1, sizeof (Buf), NewLib)) != 0) {
+            if (fwrite (Buf, 1, Count, Lib) != Count) {
+                Error ("Cannot write to `%s': %s", LibName, strerror (errno));
+            }
+        }
     }
 
     /* Close both files */
     if (Lib && fclose (Lib) != 0) {
-       Error ("Problem closing `%s': %s", LibName, strerror (errno));
+        Error ("Problem closing `%s': %s", LibName, strerror (errno));
     }
     if (NewLib && fclose (NewLib) != 0) {
-       Error ("Problem closing temporary library file: %s", strerror (errno));
+        Error ("Problem closing temporary library file: %s", strerror (errno));
     }
 }
 
index 09a489478271e80c4dae61727374855574b979e2..abb8c475fc3d9a9cc38173075378fc9e0900c9de 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                library.h                                 */
+/*                                 library.h                                 */
 /*                                                                           */
-/*        Library data structures and helpers for the ar65 archiver         */
+/*         Library data structures and helpers for the ar65 archiver         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 extern const char* LibName;
 
 /* File descriptor for the new library file */
-extern FILE*   NewLib;
+extern FILE*    NewLib;
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a1132517f4c24281c8d7009e823c5ca1cc1d4333..a3536c7d26ec307363fd9a6b5406952ae742b348 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 list.c                                   */
+/*                                  list.c                                   */
 /*                                                                           */
-/*                  Module listing for the ar65 archiver                    */
+/*                   Module listing for the ar65 archiver                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -58,10 +58,10 @@ void ListObjFiles (int argc, char* argv [])
 
     /* Check the argument count */
     if (argc <= 0) {
-       Error ("No library name given");
+        Error ("No library name given");
     }
     if (argc > 2) {
-       Error ("Too many arguments");
+        Error ("Too many arguments");
     }
 
     /* Open the library, read the index */
@@ -74,7 +74,7 @@ void ListObjFiles (int argc, char* argv [])
         O = CollConstAt (&ObjPool, I);
 
         /* Print the name */
-       printf ("%s\n", O->Name);
+        printf ("%s\n", O->Name);
 
     }
 
index 09ac5080e9f2c247923454f3f06de6542a046106..ea6a62512df38df37db943cb27727eba37dee21f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 list.h                                   */
+/*                                  list.h                                   */
 /*                                                                           */
-/*                  Module listing for the ar65 archiver                    */
+/*                   Module listing for the ar65 archiver                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5af84ad0e8e0c7272cbe177c4bd2b498716ab071..cf3c428f5d2aa765d014a8b845fc2e867b659356 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                 main.c                                   */
-/*                                                                          */
-/*                   Main program for the ar65 archiver                     */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                  main.c                                   */
+/*                                                                           */
+/*                    Main program for the ar65 archiver                     */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2012, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -83,54 +83,54 @@ int main (int argc, char* argv [])
 
     /* We must have a file name */
     if (ArgCount < 2) {
-       Usage ();
+        Usage ();
     }
 
     /* Check the parameters */
     I = 1;
     while (I < ArgCount) {
 
-       /* Get the argument */
-       const char* Arg = ArgVec [I];
+        /* Get the argument */
+        const char* Arg = ArgVec [I];
 
-       /* Check for an option */
-       if (strlen (Arg) != 1) {
-           Usage ();
-       }
-       switch (Arg [0]) {
+        /* Check for an option */
+        if (strlen (Arg) != 1) {
+            Usage ();
+        }
+        switch (Arg [0]) {
 
-           case 'a':
-               AddObjFiles (ArgCount - I - 1, &ArgVec[I+1]);
-               break;
+            case 'a':
+                AddObjFiles (ArgCount - I - 1, &ArgVec[I+1]);
+                break;
 
-           case 'd':
-               DelObjFiles (ArgCount - I - 1, &ArgVec [I+1]);
-               break;
+            case 'd':
+                DelObjFiles (ArgCount - I - 1, &ArgVec [I+1]);
+                break;
 
-           case 'l':
-               ListObjFiles (ArgCount - I - 1, &ArgVec [I+1]);
-               break;
+            case 'l':
+                ListObjFiles (ArgCount - I - 1, &ArgVec [I+1]);
+                break;
 
-           case 'v':
-               ++Verbosity;
-               break;
+            case 'v':
+                ++Verbosity;
+                break;
 
-           case 'x':
-               ExtractObjFiles (ArgCount - I - 1, &ArgVec [I+1]);
-               break;
+            case 'x':
+                ExtractObjFiles (ArgCount - I - 1, &ArgVec [I+1]);
+                break;
 
-           case 'V':
-               fprintf (stderr, "ar65 V%s\n", GetVersionAsString ());
-               break;
+            case 'V':
+                fprintf (stderr, "ar65 V%s\n", GetVersionAsString ());
+                break;
 
-           default:
-               fprintf (stderr, "Unknown option: %s\n", Arg);
-               Usage ();
+            default:
+                fprintf (stderr, "Unknown option: %s\n", Arg);
+                Usage ();
 
-       }
+        }
 
-       /* Next argument */
-       ++I;
+        /* Next argument */
+        ++I;
     }
 
     /* Return an apropriate exit code */
index b22ad023ae346f865853ede64449a0f85374c57c..b419fac4d7d143b7b9654d0ed2d406b9c6bfd305 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objdata.c                                 */
+/*                                 objdata.c                                 */
 /*                                                                           */
-/*             Handling object file data for the ar65 archiver              */
+/*              Handling object file data for the ar65 archiver              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ Collection       ObjPool        = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -70,12 +70,12 @@ ObjData* NewObjData (void)
     ObjData* O = xmalloc (sizeof (ObjData));
 
     /* Initialize the data */
-    O->Name       = 0;
+    O->Name        = 0;
 
-    O->Flags              = 0;
-    O->MTime      = 0;
-    O->Start      = 0;
-    O->Size       = 0;
+    O->Flags       = 0;
+    O->MTime       = 0;
+    O->Start       = 0;
+    O->Size        = 0;
 
     O->Strings     = EmptyCollection;
     O->Exports     = EmptyCollection;
@@ -134,9 +134,9 @@ ObjData* FindObjData (const char* Module)
         ObjData* O = CollAtUnchecked (&ObjPool, I);
 
         /* Did we find it? */
-       if (strcmp (O->Name, Module) == 0) {
-           return O;
-       }
+        if (strcmp (O->Name, Module) == 0) {
+            return O;
+        }
     }
     return 0;
 }
@@ -153,15 +153,15 @@ void DelObjData (const char* Module)
         ObjData* O = CollAtUnchecked (&ObjPool, I);
 
         /* Did we find it? */
-       if (strcmp (O->Name, Module) == 0) {
+        if (strcmp (O->Name, Module) == 0) {
 
-           /* Free the entry */
+            /* Free the entry */
             CollDelete (&ObjPool, I);
-           FreeObjData (O);
+            FreeObjData (O);
 
-           /* Done */
-           return;
-       }
+            /* Done */
+            return;
+        }
     }
 
     /* Not found! */
index 5d191339b774fb45a1906dc3f162b1607c12721d..52e175e84c262ac276dc0e948aa671e5b1fa51e8 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objdata.h                                 */
+/*                                 objdata.h                                 */
 /*                                                                           */
-/*             Handling object file data for the ar65 archiver              */
+/*              Handling object file data for the ar65 archiver              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Values for the Flags field */
-#define        OBJ_HAVEDATA    0x0001          /* The object data is in the tmp file */
+#define OBJ_HAVEDATA    0x0001          /* The object data is in the tmp file */
 
 
 /* Internal structure holding object file data */
 typedef struct ObjData ObjData;
 struct ObjData {
-    char*              Name;           /* Module name */
+    char*               Name;           /* Module name */
 
     /* Index entry */
-    unsigned           Flags;
-    unsigned long      MTime;          /* Modifiation time of object file */
-    unsigned long      Start;          /* Start offset of data in library */
-    unsigned long      Size;           /* Size of data in library */
+    unsigned            Flags;
+    unsigned long       MTime;          /* Modifiation time of object file */
+    unsigned long       Start;          /* Start offset of data in library */
+    unsigned long       Size;           /* Size of data in library */
 
     /* Object file header */
     ObjHeader           Header;
 
     /* Basic data needed for simple checks */
     Collection          Strings;        /* Strings from the object file */
-    Collection          Exports;               /* Exports list from object file */
+    Collection          Exports;        /* Exports list from object file */
 };
 
 
@@ -81,7 +81,7 @@ extern Collection       ObjPool;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b4560bee8d2b938f7c86c1a50ccb8d9baa040023..4f937a5de370b3177f8b416311188425713338b5 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                objfile.c                                 */
-/*                                                                          */
-/*               Object file handling for the ar65 archiver                 */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                 objfile.c                                 */
+/*                                                                           */
+/*                Object file handling for the ar65 archiver                 */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2012, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ static const char* GetModule (const char* Name)
 
     /* Must not end with a path separator */
     if (*Module == 0) {
-       Error ("Cannot make module name from `%s'", Name);
+        Error ("Cannot make module name from `%s'", Name);
     }
 
     /* Done */
@@ -80,21 +80,21 @@ static const char* GetModule (const char* Name)
 static void ObjReadHeader (FILE* Obj, ObjHeader* H, const char* Name)
 /* Read the header of the object file checking the signature */
 {
-    H->Magic     = Read32 (Obj);
+    H->Magic      = Read32 (Obj);
     if (H->Magic != OBJ_MAGIC) {
-       Error ("`%s' is not an object file", Name);
+        Error ("`%s' is not an object file", Name);
     }
-    H->Version   = Read16 (Obj);
+    H->Version    = Read16 (Obj);
     if (H->Version != OBJ_VERSION) {
-       Error ("Object file `%s' has wrong version", Name);
+        Error ("Object file `%s' has wrong version", Name);
     }
-    H->Flags               = Read16 (Obj);
+    H->Flags        = Read16 (Obj);
     H->OptionOffs   = Read32 (Obj);
     H->OptionSize   = Read32 (Obj);
     H->FileOffs     = Read32 (Obj);
     H->FileSize     = Read32 (Obj);
-    H->SegOffs             = Read32 (Obj);
-    H->SegSize             = Read32 (Obj);
+    H->SegOffs      = Read32 (Obj);
+    H->SegSize      = Read32 (Obj);
     H->ImportOffs   = Read32 (Obj);
     H->ImportSize   = Read32 (Obj);
     H->ExportOffs   = Read32 (Obj);
@@ -124,23 +124,23 @@ static void SkipExpr (FILE* F)
     /* Handle then different expression nodes */
     switch (Op) {
 
-       case EXPR_NULL:
-           break;
+        case EXPR_NULL:
+            break;
 
         case EXPR_LITERAL:
-           /* 32 bit literal value */
-           (void) Read32 (F);
-           break;
+            /* 32 bit literal value */
+            (void) Read32 (F);
+            break;
 
         case EXPR_SYMBOL:
-           /* Variable seized symbol index */
-           (void) ReadVar (F);
-           break;
+            /* Variable seized symbol index */
+            (void) ReadVar (F);
+            break;
 
         case EXPR_SECTION:
-           /* 8 bit segment number */
-           (void) Read8 (F);
-           break;
+            /* 8 bit segment number */
+            (void) Read8 (F);
+            break;
 
         default:
             /* What's left are unary and binary nodes */
@@ -236,7 +236,7 @@ void ObjAdd (const char* Name)
     /* Open the object file */
     FILE* Obj = fopen (Name, "rb");
     if (Obj == 0) {
-       Error ("Could not open `%s': %s", Name, strerror (errno));
+        Error ("Could not open `%s': %s", Name, strerror (errno));
     }
 
     /* Get the modification time of the object file. There a race condition
@@ -248,7 +248,7 @@ void ObjAdd (const char* Name)
      * here.
      */
     if (FileStat (Name, &StatBuf) != 0) {
-       Error ("Cannot stat object file `%s': %s", Name, strerror (errno));
+        Error ("Cannot stat object file `%s': %s", Name, strerror (errno));
     }
 
     /* Read and check the header */
@@ -260,16 +260,16 @@ void ObjAdd (const char* Name)
     /* Check if we already have a module with this name */
     O = FindObjData (Module);
     if (O == 0) {
-       /* Not found, create a new entry */
-       O = NewObjData ();
+        /* Not found, create a new entry */
+        O = NewObjData ();
     } else {
-       /* Found - check the file modification times of the internal copy
-        * and the external one.
-        */
-       if (difftime ((time_t)O->MTime, StatBuf.st_mtime) > 0.0) {
-           Warning ("Replacing module `%s' by older version in library `%s'",
+        /* Found - check the file modification times of the internal copy
+         * and the external one.
+         */
+        if (difftime ((time_t)O->MTime, StatBuf.st_mtime) > 0.0) {
+            Warning ("Replacing module `%s' by older version in library `%s'",
                      O->Name, LibName);
-       }
+        }
 
         /* Free data */
         ClearObjData (O);
@@ -277,8 +277,8 @@ void ObjAdd (const char* Name)
 
     /* Initialize the object module data structure */
     O->Name     = xstrdup (Module);
-    O->Flags   = OBJ_HAVEDATA;
-    O->MTime   = (unsigned long) StatBuf.st_mtime;
+    O->Flags    = OBJ_HAVEDATA;
+    O->MTime    = (unsigned long) StatBuf.st_mtime;
     O->Start    = 0;
 
     /* Determine the file size. Note: Race condition here */
@@ -313,13 +313,13 @@ void ObjExtract (const char* Name)
 
     /* Bail out if the module does not exist */
     if (O == 0) {
-       Error ("Module `%s' not found in library `%s'", Module, LibName);
+        Error ("Module `%s' not found in library `%s'", Module, LibName);
     }
 
     /* Open the output file */
     Obj = fopen (Name, "w+b");
     if (Obj == 0) {
-       Error ("Cannot open target file `%s': %s", Name, strerror (errno));
+        Error ("Cannot open target file `%s': %s", Name, strerror (errno));
     }
 
     /* Copy the complete object file data from the library to the new object
@@ -329,12 +329,12 @@ void ObjExtract (const char* Name)
 
     /* Close the file */
     if (fclose (Obj) != 0) {
-       Error ("Problem closing object file `%s': %s", Name, strerror (errno));
+        Error ("Problem closing object file `%s': %s", Name, strerror (errno));
     }
 
     /* Set access and modification time */
     if (SetFileTimes (Name, O->MTime) != 0) {
-       Error ("Cannot set mod time on `%s': %s", Name, strerror (errno));
+        Error ("Cannot set mod time on `%s': %s", Name, strerror (errno));
     }
 }
 
index a1db14e8265e56148789121326f86a7bee3fa595..3f24c7c5091a6443779cb8bbcddb0665b4920d39 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objfile.h                                 */
+/*                                 objfile.h                                 */
 /*                                                                           */
-/*               Object file handling for the ar65 archiver                 */
+/*                Object file handling for the ar65 archiver                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,7 +53,7 @@ struct ObjData;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3a24381f0b0f08c2efb0cd6587b2883f7ea41d4b..d01ae2aa1b930b2bab683d176ae5fdb36313ac79 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               anonname.c                                 */
+/*                                anonname.c                                 */
 /*                                                                           */
 /*             Create names for anonymous scopes/variables/types             */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -52,7 +52,7 @@ static const char AnonTag[] = "$anon";
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index bce9126a32156825fbca9a09a09b786f0df907c4..bfefc05b5e5a12a2d648ee55c33363b654625b6b 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               anonname.h                                 */
+/*                                anonname.h                                 */
 /*                                                                           */
 /*             Create names for anonymous scopes/variables/types             */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 84b2621c700b4daa7bfe17a276ebc30bcd298683..a1a61a117f55f5f7f50d244fbfcb17ad011185c2 100644 (file)
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ static Collection Assertions = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index fe1925e3cc00711e369f8fd541da63aaf3ba639b..f860a1af32456f2913e19ff86e0d4a5ac0ba4bdb 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ struct ExprNode;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a14bbc2f6b0e3fb12a5d68bf719ee6c2c45246a4..8be5cb687851c9b51f5b2ede272847ad7169399e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                condasm.c                                 */
+/*                                 condasm.c                                 */
 /*                                                                           */
-/*                  Conditional assembly support for ca65                   */
+/*                   Conditional assembly support for ca65                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Maximum count of nested .ifs */
-#define MAX_IFS                256
+#define MAX_IFS         256
 
 /* Set of bitmapped flags for the if descriptor */
 enum {
-    ifNone     = 0x0000,               /* No flag */
-    ifCond     = 0x0001,               /* IF condition was true */
+    ifNone      = 0x0000,               /* No flag */
+    ifCond      = 0x0001,               /* IF condition was true */
     ifParentCond= 0x0002,               /* IF condition of parent */
-    ifElse             = 0x0004,               /* We had a .ELSE branch */
-    ifNeedTerm         = 0x0008,               /* Need .ENDIF termination */
+    ifElse      = 0x0004,               /* We had a .ELSE branch */
+    ifNeedTerm  = 0x0008,               /* Need .ENDIF termination */
 };
 
 /* The overall .IF condition */
@@ -69,7 +69,7 @@ int IfCond      = 1;
 
 
 /*****************************************************************************/
-/*                              struct IfDesc                               */
+/*                               struct IfDesc                               */
 /*****************************************************************************/
 
 
@@ -77,9 +77,9 @@ int IfCond      = 1;
 /* One .IF descriptor */
 typedef struct IfDesc IfDesc;
 struct IfDesc {
-    unsigned           Flags;          /* Bitmapped flags, see above */
+    unsigned    Flags;          /* Bitmapped flags, see above */
     Collection  LineInfos;      /* File position of the .IF */
-    const char* Name;          /* Name of the directive */
+    const char* Name;           /* Name of the directive */
 };
 
 /* The .IF stack */
@@ -92,7 +92,7 @@ static IfDesc* GetCurrentIf (void)
 /* Return the current .IF descriptor */
 {
     if (IfCount == 0) {
-               return 0;
+        return 0;
     } else {
         return &IfStack[IfCount-1];
     }
@@ -125,9 +125,9 @@ static void SetIfCond (IfDesc* ID, int C)
 /* Set the .IF condition */
 {
     if (C) {
-               ID->Flags |= ifCond;
+        ID->Flags |= ifCond;
     } else {
-               ID->Flags &= ~ifCond;
+        ID->Flags &= ~ifCond;
     }
 }
 
@@ -162,7 +162,7 @@ static IfDesc* AllocIf (const char* Directive, int NeedTerm)
 
     /* Check for stack overflow */
     if (IfCount >= MAX_IFS) {
-               Fatal ("Too many nested .IFs");
+        Fatal ("Too many nested .IFs");
     }
 
     /* Get the next element */
@@ -192,23 +192,23 @@ static void FreeIf (void)
 {
     int Done;
     do {
-               IfDesc* ID = GetCurrentIf();
-               if (ID == 0) {
-                   Error (" Unexpected .ENDIF");
-           Done = 1;
-               } else {
-                   Done = (ID->Flags & ifNeedTerm) != 0;
+        IfDesc* ID = GetCurrentIf();
+        if (ID == 0) {
+            Error (" Unexpected .ENDIF");
+            Done = 1;
+        } else {
+            Done = (ID->Flags & ifNeedTerm) != 0;
             ReleaseFullLineInfo (&ID->LineInfos);
             DoneCollection (&ID->LineInfos);
             --IfCount;
-               }
+        }
     } while (!Done);
 }
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -220,10 +220,10 @@ void DoConditionals (void)
 
     do {
 
-       switch (CurTok.Tok) {
+        switch (CurTok.Tok) {
 
-           case TOK_ELSE:
-                       D = GetCurrentIf ();
+            case TOK_ELSE:
+                D = GetCurrentIf ();
 
                 /* Allow an .ELSE */
                 ElseClause (D, ".ELSE");
@@ -239,12 +239,12 @@ void DoConditionals (void)
                 CalcOverallIfCond ();
 
                 /* Skip .ELSE */
-               NextTok ();
-               ExpectSep ();
-                       break;
+                NextTok ();
+                ExpectSep ();
+                break;
 
-                   case TOK_ELSEIF:
-               D = GetCurrentIf ();
+            case TOK_ELSEIF:
+                D = GetCurrentIf ();
                 /* Handle as if there was an .ELSE first */
                 ElseClause (D, ".ELSEIF");
 
@@ -266,172 +266,172 @@ void DoConditionals (void)
 
                 /* Get the new overall condition */
                 CalcOverallIfCond ();
-               break;
+                break;
 
-           case TOK_ENDIF:
-               /* We're done with this .IF.. - remove the descriptor(s) */
-               FreeIf ();
+            case TOK_ENDIF:
+                /* We're done with this .IF.. - remove the descriptor(s) */
+                FreeIf ();
 
-               /* Be sure not to read the next token until the .IF stack
-                * has been cleanup up, since we may be at end of file.
-                */
-               NextTok ();
-               ExpectSep ();
+                /* Be sure not to read the next token until the .IF stack
+                 * has been cleanup up, since we may be at end of file.
+                 */
+                NextTok ();
+                ExpectSep ();
 
-               /* Get the new overall condition */
+                /* Get the new overall condition */
                 CalcOverallIfCond ();
-               break;
+                break;
 
-           case TOK_IF:
-               D = AllocIf (".IF", 1);
-               NextTok ();
-               if (IfCond) {
+            case TOK_IF:
+                D = AllocIf (".IF", 1);
+                NextTok ();
+                if (IfCond) {
                     SetIfCond (D, ConstExpression ());
                     ExpectSep ();
-               }
+                }
                 CalcOverallIfCond ();
-               break;
+                break;
 
-           case TOK_IFBLANK:
-               D = AllocIf (".IFBLANK", 1);
-               NextTok ();
-               if (IfCond) {
+            case TOK_IFBLANK:
+                D = AllocIf (".IFBLANK", 1);
+                NextTok ();
+                if (IfCond) {
                     if (TokIsSep (CurTok.Tok)) {
                         SetIfCond (D, 1);
                     } else {
-                       SetIfCond (D, 0);
+                        SetIfCond (D, 0);
                         SkipUntilSep ();
                     }
-               }
+                }
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFCONST:
-               D = AllocIf (".IFCONST", 1);
-               NextTok ();
-               if (IfCond) {
-                   ExprNode* Expr = Expression();
-                   SetIfCond (D, IsConstExpr (Expr, 0));
-                   FreeExpr (Expr);
-                   ExpectSep ();
-               }
+                break;
+
+            case TOK_IFCONST:
+                D = AllocIf (".IFCONST", 1);
+                NextTok ();
+                if (IfCond) {
+                    ExprNode* Expr = Expression();
+                    SetIfCond (D, IsConstExpr (Expr, 0));
+                    FreeExpr (Expr);
+                    ExpectSep ();
+                }
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFDEF:
-               D = AllocIf (".IFDEF", 1);
-               NextTok ();
-               if (IfCond) {
-                           SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
-                   SetIfCond (D, Sym != 0 && SymIsDef (Sym));
-               }
+                break;
+
+            case TOK_IFDEF:
+                D = AllocIf (".IFDEF", 1);
+                NextTok ();
+                if (IfCond) {
+                    SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
+                    SetIfCond (D, Sym != 0 && SymIsDef (Sym));
+                }
                 CalcOverallIfCond ();
-               break;
+                break;
 
-           case TOK_IFNBLANK:
-               D = AllocIf (".IFNBLANK", 1);
-               NextTok ();
-               if (IfCond) {
+            case TOK_IFNBLANK:
+                D = AllocIf (".IFNBLANK", 1);
+                NextTok ();
+                if (IfCond) {
                     if (TokIsSep (CurTok.Tok)) {
                         SetIfCond (D, 0);
                     } else {
-                       SetIfCond (D, 1);
+                        SetIfCond (D, 1);
                         SkipUntilSep ();
                     }
-               }
+                }
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFNCONST:
-               D = AllocIf (".IFNCONST", 1);
-               NextTok ();
-               if (IfCond) {
-                   ExprNode* Expr = Expression();
-                   SetIfCond (D, !IsConstExpr (Expr, 0));
-                   FreeExpr (Expr);
-                   ExpectSep ();
-               }
+                break;
+
+            case TOK_IFNCONST:
+                D = AllocIf (".IFNCONST", 1);
+                NextTok ();
+                if (IfCond) {
+                    ExprNode* Expr = Expression();
+                    SetIfCond (D, !IsConstExpr (Expr, 0));
+                    FreeExpr (Expr);
+                    ExpectSep ();
+                }
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFNDEF:
-               D = AllocIf (".IFNDEF", 1);
-               NextTok ();
-               if (IfCond) {
-                   SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
-                   SetIfCond (D, Sym == 0 || !SymIsDef (Sym));
-                   ExpectSep ();
-               }
+                break;
+
+            case TOK_IFNDEF:
+                D = AllocIf (".IFNDEF", 1);
+                NextTok ();
+                if (IfCond) {
+                    SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
+                    SetIfCond (D, Sym == 0 || !SymIsDef (Sym));
+                    ExpectSep ();
+                }
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFNREF:
-               D = AllocIf (".IFNREF", 1);
-               NextTok ();
-               if (IfCond) {
-                   SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
-                   SetIfCond (D, Sym == 0 || !SymIsRef (Sym));
-                   ExpectSep ();
-               }
+                break;
+
+            case TOK_IFNREF:
+                D = AllocIf (".IFNREF", 1);
+                NextTok ();
+                if (IfCond) {
+                    SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
+                    SetIfCond (D, Sym == 0 || !SymIsRef (Sym));
+                    ExpectSep ();
+                }
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFP02:
-                       D = AllocIf (".IFP02", 1);
-               NextTok ();
-               if (IfCond) {
-                   SetIfCond (D, GetCPU() == CPU_6502);
-               }
-               ExpectSep ();
+                break;
+
+            case TOK_IFP02:
+                D = AllocIf (".IFP02", 1);
+                NextTok ();
+                if (IfCond) {
+                    SetIfCond (D, GetCPU() == CPU_6502);
+                }
+                ExpectSep ();
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFP816:
-               D = AllocIf (".IFP816", 1);
-               NextTok ();
-               if (IfCond) {
-                           SetIfCond (D, GetCPU() == CPU_65816);
-               }
-               ExpectSep ();
+                break;
+
+            case TOK_IFP816:
+                D = AllocIf (".IFP816", 1);
+                NextTok ();
+                if (IfCond) {
+                    SetIfCond (D, GetCPU() == CPU_65816);
+                }
+                ExpectSep ();
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFPC02:
-               D = AllocIf (".IFPC02", 1);
-               NextTok ();
-               if (IfCond) {
-                           SetIfCond (D, GetCPU() == CPU_65C02);
-               }
-               ExpectSep ();
+                break;
+
+            case TOK_IFPC02:
+                D = AllocIf (".IFPC02", 1);
+                NextTok ();
+                if (IfCond) {
+                    SetIfCond (D, GetCPU() == CPU_65C02);
+                }
+                ExpectSep ();
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFPSC02:
-               D = AllocIf (".IFPSC02", 1);
-               NextTok ();
-               if (IfCond) {
-                           SetIfCond (D, GetCPU() == CPU_65SC02);
-               }
-               ExpectSep ();
+                break;
+
+            case TOK_IFPSC02:
+                D = AllocIf (".IFPSC02", 1);
+                NextTok ();
+                if (IfCond) {
+                    SetIfCond (D, GetCPU() == CPU_65SC02);
+                }
+                ExpectSep ();
                 CalcOverallIfCond ();
-               break;
-
-           case TOK_IFREF:
-               D = AllocIf (".IFREF", 1);
-               NextTok ();
-               if (IfCond) {
-                   SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
-                   SetIfCond (D, Sym != 0 && SymIsRef (Sym));
-                   ExpectSep ();
-               }
+                break;
+
+            case TOK_IFREF:
+                D = AllocIf (".IFREF", 1);
+                NextTok ();
+                if (IfCond) {
+                    SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
+                    SetIfCond (D, Sym != 0 && SymIsRef (Sym));
+                    ExpectSep ();
+                }
                 CalcOverallIfCond ();
-               break;
+                break;
 
-           default:
-               /* Skip tokens */
-               NextTok ();
+            default:
+                /* Skip tokens */
+                NextTok ();
 
-       }
+        }
 
     } while (IfCond == 0 && CurTok.Tok != TOK_EOF);
 }
@@ -479,24 +479,24 @@ void CheckOpenIfs (void)
     const LineInfo* LI;
 
     while (1) {
-       /* Get the current file number and check if the topmost entry on the
-        * .IF stack was inserted with this file number
-        */
-       IfDesc* D = GetCurrentIf ();
-       if (D == 0) {
-           /* There are no open .IFs */
-           break;
-       }
+        /* Get the current file number and check if the topmost entry on the
+         * .IF stack was inserted with this file number
+         */
+        IfDesc* D = GetCurrentIf ();
+        if (D == 0) {
+            /* There are no open .IFs */
+            break;
+        }
 
         LI = CollConstAt (&D->LineInfos, 0);
-               if (GetSourcePos (LI)->Name != CurTok.Pos.Name) {
-           /* The .if is from another file, bail out */
-           break;
-       }
-
-               /* Start of .if is in the file we're about to leave */
-       LIError (&D->LineInfos, "Conditional assembly branch was never closed");
-       FreeIf ();
+        if (GetSourcePos (LI)->Name != CurTok.Pos.Name) {
+            /* The .if is from another file, bail out */
+            break;
+        }
+
+        /* Start of .if is in the file we're about to leave */
+        LIError (&D->LineInfos, "Conditional assembly branch was never closed");
+        FreeIf ();
     }
 
     /* Calculate the new overall .IF condition */
@@ -517,7 +517,7 @@ void CleanupIfStack (unsigned SP)
 /* Cleanup the .IF stack, remove anything above the given stack pointer */
 {
     while (IfCount > SP) {
-       FreeIf ();
+        FreeIf ();
     }
 
     /* Calculate the new overall .IF condition */
index 4973a622c666e925a05b9312c7056e0790015aeb..3489310d522f8c87daff1d8b0e6c040ac2a471c4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                condasm.h                                 */
+/*                                 condasm.h                                 */
 /*                                                                           */
-/*                  Conditional assembly support for ca65                   */
+/*                   Conditional assembly support for ca65                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@ extern int IfCond;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index aa24b33096393c078682ed678491533c062c3cda..b1b845fc946c1d712c2f22d68efd5e7782e791ad 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dbginfo.c                                 */
+/*                                 dbginfo.c                                 */
 /*                                                                           */
-/*                        Handle the .dbg commands                          */
+/*                         Handle the .dbg commands                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -58,7 +58,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -181,8 +181,8 @@ void DbgInfoFile (void)
 
     /* Name */
     if (CurTok.Tok != TOK_STRCON) {
-               ErrorSkip ("String constant expected");
-               return;
+        ErrorSkip ("String constant expected");
+        return;
     }
     SB_Copy (&Name, &CurTok.SVal);
     NextTok ();
@@ -212,8 +212,8 @@ void DbgInfoFunc (void)
 /* Parse and handle func subcommand of the .dbg pseudo instruction */
 {
     static const char* StorageKeys[] = {
-               "EXTERN",
-       "STATIC",
+        "EXTERN",
+        "STATIC",
     };
 
     unsigned    Name;
@@ -228,8 +228,8 @@ void DbgInfoFunc (void)
 
     /* Name */
     if (CurTok.Tok != TOK_STRCON) {
-               ErrorSkip ("String constant expected");
-               return;
+        ErrorSkip ("String constant expected");
+        return;
     }
     Name = GetStrBufId (&CurTok.SVal);
     NextTok ();
@@ -239,8 +239,8 @@ void DbgInfoFunc (void)
 
     /* Type */
     if (CurTok.Tok != TOK_STRCON) {
-               ErrorSkip ("String constant expected");
-               return;
+        ErrorSkip ("String constant expected");
+        return;
     }
     Type = ValidateType (&CurTok.SVal);
     if (Type < 0) {
@@ -253,8 +253,8 @@ void DbgInfoFunc (void)
 
     /* The storage class follows */
     if (CurTok.Tok != TOK_IDENT) {
-               ErrorSkip ("Storage class specifier expected");
-               return;
+        ErrorSkip ("Storage class specifier expected");
+        return;
     }
     switch (GetSubKey (StorageKeys, sizeof (StorageKeys)/sizeof (StorageKeys[0]))) {
         case 0:   Flags = HLL_TYPE_FUNC | HLL_SC_EXTERN;            break;
@@ -314,7 +314,7 @@ void DbgInfoLine (void)
      * follow, the last line info is terminated.
      */
     if (CurTok.Tok == TOK_SEP) {
-       return;
+        return;
     }
 
     /* Parameters are separated by a comma */
@@ -322,8 +322,8 @@ void DbgInfoLine (void)
 
     /* The name of the file follows */
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
-       return;
+        ErrorSkip ("String constant expected");
+        return;
     }
 
     /* Get the index in the file table for the name */
@@ -338,8 +338,8 @@ void DbgInfoLine (void)
     /* Line number */
     Line = ConstExpression ();
     if (Line < 0) {
-       ErrorSkip ("Line number is out of valid range");
-       return;
+        ErrorSkip ("Line number is out of valid range");
+        return;
     }
     Pos.Line = Line;
 
@@ -354,9 +354,9 @@ void DbgInfoSym (void)
 {
     static const char* StorageKeys[] = {
         "AUTO",
-               "EXTERN",
+        "EXTERN",
         "REGISTER",
-       "STATIC",
+        "STATIC",
     };
 
     unsigned    Name;
@@ -372,8 +372,8 @@ void DbgInfoSym (void)
 
     /* Name */
     if (CurTok.Tok != TOK_STRCON) {
-               ErrorSkip ("String constant expected");
-               return;
+        ErrorSkip ("String constant expected");
+        return;
     }
     Name = GetStrBufId (&CurTok.SVal);
     NextTok ();
@@ -383,8 +383,8 @@ void DbgInfoSym (void)
 
     /* Type */
     if (CurTok.Tok != TOK_STRCON) {
-               ErrorSkip ("String constant expected");
-               return;
+        ErrorSkip ("String constant expected");
+        return;
     }
     Type = ValidateType (&CurTok.SVal);
     if (Type < 0) {
@@ -397,8 +397,8 @@ void DbgInfoSym (void)
 
     /* The storage class follows */
     if (CurTok.Tok != TOK_IDENT) {
-               ErrorSkip ("Storage class specifier expected");
-               return;
+        ErrorSkip ("Storage class specifier expected");
+        return;
     }
     switch (GetSubKey (StorageKeys, sizeof (StorageKeys)/sizeof (StorageKeys[0]))) {
         case 0:   Flags = HLL_SC_AUTO;                              break;
index 781e0d0bbec4853bc326db94442827b5e045905d..32cb3ca51e319f962ac2912d9cd6a113279be13f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dbginfo.h                                 */
+/*                                 dbginfo.h                                 */
 /*                                                                           */
-/*                        Handle the .dbg commands                          */
+/*                         Handle the .dbg commands                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 #ifndef DBGINFO_H
-#define        DBGINFO_H
+#define DBGINFO_H
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index dbedcd760bfd3bb8f85748258578be5c39f8a131..5a65638a06f005a0d84fce2eb92de28d18f4803f 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 ea65.h                                   */
+/*                                  ea65.h                                   */
 /*                                                                           */
 /*                  Effective address structure definition                   */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index d030f47b496031a4e50ebe66ee5e0b649828ff5b..48c4a2c0704289060ad39907480c388708f41831 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 ea65.c                                   */
+/*                                  ea65.c                                   */
 /*                                                                           */
 /*        65XX effective address parsing for the ca65 macroassembler         */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -83,87 +83,87 @@ void GetEA (EffAddr* A)
     /* Parse the effective address */
     if (TokIsSep (CurTok.Tok)) {
 
-       A->AddrModeSet = AM65_IMPLICIT;
+        A->AddrModeSet = AM65_IMPLICIT;
 
     } else if (CurTok.Tok == TOK_HASH) {
 
-       /* #val */
-       NextTok ();
-       A->Expr  = Expression ();
-       A->AddrModeSet = AM65_ALL_IMM;
+        /* #val */
+        NextTok ();
+        A->Expr  = Expression ();
+        A->AddrModeSet = AM65_ALL_IMM;
 
     } else if (CurTok.Tok == TOK_A) {
 
-       NextTok ();
-       A->AddrModeSet = AM65_ACCU;
+        NextTok ();
+        A->AddrModeSet = AM65_ACCU;
 
     } else if (CurTok.Tok == TOK_LBRACK) {
 
-       /* [dir] or [dir],y */
-       NextTok ();
-       A->Expr = Expression ();
-       Consume (TOK_RBRACK, "']' expected");
-       if (CurTok.Tok == TOK_COMMA) {
-           /* [dir],y */
-           NextTok ();
-           Consume (TOK_Y, "`Y' expected");
-           A->AddrModeSet = AM65_DIR_IND_LONG_Y;
-       } else {
-           /* [dir] */
-           A->AddrModeSet = AM65_DIR_IND_LONG;
-       }
+        /* [dir] or [dir],y */
+        NextTok ();
+        A->Expr = Expression ();
+        Consume (TOK_RBRACK, "']' expected");
+        if (CurTok.Tok == TOK_COMMA) {
+            /* [dir],y */
+            NextTok ();
+            Consume (TOK_Y, "`Y' expected");
+            A->AddrModeSet = AM65_DIR_IND_LONG_Y;
+        } else {
+            /* [dir] */
+            A->AddrModeSet = AM65_DIR_IND_LONG;
+        }
 
     } else if (CurTok.Tok == TOK_LPAREN) {
 
-       /* One of the indirect modes */
-       NextTok ();
-       A->Expr = Expression ();
-
-       if (CurTok.Tok == TOK_COMMA) {
-
-           /* (expr,X) or (rel,S),y */
-           NextTok ();
-           if (CurTok.Tok == TOK_X) {
-               /* (adr,x) */
-               NextTok ();
-                       A->AddrModeSet = AM65_ABS_X_IND | AM65_DIR_X_IND;
-               ConsumeRParen ();
-           } else if (CurTok.Tok == TOK_S) {
-               /* (rel,s),y */
-               NextTok ();
-               A->AddrModeSet = AM65_STACK_REL_IND_Y;
-               ConsumeRParen ();
-               ConsumeComma ();
-               Consume (TOK_Y, "`Y' expected");
-           } else {
-               Error ("Syntax error");
-           }
-
-               } else {
-
-           /* (adr) or (adr),y */
-           ConsumeRParen ();
-           if (CurTok.Tok == TOK_COMMA) {
-               /* (adr),y */
-               NextTok ();
-               Consume (TOK_Y, "`Y' expected");
-               A->AddrModeSet = AM65_DIR_IND_Y;
-           } else {
-               /* (adr) */
-               A->AddrModeSet = AM65_ABS_IND | AM65_DIR_IND;
-           }
-       }
+        /* One of the indirect modes */
+        NextTok ();
+        A->Expr = Expression ();
+
+        if (CurTok.Tok == TOK_COMMA) {
+
+            /* (expr,X) or (rel,S),y */
+            NextTok ();
+            if (CurTok.Tok == TOK_X) {
+                /* (adr,x) */
+                NextTok ();
+                A->AddrModeSet = AM65_ABS_X_IND | AM65_DIR_X_IND;
+                ConsumeRParen ();
+            } else if (CurTok.Tok == TOK_S) {
+                /* (rel,s),y */
+                NextTok ();
+                A->AddrModeSet = AM65_STACK_REL_IND_Y;
+                ConsumeRParen ();
+                ConsumeComma ();
+                Consume (TOK_Y, "`Y' expected");
+            } else {
+                Error ("Syntax error");
+            }
+
+        } else {
+
+            /* (adr) or (adr),y */
+            ConsumeRParen ();
+            if (CurTok.Tok == TOK_COMMA) {
+                /* (adr),y */
+                NextTok ();
+                Consume (TOK_Y, "`Y' expected");
+                A->AddrModeSet = AM65_DIR_IND_Y;
+            } else {
+                /* (adr) */
+                A->AddrModeSet = AM65_ABS_IND | AM65_DIR_IND;
+            }
+        }
 
     } else {
 
-       /* Remaining stuff:
-        *
-        * adr
-        * adr,x
-        * adr,y
-        * adr,s
-        */
-               A->Expr = Expression ();
+        /* Remaining stuff:
+         *
+         * adr
+         * adr,x
+         * adr,y
+         * adr,s
+         */
+        A->Expr = Expression ();
 
         if (CurTok.Tok == TOK_COMMA) {
 
index f5b6c32cd1898cb02c09e066e94b1d2a2c075799..f7f8c2018d0c05e097cf37cfa6699eb5c630602e 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 ea65.h                                   */
+/*                                  ea65.h                                   */
 /*                                                                           */
 /*        65XX effective address parsing for the ca65 macroassembler         */
 /*                                                                           */
@@ -49,7 +49,7 @@ struct EffAddr;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 15773a7aefda453dfb83920927679753bed4590f..6b3fe4f4c73f93774f6b553fe34a7b0a173fc827 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                easw16.c                                  */
+/*                                 easw16.c                                  */
 /*                                                                           */
 /*       SWEET16 effective address parsing for the ca65 macroassembler       */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -82,13 +82,13 @@ void GetSweet16EA (EffAddr* A)
     /* Parse the effective address */
     if (TokIsSep (CurTok.Tok)) {
 
-               A->AddrModeSet = AMSW16_IMP;
+        A->AddrModeSet = AMSW16_IMP;
 
     } else if (CurTok.Tok == TOK_AT) {
 
-               /* @reg or @regnumber */
-       A->AddrModeSet = AMSW16_IND;
-       NextTok ();
+        /* @reg or @regnumber */
+        A->AddrModeSet = AMSW16_IND;
+        NextTok ();
         if (CurTok.Tok == TOK_REG) {
             A->Reg = (unsigned) CurTok.IVal;
             NextTok ();
index 3c8af690a373452fcd6062bb822e79a762d2a574..81dfd0fa2cd1afb8bf86ff5bfc82934850b08937 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                easw16.h                                  */
+/*                                 easw16.h                                  */
 /*                                                                           */
 /*       SWEET16 effective address parsing for the ca65 macroassembler       */
 /*                                                                           */
@@ -49,7 +49,7 @@ struct EffAddr;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d44dbfd19cd71135fdc5bc66fcab9d9dfa441fe3..08ef52fa6dece4c5f212717c1738d937da4cf425 100644 (file)
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index eecadf0cdbaf9dd5de5e40e556cc8f12d63e7486..5e85255f0319f57db232f7403896f8da103e0ed7 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 4edb1e8a3a28afffcc0e1729b3cc6e374ad83b0e..ffda60ecdbbd78f6db1a0687bc9d0689e2a43486 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 error.c                                  */
+/*                                  error.c                                  */
 /*                                                                           */
-/*               Error handling for the ca65 macroassembler                 */
+/*                Error handling for the ca65 macroassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Warning level */
-unsigned WarnLevel     = 1;
+unsigned WarnLevel      = 1;
 
 /* Statistics */
-unsigned ErrorCount    = 0;
-unsigned WarningCount  = 0;
+unsigned ErrorCount     = 0;
+unsigned WarningCount   = 0;
 
 /* Maximum number of additional notifications */
 #define MAX_NOTES       8
@@ -184,7 +184,7 @@ static void AddNotifications (const Collection* LineInfos)
 
 
 /*****************************************************************************/
-/*                                        Warnings                                  */
+/*                                 Warnings                                  */
 /*****************************************************************************/
 
 
@@ -262,7 +262,7 @@ void LIWarning (const Collection* LineInfos, unsigned Level, const char* Format,
 
 
 /*****************************************************************************/
-/*                                 Errors                                   */
+/*                                  Errors                                   */
 /*****************************************************************************/
 
 
@@ -357,7 +357,7 @@ void ErrorSkip (const char* Format, ...)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index de0e53ac52a7e7a2a7b741ab62793b7b14ea7685..d86e68c42fb7ce6642fcb3db4e1dae09c6446b8a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 error.h                                  */
+/*                                  error.h                                  */
 /*                                                                           */
-/*               Error handling for the ca65 macroassembler                 */
+/*                Error handling for the ca65 macroassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,7 +61,7 @@ extern unsigned WarningCount;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c642bc61dd4624a7263c8d0d8cbbd10ff878fa9c..ecbd22a27ba902abd81be1ed7d4cfee25fd9f69b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 expr.c                                   */
+/*                                  expr.c                                   */
 /*                                                                           */
-/*            Expression evaluation for the ca65 macroassembler             */
+/*             Expression evaluation for the ca65 macroassembler             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -66,7 +66,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
  * number of freed nodes for later and remember them in a single linked list
  * using the Left link.
  */
-#define        MAX_FREE_NODES  64
-static ExprNode*       FreeExprNodes = 0;
-static unsigned                FreeNodeCount = 0;
+#define MAX_FREE_NODES  64
+static ExprNode*        FreeExprNodes = 0;
+static unsigned         FreeNodeCount = 0;
 
 
 
 /*****************************************************************************/
-/*                                 Helpers                                  */
+/*                                  Helpers                                  */
 /*****************************************************************************/
 
 
@@ -96,12 +96,12 @@ static ExprNode* NewExprNode (unsigned Op)
 
     /* Do we have some nodes in the list already? */
     if (FreeNodeCount) {
-       /* Use first node from list */
-       N = FreeExprNodes;
-       FreeExprNodes = N->Left;
+        /* Use first node from list */
+        N = FreeExprNodes;
+        FreeExprNodes = N->Left;
         --FreeNodeCount;
     } else {
-       /* Allocate fresh memory */
+        /* Allocate fresh memory */
         N = xmalloc (sizeof (ExprNode));
     }
     N->Op = Op;
@@ -122,22 +122,22 @@ static void FreeExprNode (ExprNode* E)
             SymDelExprRef (E->V.Sym, E);
         }
         /* Place the symbol into the free nodes list if possible */
-       if (FreeNodeCount < MAX_FREE_NODES) {
-           /* Remember this node for later */
-           E->Left = FreeExprNodes;
-           FreeExprNodes = E;
+        if (FreeNodeCount < MAX_FREE_NODES) {
+            /* Remember this node for later */
+            E->Left = FreeExprNodes;
+            FreeExprNodes = E;
             ++FreeNodeCount;
-       } else {
-           /* Free the memory */
-           xfree (E);
-       }
+        } else {
+            /* Free the memory */
+            xfree (E);
+        }
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -361,19 +361,19 @@ static ExprNode* FuncBlank (void)
     unsigned Count = 0;
     while (CurTok.Tok != Term) {
 
-       /* Check for end of line or end of input. Since the calling function
-        * will check for the closing paren, we don't need to print an error
-        * here, just bail out.
-        */
-       if (TokIsSep (CurTok.Tok)) {
-           break;
-       }
+        /* Check for end of line or end of input. Since the calling function
+         * will check for the closing paren, we don't need to print an error
+         * here, just bail out.
+         */
+        if (TokIsSep (CurTok.Tok)) {
+            break;
+        }
 
-       /* One more token */
-       ++Count;
+        /* One more token */
+        ++Count;
 
-       /* Skip the token */
-       NextTok ();
+        /* Skip the token */
+        NextTok ();
     }
 
     /* If the list was enclosed in curly braces, skip the closing brace */
@@ -464,25 +464,25 @@ static ExprNode* DoMatch (enum TC EqualityLevel)
     token_t Term = GetTokListTerm (TOK_COMMA);
     while (CurTok.Tok != Term) {
 
-       /* We may not end-of-line of end-of-file here */
-       if (TokIsSep (CurTok.Tok)) {
-           Error ("Unexpected end of line");
-           return GenLiteral0 ();
-       }
-
-       /* Get a node with this token */
-       Node = NewTokNode ();
-
-       /* Insert the node into the list */
-       if (Last == 0) {
-                   Root = Node;
-       } else {
-           Last->Next = Node;
-       }
-       Last = Node;
-
-       /* Skip the token */
-       NextTok ();
+        /* We may not end-of-line of end-of-file here */
+        if (TokIsSep (CurTok.Tok)) {
+            Error ("Unexpected end of line");
+            return GenLiteral0 ();
+        }
+
+        /* Get a node with this token */
+        Node = NewTokNode ();
+
+        /* Insert the node into the list */
+        if (Last == 0) {
+            Root = Node;
+        } else {
+            Last->Next = Node;
+        }
+        Last = Node;
+
+        /* Skip the token */
+        NextTok ();
     }
 
     /* Skip the terminator token*/
@@ -502,30 +502,30 @@ static ExprNode* DoMatch (enum TC EqualityLevel)
     Node = Root;
     while (CurTok.Tok != Term) {
 
-       /* We may not end-of-line of end-of-file here */
-       if (TokIsSep (CurTok.Tok)) {
-           Error ("Unexpected end of line");
-           return GenLiteral0 ();
-       }
-
-               /* Compare the tokens if the result is not already known */
-       if (Result != 0) {
-           if (Node == 0) {
-               /* The second list is larger than the first one */
-               Result = 0;
-           } else if (TokCmp (Node) < EqualityLevel) {
-               /* Tokens do not match */
-               Result = 0;
-           }
-       }
-
-       /* Next token in first list */
-       if (Node) {
-           Node = Node->Next;
-       }
-
-               /* Next token in current list */
-       NextTok ();
+        /* We may not end-of-line of end-of-file here */
+        if (TokIsSep (CurTok.Tok)) {
+            Error ("Unexpected end of line");
+            return GenLiteral0 ();
+        }
+
+        /* Compare the tokens if the result is not already known */
+        if (Result != 0) {
+            if (Node == 0) {
+                /* The second list is larger than the first one */
+                Result = 0;
+            } else if (TokCmp (Node) < EqualityLevel) {
+                /* Tokens do not match */
+                Result = 0;
+            }
+        }
+
+        /* Next token in first list */
+        if (Node) {
+            Node = Node->Next;
+        }
+
+        /* Next token in current list */
+        NextTok ();
     }
 
     /* If the token list was enclosed in curly braces, eat the closing brace */
@@ -535,14 +535,14 @@ static ExprNode* DoMatch (enum TC EqualityLevel)
 
     /* Check if there are remaining tokens in the first list */
     if (Node != 0) {
-       Result = 0;
+        Result = 0;
     }
 
     /* Free the token list */
     while (Root) {
-       Node = Root;
-       Root = Root->Next;
-       FreeTokNode (Node);
+        Node = Root;
+        Root = Root->Next;
+        FreeTokNode (Node);
     }
 
     /* Done, return the result */
@@ -733,9 +733,9 @@ static ExprNode* FuncStrAt (void)
 
     /* String constant expected */
     if (CurTok.Tok != TOK_STRCON) {
-       Error ("String constant expected");
-       NextTok ();
-               goto ExitPoint;
+        Error ("String constant expected");
+        NextTok ();
+        goto ExitPoint;
     }
 
     /* Remember the string and skip it */
@@ -750,7 +750,7 @@ static ExprNode* FuncStrAt (void)
 
     /* Must be a valid index */
     if (Index >= (long) SB_GetLen (&Str)) {
-       Error ("Range error");
+        Error ("Range error");
         goto ExitPoint;
     }
 
@@ -777,20 +777,20 @@ static ExprNode* FuncStrLen (void)
     /* String constant expected */
     if (CurTok.Tok != TOK_STRCON) {
 
-       Error ("String constant expected");
-       /* Smart error recovery */
-       if (CurTok.Tok != TOK_RPAREN) {
-           NextTok ();
-       }
-               Len = 0;
+        Error ("String constant expected");
+        /* Smart error recovery */
+        if (CurTok.Tok != TOK_RPAREN) {
+            NextTok ();
+        }
+        Len = 0;
 
     } else {
 
         /* Get the length of the string */
-               Len = SB_GetLen (&CurTok.SVal);
+        Len = SB_GetLen (&CurTok.SVal);
 
-       /* Skip the string */
-       NextTok ();
+        /* Skip the string */
+        NextTok ();
     }
 
     /* Return the length */
@@ -809,19 +809,19 @@ static ExprNode* FuncTCount (void)
     int Count = 0;
     while (CurTok.Tok != Term) {
 
-       /* Check for end of line or end of input. Since the calling function
-        * will check for the closing paren, we don't need to print an error
-        * here, just bail out.
-        */
-       if (TokIsSep (CurTok.Tok)) {
-           break;
-       }
+        /* Check for end of line or end of input. Since the calling function
+         * will check for the closing paren, we don't need to print an error
+         * here, just bail out.
+         */
+        if (TokIsSep (CurTok.Tok)) {
+            break;
+        }
 
-       /* One more token */
-       ++Count;
+        /* One more token */
+        ++Count;
 
-       /* Skip the token */
-       NextTok ();
+        /* Skip the token */
+        NextTok ();
     }
 
     /* If the list was enclosed in curly braces, skip the closing brace */
@@ -853,9 +853,9 @@ static ExprNode* Function (ExprNode* (*F) (void))
 
     /* Expression must be enclosed in braces */
     if (CurTok.Tok != TOK_LPAREN) {
-       Error ("'(' expected");
-       SkipUntilSep ();
-       return GenLiteral0 ();
+        Error ("'(' expected");
+        SkipUntilSep ();
+        return GenLiteral0 ();
     }
     NextTok ();
 
@@ -879,46 +879,46 @@ static ExprNode* Factor (void)
 
     switch (CurTok.Tok) {
 
-       case TOK_INTCON:
-           N = GenLiteralExpr (CurTok.IVal);
-                   NextTok ();
-           break;
+        case TOK_INTCON:
+            N = GenLiteralExpr (CurTok.IVal);
+            NextTok ();
+            break;
 
-       case TOK_CHARCON:
-           N = GenLiteralExpr (TgtTranslateChar (CurTok.IVal));
-                   NextTok ();
-           break;
+        case TOK_CHARCON:
+            N = GenLiteralExpr (TgtTranslateChar (CurTok.IVal));
+            NextTok ();
+            break;
 
-       case TOK_NAMESPACE:
-       case TOK_IDENT:
+        case TOK_NAMESPACE:
+        case TOK_IDENT:
         case TOK_LOCAL_IDENT:
             N = Symbol (ParseAnySymName (SYM_ALLOC_NEW));
-           break;
+            break;
 
-       case TOK_ULABEL:
-           N = ULabRef (CurTok.IVal);
-           NextTok ();
-           break;
+        case TOK_ULABEL:
+            N = ULabRef (CurTok.IVal);
+            NextTok ();
+            break;
 
         case TOK_PLUS:
             NextTok ();
             N = Factor ();
             break;
 
-       case TOK_MINUS:
-           NextTok ();
+        case TOK_MINUS:
+            NextTok ();
             L = Factor ();
             if (IsEasyConst (L, &Val)) {
                 FreeExpr (L);
                 N = GenLiteralExpr (-Val);
             } else {
                 N = NewExprNode (EXPR_UNARY_MINUS);
-                       N->Left = L;
+                N->Left = L;
             }
-           break;
+            break;
 
-       case TOK_NOT:
-           NextTok ();
+        case TOK_NOT:
+            NextTok ();
             L = Factor ();
             if (IsEasyConst (L, &Val)) {
                 FreeExpr (L);
@@ -927,23 +927,23 @@ static ExprNode* Factor (void)
                 N = NewExprNode (EXPR_NOT);
                 N->Left = L;
             }
-           break;
+            break;
 
-       case TOK_STAR:
-       case TOK_PC:
-           NextTok ();
-                   N = GenCurrentPC ();
-           break;
+        case TOK_STAR:
+        case TOK_PC:
+            NextTok ();
+            N = GenCurrentPC ();
+            break;
 
-       case TOK_LT:
-           NextTok ();
+        case TOK_LT:
+            NextTok ();
             N = LoByte (Factor ());
-           break;
+            break;
 
-       case TOK_GT:
-           NextTok ();
+        case TOK_GT:
+            NextTok ();
             N = HiByte (Factor ());
-           break;
+            break;
 
         case TOK_XOR:
             /* ^ means the bank byte of an expression */
@@ -951,11 +951,11 @@ static ExprNode* Factor (void)
             N = BankByte (Factor ());
             break;
 
-       case TOK_LPAREN:
-           NextTok ();
-           N = Expr0 ();
-                   ConsumeRParen ();
-           break;
+        case TOK_LPAREN:
+            NextTok ();
+            N = Expr0 ();
+            ConsumeRParen ();
+            break;
 
         case TOK_BANK:
             N = Function (FuncBank);
@@ -966,21 +966,21 @@ static ExprNode* Factor (void)
             break;
 
         case TOK_BLANK:
-           N = Function (FuncBlank);
-           break;
+            N = Function (FuncBlank);
+            break;
 
-       case TOK_CONST:
-           N = Function (FuncConst);
-           break;
+        case TOK_CONST:
+            N = Function (FuncConst);
+            break;
 
-       case TOK_CPU:
-           N = GenLiteralExpr (CPUIsets[CPU]);
-           NextTok ();
-           break;
+        case TOK_CPU:
+            N = GenLiteralExpr (CPUIsets[CPU]);
+            NextTok ();
+            break;
 
         case TOK_DEFINED:
-           N = Function (FuncDefined);
-           break;
+            N = Function (FuncDefined);
+            break;
 
         case TOK_HIBYTE:
             N = Function (FuncHiByte);
@@ -998,9 +998,9 @@ static ExprNode* Factor (void)
             N = Function (FuncLoWord);
             break;
 
-       case TOK_MATCH:
-           N = Function (FuncMatch);
-           break;
+        case TOK_MATCH:
+            N = Function (FuncMatch);
+            break;
 
         case TOK_MAX:
             N = Function (FuncMax);
@@ -1011,50 +1011,50 @@ static ExprNode* Factor (void)
             break;
 
         case TOK_REFERENCED:
-           N = Function (FuncReferenced);
-           break;
+            N = Function (FuncReferenced);
+            break;
 
         case TOK_SIZEOF:
             N = Function (FuncSizeOf);
             break;
 
-       case TOK_STRAT:
-           N = Function (FuncStrAt);
-           break;
+        case TOK_STRAT:
+            N = Function (FuncStrAt);
+            break;
 
-       case TOK_STRLEN:
-           N = Function (FuncStrLen);
-           break;
+        case TOK_STRLEN:
+            N = Function (FuncStrLen);
+            break;
 
-       case TOK_TCOUNT:
-           N = Function (FuncTCount);
-           break;
+        case TOK_TCOUNT:
+            N = Function (FuncTCount);
+            break;
 
-       case TOK_TIME:
-           N = GenLiteralExpr ((long) time (0));
-           NextTok ();
-           break;
+        case TOK_TIME:
+            N = GenLiteralExpr ((long) time (0));
+            NextTok ();
+            break;
 
         case TOK_VERSION:
             N = GenLiteralExpr (GetVersionAsNumber ());
             NextTok ();
             break;
 
-       case TOK_XMATCH:
-           N = Function (FuncXMatch);
-           break;
+        case TOK_XMATCH:
+            N = Function (FuncXMatch);
+            break;
 
-       default:
-           if (LooseCharTerm && CurTok.Tok == TOK_STRCON &&
+        default:
+            if (LooseCharTerm && CurTok.Tok == TOK_STRCON &&
                 SB_GetLen (&CurTok.SVal) == 1) {
-               /* A character constant */
-               N = GenLiteralExpr (TgtTranslateChar (SB_At (&CurTok.SVal, 0)));
-           } else {
-               N = GenLiteral0 ();     /* Dummy */
-               Error ("Syntax error");
-           }
-           NextTok ();
-           break;
+                /* A character constant */
+                N = GenLiteralExpr (TgtTranslateChar (SB_At (&CurTok.SVal, 0)));
+            } else {
+                N = GenLiteral0 ();     /* Dummy */
+                Error ("Syntax error");
+            }
+            NextTok ();
+            break;
     }
     return N;
 }
@@ -1070,7 +1070,7 @@ static ExprNode* Term (void)
     while (CurTok.Tok == TOK_MUL || CurTok.Tok == TOK_DIV ||
            CurTok.Tok == TOK_MOD || CurTok.Tok == TOK_AND ||
            CurTok.Tok == TOK_XOR || CurTok.Tok == TOK_SHL ||
-          CurTok.Tok == TOK_SHR) {
+           CurTok.Tok == TOK_SHR) {
 
         long LVal, RVal, Val;
         ExprNode* Left;
@@ -1142,14 +1142,14 @@ static ExprNode* Term (void)
             /* Generate an expression tree */
             unsigned char Op;
             switch (T) {
-                case TOK_MUL:   Op = EXPR_MUL; break;
+                case TOK_MUL:   Op = EXPR_MUL;  break;
                 case TOK_DIV:   Op = EXPR_DIV;  break;
                 case TOK_MOD:   Op = EXPR_MOD;  break;
                 case TOK_AND:   Op = EXPR_AND;  break;
                 case TOK_XOR:   Op = EXPR_XOR;  break;
                 case TOK_SHL:   Op = EXPR_SHL;  break;
                 case TOK_SHR:   Op = EXPR_SHR;  break;
-                default:               Internal ("Invalid token");
+                default:        Internal ("Invalid token");
             }
             Root        = NewExprNode (Op);
             Root->Left  = Left;
@@ -1212,7 +1212,7 @@ static ExprNode* SimpleExpr (void)
                 case TOK_PLUS:  Op = EXPR_PLUS;  break;
                 case TOK_MINUS: Op = EXPR_MINUS; break;
                 case TOK_OR:    Op = EXPR_OR;    break;
-                default:               Internal ("Invalid token");
+                default:        Internal ("Invalid token");
             }
             Root        = NewExprNode (Op);
             Root->Left  = Left;
@@ -1281,7 +1281,7 @@ static ExprNode* BoolExpr (void)
                 case TOK_GT:    Op = EXPR_GT;   break;
                 case TOK_LE:    Op = EXPR_LE;   break;
                 case TOK_GE:    Op = EXPR_GE;   break;
-                default:               Internal ("Invalid token");
+                default:        Internal ("Invalid token");
             }
             Root        = NewExprNode (Op);
             Root->Left  = Left;
@@ -1340,7 +1340,7 @@ static ExprNode* Expr2 (void)
             switch (T) {
                 case TOK_BOOLAND:   Op = EXPR_BOOLAND; break;
                 case TOK_BOOLXOR:   Op = EXPR_BOOLXOR; break;
-                default:                   Internal ("Invalid token");
+                default:            Internal ("Invalid token");
             }
             Root        = NewExprNode (Op);
             Root->Left  = Left;
@@ -1397,7 +1397,7 @@ static ExprNode* Expr1 (void)
             unsigned char Op;
             switch (T) {
                 case TOK_BOOLOR:    Op = EXPR_BOOLOR;  break;
-                default:                   Internal ("Invalid token");
+                default:            Internal ("Invalid token");
             }
             Root        = NewExprNode (Op);
             Root->Left  = Left;
@@ -1424,7 +1424,7 @@ static ExprNode* Expr0 (void)
         ExprNode* Left;
 
         /* Skip the operator token */
-       NextTok ();
+        NextTok ();
 
         /* Read the argument */
         Left = Expr0 ();
@@ -1440,8 +1440,8 @@ static ExprNode* Expr0 (void)
 
     } else {
 
-       /* Read left hand side */
-       Root = Expr1 ();
+        /* Read left hand side */
+        Root = Expr1 ();
 
     }
 
@@ -1481,8 +1481,8 @@ long ConstExpression (void)
     if (ED_IsConst (&D)) {
         Val = D.Val;
     } else {
-       Error ("Constant expression expected");
-       Val = 0;
+        Error ("Constant expression expected");
+        Val = 0;
     }
 
     /* Free the expression tree and allocated memory for D */
@@ -1499,9 +1499,9 @@ void FreeExpr (ExprNode* Root)
 /* Free the expression, Root is pointing to. */
 {
     if (Root) {
-       FreeExpr (Root->Left);
-       FreeExpr (Root->Right);
-       FreeExprNode (Root);
+        FreeExpr (Root->Left);
+        FreeExpr (Root->Right);
+        FreeExprNode (Root);
     }
 }
 
@@ -1595,12 +1595,12 @@ ExprNode* GenCurrentPC (void)
     ExprNode* Root;
 
     if (GetRelocMode ()) {
-       /* Create SegmentBase + Offset */
-               Root = GenAddExpr (GenSectionExpr (GetCurrentSegNum ()),
+        /* Create SegmentBase + Offset */
+        Root = GenAddExpr (GenSectionExpr (GetCurrentSegNum ()),
                            GenLiteralExpr (GetPC ()));
     } else {
-       /* Absolute mode, just return PC value */
-       Root = GenLiteralExpr (GetPC ());
+        /* Absolute mode, just return PC value */
+        Root = GenLiteralExpr (GetPC ());
     }
 
     return Root;
@@ -1679,7 +1679,7 @@ ExprNode* GenULabelExpr (unsigned Num)
 /* Return an expression for an unnamed label with the given index */
 {
     ExprNode* Node = NewExprNode (EXPR_ULABEL);
-    Node->V.IVal       = Num;
+    Node->V.IVal        = Num;
 
     /* Return the new node */
     return Node;
@@ -1749,7 +1749,7 @@ ExprNode* GenNE (ExprNode* Expr, long Val)
     /* Generate a compare node */
     ExprNode* Root = NewExprNode (EXPR_NE);
     Root->Left  = Expr;
-    Root->Right        = GenLiteralExpr (Val);
+    Root->Right = GenLiteralExpr (Val);
 
     /* Return the result */
     return Root;
@@ -1798,21 +1798,21 @@ ExprNode* CloneExpr (ExprNode* Expr)
     /* Clone the node */
     switch (Expr->Op) {
 
-       case EXPR_LITERAL:
+        case EXPR_LITERAL:
             Clone = GenLiteralExpr (Expr->V.IVal);
             break;
 
-       case EXPR_ULABEL:
-           Clone = GenULabelExpr (Expr->V.IVal);
-           break;
+        case EXPR_ULABEL:
+            Clone = GenULabelExpr (Expr->V.IVal);
+            break;
 
-       case EXPR_SYMBOL:
-           Clone = GenSymExpr (Expr->V.Sym);
-           break;
+        case EXPR_SYMBOL:
+            Clone = GenSymExpr (Expr->V.Sym);
+            break;
 
-       case EXPR_SECTION:
-           Clone = GenSectionExpr (Expr->V.SecNum);
-           break;
+        case EXPR_SECTION:
+            Clone = GenSectionExpr (Expr->V.SecNum);
+            break;
 
         case EXPR_BANK:
             Clone = GenBankExpr (Expr->V.SecNum);
@@ -1838,8 +1838,8 @@ void WriteExpr (ExprNode* Expr)
 {
     /* Null expressions are encoded by a type byte of zero */
     if (Expr == 0) {
-       ObjWrite8 (EXPR_NULL);
-       return;
+        ObjWrite8 (EXPR_NULL);
+        return;
     }
 
     /* If the is a leafnode, write the expression attribute, otherwise
@@ -1849,33 +1849,33 @@ void WriteExpr (ExprNode* Expr)
 
         case EXPR_LITERAL:
             ObjWrite8 (EXPR_LITERAL);
-           ObjWrite32 (Expr->V.IVal);
-           break;
+            ObjWrite32 (Expr->V.IVal);
+            break;
 
         case EXPR_SYMBOL:
-           if (SymIsImport (Expr->V.Sym)) {
+            if (SymIsImport (Expr->V.Sym)) {
                 ObjWrite8 (EXPR_SYMBOL);
                 ObjWriteVar (GetSymImportId (Expr->V.Sym));
             } else {
                 WriteExpr (GetSymExpr (Expr->V.Sym));
             }
-           break;
+            break;
 
         case EXPR_SECTION:
             ObjWrite8 (EXPR_SECTION);
-           ObjWriteVar (Expr->V.SecNum);
-           break;
+            ObjWriteVar (Expr->V.SecNum);
+            break;
 
-       case EXPR_ULABEL:
+        case EXPR_ULABEL:
             WriteExpr (ULabResolve (Expr->V.IVal));
-           break;
+            break;
 
         default:
-           /* Not a leaf node */
+            /* Not a leaf node */
             ObjWrite8 (Expr->Op);
-           WriteExpr (Expr->Left);
-           WriteExpr (Expr->Right);
-           break;
+            WriteExpr (Expr->Left);
+            WriteExpr (Expr->Right);
+            break;
 
     }
 }
index 1011b825d9aeb665fc80850f95ecd213620eca76..17f547beb7eea1d690b0b7131c4622df65efd9eb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 expr.h                                   */
+/*                                  expr.h                                   */
 /*                                                                           */
-/*            Expression evaluation for the ca65 macroassembler             */
+/*             Expression evaluation for the ca65 macroassembler             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -55,7 +55,7 @@ struct ExprDesc;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0a45ded86aefb52ed48d28dfd4978be1e90e5756..c2532c595238b9e776a752ed6765c8fb623fe5e2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                feature.c                                 */
+/*                                 feature.c                                 */
 /*                                                                           */
-/*                 Subroutines for the emulation features                   */
+/*                  Subroutines for the emulation features                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ static const char* FeatureKeys[FEAT_COUNT] = {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -82,10 +82,10 @@ feature_t FindFeature (const StrBuf* Key)
 
     /* This is not time critical, so do a linear search */
     for (F = (feature_t) 0; F < FEAT_COUNT; ++F) {
-               if (SB_CompareStr (Key, FeatureKeys[F]) == 0) {
-           /* Found, index is enum value */
-           return F;
-       }
+        if (SB_CompareStr (Key, FeatureKeys[F]) == 0) {
+            /* Found, index is enum value */
+            return F;
+        }
     }
 
     /* Not found */
@@ -105,21 +105,21 @@ feature_t SetFeature (const StrBuf* Key)
 
     /* Set the flags */
     switch (Feature) {
-       case FEAT_DOLLAR_IS_PC:               DollarIsPC        = 1;    break;
-       case FEAT_LABELS_WITHOUT_COLONS:      NoColonLabels     = 1;    break;
-       case FEAT_LOOSE_STRING_TERM:          LooseStringTerm   = 1;    break;
-       case FEAT_LOOSE_CHAR_TERM:            LooseCharTerm     = 1;    break;
-       case FEAT_AT_IN_IDENTIFIERS:          AtInIdents        = 1;    break;
-       case FEAT_DOLLAR_IN_IDENTIFIERS:      DollarInIdents    = 1;    break;
-               case FEAT_LEADING_DOT_IN_IDENTIFIERS: LeadingDotInIdents= 1;    break;
+        case FEAT_DOLLAR_IS_PC:               DollarIsPC        = 1;    break;
+        case FEAT_LABELS_WITHOUT_COLONS:      NoColonLabels     = 1;    break;
+        case FEAT_LOOSE_STRING_TERM:          LooseStringTerm   = 1;    break;
+        case FEAT_LOOSE_CHAR_TERM:            LooseCharTerm     = 1;    break;
+        case FEAT_AT_IN_IDENTIFIERS:          AtInIdents        = 1;    break;
+        case FEAT_DOLLAR_IN_IDENTIFIERS:      DollarInIdents    = 1;    break;
+        case FEAT_LEADING_DOT_IN_IDENTIFIERS: LeadingDotInIdents= 1;    break;
         case FEAT_ORG_PER_SEG:                OrgPerSeg         = 1;    break;
-       case FEAT_PC_ASSIGNMENT:              PCAssignment      = 1;    break;
+        case FEAT_PC_ASSIGNMENT:              PCAssignment      = 1;    break;
         case FEAT_MISSING_CHAR_TERM:          MissingCharTerm   = 1;    break;
         case FEAT_UBIQUITOUS_IDENTS:          UbiquitousIdents  = 1;    break;
         case FEAT_C_COMMENTS:                 CComments         = 1;    break;
         case FEAT_FORCE_RANGE:                ForceRange        = 1;    break;
         case FEAT_UNDERLINE_IN_NUMBERS:       UnderlineInNumbers= 1;    break;
-       default:                         /* Keep gcc silent */          break;
+        default:                         /* Keep gcc silent */          break;
     }
 
     /* Return the value found */
index a56fc57f06e290bdf0c20dfc5e0ad98a52d14235..53016b21cc39b5210aacc529498a8432373a12bf 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                feature.h                                 */
+/*                                 feature.h                                 */
 /*                                                                           */
-/*                 Subroutines for the emulation features                   */
+/*                  Subroutines for the emulation features                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -34,7 +34,7 @@
 
 
 #ifndef FEATURE_H
-#define        FEATURE_H
+#define FEATURE_H
 
 
 
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 typedef enum {
-    FEAT_UNKNOWN               = -1,
+    FEAT_UNKNOWN                = -1,
     FEAT_DOLLAR_IS_PC,
     FEAT_LABELS_WITHOUT_COLONS,
     FEAT_LOOSE_STRING_TERM,
@@ -73,7 +73,7 @@ typedef enum {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 82e20ee70ecf1576123fb31a06d34cde673e4264..bf5b32503c14a71a247ced711db841323c9319fa 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                filetab.h                                 */
+/*                                 filetab.h                                 */
 /*                                                                           */
-/*                        Input file table for ca65                         */
+/*                         Input file table for ca65                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -73,7 +73,7 @@ static int HT_Compare (const void* Key1, const void* Key2);
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -87,10 +87,10 @@ typedef struct FileEntry FileEntry;
 struct FileEntry {
     HashNode            Node;
     unsigned            Name;           /* File name */
-    unsigned           Index;          /* Index of entry */
+    unsigned            Index;          /* Index of entry */
     FileType            Type;           /* Type of file */
-    unsigned long      Size;           /* Size of file */
-    unsigned long      MTime;          /* Time of last modification */
+    unsigned long       Size;           /* Size of file */
+    unsigned long       MTime;          /* Time of last modification */
 };
 
 /* Array of all entries, listed by index */
@@ -142,7 +142,7 @@ static int HT_Compare (const void* Key1, const void* Key2)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -157,10 +157,10 @@ static FileEntry* NewFileEntry (unsigned Name, FileType Type,
     /* Initialize the fields */
     InitHashNode (&F->Node);
     F->Name     = Name;
-    F->Index   = CollCount (&FileTab) + 1;     /* First file has index #1 */
+    F->Index    = CollCount (&FileTab) + 1;     /* First file has index #1 */
     F->Type     = Type;
-    F->Size    = Size;
-    F->MTime   = MTime;
+    F->Size     = Size;
+    F->MTime    = MTime;
 
     /* Insert the file into the file table */
     CollAppend (&FileTab, F);
@@ -182,16 +182,16 @@ const StrBuf* GetFileName (unsigned Name)
     const FileEntry* F;
 
     if (Name == 0) {
-       /* Name was defined outside any file scope, use the name of the first
-        * file instead. Errors are then reported with a file position of
-        * line zero in the first file.
-        */
-       if (CollCount (&FileTab) == 0) {
-           /* No files defined until now */
+        /* Name was defined outside any file scope, use the name of the first
+         * file instead. Errors are then reported with a file position of
+         * line zero in the first file.
+         */
+        if (CollCount (&FileTab) == 0) {
+            /* No files defined until now */
             return &ErrorMsg;
-       } else {
+        } else {
             F = CollConstAt (&FileTab, 0);
-       }
+        }
     } else {
         F = CollConstAt (&FileTab, Name-1);
     }
@@ -248,12 +248,12 @@ void WriteFiles (void)
 
     /* Write the file data */
     for (I = 0; I < CollCount (&FileTab); ++I) {
-       /* Get a pointer to the entry */
-       const FileEntry* F = CollConstAt (&FileTab, I);
-       /* Write the fields */
-       ObjWriteVar (F->Name);
-       ObjWrite32 (F->MTime);
-               ObjWriteVar (F->Size);
+        /* Get a pointer to the entry */
+        const FileEntry* F = CollConstAt (&FileTab, I);
+        /* Write the fields */
+        ObjWriteVar (F->Name);
+        ObjWrite32 (F->MTime);
+        ObjWriteVar (F->Size);
     }
 
     /* Done writing files */
@@ -272,20 +272,20 @@ static void WriteDep (FILE* F, FileType Types)
 
         const StrBuf* Filename;
 
-       /* Get the next input file */
-               const FileEntry* E = (const FileEntry*) CollAt (&FileTab, I);
+        /* Get the next input file */
+        const FileEntry* E = (const FileEntry*) CollAt (&FileTab, I);
 
         /* Ignore it if it is not of the correct type */
         if ((E->Type & Types) == 0) {
             continue;
         }
 
-       /* If this is not the first file, add a space */
-               if (I > 0) {
+        /* If this is not the first file, add a space */
+        if (I > 0) {
             fputc (' ', F);
         }
 
-       /* Print the dependency */
+        /* Print the dependency */
         Filename = GetStrBuf (E->Name);
         fprintf (F, "%*s", SB_GetLen (Filename), SB_GetConstBuf (Filename));
     }
@@ -301,7 +301,7 @@ static void CreateDepFile (const char* Name, FileType Types)
     /* Open the file */
     FILE* F = fopen (Name, "w");
     if (F == 0) {
-       Fatal ("Cannot open dependency file `%s': %s", Name, strerror (errno));
+        Fatal ("Cannot open dependency file `%s': %s", Name, strerror (errno));
     }
 
     /* Print the output file followed by a tab char */
@@ -317,8 +317,8 @@ static void CreateDepFile (const char* Name, FileType Types)
 
     /* Close the file, check for errors */
     if (fclose (F) != 0) {
-       remove (Name);
-       Fatal ("Cannot write to dependeny file (disk full?)");
+        remove (Name);
+        Fatal ("Cannot write to dependeny file (disk full?)");
     }
 }
 
index 99ef4ba20b9b2406c66355fefbc4dab7d4b3f8fc..af5909c4c73ef7f13892424a7153b421c10aab89 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                filetab.h                                 */
+/*                                 filetab.h                                 */
 /*                                                                           */
-/*                        Input file table for ca65                         */
+/*                         Input file table for ca65                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -34,7 +34,7 @@
 
 
 #ifndef FILETAB_H
-#define        FILETAB_H
+#define FILETAB_H
 
 
 
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -62,7 +62,7 @@ typedef enum {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 059371e77374c24cbfa2138b340b0a0b411f47b4..e1a55edb3680932d70258c8772fcc29b58d93db8 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               fragment.c                                 */
+/*                                fragment.c                                 */
 /*                                                                           */
-/*               Data fragments for the ca65 crossassembler                 */
+/*                Data fragments for the ca65 crossassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -56,12 +56,12 @@ Fragment* NewFragment (unsigned char Type, unsigned short Len)
     Fragment* F = xmalloc (sizeof (*F));
 
     /* Initialize it */
-    F->Next    = 0;
+    F->Next     = 0;
     F->LineList = 0;
     F->LI       = EmptyCollection;
     GetFullLineInfo (&F->LI);
-    F->Len     = Len;
-    F->Type    = Type;
+    F->Len      = Len;
+    F->Type     = Type;
 
     /* And return it */
     return F;
index 6cd9a8fbbc9dba364848b0cbda7bb3e51efdbbc1..99852202a9d0ecb247cbfc9be7cbc191b078a1a9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               fragment.h                                 */
+/*                                fragment.h                                 */
 /*                                                                           */
-/*               Data fragments for the ca65 crossassembler                 */
+/*                Data fragments for the ca65 crossassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                             struct Fragment                              */
+/*                              struct Fragment                              */
 /*****************************************************************************/
 
 
 
 typedef struct Fragment Fragment;
 struct Fragment {
-    Fragment*                  Next;       /* Pointer to next fragment in segment */
-    Fragment*          LineList;   /* List of fragments for one src line */
+    Fragment*           Next;       /* Pointer to next fragment in segment */
+    Fragment*           LineList;   /* List of fragments for one src line */
     Collection          LI;         /* Line info for this fragment */
-    unsigned short     Len;        /* Length for this fragment */
-    unsigned char      Type;       /* Fragment type */
+    unsigned short      Len;        /* Length for this fragment */
+    unsigned char       Type;       /* Fragment type */
     union {
-               unsigned char   Data[sizeof (ExprNode*)];       /* Literal values */
-               ExprNode*       Expr;                           /* Expression */
+        unsigned char   Data[sizeof (ExprNode*)];       /* Literal values */
+        ExprNode*       Expr;                           /* Expression */
     } V;
 };
 
index b76337250825e02131b10044c0abbc50b6f1bdc6..b3d6d6c6ed5190e91512e4dc08886e14bac9826f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*              Global variables for the ca65 macroassembler                */
+/*               Global variables for the ca65 macroassembler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* File names */
-const char* InFile                      = 0;   /* Name of input file */
-const char* OutFile                     = 0;   /* Name of output file */
+const char* InFile               = 0;   /* Name of input file */
+const char* OutFile              = 0;   /* Name of output file */
 StrBuf ListingName = STATIC_STRBUF_INITIALIZER; /* Name of listing file */
 StrBuf DepName     = STATIC_STRBUF_INITIALIZER; /* Dependency file */
 StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Full dependency file */
 
 /* Default extensions */
-const char ObjExt[]                     = ".o";/* Default object extension */
+const char ObjExt[]              = ".o";/* Default object extension */
 
-char LocalStart                         = '@'; /* This char starts local symbols */
+char LocalStart                  = '@'; /* This char starts local symbols */
 
 unsigned char IgnoreCase         = 0;   /* Ignore case on identifiers? */
 unsigned char AutoImport         = 0;   /* Mark unresolveds as import */
-unsigned char SmartMode                 = 0;   /* Smart mode */
-unsigned char DbgSyms           = 0;   /* Add debug symbols */
-unsigned char LineCont          = 0;   /* Allow line continuation */
+unsigned char SmartMode          = 0;   /* Smart mode */
+unsigned char DbgSyms            = 0;   /* Add debug symbols */
+unsigned char LineCont           = 0;   /* Allow line continuation */
 unsigned char LargeAlignment     = 0;   /* Don't warn about large alignments */
 unsigned char RelaxChecks        = 0;   /* Relax a few assembler checks */
 
 /* Emulation features */
 unsigned char DollarIsPC         = 0;   /* Allow the $ symbol as current PC */
 unsigned char NoColonLabels      = 0;   /* Allow labels without a colon */
-unsigned char LooseStringTerm    = 0;  /* Allow ' as string terminator */
-unsigned char LooseCharTerm      = 0;  /* Allow " for char constants */
-unsigned char AtInIdents         = 0;  /* Allow '@' in identifiers */
+unsigned char LooseStringTerm    = 0;   /* Allow ' as string terminator */
+unsigned char LooseCharTerm      = 0;   /* Allow " for char constants */
+unsigned char AtInIdents         = 0;   /* Allow '@' in identifiers */
 unsigned char DollarInIdents     = 0;   /* Allow '$' in identifiers */
 unsigned char LeadingDotInIdents = 0;   /* Allow '.' to start an identifier */
-unsigned char PCAssignment       = 0;  /* Allow "* = $XXX" or "$ = $XXX" */
+unsigned char PCAssignment       = 0;   /* Allow "* = $XXX" or "$ = $XXX" */
 unsigned char MissingCharTerm    = 0;   /* Allow lda #'a (no closing term) */
 unsigned char UbiquitousIdents   = 0;   /* Allow ubiquitous identifiers */
 unsigned char OrgPerSeg          = 0;   /* Make .org local to current seg */
index cc1a646f9a7b834dbe3e1d24657286b5c24f2f14..23bbe48843b2e692809ca3ff1d57111f45811f8a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*              Global variables for the ca65 macroassembler                */
+/*               Global variables for the ca65 macroassembler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* File names */
-extern const char*             InFile;             /* Name of input file */
-extern const char*             OutFile;            /* Name of output file */
+extern const char*      InFile;             /* Name of input file */
+extern const char*      OutFile;            /* Name of output file */
 extern StrBuf           ListingName;        /* Name of listing file */
 extern StrBuf           DepName;            /* Name of dependencies file */
 extern StrBuf           FullDepName;        /* Name of full dependencies file */
 
 /* Default extensions */
-extern const char              ObjExt[];           /* Default object extension */
+extern const char       ObjExt[];           /* Default object extension */
 
-extern char                    LocalStart;         /* This char starts local symbols */
+extern char             LocalStart;         /* This char starts local symbols */
 
-extern unsigned char           IgnoreCase;         /* Ignore case on identifiers? */
-extern unsigned char           AutoImport;         /* Mark unresolveds as import */
-extern unsigned char           SmartMode;          /* Smart mode */
-extern unsigned char           DbgSyms;            /* Add debug symbols */
-extern unsigned char           LineCont;           /* Allow line continuation */
+extern unsigned char    IgnoreCase;         /* Ignore case on identifiers? */
+extern unsigned char    AutoImport;         /* Mark unresolveds as import */
+extern unsigned char    SmartMode;          /* Smart mode */
+extern unsigned char    DbgSyms;            /* Add debug symbols */
+extern unsigned char    LineCont;           /* Allow line continuation */
 extern unsigned char    LargeAlignment;     /* Don't warn about large alignments */
 extern unsigned char    RelaxChecks;        /* Relax a few assembler checks */
 
 /* Emulation features */
-extern unsigned char           DollarIsPC;         /* Allow the $ symbol as current PC */
-extern unsigned char           NoColonLabels;      /* Allow labels without a colon */
-extern unsigned char           LooseStringTerm;    /* Allow ' as string terminator */
-extern unsigned char           LooseCharTerm;      /* Allow " for char constants */
-extern unsigned char    AtInIdents;                /* Allow '@' in identifiers */
-extern unsigned char           DollarInIdents;     /* Allow '$' in identifiers */
+extern unsigned char    DollarIsPC;         /* Allow the $ symbol as current PC */
+extern unsigned char    NoColonLabels;      /* Allow labels without a colon */
+extern unsigned char    LooseStringTerm;    /* Allow ' as string terminator */
+extern unsigned char    LooseCharTerm;      /* Allow " for char constants */
+extern unsigned char    AtInIdents;         /* Allow '@' in identifiers */
+extern unsigned char    DollarInIdents;     /* Allow '$' in identifiers */
 extern unsigned char    LeadingDotInIdents; /* Allow '.' to start an identifier */
-extern unsigned char           PCAssignment;       /* Allow "* = $XXX" or "$ = $XXX" */
+extern unsigned char    PCAssignment;       /* Allow "* = $XXX" or "$ = $XXX" */
 extern unsigned char    MissingCharTerm;    /* Allow lda #'a (no closing term) */
 extern unsigned char    UbiquitousIdents;   /* Allow ubiquitous identifiers */
 extern unsigned char    OrgPerSeg;          /* Make .org local to current seg */
index 2a8bb9c73c8d3fa22c878001dbda2f138737f528..76ad3111af70377bd99d4ff931068672fe193447 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                incpath.c                                 */
+/*                                 incpath.c                                 */
 /*                                                                           */
-/*           Include path handling for the ca65 macro assembler             */
+/*            Include path handling for the ca65 macro assembler             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ SearchPath*     BinSearchPath;          /* Binary include path */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5ad6369cbdab5cccf511542c2ddf48d6a1f73398..841767e4bf4f2fe00aba3c4e9739c3ff638c40ad 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                incpath.h                                 */
+/*                                 incpath.h                                 */
 /*                                                                           */
-/*           Include path handling for the ca65 macro assembler             */
+/*            Include path handling for the ca65 macro assembler             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ extern SearchPath*      BinSearchPath;          /* Binary include path */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c4d756a5d39cafadd0c2d96d7e19bdd67650367f..277676614cbe838b613f72b552ef006f673ba2e4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 instr.c                                  */
+/*                                  instr.c                                  */
 /*                                                                           */
-/*            Instruction encoding for the ca65 macroassembler              */
+/*             Instruction encoding for the ca65 macroassembler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -134,7 +134,7 @@ static void PutSweet16Branch (const InsDesc* Ins);
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -153,62 +153,62 @@ static const struct {
 } InsTab6502 = {
     sizeof (InsTab6502.Ins) / sizeof (InsTab6502.Ins[0]),
     {
-               { "ADC",  0x080A26C, 0x60, 0, PutAll },
-               { "AND",  0x080A26C, 0x20, 0, PutAll },
-               { "ASL",  0x000006e, 0x02, 1, PutAll },
-               { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
-               { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
-               { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
-               { "BIT",  0x000000C, 0x00, 2, PutAll },
-               { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
-               { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
-               { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
-               { "BRK",  0x0000001, 0x00, 0, PutAll },
-               { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
-               { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
-               { "CLC",  0x0000001, 0x18, 0, PutAll },
-               { "CLD",  0x0000001, 0xd8, 0, PutAll },
-               { "CLI",  0x0000001, 0x58, 0, PutAll },
-               { "CLV",  0x0000001, 0xb8, 0, PutAll },
-               { "CMP",  0x080A26C, 0xc0, 0, PutAll },
-               { "CPX",  0x080000C, 0xe0, 1, PutAll },
-               { "CPY",  0x080000C, 0xc0, 1, PutAll },
-               { "DEC",  0x000006C, 0x00, 3, PutAll },
-               { "DEX",  0x0000001, 0xca, 0, PutAll },
-               { "DEY",  0x0000001, 0x88, 0, PutAll },
-               { "EOR",  0x080A26C, 0x40, 0, PutAll },
-               { "INC",  0x000006c, 0x00, 4, PutAll },
-               { "INX",  0x0000001, 0xe8, 0, PutAll },
-               { "INY",  0x0000001, 0xc8, 0, PutAll },
-               { "JMP",  0x0000808, 0x4c, 6, PutJMP },
-               { "JSR",  0x0000008, 0x20, 7, PutAll },
-               { "LDA",  0x080A26C, 0xa0, 0, PutAll },
-               { "LDX",  0x080030C, 0xa2, 1, PutAll },
-               { "LDY",  0x080006C, 0xa0, 1, PutAll },
-               { "LSR",  0x000006F, 0x42, 1, PutAll },
-               { "NOP",  0x0000001, 0xea, 0, PutAll },
-               { "ORA",  0x080A26C, 0x00, 0, PutAll },
-               { "PHA",  0x0000001, 0x48, 0, PutAll },
-               { "PHP",  0x0000001, 0x08, 0, PutAll },
-               { "PLA",  0x0000001, 0x68, 0, PutAll },
-               { "PLP",  0x0000001, 0x28, 0, PutAll },
-               { "ROL",  0x000006F, 0x22, 1, PutAll },
-               { "ROR",  0x000006F, 0x62, 1, PutAll },
-               { "RTI",  0x0000001, 0x40, 0, PutAll },
-               { "RTS",  0x0000001, 0x60, 0, PutAll },
-               { "SBC",  0x080A26C, 0xe0, 0, PutAll },
-               { "SEC",  0x0000001, 0x38, 0, PutAll },
-               { "SED",  0x0000001, 0xf8, 0, PutAll },
-               { "SEI",  0x0000001, 0x78, 0, PutAll },
-               { "STA",  0x000A26C, 0x80, 0, PutAll },
-               { "STX",  0x000010c, 0x82, 1, PutAll },
-               { "STY",  0x000002c, 0x80, 1, PutAll },
-               { "TAX",  0x0000001, 0xaa, 0, PutAll },
-               { "TAY",  0x0000001, 0xa8, 0, PutAll },
-               { "TSX",  0x0000001, 0xba, 0, PutAll },
-               { "TXA",  0x0000001, 0x8a, 0, PutAll },
-               { "TXS",  0x0000001, 0x9a, 0, PutAll },
-               { "TYA",  0x0000001, 0x98, 0, PutAll }
+        { "ADC",  0x080A26C, 0x60, 0, PutAll },
+        { "AND",  0x080A26C, 0x20, 0, PutAll },
+        { "ASL",  0x000006e, 0x02, 1, PutAll },
+        { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
+        { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
+        { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
+        { "BIT",  0x000000C, 0x00, 2, PutAll },
+        { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
+        { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
+        { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
+        { "BRK",  0x0000001, 0x00, 0, PutAll },
+        { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
+        { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
+        { "CLC",  0x0000001, 0x18, 0, PutAll },
+        { "CLD",  0x0000001, 0xd8, 0, PutAll },
+        { "CLI",  0x0000001, 0x58, 0, PutAll },
+        { "CLV",  0x0000001, 0xb8, 0, PutAll },
+        { "CMP",  0x080A26C, 0xc0, 0, PutAll },
+        { "CPX",  0x080000C, 0xe0, 1, PutAll },
+        { "CPY",  0x080000C, 0xc0, 1, PutAll },
+        { "DEC",  0x000006C, 0x00, 3, PutAll },
+        { "DEX",  0x0000001, 0xca, 0, PutAll },
+        { "DEY",  0x0000001, 0x88, 0, PutAll },
+        { "EOR",  0x080A26C, 0x40, 0, PutAll },
+        { "INC",  0x000006c, 0x00, 4, PutAll },
+        { "INX",  0x0000001, 0xe8, 0, PutAll },
+        { "INY",  0x0000001, 0xc8, 0, PutAll },
+        { "JMP",  0x0000808, 0x4c, 6, PutJMP },
+        { "JSR",  0x0000008, 0x20, 7, PutAll },
+        { "LDA",  0x080A26C, 0xa0, 0, PutAll },
+        { "LDX",  0x080030C, 0xa2, 1, PutAll },
+        { "LDY",  0x080006C, 0xa0, 1, PutAll },
+        { "LSR",  0x000006F, 0x42, 1, PutAll },
+        { "NOP",  0x0000001, 0xea, 0, PutAll },
+        { "ORA",  0x080A26C, 0x00, 0, PutAll },
+        { "PHA",  0x0000001, 0x48, 0, PutAll },
+        { "PHP",  0x0000001, 0x08, 0, PutAll },
+        { "PLA",  0x0000001, 0x68, 0, PutAll },
+        { "PLP",  0x0000001, 0x28, 0, PutAll },
+        { "ROL",  0x000006F, 0x22, 1, PutAll },
+        { "ROR",  0x000006F, 0x62, 1, PutAll },
+        { "RTI",  0x0000001, 0x40, 0, PutAll },
+        { "RTS",  0x0000001, 0x60, 0, PutAll },
+        { "SBC",  0x080A26C, 0xe0, 0, PutAll },
+        { "SEC",  0x0000001, 0x38, 0, PutAll },
+        { "SED",  0x0000001, 0xf8, 0, PutAll },
+        { "SEI",  0x0000001, 0x78, 0, PutAll },
+        { "STA",  0x000A26C, 0x80, 0, PutAll },
+        { "STX",  0x000010c, 0x82, 1, PutAll },
+        { "STY",  0x000002c, 0x80, 1, PutAll },
+        { "TAX",  0x0000001, 0xaa, 0, PutAll },
+        { "TAY",  0x0000001, 0xa8, 0, PutAll },
+        { "TSX",  0x0000001, 0xba, 0, PutAll },
+        { "TXA",  0x0000001, 0x8a, 0, PutAll },
+        { "TXS",  0x0000001, 0x9a, 0, PutAll },
+        { "TYA",  0x0000001, 0x98, 0, PutAll }
     }
 };
 
@@ -219,76 +219,76 @@ static const struct {
 } InsTab6502X = {
     sizeof (InsTab6502X.Ins) / sizeof (InsTab6502X.Ins[0]),
     {
-               { "ADC",  0x080A26C, 0x60, 0, PutAll },
+        { "ADC",  0x080A26C, 0x60, 0, PutAll },
         { "ALR",  0x0800000, 0x4B, 0, PutAll },         /* X */
         { "ANC",  0x0800000, 0x0B, 0, PutAll },         /* X */
-               { "AND",  0x080A26C, 0x20, 0, PutAll },
+        { "AND",  0x080A26C, 0x20, 0, PutAll },
         { "ARR",  0x0800000, 0x6B, 0, PutAll },         /* X */
-               { "ASL",  0x000006e, 0x02, 1, PutAll },
+        { "ASL",  0x000006e, 0x02, 1, PutAll },
         { "AXS",  0x0800000, 0xCB, 0, PutAll },         /* X */
-               { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
-               { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
-               { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
-               { "BIT",  0x000000C, 0x00, 2, PutAll },
-               { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
-               { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
-               { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
-               { "BRK",  0x0000001, 0x00, 0, PutAll },
-               { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
-               { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
-               { "CLC",  0x0000001, 0x18, 0, PutAll },
-               { "CLD",  0x0000001, 0xd8, 0, PutAll },
-               { "CLI",  0x0000001, 0x58, 0, PutAll },
-               { "CLV",  0x0000001, 0xb8, 0, PutAll },
-               { "CMP",  0x080A26C, 0xc0, 0, PutAll },
-               { "CPX",  0x080000C, 0xe0, 1, PutAll },
-               { "CPY",  0x080000C, 0xc0, 1, PutAll },
+        { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
+        { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
+        { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
+        { "BIT",  0x000000C, 0x00, 2, PutAll },
+        { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
+        { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
+        { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
+        { "BRK",  0x0000001, 0x00, 0, PutAll },
+        { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
+        { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
+        { "CLC",  0x0000001, 0x18, 0, PutAll },
+        { "CLD",  0x0000001, 0xd8, 0, PutAll },
+        { "CLI",  0x0000001, 0x58, 0, PutAll },
+        { "CLV",  0x0000001, 0xb8, 0, PutAll },
+        { "CMP",  0x080A26C, 0xc0, 0, PutAll },
+        { "CPX",  0x080000C, 0xe0, 1, PutAll },
+        { "CPY",  0x080000C, 0xc0, 1, PutAll },
         { "DCP",  0x000A26C, 0xC3, 0, PutAll },         /* X */
-               { "DEC",  0x000006C, 0x00, 3, PutAll },
-               { "DEX",  0x0000001, 0xca, 0, PutAll },
-               { "DEY",  0x0000001, 0x88, 0, PutAll },
-               { "EOR",  0x080A26C, 0x40, 0, PutAll },
-               { "INC",  0x000006c, 0x00, 4, PutAll },
-               { "INX",  0x0000001, 0xe8, 0, PutAll },
-               { "INY",  0x0000001, 0xc8, 0, PutAll },
+        { "DEC",  0x000006C, 0x00, 3, PutAll },
+        { "DEX",  0x0000001, 0xca, 0, PutAll },
+        { "DEY",  0x0000001, 0x88, 0, PutAll },
+        { "EOR",  0x080A26C, 0x40, 0, PutAll },
+        { "INC",  0x000006c, 0x00, 4, PutAll },
+        { "INX",  0x0000001, 0xe8, 0, PutAll },
+        { "INY",  0x0000001, 0xc8, 0, PutAll },
         { "ISC",  0x000A26C, 0xE3, 0, PutAll },         /* X */
         { "JAM",  0x0000001, 0x02, 0, PutAll },         /* X */
-               { "JMP",  0x0000808, 0x4c, 6, PutJMP },
-               { "JSR",  0x0000008, 0x20, 7, PutAll },
+        { "JMP",  0x0000808, 0x4c, 6, PutJMP },
+        { "JSR",  0x0000008, 0x20, 7, PutAll },
         { "LAS",  0x0000200, 0xBB, 0, PutAll },         /* X */
         { "LAX",  0x000A30C, 0xA3, 1, PutAll },         /* X */
-               { "LDA",  0x080A26C, 0xa0, 0, PutAll },
-               { "LDX",  0x080030C, 0xa2, 1, PutAll },
-               { "LDY",  0x080006C, 0xa0, 1, PutAll },
-               { "LSR",  0x000006F, 0x42, 1, PutAll },
-               { "NOP",  0x0000001, 0xea, 0, PutAll },
-               { "ORA",  0x080A26C, 0x00, 0, PutAll },
-               { "PHA",  0x0000001, 0x48, 0, PutAll },
-               { "PHP",  0x0000001, 0x08, 0, PutAll },
-               { "PLA",  0x0000001, 0x68, 0, PutAll },
-               { "PLP",  0x0000001, 0x28, 0, PutAll },
+        { "LDA",  0x080A26C, 0xa0, 0, PutAll },
+        { "LDX",  0x080030C, 0xa2, 1, PutAll },
+        { "LDY",  0x080006C, 0xa0, 1, PutAll },
+        { "LSR",  0x000006F, 0x42, 1, PutAll },
+        { "NOP",  0x0000001, 0xea, 0, PutAll },
+        { "ORA",  0x080A26C, 0x00, 0, PutAll },
+        { "PHA",  0x0000001, 0x48, 0, PutAll },
+        { "PHP",  0x0000001, 0x08, 0, PutAll },
+        { "PLA",  0x0000001, 0x68, 0, PutAll },
+        { "PLP",  0x0000001, 0x28, 0, PutAll },
         { "RLA",  0x000A26C, 0x23, 0, PutAll },         /* X */
-               { "ROL",  0x000006F, 0x22, 1, PutAll },
-               { "ROR",  0x000006F, 0x62, 1, PutAll },
+        { "ROL",  0x000006F, 0x22, 1, PutAll },
+        { "ROR",  0x000006F, 0x62, 1, PutAll },
         { "RRA",  0x000A26C, 0x63, 0, PutAll },         /* X */
-               { "RTI",  0x0000001, 0x40, 0, PutAll },
-               { "RTS",  0x0000001, 0x60, 0, PutAll },
+        { "RTI",  0x0000001, 0x40, 0, PutAll },
+        { "RTS",  0x0000001, 0x60, 0, PutAll },
         { "SAX",  0x000810C, 0x83, 1, PutAll },         /* X */
-               { "SBC",  0x080A26C, 0xe0, 0, PutAll },
-               { "SEC",  0x0000001, 0x38, 0, PutAll },
-               { "SED",  0x0000001, 0xf8, 0, PutAll },
-               { "SEI",  0x0000001, 0x78, 0, PutAll },
+        { "SBC",  0x080A26C, 0xe0, 0, PutAll },
+        { "SEC",  0x0000001, 0x38, 0, PutAll },
+        { "SED",  0x0000001, 0xf8, 0, PutAll },
+        { "SEI",  0x0000001, 0x78, 0, PutAll },
         { "SLO",  0x000A26C, 0x03, 0, PutAll },         /* X */
         { "SRE",  0x000A26C, 0x43, 0, PutAll },         /* X */
-               { "STA",  0x000A26C, 0x80, 0, PutAll },
-               { "STX",  0x000010c, 0x82, 1, PutAll },
-               { "STY",  0x000002c, 0x80, 1, PutAll },
-               { "TAX",  0x0000001, 0xaa, 0, PutAll },
-               { "TAY",  0x0000001, 0xa8, 0, PutAll },
-               { "TSX",  0x0000001, 0xba, 0, PutAll },
-               { "TXA",  0x0000001, 0x8a, 0, PutAll },
-               { "TXS",  0x0000001, 0x9a, 0, PutAll },
-               { "TYA",  0x0000001, 0x98, 0, PutAll }
+        { "STA",  0x000A26C, 0x80, 0, PutAll },
+        { "STX",  0x000010c, 0x82, 1, PutAll },
+        { "STY",  0x000002c, 0x80, 1, PutAll },
+        { "TAX",  0x0000001, 0xaa, 0, PutAll },
+        { "TAY",  0x0000001, 0xa8, 0, PutAll },
+        { "TSX",  0x0000001, 0xba, 0, PutAll },
+        { "TXA",  0x0000001, 0x8a, 0, PutAll },
+        { "TXS",  0x0000001, 0x9a, 0, PutAll },
+        { "TYA",  0x0000001, 0x98, 0, PutAll }
     }
 };
 
@@ -299,72 +299,72 @@ static const struct {
 } InsTab65SC02 = {
     sizeof (InsTab65SC02.Ins) / sizeof (InsTab65SC02.Ins[0]),
     {
-               { "ADC",  0x080A66C, 0x60, 0, PutAll },
-               { "AND",  0x080A66C, 0x20, 0, PutAll },
-               { "ASL",  0x000006e, 0x02, 1, PutAll },
-               { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
-               { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
-               { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
-               { "BIT",  0x0A0006C, 0x00, 2, PutAll },
-               { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
-               { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
-               { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
-               { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
-               { "BRK",  0x0000001, 0x00, 0, PutAll },
-               { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
-               { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
-               { "CLC",  0x0000001, 0x18, 0, PutAll },
-               { "CLD",  0x0000001, 0xd8, 0, PutAll },
-               { "CLI",  0x0000001, 0x58, 0, PutAll },
-               { "CLV",  0x0000001, 0xb8, 0, PutAll },
-               { "CMP",  0x080A66C, 0xc0, 0, PutAll },
-               { "CPX",  0x080000C, 0xe0, 1, PutAll },
-               { "CPY",  0x080000C, 0xc0, 1, PutAll },
-               { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
-               { "DEC",  0x000006F, 0x00, 3, PutAll },
-               { "DEX",  0x0000001, 0xca, 0, PutAll },
-               { "DEY",  0x0000001, 0x88, 0, PutAll },
-               { "EOR",  0x080A66C, 0x40, 0, PutAll },
-               { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
-               { "INC",  0x000006f, 0x00, 4, PutAll },
-               { "INX",  0x0000001, 0xe8, 0, PutAll },
-               { "INY",  0x0000001, 0xc8, 0, PutAll },
-               { "JMP",  0x0010808, 0x4c, 6, PutAll },
-               { "JSR",  0x0000008, 0x20, 7, PutAll },
-               { "LDA",  0x080A66C, 0xa0, 0, PutAll },
-               { "LDX",  0x080030C, 0xa2, 1, PutAll },
-               { "LDY",  0x080006C, 0xa0, 1, PutAll },
-               { "LSR",  0x000006F, 0x42, 1, PutAll },
-               { "NOP",  0x0000001, 0xea, 0, PutAll },
-               { "ORA",  0x080A66C, 0x00, 0, PutAll },
-               { "PHA",  0x0000001, 0x48, 0, PutAll },
-               { "PHP",  0x0000001, 0x08, 0, PutAll },
-               { "PHX",  0x0000001, 0xda, 0, PutAll },
-               { "PHY",  0x0000001, 0x5a, 0, PutAll },
-               { "PLA",  0x0000001, 0x68, 0, PutAll },
-               { "PLP",  0x0000001, 0x28, 0, PutAll },
-               { "PLX",  0x0000001, 0xfa, 0, PutAll },
-               { "PLY",  0x0000001, 0x7a, 0, PutAll },
-               { "ROL",  0x000006F, 0x22, 1, PutAll },
-               { "ROR",  0x000006F, 0x62, 1, PutAll },
-               { "RTI",  0x0000001, 0x40, 0, PutAll },
-               { "RTS",  0x0000001, 0x60, 0, PutAll },
-               { "SBC",  0x080A66C, 0xe0, 0, PutAll },
-               { "SEC",  0x0000001, 0x38, 0, PutAll },
-               { "SED",  0x0000001, 0xf8, 0, PutAll },
-               { "SEI",  0x0000001, 0x78, 0, PutAll },
-               { "STA",  0x000A66C, 0x80, 0, PutAll },
-               { "STX",  0x000010c, 0x82, 1, PutAll },
-               { "STY",  0x000002c, 0x80, 1, PutAll },
-               { "STZ",  0x000006c, 0x04, 5, PutAll },
-               { "TAX",  0x0000001, 0xaa, 0, PutAll },
-               { "TAY",  0x0000001, 0xa8, 0, PutAll },
-               { "TRB",  0x000000c, 0x10, 1, PutAll },
-               { "TSB",  0x000000c, 0x00, 1, PutAll },
-               { "TSX",  0x0000001, 0xba, 0, PutAll },
-               { "TXA",  0x0000001, 0x8a, 0, PutAll },
-               { "TXS",  0x0000001, 0x9a, 0, PutAll },
-               { "TYA",  0x0000001, 0x98, 0, PutAll }
+        { "ADC",  0x080A66C, 0x60, 0, PutAll },
+        { "AND",  0x080A66C, 0x20, 0, PutAll },
+        { "ASL",  0x000006e, 0x02, 1, PutAll },
+        { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
+        { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
+        { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
+        { "BIT",  0x0A0006C, 0x00, 2, PutAll },
+        { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
+        { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
+        { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
+        { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
+        { "BRK",  0x0000001, 0x00, 0, PutAll },
+        { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
+        { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
+        { "CLC",  0x0000001, 0x18, 0, PutAll },
+        { "CLD",  0x0000001, 0xd8, 0, PutAll },
+        { "CLI",  0x0000001, 0x58, 0, PutAll },
+        { "CLV",  0x0000001, 0xb8, 0, PutAll },
+        { "CMP",  0x080A66C, 0xc0, 0, PutAll },
+        { "CPX",  0x080000C, 0xe0, 1, PutAll },
+        { "CPY",  0x080000C, 0xc0, 1, PutAll },
+        { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
+        { "DEC",  0x000006F, 0x00, 3, PutAll },
+        { "DEX",  0x0000001, 0xca, 0, PutAll },
+        { "DEY",  0x0000001, 0x88, 0, PutAll },
+        { "EOR",  0x080A66C, 0x40, 0, PutAll },
+        { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
+        { "INC",  0x000006f, 0x00, 4, PutAll },
+        { "INX",  0x0000001, 0xe8, 0, PutAll },
+        { "INY",  0x0000001, 0xc8, 0, PutAll },
+        { "JMP",  0x0010808, 0x4c, 6, PutAll },
+        { "JSR",  0x0000008, 0x20, 7, PutAll },
+        { "LDA",  0x080A66C, 0xa0, 0, PutAll },
+        { "LDX",  0x080030C, 0xa2, 1, PutAll },
+        { "LDY",  0x080006C, 0xa0, 1, PutAll },
+        { "LSR",  0x000006F, 0x42, 1, PutAll },
+        { "NOP",  0x0000001, 0xea, 0, PutAll },
+        { "ORA",  0x080A66C, 0x00, 0, PutAll },
+        { "PHA",  0x0000001, 0x48, 0, PutAll },
+        { "PHP",  0x0000001, 0x08, 0, PutAll },
+        { "PHX",  0x0000001, 0xda, 0, PutAll },
+        { "PHY",  0x0000001, 0x5a, 0, PutAll },
+        { "PLA",  0x0000001, 0x68, 0, PutAll },
+        { "PLP",  0x0000001, 0x28, 0, PutAll },
+        { "PLX",  0x0000001, 0xfa, 0, PutAll },
+        { "PLY",  0x0000001, 0x7a, 0, PutAll },
+        { "ROL",  0x000006F, 0x22, 1, PutAll },
+        { "ROR",  0x000006F, 0x62, 1, PutAll },
+        { "RTI",  0x0000001, 0x40, 0, PutAll },
+        { "RTS",  0x0000001, 0x60, 0, PutAll },
+        { "SBC",  0x080A66C, 0xe0, 0, PutAll },
+        { "SEC",  0x0000001, 0x38, 0, PutAll },
+        { "SED",  0x0000001, 0xf8, 0, PutAll },
+        { "SEI",  0x0000001, 0x78, 0, PutAll },
+        { "STA",  0x000A66C, 0x80, 0, PutAll },
+        { "STX",  0x000010c, 0x82, 1, PutAll },
+        { "STY",  0x000002c, 0x80, 1, PutAll },
+        { "STZ",  0x000006c, 0x04, 5, PutAll },
+        { "TAX",  0x0000001, 0xaa, 0, PutAll },
+        { "TAY",  0x0000001, 0xa8, 0, PutAll },
+        { "TRB",  0x000000c, 0x10, 1, PutAll },
+        { "TSB",  0x000000c, 0x00, 1, PutAll },
+        { "TSX",  0x0000001, 0xba, 0, PutAll },
+        { "TXA",  0x0000001, 0x8a, 0, PutAll },
+        { "TXS",  0x0000001, 0x9a, 0, PutAll },
+        { "TYA",  0x0000001, 0x98, 0, PutAll }
     }
 };
 
@@ -375,9 +375,9 @@ static const struct {
 } InsTab65C02 = {
     sizeof (InsTab65C02.Ins) / sizeof (InsTab65C02.Ins[0]),
     {
-               { "ADC",  0x080A66C, 0x60, 0, PutAll },
-               { "AND",  0x080A66C, 0x20, 0, PutAll },
-               { "ASL",  0x000006e, 0x02, 1, PutAll },
+        { "ADC",  0x080A66C, 0x60, 0, PutAll },
+        { "AND",  0x080A66C, 0x20, 0, PutAll },
+        { "ASL",  0x000006e, 0x02, 1, PutAll },
         { "BBR0", 0x0000000, 0x0F, 0, PutBitBranch },
         { "BBR1", 0x0000000, 0x1F, 0, PutBitBranch },
         { "BBR2", 0x0000000, 0x2F, 0, PutBitBranch },
@@ -394,85 +394,85 @@ static const struct {
         { "BBS5", 0x0000000, 0xDF, 0, PutBitBranch },
         { "BBS6", 0x0000000, 0xEF, 0, PutBitBranch },
         { "BBS7", 0x0000000, 0xFF, 0, PutBitBranch },
-               { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
-               { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
-               { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
-               { "BIT",  0x0A0006C, 0x00, 2, PutAll },
-               { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
-               { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
-               { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
-               { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
-               { "BRK",  0x0000001, 0x00, 0, PutAll },
-               { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
-               { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
-               { "CLC",  0x0000001, 0x18, 0, PutAll },
-               { "CLD",  0x0000001, 0xd8, 0, PutAll },
-               { "CLI",  0x0000001, 0x58, 0, PutAll },
-               { "CLV",  0x0000001, 0xb8, 0, PutAll },
-               { "CMP",  0x080A66C, 0xc0, 0, PutAll },
-               { "CPX",  0x080000C, 0xe0, 1, PutAll },
-               { "CPY",  0x080000C, 0xc0, 1, PutAll },
-               { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
-               { "DEC",  0x000006F, 0x00, 3, PutAll },
-               { "DEX",  0x0000001, 0xca, 0, PutAll },
-               { "DEY",  0x0000001, 0x88, 0, PutAll },
-               { "EOR",  0x080A66C, 0x40, 0, PutAll },
-               { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
-               { "INC",  0x000006f, 0x00, 4, PutAll },
-               { "INX",  0x0000001, 0xe8, 0, PutAll },
-               { "INY",  0x0000001, 0xc8, 0, PutAll },
-               { "JMP",  0x0010808, 0x4c, 6, PutAll },
-               { "JSR",  0x0000008, 0x20, 7, PutAll },
-               { "LDA",  0x080A66C, 0xa0, 0, PutAll },
-               { "LDX",  0x080030C, 0xa2, 1, PutAll },
-               { "LDY",  0x080006C, 0xa0, 1, PutAll },
-               { "LSR",  0x000006F, 0x42, 1, PutAll },
-               { "NOP",  0x0000001, 0xea, 0, PutAll },
-               { "ORA",  0x080A66C, 0x00, 0, PutAll },
-               { "PHA",  0x0000001, 0x48, 0, PutAll },
-               { "PHP",  0x0000001, 0x08, 0, PutAll },
-               { "PHX",  0x0000001, 0xda, 0, PutAll },
-               { "PHY",  0x0000001, 0x5a, 0, PutAll },
-               { "PLA",  0x0000001, 0x68, 0, PutAll },
-               { "PLP",  0x0000001, 0x28, 0, PutAll },
-               { "PLX",  0x0000001, 0xfa, 0, PutAll },
-               { "PLY",  0x0000001, 0x7a, 0, PutAll },
-               { "RMB0", 0x0000004, 0x07, 1, PutAll },
-               { "RMB1", 0x0000004, 0x17, 1, PutAll },
-               { "RMB2", 0x0000004, 0x27, 1, PutAll },
-               { "RMB3", 0x0000004, 0x37, 1, PutAll },
-               { "RMB4", 0x0000004, 0x47, 1, PutAll },
-               { "RMB5", 0x0000004, 0x57, 1, PutAll },
-               { "RMB6", 0x0000004, 0x67, 1, PutAll },
-               { "RMB7", 0x0000004, 0x77, 1, PutAll },
-               { "ROL",  0x000006F, 0x22, 1, PutAll },
-               { "ROR",  0x000006F, 0x62, 1, PutAll },
-               { "RTI",  0x0000001, 0x40, 0, PutAll },
-               { "RTS",  0x0000001, 0x60, 0, PutAll },
-               { "SBC",  0x080A66C, 0xe0, 0, PutAll },
-               { "SEC",  0x0000001, 0x38, 0, PutAll },
-               { "SED",  0x0000001, 0xf8, 0, PutAll },
-               { "SEI",  0x0000001, 0x78, 0, PutAll },
-               { "SMB0", 0x0000004, 0x87, 1, PutAll },
-               { "SMB1", 0x0000004, 0x97, 1, PutAll },
-               { "SMB2", 0x0000004, 0xA7, 1, PutAll },
-               { "SMB3", 0x0000004, 0xB7, 1, PutAll },
-               { "SMB4", 0x0000004, 0xC7, 1, PutAll },
-               { "SMB5", 0x0000004, 0xD7, 1, PutAll },
-               { "SMB6", 0x0000004, 0xE7, 1, PutAll },
-               { "SMB7", 0x0000004, 0xF7, 1, PutAll },
-               { "STA",  0x000A66C, 0x80, 0, PutAll },
-               { "STX",  0x000010c, 0x82, 1, PutAll },
-               { "STY",  0x000002c, 0x80, 1, PutAll },
-               { "STZ",  0x000006c, 0x04, 5, PutAll },
-               { "TAX",  0x0000001, 0xaa, 0, PutAll },
-               { "TAY",  0x0000001, 0xa8, 0, PutAll },
-               { "TRB",  0x000000c, 0x10, 1, PutAll },
-               { "TSB",  0x000000c, 0x00, 1, PutAll },
-               { "TSX",  0x0000001, 0xba, 0, PutAll },
-               { "TXA",  0x0000001, 0x8a, 0, PutAll },
-               { "TXS",  0x0000001, 0x9a, 0, PutAll },
-               { "TYA",  0x0000001, 0x98, 0, PutAll }
+        { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
+        { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
+        { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
+        { "BIT",  0x0A0006C, 0x00, 2, PutAll },
+        { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
+        { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
+        { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
+        { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
+        { "BRK",  0x0000001, 0x00, 0, PutAll },
+        { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
+        { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
+        { "CLC",  0x0000001, 0x18, 0, PutAll },
+        { "CLD",  0x0000001, 0xd8, 0, PutAll },
+        { "CLI",  0x0000001, 0x58, 0, PutAll },
+        { "CLV",  0x0000001, 0xb8, 0, PutAll },
+        { "CMP",  0x080A66C, 0xc0, 0, PutAll },
+        { "CPX",  0x080000C, 0xe0, 1, PutAll },
+        { "CPY",  0x080000C, 0xc0, 1, PutAll },
+        { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
+        { "DEC",  0x000006F, 0x00, 3, PutAll },
+        { "DEX",  0x0000001, 0xca, 0, PutAll },
+        { "DEY",  0x0000001, 0x88, 0, PutAll },
+        { "EOR",  0x080A66C, 0x40, 0, PutAll },
+        { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
+        { "INC",  0x000006f, 0x00, 4, PutAll },
+        { "INX",  0x0000001, 0xe8, 0, PutAll },
+        { "INY",  0x0000001, 0xc8, 0, PutAll },
+        { "JMP",  0x0010808, 0x4c, 6, PutAll },
+        { "JSR",  0x0000008, 0x20, 7, PutAll },
+        { "LDA",  0x080A66C, 0xa0, 0, PutAll },
+        { "LDX",  0x080030C, 0xa2, 1, PutAll },
+        { "LDY",  0x080006C, 0xa0, 1, PutAll },
+        { "LSR",  0x000006F, 0x42, 1, PutAll },
+        { "NOP",  0x0000001, 0xea, 0, PutAll },
+        { "ORA",  0x080A66C, 0x00, 0, PutAll },
+        { "PHA",  0x0000001, 0x48, 0, PutAll },
+        { "PHP",  0x0000001, 0x08, 0, PutAll },
+        { "PHX",  0x0000001, 0xda, 0, PutAll },
+        { "PHY",  0x0000001, 0x5a, 0, PutAll },
+        { "PLA",  0x0000001, 0x68, 0, PutAll },
+        { "PLP",  0x0000001, 0x28, 0, PutAll },
+        { "PLX",  0x0000001, 0xfa, 0, PutAll },
+        { "PLY",  0x0000001, 0x7a, 0, PutAll },
+        { "RMB0", 0x0000004, 0x07, 1, PutAll },
+        { "RMB1", 0x0000004, 0x17, 1, PutAll },
+        { "RMB2", 0x0000004, 0x27, 1, PutAll },
+        { "RMB3", 0x0000004, 0x37, 1, PutAll },
+        { "RMB4", 0x0000004, 0x47, 1, PutAll },
+        { "RMB5", 0x0000004, 0x57, 1, PutAll },
+        { "RMB6", 0x0000004, 0x67, 1, PutAll },
+        { "RMB7", 0x0000004, 0x77, 1, PutAll },
+        { "ROL",  0x000006F, 0x22, 1, PutAll },
+        { "ROR",  0x000006F, 0x62, 1, PutAll },
+        { "RTI",  0x0000001, 0x40, 0, PutAll },
+        { "RTS",  0x0000001, 0x60, 0, PutAll },
+        { "SBC",  0x080A66C, 0xe0, 0, PutAll },
+        { "SEC",  0x0000001, 0x38, 0, PutAll },
+        { "SED",  0x0000001, 0xf8, 0, PutAll },
+        { "SEI",  0x0000001, 0x78, 0, PutAll },
+        { "SMB0", 0x0000004, 0x87, 1, PutAll },
+        { "SMB1", 0x0000004, 0x97, 1, PutAll },
+        { "SMB2", 0x0000004, 0xA7, 1, PutAll },
+        { "SMB3", 0x0000004, 0xB7, 1, PutAll },
+        { "SMB4", 0x0000004, 0xC7, 1, PutAll },
+        { "SMB5", 0x0000004, 0xD7, 1, PutAll },
+        { "SMB6", 0x0000004, 0xE7, 1, PutAll },
+        { "SMB7", 0x0000004, 0xF7, 1, PutAll },
+        { "STA",  0x000A66C, 0x80, 0, PutAll },
+        { "STX",  0x000010c, 0x82, 1, PutAll },
+        { "STY",  0x000002c, 0x80, 1, PutAll },
+        { "STZ",  0x000006c, 0x04, 5, PutAll },
+        { "TAX",  0x0000001, 0xaa, 0, PutAll },
+        { "TAY",  0x0000001, 0xa8, 0, PutAll },
+        { "TRB",  0x000000c, 0x10, 1, PutAll },
+        { "TSB",  0x000000c, 0x00, 1, PutAll },
+        { "TSX",  0x0000001, 0xba, 0, PutAll },
+        { "TXA",  0x0000001, 0x8a, 0, PutAll },
+        { "TXS",  0x0000001, 0x9a, 0, PutAll },
+        { "TYA",  0x0000001, 0x98, 0, PutAll }
     }
 };
 
@@ -483,105 +483,105 @@ static const struct {
 } InsTab65816 = {
     sizeof (InsTab65816.Ins) / sizeof (InsTab65816.Ins[0]),
     {
-               { "ADC",  0x0b8f6fc, 0x60, 0, PutAll },
-               { "AND",  0x0b8f6fc, 0x20, 0, PutAll },
-               { "ASL",  0x000006e, 0x02, 1, PutAll },
-               { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
-               { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
-               { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
-               { "BIT",  0x0a0006c, 0x00, 2, PutAll },
-               { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
-               { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
-               { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
-               { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
-               { "BRK",  0x0000001, 0x00, 0, PutAll },
-               { "BRL",  0x0040000, 0x82, 0, PutPCRel16 },
-               { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
-               { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
-               { "CLC",  0x0000001, 0x18, 0, PutAll },
-               { "CLD",  0x0000001, 0xd8, 0, PutAll },
-               { "CLI",  0x0000001, 0x58, 0, PutAll },
-               { "CLV",  0x0000001, 0xb8, 0, PutAll },
-               { "CMP",  0x0b8f6fc, 0xc0, 0, PutAll },
-               { "COP",  0x0000004, 0x02, 6, PutAll },
-               { "CPA",  0x0b8f6fc, 0xc0, 0, PutAll },   /* == CMP */
-               { "CPX",  0x0c0000c, 0xe0, 1, PutAll },
-               { "CPY",  0x0c0000c, 0xc0, 1, PutAll },
-               { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
-               { "DEC",  0x000006F, 0x00, 3, PutAll },
-               { "DEX",  0x0000001, 0xca, 0, PutAll },
-               { "DEY",  0x0000001, 0x88, 0, PutAll },
-               { "EOR",  0x0b8f6fc, 0x40, 0, PutAll },
-               { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
-               { "INC",  0x000006F, 0x00, 4, PutAll },
-               { "INX",  0x0000001, 0xe8, 0, PutAll },
-               { "INY",  0x0000001, 0xc8, 0, PutAll },
-               { "JML",  0x0000810, 0x5c, 1, PutAll },
-               { "JMP",  0x0010818, 0x4c, 6, PutAll },
-               { "JSL",  0x0000010, 0x20, 7, PutAll },
-               { "JSR",  0x0010018, 0x20, 7, PutAll },
-               { "LDA",  0x0b8f6fc, 0xa0, 0, PutAll },
-               { "LDX",  0x0c0030c, 0xa2, 1, PutAll },
-               { "LDY",  0x0c0006c, 0xa0, 1, PutAll },
-               { "LSR",  0x000006F, 0x42, 1, PutAll },
-               { "MVN",  0x1000000, 0x54, 0, PutBlockMove },
-               { "MVP",  0x1000000, 0x44, 0, PutBlockMove },
-               { "NOP",  0x0000001, 0xea, 0, PutAll },
-               { "ORA",  0x0b8f6fc, 0x00, 0, PutAll },
-               { "PEA",  0x0000008, 0xf4, 6, PutAll },
-               { "PEI",  0x0000400, 0xd4, 1, PutAll },
-               { "PER",  0x0040000, 0x62, 0, PutPCRel16 },
-               { "PHA",  0x0000001, 0x48, 0, PutAll },
-               { "PHB",  0x0000001, 0x8b, 0, PutAll },
-               { "PHD",  0x0000001, 0x0b, 0, PutAll },
-               { "PHK",  0x0000001, 0x4b, 0, PutAll },
-               { "PHP",  0x0000001, 0x08, 0, PutAll },
-               { "PHX",  0x0000001, 0xda, 0, PutAll },
-               { "PHY",  0x0000001, 0x5a, 0, PutAll },
-               { "PLA",  0x0000001, 0x68, 0, PutAll },
-               { "PLB",  0x0000001, 0xab, 0, PutAll },
-               { "PLD",  0x0000001, 0x2b, 0, PutAll },
-               { "PLP",  0x0000001, 0x28, 0, PutAll },
-               { "PLX",  0x0000001, 0xfa, 0, PutAll },
-               { "PLY",  0x0000001, 0x7a, 0, PutAll },
-               { "REP",  0x0800000, 0xc2, 1, PutREP },
-               { "ROL",  0x000006F, 0x22, 1, PutAll },
-               { "ROR",  0x000006F, 0x62, 1, PutAll },
-               { "RTI",  0x0000001, 0x40, 0, PutAll },
-               { "RTL",  0x0000001, 0x6b, 0, PutAll },
-               { "RTS",  0x0000001, 0x60, 0, PutRTS },
-               { "SBC",  0x0b8f6fc, 0xe0, 0, PutAll },
-               { "SEC",  0x0000001, 0x38, 0, PutAll },
-               { "SED",  0x0000001, 0xf8, 0, PutAll },
-               { "SEI",  0x0000001, 0x78, 0, PutAll },
-               { "SEP",  0x0800000, 0xe2, 1, PutSEP },
-               { "STA",  0x018f6fc, 0x80, 0, PutAll },
-               { "STP",  0x0000001, 0xdb, 0, PutAll },
-               { "STX",  0x000010c, 0x82, 1, PutAll },
-               { "STY",  0x000002c, 0x80, 1, PutAll },
-               { "STZ",  0x000006c, 0x04, 5, PutAll },
-               { "SWA",  0x0000001, 0xeb, 0, PutAll },   /* == XBA */
-               { "TAD",  0x0000001, 0x5b, 0, PutAll },   /* == TCD */
-               { "TAS",  0x0000001, 0x1b, 0, PutAll },   /* == TCS */
-               { "TAX",  0x0000001, 0xaa, 0, PutAll },
-               { "TAY",  0x0000001, 0xa8, 0, PutAll },
-               { "TCD",  0x0000001, 0x5b, 0, PutAll },
-               { "TCS",  0x0000001, 0x1b, 0, PutAll },
-               { "TDA",  0x0000001, 0x7b, 0, PutAll },   /* == TDC */
-               { "TDC",  0x0000001, 0x7b, 0, PutAll },
-               { "TRB",  0x000000c, 0x10, 1, PutAll },
-               { "TSA",  0x0000001, 0x3b, 0, PutAll },   /* == TSC */
-               { "TSB",  0x000000c, 0x00, 1, PutAll },
-               { "TSC",  0x0000001, 0x3b, 0, PutAll },
-               { "TSX",  0x0000001, 0xba, 0, PutAll },
-               { "TXA",  0x0000001, 0x8a, 0, PutAll },
-               { "TXS",  0x0000001, 0x9a, 0, PutAll },
-               { "TXY",  0x0000001, 0x9b, 0, PutAll },
-               { "TYA",  0x0000001, 0x98, 0, PutAll },
-               { "TYX",  0x0000001, 0xbb, 0, PutAll },
-               { "WAI",  0x0000001, 0xcb, 0, PutAll },
-               { "XBA",  0x0000001, 0xeb, 0, PutAll },
-               { "XCE",  0x0000001, 0xfb, 0, PutAll }
+        { "ADC",  0x0b8f6fc, 0x60, 0, PutAll },
+        { "AND",  0x0b8f6fc, 0x20, 0, PutAll },
+        { "ASL",  0x000006e, 0x02, 1, PutAll },
+        { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
+        { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
+        { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
+        { "BIT",  0x0a0006c, 0x00, 2, PutAll },
+        { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
+        { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
+        { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
+        { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
+        { "BRK",  0x0000001, 0x00, 0, PutAll },
+        { "BRL",  0x0040000, 0x82, 0, PutPCRel16 },
+        { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
+        { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
+        { "CLC",  0x0000001, 0x18, 0, PutAll },
+        { "CLD",  0x0000001, 0xd8, 0, PutAll },
+        { "CLI",  0x0000001, 0x58, 0, PutAll },
+        { "CLV",  0x0000001, 0xb8, 0, PutAll },
+        { "CMP",  0x0b8f6fc, 0xc0, 0, PutAll },
+        { "COP",  0x0000004, 0x02, 6, PutAll },
+        { "CPA",  0x0b8f6fc, 0xc0, 0, PutAll },   /* == CMP */
+        { "CPX",  0x0c0000c, 0xe0, 1, PutAll },
+        { "CPY",  0x0c0000c, 0xc0, 1, PutAll },
+        { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
+        { "DEC",  0x000006F, 0x00, 3, PutAll },
+        { "DEX",  0x0000001, 0xca, 0, PutAll },
+        { "DEY",  0x0000001, 0x88, 0, PutAll },
+        { "EOR",  0x0b8f6fc, 0x40, 0, PutAll },
+        { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
+        { "INC",  0x000006F, 0x00, 4, PutAll },
+        { "INX",  0x0000001, 0xe8, 0, PutAll },
+        { "INY",  0x0000001, 0xc8, 0, PutAll },
+        { "JML",  0x0000810, 0x5c, 1, PutAll },
+        { "JMP",  0x0010818, 0x4c, 6, PutAll },
+        { "JSL",  0x0000010, 0x20, 7, PutAll },
+        { "JSR",  0x0010018, 0x20, 7, PutAll },
+        { "LDA",  0x0b8f6fc, 0xa0, 0, PutAll },
+        { "LDX",  0x0c0030c, 0xa2, 1, PutAll },
+        { "LDY",  0x0c0006c, 0xa0, 1, PutAll },
+        { "LSR",  0x000006F, 0x42, 1, PutAll },
+        { "MVN",  0x1000000, 0x54, 0, PutBlockMove },
+        { "MVP",  0x1000000, 0x44, 0, PutBlockMove },
+        { "NOP",  0x0000001, 0xea, 0, PutAll },
+        { "ORA",  0x0b8f6fc, 0x00, 0, PutAll },
+        { "PEA",  0x0000008, 0xf4, 6, PutAll },
+        { "PEI",  0x0000400, 0xd4, 1, PutAll },
+        { "PER",  0x0040000, 0x62, 0, PutPCRel16 },
+        { "PHA",  0x0000001, 0x48, 0, PutAll },
+        { "PHB",  0x0000001, 0x8b, 0, PutAll },
+        { "PHD",  0x0000001, 0x0b, 0, PutAll },
+        { "PHK",  0x0000001, 0x4b, 0, PutAll },
+        { "PHP",  0x0000001, 0x08, 0, PutAll },
+        { "PHX",  0x0000001, 0xda, 0, PutAll },
+        { "PHY",  0x0000001, 0x5a, 0, PutAll },
+        { "PLA",  0x0000001, 0x68, 0, PutAll },
+        { "PLB",  0x0000001, 0xab, 0, PutAll },
+        { "PLD",  0x0000001, 0x2b, 0, PutAll },
+        { "PLP",  0x0000001, 0x28, 0, PutAll },
+        { "PLX",  0x0000001, 0xfa, 0, PutAll },
+        { "PLY",  0x0000001, 0x7a, 0, PutAll },
+        { "REP",  0x0800000, 0xc2, 1, PutREP },
+        { "ROL",  0x000006F, 0x22, 1, PutAll },
+        { "ROR",  0x000006F, 0x62, 1, PutAll },
+        { "RTI",  0x0000001, 0x40, 0, PutAll },
+        { "RTL",  0x0000001, 0x6b, 0, PutAll },
+        { "RTS",  0x0000001, 0x60, 0, PutRTS },
+        { "SBC",  0x0b8f6fc, 0xe0, 0, PutAll },
+        { "SEC",  0x0000001, 0x38, 0, PutAll },
+        { "SED",  0x0000001, 0xf8, 0, PutAll },
+        { "SEI",  0x0000001, 0x78, 0, PutAll },
+        { "SEP",  0x0800000, 0xe2, 1, PutSEP },
+        { "STA",  0x018f6fc, 0x80, 0, PutAll },
+        { "STP",  0x0000001, 0xdb, 0, PutAll },
+        { "STX",  0x000010c, 0x82, 1, PutAll },
+        { "STY",  0x000002c, 0x80, 1, PutAll },
+        { "STZ",  0x000006c, 0x04, 5, PutAll },
+        { "SWA",  0x0000001, 0xeb, 0, PutAll },   /* == XBA */
+        { "TAD",  0x0000001, 0x5b, 0, PutAll },   /* == TCD */
+        { "TAS",  0x0000001, 0x1b, 0, PutAll },   /* == TCS */
+        { "TAX",  0x0000001, 0xaa, 0, PutAll },
+        { "TAY",  0x0000001, 0xa8, 0, PutAll },
+        { "TCD",  0x0000001, 0x5b, 0, PutAll },
+        { "TCS",  0x0000001, 0x1b, 0, PutAll },
+        { "TDA",  0x0000001, 0x7b, 0, PutAll },   /* == TDC */
+        { "TDC",  0x0000001, 0x7b, 0, PutAll },
+        { "TRB",  0x000000c, 0x10, 1, PutAll },
+        { "TSA",  0x0000001, 0x3b, 0, PutAll },   /* == TSC */
+        { "TSB",  0x000000c, 0x00, 1, PutAll },
+        { "TSC",  0x0000001, 0x3b, 0, PutAll },
+        { "TSX",  0x0000001, 0xba, 0, PutAll },
+        { "TXA",  0x0000001, 0x8a, 0, PutAll },
+        { "TXS",  0x0000001, 0x9a, 0, PutAll },
+        { "TXY",  0x0000001, 0x9b, 0, PutAll },
+        { "TYA",  0x0000001, 0x98, 0, PutAll },
+        { "TYX",  0x0000001, 0xbb, 0, PutAll },
+        { "WAI",  0x0000001, 0xcb, 0, PutAll },
+        { "XBA",  0x0000001, 0xeb, 0, PutAll },
+        { "XCE",  0x0000001, 0xfb, 0, PutAll }
     }
 };
 
@@ -633,9 +633,9 @@ static const struct {
 } InsTabHuC6280 = {
     sizeof (InsTabHuC6280.Ins) / sizeof (InsTabHuC6280.Ins[0]),
     {
-               { "ADC",  0x080A66C, 0x60, 0, PutAll },
-               { "AND",  0x080A66C, 0x20, 0, PutAll },
-               { "ASL",  0x000006e, 0x02, 1, PutAll },
+        { "ADC",  0x080A66C, 0x60, 0, PutAll },
+        { "AND",  0x080A66C, 0x20, 0, PutAll },
+        { "ASL",  0x000006e, 0x02, 1, PutAll },
         { "BBR0", 0x0000000, 0x0F, 0, PutBitBranch },
         { "BBR1", 0x0000000, 0x1F, 0, PutBitBranch },
         { "BBR2", 0x0000000, 0x2F, 0, PutBitBranch },
@@ -652,122 +652,122 @@ static const struct {
         { "BBS5", 0x0000000, 0xDF, 0, PutBitBranch },
         { "BBS6", 0x0000000, 0xEF, 0, PutBitBranch },
         { "BBS7", 0x0000000, 0xFF, 0, PutBitBranch },
-               { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
-               { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
-               { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
-               { "BIT",  0x0A0006C, 0x00, 2, PutAll },
-               { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
-               { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
-               { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
-               { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
-               { "BRK",  0x0000001, 0x00, 0, PutAll },
-               { "BSR",  0x0020000, 0x44, 0, PutPCRel8 },
-               { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
-               { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
-               { "CLA",  0x0000001, 0x62, 0, PutAll },
-               { "CLC",  0x0000001, 0x18, 0, PutAll },
-               { "CLD",  0x0000001, 0xd8, 0, PutAll },
-               { "CLI",  0x0000001, 0x58, 0, PutAll },
-               { "CLV",  0x0000001, 0xb8, 0, PutAll },
-               { "CLX",  0x0000001, 0x82, 0, PutAll },
-               { "CLY",  0x0000001, 0xc2, 0, PutAll },
-               { "CMP",  0x080A66C, 0xc0, 0, PutAll },
-               { "CPX",  0x080000C, 0xe0, 1, PutAll },
-               { "CPY",  0x080000C, 0xc0, 1, PutAll },
-               { "CSH",  0x0000001, 0xd4, 0, PutAll },
-               { "CSL",  0x0000001, 0x54, 0, PutAll },
-               { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
-               { "DEC",  0x000006F, 0x00, 3, PutAll },
-               { "DEX",  0x0000001, 0xca, 0, PutAll },
-               { "DEY",  0x0000001, 0x88, 0, PutAll },
-               { "EOR",  0x080A66C, 0x40, 0, PutAll },
-               { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
-               { "INC",  0x000006f, 0x00, 4, PutAll },
-               { "INX",  0x0000001, 0xe8, 0, PutAll },
-               { "INY",  0x0000001, 0xc8, 0, PutAll },
-               { "JMP",  0x0010808, 0x4c, 6, PutAll },
-               { "JSR",  0x0000008, 0x20, 7, PutAll },
-               { "LDA",  0x080A66C, 0xa0, 0, PutAll },
-               { "LDX",  0x080030C, 0xa2, 1, PutAll },
-               { "LDY",  0x080006C, 0xa0, 1, PutAll },
-               { "LSR",  0x000006F, 0x42, 1, PutAll },
-               { "NOP",  0x0000001, 0xea, 0, PutAll },
-               { "ORA",  0x080A66C, 0x00, 0, PutAll },
-               { "PHA",  0x0000001, 0x48, 0, PutAll },
-               { "PHP",  0x0000001, 0x08, 0, PutAll },
-               { "PHX",  0x0000001, 0xda, 0, PutAll },
-               { "PHY",  0x0000001, 0x5a, 0, PutAll },
-               { "PLA",  0x0000001, 0x68, 0, PutAll },
-               { "PLP",  0x0000001, 0x28, 0, PutAll },
-               { "PLX",  0x0000001, 0xfa, 0, PutAll },
-               { "PLY",  0x0000001, 0x7a, 0, PutAll },
-               { "RMB0", 0x0000004, 0x07, 1, PutAll },
-               { "RMB1", 0x0000004, 0x17, 1, PutAll },
-               { "RMB2", 0x0000004, 0x27, 1, PutAll },
-               { "RMB3", 0x0000004, 0x37, 1, PutAll },
-               { "RMB4", 0x0000004, 0x47, 1, PutAll },
-               { "RMB5", 0x0000004, 0x57, 1, PutAll },
-               { "RMB6", 0x0000004, 0x67, 1, PutAll },
-               { "RMB7", 0x0000004, 0x77, 1, PutAll },
-               { "ROL",  0x000006F, 0x22, 1, PutAll },
-               { "ROR",  0x000006F, 0x62, 1, PutAll },
-               { "RTI",  0x0000001, 0x40, 0, PutAll },
-               { "RTS",  0x0000001, 0x60, 0, PutAll },
-               { "SBC",  0x080A66C, 0xe0, 0, PutAll },
-               { "SAX",  0x0000001, 0x22, 0, PutAll },
-               { "SAY",  0x0000001, 0x42, 0, PutAll },
-               { "SEC",  0x0000001, 0x38, 0, PutAll },
-               { "SED",  0x0000001, 0xf8, 0, PutAll },
-               { "SEI",  0x0000001, 0x78, 0, PutAll },
-               { "SET",  0x0000001, 0xf4, 0, PutAll },
-               { "SMB0", 0x0000004, 0x87, 1, PutAll },
-               { "SMB1", 0x0000004, 0x97, 1, PutAll },
-               { "SMB2", 0x0000004, 0xA7, 1, PutAll },
-               { "SMB3", 0x0000004, 0xB7, 1, PutAll },
-               { "SMB4", 0x0000004, 0xC7, 1, PutAll },
-               { "SMB5", 0x0000004, 0xD7, 1, PutAll },
-               { "SMB6", 0x0000004, 0xE7, 1, PutAll },
-               { "SMB7", 0x0000004, 0xF7, 1, PutAll },
-               { "ST0",  0x0800000, 0x03, 1, PutAll },
-               { "ST1",  0x0800000, 0x13, 1, PutAll },
-               { "ST2",  0x0800000, 0x23, 1, PutAll },
-               { "STA",  0x000A66C, 0x80, 0, PutAll },
-               { "STX",  0x000010c, 0x82, 1, PutAll },
-               { "STY",  0x000002c, 0x80, 1, PutAll },
-               { "STZ",  0x000006c, 0x04, 5, PutAll },
-               { "SXY",  0x0000001, 0x02, 0, PutAll },
-               { "TAI",  0x2000000, 0xf3, 0, PutBlockTransfer },
-               { "TAM",  0x0800000, 0x53, 1, PutAll },
-               { "TAM0", 0x0000001, 0x01, 0, PutTAMn},
-               { "TAM1", 0x0000001, 0x02, 0, PutTAMn},
-               { "TAM2", 0x0000001, 0x04, 0, PutTAMn},
-               { "TAM3", 0x0000001, 0x08, 0, PutTAMn},
-               { "TAM4", 0x0000001, 0x10, 0, PutTAMn},
-               { "TAM5", 0x0000001, 0x20, 0, PutTAMn},
-               { "TAM6", 0x0000001, 0x40, 0, PutTAMn},
-               { "TAM7", 0x0000001, 0x80, 0, PutTAMn},
-               { "TAX",  0x0000001, 0xaa, 0, PutAll },
-               { "TAY",  0x0000001, 0xa8, 0, PutAll },
-               { "TDD",  0x2000000, 0xc3, 0, PutBlockTransfer },
-               { "TIA",  0x2000000, 0xe3, 0, PutBlockTransfer },
-               { "TII",  0x2000000, 0x73, 0, PutBlockTransfer },
-               { "TIN",  0x2000000, 0xD3, 0, PutBlockTransfer },
-               { "TMA",  0x0800000, 0x43, 1, PutTMA },
-               { "TMA0", 0x0000001, 0x01, 0, PutTMAn},
-               { "TMA1", 0x0000001, 0x02, 0, PutTMAn},
-               { "TMA2", 0x0000001, 0x04, 0, PutTMAn},
-               { "TMA3", 0x0000001, 0x08, 0, PutTMAn},
-               { "TMA4", 0x0000001, 0x10, 0, PutTMAn},
-               { "TMA5", 0x0000001, 0x20, 0, PutTMAn},
-               { "TMA6", 0x0000001, 0x40, 0, PutTMAn},
-               { "TMA7", 0x0000001, 0x80, 0, PutTMAn},
-               { "TRB",  0x000000c, 0x10, 1, PutAll },
-               { "TSB",  0x000000c, 0x00, 1, PutAll },
+        { "BCC",  0x0020000, 0x90, 0, PutPCRel8 },
+        { "BCS",  0x0020000, 0xb0, 0, PutPCRel8 },
+        { "BEQ",  0x0020000, 0xf0, 0, PutPCRel8 },
+        { "BIT",  0x0A0006C, 0x00, 2, PutAll },
+        { "BMI",  0x0020000, 0x30, 0, PutPCRel8 },
+        { "BNE",  0x0020000, 0xd0, 0, PutPCRel8 },
+        { "BPL",  0x0020000, 0x10, 0, PutPCRel8 },
+        { "BRA",  0x0020000, 0x80, 0, PutPCRel8 },
+        { "BRK",  0x0000001, 0x00, 0, PutAll },
+        { "BSR",  0x0020000, 0x44, 0, PutPCRel8 },
+        { "BVC",  0x0020000, 0x50, 0, PutPCRel8 },
+        { "BVS",  0x0020000, 0x70, 0, PutPCRel8 },
+        { "CLA",  0x0000001, 0x62, 0, PutAll },
+        { "CLC",  0x0000001, 0x18, 0, PutAll },
+        { "CLD",  0x0000001, 0xd8, 0, PutAll },
+        { "CLI",  0x0000001, 0x58, 0, PutAll },
+        { "CLV",  0x0000001, 0xb8, 0, PutAll },
+        { "CLX",  0x0000001, 0x82, 0, PutAll },
+        { "CLY",  0x0000001, 0xc2, 0, PutAll },
+        { "CMP",  0x080A66C, 0xc0, 0, PutAll },
+        { "CPX",  0x080000C, 0xe0, 1, PutAll },
+        { "CPY",  0x080000C, 0xc0, 1, PutAll },
+        { "CSH",  0x0000001, 0xd4, 0, PutAll },
+        { "CSL",  0x0000001, 0x54, 0, PutAll },
+        { "DEA",  0x0000001, 0x00, 3, PutAll },   /* == DEC */
+        { "DEC",  0x000006F, 0x00, 3, PutAll },
+        { "DEX",  0x0000001, 0xca, 0, PutAll },
+        { "DEY",  0x0000001, 0x88, 0, PutAll },
+        { "EOR",  0x080A66C, 0x40, 0, PutAll },
+        { "INA",  0x0000001, 0x00, 4, PutAll },   /* == INC */
+        { "INC",  0x000006f, 0x00, 4, PutAll },
+        { "INX",  0x0000001, 0xe8, 0, PutAll },
+        { "INY",  0x0000001, 0xc8, 0, PutAll },
+        { "JMP",  0x0010808, 0x4c, 6, PutAll },
+        { "JSR",  0x0000008, 0x20, 7, PutAll },
+        { "LDA",  0x080A66C, 0xa0, 0, PutAll },
+        { "LDX",  0x080030C, 0xa2, 1, PutAll },
+        { "LDY",  0x080006C, 0xa0, 1, PutAll },
+        { "LSR",  0x000006F, 0x42, 1, PutAll },
+        { "NOP",  0x0000001, 0xea, 0, PutAll },
+        { "ORA",  0x080A66C, 0x00, 0, PutAll },
+        { "PHA",  0x0000001, 0x48, 0, PutAll },
+        { "PHP",  0x0000001, 0x08, 0, PutAll },
+        { "PHX",  0x0000001, 0xda, 0, PutAll },
+        { "PHY",  0x0000001, 0x5a, 0, PutAll },
+        { "PLA",  0x0000001, 0x68, 0, PutAll },
+        { "PLP",  0x0000001, 0x28, 0, PutAll },
+        { "PLX",  0x0000001, 0xfa, 0, PutAll },
+        { "PLY",  0x0000001, 0x7a, 0, PutAll },
+        { "RMB0", 0x0000004, 0x07, 1, PutAll },
+        { "RMB1", 0x0000004, 0x17, 1, PutAll },
+        { "RMB2", 0x0000004, 0x27, 1, PutAll },
+        { "RMB3", 0x0000004, 0x37, 1, PutAll },
+        { "RMB4", 0x0000004, 0x47, 1, PutAll },
+        { "RMB5", 0x0000004, 0x57, 1, PutAll },
+        { "RMB6", 0x0000004, 0x67, 1, PutAll },
+        { "RMB7", 0x0000004, 0x77, 1, PutAll },
+        { "ROL",  0x000006F, 0x22, 1, PutAll },
+        { "ROR",  0x000006F, 0x62, 1, PutAll },
+        { "RTI",  0x0000001, 0x40, 0, PutAll },
+        { "RTS",  0x0000001, 0x60, 0, PutAll },
+        { "SBC",  0x080A66C, 0xe0, 0, PutAll },
+        { "SAX",  0x0000001, 0x22, 0, PutAll },
+        { "SAY",  0x0000001, 0x42, 0, PutAll },
+        { "SEC",  0x0000001, 0x38, 0, PutAll },
+        { "SED",  0x0000001, 0xf8, 0, PutAll },
+        { "SEI",  0x0000001, 0x78, 0, PutAll },
+        { "SET",  0x0000001, 0xf4, 0, PutAll },
+        { "SMB0", 0x0000004, 0x87, 1, PutAll },
+        { "SMB1", 0x0000004, 0x97, 1, PutAll },
+        { "SMB2", 0x0000004, 0xA7, 1, PutAll },
+        { "SMB3", 0x0000004, 0xB7, 1, PutAll },
+        { "SMB4", 0x0000004, 0xC7, 1, PutAll },
+        { "SMB5", 0x0000004, 0xD7, 1, PutAll },
+        { "SMB6", 0x0000004, 0xE7, 1, PutAll },
+        { "SMB7", 0x0000004, 0xF7, 1, PutAll },
+        { "ST0",  0x0800000, 0x03, 1, PutAll },
+        { "ST1",  0x0800000, 0x13, 1, PutAll },
+        { "ST2",  0x0800000, 0x23, 1, PutAll },
+        { "STA",  0x000A66C, 0x80, 0, PutAll },
+        { "STX",  0x000010c, 0x82, 1, PutAll },
+        { "STY",  0x000002c, 0x80, 1, PutAll },
+        { "STZ",  0x000006c, 0x04, 5, PutAll },
+        { "SXY",  0x0000001, 0x02, 0, PutAll },
+        { "TAI",  0x2000000, 0xf3, 0, PutBlockTransfer },
+        { "TAM",  0x0800000, 0x53, 1, PutAll },
+        { "TAM0", 0x0000001, 0x01, 0, PutTAMn},
+        { "TAM1", 0x0000001, 0x02, 0, PutTAMn},
+        { "TAM2", 0x0000001, 0x04, 0, PutTAMn},
+        { "TAM3", 0x0000001, 0x08, 0, PutTAMn},
+        { "TAM4", 0x0000001, 0x10, 0, PutTAMn},
+        { "TAM5", 0x0000001, 0x20, 0, PutTAMn},
+        { "TAM6", 0x0000001, 0x40, 0, PutTAMn},
+        { "TAM7", 0x0000001, 0x80, 0, PutTAMn},
+        { "TAX",  0x0000001, 0xaa, 0, PutAll },
+        { "TAY",  0x0000001, 0xa8, 0, PutAll },
+        { "TDD",  0x2000000, 0xc3, 0, PutBlockTransfer },
+        { "TIA",  0x2000000, 0xe3, 0, PutBlockTransfer },
+        { "TII",  0x2000000, 0x73, 0, PutBlockTransfer },
+        { "TIN",  0x2000000, 0xD3, 0, PutBlockTransfer },
+        { "TMA",  0x0800000, 0x43, 1, PutTMA },
+        { "TMA0", 0x0000001, 0x01, 0, PutTMAn},
+        { "TMA1", 0x0000001, 0x02, 0, PutTMAn},
+        { "TMA2", 0x0000001, 0x04, 0, PutTMAn},
+        { "TMA3", 0x0000001, 0x08, 0, PutTMAn},
+        { "TMA4", 0x0000001, 0x10, 0, PutTMAn},
+        { "TMA5", 0x0000001, 0x20, 0, PutTMAn},
+        { "TMA6", 0x0000001, 0x40, 0, PutTMAn},
+        { "TMA7", 0x0000001, 0x80, 0, PutTMAn},
+        { "TRB",  0x000000c, 0x10, 1, PutAll },
+        { "TSB",  0x000000c, 0x00, 1, PutAll },
         { "TST",  0x000006c, 0x83, 9, PutTST },
-               { "TSX",  0x0000001, 0xba, 0, PutAll },
-               { "TXA",  0x0000001, 0x8a, 0, PutAll },
-               { "TXS",  0x0000001, 0x9a, 0, PutAll },
-               { "TYA",  0x0000001, 0x98, 0, PutAll }
+        { "TSX",  0x0000001, 0xba, 0, PutAll },
+        { "TXA",  0x0000001, 0x8a, 0, PutAll },
+        { "TXS",  0x0000001, 0x9a, 0, PutAll },
+        { "TYA",  0x0000001, 0x98, 0, PutAll }
     }
 };
 
@@ -797,64 +797,64 @@ const InsTable* InsTab = (const InsTable*) &InsTab6502;
  */
 static unsigned char EATab[10][AM65I_COUNT] = {
     {   /* Table 0 */
-       0x00, 0x00, 0x05, 0x0D, 0x0F, 0x15, 0x1D, 0x1F,
-       0x00, 0x19, 0x12, 0x00, 0x07, 0x11, 0x17, 0x01,
-       0x00, 0x00, 0x00, 0x03, 0x13, 0x09, 0x00, 0x09,
-               0x00, 0x00
+        0x00, 0x00, 0x05, 0x0D, 0x0F, 0x15, 0x1D, 0x1F,
+        0x00, 0x19, 0x12, 0x00, 0x07, 0x11, 0x17, 0x01,
+        0x00, 0x00, 0x00, 0x03, 0x13, 0x09, 0x00, 0x09,
+        0x00, 0x00
     },
     {   /* Table 1 */
-       0x08, 0x08, 0x04, 0x0C, 0x00, 0x14, 0x1C, 0x00,
-       0x14, 0x1C, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x08, 0x08, 0x04, 0x0C, 0x00, 0x14, 0x1C, 0x00,
+        0x14, 0x1C, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 2 */
-       0x00, 0x00, 0x24, 0x2C, 0x0F, 0x34, 0x3C, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00,
-               0x00, 0x00
+        0x00, 0x00, 0x24, 0x2C, 0x0F, 0x34, 0x3C, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 3 */
-       0x3A, 0x3A, 0xC6, 0xCE, 0x00, 0xD6, 0xDE, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x3A, 0x3A, 0xC6, 0xCE, 0x00, 0xD6, 0xDE, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 4 */
-       0x1A, 0x1A, 0xE6, 0xEE, 0x00, 0xF6, 0xFE, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x1A, 0x1A, 0xE6, 0xEE, 0x00, 0xF6, 0xFE, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 5 */
-       0x00, 0x00, 0x60, 0x98, 0x00, 0x70, 0x9E, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x00, 0x00, 0x60, 0x98, 0x00, 0x70, 0x9E, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 6 */
-       0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
-       0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+        0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 7 */
-       0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 8 */
-               0x00, 0x40, 0x01, 0x41, 0x00, 0x09, 0x49, 0x00,
-       0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
-               0x00, 0x00
+        0x00, 0x40, 0x01, 0x41, 0x00, 0x09, 0x49, 0x00,
+        0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+        0x00, 0x00
     },
     {   /* Table 9 */
-               0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x30, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00
+        0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x30, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00
     },
 };
 
@@ -863,41 +863,41 @@ static unsigned char EATab[10][AM65I_COUNT] = {
  */
 static unsigned char Sweet16EATab[2][AMSW16I_COUNT] = {
     {   /* Table 0 */
-               0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00,
     },
     {   /* Table 1 */
-               0x00, 0x00, 0x00, 0x40, 0x20,
+        0x00, 0x00, 0x00, 0x40, 0x20,
     },
 };
 
 /* Table that encodes the additional bytes for each 65xx instruction */
 unsigned char ExtBytes[AM65I_COUNT] = {
-    0,         /* Implicit */
-    0,         /* Accu */
-    1,         /* Direct */
-    2,         /* Absolute */
-    3,                 /* Absolute long */
-    1,         /* Direct,X */
-    2,         /* Absolute,X */
-    3,         /* Absolute long,X */
-    1,         /* Direct,Y */
-    2,         /* Absolute,Y */
-    1,         /* (Direct) */
-    2,         /* (Absolute) */
-    1,         /* [Direct] */
-    1,         /* (Direct),Y */
-    1,         /* [Direct],Y */
-    1,         /* (Direct,X) */
-    2,         /* (Absolute,X) */
-    1,         /* Relative short */
-    2,         /* Relative long */
-    1,         /* r,s */
-    1,         /* (r,s),y */
-    1,         /* Immidiate accu */
-    1,         /* Immidiate index */
-    1,         /* Immidiate byte */
-    2,                 /* Blockmove (65816) */
-    7,                 /* Block transfer (HuC6280) */
+    0,          /* Implicit */
+    0,          /* Accu */
+    1,          /* Direct */
+    2,          /* Absolute */
+    3,          /* Absolute long */
+    1,          /* Direct,X */
+    2,          /* Absolute,X */
+    3,          /* Absolute long,X */
+    1,          /* Direct,Y */
+    2,          /* Absolute,Y */
+    1,          /* (Direct) */
+    2,          /* (Absolute) */
+    1,          /* [Direct] */
+    1,          /* (Direct),Y */
+    1,          /* [Direct],Y */
+    1,          /* (Direct,X) */
+    2,          /* (Absolute,X) */
+    1,          /* Relative short */
+    2,          /* Relative long */
+    1,          /* r,s */
+    1,          /* (r,s),y */
+    1,          /* Immidiate accu */
+    1,          /* Immidiate index */
+    1,          /* Immidiate byte */
+    2,          /* Blockmove (65816) */
+    7,          /* Block transfer (HuC6280) */
 };
 
 /* Table that encodes the additional bytes for each SWEET16 instruction */
@@ -989,8 +989,8 @@ static int EvalEA (const InsDesc* Ins, EffAddr* A)
 
     /* Check if we have any adressing modes left */
     if (A->AddrModeSet == 0) {
-               Error ("Illegal addressing mode");
-               return 0;
+        Error ("Illegal addressing mode");
+        return 0;
     }
     A->AddrMode    = BitFind (A->AddrModeSet);
     A->AddrModeBit = (0x01UL << A->AddrMode);
@@ -1042,32 +1042,32 @@ static void EmitCode (EffAddr* A)
     switch (ExtBytes[A->AddrMode]) {
 
         case 0:
-           Emit0 (A->Opcode);
-           break;
-
-       case 1:
-           Emit1 (A->Opcode, A->Expr);
-           break;
-
-       case 2:
-           if (CPU == CPU_65816 && (A->AddrModeBit & (AM65_ABS | AM65_ABS_X | AM65_ABS_Y))) {
-               /* This is a 16 bit mode that uses an address. If in 65816,
-                * mode, force this address into 16 bit range to allow
-                * addressing inside a 64K segment.
-                */
-                       Emit2 (A->Opcode, GenWordExpr (A->Expr));
-           } else {
-               Emit2 (A->Opcode, A->Expr);
-           }
-           break;
-
-       case 3:
+            Emit0 (A->Opcode);
+            break;
+
+        case 1:
+            Emit1 (A->Opcode, A->Expr);
+            break;
+
+        case 2:
+            if (CPU == CPU_65816 && (A->AddrModeBit & (AM65_ABS | AM65_ABS_X | AM65_ABS_Y))) {
+                /* This is a 16 bit mode that uses an address. If in 65816,
+                 * mode, force this address into 16 bit range to allow
+                 * addressing inside a 64K segment.
+                 */
+                Emit2 (A->Opcode, GenWordExpr (A->Expr));
+            } else {
+                Emit2 (A->Opcode, A->Expr);
+            }
+            break;
+
+        case 3:
             /* Far argument */
-           Emit3 (A->Opcode, A->Expr);
-           break;
+            Emit3 (A->Opcode, A->Expr);
+            break;
 
-       default:
-           Internal ("Invalid operand byte count: %u", ExtBytes[A->AddrMode]);
+        default:
+            Internal ("Invalid operand byte count: %u", ExtBytes[A->AddrMode]);
 
     }
 }
@@ -1096,12 +1096,12 @@ static long PutImmed8 (const InsDesc* Ins)
     /* Check how many extension bytes are needed and output the instruction */
     switch (ExtBytes[A.AddrMode]) {
 
-       case 1:
-           Emit1 (A.Opcode, A.Expr);
-           break;
+        case 1:
+            Emit1 (A.Opcode, A.Expr);
+            break;
 
-       default:
-           Internal ("Invalid operand byte count: %u", ExtBytes[A.AddrMode]);
+        default:
+            Internal ("Invalid operand byte count: %u", ExtBytes[A.AddrMode]);
     }
 
     /* Return the expression value */
@@ -1170,20 +1170,20 @@ static void PutREP (const InsDesc* Ins)
     /* We track the status only for the 816 CPU and in smart mode */
     if (CPU == CPU_65816 && SmartMode) {
 
-       /* Check the range for Val. */
-       if (Val < 0) {
-           /* We had an error */
-           Warning (1, "Cannot track processor status byte");
-       } else {
-           if (Val & 0x10) {
-               /* Index registers to 16 bit */
-               ExtBytes[AM65I_IMM_INDEX] = 2;
-           }
-           if (Val & 0x20) {
-               /* Accu to 16 bit */
-               ExtBytes[AM65I_IMM_ACCU] = 2;
-           }
-       }
+        /* Check the range for Val. */
+        if (Val < 0) {
+            /* We had an error */
+            Warning (1, "Cannot track processor status byte");
+        } else {
+            if (Val & 0x10) {
+                /* Index registers to 16 bit */
+                ExtBytes[AM65I_IMM_INDEX] = 2;
+            }
+            if (Val & 0x20) {
+                /* Accu to 16 bit */
+                ExtBytes[AM65I_IMM_ACCU] = 2;
+            }
+        }
     }
 }
 
@@ -1198,20 +1198,20 @@ static void PutSEP (const InsDesc* Ins)
     /* We track the status only for the 816 CPU and in smart mode */
     if (CPU == CPU_65816 && SmartMode) {
 
-       /* Check the range for Val. */
-       if (Val < 0) {
-           /* We had an error */
-           Warning (1, "Cannot track processor status byte");
-       } else {
-           if (Val & 0x10) {
-               /* Index registers to 8 bit */
-               ExtBytes[AM65I_IMM_INDEX] = 1;
-           }
-           if (Val & 0x20) {
-               /* Accu to 8 bit */
-               ExtBytes[AM65I_IMM_ACCU] = 1;
-           }
-       }
+        /* Check the range for Val. */
+        if (Val < 0) {
+            /* We had an error */
+            Warning (1, "Cannot track processor status byte");
+        } else {
+            if (Val & 0x10) {
+                /* Index registers to 8 bit */
+                ExtBytes[AM65I_IMM_INDEX] = 1;
+            }
+            if (Val & 0x20) {
+                /* Accu to 8 bit */
+                ExtBytes[AM65I_IMM_ACCU] = 1;
+            }
+        }
     }
 }
 
@@ -1394,8 +1394,8 @@ static void PutSweet16 (const InsDesc* Ins)
 
     /* Check if we have any adressing modes left */
     if (A.AddrModeSet == 0) {
-               Error ("Illegal addressing mode");
-               return;
+        Error ("Illegal addressing mode");
+        return;
     }
     A.AddrMode    = BitFind (A.AddrModeSet);
     A.AddrModeBit = (0x01UL << A.AddrMode);
@@ -1407,19 +1407,19 @@ static void PutSweet16 (const InsDesc* Ins)
     switch (Sweet16ExtBytes[A.AddrMode]) {
 
         case 0:
-           Emit0 (A.Opcode);
-           break;
+            Emit0 (A.Opcode);
+            break;
 
-       case 1:
-           Emit1 (A.Opcode, A.Expr);
-           break;
+        case 1:
+            Emit1 (A.Opcode, A.Expr);
+            break;
 
-       case 2:
+        case 2:
             Emit2 (A.Opcode, A.Expr);
-           break;
+            break;
 
-       default:
-           Internal ("Invalid operand byte count: %u", Sweet16ExtBytes[A.AddrMode]);
+        default:
+            Internal ("Invalid operand byte count: %u", Sweet16ExtBytes[A.AddrMode]);
 
     }
 }
@@ -1435,7 +1435,7 @@ static void PutSweet16Branch (const InsDesc* Ins)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -1456,10 +1456,10 @@ void SetCPU (cpu_t NewCPU)
 
     /* Check if we have support for the new CPU, if so, use it */
     if (NewCPU != CPU_UNKNOWN && InsTabs[NewCPU]) {
-       CPU = NewCPU;
-       InsTab = InsTabs[CPU];
+        CPU = NewCPU;
+        InsTab = InsTabs[CPU];
     } else {
-       Error ("CPU not supported");
+        Error ("CPU not supported");
     }
 }
 
@@ -1508,11 +1508,11 @@ int FindInstruction (const StrBuf* Ident)
     /* Search for the key */
     ID = bsearch (Key, InsTab->Ins, InsTab->Count, sizeof (InsDesc), CmpName);
     if (ID == 0) {
-               /* Not found */
-               return -1;
+        /* Not found */
+        return -1;
     } else {
-               /* Found, return the entry */
-               return ID - InsTab->Ins;
+        /* Found, return the entry */
+        return ID - InsTab->Ins;
     }
 }
 
index 7d39dbeafc63f31f42fb60699c6b3f050d6909cf..9a219b42402ebaed7dbe0fbdbce345585896cc78 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 instr.h                                  */
+/*                                  instr.h                                  */
 /*                                                                           */
-/*            Instruction encoding for the ca65 macroassembler              */
+/*             Instruction encoding for the ca65 macroassembler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
  * When assembling for the 6502 or 65C02, all addressing modes that are not
  * available on these CPUs are removed before doing any checks.
  */
-#define AM65_IMPLICIT                  0x00000003UL
-#define AM65_ACCU              0x00000002UL
-#define AM65_DIR               0x00000004UL
-#define AM65_ABS               0x00000008UL
-#define AM65_ABS_LONG                  0x00000010UL
-#define AM65_DIR_X             0x00000020UL
-#define AM65_ABS_X             0x00000040UL
-#define AM65_ABS_LONG_X                0x00000080UL
+#define AM65_IMPLICIT           0x00000003UL
+#define AM65_ACCU               0x00000002UL
+#define AM65_DIR                0x00000004UL
+#define AM65_ABS                0x00000008UL
+#define AM65_ABS_LONG           0x00000010UL
+#define AM65_DIR_X              0x00000020UL
+#define AM65_ABS_X              0x00000040UL
+#define AM65_ABS_LONG_X         0x00000080UL
 #define AM65_DIR_Y              0x00000100UL
 #define AM65_ABS_Y              0x00000200UL
 #define AM65_DIR_IND            0x00000400UL
-#define AM65_ABS_IND           0x00000800UL
+#define AM65_ABS_IND            0x00000800UL
 #define AM65_DIR_IND_LONG       0x00001000UL
 #define AM65_DIR_IND_Y          0x00002000UL
 #define AM65_DIR_IND_LONG_Y     0x00004000UL
 #define AM65_REL_LONG           0x00040000UL
 #define AM65_STACK_REL          0x00080000UL
 #define AM65_STACK_REL_IND_Y    0x00100000UL
-#define AM65_IMM_ACCU          0x00200000UL
-#define AM65_IMM_INDEX         0x00400000UL
-#define AM65_IMM_IMPLICIT      0x00800000UL
+#define AM65_IMM_ACCU           0x00200000UL
+#define AM65_IMM_INDEX          0x00400000UL
+#define AM65_IMM_IMPLICIT       0x00800000UL
 #define AM65_BLOCKMOVE          0x01000000UL
 #define AM65_BLOCKXFER          0x02000000UL
 
 /* Bitmask for all ZP operations that have correspondent ABS ops */
-#define AM65_SET_ZP    (AM65_DIR | AM65_DIR_X | AM65_DIR_Y | AM65_DIR_IND | AM65_DIR_X_IND)
+#define AM65_SET_ZP     (AM65_DIR | AM65_DIR_X | AM65_DIR_Y | AM65_DIR_IND | AM65_DIR_X_IND)
 
 /* Bitmask for all ABS operations that have correspondent FAR ops */
 #define AM65_SET_ABS    (AM65_ABS | AM65_ABS_X)
 #define AM65_ALL_IMM    (AM65_IMM_ACCU | AM65_IMM_INDEX | AM65_IMM_IMPLICIT)
 
 /* Bit numbers and count */
-#define AM65I_IMM_ACCU         21
-#define AM65I_IMM_INDEX                22
+#define AM65I_IMM_ACCU          21
+#define AM65I_IMM_INDEX         22
 #define AM65I_IMM_IMPLICIT      23
-#define AM65I_COUNT            26
+#define AM65I_COUNT             26
 
 
 
 /* Description for one instruction */
 typedef struct InsDesc InsDesc;
 struct InsDesc {
-    char                       Mnemonic[5];
-    unsigned long              AddrMode;               /* Valid adressing modes */
-    unsigned char      BaseCode;               /* Base opcode */
-    unsigned char      ExtCode;                /* Number of ext code table */
-    void                       (*Emit) (const InsDesc*);/* Handler function */
+    char                Mnemonic[5];
+    unsigned long       AddrMode;               /* Valid adressing modes */
+    unsigned char       BaseCode;               /* Base opcode */
+    unsigned char       ExtCode;                /* Number of ext code table */
+    void                (*Emit) (const InsDesc*);/* Handler function */
 };
 
 /* An instruction table */
 typedef struct InsTable InsTable;
 struct InsTable {
-    unsigned                   Count;                  /* Number of intstructions */
-    InsDesc                    Ins[1];                 /* Varying length */
+    unsigned            Count;                  /* Number of intstructions */
+    InsDesc             Ins[1];                 /* Varying length */
 };
 
 /* The instruction table for the currently active CPU */
@@ -154,7 +154,7 @@ extern unsigned char ExtBytes[AM65I_COUNT];
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e9af45f2bc875725b60cfe0f80a26a2d74327e8e..507d56ba5197a793397d833d5a36b2f63b6bdd82 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                istack.c                                  */
+/*                                 istack.c                                  */
 /*                                                                           */
-/*                       Input stack for the scanner                        */
+/*                        Input stack for the scanner                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Size of the stack (== maximum nested macro or repeat count) */
-#define ISTACK_MAX     256
+#define ISTACK_MAX      256
 
 /* Structure holding a stack element */
 typedef struct IElement IElement;
 struct IElement {
-    IElement*          Next;           /* Next stack element */
-    int                (*Func)(void*); /* Function called for input */
-    void*              Data;           /* User data given as argument */
-    const char* Desc;          /* Description */
+    IElement*   Next;           /* Next stack element */
+    int         (*Func)(void*); /* Function called for input */
+    void*       Data;           /* User data given as argument */
+    const char* Desc;           /* Description */
 };
 
 /* The stack */
-static IElement* IStack = 0;   /* Input stack pointer */
-static unsigned  ICount        = 0;    /* Number of items on the stack */
+static IElement* IStack = 0;    /* Input stack pointer */
+static unsigned  ICount = 0;    /* Number of items on the stack */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -80,7 +80,7 @@ void PushInput (int (*Func) (void*), void* Data, const char* Desc)
 
     /* Check for a stack overflow */
     if (ICount > ISTACK_MAX) {
-       Fatal ("Maximum input stack nesting exceeded");
+        Fatal ("Maximum input stack nesting exceeded");
     }                                                
 
     /* Create a new stack element */
@@ -127,10 +127,10 @@ int InputFromStack (void)
      * routines.
      */
     while (IStack) {
-       if (IStack->Func (IStack->Data) != 0) {
-           /* We have a token */
-           return 1;
-       }
+        if (IStack->Func (IStack->Data) != 0) {
+            /* We have a token */
+            return 1;
+        }
     }
 
     /* Nothing is on the stack */
@@ -153,7 +153,7 @@ void CheckInputStack (void)
  */
 {
     if (IStack) {
-       Error ("Open %s", IStack->Desc);
+        Error ("Open %s", IStack->Desc);
     }
 }
 
index 5529c7911c741a8e5373808e0ef1cb1bf4f01e96..06ff066e4e6e4540c9d4f939a034b9f31eb5e3f7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                istack.h                                  */
+/*                                 istack.h                                  */
 /*                                                                           */
-/*                       Input stack for the scanner                        */
+/*                        Input stack for the scanner                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 25ef376a93ea41ba241f84a1fd99b58f300dc158..dbc5b4d412c9de66846797ed7cfe855b5c002064 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               lineinfo.c                                 */
+/*                                lineinfo.c                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -72,7 +72,7 @@ static int HT_Compare (const void* Key1, const void* Key2);
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -231,7 +231,7 @@ static int CheckLineInfo (void* Entry, void* Data attribute ((unused)))
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 94b51ae4f2a2eda578a0813492824fd99b4d7b8b..41b44c0bcd39b871a8d19c8e36ec76ff661b6f22 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               lineinfo.h                                 */
+/*                                lineinfo.h                                 */
 /*                                                                           */
 /*                     Source file line info management                      */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ typedef struct LineInfo LineInfo;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d1682ee15637cf22d979a918f04f62180b29c7f6..8bd8833dd40c9bf23b8e5e2cd43f084923f207c3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                listing.c                                 */
+/*                                 listing.c                                 */
 /*                                                                           */
-/*               Listing support for the ca65 crossassembler                */
+/*                Listing support for the ca65 crossassembler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Single linked list of lines */
-ListLine*              LineList = 0;           /* List of listing lines */
-ListLine*              LineCur  = 0;           /* Current listing line */
-ListLine*       LineLast = 0;          /* Last (current) listing line */
+ListLine*       LineList = 0;           /* List of listing lines */
+ListLine*       LineCur  = 0;           /* Current listing line */
+ListLine*       LineLast = 0;           /* Last (current) listing line */
 
 /* Page and other formatting */
-int                    PageLength = -1;        /* Length of a listing page */
-static unsigned        PageNumber = 1;         /* Current listing page number */
-static int      PageLines  = 0;                /* Current line on page */
-static unsigned ListBytes  = 12;       /* Number of bytes to list for one line */
+int             PageLength = -1;        /* Length of a listing page */
+static unsigned PageNumber = 1;         /* Current listing page number */
+static int      PageLines  = 0;         /* Current line on page */
+static unsigned ListBytes  = 12;        /* Number of bytes to list for one line */
 
 /* Switch the listing on/off */
-static int             ListingEnabled = 1;     /* Enabled if > 0 */
+static int      ListingEnabled = 1;     /* Enabled if > 0 */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -88,39 +88,39 @@ void NewListingLine (const StrBuf* Line, unsigned char File, unsigned char Depth
     /* Store only if listing is enabled */
     if (SB_GetLen (&ListingName) > 0) {
 
-       ListLine* L;
-
-       /* Get the length of the line */
-       unsigned Len = SB_GetLen (Line);
-
-       /* Ignore trailing newlines */
-       while (Len > 0 && SB_AtUnchecked (Line, Len-1) == '\n') {
-           --Len;
-       }
-
-       /* Allocate memory */
-       L = xmalloc (sizeof (ListLine) + Len);
-
-       /* Initialize the fields. */
-       L->Next         = 0;
-       L->FragList     = 0;
-       L->FragLast     = 0;
-       L->PC           = GetPC ();
-       L->Reloc        = GetRelocMode ();
-       L->File         = File;
-       L->Depth        = Depth;
-       L->Output       = (ListingEnabled > 0);
-       L->ListBytes    = (unsigned char) ListBytes;
-       memcpy (L->Line, SB_GetConstBuf (Line), Len);
-               L->Line[Len] = '\0';
-
-       /* Insert the line into the list of lines */
-       if (LineList == 0) {
-           LineList = L;
-       } else {
-           LineLast->Next = L;
-       }
-       LineLast = L;
+        ListLine* L;
+
+        /* Get the length of the line */
+        unsigned Len = SB_GetLen (Line);
+
+        /* Ignore trailing newlines */
+        while (Len > 0 && SB_AtUnchecked (Line, Len-1) == '\n') {
+            --Len;
+        }
+
+        /* Allocate memory */
+        L = xmalloc (sizeof (ListLine) + Len);
+
+        /* Initialize the fields. */
+        L->Next         = 0;
+        L->FragList     = 0;
+        L->FragLast     = 0;
+        L->PC           = GetPC ();
+        L->Reloc        = GetRelocMode ();
+        L->File         = File;
+        L->Depth        = Depth;
+        L->Output       = (ListingEnabled > 0);
+        L->ListBytes    = (unsigned char) ListBytes;
+        memcpy (L->Line, SB_GetConstBuf (Line), Len);
+        L->Line[Len] = '\0';
+
+        /* Insert the line into the list of lines */
+        if (LineList == 0) {
+            LineList = L;
+        } else {
+            LineLast->Next = L;
+        }
+        LineLast = L;
     }
 }
 
@@ -130,12 +130,12 @@ void EnableListing (void)
 /* Enable output of lines to the listing */
 {
     if (SB_GetLen (&ListingName) > 0) {
-       /* If we're about to enable the listing, do this for the current line
-        * also, so we will see the source line that did this.
-        */
-       if (ListingEnabled++ == 0) {
-           LineCur->Output = 1;
-       }
+        /* If we're about to enable the listing, do this for the current line
+         * also, so we will see the source line that did this.
+         */
+        if (ListingEnabled++ == 0) {
+            LineCur->Output = 1;
+        }
     }
 }
 
@@ -145,12 +145,12 @@ void DisableListing (void)
 /* Disable output of lines to the listing */
 {
     if (SB_GetLen (&ListingName) > 0) {
-       if (ListingEnabled == 0) {
-           /* Cannot switch the listing off once more */
-           Error ("Counter underflow");
-       } else {
-           --ListingEnabled;
-       }
+        if (ListingEnabled == 0) {
+            /* Cannot switch the listing off once more */
+            Error ("Counter underflow");
+        } else {
+            --ListingEnabled;
+        }
     }
 }
 
@@ -160,7 +160,7 @@ void SetListBytes (int Bytes)
 /* Set the maximum number of bytes listed for one line */
 {
     if (Bytes < 0) {
-       Bytes = 0;      /* Encode "unlimited" as zero */
+        Bytes = 0;      /* Encode "unlimited" as zero */
     }
     ListBytes = Bytes;
 }
@@ -171,30 +171,30 @@ void InitListingLine (void)
 /* Initialize the current listing line */
 {
     if (SB_GetLen (&ListingName) > 0) {
-       /* Make the last loaded line the current line */
-       /* ###### This code is a hack! We really need to do it right
-        * as soon as we know, how:-(
-        */
-               if (LineCur && LineCur->Next && LineCur->Next != LineLast) {
-           ListLine* L = LineCur;
-           do {
-               L = L->Next;
-               /* Set the values for this line */
-               CHECK (L != 0);
-               L->PC            = GetPC ();
-               L->Reloc         = GetRelocMode ();
-               L->Output        = (ListingEnabled > 0);
-               L->ListBytes = (unsigned char) ListBytes;
-           } while (L->Next != LineLast);
-       }
-       LineCur = LineLast;
-
-       /* Set the values for this line */
-       CHECK (LineCur != 0);
-       LineCur->PC         = GetPC ();
-       LineCur->Reloc      = GetRelocMode ();
-       LineCur->Output     = (ListingEnabled > 0);
-               LineCur->ListBytes  = (unsigned char) ListBytes;
+        /* Make the last loaded line the current line */
+        /* ###### This code is a hack! We really need to do it right
+         * as soon as we know, how:-(
+         */
+        if (LineCur && LineCur->Next && LineCur->Next != LineLast) {
+            ListLine* L = LineCur;
+            do {
+                L = L->Next;
+                /* Set the values for this line */
+                CHECK (L != 0);
+                L->PC            = GetPC ();
+                L->Reloc         = GetRelocMode ();
+                L->Output        = (ListingEnabled > 0);
+                L->ListBytes = (unsigned char) ListBytes;
+            } while (L->Next != LineLast);
+        }
+        LineCur = LineLast;
+
+        /* Set the values for this line */
+        CHECK (LineCur != 0);
+        LineCur->PC         = GetPC ();
+        LineCur->Reloc      = GetRelocMode ();
+        LineCur->Output     = (ListingEnabled > 0);
+        LineCur->ListBytes  = (unsigned char) ListBytes;
     }
 }
 
@@ -204,7 +204,7 @@ static char* AddHex (char* S, unsigned Val)
 /* Add a hex byte in ASCII to the given string and return the new pointer */
 {
     static const char HexTab [16] = {
-               '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
+        '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
     };
 
     *S++ = HexTab [(Val >> 4) & 0x0F];
@@ -225,13 +225,13 @@ static void PrintPageHeader (FILE* F, const ListLine* L)
 
     /* Print the header on the new page */
     fprintf (F,
-                    "ca65 V%s\n"
-            "Main file   : %s\n"
-            "Current file: %.*s\n"
-            "\n",
-            GetVersionAsString (),
-            InFile,
-            (int) SB_GetLen (CurFile), SB_GetConstBuf (CurFile));
+             "ca65 V%s\n"
+             "Main file   : %s\n"
+             "Current file: %.*s\n"
+             "\n",
+             GetVersionAsString (),
+             InFile,
+             (int) SB_GetLen (CurFile), SB_GetConstBuf (CurFile));
 
     /* Count pages, reset lines */
     ++PageNumber;
@@ -253,10 +253,10 @@ static void PrintLine (FILE* F, const char* Header, const char* Line, const List
      * the last one, to avoid pages that consist of just the header.
      */
     if (PageLength > 0 && PageLines >= PageLength && L->Next != 0) {
-       /* Do a formfeed */
-               putc ('\f', F);
-       /* Print the header on the new page */
-       PrintPageHeader (F, L);
+        /* Do a formfeed */
+        putc ('\f', F);
+        /* Print the header on the new page */
+        PrintPageHeader (F, L);
     }
 }
 
@@ -304,7 +304,7 @@ void CreateListing (void)
     /* Open the real listing file */
     F = fopen (SB_GetConstBuf (&ListingName), "w");
     if (F == 0) {
-       Fatal ("Cannot open listing file `%s': %s",
+        Fatal ("Cannot open listing file `%s': %s",
                SB_GetConstBuf (&ListingName),
                strerror (errno));
     }
@@ -320,132 +320,132 @@ void CreateListing (void)
     L = LineList;
     while (L) {
 
-       char* Buf;
-       char* B;
-       unsigned Count;
-       unsigned I;
-       char* Line;
-
-       /* If we should not output this line, go to the next */
-       if (L->Output == 0) {
-           L = L->Next;
-           continue;
-       }
-
-       /* If we don't have a fragment list for this line, things are easy */
-       if (L->FragList == 0) {
-           PrintLine (F, MakeLineHeader (HeaderBuf, L), L->Line, L);
-           L = L->Next;
-           continue;
-       }
-
-       /* Count the number of bytes in the complete fragment list */
-       Count = 0;
-       Frag = L->FragList;
-       while (Frag) {
-           Count += Frag->Len;
-           Frag = Frag->LineList;
-       }
-
-       /* Allocate memory for the given number of bytes */
-       Buf = xmalloc (Count*2+1);
-
-       /* Copy an ASCII representation of the bytes into the buffer */
-       B = Buf;
-       Frag = L->FragList;
-       while (Frag) {
-
-           /* Write data depending on the type */
-           switch (Frag->Type) {
-
-               case FRAG_LITERAL:
-                   for (I = 0; I < Frag->Len; ++I) {
-                       B = AddHex (B, Frag->V.Data[I]);
-                   }
-                   break;
-
-               case FRAG_EXPR:
-               case FRAG_SEXPR:
-                   B = AddMult (B, 'r', Frag->Len*2);
-                   break;
-
-               case FRAG_FILL:
-                   B = AddMult (B, 'x', Frag->Len*2);
-                   break;
-
-               default:
-                   Internal ("Invalid fragment type: %u", Frag->Type);
-
-           }
-
-           /* Next fragment */
-           Frag = Frag->LineList;
-
-       }
-
-       /* Limit the number of bytes actually printed */
-       if (L->ListBytes != 0) {
-           /* Not unlimited */
-           if (Count > L->ListBytes) {
-               Count = L->ListBytes;
-           }
-       }
-
-       /* Output the data. The format of a listing line is:
-        *
-                *      PPPPPPm I  11 22 33 44
-        *
-        * where
-        *
-        *      PPPPPP  is the PC
-        *      m       is the mode ('r' or empty)
-        *      I       is the include level
-        *      11 ..   are code or data bytes
-        */
-       Line = L->Line;
-               B    = Buf;
-       while (Count) {
-
-           unsigned    Chunk;
-           char*       P;
-
-           /* Prepare the line header */
-                   MakeLineHeader (HeaderBuf, L);
-
-           /* Get the number of bytes for the next line */
-           Chunk = Count;
-           if (Chunk > 4) {
-               Chunk = 4;
-           }
-           Count -= Chunk;
-
-           /* Increment the program counter. Since we don't need the PC stored
-            * in the LineList object for anything else, just increment this
-            * variable.
-            */
-           L->PC += Chunk;
-
-           /* Copy the bytes into the line */
-                   P = HeaderBuf + 11;
-                   for (I = 0; I < Chunk; ++I) {
-               *P++ = *B++;
-               *P++ = *B++;
-               *P++ = ' ';
-           }
-
-           /* Output this line */
-           PrintLine (F, HeaderBuf, Line, L);
-
-           /* Don't output a line twice */
-           Line = "";
-
-       }
-
-       /* Delete the temporary buffer */
-       xfree (Buf);
-
-       /* Next line */
-       L = L->Next;
+        char* Buf;
+        char* B;
+        unsigned Count;
+        unsigned I;
+        char* Line;
+
+        /* If we should not output this line, go to the next */
+        if (L->Output == 0) {
+            L = L->Next;
+            continue;
+        }
+
+        /* If we don't have a fragment list for this line, things are easy */
+        if (L->FragList == 0) {
+            PrintLine (F, MakeLineHeader (HeaderBuf, L), L->Line, L);
+            L = L->Next;
+            continue;
+        }
+
+        /* Count the number of bytes in the complete fragment list */
+        Count = 0;
+        Frag = L->FragList;
+        while (Frag) {
+            Count += Frag->Len;
+            Frag = Frag->LineList;
+        }
+
+        /* Allocate memory for the given number of bytes */
+        Buf = xmalloc (Count*2+1);
+
+        /* Copy an ASCII representation of the bytes into the buffer */
+        B = Buf;
+        Frag = L->FragList;
+        while (Frag) {
+
+            /* Write data depending on the type */
+            switch (Frag->Type) {
+
+                case FRAG_LITERAL:
+                    for (I = 0; I < Frag->Len; ++I) {
+                        B = AddHex (B, Frag->V.Data[I]);
+                    }
+                    break;
+
+                case FRAG_EXPR:
+                case FRAG_SEXPR:
+                    B = AddMult (B, 'r', Frag->Len*2);
+                    break;
+
+                case FRAG_FILL:
+                    B = AddMult (B, 'x', Frag->Len*2);
+                    break;
+
+                default:
+                    Internal ("Invalid fragment type: %u", Frag->Type);
+
+            }
+
+            /* Next fragment */
+            Frag = Frag->LineList;
+
+        }
+
+        /* Limit the number of bytes actually printed */
+        if (L->ListBytes != 0) {
+            /* Not unlimited */
+            if (Count > L->ListBytes) {
+                Count = L->ListBytes;
+            }
+        }
+
+        /* Output the data. The format of a listing line is:
+         *
+         *      PPPPPPm I  11 22 33 44
+         *
+         * where
+         *
+         *      PPPPPP  is the PC
+         *      m       is the mode ('r' or empty)
+         *      I       is the include level
+         *      11 ..   are code or data bytes
+         */
+        Line = L->Line;
+        B    = Buf;
+        while (Count) {
+
+            unsigned    Chunk;
+            char*       P;
+
+            /* Prepare the line header */
+            MakeLineHeader (HeaderBuf, L);
+
+            /* Get the number of bytes for the next line */
+            Chunk = Count;
+            if (Chunk > 4) {
+                Chunk = 4;
+            }
+            Count -= Chunk;
+
+            /* Increment the program counter. Since we don't need the PC stored
+             * in the LineList object for anything else, just increment this
+             * variable.
+             */
+            L->PC += Chunk;
+
+            /* Copy the bytes into the line */
+            P = HeaderBuf + 11;
+            for (I = 0; I < Chunk; ++I) {
+                *P++ = *B++;
+                *P++ = *B++;
+                *P++ = ' ';
+            }
+
+            /* Output this line */
+            PrintLine (F, HeaderBuf, Line, L);
+
+            /* Don't output a line twice */
+            Line = "";
+
+        }
+
+        /* Delete the temporary buffer */
+        xfree (Buf);
+
+        /* Next line */
+        L = L->Next;
 
     }
 
index 33debd5246aa839a036ee716eb39832405b3008c..bea716bf14f88f2d2368bba7e65c2d875bf101cf 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                listing.h                                 */
+/*                                 listing.h                                 */
 /*                                                                           */
-/*               Listing support for the ca65 crossassembler                */
+/*                Listing support for the ca65 crossassembler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -54,47 +54,47 @@ struct StrBuf;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Length of the header of a listing line */
-#define LINE_HEADER_LEN                24
+#define LINE_HEADER_LEN         24
 
 /* One listing line as it is stored in memory */
 typedef struct ListLine ListLine;
 struct ListLine {
-    ListLine*          Next;           /* Pointer to next line */
-    Fragment*          FragList;       /* List of fragments for this line */
-    Fragment*          FragLast;       /* Last entry in fragment list */
-    unsigned long      PC;             /* Program counter for this line */
-    unsigned char      Reloc;          /* Relocatable mode? */
-    unsigned char      File;           /* From which file is the line? */
-    unsigned char      Depth;          /* Include depth */
-    unsigned char      Output;         /* Should we output this line? */
-    unsigned char      ListBytes;      /* How many bytes at max? */
-    char               Line[1];        /* Line with dynamic length */
+    ListLine*           Next;           /* Pointer to next line */
+    Fragment*           FragList;       /* List of fragments for this line */
+    Fragment*           FragLast;       /* Last entry in fragment list */
+    unsigned long       PC;             /* Program counter for this line */
+    unsigned char       Reloc;          /* Relocatable mode? */
+    unsigned char       File;           /* From which file is the line? */
+    unsigned char       Depth;          /* Include depth */
+    unsigned char       Output;         /* Should we output this line? */
+    unsigned char       ListBytes;      /* How many bytes at max? */
+    char                Line[1];        /* Line with dynamic length */
 };
 
 /* Single linked list of lines */
-extern ListLine*       LineList;       /* List of listing lines */
-extern ListLine*       LineCur;        /* Current listing line */
-extern ListLine*               LineLast;       /* Last listing line */
+extern ListLine*        LineList;       /* List of listing lines */
+extern ListLine*        LineCur;        /* Current listing line */
+extern ListLine*        LineLast;       /* Last listing line */
 
 /* Page formatting */
-#define MIN_PAGE_LEN   32
-#define MAX_PAGE_LEN   127
-extern int             PageLength;     /* Length of a listing page */
+#define MIN_PAGE_LEN    32
+#define MAX_PAGE_LEN    127
+extern int              PageLength;     /* Length of a listing page */
 
 /* Byte for one listing line */
-#define MIN_LIST_BYTES 4
-#define MAX_LIST_BYTES 255
+#define MIN_LIST_BYTES  4
+#define MAX_LIST_BYTES  255
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 719e76f0aaf16bf5a5be384329af29b5967473e1..75741c479ff7c45eff52e5218422f91bf9dde7b4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 macro.c                                  */
+/*                                  macro.c                                  */
 /*                                                                           */
-/*                   Macros for the ca65 macroassembler                     */
+/*                    Macros for the ca65 macroassembler                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -77,7 +77,7 @@ static int HT_Compare (const void* Key1, const void* Key2);
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -85,7 +85,7 @@ static int HT_Compare (const void* Key1, const void* Key2);
 /* Struct that describes an identifer (macro param, local list) */
 typedef struct IdDesc IdDesc;
 struct IdDesc {
-    IdDesc*        Next;       /* Linked list */
+    IdDesc*         Next;       /* Linked list */
     StrBuf          Id;         /* Identifier, dynamically allocated */
 };
 
@@ -94,17 +94,17 @@ struct IdDesc {
 /* Struct that describes a macro definition */
 struct Macro {
     HashNode        Node;       /* Hash list node */
-    Macro*         List;       /* List of all macros */
-    unsigned       LocalCount; /* Count of local symbols */
-    IdDesc*        Locals;     /* List of local symbols */
-    unsigned       ParamCount; /* Parameter count of macro */
-    IdDesc*                Params;     /* Identifiers of macro parameters */
-    unsigned       TokCount;   /* Number of tokens for this macro */
-    TokNode*       TokRoot;    /* Root of token list */
-    TokNode*       TokLast;    /* Pointer to last token in list */
-    StrBuf          Name;      /* Macro name, dynamically allocated */
+    Macro*          List;       /* List of all macros */
+    unsigned        LocalCount; /* Count of local symbols */
+    IdDesc*         Locals;     /* List of local symbols */
+    unsigned        ParamCount; /* Parameter count of macro */
+    IdDesc*         Params;     /* Identifiers of macro parameters */
+    unsigned        TokCount;   /* Number of tokens for this macro */
+    TokNode*        TokRoot;    /* Root of token list */
+    TokNode*        TokLast;    /* Pointer to last token in list */
+    StrBuf          Name;       /* Macro name, dynamically allocated */
     unsigned        Expansions; /* Number of active macro expansions */
-    unsigned char   Style;     /* Macro style */
+    unsigned char   Style;      /* Macro style */
     unsigned char   Incomplete; /* Macro is currently built */
 };
 
@@ -121,16 +121,16 @@ static HashTable MacroTab = STATIC_HASHTABLE_INITIALIZER (117, &HashFunc);
 /* Structs that holds data for a macro expansion */
 typedef struct MacExp MacExp;
 struct MacExp {
-    MacExp*            Next;           /* Pointer to next expansion */
-    Macro*             M;              /* Which macro do we expand? */
-    unsigned           IfSP;           /* .IF stack pointer at start of expansion */
-    TokNode*           Exp;            /* Pointer to current token */
-    TokNode*           Final;          /* Pointer to final token */
+    MacExp*     Next;           /* Pointer to next expansion */
+    Macro*      M;              /* Which macro do we expand? */
+    unsigned    IfSP;           /* .IF stack pointer at start of expansion */
+    TokNode*    Exp;            /* Pointer to current token */
+    TokNode*    Final;          /* Pointer to final token */
     unsigned    MacExpansions;  /* Number of active macro expansions */
-    unsigned    LocalStart;    /* Start of counter for local symbol names */
-    unsigned           ParamCount;     /* Number of actual parameters */
-    TokNode**          Params;         /* List of actual parameters */
-    TokNode*           ParamExp;       /* Node for expanding parameters */
+    unsigned    LocalStart;     /* Start of counter for local symbol names */
+    unsigned    ParamCount;     /* Number of actual parameters */
+    TokNode**   Params;         /* List of actual parameters */
+    TokNode*    ParamExp;       /* Node for expanding parameters */
     LineInfo*   LI;             /* Line info for the expansion */
     LineInfo*   ParamLI;        /* Line info for parameter expansion */
 };
@@ -186,7 +186,7 @@ static int HT_Compare (const void* Key1, const void* Key2)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -244,13 +244,13 @@ static Macro* NewMacro (const StrBuf* Name, unsigned char Style)
     M->Locals     = 0;
     M->ParamCount = 0;
     M->Params     = 0;
-    M->TokCount          = 0;
+    M->TokCount   = 0;
     M->TokRoot    = 0;
     M->TokLast    = 0;
     SB_Init (&M->Name);
     SB_Copy (&M->Name, Name);
     M->Expansions = 0;
-    M->Style     = Style;
+    M->Style      = Style;
     M->Incomplete = 1;
 
     /* Insert the macro into the hash table */
@@ -297,19 +297,19 @@ static MacExp* NewMacExp (Macro* M)
     MacExp* E = xmalloc (sizeof (MacExp));
 
     /* Initialize the data */
-    E->M                       = M;
-    E->IfSP                    = GetIfStack ();
-    E->Exp                     = M->TokRoot;
-    E->Final                   = 0;
+    E->M                = M;
+    E->IfSP             = GetIfStack ();
+    E->Exp              = M->TokRoot;
+    E->Final            = 0;
     E->MacExpansions    = ++MacExpansions;      /* One macro expansion more */
     E->LocalStart       = LocalName;
     LocalName          += M->LocalCount;
     E->ParamCount       = 0;
     E->Params           = xmalloc (M->ParamCount * sizeof (TokNode*));
     for (I = 0; I < M->ParamCount; ++I) {
-       E->Params[I] = 0;
+        E->Params[I] = 0;
     }
-    E->ParamExp                = 0;
+    E->ParamExp         = 0;
     E->LI               = 0;
     E->ParamLI          = 0;
 
@@ -355,7 +355,7 @@ static void FreeMacExp (MacExp* E)
 
     /* Free the final token if we have one */
     if (E->Final) {
-       FreeTokNode (E->Final);
+        FreeTokNode (E->Final);
     }
 
     /* Free the structure itself */
@@ -368,18 +368,18 @@ static void MacSkipDef (unsigned Style)
 /* Skip a macro definition */
 {
     if (Style == MAC_STYLE_CLASSIC) {
-               /* Skip tokens until we reach the final .endmacro */
-               while (CurTok.Tok != TOK_ENDMACRO && CurTok.Tok != TOK_EOF) {
-                   NextTok ();
-               }
-               if (CurTok.Tok != TOK_EOF) {
-                   SkipUntilSep ();
-               } else {
-                   Error ("`.ENDMACRO' expected");
-               }
+        /* Skip tokens until we reach the final .endmacro */
+        while (CurTok.Tok != TOK_ENDMACRO && CurTok.Tok != TOK_EOF) {
+            NextTok ();
+        }
+        if (CurTok.Tok != TOK_EOF) {
+            SkipUntilSep ();
+        } else {
+            Error ("`.ENDMACRO' expected");
+        }
     } else {
-               /* Skip until end of line */
-               SkipUntilSep ();
+        /* Skip until end of line */
+        SkipUntilSep ();
     }
 }
 
@@ -394,9 +394,9 @@ void MacDef (unsigned Style)
 
     /* We expect a macro name here */
     if (CurTok.Tok != TOK_IDENT) {
-       Error ("Identifier expected");
-       MacSkipDef (Style);
-       return;
+        Error ("Identifier expected");
+        MacSkipDef (Style);
+        return;
     } else if (!UbiquitousIdents && FindInstruction (&CurTok.SVal) >= 0) {
         /* The identifier is a name of a 6502 instruction, which is not
          * allowed if not explicitly enabled.
@@ -408,11 +408,11 @@ void MacDef (unsigned Style)
 
     /* Did we already define that macro? */
     if (HT_Find (&MacroTab, &CurTok.SVal) != 0) {
-               /* Macro is already defined */
-               Error ("A macro named `%m%p' is already defined", &CurTok.SVal);
-       /* Skip tokens until we reach the final .endmacro */
-       MacSkipDef (Style);
-               return;
+        /* Macro is already defined */
+        Error ("A macro named `%m%p' is already defined", &CurTok.SVal);
+        /* Skip tokens until we reach the final .endmacro */
+        MacSkipDef (Style);
+        return;
     }
 
     /* Define the macro */
@@ -426,62 +426,62 @@ void MacDef (unsigned Style)
      * otherwise we may have parameters without braces.
      */
     if (Style == MAC_STYLE_CLASSIC) {
-       HaveParams = 1;
+        HaveParams = 1;
     } else {
-       if (CurTok.Tok == TOK_LPAREN) {
-           HaveParams = 1;
-           NextTok ();
-       } else {
-           HaveParams = 0;
-       }
+        if (CurTok.Tok == TOK_LPAREN) {
+            HaveParams = 1;
+            NextTok ();
+        } else {
+            HaveParams = 0;
+        }
     }
 
     /* Parse the parameter list */
     if (HaveParams) {
 
-       while (CurTok.Tok == TOK_IDENT) {
-
-           /* Create a struct holding the identifier */
-           IdDesc* I = NewIdDesc (&CurTok.SVal);
-
-           /* Insert the struct into the list, checking for duplicate idents */
-           if (M->ParamCount == 0) {
-               M->Params = I;
-           } else {
-               IdDesc* List = M->Params;
-               while (1) {
-                   if (SB_Compare (&List->Id, &CurTok.SVal) == 0) {
-                       Error ("Duplicate symbol `%m%p'", &CurTok.SVal);
-                   }
-                   if (List->Next == 0) {
-                       break;
-                   } else {
-                       List = List->Next;
-                   }
-               }
-               List->Next = I;
-           }
-           ++M->ParamCount;
-
-                   /* Skip the name */
-           NextTok ();
-
-           /* Maybe there are more params... */
-           if (CurTok.Tok == TOK_COMMA) {
-               NextTok ();
-           } else {
-               break;
-           }
-       }
+        while (CurTok.Tok == TOK_IDENT) {
+
+            /* Create a struct holding the identifier */
+            IdDesc* I = NewIdDesc (&CurTok.SVal);
+
+            /* Insert the struct into the list, checking for duplicate idents */
+            if (M->ParamCount == 0) {
+                M->Params = I;
+            } else {
+                IdDesc* List = M->Params;
+                while (1) {
+                    if (SB_Compare (&List->Id, &CurTok.SVal) == 0) {
+                        Error ("Duplicate symbol `%m%p'", &CurTok.SVal);
+                    }
+                    if (List->Next == 0) {
+                        break;
+                    } else {
+                        List = List->Next;
+                    }
+                }
+                List->Next = I;
+            }
+            ++M->ParamCount;
+
+            /* Skip the name */
+            NextTok ();
+
+            /* Maybe there are more params... */
+            if (CurTok.Tok == TOK_COMMA) {
+                NextTok ();
+            } else {
+                break;
+            }
+        }
     }
 
     /* For class macros, we expect a separator token, for define style macros,
      * we expect the closing paren.
      */
     if (Style == MAC_STYLE_CLASSIC) {
-       ConsumeSep ();
+        ConsumeSep ();
     } else if (HaveParams) {
-       ConsumeRParen ();
+        ConsumeRParen ();
     }
 
     /* Preparse the macro body. We will read the tokens until we reach end of
@@ -491,98 +491,98 @@ void MacDef (unsigned Style)
      */
     while (1) {
 
-       /* Check for end of macro */
-       if (Style == MAC_STYLE_CLASSIC) {
-           /* In classic macros, only .endmacro is allowed */
-           if (CurTok.Tok == TOK_ENDMACRO) {
-               /* Done */
-               break;
-           }
-           /* May not have end of file in a macro definition */
-           if (CurTok.Tok == TOK_EOF) {
-               Error ("`.ENDMACRO' expected");
-               goto Done;
-           }
-       } else {
-           /* Accept a newline or end of file for new style macros */
-           if (TokIsSep (CurTok.Tok)) {
-               break;
-           }
-       }
-
-       /* Check for a .LOCAL declaration */
-       if (CurTok.Tok == TOK_LOCAL && Style == MAC_STYLE_CLASSIC) {
-
-           while (1) {
-
-               IdDesc* I;
-
-               /* Skip .local or comma */
-                       NextTok ();
-
-               /* Need an identifer */
-               if (CurTok.Tok != TOK_IDENT && CurTok.Tok != TOK_LOCAL_IDENT) {
-                   Error ("Identifier expected");
-                   SkipUntilSep ();
-                   break;
-               }
-
-               /* Put the identifier into the locals list and skip it */
-                       I = NewIdDesc (&CurTok.SVal);
-               I->Next = M->Locals;
-               M->Locals = I;
-               ++M->LocalCount;
-                       NextTok ();
-
-               /* Check for end of list */
-               if (CurTok.Tok != TOK_COMMA) {
-                   break;
-               }
-
-           }
-
-           /* We need end of line after the locals */
-           ConsumeSep ();
-           continue;
-       }
-
-       /* Create a token node for the current token */
-       N = NewTokNode ();
+        /* Check for end of macro */
+        if (Style == MAC_STYLE_CLASSIC) {
+            /* In classic macros, only .endmacro is allowed */
+            if (CurTok.Tok == TOK_ENDMACRO) {
+                /* Done */
+                break;
+            }
+            /* May not have end of file in a macro definition */
+            if (CurTok.Tok == TOK_EOF) {
+                Error ("`.ENDMACRO' expected");
+                goto Done;
+            }
+        } else {
+            /* Accept a newline or end of file for new style macros */
+            if (TokIsSep (CurTok.Tok)) {
+                break;
+            }
+        }
+
+        /* Check for a .LOCAL declaration */
+        if (CurTok.Tok == TOK_LOCAL && Style == MAC_STYLE_CLASSIC) {
+
+            while (1) {
+
+                IdDesc* I;
+
+                /* Skip .local or comma */
+                NextTok ();
+
+                /* Need an identifer */
+                if (CurTok.Tok != TOK_IDENT && CurTok.Tok != TOK_LOCAL_IDENT) {
+                    Error ("Identifier expected");
+                    SkipUntilSep ();
+                    break;
+                }
+
+                /* Put the identifier into the locals list and skip it */
+                I = NewIdDesc (&CurTok.SVal);
+                I->Next = M->Locals;
+                M->Locals = I;
+                ++M->LocalCount;
+                NextTok ();
+
+                /* Check for end of list */
+                if (CurTok.Tok != TOK_COMMA) {
+                    break;
+                }
+
+            }
+
+            /* We need end of line after the locals */
+            ConsumeSep ();
+            continue;
+        }
+
+        /* Create a token node for the current token */
+        N = NewTokNode ();
 
         /* If the token is an identifier, check if it is a local parameter */
-       if (CurTok.Tok == TOK_IDENT) {
-           unsigned Count = 0;
-           IdDesc* I = M->Params;
-           while (I) {
-               if (SB_Compare (&I->Id, &CurTok.SVal) == 0) {
-                   /* Local param name, replace it */
-                           N->T.Tok  = TOK_MACPARAM;
-                   N->T.IVal = Count;
-                   break;
-               }
-               ++Count;
-                       I = I->Next;
-           }
-       }
-
-       /* Insert the new token in the list */
-       if (M->TokCount == 0) {
-           /* First token */
-           M->TokRoot = M->TokLast = N;
-       } else {
-           /* We have already tokens */
-           M->TokLast->Next = N;
-           M->TokLast = N;
-       }
-       ++M->TokCount;
-
-       /* Read the next token */
-       NextTok ();
+        if (CurTok.Tok == TOK_IDENT) {
+            unsigned Count = 0;
+            IdDesc* I = M->Params;
+            while (I) {
+                if (SB_Compare (&I->Id, &CurTok.SVal) == 0) {
+                    /* Local param name, replace it */
+                    N->T.Tok  = TOK_MACPARAM;
+                    N->T.IVal = Count;
+                    break;
+                }
+                ++Count;
+                I = I->Next;
+            }
+        }
+
+        /* Insert the new token in the list */
+        if (M->TokCount == 0) {
+            /* First token */
+            M->TokRoot = M->TokLast = N;
+        } else {
+            /* We have already tokens */
+            M->TokLast->Next = N;
+            M->TokLast = N;
+        }
+        ++M->TokCount;
+
+        /* Read the next token */
+        NextTok ();
     }
 
     /* Skip the .endmacro for a classic macro */
     if (Style == MAC_STYLE_CLASSIC) {
-       NextTok ();
+        NextTok ();
     }
 
     /* Reset the Incomplete flag now that parsing is done */
@@ -634,14 +634,14 @@ static int MacExpand (void* Data)
     /* Check if we should abort this macro */
     if (DoMacAbort) {
 
-       /* Reset the flag */
-       DoMacAbort = 0;
+        /* Reset the flag */
+        DoMacAbort = 0;
 
-       /* Abort any open .IF statements in this macro expansion */
-       CleanupIfStack (Mac->IfSP);
+        /* Abort any open .IF statements in this macro expansion */
+        CleanupIfStack (Mac->IfSP);
 
-       /* Terminate macro expansion */
-       goto MacEnd;
+        /* Terminate macro expansion */
+        goto MacEnd;
     }
 
     /* We're expanding a macro. Check if we are expanding one of the
@@ -650,8 +650,8 @@ static int MacExpand (void* Data)
 ExpandParam:
     if (Mac->ParamExp) {
 
-               /* Ok, use token from parameter list */
-               TokSet (Mac->ParamExp);
+        /* Ok, use token from parameter list */
+        TokSet (Mac->ParamExp);
 
         /* Create new line info for this parameter token */
         if (Mac->ParamLI) {
@@ -659,11 +659,11 @@ ExpandParam:
         }
         Mac->ParamLI = StartLine (&CurTok.Pos, LI_TYPE_MACPARAM, Mac->MacExpansions);
 
-               /* Set pointer to next token */
-               Mac->ParamExp = Mac->ParamExp->Next;
+        /* Set pointer to next token */
+        Mac->ParamExp = Mac->ParamExp->Next;
 
-               /* Done */
-               return 1;
+        /* Done */
+        return 1;
 
     } else if (Mac->ParamLI) {
 
@@ -678,8 +678,8 @@ ExpandParam:
      */
     if (Mac->Exp) {
 
-               /* Use next macro token */
-               TokSet (Mac->Exp);
+        /* Use next macro token */
+        TokSet (Mac->Exp);
 
         /* Create new line info for this token */
         if (Mac->LI) {
@@ -687,35 +687,35 @@ ExpandParam:
         }
         Mac->LI = StartLine (&CurTok.Pos, LI_TYPE_MACRO, Mac->MacExpansions);
 
-               /* Set pointer to next token */
-               Mac->Exp = Mac->Exp->Next;
+        /* Set pointer to next token */
+        Mac->Exp = Mac->Exp->Next;
 
-               /* Is it a request for actual parameter count? */
-               if (CurTok.Tok == TOK_PARAMCOUNT) {
-                   CurTok.Tok  = TOK_INTCON;
-                   CurTok.IVal = Mac->ParamCount;
-                   return 1;
-               }
+        /* Is it a request for actual parameter count? */
+        if (CurTok.Tok == TOK_PARAMCOUNT) {
+            CurTok.Tok  = TOK_INTCON;
+            CurTok.IVal = Mac->ParamCount;
+            return 1;
+        }
 
-               /* Is it the name of a macro parameter? */
-               if (CurTok.Tok == TOK_MACPARAM) {
+        /* Is it the name of a macro parameter? */
+        if (CurTok.Tok == TOK_MACPARAM) {
 
-                   /* Start to expand the parameter token list */
-                   Mac->ParamExp = Mac->Params[CurTok.IVal];
+            /* Start to expand the parameter token list */
+            Mac->ParamExp = Mac->Params[CurTok.IVal];
 
-                   /* Go back and expand the parameter */
-                   goto ExpandParam;
-               }
+            /* Go back and expand the parameter */
+            goto ExpandParam;
+        }
 
-               /* If it's an identifier, it may in fact be a local symbol */
-               if ((CurTok.Tok == TOK_IDENT || CurTok.Tok == TOK_LOCAL_IDENT) &&
+        /* If it's an identifier, it may in fact be a local symbol */
+        if ((CurTok.Tok == TOK_IDENT || CurTok.Tok == TOK_LOCAL_IDENT) &&
             Mac->M->LocalCount) {
-                   /* Search for the local symbol in the list */
-                   unsigned Index = 0;
-                   IdDesc* I = Mac->M->Locals;
-                   while (I) {
-                       if (SB_Compare (&CurTok.SVal, &I->Id) == 0) {
-                           /* This is in fact a local symbol, change the name. Be sure
+            /* Search for the local symbol in the list */
+            unsigned Index = 0;
+            IdDesc* I = Mac->M->Locals;
+            while (I) {
+                if (SB_Compare (&CurTok.SVal, &I->Id) == 0) {
+                    /* This is in fact a local symbol, change the name. Be sure
                      * to generate a local label name if the original name was
                      * a local label, and also generate a name that cannot be
                      * generated by a user.
@@ -729,28 +729,28 @@ ExpandParam:
                         SB_Printf (&CurTok.SVal, "LOCAL-MACRO_SYMBOL-%04X",
                                    Mac->LocalStart + Index);
                     }
-                           break;
-                       }
-                       /* Next symbol */
-                       ++Index;
-                       I = I->Next;
-                   }
-
-                   /* Done */
-                   return 1;
-               }
-
-               /* The token was successfully set */
-               return 1;
+                    break;
+                }
+                /* Next symbol */
+                ++Index;
+                I = I->Next;
+            }
+
+            /* Done */
+            return 1;
+        }
+
+        /* The token was successfully set */
+        return 1;
     }
 
     /* No more macro tokens. Do we have a final token? */
     if (Mac->Final) {
 
-       /* Set the final token and remove it */
-       TokSet (Mac->Final);
-       FreeTokNode (Mac->Final);
-       Mac->Final = 0;
+        /* Set the final token and remove it */
+        TokSet (Mac->Final);
+        FreeTokNode (Mac->Final);
+        Mac->Final = 0;
 
         /* Problem: When a .define style macro is expanded within the call
          * of a classic one, the latter may be terminated and removed while
@@ -765,8 +765,8 @@ ExpandParam:
         FreeMacExp (Mac);
         PopInput ();
 
-               /* The token was successfully set */
-               return 1;
+        /* The token was successfully set */
+        return 1;
     }
 
 MacEnd:
@@ -793,47 +793,47 @@ static void StartExpClassic (MacExp* E)
     /* Read the actual parameters */
     while (!TokIsSep (CurTok.Tok)) {
 
-       TokNode* Last;
+        TokNode* Last;
 
-               /* Check for maximum parameter count */
-       if (E->ParamCount >= E->M->ParamCount) {
-                   ErrorSkip ("Too many macro parameters");
-           break;
-       }
+        /* Check for maximum parameter count */
+        if (E->ParamCount >= E->M->ParamCount) {
+            ErrorSkip ("Too many macro parameters");
+            break;
+        }
 
         /* The macro may optionally be enclosed in curly braces */
         Term = GetTokListTerm (TOK_COMMA);
 
-               /* Read tokens for one parameter, accept empty params */
-       Last = 0;
-       while (CurTok.Tok != Term && CurTok.Tok != TOK_SEP) {
+        /* Read tokens for one parameter, accept empty params */
+        Last = 0;
+        while (CurTok.Tok != Term && CurTok.Tok != TOK_SEP) {
 
-           TokNode* T;
+            TokNode* T;
 
-           /* Check for end of file */
-           if (CurTok.Tok == TOK_EOF) {
-               Error ("Unexpected end of file");
+            /* Check for end of file */
+            if (CurTok.Tok == TOK_EOF) {
+                Error ("Unexpected end of file");
                 FreeMacExp (E);
-               return;
-           }
+                return;
+            }
 
-           /* Get the next token in a node */
-           T = NewTokNode ();
+            /* Get the next token in a node */
+            T = NewTokNode ();
 
-           /* Insert it into the list */
-           if (Last == 0) {
-               E->Params [E->ParamCount] = T;
-           } else {
-               Last->Next = T;
-           }
-                   Last = T;
+            /* Insert it into the list */
+            if (Last == 0) {
+                E->Params [E->ParamCount] = T;
+            } else {
+                Last->Next = T;
+            }
+            Last = T;
 
-           /* And skip it... */
-           NextTok ();
-       }
+            /* And skip it... */
+            NextTok ();
+        }
 
-       /* One parameter more */
-       ++E->ParamCount;
+        /* One parameter more */
+        ++E->ParamCount;
 
         /* If the macro argument was enclosed in curly braces, end-of-line
          * is an error. Skip the closing curly brace.
@@ -846,12 +846,12 @@ static void StartExpClassic (MacExp* E)
             NextTok ();
         }
 
-       /* Check for a comma */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextTok ();
-       } else {
-           break;
-       }
+        /* Check for a comma */
+        if (CurTok.Tok == TOK_COMMA) {
+            NextTok ();
+        } else {
+            break;
+        }
     }
 
     /* We must be at end of line now, otherwise something is wrong */
@@ -877,42 +877,42 @@ static void StartExpDefine (MacExp* E)
     /* Read the actual parameters */
     while (Count--) {
 
-               TokNode*   Last;
+        TokNode*   Last;
 
         /* The macro may optionally be enclosed in curly braces */
         token_t Term = GetTokListTerm (TOK_COMMA);
 
-               /* Check if there is really a parameter */
-               if (TokIsSep (CurTok.Tok) || CurTok.Tok == Term) {
+        /* Check if there is really a parameter */
+        if (TokIsSep (CurTok.Tok) || CurTok.Tok == Term) {
             ErrorSkip ("Macro parameter #%u is empty", E->ParamCount+1);
             FreeMacExp (E);
             return;
         }
 
-               /* Read tokens for one parameter */
-               Last = 0;
-               do {
+        /* Read tokens for one parameter */
+        Last = 0;
+        do {
 
-                   TokNode* T;
+            TokNode* T;
 
-                   /* Get the next token in a node */
-                   T = NewTokNode ();
+            /* Get the next token in a node */
+            T = NewTokNode ();
 
-                   /* Insert it into the list */
-                   if (Last == 0) {
-                       E->Params [E->ParamCount] = T;
-                   } else {
-                       Last->Next = T;
-                   }
-                   Last = T;
+            /* Insert it into the list */
+            if (Last == 0) {
+                E->Params [E->ParamCount] = T;
+            } else {
+                Last->Next = T;
+            }
+            Last = T;
 
-           /* And skip it... */
-           NextTok ();
+            /* And skip it... */
+            NextTok ();
 
-               } while (CurTok.Tok != Term && !TokIsSep (CurTok.Tok));
+        } while (CurTok.Tok != Term && !TokIsSep (CurTok.Tok));
 
-       /* One parameter more */
-       ++E->ParamCount;
+        /* One parameter more */
+        ++E->ParamCount;
 
         /* If the macro argument was enclosed in curly braces, end-of-line
          * is an error. Skip the closing curly brace.
@@ -925,14 +925,14 @@ static void StartExpDefine (MacExp* E)
             NextTok ();
         }
 
-               /* Check for a comma */
-               if (Count > 0) {
-                   if (CurTok.Tok == TOK_COMMA) {
-                       NextTok ();
-                   } else {
-                       Error ("`,' expected");
-                   }
-               }
+        /* Check for a comma */
+        if (Count > 0) {
+            if (CurTok.Tok == TOK_COMMA) {
+                NextTok ();
+            } else {
+                Error ("`,' expected");
+            }
+        }
     }
 
     /* Macro expansion will overwrite the current token. This is a problem
@@ -975,9 +975,9 @@ void MacExpandStart (Macro* M)
 
     /* Call the apropriate subroutine */
     switch (M->Style) {
-       case MAC_STYLE_CLASSIC: StartExpClassic (E);    break;
-       case MAC_STYLE_DEFINE:  StartExpDefine (E);     break;
-       default:                Internal ("Invalid macro style: %d", M->Style);
+        case MAC_STYLE_CLASSIC: StartExpClassic (E);    break;
+        case MAC_STYLE_DEFINE:  StartExpDefine (E);     break;
+        default:                Internal ("Invalid macro style: %d", M->Style);
     }
 }
 
index 4907478102f91511a2bc3d1c48f31c00d8689052..582b1352440cb115c202d574ff1dda169b9dc4c9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 macro.h                                  */
+/*                                  macro.h                                  */
 /*                                                                           */
-/*                   Macros for the ca65 macroassembler                     */
+/*                    Macros for the ca65 macroassembler                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,14 +49,14 @@ struct StrBuf;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Macro styles */
-#define MAC_STYLE_CLASSIC      0
-#define MAC_STYLE_DEFINE       1
+#define MAC_STYLE_CLASSIC       0
+#define MAC_STYLE_DEFINE        1
 
 /* Macro as an opaque data type */
 struct Macro;
@@ -65,7 +65,7 @@ typedef struct Macro Macro;
                                 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 50844be69aa1d7d15fcb6b3d49dc721d137640c8..9bf08f3479cdd77967520b4fdedb51df02099824 100644 (file)
@@ -1,7 +1,7 @@
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
-/*                Main program for the ca65 macroassembler                  */
+/*                 Main program for the ca65 macroassembler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -81,7 +81,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -168,7 +168,7 @@ static void NewSymbol (const char* SymName, long Val)
 
     /* Check if have already a symbol with this name */
     if (SymIsDef (Sym)) {
-       AbEnd ("`%s' is already defined", SymName);
+        AbEnd ("`%s' is already defined", SymName);
     }
 
     /* Generate an expression for the symbol */
@@ -197,75 +197,75 @@ static void SetSys (const char* Sys)
 {
     switch (Target = FindTarget (Sys)) {
 
-       case TGT_NONE:
-           break;
+        case TGT_NONE:
+            break;
 
         case TGT_MODULE:
             AbEnd ("Cannot use `module' as a target for the assembler");
             break;
 
-       case TGT_ATARI:
-           NewSymbol ("__ATARI__", 1);
-           break;
+        case TGT_ATARI:
+            NewSymbol ("__ATARI__", 1);
+            break;
 
-       case TGT_C16:
-           CBMSystem ("__C16__");
-           break;
+        case TGT_C16:
+            CBMSystem ("__C16__");
+            break;
 
-       case TGT_C64:
-           CBMSystem ("__C64__");
-           break;
+        case TGT_C64:
+            CBMSystem ("__C64__");
+            break;
 
-       case TGT_VIC20:
-           CBMSystem ("__VIC20__");
-           break;
+        case TGT_VIC20:
+            CBMSystem ("__VIC20__");
+            break;
 
-       case TGT_C128:
-           CBMSystem ("__C128__");
-           break;
+        case TGT_C128:
+            CBMSystem ("__C128__");
+            break;
 
-       case TGT_PLUS4:
-           CBMSystem ("__PLUS4__");
-           break;
+        case TGT_PLUS4:
+            CBMSystem ("__PLUS4__");
+            break;
 
-       case TGT_CBM510:
-           CBMSystem ("__CBM510__");
-           break;
+        case TGT_CBM510:
+            CBMSystem ("__CBM510__");
+            break;
 
-       case TGT_CBM610:
-           CBMSystem ("__CBM610__");
-           break;
+        case TGT_CBM610:
+            CBMSystem ("__CBM610__");
+            break;
 
-       case TGT_PET:
-           CBMSystem ("__PET__");
-           break;
+        case TGT_PET:
+            CBMSystem ("__PET__");
+            break;
 
-       case TGT_BBC:
-           NewSymbol ("__BBC__", 1);
-           break;
+        case TGT_BBC:
+            NewSymbol ("__BBC__", 1);
+            break;
 
-       case TGT_APPLE2:
-           NewSymbol ("__APPLE2__", 1);
-           break;
+        case TGT_APPLE2:
+            NewSymbol ("__APPLE2__", 1);
+            break;
 
-       case TGT_APPLE2ENH:
+        case TGT_APPLE2ENH:
             NewSymbol ("__APPLE2ENH__", 1);
-           break;
+            break;
 
-       case TGT_GEOS_CBM:
-           /* Do not handle as a CBM system */
-           NewSymbol ("__GEOS__", 1);
-           NewSymbol ("__GEOS_CBM__", 1);
-           break;
+        case TGT_GEOS_CBM:
+            /* Do not handle as a CBM system */
+            NewSymbol ("__GEOS__", 1);
+            NewSymbol ("__GEOS_CBM__", 1);
+            break;
 
-       case TGT_GEOS_APPLE:
-           NewSymbol ("__GEOS__", 1);
-           NewSymbol ("__GEOS_APPLE__", 1);
-           break;
+        case TGT_GEOS_APPLE:
+            NewSymbol ("__GEOS__", 1);
+            NewSymbol ("__GEOS_APPLE__", 1);
+            break;
 
-       case TGT_LUNIX:
-           NewSymbol ("__LUNIX__", 1);
-           break;
+        case TGT_LUNIX:
+            NewSymbol ("__LUNIX__", 1);
+            break;
 
         case TGT_ATMOS:
             NewSymbol ("__ATMOS__", 1);
@@ -283,7 +283,7 @@ static void SetSys (const char* Sys)
             NewSymbol ("__LYNX__", 1);
             break;
 
-       default:
+        default:
             AbEnd ("Invalid target name: `%s'", Sys);
 
     }
@@ -318,7 +318,7 @@ static void DefineSymbol (const char* Def)
 
     /* The symbol must start with a character or underline */
     if (!IsIdStart (Def [0])) {
-       InvDef (Def);
+        InvDef (Def);
     }
     P = Def;
 
@@ -330,23 +330,23 @@ static void DefineSymbol (const char* Def)
 
     /* Do we have a value given? */
     if (*P != '=') {
-       if (*P != '\0') {
-           InvDef (Def);
-       }
-       Val = 0;
+        if (*P != '\0') {
+            InvDef (Def);
+        }
+        Val = 0;
     } else {
-       /* We have a value */
-       ++P;
-       if (*P == '$') {
-           ++P;
-           if (sscanf (P, "%lx", &Val) != 1) {
-               InvDef (Def);
-           }
-       } else {
-           if (sscanf (P, "%li", &Val) != 1) {
-               InvDef (Def);
-           }
-               }
+        /* We have a value */
+        ++P;
+        if (*P == '$') {
+            ++P;
+            if (sscanf (P, "%lx", &Val) != 1) {
+                InvDef (Def);
+            }
+        } else {
+            if (sscanf (P, "%li", &Val) != 1) {
+                InvDef (Def);
+            }
+        }
     }
 
     /* Define the new symbol */
@@ -359,7 +359,7 @@ static void DefineSymbol (const char* Def)
 
 
 static void OptAutoImport (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Mark unresolved symbols as imported */
 {
     AutoImport = 1;
@@ -380,9 +380,9 @@ static void OptCPU (const char* Opt attribute ((unused)), const char* Arg)
 {
     cpu_t CPU = FindCPU (Arg);
     if (CPU == CPU_UNKNOWN) {
-       AbEnd ("Invalid CPU: `%s'", Arg);
+        AbEnd ("Invalid CPU: `%s'", Arg);
     } else {
-       SetCPU (CPU);
+        SetCPU (CPU);
     }
 }
 
@@ -397,7 +397,7 @@ static void OptCreateDep (const char* Opt, const char* Arg)
 
 
 static void OptCreateFullDep (const char* Opt attribute ((unused)),
-                             const char* Arg)
+                              const char* Arg)
 /* Handle the --create-full-dep option */
 {
     FileNameOption (Opt, Arg, &FullDepName);
@@ -406,7 +406,7 @@ static void OptCreateFullDep (const char* Opt attribute ((unused)),
 
 
 static void OptDebug (const char* Opt attribute ((unused)),
-                     const char* Arg attribute ((unused)))
+                      const char* Arg attribute ((unused)))
 /* Compiler debug mode */
 {
     ++Debug;
@@ -415,7 +415,7 @@ static void OptDebug (const char* Opt attribute ((unused)),
 
 
 static void OptDebugInfo (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Add debug info to the object file */
 {
     DbgSyms = 1;
@@ -431,14 +431,14 @@ static void OptFeature (const char* Opt attribute ((unused)), const char* Arg)
 
     /* Set the feature, check for errors */
     if (SetFeature (SB_InitFromString (&Feature, Arg)) == FEAT_UNKNOWN) {
-       AbEnd ("Illegal emulation feature: `%s'", Arg);
+        AbEnd ("Illegal emulation feature: `%s'", Arg);
     }
 }
 
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -448,7 +448,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptIgnoreCase (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Ignore case on symbols */
 {
     IgnoreCase = 1;
@@ -465,7 +465,7 @@ static void OptIncludeDir (const char* Opt attribute ((unused)), const char* Arg
 
 
 static void OptLargeAlignment (const char* Opt attribute ((unused)),
-                              const char* Arg attribute ((unused)))
+                               const char* Arg attribute ((unused)))
 /* Don't warn about large alignments */
 {
     LargeAlignment = 1;
@@ -541,7 +541,7 @@ static void OptPageLength (const char* Opt attribute ((unused)), const char* Arg
 {
     int Len = atoi (Arg);
     if (Len != -1 && (Len < MIN_PAGE_LEN || Len > MAX_PAGE_LEN)) {
-       AbEnd ("Invalid page length: %d", Len);
+        AbEnd ("Invalid page length: %d", Len);
     }
     PageLength = Len;
 }
@@ -549,7 +549,7 @@ static void OptPageLength (const char* Opt attribute ((unused)), const char* Arg
 
 
 static void OptRelaxChecks (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Handle the --relax-checks options */
 {
     RelaxChecks = 1;
@@ -558,7 +558,7 @@ static void OptRelaxChecks (const char* Opt attribute ((unused)),
 
 
 static void OptSmart (const char* Opt attribute ((unused)),
-                     const char* Arg attribute ((unused)))
+                      const char* Arg attribute ((unused)))
 /* Handle the -s/--smart options */
 {
     SmartMode = 1;
@@ -575,7 +575,7 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase verbosity */
 {
     ++Verbosity;
@@ -584,7 +584,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr, "ca65 V%s\n", GetVersionAsString ());
@@ -597,9 +597,9 @@ static void DoPCAssign (void)
 {
     long PC = ConstExpression ();
     if (PC < 0 || PC > 0xFFFFFF) {
-       Error ("Range error");
+        Error ("Range error");
     } else {
-       EnterAbsoluteMode (PC);
+        EnterAbsoluteMode (PC);
     }
 }
 
@@ -618,13 +618,13 @@ static void OneLine (void)
      * and not from internally pushed input.
      */
     if (!HavePushedInput ()) {
-               InitListingLine ();
+        InitListingLine ();
     }
 
     /* Single colon means unnamed label */
     if (CurTok.Tok == TOK_COLON) {
-               ULabDef ();
-               NextTok ();
+        ULabDef ();
+        NextTok ();
     }
 
     /* If the first token on the line is an identifier, check for a macro or
@@ -794,7 +794,7 @@ static void Assemble (void)
 
     /* Assemble lines until end of file */
     while (CurTok.Tok != TOK_EOF) {
-       OneLine ();
+        OneLine ();
     }
 }
 
@@ -850,27 +850,27 @@ int main (int argc, char* argv [])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-        { "--auto-import",             0,      OptAutoImport           },
+        { "--auto-import",      0,      OptAutoImport           },
         { "--bin-include-dir",  1,      OptBinIncludeDir        },
-        { "--cpu",                     1,      OptCPU                  },
+        { "--cpu",              1,      OptCPU                  },
         { "--create-dep",       1,      OptCreateDep            },
         { "--create-full-dep",  1,      OptCreateFullDep        },
-               { "--debug",            0,      OptDebug                },
-       { "--debug-info",       0,      OptDebugInfo            },
-       { "--feature",          1,      OptFeature              },
-       { "--help",             0,      OptHelp                 },
-       { "--ignore-case",      0,      OptIgnoreCase           },
-       { "--include-dir",      1,      OptIncludeDir           },
+        { "--debug",            0,      OptDebug                },
+        { "--debug-info",       0,      OptDebugInfo            },
+        { "--feature",          1,      OptFeature              },
+        { "--help",             0,      OptHelp                 },
+        { "--ignore-case",      0,      OptIgnoreCase           },
+        { "--include-dir",      1,      OptIncludeDir           },
         { "--large-alignment",  0,      OptLargeAlignment       },
         { "--list-bytes",       1,      OptListBytes            },
-       { "--listing",          1,      OptListing              },
+        { "--listing",          1,      OptListing              },
         { "--memory-model",     1,      OptMemoryModel          },
-       { "--pagelength",       1,      OptPageLength           },
+        { "--pagelength",       1,      OptPageLength           },
         { "--relax-checks",     0,      OptRelaxChecks          },
-       { "--smart",            0,      OptSmart                },
-       { "--target",           1,      OptTarget               },
-       { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
+        { "--smart",            0,      OptSmart                },
+        { "--target",           1,      OptTarget               },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
     };
 
     /* Name of the global name space */
@@ -904,36 +904,36 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec [I];
+        /* Get the argument */
+        const char* Arg = ArgVec [I];
 
-               /* Check for an option */
-               if (Arg[0] == '-') {
-                   switch (Arg[1]) {
+        /* Check for an option */
+        if (Arg[0] == '-') {
+            switch (Arg[1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
-               case 'd':
-                   OptDebug (Arg, 0);
-                   break;
+                case 'd':
+                    OptDebug (Arg, 0);
+                    break;
 
-                       case 'g':
-                           OptDebugInfo (Arg, 0);
-                           break;
+                case 'g':
+                    OptDebugInfo (Arg, 0);
+                    break;
 
-               case 'h':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                    OptHelp (Arg, 0);
+                    break;
 
-                       case 'i':
-                           OptIgnoreCase (Arg, 0);
-                           break;
+                case 'i':
+                    OptIgnoreCase (Arg, 0);
+                    break;
 
-                       case 'l':
-                   OptListing (Arg, GetArg (&I, 2));
-                           break;
+                case 'l':
+                    OptListing (Arg, GetArg (&I, 2));
+                    break;
 
                 case 'm':
                     if (Arg[2] == 'm') {
@@ -943,66 +943,66 @@ int main (int argc, char* argv [])
                     }
                     break;
 
-                       case 'o':
-                           OutFile = GetArg (&I, 2);
-                           break;
-
-                       case 's':
-                           OptSmart (Arg, 0);
-                           break;
-
-               case 't':
-                   OptTarget (Arg, GetArg (&I, 2));
-                   break;
-
-                       case 'v':
-                   OptVerbose (Arg, 0);
-                           break;
-
-               case 'D':
-                   DefineSymbol (GetArg (&I, 2));
-                   break;
-
-               case 'I':
-                   OptIncludeDir (Arg, GetArg (&I, 2));
-                   break;
-
-                       case 'U':
-                   OptAutoImport (Arg, 0);
-                           break;
-
-                       case 'V':
-                   OptVersion (Arg, 0);
-                           break;
-
-                       case 'W':
-                           WarnLevel = atoi (GetArg (&I, 2));
-                           break;
-
-                       default:
-                           UnknownOption (Arg);
-                   break;
-
-           }
-               } else {
-           /* Filename. Check if we already had one */
-           if (InFile) {
-               fprintf (stderr, "%s: Don't know what to do with `%s'\n",
-                        ProgName, Arg);
-               exit (EXIT_FAILURE);
-           } else {
-               InFile = Arg;
-           }
-       }
-
-       /* Next argument */
-       ++I;
+                case 'o':
+                    OutFile = GetArg (&I, 2);
+                    break;
+
+                case 's':
+                    OptSmart (Arg, 0);
+                    break;
+
+                case 't':
+                    OptTarget (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
+
+                case 'D':
+                    DefineSymbol (GetArg (&I, 2));
+                    break;
+
+                case 'I':
+                    OptIncludeDir (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'U':
+                    OptAutoImport (Arg, 0);
+                    break;
+
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
+
+                case 'W':
+                    WarnLevel = atoi (GetArg (&I, 2));
+                    break;
+
+                default:
+                    UnknownOption (Arg);
+                    break;
+
+            }
+        } else {
+            /* Filename. Check if we already had one */
+            if (InFile) {
+                fprintf (stderr, "%s: Don't know what to do with `%s'\n",
+                         ProgName, Arg);
+                exit (EXIT_FAILURE);
+            } else {
+                InFile = Arg;
+            }
+        }
+
+        /* Next argument */
+        ++I;
     }
 
     /* Do we have an input file? */
     if (InFile == 0) {
-       fprintf (stderr, "%s: No input files\n", ProgName);
-       exit (EXIT_FAILURE);
+        fprintf (stderr, "%s: No input files\n", ProgName);
+        exit (EXIT_FAILURE);
     }
 
     /* Add the default include search paths. */
@@ -1082,10 +1082,10 @@ int main (int argc, char* argv [])
      * dependency files
      */
     if (ErrorCount == 0) {
-       CreateObjFile ();
-       if (SB_GetLen (&ListingName) > 0) {
-           CreateListing ();
-       }
+        CreateObjFile ();
+        if (SB_GetLen (&ListingName) > 0) {
+            CreateListing ();
+        }
        CreateDependencies ();
     }
 
index 3761ebb675ecdb83bcb4b637782c6a4e9206d027..d52a8babd5a331509dd48757f9c21af91ea53cf9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                nexttok.c                                 */
+/*                                 nexttok.c                                 */
 /*                                                                           */
-/*             Get next token and handle token level functions              */
+/*              Get next token and handle token level functions              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-static unsigned RawMode = 0;           /* Raw token mode flag/counter */
+static unsigned RawMode = 0;            /* Raw token mode flag/counter */
 
 
 
@@ -86,7 +86,7 @@ static int LookAtStrCon (void)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -109,21 +109,21 @@ static TokList* CollectTokens (unsigned Start, unsigned Count)
     unsigned Current = 0;
     while (CurTok.Tok != Term) {
 
-       /* Check for end of line or end of input */
-       if (TokIsSep (CurTok.Tok)) {
-           Error ("Unexpected end of line");
-           return List;
-       }
-
-       /* Collect tokens in the given range */
-       if (Current >= Start && Current < Start+Count) {
-           /* Add the current token to the list */
-           AddCurTok (List);
-       }
-
-       /* Get the next token */
-       ++Current;
-       NextTok ();
+        /* Check for end of line or end of input */
+        if (TokIsSep (CurTok.Tok)) {
+            Error ("Unexpected end of line");
+            return List;
+        }
+
+        /* Collect tokens in the given range */
+        if (Current >= Start && Current < Start+Count) {
+            /* Add the current token to the list */
+            AddCurTok (List);
+        }
+
+        /* Get the next token */
+        ++Current;
+        NextTok ();
     }
 
     /* Eat the terminator token */
@@ -154,35 +154,35 @@ static void FuncConcat (void)
     /* Concatenate any number of strings */
     while (1) {
 
-       /* Next token must be a string */
+        /* Next token must be a string */
         if (!LookAtStrCon ()) {
             SB_Done (&Buf);
-           return;
-       }
+            return;
+        }
 
         /* Append the string */
         SB_Append (&Buf, &CurTok.SVal);
 
-       /* Skip the string token */
-       NextTok ();
+        /* Skip the string token */
+        NextTok ();
 
-       /* Comma means another argument */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextTok ();
-       } else {
-           /* Done */
-           break;
-       }
+        /* Comma means another argument */
+        if (CurTok.Tok == TOK_COMMA) {
+            NextTok ();
+        } else {
+            /* Done */
+            break;
+        }
     }
 
     /* We expect a closing parenthesis, but will not skip it but replace it
      * by the string token just created.
      */
     if (CurTok.Tok != TOK_RPAREN) {
-       Error ("`)' expected");
+        Error ("`)' expected");
     } else {
-       CurTok.Tok = TOK_STRCON;
-       SB_Copy (&CurTok.SVal, &Buf);
+        CurTok.Tok = TOK_STRCON;
+        SB_Copy (&CurTok.SVal, &Buf);
         SB_Terminate (&CurTok.SVal);
     }
 
@@ -253,7 +253,7 @@ static void FuncIdent (void)
     SB_Copy (&Buf, &CurTok.SVal);
     NextTok ();
     if (CurTok.Tok != TOK_RPAREN) {
-       Error ("`)' expected");
+        Error ("`)' expected");
     } else {
         CurTok.Tok = Id;
         SB_Copy (&CurTok.SVal, &Buf);
@@ -269,8 +269,8 @@ static void FuncIdent (void)
 static void FuncLeft (void)
 /* Handle the .LEFT function */
 {
-    long               Count;
-    TokList*   List;
+    long        Count;
+    TokList*    List;
 
     /* Skip it */
     NextTok ();
@@ -281,7 +281,7 @@ static void FuncLeft (void)
     /* Count argument. Correct negative counts to zero. */
     Count = ConstExpression ();
     if (Count < 0) {
-       Count = 0;
+        Count = 0;
     }
     ConsumeComma ();
 
@@ -309,9 +309,9 @@ static void FuncLeft (void)
 static void FuncMid (void)
 /* Handle the .MID function */
 {
-    long       Start;
-    long               Count;
-    TokList*   List;
+    long        Start;
+    long        Count;
+    TokList*    List;
 
     /* Skip it */
     NextTok ();
@@ -324,7 +324,7 @@ static void FuncMid (void)
      */
     Start = ConstExpression ();
     if (Start < 0 || Start > 100) {
-       Start = 0;
+        Start = 0;
     }
     ConsumeComma ();
 
@@ -333,7 +333,7 @@ static void FuncMid (void)
      */
     Count = ConstExpression ();
     if (Count < 0) {
-       Count = 0;
+        Count = 0;
     }
     ConsumeComma ();
 
@@ -361,8 +361,8 @@ static void FuncMid (void)
 static void FuncRight (void)
 /* Handle the .RIGHT function */
 {
-    long               Count;
-    TokList*   List;
+    long        Count;
+    TokList*    List;
 
     /* Skip it */
     NextTok ();
@@ -373,7 +373,7 @@ static void FuncRight (void)
     /* Count argument. Correct negative counts to zero. */
     Count = ConstExpression ();
     if (Count < 0) {
-       Count = 0;
+        Count = 0;
     }
     ConsumeComma ();
 
@@ -382,17 +382,17 @@ static void FuncRight (void)
 
     /* Delete tokens from the list until Count tokens are remaining */
     while (List->Count > (unsigned) Count) {
-       /* Get the first node */
-       TokNode* T = List->Root;
+        /* Get the first node */
+        TokNode* T = List->Root;
 
-       /* Remove it from the list */
-       List->Root = List->Root->Next;
+        /* Remove it from the list */
+        List->Root = List->Root->Next;
 
-       /* Free the node */
-       FreeTokNode (T);
+        /* Free the node */
+        FreeTokNode (T);
 
-       /* Corrent the token counter */
-       List->Count--;
+        /* Corrent the token counter */
+        List->Count--;
     }
 
     /* Since we want to insert the list before the now current token, we have
@@ -600,9 +600,9 @@ static void FuncSPrintF (void)
      * by the string token just created.
      */
     if (CurTok.Tok != TOK_RPAREN) {
-       Error ("`)' expected");
+        Error ("`)' expected");
     } else {
-       CurTok.Tok = TOK_STRCON;
+        CurTok.Tok = TOK_STRCON;
         SB_Copy (&CurTok.SVal, &R);
         SB_Terminate (&CurTok.SVal);
     }
@@ -630,9 +630,9 @@ static void FuncString (void)
 
     /* Accept identifiers or numeric expressions */
     if (CurTok.Tok == TOK_LOCAL_IDENT) {
-       /* Save the identifier, then skip it */
-               SB_Copy (&Buf, &CurTok.SVal);
-       NextTok ();
+        /* Save the identifier, then skip it */
+        SB_Copy (&Buf, &CurTok.SVal);
+        NextTok ();
     } else if (CurTok.Tok == TOK_NAMESPACE || CurTok.Tok == TOK_IDENT) {
 
         /* Parse a fully qualified symbol name. We cannot use
@@ -651,19 +651,19 @@ static void FuncString (void)
                  (NameSpace == 0 && CurTok.Tok == TOK_NAMESPACE));
 
     } else {
-       /* Numeric expression */
-       long Val = ConstExpression ();
-               SB_Printf (&Buf, "%ld", Val);
+        /* Numeric expression */
+        long Val = ConstExpression ();
+        SB_Printf (&Buf, "%ld", Val);
     }
 
     /* We expect a closing parenthesis, but will not skip it but replace it
      * by the string token just created.
      */
     if (CurTok.Tok != TOK_RPAREN) {
-       Error ("`)' expected");
+        Error ("`)' expected");
     } else {
-       CurTok.Tok = TOK_STRCON;
-       SB_Copy (&CurTok.SVal, &Buf);
+        CurTok.Tok = TOK_STRCON;
+        SB_Copy (&CurTok.SVal, &Buf);
         SB_Terminate (&CurTok.SVal);
     }
 
@@ -684,42 +684,42 @@ void NextTok (void)
      */
     if (RawMode == 0 && IfCond) {
 
-       /* Execute token handling functions */
-       switch (CurTok.Tok) {
+        /* Execute token handling functions */
+        switch (CurTok.Tok) {
 
-           case TOK_CONCAT:
-               FuncConcat ();
-               break;
+            case TOK_CONCAT:
+                FuncConcat ();
+                break;
 
-           case TOK_LEFT:
-               FuncLeft ();
-               break;
+            case TOK_LEFT:
+                FuncLeft ();
+                break;
 
             case TOK_MAKEIDENT:
                 FuncIdent ();
                 break;
 
-           case TOK_MID:
-               FuncMid ();
-               break;
+            case TOK_MID:
+                FuncMid ();
+                break;
 
-           case TOK_RIGHT:
-               FuncRight ();
-               break;
+            case TOK_RIGHT:
+                FuncRight ();
+                break;
 
             case TOK_SPRINTF:
                 FuncSPrintF ();
                 break;
 
-           case TOK_STRING:
-               FuncString ();
-               break;
+            case TOK_STRING:
+                FuncString ();
+                break;
 
-           default:
-               /* Quiet down gcc */
-               break;
+            default:
+                /* Quiet down gcc */
+                break;
 
-       }
+        }
     }
 }
 
@@ -729,9 +729,9 @@ void Consume (token_t Expected, const char* ErrMsg)
 /* Consume Expected, print an error if we don't find it */
 {
     if (CurTok.Tok == Expected) {
-       NextTok ();
+        NextTok ();
     } else {
-               Error ("%s", ErrMsg);
+        Error ("%s", ErrMsg);
     }
 }
 
@@ -745,7 +745,7 @@ void ConsumeSep (void)
 
     /* If we are at end of line, skip it */
     if (CurTok.Tok == TOK_SEP) {
-       NextTok ();
+        NextTok ();
     }
 }
 
@@ -779,7 +779,7 @@ void SkipUntilSep (void)
 /* Skip tokens until we reach a line separator or end of file */
 {
     while (!TokIsSep (CurTok.Tok)) {
-       NextTok ();
+        NextTok ();
     }
 }
 
@@ -791,7 +791,7 @@ void ExpectSep (void)
  */
 {
     if (!TokIsSep (CurTok.Tok)) {
-               ErrorSkip ("Unexpected trailing garbage characters");
+        ErrorSkip ("Unexpected trailing garbage characters");
     }
 }
 
index 28806f94ed0c0644945b34fed2cd9586f6f7b442..d8d7c01015226c4026c87f18bab2f56fbb496918 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                nexttok.h                                 */
+/*                                 nexttok.h                                 */
 /*                                                                           */
-/*             Get next token and handle token level functions              */
+/*              Get next token and handle token level functions              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f80eec203f5a7d604972c0199c6621a1bb1f765b..3ab9b2ebe08835efeecac6679cd20c590b2d49ee 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objcode.c                                 */
+/*                                 objcode.c                                 */
 /*                                                                           */
-/*            Objectcode management for the ca65 macroassembler             */
+/*             Objectcode management for the ca65 macroassembler             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -159,23 +159,23 @@ void EmitData (const void* D, unsigned Size)
 
     /* Create lots of fragments for the data */
     while (Size) {
-       Fragment* F;
+        Fragment* F;
 
-       /* Determine the length of the next fragment */
-       unsigned Len = Size;
-               if (Len > sizeof (F->V.Data)) {
-           Len = sizeof (F->V.Data);
-               }
+        /* Determine the length of the next fragment */
+        unsigned Len = Size;
+        if (Len > sizeof (F->V.Data)) {
+            Len = sizeof (F->V.Data);
+        }
 
-       /* Create a new fragment */
-       F = GenFragment (FRAG_LITERAL, Len);
+        /* Create a new fragment */
+        F = GenFragment (FRAG_LITERAL, Len);
 
-       /* Copy the data */
-       memcpy (F->V.Data, Data, Len);
+        /* Copy the data */
+        memcpy (F->V.Data, Data, Len);
 
-       /* Next chunk */
-       Data += Len;
-       Size -= Len;
+        /* Next chunk */
+        Data += Len;
+        Size -= Len;
 
     }
 }
@@ -270,12 +270,12 @@ void EmitFill (unsigned long Count)
 /* Emit Count fill bytes */
 {
     while (Count) {
-       /* Calculate the size of the next chunk */
-       unsigned Chunk = (Count > 0xFFFF)? 0xFFFF : (unsigned) Count;
-       Count -= Chunk;
+        /* Calculate the size of the next chunk */
+        unsigned Chunk = (Count > 0xFFFF)? 0xFFFF : (unsigned) Count;
+        Count -= Chunk;
 
-       /* Emit one chunk */
-       GenFragment (FRAG_FILL, Chunk);
+        /* Emit one chunk */
+        GenFragment (FRAG_FILL, Chunk);
     }
 }
 
index 317fe295b74ab61b45989dfcdde6c66336f760b6..68b967e3f8a355c0daf90cc26cb773bfecacac35 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objcode.h                                 */
+/*                                 objcode.h                                 */
 /*                                                                           */
-/*            Objectcode management for the ca65 macroassembler             */
+/*             Objectcode management for the ca65 macroassembler             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 199bc13c58c8e4259db11ccd470cff0a9f5826b6..818e5625b3b7df9c7443cabd7dda994cf330794a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objfile.c                                 */
+/*                                 objfile.c                                 */
 /*                                                                           */
-/*        Object file writing routines for the ca65 macroassembler          */
+/*         Object file writing routines for the ca65 macroassembler          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -59,7 +59,7 @@
 static FILE* F = 0;
 
 /* Default extension */
-#define        OBJ_EXT ".o"
+#define OBJ_EXT ".o"
 
 /* Header structure */
 static ObjHeader Header = {
@@ -93,7 +93,7 @@ static ObjHeader Header = {
 
 
 /*****************************************************************************/
-/*                        Internally used functions                         */
+/*                         Internally used functions                         */
 /*****************************************************************************/
 
 
@@ -151,7 +151,7 @@ static void ObjWriteHeader (void)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -161,16 +161,16 @@ void ObjOpen (void)
 {
     /* Do we have a name for the output file? */
     if (OutFile == 0) {
-       /* We don't have an output name explicitly given, construct one from
-        * the name of the input file.
-        */
-       OutFile = MakeFilename (InFile, OBJ_EXT);
+        /* We don't have an output name explicitly given, construct one from
+         * the name of the input file.
+         */
+        OutFile = MakeFilename (InFile, OBJ_EXT);
     }
 
     /* Create the output file */
     F = fopen (OutFile, "w+b");
     if (F == 0) {
-       Fatal ("Cannot open output file `%s': %s", OutFile, strerror (errno));
+        Fatal ("Cannot open output file `%s': %s", OutFile, strerror (errno));
     }
 
     /* Write a dummy header */
@@ -184,7 +184,7 @@ void ObjClose (void)
 {
     /* Go back to the beginning */
     if (fseek (F, 0, SEEK_SET) != 0) {
-       ObjWriteError ();
+        ObjWriteError ();
     }
 
     /* If we have debug infos, set the flag in the header */
@@ -197,7 +197,7 @@ void ObjClose (void)
 
     /* Close the file */
     if (fclose (F) != 0) {
-       ObjWriteError ();
+        ObjWriteError ();
     }
 }
 
@@ -229,7 +229,7 @@ void ObjWrite8 (unsigned V)
 /* Write an 8 bit value to the file */
 {
     if (putc (V, F) == EOF) {
-       ObjWriteError ();
+        ObjWriteError ();
     }
 }
 
@@ -274,12 +274,12 @@ void ObjWriteVar (unsigned long V)
      * needing 5 bytes if a 32 bit value is written to file.
      */
     do {
-       unsigned char C = (V & 0x7F);
-       V >>= 7;
-       if (V) {
-           C |= 0x80;
-       }
-       ObjWrite8 (C);
+        unsigned char C = (V & 0x7F);
+        V >>= 7;
+        if (V) {
+            C |= 0x80;
+        }
+        ObjWrite8 (C);
     } while (V != 0);
 }
 
@@ -317,7 +317,7 @@ void ObjWriteData (const void* Data, unsigned Size)
 /* Write literal data to the file */
 {
     if (fwrite (Data, 1, Size, F) != Size) {
-       ObjWriteError ();
+        ObjWriteError ();
     }
 }
 
@@ -330,8 +330,8 @@ void ObjWritePos (const FilePos* Pos)
     ObjWriteVar (Pos->Line);
     ObjWriteVar (Pos->Col);
     if (Pos->Name == 0) {
-       /* Position is outside file scope, use the main file instead */
-       ObjWriteVar (0);
+        /* Position is outside file scope, use the main file instead */
+        ObjWriteVar (0);
     } else {
         ObjWriteVar (Pos->Name - 1);
     }
index 91987b3d953f8f4e1c4908df5be5cae9cb2b67be..ab775ca242c905f659d999e0f9974741b3bad9f4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objfile.h                                 */
+/*                                 objfile.h                                 */
 /*                                                                           */
-/*        Object file writing routines for the ca65 macroassembler          */
+/*         Object file writing routines for the ca65 macroassembler          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 02e68f6964f422bc8d717b1edfbf0ecc714dd7cc..c71296a57ab6be6954bcf2cd8e28461d794273cb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                options.c                                 */
+/*                                 options.c                                 */
 /*                                                                           */
-/*             Object file options for the ca65 macroassembler              */
+/*              Object file options for the ca65 macroassembler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Option list */
-static Option*         OptRoot = 0;
-static Option*         OptLast = 0;
-static unsigned                OptCount = 0;
+static Option*          OptRoot = 0;
+static Option*          OptLast = 0;
+static unsigned         OptCount = 0;
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -81,9 +81,9 @@ static Option* NewOption (unsigned char Type, unsigned long Val)
 
     /* Insert it into the list */
     if (OptRoot == 0) {
-       OptRoot = Opt;
+        OptRoot = Opt;
     } else {
-               OptLast->Next = Opt;
+        OptLast->Next = Opt;
     }
     OptLast = Opt;
 
@@ -167,12 +167,12 @@ void WriteOptions (void)
     O = OptRoot;
     while (O) {
 
-       /* Write the type of the option, then the value */
-       ObjWrite8 (O->Type);
+        /* Write the type of the option, then the value */
+        ObjWrite8 (O->Type);
         ObjWriteVar (O->Val);
 
-       /* Next option */
-       O = O->Next;
+        /* Next option */
+        O = O->Next;
 
     }
 
index bbb429951f13abc0f2b8a5ce0156f6d35b6ee31a..6b4184824c7abc82d0a3e5060a08a0b0bbbf8c90 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                options.h                                 */
+/*                                 options.h                                 */
 /*                                                                           */
-/*             Object file options for the ca65 macroassembler              */
+/*              Object file options for the ca65 macroassembler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 74dd4b260aa2e6c06740634b06885e6df7664068..5c534b29c30be059c3f7e398300ac096c8ea1995 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                pseudo.c                                  */
+/*                                 pseudo.c                                  */
 /*                                                                           */
-/*             Pseudo instructions for the ca65 macroassembler              */
+/*              Pseudo instructions for the ca65 macroassembler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -84,7 +84,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -102,7 +102,7 @@ static Collection SegStack = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                              Forwards                                    */
+/*                               Forwards                                    */
 /*****************************************************************************/
 
 
@@ -122,7 +122,7 @@ static void DoInvalid (void);
 
 
 /*****************************************************************************/
-/*                             Helper functions                             */
+/*                              Helper functions                             */
 /*****************************************************************************/
 
 
@@ -152,28 +152,28 @@ static void SetBoolOption (unsigned char* Flag)
 /* Read a on/off/+/- option and set flag accordingly */
 {
     static const char* Keys[] = {
-               "OFF",
-       "ON",
+        "OFF",
+        "ON",
     };
 
     if (CurTok.Tok == TOK_PLUS) {
-               *Flag = 1;
-       NextTok ();
+        *Flag = 1;
+        NextTok ();
     } else if (CurTok.Tok == TOK_MINUS) {
-       *Flag = 0;
-       NextTok ();
+        *Flag = 0;
+        NextTok ();
     } else if (CurTok.Tok == TOK_IDENT) {
-               /* Map the keyword to a number */
-               switch (GetSubKey (Keys, sizeof (Keys) / sizeof (Keys [0]))) {
-           case 0:     *Flag = 0; NextTok ();                  break;
-           case 1:     *Flag = 1; NextTok ();                  break;
-           default:    ErrorSkip ("`on' or `off' expected");   break;
-       }
+        /* Map the keyword to a number */
+        switch (GetSubKey (Keys, sizeof (Keys) / sizeof (Keys [0]))) {
+            case 0:     *Flag = 0; NextTok ();                  break;
+            case 1:     *Flag = 1; NextTok ();                  break;
+            default:    ErrorSkip ("`on' or `off' expected");   break;
+        }
     } else if (TokIsSep (CurTok.Tok)) {
-       /* Without anything assume switch on */
-       *Flag = 1;
+        /* Without anything assume switch on */
+        *Flag = 1;
     } else {
-               ErrorSkip ("`on' or `off' expected");
+        ErrorSkip ("`on' or `off' expected");
     }
 }
 
@@ -216,10 +216,10 @@ static void ExportImport (void (*Func) (SymEntry*, unsigned char, unsigned),
     while (1) {
 
         /* We need an identifier here */
-       if (CurTok.Tok != TOK_IDENT) {
-                   ErrorSkip ("Identifier expected");
-           return;
-       }
+        if (CurTok.Tok != TOK_IDENT) {
+            ErrorSkip ("Identifier expected");
+            return;
+        }
 
         /* Find the symbol table entry, allocate a new one if necessary */
         Sym = SymFind (CurrentScope, &CurTok.SVal, SYM_ALLOC_NEW);
@@ -237,11 +237,11 @@ static void ExportImport (void (*Func) (SymEntry*, unsigned char, unsigned),
         Func (Sym, AddrSize, Flags);
 
         /* More symbols? */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextTok ();
-       } else {
-           break;
-       }
+        if (CurTok.Tok == TOK_COMMA) {
+            NextTok ();
+        } else {
+            break;
+        }
     }
 }
 
@@ -253,15 +253,15 @@ static long IntArg (long Min, long Max)
  */
 {
     if (CurTok.Tok == TOK_IDENT && SB_CompareStr (&CurTok.SVal, "unlimited") == 0) {
-       NextTok ();
-       return -1;
+        NextTok ();
+        return -1;
     } else {
-       long Val = ConstExpression ();
-       if (Val < Min || Val > Max) {
-           Error ("Range error");
-           Val = Min;
-       }
-       return Val;
+        long Val = ConstExpression ();
+        if (Val < Min || Val > Max) {
+            Error ("Range error");
+            Val = Min;
+        }
+        return Val;
     }
 }
 
@@ -278,17 +278,17 @@ static void ConDes (const StrBuf* Name, unsigned Type)
 
     /* Optional constructor priority */
     if (CurTok.Tok == TOK_COMMA) {
-       /* Priority value follows */
-       NextTok ();
-       Prio = ConstExpression ();
-       if (Prio < CD_PRIO_MIN || Prio > CD_PRIO_MAX) {
-           /* Value out of range */
-           Error ("Range error");
-           return;
-       }
+        /* Priority value follows */
+        NextTok ();
+        Prio = ConstExpression ();
+        if (Prio < CD_PRIO_MIN || Prio > CD_PRIO_MAX) {
+            /* Value out of range */
+            Error ("Range error");
+            return;
+        }
     } else {
-       /* Use the default priority value */
-       Prio = CD_PRIO_DEF;
+        /* Use the default priority value */
+        Prio = CD_PRIO_DEF;
     }
 
     /* Define the symbol */
@@ -325,7 +325,7 @@ static StrBuf* GenArrayType (StrBuf* Type, unsigned SpanSize,
 
 
 /*****************************************************************************/
-/*                            Handler functions                             */
+/*                             Handler functions                             */
 /*****************************************************************************/
 
 
@@ -334,10 +334,10 @@ static void DoA16 (void)
 /* Switch the accu to 16 bit mode (assembler only) */
 {
     if (GetCPU() != CPU_65816) {
-       Error ("Command is only valid in 65816 mode");
+        Error ("Command is only valid in 65816 mode");
     } else {
-               /* Immidiate mode has two extension bytes */
-       ExtBytes [AM65I_IMM_ACCU] = 2;
+        /* Immidiate mode has two extension bytes */
+        ExtBytes [AM65I_IMM_ACCU] = 2;
     }
 }
 
@@ -347,10 +347,10 @@ static void DoA8 (void)
 /* Switch the accu to 8 bit mode (assembler only) */
 {
     if (GetCPU() != CPU_65816) {
-       Error ("Command is only valid in 65816 mode");
+        Error ("Command is only valid in 65816 mode");
     } else {
-       /* Immidiate mode has one extension byte */
-       ExtBytes [AM65I_IMM_ACCU] = 1;
+        /* Immidiate mode has one extension byte */
+        ExtBytes [AM65I_IMM_ACCU] = 1;
     }
 }
 
@@ -369,16 +369,16 @@ static void DoAddr (void)
     /* Parse arguments */
     while (1) {
         ExprNode* Expr = Expression ();
-       if (GetCPU () == CPU_65816 || ForceRange) {
-           /* Do a range check */
+        if (GetCPU () == CPU_65816 || ForceRange) {
+            /* Do a range check */
             Expr = GenWordExpr (Expr);
-       }
+        }
         EmitWord (Expr);
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       } else {
-           NextTok ();
-       }
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        } else {
+            NextTok ();
+        }
     }
 
     /* Close the span, then add type information to it */
@@ -427,21 +427,21 @@ static void DoASCIIZ (void)
 /* Define text with a zero terminator */
 {
     while (1) {
-       /* Must have a string constant */
-       if (CurTok.Tok != TOK_STRCON) {
-                   ErrorSkip ("String constant expected");
-           return;
-       }
-
-       /* Translate into target charset and emit */
-               TgtTranslateStrBuf (&CurTok.SVal);
-               EmitStrBuf (&CurTok.SVal);
-       NextTok ();
-       if (CurTok.Tok == TOK_COMMA) {
-           NextTok ();
-       } else {
-           break;
-       }
+        /* Must have a string constant */
+        if (CurTok.Tok != TOK_STRCON) {
+            ErrorSkip ("String constant expected");
+            return;
+        }
+
+        /* Translate into target charset and emit */
+        TgtTranslateStrBuf (&CurTok.SVal);
+        EmitStrBuf (&CurTok.SVal);
+        NextTok ();
+        if (CurTok.Tok == TOK_COMMA) {
+            NextTok ();
+        } else {
+            break;
+        }
     }
     Emit0 (0);
 }
@@ -452,7 +452,7 @@ static void DoAssert (void)
 /* Add an assertion */
 {
     static const char* ActionTab [] = {
-       "WARN", "WARNING",
+        "WARN", "WARNING",
         "ERROR",
         "LDWARN", "LDWARNING",
         "LDERROR",
@@ -578,24 +578,24 @@ static void DoByte (void)
 
     /* Parse arguments */
     while (1) {
-       if (CurTok.Tok == TOK_STRCON) {
-           /* A string, translate into target charset and emit */
-                   TgtTranslateStrBuf (&CurTok.SVal);
-           EmitStrBuf (&CurTok.SVal);
-           NextTok ();
-       } else {
+        if (CurTok.Tok == TOK_STRCON) {
+            /* A string, translate into target charset and emit */
+            TgtTranslateStrBuf (&CurTok.SVal);
+            EmitStrBuf (&CurTok.SVal);
+            NextTok ();
+        } else {
             EmitByte (BoundedExpr (Expression, 1));
-       }
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       } else {
-           NextTok ();
-           /* Do smart handling of dangling comma */
-           if (CurTok.Tok == TOK_SEP) {
-               Error ("Unexpected end of line");
-               break;
-           }
-       }
+        }
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        } else {
+            NextTok ();
+            /* Do smart handling of dangling comma */
+            if (CurTok.Tok == TOK_SEP) {
+                Error ("Unexpected end of line");
+                break;
+            }
+        }
     }
 
     /* Close the span, then add type information to it */
@@ -626,9 +626,9 @@ static void DoCharMap (void)
     /* Read the index as numerical value */
     Index = ConstExpression ();
     if (Index <= 0 || Index > 255) {
-       /* Value out of range */
-               ErrorSkip ("Range error");
-       return;
+        /* Value out of range */
+        ErrorSkip ("Range error");
+        return;
     }
 
     /* Comma follows */
@@ -637,9 +637,9 @@ static void DoCharMap (void)
     /* Read the character code */
     Code = ConstExpression ();
     if (Code < 0 || Code > 255) {
-       /* Value out of range */
-               ErrorSkip ("Range error");
-       return;
+        /* Value out of range */
+        ErrorSkip ("Range error");
+        return;
     }
 
     /* Set the character translation */
@@ -660,8 +660,8 @@ static void DoConDes (void)
 /* Export a symbol as constructor/destructor */
 {
     static const char* Keys[] = {
-               "CONSTRUCTOR",
-       "DESTRUCTOR",
+        "CONSTRUCTOR",
+        "DESTRUCTOR",
         "INTERRUPTOR",
     };
     StrBuf Name = STATIC_STRBUF_INITIALIZER;
@@ -669,8 +669,8 @@ static void DoConDes (void)
 
     /* Symbol name follows */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
-       return;
+        ErrorSkip ("Identifier expected");
+        return;
     }
     SB_Copy (&Name, &CurTok.SVal);
     NextTok ();
@@ -679,25 +679,25 @@ static void DoConDes (void)
     ConsumeComma ();
     if (CurTok.Tok == TOK_IDENT) {
 
-       /* Map the following keyword to a number, then skip it */
-       Type = GetSubKey (Keys, sizeof (Keys) / sizeof (Keys [0]));
-       NextTok ();
+        /* Map the following keyword to a number, then skip it */
+        Type = GetSubKey (Keys, sizeof (Keys) / sizeof (Keys [0]));
+        NextTok ();
 
-       /* Check if we got a valid keyword */
-       if (Type < 0) {
-                   ErrorSkip ("Syntax error");
-           goto ExitPoint;
-       }
+        /* Check if we got a valid keyword */
+        if (Type < 0) {
+            ErrorSkip ("Syntax error");
+            goto ExitPoint;
+        }
 
     } else {
 
-       /* Read the type as numerical value */
-               Type = ConstExpression ();
-       if (Type < CD_TYPE_MIN || Type > CD_TYPE_MAX) {
-           /* Value out of range */
-                   ErrorSkip ("Range error");
-           goto ExitPoint;
-       }
+        /* Read the type as numerical value */
+        Type = ConstExpression ();
+        if (Type < CD_TYPE_MIN || Type > CD_TYPE_MAX) {
+            /* Value out of range */
+            ErrorSkip ("Range error");
+            goto ExitPoint;
+        }
 
     }
 
@@ -718,8 +718,8 @@ static void DoConstructor (void)
 
     /* Symbol name follows */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
-       return;
+        ErrorSkip ("Identifier expected");
+        return;
     }
     SB_Copy (&Name, &CurTok.SVal);
     NextTok ();
@@ -745,18 +745,18 @@ static void DoDbg (void)
 /* Add debug information from high level code */
 {
     static const char* Keys[] = {
-               "FILE",
+        "FILE",
         "FUNC",
-       "LINE",
-       "SYM",
+        "LINE",
+        "SYM",
     };
     int Key;
 
 
     /* We expect a subkey */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
-       return;
+        ErrorSkip ("Identifier expected");
+        return;
     }
 
     /* Map the following keyword to a number */
@@ -767,11 +767,11 @@ static void DoDbg (void)
 
     /* Check the key and dispatch to a handler */
     switch (Key) {
-       case 0:     DbgInfoFile ();             break;
+        case 0:     DbgInfoFile ();             break;
         case 1:     DbgInfoFunc ();             break;
-       case 2:     DbgInfoLine ();             break;
-       case 3:     DbgInfoSym ();              break;
-       default:    ErrorSkip ("Syntax error"); break;
+        case 2:     DbgInfoLine ();             break;
+        case 3:     DbgInfoSym ();              break;
+        default:    ErrorSkip ("Syntax error"); break;
     }
 }
 
@@ -789,12 +789,12 @@ static void DoDByt (void)
 
     /* Parse arguments */
     while (1) {
-       EmitWord (GenSwapExpr (BoundedExpr (Expression, 2)));
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       } else {
-           NextTok ();
-       }
+        EmitWord (GenSwapExpr (BoundedExpr (Expression, 2)));
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        } else {
+            NextTok ();
+        }
     }
 
     /* Close the span, then add type information to it */
@@ -828,7 +828,7 @@ static void DoDelMac (void)
 {
     /* We expect an identifier */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
+        ErrorSkip ("Identifier expected");
     } else {
         MacUndef (&CurTok.SVal, MAC_STYLE_CLASSIC);
         NextTok ();
@@ -844,8 +844,8 @@ static void DoDestructor (void)
 
     /* Symbol name follows */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
-       return;
+        ErrorSkip ("Identifier expected");
+        return;
     }
     SB_Copy (&Name, &CurTok.SVal);
     NextTok ();
@@ -863,12 +863,12 @@ static void DoDWord (void)
 /* Define dwords */
 {
     while (1) {
-               EmitDWord (BoundedExpr (Expression, 4));
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       } else {
-           NextTok ();
-       }
+        EmitDWord (BoundedExpr (Expression, 4));
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        } else {
+            NextTok ();
+        }
     }
 }
 
@@ -913,10 +913,10 @@ static void DoError (void)
 /* User error */
 {
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
-               Error ("User error: %m%p", &CurTok.SVal);
-       SkipUntilSep ();
+        Error ("User error: %m%p", &CurTok.SVal);
+        SkipUntilSep ();
     }
 }
 
@@ -926,10 +926,10 @@ static void DoExitMacro (void)
 /* Exit a macro expansion */
 {
     if (!InMacExpansion ()) {
-       /* We aren't expanding a macro currently */
-               DoUnexpected ();
+        /* We aren't expanding a macro currently */
+        DoUnexpected ();
     } else {
-       MacAbort ();
+        MacAbort ();
     }
 }
 
@@ -963,12 +963,12 @@ static void DoFarAddr (void)
 
     /* Parse arguments */
     while (1) {
-               EmitFarAddr (BoundedExpr (Expression, 3));
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       } else {
-           NextTok ();
-       }
+        EmitFarAddr (BoundedExpr (Expression, 3));
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        } else {
+            NextTok ();
+        }
     }
 
     /* Close the span, then add type information to it */
@@ -985,10 +985,10 @@ static void DoFatal (void)
 /* Fatal user error */
 {
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
-               Fatal ("User error: %m%p", &CurTok.SVal);
-       SkipUntilSep ();
+        Fatal ("User error: %m%p", &CurTok.SVal);
+        SkipUntilSep ();
     }
 }
 
@@ -1000,31 +1000,31 @@ static void DoFeature (void)
     /* Allow a list of comma separated keywords */
     while (1) {
 
-       /* We expect an identifier */
-       if (CurTok.Tok != TOK_IDENT) {
-           ErrorSkip ("Identifier expected");
-           return;
-       }
+        /* We expect an identifier */
+        if (CurTok.Tok != TOK_IDENT) {
+            ErrorSkip ("Identifier expected");
+            return;
+        }
 
-       /* Make the string attribute lower case */
-       LocaseSVal ();
+        /* Make the string attribute lower case */
+        LocaseSVal ();
 
-       /* Set the feature and check for errors */
-       if (SetFeature (&CurTok.SVal) == FEAT_UNKNOWN) {
-           /* Not found */
-           ErrorSkip ("Invalid feature: `%m%p'", &CurTok.SVal);
-           return;
-       } else {
-           /* Skip the keyword */
-           NextTok ();
-       }
+        /* Set the feature and check for errors */
+        if (SetFeature (&CurTok.SVal) == FEAT_UNKNOWN) {
+            /* Not found */
+            ErrorSkip ("Invalid feature: `%m%p'", &CurTok.SVal);
+            return;
+        } else {
+            /* Skip the keyword */
+            NextTok ();
+        }
 
-       /* Allow more than one keyword */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextTok ();
-       } else {
-           break;
-       }
+        /* Allow more than one keyword */
+        if (CurTok.Tok == TOK_COMMA) {
+            NextTok ();
+        } else {
+            break;
+        }
     }
 }
 
@@ -1038,80 +1038,80 @@ static void DoFileOpt (void)
     /* The option type may be given as a keyword or as a number. */
     if (CurTok.Tok == TOK_IDENT) {
 
-       /* Option given as keyword */
-       static const char* Keys [] = {
-           "AUTHOR", "COMMENT", "COMPILER"
-       };
+        /* Option given as keyword */
+        static const char* Keys [] = {
+            "AUTHOR", "COMMENT", "COMPILER"
+        };
 
-       /* Map the option to a number */
-       OptNum = GetSubKey (Keys, sizeof (Keys) / sizeof (Keys [0]));
-       if (OptNum < 0) {
-           /* Not found */
-           ErrorSkip ("File option keyword expected");
-           return;
-       }
+        /* Map the option to a number */
+        OptNum = GetSubKey (Keys, sizeof (Keys) / sizeof (Keys [0]));
+        if (OptNum < 0) {
+            /* Not found */
+            ErrorSkip ("File option keyword expected");
+            return;
+        }
 
-       /* Skip the keyword */
-       NextTok ();
+        /* Skip the keyword */
+        NextTok ();
 
-       /* Must be followed by a comma */
-       ConsumeComma ();
+        /* Must be followed by a comma */
+        ConsumeComma ();
 
-       /* We accept only string options for now */
-       if (CurTok.Tok != TOK_STRCON) {
-           ErrorSkip ("String constant expected");
-           return;
-       }
+        /* We accept only string options for now */
+        if (CurTok.Tok != TOK_STRCON) {
+            ErrorSkip ("String constant expected");
+            return;
+        }
 
-               /* Insert the option */
-       switch (OptNum) {
+        /* Insert the option */
+        switch (OptNum) {
 
-           case 0:
-               /* Author */
-               OptAuthor (&CurTok.SVal);
-               break;
+            case 0:
+                /* Author */
+                OptAuthor (&CurTok.SVal);
+                break;
 
-           case 1:
-               /* Comment */
-               OptComment (&CurTok.SVal);
-               break;
+            case 1:
+                /* Comment */
+                OptComment (&CurTok.SVal);
+                break;
 
-           case 2:
-               /* Compiler */
-               OptCompiler (&CurTok.SVal);
-               break;
+            case 2:
+                /* Compiler */
+                OptCompiler (&CurTok.SVal);
+                break;
 
-           default:
-               Internal ("Invalid OptNum: %ld", OptNum);
+            default:
+                Internal ("Invalid OptNum: %ld", OptNum);
 
-       }
+        }
 
-       /* Done */
-       NextTok ();
+        /* Done */
+        NextTok ();
 
     } else {
 
-       /* Option given as number */
-               OptNum = ConstExpression ();
-       if (!IsByteRange (OptNum)) {
-           ErrorSkip ("Range error");
-           return;
-       }
+        /* Option given as number */
+        OptNum = ConstExpression ();
+        if (!IsByteRange (OptNum)) {
+            ErrorSkip ("Range error");
+            return;
+        }
 
-       /* Must be followed by a comma */
-       ConsumeComma ();
+        /* Must be followed by a comma */
+        ConsumeComma ();
 
-       /* We accept only string options for now */
-       if (CurTok.Tok != TOK_STRCON) {
-           ErrorSkip ("String constant expected");
-           return;
-       }
+        /* We accept only string options for now */
+        if (CurTok.Tok != TOK_STRCON) {
+            ErrorSkip ("String constant expected");
+            return;
+        }
 
-       /* Insert the option */
-       OptStr ((unsigned char) OptNum, &CurTok.SVal);
+        /* Insert the option */
+        OptStr ((unsigned char) OptNum, &CurTok.SVal);
 
-       /* Done */
-       NextTok ();
+        /* Done */
+        NextTok ();
     }
 }
 
@@ -1159,10 +1159,10 @@ static void DoI16 (void)
 /* Switch the index registers to 16 bit mode (assembler only) */
 {
     if (GetCPU() != CPU_65816) {
-       Error ("Command is only valid in 65816 mode");
+        Error ("Command is only valid in 65816 mode");
     } else {
-               /* Immidiate mode has two extension bytes */
-       ExtBytes [AM65I_IMM_INDEX] = 2;
+        /* Immidiate mode has two extension bytes */
+        ExtBytes [AM65I_IMM_INDEX] = 2;
     }
 }
 
@@ -1172,10 +1172,10 @@ static void DoI8 (void)
 /* Switch the index registers to 16 bit mode (assembler only) */
 {
     if (GetCPU() != CPU_65816) {
-       Error ("Command is only valid in 65816 mode");
+        Error ("Command is only valid in 65816 mode");
     } else {
-       /* Immidiate mode has one extension byte */
-       ExtBytes [AM65I_IMM_INDEX] = 1;
+        /* Immidiate mode has one extension byte */
+        ExtBytes [AM65I_IMM_INDEX] = 1;
     }
 }
 
@@ -1209,8 +1209,8 @@ static void DoIncBin (void)
 
     /* Name must follow */
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
-       return;
+        ErrorSkip ("String constant expected");
+        return;
     }
     SB_Copy (&Name, &CurTok.SVal);
     SB_Terminate (&Name);
@@ -1218,14 +1218,14 @@ static void DoIncBin (void)
 
     /* A starting offset may follow */
     if (CurTok.Tok == TOK_COMMA) {
-       NextTok ();
-       Start = ConstExpression ();
+        NextTok ();
+        Start = ConstExpression ();
 
-       /* And a length may follow */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextTok ();
-           Count = ConstExpression ();
-       }
+        /* And a length may follow */
+        if (CurTok.Tok == TOK_COMMA) {
+            NextTok ();
+            Count = ConstExpression ();
+        }
 
     }
 
@@ -1233,20 +1233,20 @@ static void DoIncBin (void)
     F = fopen (SB_GetConstBuf (&Name), "rb");
     if (F == 0) {
 
-               /* Search for the file in the binary include directory */
-       char* PathName = SearchFile (BinSearchPath, SB_GetConstBuf (&Name));
-               if (PathName == 0 || (F = fopen (PathName, "rb")) == 0) {
-           /* Not found or cannot open, print an error and bail out */
-                   ErrorSkip ("Cannot open include file `%m%p': %s", &Name, strerror (errno));
+        /* Search for the file in the binary include directory */
+        char* PathName = SearchFile (BinSearchPath, SB_GetConstBuf (&Name));
+        if (PathName == 0 || (F = fopen (PathName, "rb")) == 0) {
+            /* Not found or cannot open, print an error and bail out */
+            ErrorSkip ("Cannot open include file `%m%p': %s", &Name, strerror (errno));
             xfree (PathName);
             goto ExitPoint;
-       }
+        }
 
         /* Remember the new file name */
         SB_CopyStr (&Name, PathName);
 
-       /* Free the allocated memory */
-       xfree (PathName);
+        /* Free the allocated memory */
+        xfree (PathName);
     }
 
     /* Get the size of the file */
@@ -1271,18 +1271,18 @@ static void DoIncBin (void)
 
     /* If a count was not given, calculate it now */
     if (Count < 0) {
-       Count = Size - Start;
-       if (Count < 0) {
-           /* Nothing to read - flag this as a range error */
-           ErrorSkip ("Range error");
-           goto Done;
-       }
+        Count = Size - Start;
+        if (Count < 0) {
+            /* Nothing to read - flag this as a range error */
+            ErrorSkip ("Range error");
+            goto Done;
+        }
     } else {
-       /* Count was given, check if it is valid */
-       if (Start + Count > Size) {
-           ErrorSkip ("Range error");
-           goto Done;
-       }
+        /* Count was given, check if it is valid */
+        if (Start + Count > Size) {
+            ErrorSkip ("Range error");
+            goto Done;
+        }
     }
 
     /* Seek to the start position */
@@ -1291,25 +1291,25 @@ static void DoIncBin (void)
     /* Read chunks and insert them into the output */
     while (Count > 0) {
 
-       unsigned char Buf [1024];
+        unsigned char Buf [1024];
 
-       /* Calculate the number of bytes to read */
-               size_t BytesToRead = (Count > (long)sizeof(Buf))? sizeof(Buf) : (size_t) Count;
+        /* Calculate the number of bytes to read */
+        size_t BytesToRead = (Count > (long)sizeof(Buf))? sizeof(Buf) : (size_t) Count;
 
-       /* Read chunk */
-       size_t BytesRead = fread (Buf, 1, BytesToRead, F);
-       if (BytesToRead != BytesRead) {
-           /* Some sort of error */
-           ErrorSkip ("Cannot read from include file `%m%p': %s",
+        /* Read chunk */
+        size_t BytesRead = fread (Buf, 1, BytesToRead, F);
+        if (BytesToRead != BytesRead) {
+            /* Some sort of error */
+            ErrorSkip ("Cannot read from include file `%m%p': %s",
                        &Name, strerror (errno));
-           break;
-       }
+            break;
+        }
 
-       /* Insert it into the output */
-       EmitData (Buf, BytesRead);
+        /* Insert it into the output */
+        EmitData (Buf, BytesRead);
 
-       /* Keep the counters current */
-       Count -= BytesRead;
+        /* Keep the counters current */
+        Count -= BytesRead;
     }
 
 Done:
@@ -1328,10 +1328,10 @@ static void DoInclude (void)
 {
     /* Name must follow */
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
         SB_Terminate (&CurTok.SVal);
-       if (NewInputFile (SB_GetConstBuf (&CurTok.SVal)) == 0) {
+        if (NewInputFile (SB_GetConstBuf (&CurTok.SVal)) == 0) {
             /* Error opening the file, skip remainder of line */
             SkipUntilSep ();
         }
@@ -1347,8 +1347,8 @@ static void DoInterruptor (void)
 
     /* Symbol name follows */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
-       return;
+        ErrorSkip ("Identifier expected");
+        return;
     }
     SB_Copy (&Name, &CurTok.SVal);
     NextTok ();
@@ -1393,9 +1393,9 @@ static void DoList (void)
 
     /* Manage the counter */
     if (List) {
-       EnableListing ();
+        EnableListing ();
     } else {
-       DisableListing ();
+        DisableListing ();
     }
 }
 
@@ -1427,14 +1427,14 @@ static void DoLocalChar (void)
 /* Define the character that starts local labels */
 {
     if (CurTok.Tok != TOK_CHARCON) {
-       ErrorSkip ("Character constant expected");
+        ErrorSkip ("Character constant expected");
     } else {
-       if (CurTok.IVal != '@' && CurTok.IVal != '?') {
-           Error ("Invalid start character for locals");
-       } else {
-           LocalStart = (char) CurTok.IVal;
-               }
-       NextTok ();
+        if (CurTok.IVal != '@' && CurTok.IVal != '?') {
+            Error ("Invalid start character for locals");
+        } else {
+            LocalStart = (char) CurTok.IVal;
+        }
+        NextTok ();
     }
 }
 
@@ -1445,11 +1445,11 @@ static void DoMacPack (void)
 {
     /* We expect an identifier */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
+        ErrorSkip ("Identifier expected");
     } else {
         SB_AppendStr (&CurTok.SVal, ".mac");
         SB_Terminate (&CurTok.SVal);
-       if (NewInputFile (SB_GetConstBuf (&CurTok.SVal)) == 0) {
+        if (NewInputFile (SB_GetConstBuf (&CurTok.SVal)) == 0) {
             /* Error opening the file, skip remainder of line */
             SkipUntilSep ();
         }
@@ -1479,8 +1479,8 @@ static void DoOrg (void)
 {
     long PC = ConstExpression ();
     if (PC < 0 || PC > 0xFFFFFF) {
-       Error ("Range error");
-       return;
+        Error ("Range error");
+        return;
     }
     EnterAbsoluteMode (PC);
 }
@@ -1491,16 +1491,16 @@ static void DoOut (void)
 /* Output a string */
 {
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
-       /* Output the string and be sure to flush the output to keep it in
-        * sync with any error messages if the output is redirected to a file.
-        */
-       printf ("%.*s\n",
+        /* Output the string and be sure to flush the output to keep it in
+         * sync with any error messages if the output is redirected to a file.
+         */
+        printf ("%.*s\n",
                 (int) SB_GetLen (&CurTok.SVal),
                 SB_GetConstBuf (&CurTok.SVal));
-       fflush (stdout);
-       NextTok ();
+        fflush (stdout);
+        NextTok ();
     }
 }
 
@@ -1586,11 +1586,11 @@ static void DoProc (void)
 
     if (CurTok.Tok == TOK_IDENT) {
 
-       /* The new scope has a name. Remember it. */
+        /* The new scope has a name. Remember it. */
         SB_Copy (&Name, &CurTok.SVal);
 
         /* Search for the symbol, generate a new one if needed */
-               Sym = SymFind (CurrentScope, &Name, SYM_ALLOC_NEW);
+        Sym = SymFind (CurrentScope, &Name, SYM_ALLOC_NEW);
 
         /* Skip the scope name */
         NextTok ();
@@ -1599,7 +1599,7 @@ static void DoProc (void)
         AddrSize = OptionalAddrSize ();
 
         /* Mark the symbol as defined */
-       SymDef (Sym, GenCurrentPC (), AddrSize, SF_LABEL);
+        SymDef (Sym, GenCurrentPC (), AddrSize, SF_LABEL);
 
     } else {
 
@@ -1681,26 +1681,26 @@ static void DoRes (void)
 
     Count = ConstExpression ();
     if (Count > 0xFFFF || Count < 0) {
-       ErrorSkip ("Range error");
-       return;
+        ErrorSkip ("Range error");
+        return;
     }
     if (CurTok.Tok == TOK_COMMA) {
-       NextTok ();
-       Val = ConstExpression ();
-       /* We need a byte value here */
-       if (!IsByteRange (Val)) {
-                   ErrorSkip ("Range error");
-           return;
-       }
-
-       /* Emit constant values */
-       while (Count--) {
-           Emit0 ((unsigned char) Val);
-       }
+        NextTok ();
+        Val = ConstExpression ();
+        /* We need a byte value here */
+        if (!IsByteRange (Val)) {
+            ErrorSkip ("Range error");
+            return;
+        }
+
+        /* Emit constant values */
+        while (Count--) {
+            Emit0 ((unsigned char) Val);
+        }
 
     } else {
-       /* Emit fill fragments */
-       EmitFill (Count);
+        /* Emit fill fragments */
+        EmitFill (Count);
     }
 }
 
@@ -1723,7 +1723,7 @@ static void DoScope (void)
 
     if (CurTok.Tok == TOK_IDENT) {
 
-       /* The new scope has a name. Remember and skip it. */
+        /* The new scope has a name. Remember and skip it. */
         SB_Copy (&Name, &CurTok.SVal);
         NextTok ();
 
@@ -1753,22 +1753,22 @@ static void DoSegment (void)
     SegDef Def;
 
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
 
-       /* Save the name of the segment and skip it */
-       SB_Copy (&Name, &CurTok.SVal);
-       NextTok ();
+        /* Save the name of the segment and skip it */
+        SB_Copy (&Name, &CurTok.SVal);
+        NextTok ();
 
         /* Use the name for the segment definition */
         SB_Terminate (&Name);
         Def.Name = SB_GetBuf (&Name);
 
-       /* Check for an optional address size modifier */
+        /* Check for an optional address size modifier */
         Def.AddrSize = OptionalAddrSize ();
 
-       /* Set the segment */
-       UseSeg (&Def);
+        /* Set the segment */
+        UseSeg (&Def);
     }
 
     /* Free memory for Name */
@@ -1782,7 +1782,7 @@ static void DoSetCPU (void)
 {
     /* We expect an identifier */
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
         cpu_t CPU;
 
@@ -1879,7 +1879,7 @@ static void DoUnDef (void)
 
     /* We expect an identifier */
     if (CurTok.Tok != TOK_IDENT) {
-       ErrorSkip ("Identifier expected");
+        ErrorSkip ("Identifier expected");
     } else {
         MacUndef (&CurTok.SVal, MAC_STYLE_DEFINE);
         NextTok ();
@@ -1901,10 +1901,10 @@ static void DoWarning (void)
 /* User warning */
 {
     if (CurTok.Tok != TOK_STRCON) {
-       ErrorSkip ("String constant expected");
+        ErrorSkip ("String constant expected");
     } else {
-               Warning (0, "User warning: %m%p", &CurTok.SVal);
-       SkipUntilSep ();
+        Warning (0, "User warning: %m%p", &CurTok.SVal);
+        SkipUntilSep ();
     }
 }
 
@@ -1922,12 +1922,12 @@ static void DoWord (void)
 
     /* Parse arguments */
     while (1) {
-               EmitWord (BoundedExpr (Expression, 2));
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       } else {
-           NextTok ();
-       }
+        EmitWord (BoundedExpr (Expression, 2));
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        } else {
+            NextTok ();
+        }
     }
 
     /* Close the span, then add type information to it */
@@ -1949,167 +1949,167 @@ static void DoZeropage (void)
 
 
 /*****************************************************************************/
-/*                               Table data                                 */
+/*                                Table data                                 */
 /*****************************************************************************/
 
 
 
 /* Control commands flags */
 enum {
-    ccNone     = 0x0000,               /* No special flags */
-    ccKeepToken        = 0x0001                /* Do not skip the current token */
+    ccNone      = 0x0000,               /* No special flags */
+    ccKeepToken = 0x0001                /* Do not skip the current token */
 };
 
 /* Control command table */
 typedef struct CtrlDesc CtrlDesc;
 struct CtrlDesc {
-    unsigned           Flags;                  /* Flags for this directive */
-    void               (*Handler) (void);      /* Command handler */
+    unsigned    Flags;                  /* Flags for this directive */
+    void        (*Handler) (void);      /* Command handler */
 };
 
-#define PSEUDO_COUNT   (sizeof (CtrlCmdTab) / sizeof (CtrlCmdTab [0]))
+#define PSEUDO_COUNT    (sizeof (CtrlCmdTab) / sizeof (CtrlCmdTab [0]))
 static CtrlDesc CtrlCmdTab [] = {
-    { ccNone,          DoA16           },
-    { ccNone,          DoA8            },
-    { ccNone,          DoAddr          },      /* .ADDR */
-    { ccNone,          DoAlign         },
-    { ccNone,          DoASCIIZ        },
+    { ccNone,           DoA16           },
+    { ccNone,           DoA8            },
+    { ccNone,           DoAddr          },      /* .ADDR */
+    { ccNone,           DoAlign         },
+    { ccNone,           DoASCIIZ        },
     { ccNone,           DoAssert        },
-    { ccNone,          DoAutoImport    },
+    { ccNone,           DoAutoImport    },
     { ccNone,           DoUnexpected    },      /* .BANK */
-    { ccNone,          DoUnexpected    },      /* .BANKBYTE */
+    { ccNone,           DoUnexpected    },      /* .BANKBYTE */
     { ccNone,           DoBankBytes     },
-    { ccNone,          DoUnexpected    },      /* .BLANK */
-    { ccNone,          DoBss           },
-    { ccNone,          DoByte          },
-    { ccNone,          DoCase          },
-    { ccNone,                  DoCharMap       },
-    { ccNone,          DoCode          },
-    { ccNone,          DoUnexpected,   },      /* .CONCAT */
-    { ccNone,          DoConDes        },
-    { ccNone,          DoUnexpected    },      /* .CONST */
-    { ccNone,          DoConstructor   },
-    { ccNone,          DoUnexpected    },      /* .CPU */
-    { ccNone,          DoData          },
-    { ccNone,          DoDbg,          },
-    { ccNone,          DoDByt          },
-    { ccNone,          DoDebugInfo     },
-    { ccNone,          DoDefine        },
-    { ccNone,          DoUnexpected    },      /* .DEFINED */
+    { ccNone,           DoUnexpected    },      /* .BLANK */
+    { ccNone,           DoBss           },
+    { ccNone,           DoByte          },
+    { ccNone,           DoCase          },
+    { ccNone,           DoCharMap       },
+    { ccNone,           DoCode          },
+    { ccNone,           DoUnexpected,   },      /* .CONCAT */
+    { ccNone,           DoConDes        },
+    { ccNone,           DoUnexpected    },      /* .CONST */
+    { ccNone,           DoConstructor   },
+    { ccNone,           DoUnexpected    },      /* .CPU */
+    { ccNone,           DoData          },
+    { ccNone,           DoDbg,          },
+    { ccNone,           DoDByt          },
+    { ccNone,           DoDebugInfo     },
+    { ccNone,           DoDefine        },
+    { ccNone,           DoUnexpected    },      /* .DEFINED */
     { ccNone,           DoDelMac        },
-    { ccNone,          DoDestructor    },
-    { ccNone,          DoDWord         },
-    { ccKeepToken,     DoConditionals  },      /* .ELSE */
-    { ccKeepToken,     DoConditionals  },      /* .ELSEIF */
-    { ccKeepToken,             DoEnd           },
+    { ccNone,           DoDestructor    },
+    { ccNone,           DoDWord         },
+    { ccKeepToken,      DoConditionals  },      /* .ELSE */
+    { ccKeepToken,      DoConditionals  },      /* .ELSEIF */
+    { ccKeepToken,      DoEnd           },
     { ccNone,           DoUnexpected    },      /* .ENDENUM */
-    { ccKeepToken,     DoConditionals  },      /* .ENDIF */
-    { ccNone,          DoUnexpected    },      /* .ENDMACRO */
-    { ccNone,          DoEndProc       },
-    { ccNone,          DoUnexpected    },      /* .ENDREPEAT */
+    { ccKeepToken,      DoConditionals  },      /* .ENDIF */
+    { ccNone,           DoUnexpected    },      /* .ENDMACRO */
+    { ccNone,           DoEndProc       },
+    { ccNone,           DoUnexpected    },      /* .ENDREPEAT */
     { ccNone,           DoEndScope      },
     { ccNone,           DoUnexpected    },      /* .ENDSTRUCT */
     { ccNone,           DoUnexpected    },      /* .ENDUNION */
     { ccNone,           DoEnum          },
-    { ccNone,          DoError         },
-    { ccNone,          DoExitMacro     },
-    { ccNone,          DoExport        },
-    { ccNone,          DoExportZP      },
-    { ccNone,          DoFarAddr       },
-    { ccNone,                  DoFatal         },
-    { ccNone,          DoFeature       },
-    { ccNone,          DoFileOpt       },
+    { ccNone,           DoError         },
+    { ccNone,           DoExitMacro     },
+    { ccNone,           DoExport        },
+    { ccNone,           DoExportZP      },
+    { ccNone,           DoFarAddr       },
+    { ccNone,           DoFatal         },
+    { ccNone,           DoFeature       },
+    { ccNone,           DoFileOpt       },
     { ccNone,           DoForceImport   },
-    { ccNone,          DoUnexpected    },      /* .FORCEWORD */
-    { ccNone,          DoGlobal        },
-    { ccNone,          DoGlobalZP      },
-    { ccNone,          DoUnexpected    },      /* .HIBYTE */
+    { ccNone,           DoUnexpected    },      /* .FORCEWORD */
+    { ccNone,           DoGlobal        },
+    { ccNone,           DoGlobalZP      },
+    { ccNone,           DoUnexpected    },      /* .HIBYTE */
     { ccNone,           DoHiBytes       },
-    { ccNone,          DoUnexpected    },      /* .HIWORD */
-    { ccNone,          DoI16           },
-    { ccNone,          DoI8            },
+    { ccNone,           DoUnexpected    },      /* .HIWORD */
+    { ccNone,           DoI16           },
+    { ccNone,           DoI8            },
     { ccNone,           DoUnexpected    },      /* .IDENT */
-    { ccKeepToken,     DoConditionals  },      /* .IF */
-    { ccKeepToken,     DoConditionals  },      /* .IFBLANK */
-    { ccKeepToken,     DoConditionals  },      /* .IFCONST */
-    { ccKeepToken,     DoConditionals  },      /* .IFDEF */
-    { ccKeepToken,             DoConditionals  },      /* .IFNBLANK */
-    { ccKeepToken,     DoConditionals  },      /* .IFNCONST */
-    { ccKeepToken,     DoConditionals  },      /* .IFNDEF */
-    { ccKeepToken,     DoConditionals  },      /* .IFNREF */
-    { ccKeepToken,     DoConditionals  },      /* .IFP02 */
-    { ccKeepToken,     DoConditionals  },      /* .IFP816 */
-    { ccKeepToken,     DoConditionals  },      /* .IFPC02 */
-    { ccKeepToken,     DoConditionals  },      /* .IFPSC02 */
-    { ccKeepToken,     DoConditionals  },      /* .IFREF */
-    { ccNone,          DoImport        },
-    { ccNone,          DoImportZP      },
-    { ccNone,          DoIncBin        },
-    { ccNone,          DoInclude       },
+    { ccKeepToken,      DoConditionals  },      /* .IF */
+    { ccKeepToken,      DoConditionals  },      /* .IFBLANK */
+    { ccKeepToken,      DoConditionals  },      /* .IFCONST */
+    { ccKeepToken,      DoConditionals  },      /* .IFDEF */
+    { ccKeepToken,      DoConditionals  },      /* .IFNBLANK */
+    { ccKeepToken,      DoConditionals  },      /* .IFNCONST */
+    { ccKeepToken,      DoConditionals  },      /* .IFNDEF */
+    { ccKeepToken,      DoConditionals  },      /* .IFNREF */
+    { ccKeepToken,      DoConditionals  },      /* .IFP02 */
+    { ccKeepToken,      DoConditionals  },      /* .IFP816 */
+    { ccKeepToken,      DoConditionals  },      /* .IFPC02 */
+    { ccKeepToken,      DoConditionals  },      /* .IFPSC02 */
+    { ccKeepToken,      DoConditionals  },      /* .IFREF */
+    { ccNone,           DoImport        },
+    { ccNone,           DoImportZP      },
+    { ccNone,           DoIncBin        },
+    { ccNone,           DoInclude       },
     { ccNone,           DoInterruptor   },
-    { ccNone,          DoInvalid       },      /* .LEFT */
-    { ccNone,          DoLineCont      },
-    { ccNone,          DoList          },
-    { ccNone,                  DoListBytes     },
-    { ccNone,          DoUnexpected    },      /* .LOBYTE */
+    { ccNone,           DoInvalid       },      /* .LEFT */
+    { ccNone,           DoLineCont      },
+    { ccNone,           DoList          },
+    { ccNone,           DoListBytes     },
+    { ccNone,           DoUnexpected    },      /* .LOBYTE */
     { ccNone,           DoLoBytes       },
-    { ccNone,          DoUnexpected    },      /* .LOCAL */
-    { ccNone,          DoLocalChar     },
-    { ccNone,          DoUnexpected    },      /* .LOWORD */
-    { ccNone,          DoMacPack       },
-    { ccNone,          DoMacro         },
-    { ccNone,                  DoUnexpected    },      /* .MATCH */
-    { ccNone,                  DoUnexpected    },      /* .MAX */
-    { ccNone,                  DoInvalid       },      /* .MID */
-    { ccNone,                  DoUnexpected    },      /* .MIN */
-    { ccNone,          DoNull          },
-    { ccNone,          DoOrg           },
-    { ccNone,          DoOut           },
-    { ccNone,          DoP02           },
-    { ccNone,          DoP816          },
-    { ccNone,                  DoPageLength    },
-    { ccNone,          DoUnexpected    },      /* .PARAMCOUNT */
-    { ccNone,          DoPC02          },
+    { ccNone,           DoUnexpected    },      /* .LOCAL */
+    { ccNone,           DoLocalChar     },
+    { ccNone,           DoUnexpected    },      /* .LOWORD */
+    { ccNone,           DoMacPack       },
+    { ccNone,           DoMacro         },
+    { ccNone,           DoUnexpected    },      /* .MATCH */
+    { ccNone,           DoUnexpected    },      /* .MAX */
+    { ccNone,           DoInvalid       },      /* .MID */
+    { ccNone,           DoUnexpected    },      /* .MIN */
+    { ccNone,           DoNull          },
+    { ccNone,           DoOrg           },
+    { ccNone,           DoOut           },
+    { ccNone,           DoP02           },
+    { ccNone,           DoP816          },
+    { ccNone,           DoPageLength    },
+    { ccNone,           DoUnexpected    },      /* .PARAMCOUNT */
+    { ccNone,           DoPC02          },
     { ccNone,           DoPopCPU        },
     { ccNone,           DoPopSeg        },
-    { ccNone,          DoProc          },
-    { ccNone,                  DoPSC02         },
+    { ccNone,           DoProc          },
+    { ccNone,           DoPSC02         },
     { ccNone,           DoPushCPU       },
     { ccNone,           DoPushSeg       },
-    { ccNone,          DoUnexpected    },      /* .REFERENCED */
-    { ccNone,          DoReloc         },
-    { ccNone,          DoRepeat        },
-    { ccNone,          DoRes           },
-    { ccNone,          DoInvalid       },      /* .RIGHT */
-    { ccNone,          DoROData        },
+    { ccNone,           DoUnexpected    },      /* .REFERENCED */
+    { ccNone,           DoReloc         },
+    { ccNone,           DoRepeat        },
+    { ccNone,           DoRes           },
+    { ccNone,           DoInvalid       },      /* .RIGHT */
+    { ccNone,           DoROData        },
     { ccNone,           DoScope         },
-    { ccNone,          DoSegment       },
+    { ccNone,           DoSegment       },
     { ccNone,           DoUnexpected    },      /* .SET */
-    { ccNone,                  DoSetCPU        },
+    { ccNone,           DoSetCPU        },
     { ccNone,           DoUnexpected    },      /* .SIZEOF */
-    { ccNone,          DoSmart         },
+    { ccNone,           DoSmart         },
     { ccNone,           DoUnexpected    },      /* .SPRINTF */
-    { ccNone,          DoUnexpected    },      /* .STRAT */
-    { ccNone,                  DoUnexpected    },      /* .STRING */
-    { ccNone,          DoUnexpected    },      /* .STRLEN */
+    { ccNone,           DoUnexpected    },      /* .STRAT */
+    { ccNone,           DoUnexpected    },      /* .STRING */
+    { ccNone,           DoUnexpected    },      /* .STRLEN */
     { ccNone,           DoStruct        },
-    { ccNone,          DoSunPlus       },
+    { ccNone,           DoSunPlus       },
     { ccNone,           DoTag           },
-    { ccNone,          DoUnexpected    },      /* .TCOUNT */
-    { ccNone,                  DoUnexpected    },      /* .TIME */
+    { ccNone,           DoUnexpected    },      /* .TCOUNT */
+    { ccNone,           DoUnexpected    },      /* .TIME */
     { ccKeepToken,      DoUnDef         },
     { ccNone,           DoUnion         },
     { ccNone,           DoUnexpected    },      /* .VERSION */
-    { ccNone,          DoWarning       },
-    { ccNone,          DoWord          },
-    { ccNone,                  DoUnexpected    },      /* .XMATCH */
-    { ccNone,          DoZeropage      },
+    { ccNone,           DoWarning       },
+    { ccNone,           DoWord          },
+    { ccNone,           DoUnexpected    },      /* .XMATCH */
+    { ccNone,           DoZeropage      },
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -2124,8 +2124,8 @@ void HandlePseudo (void)
 
     /* Safety check */
     if (PSEUDO_COUNT != (TOK_LASTPSEUDO - TOK_FIRSTPSEUDO + 1)) {
-       Internal ("Pseudo mismatch: PSEUDO_COUNT = %u, actual count = %u\n",
-                         (unsigned) PSEUDO_COUNT, TOK_LASTPSEUDO - TOK_FIRSTPSEUDO + 1);
+        Internal ("Pseudo mismatch: PSEUDO_COUNT = %u, actual count = %u\n",
+                  (unsigned) PSEUDO_COUNT, TOK_LASTPSEUDO - TOK_FIRSTPSEUDO + 1);
     }
     CHECK (Index < PSEUDO_COUNT);
 
@@ -2134,8 +2134,8 @@ void HandlePseudo (void)
 
     /* Remember the instruction, then skip it if needed */
     if ((D->Flags & ccKeepToken) == 0) {
-       SB_Copy (&Keyword, &CurTok.SVal);
-       NextTok ();
+        SB_Copy (&Keyword, &CurTok.SVal);
+        NextTok ();
     }
 
     /* Call the handler */
index ba26368255eecdeed78443ddef9fd9dd30a56e98..006b2790987fc2a3082f4cc8c5ecab2e6ea5917e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                pseudo.h                                  */
+/*                                 pseudo.h                                  */
 /*                                                                           */
-/*             Pseudo instructions for the ca65 macroassembler              */
+/*              Pseudo instructions for the ca65 macroassembler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d433d31366b0a54a2df7ea0712a6b796d29091df..915c8a78f9a5a35da67f1f5ab74050b6333296b5 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                repeat.c                                  */
+/*                                 repeat.c                                  */
 /*                                                                           */
-/*                  Handle the .REPEAT pseudo instruction                   */
+/*                   Handle the .REPEAT pseudo instruction                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -65,25 +65,25 @@ static TokList* CollectRepeatTokens (void)
     unsigned Repeats = 0;
     while (Repeats != 0 || CurTok.Tok != TOK_ENDREP) {
 
-       /* Check for end of input */
-               if (CurTok.Tok == TOK_EOF) {
-           Error ("Unexpected end of file");
-           FreeTokList (List);
-           return 0;
-       }
-
-               /* Collect all tokens in the list */
-       AddCurTok (List);
-
-       /* Check for and count nested .REPEATs */
-       if (CurTok.Tok == TOK_REPEAT) {
-           ++Repeats;
-       } else if (CurTok.Tok == TOK_ENDREP) {
-           --Repeats;
-       }
-
-               /* Get the next token */
-       NextTok ();
+        /* Check for end of input */
+        if (CurTok.Tok == TOK_EOF) {
+            Error ("Unexpected end of file");
+            FreeTokList (List);
+            return 0;
+        }
+
+        /* Collect all tokens in the list */
+        AddCurTok (List);
+
+        /* Check for and count nested .REPEATs */
+        if (CurTok.Tok == TOK_REPEAT) {
+            ++Repeats;
+        } else if (CurTok.Tok == TOK_ENDREP) {
+            --Repeats;
+        }
+
+        /* Get the next token */
+        NextTok ();
     }
 
     /* Eat the closing .ENDREP */
@@ -103,9 +103,9 @@ static void RepeatTokenCheck (TokList* L)
     if (CurTok.Tok == TOK_IDENT &&
         L->Data != 0            &&
         SB_CompareStr (&CurTok.SVal, L->Data) == 0) {
-       /* Must replace by the repeat counter */
-       CurTok.Tok  = TOK_INTCON;
-       CurTok.IVal = L->RepCount;
+        /* Must replace by the repeat counter */
+        CurTok.Tok  = TOK_INTCON;
+        CurTok.IVal = L->RepCount;
     }
 }
 
@@ -120,26 +120,26 @@ void ParseRepeat (void)
     /* Repeat count follows */
     long RepCount = ConstExpression ();
     if (RepCount < 0) {
-       Error ("Range error");
-       RepCount = 0;
+        Error ("Range error");
+        RepCount = 0;
     }
 
     /* Optional there is a comma and a counter variable */
     Name = 0;
     if (CurTok.Tok == TOK_COMMA) {
 
-               /* Skip the comma */
-               NextTok ();
+        /* Skip the comma */
+        NextTok ();
 
-               /* Check for an identifier */
-               if (CurTok.Tok != TOK_IDENT) {
-                   ErrorSkip ("Identifier expected");
-               } else {
-                   /* Remember the name and skip it */
+        /* Check for an identifier */
+        if (CurTok.Tok != TOK_IDENT) {
+            ErrorSkip ("Identifier expected");
+        } else {
+            /* Remember the name and skip it */
             SB_Terminate (&CurTok.SVal);
-                   Name = xstrdup (SB_GetConstBuf (&CurTok.SVal));
-                   NextTok ();
-               }
+            Name = xstrdup (SB_GetConstBuf (&CurTok.SVal));
+            NextTok ();
+        }
     }
 
     /* Switch to raw token mode, then skip the separator */
@@ -151,8 +151,8 @@ void ParseRepeat (void)
 
     /* If we had an error, bail out */
     if (List == 0) {
-       xfree (Name);
-               goto Done;
+        xfree (Name);
+        goto Done;
     }
 
     /* Update the token list for replay */
@@ -164,8 +164,8 @@ void ParseRepeat (void)
      * to repeat.
      */
     if (List->Count == 0 || RepCount == 0) {
-       FreeTokList (List);
-       goto Done;
+        FreeTokList (List);
+        goto Done;
     }
 
     /* Read input from the repeat descriptor */
index 8bb5d3ec8e0906d5eec04674e18e32ad03dcec89..1cdccc0e370e547096c544aacff3bf627601babd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                repeat.h                                  */
+/*                                 repeat.h                                  */
 /*                                                                           */
-/*                  Handle the .REPEAT pseudo instruction                   */
+/*                   Handle the .REPEAT pseudo instruction                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f99876c33edb90a34fb8dcc0b041a01f817ebf33..aadb91d5442f97b209a5c4f9e0a6cbb353c3f702 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.c                                 */
+/*                                 scanner.c                                 */
 /*                                                                           */
-/*                 The scanner for the ca65 macroassembler                  */
+/*                  The scanner for the ca65 macroassembler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -64,7 +64,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -75,25 +75,25 @@ Token CurTok = STATIC_TOKEN_INITIALIZER;
 /* Struct to handle include files. */
 typedef struct InputFile InputFile;
 struct InputFile {
-    FILE*                  F;                  /* Input file descriptor */
-    FilePos        Pos;                /* Position in file */
-    token_t         Tok;               /* Last token */
-    int                    C;                  /* Last character */
+    FILE*           F;                  /* Input file descriptor */
+    FilePos         Pos;                /* Position in file */
+    token_t         Tok;                /* Last token */
+    int             C;                  /* Last character */
     StrBuf          Line;               /* The current input line */
     int             IncSearchPath;      /* True if we've added a search path */
     int             BinSearchPath;      /* True if we've added a search path */
-    InputFile*             Next;               /* Linked list of input files */
+    InputFile*      Next;               /* Linked list of input files */
 };
 
 /* Struct to handle textual input data */
 typedef struct InputData InputData;
 struct InputData {
-    char*                  Text;               /* Pointer to the text data */
-    const char*     Pos;               /* Pointer to current position */
-    int                    Malloced;           /* Memory was malloced */
-    token_t         Tok;               /* Last token */
-    int                    C;                  /* Last character */
-    InputData*             Next;               /* Linked list of input data */
+    char*           Text;               /* Pointer to the text data */
+    const char*     Pos;                /* Pointer to current position */
+    int             Malloced;           /* Memory was malloced */
+    token_t         Tok;                /* Last token */
+    int             C;                  /* Last character */
+    InputData*      Next;               /* Linked list of input data */
 };
 
 /* Input source: Either file or data */
@@ -110,8 +110,8 @@ struct CharSourceFunctions {
 /* Input source: Either file or data */
 struct CharSource {
     CharSource*                 Next;   /* Linked list of char sources */
-    token_t                     Tok;   /* Last token */
-    int                                C;      /* Last character */
+    token_t                     Tok;    /* Last token */
+    int                         C;      /* Last character */
     const CharSourceFunctions*  Func;   /* Pointer to function table */
     union {
         InputFile               File;   /* File data */
@@ -121,174 +121,174 @@ struct CharSource {
 
 /* Current input variables */
 static CharSource* Source       = 0;    /* Current char source */
-static unsigned           FCount       = 0;    /* Count of input files */
-static int        C            = 0;    /* Current input character */
+static unsigned    FCount       = 0;    /* Count of input files */
+static int         C            = 0;    /* Current input character */
 
 /* Force end of assembly */
-int              ForcedEnd     = 0;
+int               ForcedEnd     = 0;
 
 /* List of dot keywords with the corresponding tokens */
 struct DotKeyword {
-    const char*        Key;                    /* MUST be first field */
+    const char* Key;                    /* MUST be first field */
     token_t     Tok;
 } DotKeywords [] = {
-    { ".A16",                  TOK_A16         },
-    { ".A8",                   TOK_A8          },
-    { ".ADDR",                 TOK_ADDR        },
-    { ".ALIGN",                TOK_ALIGN       },
-    { ".AND",          TOK_BOOLAND     },
-    { ".ASCIIZ",               TOK_ASCIIZ      },
+    { ".A16",           TOK_A16         },
+    { ".A8",            TOK_A8          },
+    { ".ADDR",          TOK_ADDR        },
+    { ".ALIGN",         TOK_ALIGN       },
+    { ".AND",           TOK_BOOLAND     },
+    { ".ASCIIZ",        TOK_ASCIIZ      },
     { ".ASSERT",        TOK_ASSERT      },
-    { ".AUTOIMPORT",   TOK_AUTOIMPORT  },
+    { ".AUTOIMPORT",    TOK_AUTOIMPORT  },
     { ".BANK",          TOK_BANK        },
     { ".BANKBYTE",      TOK_BANKBYTE    },
     { ".BANKBYTES",     TOK_BANKBYTES   },
-    { ".BITAND",       TOK_AND         },
-    { ".BITNOT",       TOK_NOT         },
-    { ".BITOR",                TOK_OR          },
-    { ".BITXOR",       TOK_XOR         },
-    { ".BLANK",                TOK_BLANK       },
-    { ".BSS",                  TOK_BSS         },
-    { ".BYT",          TOK_BYTE        },
-    { ".BYTE",                 TOK_BYTE        },
-    { ".CASE",         TOK_CASE        },
-    { ".CHARMAP",      TOK_CHARMAP     },
-    { ".CODE",                 TOK_CODE        },
-    { ".CONCAT",               TOK_CONCAT      },
-    { ".CONDES",       TOK_CONDES      },
-    { ".CONST",        TOK_CONST       },
-    { ".CONSTRUCTOR",  TOK_CONSTRUCTOR },
-    { ".CPU",          TOK_CPU         },
-    { ".DATA",         TOK_DATA        },
-    { ".DBG",          TOK_DBG         },
-    { ".DBYT",         TOK_DBYT        },
-    { ".DEBUGINFO",    TOK_DEBUGINFO   },
-    { ".DEF",          TOK_DEFINED     },
-    { ".DEFINE",       TOK_DEFINE      },
-    { ".DEFINED",      TOK_DEFINED     },
+    { ".BITAND",        TOK_AND         },
+    { ".BITNOT",        TOK_NOT         },
+    { ".BITOR",         TOK_OR          },
+    { ".BITXOR",        TOK_XOR         },
+    { ".BLANK",         TOK_BLANK       },
+    { ".BSS",           TOK_BSS         },
+    { ".BYT",           TOK_BYTE        },
+    { ".BYTE",          TOK_BYTE        },
+    { ".CASE",          TOK_CASE        },
+    { ".CHARMAP",       TOK_CHARMAP     },
+    { ".CODE",          TOK_CODE        },
+    { ".CONCAT",        TOK_CONCAT      },
+    { ".CONDES",        TOK_CONDES      },
+    { ".CONST",         TOK_CONST       },
+    { ".CONSTRUCTOR",   TOK_CONSTRUCTOR },
+    { ".CPU",           TOK_CPU         },
+    { ".DATA",          TOK_DATA        },
+    { ".DBG",           TOK_DBG         },
+    { ".DBYT",          TOK_DBYT        },
+    { ".DEBUGINFO",     TOK_DEBUGINFO   },
+    { ".DEF",           TOK_DEFINED     },
+    { ".DEFINE",        TOK_DEFINE      },
+    { ".DEFINED",       TOK_DEFINED     },
     { ".DELMAC",        TOK_DELMAC      },
     { ".DELMACRO",      TOK_DELMAC      },
-    { ".DESTRUCTOR",   TOK_DESTRUCTOR  },
-    { ".DWORD",        TOK_DWORD       },
-    { ".ELSE",         TOK_ELSE        },
-    { ".ELSEIF",       TOK_ELSEIF      },
-    { ".END",          TOK_END         },
+    { ".DESTRUCTOR",    TOK_DESTRUCTOR  },
+    { ".DWORD",         TOK_DWORD       },
+    { ".ELSE",          TOK_ELSE        },
+    { ".ELSEIF",        TOK_ELSEIF      },
+    { ".END",           TOK_END         },
     { ".ENDENUM",       TOK_ENDENUM     },
-    { ".ENDIF",        TOK_ENDIF       },
-    { ".ENDMAC",       TOK_ENDMACRO    },
-    { ".ENDMACRO",     TOK_ENDMACRO    },
-    { ".ENDPROC",      TOK_ENDPROC     },
-    { ".ENDREP",       TOK_ENDREP      },
-    { ".ENDREPEAT",    TOK_ENDREP      },
+    { ".ENDIF",         TOK_ENDIF       },
+    { ".ENDMAC",        TOK_ENDMACRO    },
+    { ".ENDMACRO",      TOK_ENDMACRO    },
+    { ".ENDPROC",       TOK_ENDPROC     },
+    { ".ENDREP",        TOK_ENDREP      },
+    { ".ENDREPEAT",     TOK_ENDREP      },
     { ".ENDSCOPE",      TOK_ENDSCOPE    },
-    { ".ENDSTRUCT",    TOK_ENDSTRUCT   },
-    { ".ENDUNION",             TOK_ENDUNION    },
+    { ".ENDSTRUCT",     TOK_ENDSTRUCT   },
+    { ".ENDUNION",      TOK_ENDUNION    },
     { ".ENUM",          TOK_ENUM        },
-    { ".ERROR",        TOK_ERROR       },
-    { ".EXITMAC",      TOK_EXITMACRO   },
-    { ".EXITMACRO",    TOK_EXITMACRO   },
-    { ".EXPORT",       TOK_EXPORT      },
-    { ".EXPORTZP",     TOK_EXPORTZP    },
-    { ".FARADDR",      TOK_FARADDR     },
+    { ".ERROR",         TOK_ERROR       },
+    { ".EXITMAC",       TOK_EXITMACRO   },
+    { ".EXITMACRO",     TOK_EXITMACRO   },
+    { ".EXPORT",        TOK_EXPORT      },
+    { ".EXPORTZP",      TOK_EXPORTZP    },
+    { ".FARADDR",       TOK_FARADDR     },
     { ".FATAL",         TOK_FATAL       },
-    { ".FEATURE",      TOK_FEATURE     },
-    { ".FILEOPT",      TOK_FILEOPT     },
-    { ".FOPT",         TOK_FILEOPT     },
+    { ".FEATURE",       TOK_FEATURE     },
+    { ".FILEOPT",       TOK_FILEOPT     },
+    { ".FOPT",          TOK_FILEOPT     },
     { ".FORCEIMPORT",   TOK_FORCEIMPORT },
-    { ".FORCEWORD",    TOK_FORCEWORD   },
-    { ".GLOBAL",       TOK_GLOBAL      },
-    { ".GLOBALZP",     TOK_GLOBALZP    },
+    { ".FORCEWORD",     TOK_FORCEWORD   },
+    { ".GLOBAL",        TOK_GLOBAL      },
+    { ".GLOBALZP",      TOK_GLOBALZP    },
     { ".HIBYTE",        TOK_HIBYTE      },
     { ".HIBYTES",       TOK_HIBYTES     },
     { ".HIWORD",        TOK_HIWORD      },
-    { ".I16",          TOK_I16         },
-    { ".I8",           TOK_I8          },
+    { ".I16",           TOK_I16         },
+    { ".I8",            TOK_I8          },
     { ".IDENT",         TOK_MAKEIDENT   },
-    { ".IF",           TOK_IF          },
-    { ".IFBLANK",      TOK_IFBLANK     },
-    { ".IFCONST",      TOK_IFCONST     },
-    { ".IFDEF",        TOK_IFDEF       },
-    { ".IFNBLANK",     TOK_IFNBLANK    },
-    { ".IFNCONST",     TOK_IFNCONST    },
-    { ".IFNDEF",       TOK_IFNDEF      },
-    { ".IFNREF",       TOK_IFNREF      },
-    { ".IFP02",                TOK_IFP02       },
-    { ".IFP816",       TOK_IFP816      },
-    { ".IFPC02",       TOK_IFPC02      },
-    { ".IFPSC02",              TOK_IFPSC02     },
-    { ".IFREF",                TOK_IFREF       },
-    { ".IMPORT",       TOK_IMPORT      },
-    { ".IMPORTZP",     TOK_IMPORTZP    },
-    { ".INCBIN",       TOK_INCBIN      },
-    { ".INCLUDE",      TOK_INCLUDE     },
+    { ".IF",            TOK_IF          },
+    { ".IFBLANK",       TOK_IFBLANK     },
+    { ".IFCONST",       TOK_IFCONST     },
+    { ".IFDEF",         TOK_IFDEF       },
+    { ".IFNBLANK",      TOK_IFNBLANK    },
+    { ".IFNCONST",      TOK_IFNCONST    },
+    { ".IFNDEF",        TOK_IFNDEF      },
+    { ".IFNREF",        TOK_IFNREF      },
+    { ".IFP02",         TOK_IFP02       },
+    { ".IFP816",        TOK_IFP816      },
+    { ".IFPC02",        TOK_IFPC02      },
+    { ".IFPSC02",       TOK_IFPSC02     },
+    { ".IFREF",         TOK_IFREF       },
+    { ".IMPORT",        TOK_IMPORT      },
+    { ".IMPORTZP",      TOK_IMPORTZP    },
+    { ".INCBIN",        TOK_INCBIN      },
+    { ".INCLUDE",       TOK_INCLUDE     },
     { ".INTERRUPTOR",   TOK_INTERRUPTOR },
-    { ".LEFT",         TOK_LEFT        },
-    { ".LINECONT",     TOK_LINECONT    },
-    { ".LIST",         TOK_LIST        },
-    { ".LISTBYTES",    TOK_LISTBYTES   },
+    { ".LEFT",          TOK_LEFT        },
+    { ".LINECONT",      TOK_LINECONT    },
+    { ".LIST",          TOK_LIST        },
+    { ".LISTBYTES",     TOK_LISTBYTES   },
     { ".LOBYTE",        TOK_LOBYTE      },
     { ".LOBYTES",       TOK_LOBYTES     },
-    { ".LOCAL",                TOK_LOCAL       },
-    { ".LOCALCHAR",    TOK_LOCALCHAR   },
+    { ".LOCAL",         TOK_LOCAL       },
+    { ".LOCALCHAR",     TOK_LOCALCHAR   },
     { ".LOWORD",        TOK_LOWORD      },
-    { ".MAC",                  TOK_MACRO       },
-    { ".MACPACK",      TOK_MACPACK     },
-    { ".MACRO",                TOK_MACRO       },
-    { ".MATCH",                TOK_MATCH       },
+    { ".MAC",           TOK_MACRO       },
+    { ".MACPACK",       TOK_MACPACK     },
+    { ".MACRO",         TOK_MACRO       },
+    { ".MATCH",         TOK_MATCH       },
     { ".MAX",           TOK_MAX         },
-    { ".MID",          TOK_MID         },
+    { ".MID",           TOK_MID         },
     { ".MIN",           TOK_MIN         },
-    { ".MOD",          TOK_MOD         },
-    { ".NOT",          TOK_BOOLNOT     },
-    { ".NULL",         TOK_NULL        },
-    { ".OR",           TOK_BOOLOR      },
-    { ".ORG",                  TOK_ORG         },
-    { ".OUT",                  TOK_OUT         },
-    { ".P02",                  TOK_P02         },
-    { ".P816",                 TOK_P816        },
-    { ".PAGELEN",      TOK_PAGELENGTH  },
-    { ".PAGELENGTH",   TOK_PAGELENGTH  },
-    { ".PARAMCOUNT",   TOK_PARAMCOUNT  },
-    { ".PC02",                 TOK_PC02        },
+    { ".MOD",           TOK_MOD         },
+    { ".NOT",           TOK_BOOLNOT     },
+    { ".NULL",          TOK_NULL        },
+    { ".OR",            TOK_BOOLOR      },
+    { ".ORG",           TOK_ORG         },
+    { ".OUT",           TOK_OUT         },
+    { ".P02",           TOK_P02         },
+    { ".P816",          TOK_P816        },
+    { ".PAGELEN",       TOK_PAGELENGTH  },
+    { ".PAGELENGTH",    TOK_PAGELENGTH  },
+    { ".PARAMCOUNT",    TOK_PARAMCOUNT  },
+    { ".PC02",          TOK_PC02        },
     { ".POPCPU",        TOK_POPCPU      },
-    { ".POPSEG",       TOK_POPSEG      },
-    { ".PROC",                 TOK_PROC        },
-    { ".PSC02",                TOK_PSC02       },
+    { ".POPSEG",        TOK_POPSEG      },
+    { ".PROC",          TOK_PROC        },
+    { ".PSC02",         TOK_PSC02       },
     { ".PUSHCPU",       TOK_PUSHCPU     },
-    { ".PUSHSEG",              TOK_PUSHSEG     },
-    { ".REF",          TOK_REFERENCED  },
-    { ".REFERENCED",   TOK_REFERENCED  },
-    { ".RELOC",                TOK_RELOC       },
-    { ".REPEAT",       TOK_REPEAT      },
-    { ".RES",                  TOK_RES         },
-    { ".RIGHT",                TOK_RIGHT       },
-    { ".RODATA",       TOK_RODATA      },
+    { ".PUSHSEG",       TOK_PUSHSEG     },
+    { ".REF",           TOK_REFERENCED  },
+    { ".REFERENCED",    TOK_REFERENCED  },
+    { ".RELOC",         TOK_RELOC       },
+    { ".REPEAT",        TOK_REPEAT      },
+    { ".RES",           TOK_RES         },
+    { ".RIGHT",         TOK_RIGHT       },
+    { ".RODATA",        TOK_RODATA      },
     { ".SCOPE",         TOK_SCOPE       },
-    { ".SEGMENT",      TOK_SEGMENT     },
+    { ".SEGMENT",       TOK_SEGMENT     },
     { ".SET",           TOK_SET         },
-    { ".SETCPU",       TOK_SETCPU      },
-    { ".SHL",                  TOK_SHL         },
-    { ".SHR",                  TOK_SHR         },
+    { ".SETCPU",        TOK_SETCPU      },
+    { ".SHL",           TOK_SHL         },
+    { ".SHR",           TOK_SHR         },
     { ".SIZEOF",        TOK_SIZEOF      },
-    { ".SMART",                TOK_SMART       },
+    { ".SMART",         TOK_SMART       },
     { ".SPRINTF",       TOK_SPRINTF     },
-    { ".STRAT",                TOK_STRAT       },
-    { ".STRING",       TOK_STRING      },
-    { ".STRLEN",       TOK_STRLEN      },
+    { ".STRAT",         TOK_STRAT       },
+    { ".STRING",        TOK_STRING      },
+    { ".STRLEN",        TOK_STRLEN      },
     { ".STRUCT",        TOK_STRUCT      },
-    { ".SUNPLUS",      TOK_SUNPLUS     },
+    { ".SUNPLUS",       TOK_SUNPLUS     },
     { ".TAG",           TOK_TAG         },
-    { ".TCOUNT",       TOK_TCOUNT      },
-    { ".TIME",                 TOK_TIME        },
+    { ".TCOUNT",        TOK_TCOUNT      },
+    { ".TIME",          TOK_TIME        },
     { ".UNDEF",         TOK_UNDEF       },
     { ".UNDEFINE",      TOK_UNDEF       },
     { ".UNION",         TOK_UNION       },
     { ".VERSION",       TOK_VERSION     },
-    { ".WARNING",      TOK_WARNING     },
-    { ".WORD",                 TOK_WORD        },
-    { ".XMATCH",       TOK_XMATCH      },
-    { ".XOR",                  TOK_BOOLXOR     },
-    { ".ZEROPAGE",     TOK_ZEROPAGE    },
+    { ".WARNING",       TOK_WARNING     },
+    { ".WORD",          TOK_WORD        },
+    { ".XMATCH",        TOK_XMATCH      },
+    { ".XOR",           TOK_BOOLXOR     },
+    { ".ZEROPAGE",      TOK_ZEROPAGE    },
 };
 
 
@@ -307,7 +307,7 @@ static void UseCharSource (CharSource* S)
     S->C        = C;
 
     /* Use the new input source */
-    S->Next    = Source;
+    S->Next     = Source;
     Source      = S;
 
     /* Read the first character from the new file */
@@ -494,20 +494,20 @@ int NewInputFile (const char* Name)
         /* Main file */
         F = fopen (Name, "r");
         if (F == 0) {
-           Fatal ("Cannot open input file `%s': %s", Name, strerror (errno));
+            Fatal ("Cannot open input file `%s': %s", Name, strerror (errno));
         }
     } else {
-               /* We are on include level. Search for the file in the include
-        * directories.
-        */
-       PathName = SearchFile (IncSearchPath, Name);
-               if (PathName == 0 || (F = fopen (PathName, "r")) == 0) {
-           /* Not found or cannot open, print an error and bail out */
-           Error ("Cannot open include file `%s': %s", Name, strerror (errno));
+        /* We are on include level. Search for the file in the include
+         * directories.
+         */
+        PathName = SearchFile (IncSearchPath, Name);
+        if (PathName == 0 || (F = fopen (PathName, "r")) == 0) {
+            /* Not found or cannot open, print an error and bail out */
+            Error ("Cannot open include file `%s': %s", Name, strerror (errno));
             goto ExitPoint;
-       }
+        }
 
-               /* Use the path name from now on */
+        /* Use the path name from now on */
         Name = PathName;
     }
 
@@ -595,7 +595,7 @@ void IDDone (CharSource* S)
 {
     /* Cleanup the current stuff */
     if (S->V.Data.Malloced) {
-               xfree (S->V.Data.Text);
+        xfree (S->V.Data.Text);
     }
 }
 
@@ -629,7 +629,7 @@ void NewInputData (char* Text, int Malloced)
 
 
 /*****************************************************************************/
-/*                   Character classification functions                     */
+/*                    Character classification functions                     */
 /*****************************************************************************/
 
 
@@ -637,10 +637,10 @@ void NewInputData (char* Text, int Malloced)
 int IsIdChar (int C)
 /* Return true if the character is a valid character for an identifier */
 {
-    return IsAlNum (C)                         ||
-          (C == '_')                   ||
-          (C == '@' && AtInIdents)     ||
-          (C == '$' && DollarInIdents);
+    return IsAlNum (C)                  ||
+           (C == '_')                   ||
+           (C == '@' && AtInIdents)     ||
+           (C == '$' && DollarInIdents);
 }
 
 
@@ -654,7 +654,7 @@ int IsIdStart (int C)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -663,9 +663,9 @@ static unsigned DigitVal (unsigned char C)
 /* Convert a digit into it's numerical representation */
 {
     if (IsDigit (C)) {
-       return C - '0';
+        return C - '0';
     } else {
-               return toupper (C) - 'A' + 10;
+        return toupper (C) - 'A' + 10;
     }
 }
 
@@ -717,16 +717,16 @@ static token_t FindDotKeyword (void)
 
     /* If we aren't in ignore case mode, we have to uppercase the keyword */
     if (!IgnoreCase) {
-       UpcaseSVal ();
+        UpcaseSVal ();
     }
 
     /* Search for the keyword */
     R = bsearch (&K, DotKeywords, sizeof (DotKeywords) / sizeof (DotKeywords [0]),
-                sizeof (DotKeywords [0]), CmpDotKeyword);
+                 sizeof (DotKeywords [0]), CmpDotKeyword);
     if (R != 0) {
-       return R->Tok;
+        return R->Tok;
     } else {
-       return TOK_NONE;
+        return TOK_NONE;
     }
 }
 
@@ -742,13 +742,13 @@ static void ReadIdent (void)
     /* Read the identifier */
     do {
         SB_AppendChar (&CurTok.SVal, C);
-       NextChar ();
+        NextChar ();
     } while (IsIdChar (C));
     SB_Terminate (&CurTok.SVal);
 
     /* If we should ignore case, convert the identifier to upper case */
     if (IgnoreCase) {
-       UpcaseSVal ();
+        UpcaseSVal ();
     }
 }
 
@@ -762,19 +762,19 @@ static void ReadStringConst (int StringTerm)
 
     /* Read the string */
     while (1) {
-       if (C == StringTerm) {
-           break;
-       }
-       if (C == '\n' || C == EOF) {
-           Error ("Newline in string constant");
-           break;
-       }
-
-               /* Append the char to the string */
+        if (C == StringTerm) {
+            break;
+        }
+        if (C == '\n' || C == EOF) {
+            Error ("Newline in string constant");
+            break;
+        }
+
+        /* Append the char to the string */
         SB_AppendChar (&CurTok.SVal, C);
 
-       /* Skip the character */
-       NextChar ();
+        /* Skip the character */
+        NextChar ();
     }
 
     /* Skip the trailing terminator */
@@ -822,8 +822,8 @@ void NextRawTok (void)
 
     /* If we've a forced end of assembly, don't read further */
     if (ForcedEnd) {
-       CurTok.Tok = TOK_EOF;
-       return;
+        CurTok.Tok = TOK_EOF;
+        return;
     }
 
 Restart:
@@ -840,8 +840,8 @@ Restart:
 Again:
     /* Skip whitespace, remember if we had some */
     if ((CurTok.WS = IsBlank (C)) != 0) {
-       do {
-           NextChar ();
+        do {
+            NextChar ();
         } while (IsBlank (C));
     }
 
@@ -856,20 +856,20 @@ Again:
 
     /* Hex number or PC symbol? */
     if (C == '$') {
-       NextChar ();
-
-       /* Hex digit must follow or DollarIsPC must be enabled */
-       if (!IsXDigit (C)) {
-           if (DollarIsPC) {
-               CurTok.Tok = TOK_PC;
-               return;
-           } else {
-               Error ("Hexadecimal digit expected");
-           }
-       }
-
-       /* Read the number */
-       CurTok.IVal = 0;
+        NextChar ();
+
+        /* Hex digit must follow or DollarIsPC must be enabled */
+        if (!IsXDigit (C)) {
+            if (DollarIsPC) {
+                CurTok.Tok = TOK_PC;
+                return;
+            } else {
+                Error ("Hexadecimal digit expected");
+            }
+        }
+
+        /* Read the number */
+        CurTok.IVal = 0;
         while (1) {
             if (UnderlineInNumbers && C == '_') {
                 while (C == '_') {
@@ -891,21 +891,21 @@ Again:
             }
         }
 
-       /* This is an integer constant */
-       CurTok.Tok = TOK_INTCON;
-       return;
+        /* This is an integer constant */
+        CurTok.Tok = TOK_INTCON;
+        return;
     }
 
     /* Binary number? */
     if (C == '%') {
-       NextChar ();
+        NextChar ();
 
-       /* 0 or 1 must follow */
-       if (!IsBDigit (C)) {
-           Error ("Binary digit expected");
-       }
+        /* 0 or 1 must follow */
+        if (!IsBDigit (C)) {
+            Error ("Binary digit expected");
+        }
 
-       /* Read the number */
+        /* Read the number */
         CurTok.IVal = 0;
         while (1) {
             if (UnderlineInNumbers && C == '_') {
@@ -928,9 +928,9 @@ Again:
             }
         }
 
-       /* This is an integer constant */
+        /* This is an integer constant */
         CurTok.Tok = TOK_INTCON;
-       return;
+        return;
     }
 
     /* Number? */
@@ -986,69 +986,69 @@ Again:
         /* Convert the number using the given base */
         CurTok.IVal = 0;
         for (I = 0; I < Digits; ++I) {
-                   if (CurTok.IVal > Max) {
-                       Error ("Number out of range");
+            if (CurTok.IVal > Max) {
+                Error ("Number out of range");
                 CurTok.IVal = 0;
                 break;
-           }
+            }
             DVal = DigitVal (Buf[I]);
             if (DVal > Base) {
                 Error ("Invalid digits in number");
                 CurTok.IVal = 0;
                 break;
             }
-           CurTok.IVal = (CurTok.IVal * Base) + DVal;
+            CurTok.IVal = (CurTok.IVal * Base) + DVal;
         }
 
-       /* This is an integer constant */
-               CurTok.Tok = TOK_INTCON;
-       return;
+        /* This is an integer constant */
+        CurTok.Tok = TOK_INTCON;
+        return;
     }
 
     /* Control command? */
     if (C == '.') {
 
-       /* Remember and skip the dot */
-       NextChar ();
+        /* Remember and skip the dot */
+        NextChar ();
 
-       /* Check if it's just a dot */
-               if (!IsIdStart (C)) {
+        /* Check if it's just a dot */
+        if (!IsIdStart (C)) {
 
-           /* Just a dot */
-           CurTok.Tok = TOK_DOT;
+            /* Just a dot */
+            CurTok.Tok = TOK_DOT;
 
-       } else {
+        } else {
 
-           /* Read the remainder of the identifier */
+            /* Read the remainder of the identifier */
             SB_AppendChar (&CurTok.SVal, '.');
-           ReadIdent ();
-
-           /* Dot keyword, search for it */
-           CurTok.Tok = FindDotKeyword ();
-           if (CurTok.Tok == TOK_NONE) {
-
-               /* Not found */
-               if (!LeadingDotInIdents) {
-                   /* Invalid pseudo instruction */
-                   Error ("`%m%p' is not a recognized control command", &CurTok.SVal);
-                   goto Again;
-               }
-
-               /* An identifier with a dot. Check if it's a define style
-                * macro.
-                */
-                       if ((M = FindDefine (&CurTok.SVal)) != 0) {
-                   /* This is a define style macro - expand it */
-                   MacExpandStart (M);
-                   goto Restart;
-               }
-
-               /* Just an identifier with a dot */
-               CurTok.Tok = TOK_IDENT;
-           }
-
-       }
-       return;
+            ReadIdent ();
+
+            /* Dot keyword, search for it */
+            CurTok.Tok = FindDotKeyword ();
+            if (CurTok.Tok == TOK_NONE) {
+
+                /* Not found */
+                if (!LeadingDotInIdents) {
+                    /* Invalid pseudo instruction */
+                    Error ("`%m%p' is not a recognized control command", &CurTok.SVal);
+                    goto Again;
+                }
+
+                /* An identifier with a dot. Check if it's a define style
+                 * macro.
+                 */
+                if ((M = FindDefine (&CurTok.SVal)) != 0) {
+                    /* This is a define style macro - expand it */
+                    MacExpandStart (M);
+                    goto Restart;
+                }
+
+                /* Just an identifier with a dot */
+                CurTok.Tok = TOK_IDENT;
+            }
+
+        }
+        return;
     }
 
     /* Indirect op for sweet16 cpu. Must check this before checking for local
@@ -1063,78 +1063,78 @@ Again:
     /* Local symbol? */
     if (C == LocalStart) {
 
-       /* Read the identifier. */
-       ReadIdent ();
+        /* Read the identifier. */
+        ReadIdent ();
 
-       /* Start character alone is not enough */
+        /* Start character alone is not enough */
         if (SB_GetLen (&CurTok.SVal) == 1) {
-           Error ("Invalid cheap local symbol");
-                   goto Again;
-       }
+            Error ("Invalid cheap local symbol");
+            goto Again;
+        }
 
-               /* A local identifier */
+        /* A local identifier */
         CurTok.Tok = TOK_LOCAL_IDENT;
-       return;
+        return;
     }
 
 
     /* Identifier or keyword? */
     if (IsIdStart (C)) {
 
-       /* Read the identifier */
-       ReadIdent ();
+        /* Read the identifier */
+        ReadIdent ();
 
-               /* Check for special names. Bail out if we have identified the type of
-        * the token. Go on if the token is an identifier.
-        */
+        /* Check for special names. Bail out if we have identified the type of
+         * the token. Go on if the token is an identifier.
+         */
         if (SB_GetLen (&CurTok.SVal) == 1) {
-           switch (toupper (SB_AtUnchecked (&CurTok.SVal, 0))) {
+            switch (toupper (SB_AtUnchecked (&CurTok.SVal, 0))) {
 
-               case 'A':
+                case 'A':
                     if (C == ':') {
                         NextChar ();
                         CurTok.Tok = TOK_OVERRIDE_ABS;
                     } else {
-                       CurTok.Tok = TOK_A;
+                        CurTok.Tok = TOK_A;
                     }
-                   return;
+                    return;
 
                 case 'F':
                     if (C == ':') {
                         NextChar ();
                         CurTok.Tok = TOK_OVERRIDE_FAR;
-                       return;
+                        return;
                     }
-                   break;
+                    break;
 
-               case 'S':
+                case 'S':
                     if (CPU == CPU_65816) {
                         CurTok.Tok = TOK_S;
                         return;
                     }
                     break;
 
-               case 'X':
-                   CurTok.Tok = TOK_X;
-                   return;
+                case 'X':
+                    CurTok.Tok = TOK_X;
+                    return;
 
-               case 'Y':
-                   CurTok.Tok = TOK_Y;
-                   return;
+                case 'Y':
+                    CurTok.Tok = TOK_Y;
+                    return;
 
                 case 'Z':
                     if (C == ':') {
                         NextChar ();
                         CurTok.Tok = TOK_OVERRIDE_ZP;
-                       return;
+                        return;
                     }
                     break;
 
-               default:
-                   break;
-           }
+                default:
+                    break;
+            }
 
-       } else if (CPU == CPU_SWEET16 &&
+        } else if (CPU == CPU_SWEET16 &&
                   (CurTok.IVal = Sweet16Reg (&CurTok.SVal)) >= 0) {
 
             /* A sweet16 register number in sweet16 mode */
@@ -1143,34 +1143,34 @@ Again:
 
         }
 
-       /* Check for define style macro */
-               if ((M = FindDefine (&CurTok.SVal)) != 0) {
-           /* Macro - expand it */
-           MacExpandStart (M);
-           goto Restart;
-       } else {
-           /* An identifier */
-           CurTok.Tok = TOK_IDENT;
-       }
-       return;
+        /* Check for define style macro */
+        if ((M = FindDefine (&CurTok.SVal)) != 0) {
+            /* Macro - expand it */
+            MacExpandStart (M);
+            goto Restart;
+        } else {
+            /* An identifier */
+            CurTok.Tok = TOK_IDENT;
+        }
+        return;
     }
 
     /* Ok, let's do the switch */
 CharAgain:
     switch (C) {
 
-       case '+':
-           NextChar ();
-           CurTok.Tok = TOK_PLUS;
-           return;
+        case '+':
+            NextChar ();
+            CurTok.Tok = TOK_PLUS;
+            return;
 
-       case '-':
-           NextChar ();
-           CurTok.Tok = TOK_MINUS;
-           return;
+        case '-':
+            NextChar ();
+            CurTok.Tok = TOK_MINUS;
+            return;
 
-       case '/':
-           NextChar ();
+        case '/':
+            NextChar ();
             if (C != '*') {
                 CurTok.Tok = TOK_DIV;
             } else if (CComments) {
@@ -1195,222 +1195,222 @@ CharAgain:
                 DoneCollection (&LineInfos);
                 goto Again;
             }
-           return;
-
-       case '*':
-           NextChar ();
-           CurTok.Tok = TOK_MUL;
-           return;
-
-       case '^':
-           NextChar ();
-           CurTok.Tok = TOK_XOR;
-           return;
-
-       case '&':
-           NextChar ();
-           if (C == '&') {
-               NextChar ();
-               CurTok.Tok = TOK_BOOLAND;
-           } else {
-               CurTok.Tok = TOK_AND;
-           }
-                   return;
-
-       case '|':
-           NextChar ();
-           if (C == '|') {
-               NextChar ();
-               CurTok.Tok = TOK_BOOLOR;
-           } else {
-               CurTok.Tok = TOK_OR;
-           }
-           return;
-
-       case ':':
-           NextChar ();
-           switch (C) {
-
-               case ':':
-                   NextChar ();
-                   CurTok.Tok = TOK_NAMESPACE;
-                   break;
-
-               case '-':
-                   CurTok.IVal = 0;
-                   do {
-                       --CurTok.IVal;
-                       NextChar ();
-                   } while (C == '-');
-                   CurTok.Tok = TOK_ULABEL;
-                   break;
-
-               case '+':
-                   CurTok.IVal = 0;
-                   do {
-                       ++CurTok.IVal;
-                       NextChar ();
-                   } while (C == '+');
-                   CurTok.Tok = TOK_ULABEL;
-                   break;
+            return;
+
+        case '*':
+            NextChar ();
+            CurTok.Tok = TOK_MUL;
+            return;
+
+        case '^':
+            NextChar ();
+            CurTok.Tok = TOK_XOR;
+            return;
+
+        case '&':
+            NextChar ();
+            if (C == '&') {
+                NextChar ();
+                CurTok.Tok = TOK_BOOLAND;
+            } else {
+                CurTok.Tok = TOK_AND;
+            }
+            return;
+
+        case '|':
+            NextChar ();
+            if (C == '|') {
+                NextChar ();
+                CurTok.Tok = TOK_BOOLOR;
+            } else {
+                CurTok.Tok = TOK_OR;
+            }
+            return;
+
+        case ':':
+            NextChar ();
+            switch (C) {
+
+                case ':':
+                    NextChar ();
+                    CurTok.Tok = TOK_NAMESPACE;
+                    break;
+
+                case '-':
+                    CurTok.IVal = 0;
+                    do {
+                        --CurTok.IVal;
+                        NextChar ();
+                    } while (C == '-');
+                    CurTok.Tok = TOK_ULABEL;
+                    break;
+
+                case '+':
+                    CurTok.IVal = 0;
+                    do {
+                        ++CurTok.IVal;
+                        NextChar ();
+                    } while (C == '+');
+                    CurTok.Tok = TOK_ULABEL;
+                    break;
 
                 case '=':
                     NextChar ();
                     CurTok.Tok = TOK_ASSIGN;
                     break;
 
-               default:
-                   CurTok.Tok = TOK_COLON;
-                   break;
-           }
-           return;
-
-       case ',':
-           NextChar ();
-           CurTok.Tok = TOK_COMMA;
-           return;
-
-       case ';':
-           NextChar ();
-           while (C != '\n' && C != EOF) {
-               NextChar ();
-           }
-           goto CharAgain;
-
-       case '#':
-           NextChar ();
-           CurTok.Tok = TOK_HASH;
-           return;
-
-       case '(':
-           NextChar ();
-           CurTok.Tok = TOK_LPAREN;
-           return;
-
-       case ')':
-                   NextChar ();
+                default:
+                    CurTok.Tok = TOK_COLON;
+                    break;
+            }
+            return;
+
+        case ',':
+            NextChar ();
+            CurTok.Tok = TOK_COMMA;
+            return;
+
+        case ';':
+            NextChar ();
+            while (C != '\n' && C != EOF) {
+                NextChar ();
+            }
+            goto CharAgain;
+
+        case '#':
+            NextChar ();
+            CurTok.Tok = TOK_HASH;
+            return;
+
+        case '(':
+            NextChar ();
+            CurTok.Tok = TOK_LPAREN;
+            return;
+
+        case ')':
+            NextChar ();
             CurTok.Tok = TOK_RPAREN;
-           return;
-
-       case '[':
-           NextChar ();
-           CurTok.Tok = TOK_LBRACK;
-           return;
-
-       case ']':
-           NextChar ();
-           CurTok.Tok = TOK_RBRACK;
-           return;
-
-       case '{':
-           NextChar ();
-           CurTok.Tok = TOK_LCURLY;
-           return;
-
-       case '}':
-           NextChar ();
-           CurTok.Tok = TOK_RCURLY;
-           return;
-
-       case '<':
-           NextChar ();
-           if (C == '=') {
-               NextChar ();
-               CurTok.Tok = TOK_LE;
-           } else if (C == '<') {
-               NextChar ();
-               CurTok.Tok = TOK_SHL;
-           } else if (C == '>') {
-               NextChar ();
-               CurTok.Tok = TOK_NE;
-           } else {
-               CurTok.Tok = TOK_LT;
-           }
-           return;
-
-       case '=':
-           NextChar ();
-                   CurTok.Tok = TOK_EQ;
-           return;
-
-       case '!':
-           NextChar ();
-           CurTok.Tok = TOK_BOOLNOT;
-           return;
-
-       case '>':
-           NextChar ();
-           if (C == '=') {
-               NextChar ();
-               CurTok.Tok = TOK_GE;
-                   } else if (C == '>') {
-               NextChar ();
-               CurTok.Tok = TOK_SHR;
-           } else {
-               CurTok.Tok = TOK_GT;
-           }
-           return;
+            return;
+
+        case '[':
+            NextChar ();
+            CurTok.Tok = TOK_LBRACK;
+            return;
+
+        case ']':
+            NextChar ();
+            CurTok.Tok = TOK_RBRACK;
+            return;
+
+        case '{':
+            NextChar ();
+            CurTok.Tok = TOK_LCURLY;
+            return;
+
+        case '}':
+            NextChar ();
+            CurTok.Tok = TOK_RCURLY;
+            return;
+
+        case '<':
+            NextChar ();
+            if (C == '=') {
+                NextChar ();
+                CurTok.Tok = TOK_LE;
+            } else if (C == '<') {
+                NextChar ();
+                CurTok.Tok = TOK_SHL;
+            } else if (C == '>') {
+                NextChar ();
+                CurTok.Tok = TOK_NE;
+            } else {
+                CurTok.Tok = TOK_LT;
+            }
+            return;
+
+        case '=':
+            NextChar ();
+            CurTok.Tok = TOK_EQ;
+            return;
+
+        case '!':
+            NextChar ();
+            CurTok.Tok = TOK_BOOLNOT;
+            return;
+
+        case '>':
+            NextChar ();
+            if (C == '=') {
+                NextChar ();
+                CurTok.Tok = TOK_GE;
+            } else if (C == '>') {
+                NextChar ();
+                CurTok.Tok = TOK_SHR;
+            } else {
+                CurTok.Tok = TOK_GT;
+            }
+            return;
 
         case '~':
-           NextChar ();
-           CurTok.Tok = TOK_NOT;
-           return;
-
-       case '\'':
-           /* Hack: If we allow ' as terminating character for strings, read
-            * the following stuff as a string, and check for a one character
-            * string later.
-            */
-           if (LooseStringTerm) {
-               ReadStringConst ('\'');
+            NextChar ();
+            CurTok.Tok = TOK_NOT;
+            return;
+
+        case '\'':
+            /* Hack: If we allow ' as terminating character for strings, read
+             * the following stuff as a string, and check for a one character
+             * string later.
+             */
+            if (LooseStringTerm) {
+                ReadStringConst ('\'');
                 if (SB_GetLen (&CurTok.SVal) == 1) {
-                   CurTok.IVal = SB_AtUnchecked (&CurTok.SVal, 0);
-                   CurTok.Tok = TOK_CHARCON;
-               } else {
-                   CurTok.Tok = TOK_STRCON;
-               }
-           } else {
-               /* Always a character constant */
-               NextChar ();
-               if (C == EOF || IsControl (C)) {
-                   Error ("Illegal character constant");
-                   goto CharAgain;
-               }
-               CurTok.IVal = C;
-               CurTok.Tok = TOK_CHARCON;
-               NextChar ();
-               if (C != '\'') {
+                    CurTok.IVal = SB_AtUnchecked (&CurTok.SVal, 0);
+                    CurTok.Tok = TOK_CHARCON;
+                } else {
+                    CurTok.Tok = TOK_STRCON;
+                }
+            } else {
+                /* Always a character constant */
+                NextChar ();
+                if (C == EOF || IsControl (C)) {
+                    Error ("Illegal character constant");
+                    goto CharAgain;
+                }
+                CurTok.IVal = C;
+                CurTok.Tok = TOK_CHARCON;
+                NextChar ();
+                if (C != '\'') {
                     if (!MissingCharTerm) {
                         Error ("Illegal character constant");
                     }
-               } else {
-                   NextChar ();
-               }
-           }
-           return;
-
-       case '\"':
-           ReadStringConst ('\"');
-           CurTok.Tok = TOK_STRCON;
-           return;
-
-       case '\\':
-           /* Line continuation? */
-           if (LineCont) {
-               NextChar ();
-               if (C == '\n') {
-                   /* Handle as white space */
-                   NextChar ();
-                   C = ' ';
-                   goto Again;
-               }
-           }
-           break;
+                } else {
+                    NextChar ();
+                }
+            }
+            return;
+
+        case '\"':
+            ReadStringConst ('\"');
+            CurTok.Tok = TOK_STRCON;
+            return;
+
+        case '\\':
+            /* Line continuation? */
+            if (LineCont) {
+                NextChar ();
+                if (C == '\n') {
+                    /* Handle as white space */
+                    NextChar ();
+                    C = ' ';
+                    goto Again;
+                }
+            }
+            break;
 
         case '\n':
-           NextChar ();
-           CurTok.Tok = TOK_SEP;
-           return;
+            NextChar ();
+            CurTok.Tok = TOK_SEP;
+            return;
 
         case EOF:
             CheckInputStack ();
@@ -1419,7 +1419,7 @@ CharAgain:
                 DoneCharSource ();
                 goto Again;
             } else {
-               CurTok.Tok = TOK_EOF;
+                CurTok.Tok = TOK_EOF;
             }
             return;
     }
@@ -1448,15 +1448,15 @@ int GetSubKey (const char** Keys, unsigned Count)
 
     /* If we aren't in ignore case mode, we have to uppercase the identifier */
     if (!IgnoreCase) {
-       UpcaseSVal ();
+        UpcaseSVal ();
     }
 
     /* Do a linear search (a binary search is not worth the effort) */
     for (I = 0; I < Count; ++I) {
-               if (SB_CompareStr (&CurTok.SVal, Keys [I]) == 0) {
-           /* Found it */
-           return I;
-       }
+        if (SB_CompareStr (&CurTok.SVal, Keys [I]) == 0) {
+            /* Found it */
+            return I;
+        }
     }
 
     /* Not found */
index 0fad248d13fc31116f89684a6b04af1498b109c9..b0fc3411f33010bfb5b817b977bb2a8a6e45b82b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.h                                 */
+/*                                 scanner.h                                 */
 /*                                                                           */
-/*                 The scanner for the ca65 macroassembler                  */
+/*                  The scanner for the ca65 macroassembler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Scanner variables */
 extern Token CurTok;            /* Current input token incl. attributes */
-extern int   ForcedEnd;                /* Force end of assembly */
+extern int   ForcedEnd;         /* Force end of assembly */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a08a18dc15bf492ec03ac23cfeaa8f9c2de32f5c..3c1a59992b1985c8e1b575e21657ffa619e90e19 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                segdef.c                                  */
+/*                                 segdef.c                                  */
 /*                                                                           */
-/*             Segment definitions for the ca65 assembler                   */
+/*              Segment definitions for the ca65 assembler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9fdbe1698752e8c89d9f8fa944b5402d7e0cb505..c7431b9a23e80052232dddc8b1779e0c76bcf6e0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                segdef.h                                  */
+/*                                 segdef.h                                  */
 /*                                                                           */
-/*             Segment definitions for the ca65 assembler                   */
+/*              Segment definitions for the ca65 assembler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -62,7 +62,7 @@ struct SegDef {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5482681c6b5982ef12faf75568f5bdfc154f9c1e..60a897324fed44f35bcff130ffce9793077888db 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                segment.c                                 */
+/*                                 segment.c                                 */
 /*                                                                           */
 /*                   Segments for the ca65 macroassembler                    */
 /*                                                                           */
@@ -62,7 +62,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -71,7 +71,7 @@
  * used when in absolute mode. OrgPerSeg may be set by .feature org_per_seg
  */
 static int              RelocMode = 1;
-static unsigned long    AbsPC    = 0;          /* PC if in absolute mode */
+static unsigned long    AbsPC     = 0;          /* PC if in absolute mode */
 
 /* Definitions for predefined segments */
 SegDef NullSegDef     = STATIC_SEGDEF_INITIALIZER (SEGNAME_NULL,     ADDR_SIZE_ABS);
@@ -90,7 +90,7 @@ Segment* ActiveSeg;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -129,12 +129,12 @@ static Segment* NewSegment (const char* Name, unsigned char AddrSize)
 {
     /* Check for too many segments */
     if (CollCount (&SegmentList) >= 256) {
-       Fatal ("Too many segments");
+        Fatal ("Too many segments");
     }
 
     /* Check the segment name for invalid names */
     if (!ValidSegName (Name)) {
-       Error ("Illegal segment name: `%s'", Name);
+        Error ("Illegal segment name: `%s'", Name);
     }
 
     /* Create a new segment and return it */
@@ -151,21 +151,21 @@ Fragment* GenFragment (unsigned char Type, unsigned short Len)
 
     /* Insert the fragment into the current segment */
     if (ActiveSeg->Root) {
-       ActiveSeg->Last->Next = F;
-       ActiveSeg->Last = F;
+        ActiveSeg->Last->Next = F;
+        ActiveSeg->Last = F;
     } else {
-       ActiveSeg->Root = ActiveSeg->Last = F;
+        ActiveSeg->Root = ActiveSeg->Last = F;
     }
     ++ActiveSeg->FragCount;
 
     /* Add this fragment to the current listing line */
     if (LineCur) {
-       if (LineCur->FragList == 0) {
-           LineCur->FragList = F;
-       } else {
-                   LineCur->FragLast->LineList = F;
-       }
-       LineCur->FragLast = F;
+        if (LineCur->FragList == 0) {
+            LineCur->FragList = F;
+        } else {
+            LineCur->FragLast->LineList = F;
+        }
+        LineCur->FragLast = F;
     }
 
     /* Increment the program counter */
@@ -194,17 +194,17 @@ void UseSeg (const SegDef* D)
     unsigned I;
     for (I = 0; I < CollCount (&SegmentList); ++I) {
         Segment* Seg = CollAtUnchecked (&SegmentList, I);
-               if (strcmp (Seg->Def->Name, D->Name) == 0) {
-           /* We found this segment. Check if the type is identical */
-           if (D->AddrSize != ADDR_SIZE_DEFAULT &&
+        if (strcmp (Seg->Def->Name, D->Name) == 0) {
+            /* We found this segment. Check if the type is identical */
+            if (D->AddrSize != ADDR_SIZE_DEFAULT &&
                 Seg->Def->AddrSize != D->AddrSize) {
-               Error ("Segment attribute mismatch");
-               /* Use the new attribute to avoid errors */
-               Seg->Def->AddrSize = D->AddrSize;
-                   }
-                   ActiveSeg = Seg;
-           return;
-       }
+                Error ("Segment attribute mismatch");
+                /* Use the new attribute to avoid errors */
+                Seg->Def->AddrSize = D->AddrSize;
+            }
+            ActiveSeg = Seg;
+            return;
+        }
     }
 
     /* Segment is not in list, create a new one */
@@ -319,20 +319,20 @@ void SegAlign (unsigned long Alignment, int FillVal)
 
     /* Emit the data or a fill fragment */
     if (FillVal != -1) {
-               /* User defined fill value */
-               memset (Data, FillVal, sizeof (Data));
-               while (Count) {
-                   if (Count > sizeof (Data)) {
-                       EmitData (Data, sizeof (Data));
-                       Count -= sizeof (Data);
-                   } else {
-                       EmitData (Data, Count);
-                       Count = 0;
-                   }
-               }
+        /* User defined fill value */
+        memset (Data, FillVal, sizeof (Data));
+        while (Count) {
+            if (Count > sizeof (Data)) {
+                EmitData (Data, sizeof (Data));
+                Count -= sizeof (Data);
+            } else {
+                EmitData (Data, Count);
+                Count = 0;
+            }
+        }
     } else {
-               /* Linker defined fill value */
-               EmitFill (Count);
+        /* Linker defined fill value */
+        EmitFill (Count);
     }
 }
 
@@ -343,7 +343,7 @@ unsigned char GetSegAddrSize (unsigned SegNum)
 {
     /* Is there such a segment? */
     if (SegNum >= CollCount (&SegmentList)) {
-       FAIL ("Invalid segment number");
+        FAIL ("Invalid segment number");
     }
 
     /* Return the address size */
@@ -356,18 +356,18 @@ void SegDone (void)
 /* Check the segments for range and other errors. Do cleanup. */
 {
     static const unsigned long U_Hi[4] = {
-               0x000000FFUL, 0x0000FFFFUL, 0x00FFFFFFUL, 0xFFFFFFFFUL
+        0x000000FFUL, 0x0000FFFFUL, 0x00FFFFFFUL, 0xFFFFFFFFUL
     };
     static const long S_Hi[4] = {
-               0x0000007FL, 0x00007FFFL, 0x007FFFFFL, 0x7FFFFFFFL
+        0x0000007FL, 0x00007FFFL, 0x007FFFFFL, 0x7FFFFFFFL
     };
 
     unsigned I;
     for (I = 0; I < CollCount (&SegmentList); ++I) {
         Segment* S = CollAtUnchecked (&SegmentList, I);
-       Fragment* F = S->Root;
-       while (F) {
-                   if (F->Type == FRAG_EXPR || F->Type == FRAG_SEXPR) {
+        Fragment* F = S->Root;
+        while (F) {
+            if (F->Type == FRAG_EXPR || F->Type == FRAG_SEXPR) {
 
                 /* We have an expression, study it */
                 ExprDesc ED;
@@ -377,9 +377,9 @@ void SegDone (void)
                 /* Check if the expression is constant */
                 if (ED_IsConst (&ED)) {
 
-                   unsigned J;
+                    unsigned J;
 
-                           /* The expression is constant. Check for range errors. */
+                    /* The expression is constant. Check for range errors. */
                     CHECK (F->Len <= 4);
                     if (F->Type == FRAG_SEXPR) {
                         long Hi = S_Hi[F->Len-1];
@@ -400,32 +400,32 @@ void SegDone (void)
                     /* We don't need the expression tree any longer */
                     FreeExpr (F->V.Expr);
 
-                   /* Convert the fragment into a literal fragment */
-                   for (J = 0; J < F->Len; ++J) {
-                       F->V.Data[J] = ED.Val & 0xFF;
-                       ED.Val >>= 8;
-                   }
-                   F->Type = FRAG_LITERAL;
+                    /* Convert the fragment into a literal fragment */
+                    for (J = 0; J < F->Len; ++J) {
+                        F->V.Data[J] = ED.Val & 0xFF;
+                        ED.Val >>= 8;
+                    }
+                    F->Type = FRAG_LITERAL;
 
-               } else if (RelaxChecks == 0) {
+                } else if (RelaxChecks == 0) {
 
-                   /* We cannot evaluate the expression now, leave the job for
-                    * the linker. However, we can check if the address size
+                    /* We cannot evaluate the expression now, leave the job for
+                     * the linker. However, we can check if the address size
                      * matches the fragment size. Mismatches are errors in 
                      * most situations.
-                    */
+                     */
                     if ((F->Len == 1 && ED.AddrSize > ADDR_SIZE_ZP)  ||
                         (F->Len == 2 && ED.AddrSize > ADDR_SIZE_ABS) ||
                         (F->Len == 3 && ED.AddrSize > ADDR_SIZE_FAR)) {
-                       LIError (&F->LI, "Range error");
-                   }
-               }
+                        LIError (&F->LI, "Range error");
+                    }
+                }
 
                 /* Release memory allocated for the expression decriptor */
                 ED_Done (&ED);
-           }
-           F = F->Next;
-       }
+            }
+            F = F->Next;
+        }
     }
 }
 
@@ -440,38 +440,38 @@ void SegDump (void)
     printf ("\n");
     for (I = 0; I < CollCount (&SegmentList); ++I) {
         Segment* S = CollAtUnchecked (&SegmentList, I);
-       unsigned I;
-       Fragment* F;
-       int State = -1;
-               printf ("New segment: %s", S->Def->Name);
-       F = S->Root;
-       while (F) {
-           if (F->Type == FRAG_LITERAL) {
-               if (State != 0) {
-                   printf ("\n  Literal:");
-                   X = 15;
-                   State = 0;
-               }
-               for (I = 0; I < F->Len; ++I) {
-                   printf (" %02X", F->V.Data [I]);
-                   X += 3;
-               }
-           } else if (F->Type == FRAG_EXPR || F->Type == FRAG_SEXPR) {
-                       State = 1;
-               printf ("\n  Expression (%u): ", F->Len);
-               DumpExpr (F->V.Expr, SymResolve);
-           } else if (F->Type == FRAG_FILL) {
-               State = 1;
-               printf ("\n  Fill bytes (%u)", F->Len);
-           } else {
-               Internal ("Unknown fragment type: %u", F->Type);
-           }
-                   if (X > 65) {
-               State = -1;
-           }
-           F = F->Next;
-       }
-       printf ("\n  End PC = $%04X\n", (unsigned)(S->PC & 0xFFFF));
+        unsigned I;
+        Fragment* F;
+        int State = -1;
+        printf ("New segment: %s", S->Def->Name);
+        F = S->Root;
+        while (F) {
+            if (F->Type == FRAG_LITERAL) {
+                if (State != 0) {
+                    printf ("\n  Literal:");
+                    X = 15;
+                    State = 0;
+                }
+                for (I = 0; I < F->Len; ++I) {
+                    printf (" %02X", F->V.Data [I]);
+                    X += 3;
+                }
+            } else if (F->Type == FRAG_EXPR || F->Type == FRAG_SEXPR) {
+                State = 1;
+                printf ("\n  Expression (%u): ", F->Len);
+                DumpExpr (F->V.Expr, SymResolve);
+            } else if (F->Type == FRAG_FILL) {
+                State = 1;
+                printf ("\n  Fill bytes (%u)", F->Len);
+            } else {
+                Internal ("Unknown fragment type: %u", F->Type);
+            }
+            if (X > 65) {
+                State = -1;
+            }
+            F = F->Next;
+        }
+        printf ("\n  End PC = $%04X\n", (unsigned)(S->PC & 0xFFFF));
     }
     printf ("\n");
 }
@@ -549,52 +549,52 @@ static void WriteOneSeg (Segment* Seg)
     Frag = Seg->Root;
     while (Frag) {
 
-       /* Write data depending on the type */
-               switch (Frag->Type) {
-
-           case FRAG_LITERAL:
-               ObjWrite8 (FRAG_LITERAL);
-               ObjWriteVar (Frag->Len);
-               ObjWriteData (Frag->V.Data, Frag->Len);
-               break;
-
-           case FRAG_EXPR:
-               switch (Frag->Len) {
-                   case 1:   ObjWrite8 (FRAG_EXPR8);   break;
-                   case 2:   ObjWrite8 (FRAG_EXPR16);  break;
-                   case 3:   ObjWrite8 (FRAG_EXPR24);  break;
-                   case 4:   ObjWrite8 (FRAG_EXPR32);  break;
-                   default:  Internal ("Invalid fragment size: %u", Frag->Len);
-               }
-               WriteExpr (Frag->V.Expr);
-               break;
-
-           case FRAG_SEXPR:
-               switch (Frag->Len) {
-                   case 1:   ObjWrite8 (FRAG_SEXPR8);  break;
-                   case 2:   ObjWrite8 (FRAG_SEXPR16); break;
-                   case 3:   ObjWrite8 (FRAG_SEXPR24); break;
-                   case 4:   ObjWrite8 (FRAG_SEXPR32); break;
-                   default:  Internal ("Invalid fragment size: %u", Frag->Len);
-               }
-               WriteExpr (Frag->V.Expr);
-               break;
-
-           case FRAG_FILL:
-               ObjWrite8 (FRAG_FILL);
-                       ObjWriteVar (Frag->Len);
-               break;
-
-           default:
-               Internal ("Invalid fragment type: %u", Frag->Type);
-
-       }
-
-               /* Write the line infos for this fragment */
-               WriteLineInfo (&Frag->LI);
-
-       /* Next fragment */
-       Frag = Frag->Next;
+        /* Write data depending on the type */
+        switch (Frag->Type) {
+
+            case FRAG_LITERAL:
+                ObjWrite8 (FRAG_LITERAL);
+                ObjWriteVar (Frag->Len);
+                ObjWriteData (Frag->V.Data, Frag->Len);
+                break;
+
+            case FRAG_EXPR:
+                switch (Frag->Len) {
+                    case 1:   ObjWrite8 (FRAG_EXPR8);   break;
+                    case 2:   ObjWrite8 (FRAG_EXPR16);  break;
+                    case 3:   ObjWrite8 (FRAG_EXPR24);  break;
+                    case 4:   ObjWrite8 (FRAG_EXPR32);  break;
+                    default:  Internal ("Invalid fragment size: %u", Frag->Len);
+                }
+                WriteExpr (Frag->V.Expr);
+                break;
+
+            case FRAG_SEXPR:
+                switch (Frag->Len) {
+                    case 1:   ObjWrite8 (FRAG_SEXPR8);  break;
+                    case 2:   ObjWrite8 (FRAG_SEXPR16); break;
+                    case 3:   ObjWrite8 (FRAG_SEXPR24); break;
+                    case 4:   ObjWrite8 (FRAG_SEXPR32); break;
+                    default:  Internal ("Invalid fragment size: %u", Frag->Len);
+                }
+                WriteExpr (Frag->V.Expr);
+                break;
+
+            case FRAG_FILL:
+                ObjWrite8 (FRAG_FILL);
+                ObjWriteVar (Frag->Len);
+                break;
+
+            default:
+                Internal ("Invalid fragment type: %u", Frag->Type);
+
+        }
+
+        /* Write the line infos for this fragment */
+        WriteLineInfo (&Frag->LI);
+
+        /* Next fragment */
+        Frag = Frag->Next;
     }
 
     /* Calculate the size of the data, seek back and write it */
@@ -620,8 +620,8 @@ void WriteSegments (void)
 
     /* Now walk through all segments and write them to the object file */
     for (I = 0; I < CollCount (&SegmentList); ++I) {
-       /* Write one segment */
-       WriteOneSeg (CollAtUnchecked (&SegmentList, I));
+        /* Write one segment */
+        WriteOneSeg (CollAtUnchecked (&SegmentList, I));
     }
 
     /* Done writing segments */
index 77b269d62c083f0324efed19ab6a7598bf3e4490..69a3eb8335950fffe006e1004ac662dbf1a50e40 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                segment.h                                 */
+/*                                 segment.h                                 */
 /*                                                                           */
 /*                   Segments for the ca65 macroassembler                    */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Segment definition */
 typedef struct Segment Segment;
 struct Segment {
-    Fragment*              Root;               /* Root of fragment list */
-    Fragment*              Last;               /* Pointer to last fragment */
+    Fragment*       Root;               /* Root of fragment list */
+    Fragment*       Last;               /* Pointer to last fragment */
     unsigned long   FragCount;          /* Number of fragments */
-    unsigned        Num;                       /* Segment number */
+    unsigned        Num;                /* Segment number */
     unsigned        Flags;              /* Segment flags */
-    unsigned long   Align;                     /* Segment alignment */
+    unsigned long   Align;              /* Segment alignment */
     int             RelocMode;          /* Relocatable mode if OrgPerSeg */
     unsigned long   PC;                 /* PC if in relocatable mode */
     unsigned long   AbsPC;              /* PC if in local absolute mode */
@@ -88,7 +88,7 @@ extern Segment* ActiveSeg;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8d16b72bf2f5495f405124214d01c907dd1ecf35..a29c83e9d0d0c5ac6a8ff93856caa1197ee31310 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@ static const StrBuf SizeEntryName = LIT_STRBUF_INITIALIZER (".size");
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7dcca14217652ad16ddfc517be3117f9acb28102..2bb400d83bb8bf24b1c129c70e3d3837bc483e73 100644 (file)
@@ -55,7 +55,7 @@ struct SymTable;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 621267ad3afe265c58a9cb6b482b9481d5938289..3ca99ee8f191434c18bb4d88a829e7aaff4a55be 100644 (file)
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,7 +61,7 @@ typedef struct Span Span;
 struct Span{
     HashNode        Node;               /* Node for hash table */
     unsigned        Id;                 /* Id of span */
-    struct Segment* Seg;                       /* Pointer to segment */
+    struct Segment* Seg;                /* Pointer to segment */
     unsigned        Start;              /* Start of range */
     unsigned        End;                /* End of range */
     unsigned        Type;               /* Type of data in span */
@@ -70,7 +70,7 @@ struct Span{
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0cf829c063fe212af8746cf4c6733505c333ec02..d30045195189cc032d3438c30ad8f1e3b52ac6fc 100644 (file)
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ StringPool* StrPool = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d20b3014bff2b43e757875fcef41ad9109d94851..744e8e5bb402dda25336387eb50b7f9b3d4b7959 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ extern StringPool* StrPool;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 07068ef947464520949abc8a4c39d3e7af7da381..1ad5832c0918512384252c5fc05492ef3f696bab 100644 (file)
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -65,7 +65,7 @@ enum {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -182,7 +182,7 @@ static long DoStructInternal (long Offs, unsigned Type)
                 break;
 
             case TOK_RES:
-               NextTok ();
+                NextTok ();
                 if (CurTok.Tok == TOK_SEP) {
                     ErrorSkip ("Size is missing");
                 } else {
index 871fa6a42f749012998e9fc1f5964b682d4cf105..9175a498c7cda63903ff37146b4d07a8470fdda8 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -49,7 +49,7 @@ struct SymTable;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cef121223e9f84cb203aacdf22d11eb84e43d371..5ff1cc369e150f5bdc96e88a65093bce0df530b1 100644 (file)
@@ -61,7 +61,7 @@ ExprDesc* ED_Init (ExprDesc* ED)
 {
     ED->Flags     = ED_OK;
     ED->AddrSize  = ADDR_SIZE_DEFAULT;
-    ED->Val      = 0;
+    ED->Val       = 0;
     ED->SymCount  = 0;
     ED->SymLimit  = 0;
     ED->SymRef    = 0;
@@ -432,7 +432,7 @@ static void ED_Move (ExprDesc* From, ExprDesc* To)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -1283,29 +1283,29 @@ static void StudyExprInternal (ExprNode* Expr, ExprDesc* D)
     /* Study this expression node */
     switch (Expr->Op) {
 
-       case EXPR_LITERAL:
+        case EXPR_LITERAL:
             StudyLiteral (Expr, D);
-           break;
+            break;
 
-       case EXPR_SYMBOL:
+        case EXPR_SYMBOL:
             StudySymbol (Expr, D);
             break;
 
-       case EXPR_SECTION:
+        case EXPR_SECTION:
             StudySection (Expr, D);
-           break;
+            break;
 
-       case EXPR_ULABEL:
+        case EXPR_ULABEL:
             StudyULabel (Expr, D);
             break;
 
-       case EXPR_PLUS:
+        case EXPR_PLUS:
             StudyPlus (Expr, D);
-           break;
+            break;
 
-       case EXPR_MINUS:
-                   StudyMinus (Expr, D);
-           break;
+        case EXPR_MINUS:
+            StudyMinus (Expr, D);
+            break;
 
         case EXPR_MUL:
             StudyMul (Expr, D);
@@ -1436,8 +1436,8 @@ static void StudyExprInternal (ExprNode* Expr, ExprDesc* D)
             break;
 
         default:
-           Internal ("Unknown Op type: %u", Expr->Op);
-           break;
+            Internal ("Unknown Op type: %u", Expr->Op);
+            break;
     }
 }
 
index 56e1a8f61338f4206a398cec687f827a5ae86973..504323e13eeeaceee9671e874d6304210f77c261 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -73,7 +73,7 @@ typedef struct ExprDesc ExprDesc;
 struct ExprDesc {
     unsigned short      Flags;          /* See ED_xxx */
     unsigned char       AddrSize;       /* Address size of the expression */
-    long                Val;           /* The offset value */
+    long                Val;            /* The offset value */
     long                Right;          /* Right value for StudyBinaryExpr */
 
     /* Symbol reference management */
@@ -107,7 +107,7 @@ int ED_IsConst (const ExprDesc* ED);
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 581e8e54b4dc29c5d9840c7012bb53f45a0ac048..b9e2a6c169918ae07c0a1c0bd10819917506a868 100644 (file)
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index fc1a84aa46f84ad2fda6a4a1bb0063bba5887bd3..30964f0c0d5a4f85fef67ba64cd0ffa7041afa8e 100644 (file)
@@ -54,7 +54,7 @@ struct StrBuf;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 576a24b035ef3878710efbf4ebac0474ecc288b5..612bc09f234c189845c080754195da9591a392fc 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               symentry.c                                 */
+/*                                symentry.c                                 */
 /*                                                                           */
 /*              Symbol table entry for the ca65 macroassembler               */
 /*                                                                           */
@@ -54,7 +54,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ SymEntry* SymLast = 0;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -82,9 +82,9 @@ SymEntry* NewSymEntry (const StrBuf* Name, unsigned Flags)
     SymEntry* S = xmalloc (sizeof (SymEntry));
 
     /* Initialize the entry */
-    S->Left              = 0;
-    S->Right             = 0;
-    S->Locals            = 0;
+    S->Left       = 0;
+    S->Right      = 0;
+    S->Locals     = 0;
     S->Sym.Tab    = 0;
     S->DefLines   = EmptyCollection;
     S->RefLines   = EmptyCollection;
@@ -92,7 +92,7 @@ SymEntry* NewSymEntry (const StrBuf* Name, unsigned Flags)
         S->GuessedUse[I] = 0;
     }
     S->HLLSym     = 0;
-    S->Flags             = Flags;
+    S->Flags      = Flags;
     S->DebugSymId = ~0U;
     S->ImportId   = ~0U;
     S->ExportId   = ~0U;
@@ -124,8 +124,8 @@ int SymSearchTree (SymEntry* T, const StrBuf* Name, SymEntry** E)
 {
     /* Is there a tree? */
     if (T == 0) {
-       *E = 0;
-       return 1;
+        *E = 0;
+        return 1;
     }
 
     /* We have a table, search it */
@@ -134,17 +134,17 @@ int SymSearchTree (SymEntry* T, const StrBuf* Name, SymEntry** E)
         /* Get the symbol name */
         const StrBuf* SymName = GetStrBuf (T->Name);
 
-       /* Choose next entry */
+        /* Choose next entry */
         int Cmp = SB_Compare (Name, SymName);
-               if (Cmp < 0 && T->Left) {
-           T = T->Left;
-       } else if (Cmp > 0 && T->Right) {
-           T = T->Right;
-       } else {
-           /* Found or end of search, return the result */
+        if (Cmp < 0 && T->Left) {
+            T = T->Left;
+        } else if (Cmp > 0 && T->Right) {
+            T = T->Right;
+        } else {
+            /* Found or end of search, return the result */
             *E = T;
             return Cmp;
-               }
+        }
     }
 }
 
@@ -212,9 +212,9 @@ void SymDef (SymEntry* S, ExprNode* Expr, unsigned char AddrSize, unsigned Flags
 /* Define a new symbol */
 {
     if (S->Flags & SF_IMPORT) {
-               /* Defined symbol is marked as imported external symbol */
-               Error ("Symbol `%m%p' is already an import", GetSymName (S));
-               return;
+        /* Defined symbol is marked as imported external symbol */
+        Error ("Symbol `%m%p' is already an import", GetSymName (S));
+        return;
     }
     if ((Flags & SF_VAR) != 0 && (S->Flags & (SF_EXPORT | SF_GLOBAL))) {
         /* Variable symbols cannot be exports or globals */
@@ -222,7 +222,7 @@ void SymDef (SymEntry* S, ExprNode* Expr, unsigned char AddrSize, unsigned Flags
         return;
     }
     if (S->Flags & SF_DEFINED) {
-               /* Multiple definition. In case of a variable, this is legal. */
+        /* Multiple definition. In case of a variable, this is legal. */
         if ((S->Flags & SF_VAR) == 0) {
             Error ("Symbol `%m%p' is already defined", GetSymName (S));
             S->Flags |= SF_MULTDEF;
@@ -293,7 +293,7 @@ void SymDef (SymEntry* S, ExprNode* Expr, unsigned char AddrSize, unsigned Flags
 
     /* If this is not a local symbol, remember it as the last global one */
     if ((S->Flags & SF_LOCAL) == 0) {
-               SymLast = S;
+        SymLast = S;
     }
 }
 
@@ -315,14 +315,14 @@ void SymImport (SymEntry* S, unsigned char AddrSize, unsigned Flags)
 /* Mark the given symbol as an imported symbol */
 {
     if (S->Flags & SF_DEFINED) {
-       Error ("Symbol `%m%p' is already defined", GetSymName (S));
-       S->Flags |= SF_MULTDEF;
-       return;
+        Error ("Symbol `%m%p' is already defined", GetSymName (S));
+        S->Flags |= SF_MULTDEF;
+        return;
     }
     if (S->Flags & SF_EXPORT) {
-       /* The symbol is already marked as exported symbol */
-       Error ("Cannot import exported symbol `%m%p'", GetSymName (S));
-       return;
+        /* The symbol is already marked as exported symbol */
+        Error ("Cannot import exported symbol `%m%p'", GetSymName (S));
+        return;
     }
 
     /* If no address size is given, use the address size of the enclosing
@@ -336,9 +336,9 @@ void SymImport (SymEntry* S, unsigned char AddrSize, unsigned Flags)
      * then do silently remove the global flag.
      */
     if (S->Flags & SF_IMPORT) {
-       if ((Flags & SF_FORCED) != (S->Flags & SF_FORCED)) {
-                   Error ("Redeclaration mismatch for symbol `%m%p'", GetSymName (S));
-       }
+        if ((Flags & SF_FORCED) != (S->Flags & SF_FORCED)) {
+            Error ("Redeclaration mismatch for symbol `%m%p'", GetSymName (S));
+        }
         if (AddrSize != S->AddrSize) {
             Error ("Address size mismatch for symbol `%m%p'", GetSymName (S));
         }
@@ -347,7 +347,7 @@ void SymImport (SymEntry* S, unsigned char AddrSize, unsigned Flags)
         S->Flags &= ~SF_GLOBAL;
         if (AddrSize != S->AddrSize) {
             Error ("Address size mismatch for symbol `%m%p'", GetSymName (S));
-       }
+        }
     }
 
     /* Set the symbol data */
@@ -368,9 +368,9 @@ void SymExport (SymEntry* S, unsigned char AddrSize, unsigned Flags)
 {
     /* Check if it's ok to export the symbol */
     if (S->Flags & SF_IMPORT) {
-       /* The symbol is already marked as imported external symbol */
-       Error ("Symbol `%m%p' is already an import", GetSymName (S));
-       return;
+        /* The symbol is already marked as imported external symbol */
+        Error ("Symbol `%m%p' is already an import", GetSymName (S));
+        return;
     }
     if (S->Flags & SF_VAR) {
         /* Variable symbols cannot be exported */
@@ -536,9 +536,9 @@ void SymConDes (SymEntry* S, unsigned char AddrSize, unsigned Type, unsigned Pri
 
     /* Check for errors */
     if (S->Flags & SF_IMPORT) {
-               /* The symbol is already marked as imported external symbol */
-               Error ("Symbol `%m%p' is already an import", GetSymName (S));
-               return;
+        /* The symbol is already marked as imported external symbol */
+        Error ("Symbol `%m%p' is already an import", GetSymName (S));
+        return;
     }
     if (S->Flags & SF_VAR) {
         /* Variable symbols cannot be exported or imported */
@@ -574,9 +574,9 @@ void SymConDes (SymEntry* S, unsigned char AddrSize, unsigned Type, unsigned Pri
      * priority value is the same as the old one.
      */
     if (S->ConDesPrio[Type] != CD_PRIO_NONE) {
-       if (S->ConDesPrio[Type] != Prio) {
-           Error ("Redeclaration mismatch for symbol `%m%p'", GetSymName (S));
-       }
+        if (S->ConDesPrio[Type] != Prio) {
+            Error ("Redeclaration mismatch for symbol `%m%p'", GetSymName (S));
+        }
     }
     S->ConDesPrio[Type] = Prio;
 
index b55a20fcab4419b381e34f0514a90afe97c7f239..a9b1386e346d4655832dae4441883027bf067b13 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               symentry.h                                 */
+/*                                symentry.h                                 */
 /*                                                                           */
-/*         Symbol table entry forward for the ca65 macroassembler           */
+/*          Symbol table entry forward for the ca65 macroassembler           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,19 +61,19 @@ struct HLLDbgSym;
 
 /* Bits for the Flags value in SymEntry */
 #define SF_NONE         0x0000          /* Empty flag set */
-#define SF_USER                0x0001          /* User bit */
-#define SF_UNUSED       0x0002         /* Unused entry */
-#define SF_EXPORT              0x0004          /* Export this symbol */
-#define SF_IMPORT      0x0008          /* Import this symbol */
-#define SF_GLOBAL      0x0010          /* Global symbol */
+#define SF_USER         0x0001          /* User bit */
+#define SF_UNUSED       0x0002          /* Unused entry */
+#define SF_EXPORT       0x0004          /* Export this symbol */
+#define SF_IMPORT       0x0008          /* Import this symbol */
+#define SF_GLOBAL       0x0010          /* Global symbol */
 #define SF_LOCAL        0x0020          /* Cheap local symbol */
 #define SF_LABEL        0x0040          /* Used as a label */
 #define SF_VAR          0x0080          /* Variable symbol */
 #define SF_FORCED       0x0100          /* Forced import, SF_IMPORT also set */
 #define SF_FIXED        0x0200          /* May not be trampoline */
-#define SF_MULTDEF             0x1000          /* Multiply defined symbol */
-#define        SF_DEFINED      0x2000          /* Defined */
-#define SF_REFERENCED  0x4000          /* Referenced */
+#define SF_MULTDEF      0x1000          /* Multiply defined symbol */
+#define SF_DEFINED      0x2000          /* Defined */
+#define SF_REFERENCED   0x4000          /* Referenced */
 
 /* Combined values */
 #define SF_REFIMP       (SF_REFERENCED|SF_IMPORT)       /* A ref'd import */
@@ -81,12 +81,12 @@ struct HLLDbgSym;
 /* Structure of a symbol table entry */
 typedef struct SymEntry SymEntry;
 struct SymEntry {
-    SymEntry*                  Left;           /* Lexically smaller entry */
-    SymEntry*                  Right;          /* Lexically larger entry */
-    SymEntry*                  List;           /* List of all entries */
-    SymEntry*                  Locals;         /* Root of subtree for local symbols */
+    SymEntry*           Left;           /* Lexically smaller entry */
+    SymEntry*           Right;          /* Lexically larger entry */
+    SymEntry*           List;           /* List of all entries */
+    SymEntry*           Locals;         /* Root of subtree for local symbols */
     union {
-        struct SymTable*    Tab;               /* Table this symbol is in */
+        struct SymTable*    Tab;        /* Table this symbol is in */
         struct SymEntry*    Entry;      /* Parent for cheap locals */
     } Sym;
     Collection          DefLines;       /* Line infos for definition */
@@ -98,17 +98,17 @@ struct SymEntry {
                                          * addressing
                                          */
     struct HLLDbgSym*   HLLSym;         /* Symbol from high level language */
-    unsigned            Flags;         /* Symbol flags */
+    unsigned            Flags;          /* Symbol flags */
     unsigned            DebugSymId;     /* Debug symbol id */
     unsigned            ImportId;       /* Id of import if this is one */
     unsigned            ExportId;       /* Id of export if this is one */
-    struct ExprNode*    Expr;          /* Symbol expression */
+    struct ExprNode*    Expr;           /* Symbol expression */
     Collection          ExprRefs;       /* Expressions using this symbol */
     unsigned char       ExportSize;     /* Export address size */
     unsigned char       AddrSize;       /* Address size of label */
-    unsigned char              ConDesPrio[CD_TYPE_COUNT];      /* ConDes priorities... */
-                                       /* ...actually value+1 (used as flag) */
-    unsigned            Name;          /* Name index in global string pool */
+    unsigned char       ConDesPrio[CD_TYPE_COUNT];      /* ConDes priorities... */
+                                        /* ...actually value+1 (used as flag) */
+    unsigned            Name;           /* Name index in global string pool */
 };
 
 /* List of all symbol table entries */
@@ -120,7 +120,7 @@ extern SymEntry* SymLast;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 02bc2af4963f18ef26e267325e4fb16358e9f2fe..2681605faf4d1bffeb0fa6cf64d5c7d56a66b51a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                symtab.c                                  */
+/*                                 symtab.c                                  */
 /*                                                                           */
-/*                Symbol table for the ca65 macroassembler                  */
+/*                 Symbol table for the ca65 macroassembler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Combined symbol entry flags used within this module */
-#define SF_UNDEFMASK   (SF_REFERENCED | SF_DEFINED | SF_IMPORT)
-#define SF_UNDEFVAL    (SF_REFERENCED)
+#define SF_UNDEFMASK    (SF_REFERENCED | SF_DEFINED | SF_IMPORT)
+#define SF_UNDEFVAL     (SF_REFERENCED)
 
 /* Symbol tables */
-SymTable*                  CurrentScope = 0;   /* Pointer to current symbol table */
-SymTable*          RootScope    = 0;   /* Root symbol table */
+SymTable*           CurrentScope = 0;   /* Pointer to current symbol table */
+SymTable*           RootScope    = 0;   /* Root symbol table */
 static SymTable*    LastScope    = 0;   /* Pointer to last scope in list */
 static unsigned     ScopeCount   = 0;   /* Number of scopes */
 
@@ -83,7 +83,7 @@ static unsigned     ExportCount = 0;    /* Counter for export symbols */
 
 
 /*****************************************************************************/
-/*                                Internally used functions                         */
+/*                         Internally used functions                         */
 /*****************************************************************************/
 
 
@@ -141,7 +141,7 @@ static SymTable* NewSymTable (SymTable* Parent, const StrBuf* Name)
     S->Parent       = Parent;
     S->Name         = GetStrBufId (Name);
     while (Slots--) {
-               S->Table[Slots] = 0;
+        S->Table[Slots] = 0;
     }
 
     /* Insert the symbol table into the list of all symbol tables */
@@ -191,7 +191,7 @@ static SymTable* NewSymTable (SymTable* Parent, const StrBuf* Name)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -310,12 +310,12 @@ SymTable* SymFindAnyScope (SymTable* Parent, const StrBuf* Name)
 {
     SymTable* Scope;
     do {
-       /* Search in the current table */
-       Scope = SymFindScope (Parent, Name, SYM_FIND_EXISTING);
-               if (Scope == 0) {
-           /* Not found, search in the parent scope, if we have one */
-           Parent = Parent->Parent;
-       }
+        /* Search in the current table */
+        Scope = SymFindScope (Parent, Name, SYM_FIND_EXISTING);
+        if (Scope == 0) {
+            /* Not found, search in the parent scope, if we have one */
+            Parent = Parent->Parent;
+        }
     } while (Scope == 0 && Parent != 0);
 
     return Scope;
@@ -470,7 +470,7 @@ static void SymCheckUndefined (SymEntry* S)
      *
      *   - An undefined symbol in a nested lexical level. If the symbol is not
      *     fixed to this level, search for the symbol in the higher levels and
-     *            make the entry a trampoline entry if we find one.
+     *     make the entry a trampoline entry if we find one.
      *
      *   - If the symbol is not found, it is a real undefined symbol. If the
      *     AutoImport flag is set, make it an import. If the AutoImport flag is
@@ -499,12 +499,12 @@ static void SymCheckUndefined (SymEntry* S)
          * and check for problems.
          */
         if (S->Flags & SF_EXPORT) {
-           if (Sym->Flags & SF_IMPORT) {
-               /* The symbol is already marked as import */
-                       LIError (&S->RefLines,
+            if (Sym->Flags & SF_IMPORT) {
+                /* The symbol is already marked as import */
+                LIError (&S->RefLines,
                          "Symbol `%s' is already an import",
                          GetString (Sym->Name));
-           }
+            }
             if (Sym->Flags & SF_EXPORT) {
                 /* The symbol is already marked as an export. */
                 if (Sym->AddrSize > S->ExportSize) {
@@ -547,27 +547,27 @@ static void SymCheckUndefined (SymEntry* S)
         S->Flags = SF_UNUSED;
 
     } else {
-       /* The symbol is definitely undefined */
-       if (S->Flags & SF_EXPORT) {
-           /* We will not auto-import an export */
-           LIError (&S->RefLines,
+        /* The symbol is definitely undefined */
+        if (S->Flags & SF_EXPORT) {
+            /* We will not auto-import an export */
+            LIError (&S->RefLines,
                      "Exported symbol `%m%p' was never defined",
                      GetSymName (S));
-       } else {
-           if (AutoImport) {
-               /* Mark as import, will be indexed later */
-               S->Flags |= SF_IMPORT;
+        } else {
+            if (AutoImport) {
+                /* Mark as import, will be indexed later */
+                S->Flags |= SF_IMPORT;
                 /* Use the address size for code */
                 S->AddrSize = CodeAddrSize;
                 /* Mark point of import */
                 GetFullLineInfo (&S->DefLines);
-           } else {
-               /* Error */
-               LIError (&S->RefLines,
+            } else {
+                /* Error */
+                LIError (&S->RefLines,
                          "Symbol `%m%p' is undefined",
                          GetSymName (S));
-           }
-       }
+            }
+        }
     }
 }
 
@@ -580,7 +580,7 @@ void SymCheck (void)
 
     /* Check for open scopes */
     if (CurrentScope->Parent != 0) {
-       Error ("Local scope was not closed");
+        Error ("Local scope was not closed");
     }
 
     /* First pass: Walk through all symbols, checking for undefined's and
@@ -588,25 +588,25 @@ void SymCheck (void)
      */
     S = SymList;
     while (S) {
-       /* If the symbol is marked as global, mark it as export, if it is
-        * already defined, otherwise mark it as import.
-        */
-       if (S->Flags & SF_GLOBAL) {
-           if (S->Flags & SF_DEFINED) {
-               SymExportFromGlobal (S);
-           } else {
-               SymImportFromGlobal (S);
-           }
-       }
-
-       /* Handle undefined symbols */
-               if ((S->Flags & SF_UNDEFMASK) == SF_UNDEFVAL) {
-           /* This is an undefined symbol. Handle it. */
-           SymCheckUndefined (S);
-       }
-
-       /* Next symbol */
-       S = S->List;
+        /* If the symbol is marked as global, mark it as export, if it is
+         * already defined, otherwise mark it as import.
+         */
+        if (S->Flags & SF_GLOBAL) {
+            if (S->Flags & SF_DEFINED) {
+                SymExportFromGlobal (S);
+            } else {
+                SymImportFromGlobal (S);
+            }
+        }
+
+        /* Handle undefined symbols */
+        if ((S->Flags & SF_UNDEFMASK) == SF_UNDEFVAL) {
+            /* This is an undefined symbol. Handle it. */
+            SymCheckUndefined (S);
+        }
+
+        /* Next symbol */
+        S = S->List;
     }
 
     /* Second pass: Walk again through the symbols. Count exports and imports
@@ -616,8 +616,8 @@ void SymCheck (void)
      */
     S = SymList;
     while (S) {
-       if ((S->Flags & SF_UNUSED) == 0 &&
-           (S->Flags & SF_UNDEFMASK) != SF_UNDEFVAL) {
+        if ((S->Flags & SF_UNUSED) == 0 &&
+            (S->Flags & SF_UNDEFMASK) != SF_UNDEFVAL) {
 
             /* Check for defined symbols that were never referenced */
             if (IsSizeOfSymbol (S)) {
@@ -631,22 +631,22 @@ void SymCheck (void)
             }
 
             /* Assign an index to all imports */
-           if (S->Flags & SF_IMPORT) {
-               if ((S->Flags & (SF_REFERENCED | SF_FORCED)) == SF_NONE) {
-                   /* Imported symbol is not referenced */
-                   LIWarning (&S->DefLines, 2,
+            if (S->Flags & SF_IMPORT) {
+                if ((S->Flags & (SF_REFERENCED | SF_FORCED)) == SF_NONE) {
+                    /* Imported symbol is not referenced */
+                    LIWarning (&S->DefLines, 2,
                                "Symbol `%m%p' is imported but never used",
                                GetSymName (S));
-               } else {
-                   /* Give the import an id, count imports */
-                   S->ImportId = ImportCount++;
-               }
-           }
+                } else {
+                    /* Give the import an id, count imports */
+                    S->ImportId = ImportCount++;
+                }
+            }
 
             /* Count exports, assign the export ID */
-           if (S->Flags & SF_EXPORT) {
+            if (S->Flags & SF_EXPORT) {
                 S->ExportId = ExportCount++;
-           }
+            }
 
             /* If the symbol is defined but has an unknown address size,
              * recalculate it.
@@ -690,10 +690,10 @@ void SymCheck (void)
                 }
             }
 
-       }
+        }
 
-       /* Next symbol */
-       S = S->List;
+        /* Next symbol */
+        S = S->List;
     }
 }
 
@@ -705,19 +705,19 @@ void SymDump (FILE* F)
     SymEntry* S = SymList;
 
     while (S) {
-       /* Ignore unused symbols */
-       if ((S->Flags & SF_UNUSED) != 0) {
-           fprintf (F,
-                    "%m%-24p %s %s %s %s %s\n",
-                    GetSymName (S),
-                    (S->Flags & SF_DEFINED)? "DEF" : "---",
-                    (S->Flags & SF_REFERENCED)? "REF" : "---",
-                    (S->Flags & SF_IMPORT)? "IMP" : "---",
-                    (S->Flags & SF_EXPORT)? "EXP" : "---",
+        /* Ignore unused symbols */
+        if ((S->Flags & SF_UNUSED) != 0) {
+            fprintf (F,
+                     "%m%-24p %s %s %s %s %s\n",
+                     GetSymName (S),
+                     (S->Flags & SF_DEFINED)? "DEF" : "---",
+                     (S->Flags & SF_REFERENCED)? "REF" : "---",
+                     (S->Flags & SF_IMPORT)? "IMP" : "---",
+                     (S->Flags & SF_EXPORT)? "EXP" : "---",
                      AddrSizeToStr (S->AddrSize));
-       }
-       /* Next symbol */
-       S = S->List;
+        }
+        /* Next symbol */
+        S = S->List;
     }
 }
 
@@ -745,11 +745,11 @@ void WriteImports (void)
             (S->Flags & (SF_REFERENCED | SF_FORCED)) != 0) {
 
             ObjWrite8 (S->AddrSize);
-                   ObjWriteVar (S->Name);
-           WriteLineInfo (&S->DefLines);
+            ObjWriteVar (S->Name);
+            WriteLineInfo (&S->DefLines);
             WriteLineInfo (&S->RefLines);
-       }
-       S = S->List;
+        }
+        S = S->List;
     }
 
     /* Done writing imports */
@@ -773,9 +773,9 @@ void WriteExports (void)
     /* Walk throught list and write all exports to the file */
     S = SymList;
     while (S) {
-               if ((S->Flags & (SF_UNUSED | SF_EXPORT)) == SF_EXPORT) {
+        if ((S->Flags & (SF_UNUSED | SF_EXPORT)) == SF_EXPORT) {
 
-           /* Get the expression bits and the value */
+            /* Get the expression bits and the value */
             long ConstVal;
             unsigned SymFlags = GetSymInfoFlags (S, &ConstVal);
 
@@ -788,37 +788,37 @@ void WriteExports (void)
                 SymFlags |= SYM_SIZE;
             }
 
-           /* Count the number of ConDes types */
-           for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
-               if (S->ConDesPrio[Type] != CD_PRIO_NONE) {
-                   SYM_INC_CONDES_COUNT (SymFlags);
-               }
-           }
+            /* Count the number of ConDes types */
+            for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
+                if (S->ConDesPrio[Type] != CD_PRIO_NONE) {
+                    SYM_INC_CONDES_COUNT (SymFlags);
+                }
+            }
 
-           /* Write the type and the export size */
-           ObjWriteVar (SymFlags);
+            /* Write the type and the export size */
+            ObjWriteVar (SymFlags);
             ObjWrite8 (S->ExportSize);
 
-           /* Write any ConDes declarations */
-           if (SYM_GET_CONDES_COUNT (SymFlags) > 0) {
-               for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
-                   unsigned char Prio = S->ConDesPrio[Type];
-                   if (Prio != CD_PRIO_NONE) {
-                       ObjWrite8 (CD_BUILD (Type, Prio));
-                   }
-               }
-           }
-
-           /* Write the name */
-                   ObjWriteVar (S->Name);
-
-           /* Write the value */
-           if (SYM_IS_CONST (SymFlags)) {
-               /* Constant value */
-               ObjWrite32 (ConstVal);
-           } else {
-               /* Expression involved */
-               WriteExpr (S->Expr);
+            /* Write any ConDes declarations */
+            if (SYM_GET_CONDES_COUNT (SymFlags) > 0) {
+                for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
+                    unsigned char Prio = S->ConDesPrio[Type];
+                    if (Prio != CD_PRIO_NONE) {
+                        ObjWrite8 (CD_BUILD (Type, Prio));
+                    }
+                }
+            }
+
+            /* Write the name */
+            ObjWriteVar (S->Name);
+
+            /* Write the value */
+            if (SYM_IS_CONST (SymFlags)) {
+                /* Constant value */
+                ObjWrite32 (ConstVal);
+            } else {
+                /* Expression involved */
+                WriteExpr (S->Expr);
             }
 
             /* If the symbol has a size, write it to the file */
@@ -826,11 +826,11 @@ void WriteExports (void)
                 ObjWriteVar (Size);
             }
 
-           /* Write the line infos */
+            /* Write the line infos */
             WriteLineInfo (&S->DefLines);
-           WriteLineInfo (&S->RefLines);
-       }
-       S = S->List;
+            WriteLineInfo (&S->RefLines);
+        }
+        S = S->List;
     }
 
     /* Done writing exports */
@@ -851,25 +851,25 @@ void WriteDbgSyms (void)
     /* Check if debug info is requested */
     if (DbgSyms) {
 
-       /* Walk through the list, give each symbol an id and count them */
-       Count = 0;
-       S = SymList;
-       while (S) {
-           if (IsDbgSym (S)) {
+        /* Walk through the list, give each symbol an id and count them */
+        Count = 0;
+        S = SymList;
+        while (S) {
+            if (IsDbgSym (S)) {
                 S->DebugSymId = Count++;
-           }
-           S = S->List;
-       }
+            }
+            S = S->List;
+        }
 
-       /* Write the symbol count to the list */
-               ObjWriteVar (Count);
+        /* Write the symbol count to the list */
+        ObjWriteVar (Count);
 
-               /* Walk through list and write all symbols to the file. Ignore size
+        /* Walk through list and write all symbols to the file. Ignore size
          * symbols.
          */
-       S = SymList;
-       while (S) {
-           if (IsDbgSym (S)) {
+        S = SymList;
+        while (S) {
+            if (IsDbgSym (S)) {
 
                 /* Get the expression bits and the value */
                 long ConstVal;
@@ -884,8 +884,8 @@ void WriteDbgSyms (void)
                     SymFlags |= SYM_SIZE;
                 }
 
-               /* Write the type */
-               ObjWriteVar (SymFlags);
+                /* Write the type */
+                ObjWriteVar (SymFlags);
 
                 /* Write the address size */
                 ObjWrite8 (S->AddrSize);
@@ -899,17 +899,17 @@ void WriteDbgSyms (void)
                     ObjWriteVar (S->Sym.Entry->DebugSymId);
                 }
 
-               /* Write the name */
-                       ObjWriteVar (S->Name);
+                /* Write the name */
+                ObjWriteVar (S->Name);
 
-               /* Write the value */
-               if (SYM_IS_CONST (SymFlags)) {
-                   /* Constant value */
-                   ObjWrite32 (ConstVal);
-               } else {
-                   /* Expression involved */
-                   WriteExpr (S->Expr);
-               }
+                /* Write the value */
+                if (SYM_IS_CONST (SymFlags)) {
+                    /* Constant value */
+                    ObjWrite32 (ConstVal);
+                } else {
+                    /* Expression involved */
+                    WriteExpr (S->Expr);
+                }
 
                 /* If the symbol has a size, write it to the file */
                 if (SYM_HAS_SIZE (SymFlags)) {
@@ -924,17 +924,17 @@ void WriteDbgSyms (void)
                     ObjWriteVar (GetSymExportId (S));
                 }
 
-               /* Write the line infos */
+                /* Write the line infos */
                 WriteLineInfo (&S->DefLines);
-               WriteLineInfo (&S->RefLines);
-           }
-           S = S->List;
-       }
+                WriteLineInfo (&S->RefLines);
+            }
+            S = S->List;
+        }
 
     } else {
 
-       /* No debug symbols */
-       ObjWriteVar (0);
+        /* No debug symbols */
+        ObjWriteVar (0);
 
     }
 
index 0a0b2caa95eef16caca4b8217ee1b89a10b6e984..e7f7384d0b748216b576d713a4feb9eb2597e4dd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                symtab.h                                  */
+/*                                 symtab.h                                  */
 /*                                                                           */
-/*                Symbol table for the ca65 macroassembler                  */
+/*                 Symbol table for the ca65 macroassembler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Arguments for SymFind... */
 typedef enum {
-    SYM_FIND_EXISTING  = 0x00,
-    SYM_ALLOC_NEW      = 0x01,
+    SYM_FIND_EXISTING   = 0x00,
+    SYM_ALLOC_NEW       = 0x01,
     SYM_CHECK_ONLY      = 0x02,
 } SymFindAction;
 
@@ -73,29 +73,29 @@ struct SymTable {
     SymTable*           Next;           /* Pointer to next table in list */
     SymTable*           Left;           /* Pointer to smaller entry */
     SymTable*           Right;          /* Pointer to greater entry */
-    SymTable*                  Parent;         /* Link to enclosing scope if any */
+    SymTable*           Parent;         /* Link to enclosing scope if any */
     SymTable*           Childs;         /* Pointer to child scopes */
     SymEntry*           Label;          /* Scope label */
     Collection          Spans;          /* Spans for this scope */
     unsigned            Id;             /* Scope id */
     unsigned short      Flags;          /* Symbol table flags */
-    unsigned char      AddrSize;       /* Address size */
+    unsigned char       AddrSize;       /* Address size */
     unsigned char       Type;           /* Type of the scope */
     unsigned            Level;          /* Lexical level */
-    unsigned                   TableSlots;     /* Number of hash table slots */
-    unsigned                   TableEntries;   /* Number of entries in the table */
+    unsigned            TableSlots;     /* Number of hash table slots */
+    unsigned            TableEntries;   /* Number of entries in the table */
     unsigned            Name;           /* Name of the scope */
-    SymEntry*                  Table[1];       /* Dynamic allocation */
+    SymEntry*           Table[1];       /* Dynamic allocation */
 };
 
 /* Symbol tables */
 extern SymTable*        CurrentScope;   /* Pointer to current symbol table */
-extern SymTable*       RootScope;      /* Root symbol table */
+extern SymTable*        RootScope;      /* Root symbol table */
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5fb3d2fc805270640ac9d732dea386e9765c4613..b2d103dde17d5d6410205552e15bacfa7c2bcbe3 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index eba24cdfaac062c7c70959c088302c678289ea5c..5214771fd9d9cab259e5753160e320f4572a81fa 100644 (file)
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Tokens */
 typedef enum token_t {
-    TOK_NONE,          /* Start value, invalid */
-    TOK_EOF,                   /* End of input file */
-    TOK_SEP,           /* Separator (usually newline) */
-    TOK_IDENT,         /* An identifier */
+    TOK_NONE,           /* Start value, invalid */
+    TOK_EOF,            /* End of input file */
+    TOK_SEP,            /* Separator (usually newline) */
+    TOK_IDENT,          /* An identifier */
     TOK_LOCAL_IDENT,    /* A cheap local identifier */
 
-    TOK_INTCON,        /* Integer constant */
-    TOK_CHARCON,       /* Character constant */
-    TOK_STRCON,                /* String constant */
+    TOK_INTCON,         /* Integer constant */
+    TOK_CHARCON,        /* Character constant */
+    TOK_STRCON,         /* String constant */
 
-    TOK_A,             /* A)ccumulator */
-    TOK_X,             /* X register */
-    TOK_Y,             /* Y register */
-    TOK_S,             /* S register */
+    TOK_A,              /* A)ccumulator */
+    TOK_X,              /* X register */
+    TOK_Y,              /* Y register */
+    TOK_S,              /* S register */
     TOK_REG,            /* Sweet16 R.. register (in sweet16 mode) */
 
     TOK_ASSIGN,         /* := */
-    TOK_ULABEL,                /* :++ or :-- */
-
-    TOK_EQ,            /* = */
-    TOK_NE,            /* <> */
-    TOK_LT,            /* < */
-    TOK_GT,            /* > */
-    TOK_LE,            /* <= */
-    TOK_GE,            /* >= */
-
-    TOK_BOOLAND,               /* .and */
-    TOK_BOOLOR,                /* .or */
-    TOK_BOOLXOR,       /* .xor */
-    TOK_BOOLNOT,       /* .not */
-
-    TOK_PLUS,          /* + */
-    TOK_MINUS,         /* - */
-    TOK_MUL,           /* * */
-    TOK_STAR = TOK_MUL,        /* Alias */
-    TOK_DIV,           /* / */
-    TOK_MOD,           /* ! */
-    TOK_OR,            /* | */
-    TOK_XOR,           /* ^ */
-    TOK_AND,           /* & */
-    TOK_SHL,           /* << */
-    TOK_SHR,           /* >> */
-    TOK_NOT,           /* ~ */
-
-    TOK_PC,            /* $ if enabled */
-    TOK_NAMESPACE,     /* :: */
-    TOK_DOT,           /* . */
-    TOK_COMMA,         /* , */
-    TOK_HASH,          /* # */
-    TOK_COLON,                 /* : */
-    TOK_LPAREN,                /* ( */
-    TOK_RPAREN,                /* ) */
-    TOK_LBRACK,                /* [ */
-    TOK_RBRACK,                /* ] */
+    TOK_ULABEL,         /* :++ or :-- */
+
+    TOK_EQ,             /* = */
+    TOK_NE,             /* <> */
+    TOK_LT,             /* < */
+    TOK_GT,             /* > */
+    TOK_LE,             /* <= */
+    TOK_GE,             /* >= */
+
+    TOK_BOOLAND,        /* .and */
+    TOK_BOOLOR,         /* .or */
+    TOK_BOOLXOR,        /* .xor */
+    TOK_BOOLNOT,        /* .not */
+
+    TOK_PLUS,           /* + */
+    TOK_MINUS,          /* - */
+    TOK_MUL,            /* * */
+    TOK_STAR = TOK_MUL, /* Alias */
+    TOK_DIV,            /* / */
+    TOK_MOD,            /* ! */
+    TOK_OR,             /* | */
+    TOK_XOR,            /* ^ */
+    TOK_AND,            /* & */
+    TOK_SHL,            /* << */
+    TOK_SHR,            /* >> */
+    TOK_NOT,            /* ~ */
+
+    TOK_PC,             /* $ if enabled */
+    TOK_NAMESPACE,      /* :: */
+    TOK_DOT,            /* . */
+    TOK_COMMA,          /* , */
+    TOK_HASH,           /* # */
+    TOK_COLON,          /* : */
+    TOK_LPAREN,         /* ( */
+    TOK_RPAREN,         /* ) */
+    TOK_LBRACK,         /* [ */
+    TOK_RBRACK,         /* ] */
     TOK_LCURLY,         /* { */
     TOK_RCURLY,         /* } */
     TOK_AT,             /* @ - in Sweet16 mode */
@@ -115,12 +115,12 @@ typedef enum token_t {
     TOK_OVERRIDE_ABS,   /* a: */
     TOK_OVERRIDE_FAR,   /* f: */
 
-    TOK_MACPARAM,      /* Macro parameter, not generated by scanner */
-    TOK_REPCOUNTER,    /* Repeat counter, not generated by scanner */
+    TOK_MACPARAM,       /* Macro parameter, not generated by scanner */
+    TOK_REPCOUNTER,     /* Repeat counter, not generated by scanner */
 
     /* The next ones are tokens for the pseudo instructions. Keep together! */
     TOK_FIRSTPSEUDO,
-    TOK_A16            = TOK_FIRSTPSEUDO,
+    TOK_A16             = TOK_FIRSTPSEUDO,
     TOK_A8,
     TOK_ADDR,
     TOK_ALIGN,
@@ -255,9 +255,9 @@ typedef enum token_t {
     TOK_WORD,
     TOK_XMATCH,
     TOK_ZEROPAGE,
-    TOK_LASTPSEUDO     = TOK_ZEROPAGE,
+    TOK_LASTPSEUDO      = TOK_ZEROPAGE,
 
-    TOK_COUNT                  /* Count of tokens */
+    TOK_COUNT           /* Count of tokens */
 } token_t;
 
 
@@ -284,7 +284,7 @@ struct Token {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9c12422ec2eb31fa2f564431f3e683e0af214815..e6adf3d961d003a68fd1e6ad81002ff6a40fe8fb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                toklist.c                                 */
+/*                                 toklist.c                                 */
 /*                                                                           */
-/*                 Token list for the ca65 macroassembler                   */
+/*                  Token list for the ca65 macroassembler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -61,7 +61,7 @@ static unsigned PushCounter = 0;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -107,19 +107,19 @@ enum TC TokCmp (const TokNode* N)
 /* Compare the token given as parameter against the current token */
 {
     if (N->T.Tok != CurTok.Tok) {
-       /* Different token */
-       return tcDifferent;
+        /* Different token */
+        return tcDifferent;
     }
 
     /* If the token has string attribute, check it */
     if (TokHasSVal (N->T.Tok)) {
-               if (SB_Compare (&CurTok.SVal, &N->T.SVal) != 0) {
-           return tcSameToken;
-       }
+        if (SB_Compare (&CurTok.SVal, &N->T.SVal) != 0) {
+            return tcSameToken;
+        }
     } else if (TokHasIVal (N->T.Tok)) {
-       if (N->T.IVal != CurTok.IVal) {
-           return tcSameToken;
-       }
+        if (N->T.IVal != CurTok.IVal) {
+            return tcSameToken;
+        }
     }
 
     /* Tokens are identical */
@@ -135,14 +135,14 @@ TokList* NewTokList (void)
     TokList* T = xmalloc (sizeof (TokList));
 
     /* Initialize the fields */
-    T->Next    = 0;
-    T->Root    = 0;
-    T->Last    = 0;
-    T->RepCount        = 0;
-    T->RepMax  = 1;
-    T->Count   = 0;
-    T->Check   = 0;
-    T->Data    = 0;
+    T->Next     = 0;
+    T->Root     = 0;
+    T->Last     = 0;
+    T->RepCount = 0;
+    T->RepMax   = 1;
+    T->Count    = 0;
+    T->Check    = 0;
+    T->Data     = 0;
     T->LI       = 0;
 
     /* Return the new list */
@@ -157,9 +157,9 @@ void FreeTokList (TokList* List)
     /* Free the token list */
     TokNode* T = List->Root;
     while (T) {
-       TokNode* Tmp = T;
-       T = T->Next;
-       FreeTokNode (Tmp);
+        TokNode* Tmp = T;
+        T = T->Next;
+        FreeTokNode (Tmp);
     }
 
     /* Free associated line info */
@@ -169,7 +169,7 @@ void FreeTokList (TokList* List)
 
     /* If we have associated data, free it */
     if (List->Data) {
-       xfree (List->Data);
+        xfree (List->Data);
     }
 
     /* Free the list structure itself */
@@ -202,9 +202,9 @@ void AddCurTok (TokList* List)
 
     /* Insert the node into the list */
     if (List->Root == 0) {
-       List->Root = T;
+        List->Root = T;
     } else {
-       List->Last->Next = T;
+        List->Last->Next = T;
     }
     List->Last = T;
 
@@ -227,16 +227,16 @@ static int ReplayTokList (void* List)
      * zero, delete the list and remove the function from the stack.
      */
     if (L->Last == 0) {
-       if (++L->RepCount >= L->RepMax) {
-           /* Done with this list */
-           FreeTokList (L);
+        if (++L->RepCount >= L->RepMax) {
+            /* Done with this list */
+            FreeTokList (L);
             --PushCounter;
-           PopInput ();
+            PopInput ();
             return 0;
-       } else {
-           /* Replay one more time */
-           L->Last = L->Root;
-       }
+        } else {
+            /* Replay one more time */
+            L->Last = L->Root;
+        }
     }
 
     /* Set the next token from the list */
@@ -252,7 +252,7 @@ static int ReplayTokList (void* List)
      * just set and changed it as apropriate.
      */
     if (L->Check) {
-       L->Check (L);
+        L->Check (L);
     }
 
     /* Set the pointer to the next token */
@@ -272,8 +272,8 @@ void PushTokList (TokList* List, const char* Desc)
 {
     /* If the list is empty, just delete it and bail out */
     if (List->Count == 0) {
-       FreeTokList (List);
-       return;
+        FreeTokList (List);
+        return;
     }
 
     /* Reset the last pointer to the first element */
index 8b4f6449bf4f4587635fcd486f8e7c6d74b61807..6e7a414cc69521fed9c72b741af06823b95c01dd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                toklist.h                                 */
+/*                                 toklist.h                                 */
 /*                                                                           */
-/*                 Token list for the ca65 macroassembler                   */
+/*                  Token list for the ca65 macroassembler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Struct holding a token */
 typedef struct TokNode TokNode;
 struct TokNode {
-    TokNode*   Next;                   /* For single linked list */
+    TokNode*    Next;                   /* For single linked list */
     Token       T;                      /* Token value */
 };
 
 /* Struct holding a token list */
 typedef struct TokList TokList;
 struct TokList {
-    TokList*   Next;                   /* Single linked list (for replay) */
-    TokNode*   Root;                   /* First node in list */
-    TokNode*   Last;                   /* Last node in list or replay */
-    unsigned           RepCount;               /* Repeat counter (used for replay) */
-    unsigned   RepMax;                 /* Maximum repeat count for replay */
-    unsigned   Count;                  /* Token count */
-    void       (*Check)(TokList*);     /* Token check function */
-    void*              Data;                   /* Additional data for check */
+    TokList*    Next;                   /* Single linked list (for replay) */
+    TokNode*    Root;                   /* First node in list */
+    TokNode*    Last;                   /* Last node in list or replay */
+    unsigned    RepCount;               /* Repeat counter (used for replay) */
+    unsigned    RepMax;                 /* Maximum repeat count for replay */
+    unsigned    Count;                  /* Token count */
+    void        (*Check)(TokList*);     /* Token check function */
+    void*       Data;                   /* Additional data for check */
     LineInfo*   LI;                     /* Line info for replay */
 };
 
@@ -78,15 +78,15 @@ struct TokList {
 
 /* Return codes for TokCmp - higher numeric code means better match */
 enum TC {
-    tcDifferent,                       /* Different tokents */
-    tcSameToken,                       /* Same token, different attribute */
-    tcIdentical                                /* Identical (token + attribute) */
+    tcDifferent,                        /* Different tokents */
+    tcSameToken,                        /* Same token, different attribute */
+    tcIdentical                         /* Identical (token + attribute) */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 768312c1978a97e70f21b984d6bf01b3e39c53c9..140dad3d93426910cc156a2740781aecd5039009 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                ulabel.c                                  */
+/*                                 ulabel.c                                  */
 /*                                                                           */
-/*               Unnamed labels for the ca65 macroassembler                 */
+/*                Unnamed labels for the ca65 macroassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 typedef struct ULabel ULabel;
 struct ULabel {
     Collection  LineInfos;      /* Position of the label in the source */
-    ExprNode*  Val;            /* The label value - may be NULL */
+    ExprNode*   Val;            /* The label value - may be NULL */
     unsigned    Ref;            /* Number of references */
 };
 
 /* List management */
-static Collection ULabList     = STATIC_COLLECTION_INITIALIZER;
-static unsigned ULabDefCount   = 0;    /* Number of defined labels */
+static Collection ULabList      = STATIC_COLLECTION_INITIALIZER;
+static unsigned ULabDefCount    = 0;    /* Number of defined labels */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -104,7 +104,7 @@ ExprNode* ULabRef (int Which)
  * must be resolved later.
  */
 {
-    int            Index;
+    int     Index;
     ULabel* L;
 
     /* Which can never be 0 */
@@ -112,27 +112,27 @@ ExprNode* ULabRef (int Which)
 
     /* Get the index of the referenced label */
     if (Which > 0) {
-       --Which;
+        --Which;
     }
     Index = (int) ULabDefCount + Which;
 
     /* We cannot have negative label indices */
     if (Index < 0) {
-       /* Label does not exist */
-       Error ("Undefined label");
-       /* We must return something valid */
-       return GenCurrentPC();
+        /* Label does not exist */
+        Error ("Undefined label");
+        /* We must return something valid */
+        return GenCurrentPC();
     }
 
     /* Check if the label exists. If not, generate enough forward labels. */
     if (Index < (int) CollCount (&ULabList)) {
         /* The label exists, get it. */
-       L = CollAtUnchecked (&ULabList, Index);
+        L = CollAtUnchecked (&ULabList, Index);
     } else {
         /* Generate new, undefined labels */
-       while (Index >= (int) CollCount (&ULabList)) {
+        while (Index >= (int) CollCount (&ULabList)) {
             L = NewULabel (0);
-       }
+        }
     }
 
     /* Mark the label as referenced */
@@ -154,18 +154,18 @@ void ULabDef (void)
 /* Define an unnamed label at the current PC */
 {
     if (ULabDefCount < CollCount (&ULabList)) {
-       /* We did already have a forward reference to this label, so has
-        * already been generated, but doesn't have a value. Use the current
-        * PC for the label value.
-        */
-       ULabel* L = CollAtUnchecked (&ULabList, ULabDefCount);
-       CHECK (L->Val == 0);
-       L->Val = GenCurrentPC ();     
+        /* We did already have a forward reference to this label, so has
+         * already been generated, but doesn't have a value. Use the current
+         * PC for the label value.
+         */
+        ULabel* L = CollAtUnchecked (&ULabList, ULabDefCount);
+        CHECK (L->Val == 0);
+        L->Val = GenCurrentPC ();     
         ReleaseFullLineInfo (&L->LineInfos);
         GetFullLineInfo (&L->LineInfos);
     } else {
-       /* There is no such label, create it */
-               NewULabel (GenCurrentPC ());
+        /* There is no such label, create it */
+        NewULabel (GenCurrentPC ());
     }
 
     /* We have one more defined label */
@@ -207,9 +207,9 @@ void ULabDone (void)
     /* Check if there are undefined labels */
     unsigned I = ULabDefCount;
     while (I < CollCount (&ULabList)) {
-       ULabel* L = CollAtUnchecked (&ULabList, I);
-               LIError (&L->LineInfos, "Undefined label");
-       ++I;
+        ULabel* L = CollAtUnchecked (&ULabList, I);
+        LIError (&L->LineInfos, "Undefined label");
+        ++I;
     }
 
     /* Walk over all labels and emit a warning if any unreferenced ones
index 9e8d1b37f664c77f2ed3f1bb244df1b128f798fc..c7c1729182fd1e52096089ec19545631bb8a97f8 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                ulabel.h                                  */
+/*                                 ulabel.h                                  */
 /*                                                                           */
-/*               Unnamed labels for the ca65 macroassembler                 */
+/*                Unnamed labels for the ca65 macroassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3d82abaeb0c7da9286376d482ba4d9602fab28ac..bdb4a9d461bacd41d066386bcf42ff4050129af7 100755 (executable)
@@ -3,7 +3,7 @@
 #                                                                             #
 #                                  ca65html                                   #
 #                                                                             #
-#                     Convert a ca65 source into HTML                        #
+#                      Convert a ca65 source into HTML                        #
 #                                                                             #
 #                                                                             #
 #                                                                             #
@@ -55,42 +55,42 @@ use Getopt::Long;
 
 
 #-----------------------------------------------------------------------------#
-#                                 Variables                                  #
+#                                  Variables                                  #
 # ----------------------------------------------------------------------------#
 
 
 
 # Global variables
-my %Files                  = ();           # List of all files.
-my $FileCount              = 0;            # Number of input files
-my %Exports                = ();           # List of exported symbols.
-my %Imports                = ();           # List of imported symbols.
-my %Labels                 = ();           # List of all labels
-my $LabelNum               = 0;            # Counter to generate unique labels
+my %Files           = ();           # List of all files.
+my $FileCount       = 0;            # Number of input files
+my %Exports         = ();           # List of exported symbols.
+my %Imports         = ();           # List of imported symbols.
+my %Labels          = ();           # List of all labels
+my $LabelNum        = 0;            # Counter to generate unique labels
 
 # Command line options
-my $BGColor                = "#FFFFFF";    # Background color
+my $BGColor         = "#FFFFFF";    # Background color
 my $Colorize        = 0;            # Colorize the output
 my $CommentColor    = "#B22222";    # Color for comments
 my $CRefs           = 0;            # Add references to the C file
 my $CtrlColor       = "#228B22";    # Color for control directives
-my $CvtTabs        = 0;            # Convert tabs to spaces
+my $CvtTabs         = 0;            # Convert tabs to spaces
 my $TabSize         = 8;            # This is how god created them
-my $Debug                  = 0;            # No debugging
-my $Help                   = 0;            # Help flag
-my $HTMLDir                = "";           # Directory in which to create the files
-my $IndexCols              = 6;            # Columns in the file listing
-my $IndexTitle             = "Index";      # Title of index page
-my $IndexName              = "index.html"; # Name of index page
-my $IndexPage              = 0;            # Create an index page
+my $Debug           = 0;            # No debugging
+my $Help            = 0;            # Help flag
+my $HTMLDir         = "";           # Directory in which to create the files
+my $IndexCols       = 6;            # Columns in the file listing
+my $IndexTitle      = "Index";      # Title of index page
+my $IndexName       = "index.html"; # Name of index page
+my $IndexPage       = 0;            # Create an index page
 my $KeywordColor    = "#A020F0";    # Color for keywords
 my $LineLabels      = 0;            # Add a HTML label to each line
 my $LineNumbers     = 0;            # Add line numbers to the output
-my $LinkStyle              = 0;            # Default link style
-my $ReplaceExt             = 0;            # Replace extension instead of appending
+my $LinkStyle       = 0;            # Default link style
+my $ReplaceExt      = 0;            # Replace extension instead of appending
 my $StringColor     = "#6169C1";    # Color for strings
-my $TextColor              = "#000000";    # Text color
-my $Verbose                = 0;            # Be quiet
+my $TextColor       = "#000000";    # Text color
+my $Verbose         = 0;            # Be quiet
 
 # Table used to convert the label number into names
 my @NameTab         = ('A' .. 'Z', '0' .. '9');
@@ -98,7 +98,7 @@ my @NameTab         = ('A' .. 'Z', '0' .. '9');
 
 
 #-----------------------------------------------------------------------------#
-#                             Helper functions                               #
+#                              Helper functions                               #
 # ----------------------------------------------------------------------------#
 
 
@@ -112,7 +112,7 @@ sub Abort {
 # Print a message if verbose is true
 sub Gabble {
     if ($Verbose) {
-       print "ca65html: @_\n";
+        print "ca65html: @_\n";
     }
 }
 
@@ -125,8 +125,8 @@ sub GenLabel {
 
     # Generate the label
     for ($I = 0; $I < 4; $I++) {
-       $L = $NameTab[$Num % 36] . $L;
-       $Num /= 36;
+        $L = $NameTab[$Num % 36] . $L;
+        $Num /= 36;
     }
     return $L;
 }
@@ -139,9 +139,9 @@ sub GetOutName {
 
     # Create the output file name from the input file name
     if ($ReplaceExt && $InName =~ /^(.+)\.([^\.\/]*)$/) {
-               return "$1.html";
+        return "$1.html";
     } else {
-               return "$InName.html";
+        return "$InName.html";
     }
 }
 
@@ -169,7 +169,7 @@ sub StripPath {
 
 
 #-----------------------------------------------------------------------------#
-#                        Document header and footer                          #
+#                         Document header and footer                          #
 # ----------------------------------------------------------------------------#
 
 
@@ -302,7 +302,7 @@ sub ColorizeString {
 
 
 #-----------------------------------------------------------------------------#
-#                           File list management                             #
+#                            File list management                             #
 #-----------------------------------------------------------------------------#
 
 
@@ -317,27 +317,27 @@ sub AddFile {
 
     # Check if we have the file already
     if (exists ($Files{$Name})) {
-       Gabble ("File \"$FileName\" already known");
-       return;
+        Gabble ("File \"$FileName\" already known");
+        return;
     }
 
     # Check with the full pathname. If we don't find it, search in the current
     # directory
     if (-f $FileName && -r _) {
-       $Files{$Name} = $FileName;
-       $FileCount++;
+        $Files{$Name} = $FileName;
+        $FileCount++;
     } elsif (-f $Name && -r _) {
-       $Files{$Name} = $Name;
-       $FileCount++;
+        $Files{$Name} = $Name;
+        $FileCount++;
     } else {
-       Abort ("$FileName not found or not readable");
+        Abort ("$FileName not found or not readable");
     }
 }
 
 
 
 #-----------------------------------------------------------------------------#
-#                      Referencing and defining labels                       #
+#                       Referencing and defining labels                       #
 #-----------------------------------------------------------------------------#
 
 
@@ -348,44 +348,44 @@ sub RefLabel {
     # Arguments are: Filename, identifier, item that should be tagged
     my $FileName = $_[0];
     my $Id       = $_[1];
-    my $Item    = $_[2];
+    my $Item     = $_[2];
 
     # Search for the identifier in the list of labels
     if (exists ($Labels{$FileName}{$Id})) {
-       # It is a label (in this file)
-       return sprintf ("<a href=\"#%s\">%s</a>", $Labels{$FileName}{$Id}, $Item);
+        # It is a label (in this file)
+        return sprintf ("<a href=\"#%s\">%s</a>", $Labels{$FileName}{$Id}, $Item);
     } elsif (exists ($Imports{$FileName}{$Id})) {
-               # It is an import. If LinkStyle is 1, or if the file exporting the
-       # identifier is not visible, we link to the .import statement in the
-       # current file. Otherwise we link directly to the referenced symbol
-       # in the file that exports it.
-       if ($LinkStyle == 1 or not exists ($Exports{$Id})) {
-           return sprintf ("<a href=\"#%s\">%s</a>", $Imports{$FileName}{$Id}, $Item);
-       } else {
-           # Get the filename from the export
-           my $Label;
-                   ($FileName, $Label) = split (/#/, $Exports{$Id});
-                   if (not defined ($Labels{$FileName}{$Id})) {
-               # This may currently happen because we don't see .include
-               # statements, so we may have an export but no definition.
-               # Link to the .export statement instead
-               $Label = $Exports{$Id};
-           } else {
-               # Link to the definition in the file
-               $Label = sprintf ("%s#%s", $FileName, $Labels{$FileName}{$Id});
-           }
-           return sprintf ("<a href=\"%s\">%s</a>", $Label, $Item);
-       }
+        # It is an import. If LinkStyle is 1, or if the file exporting the
+        # identifier is not visible, we link to the .import statement in the
+        # current file. Otherwise we link directly to the referenced symbol
+        # in the file that exports it.
+        if ($LinkStyle == 1 or not exists ($Exports{$Id})) {
+            return sprintf ("<a href=\"#%s\">%s</a>", $Imports{$FileName}{$Id}, $Item);
+        } else {
+            # Get the filename from the export
+            my $Label;
+            ($FileName, $Label) = split (/#/, $Exports{$Id});
+            if (not defined ($Labels{$FileName}{$Id})) {
+                # This may currently happen because we don't see .include
+                # statements, so we may have an export but no definition.
+                # Link to the .export statement instead
+                $Label = $Exports{$Id};
+            } else {
+                # Link to the definition in the file
+                $Label = sprintf ("%s#%s", $FileName, $Labels{$FileName}{$Id});
+            }
+            return sprintf ("<a href=\"%s\">%s</a>", $Label, $Item);
+        }
     } else {
-       # The symbol is unknown, return as is
-       return $Item;
+        # The symbol is unknown, return as is
+        return $Item;
     }
 }
 
 
 
 #-----------------------------------------------------------------------------#
-#                                  Pass 1                                    #
+#                                   Pass 1                                    #
 # ----------------------------------------------------------------------------#
 
 
@@ -407,7 +407,7 @@ sub Process1 {
     my $CheapPrefix = "";
 
     # Open a the input file
-    my $FileName = $Files{$InName};    # Includes path if needed
+    my $FileName = $Files{$InName};     # Includes path if needed
     open (INPUT, "<$FileName") or Abort ("Cannot open $FileName: $!");
 
     # Keep the user happy
@@ -416,65 +416,65 @@ sub Process1 {
     # Read and process all lines from the file
     while ($Line = <INPUT>) {
 
-               # Remove the newline
-               chomp ($Line);
+        # Remove the newline
+        chomp ($Line);
 
-               # Check for a label
+        # Check for a label
         if ($Line =~ /^\s*(([\@?]?)[_a-zA-Z]\w*)\s*(?::=?|=)/) {
 
-           # Is this a local label?
-           if ($2 ne "") {
-               # Use the prefix
-               $Id = "$CheapPrefix$1";
-           } else {
-               # Use as is
-               $Id = $1;
-               # Remember the id as new cheap local prefix
-               $CheapPrefix = $Id;
-           }
+            # Is this a local label?
+            if ($2 ne "") {
+                # Use the prefix
+                $Id = "$CheapPrefix$1";
+            } else {
+                # Use as is
+                $Id = $1;
+                # Remember the id as new cheap local prefix
+                $CheapPrefix = $Id;
+            }
 
-           # Remember the label
-           $Labels{$OutName}{$Id} = GenLabel();
+            # Remember the label
+            $Labels{$OutName}{$Id} = GenLabel();
 
-       # Check for an import statement
-       } elsif ($Line =~ /^\s*\.(?:(?:force)?import|importzp)\s+(.*?)\s*(?:;.*)?$/i) {
+        # Check for an import statement
+        } elsif ($Line =~ /^\s*\.(?:(?:force)?import|importzp)\s+(.*?)\s*(?:;.*)?$/i) {
 
-           # Split into a list of identifiers
-           my @Ids = split (/\s*(?::\s*[A-Za-z]+\s*)?,\s*/, $1);
+            # Split into a list of identifiers
+            my @Ids = split (/\s*(?::\s*[A-Za-z]+\s*)?,\s*/, $1);
 
-           # Remove an address-size specifier, from the last identifier,
-           # if there is one.
-           $Ids[$#Ids] =~ s/\s*:\s*[A-Za-z]+//;
+            # Remove an address-size specifier, from the last identifier,
+            # if there is one.
+            $Ids[$#Ids] =~ s/\s*:\s*[A-Za-z]+//;
 
-           for $Id (@Ids) {
-               $Imports{$OutName}{$Id} = GenLabel();
-           }
+            for $Id (@Ids) {
+                $Imports{$OutName}{$Id} = GenLabel();
+            }
 
-       # Check for an export statement
-       } elsif ($Line =~ /^\s*\.export(?:zp)?\s+(.*?)\s*(?:;.*)?$/i) {
+        # Check for an export statement
+        } elsif ($Line =~ /^\s*\.export(?:zp)?\s+(.*?)\s*(?:;.*)?$/i) {
 
-           # Split into a list of identifiers
-           my @Ids = split (/\s*(?::\s*[A-Za-z]+\s*)?,\s*/, $1);
+            # Split into a list of identifiers
+            my @Ids = split (/\s*(?::\s*[A-Za-z]+\s*)?,\s*/, $1);
 
-           # Remove an address-size specifier, from the last identifier,
-           # if there is one.
-           $Ids[$#Ids] =~ s/\s*:\s*[A-Za-z]+//;
+            # Remove an address-size specifier, from the last identifier,
+            # if there is one.
+            $Ids[$#Ids] =~ s/\s*:\s*[A-Za-z]+//;
 
-                   for $Id (@Ids) {
-               $Exports{$Id} = sprintf ("%s#%s", $OutName, GenLabel());
-           }
+            for $Id (@Ids) {
+                $Exports{$Id} = sprintf ("%s#%s", $OutName, GenLabel());
+            }
 
-       # Check for an actor statement.
-               } elsif ($Line =~ /^\s*\.(?:(?:(?:con|de)struc|interrup)tor|condes)\s+([_a-z]\w*)/i) {
-           $Exports{$1} = sprintf ("%s#%s", $OutName, GenLabel());
+        # Check for an actor statement.
+        } elsif ($Line =~ /^\s*\.(?:(?:(?:con|de)struc|interrup)tor|condes)\s+([_a-z]\w*)/i) {
+            $Exports{$1} = sprintf ("%s#%s", $OutName, GenLabel());
 
-       # Check for a .proc statement
-               } elsif ($Line =~ /^\s*\.proc\s+([_a-z]\w*)/i) {
+        # Check for a .proc statement
+        } elsif ($Line =~ /^\s*\.proc\s+([_a-z]\w*)/i) {
 
-           # Remember the ID as the new cheap-local prefix.
-           $CheapPrefix = $1;
-           $Labels{$OutName}{$1} = GenLabel();
-       }
+            # Remember the ID as the new cheap-local prefix.
+            $CheapPrefix = $1;
+            $Labels{$OutName}{$1} = GenLabel();
+        }
     }
 
     # Close the input file
@@ -491,15 +491,15 @@ sub Pass1 () {
 
     # Walk over the files
     for my $InName (keys (%Files)) {
-       # Process one file
-       Process1 ($InName);
+        # Process one file
+        Process1 ($InName);
     }
 }
 
 
 
 #-----------------------------------------------------------------------------#
-#                                  Pass 2                                    #
+#                                   Pass 2                                    #
 # ----------------------------------------------------------------------------#
 
 
@@ -527,7 +527,7 @@ sub Process2 {
     my $CheapPrefix = "";
 
     # Open a the input file
-    my $FileName = $Files{$InName};    # Includes path if needed
+    my $FileName = $Files{$InName};     # Includes path if needed
     open (INPUT, "<$FileName") or Abort ("Cannot open $FileName: $!");
 
     # Open the output file and print the HTML header
@@ -541,17 +541,17 @@ sub Process2 {
     # The instructions that will have hyperlinks if a label is used.
     # And, they will be highlighted when color is used.
     my $LabelIns = "adc|add|and|asl|bb[rs][0-7]|b[cv][cs]|beq|bge|bit|blt|".
-                "bmi|bne|bpl|br[akl]|bsr|cmp|cop|cp[axy]|dec|eor|inc|jml|".
-                "jmp|jsl|jsr|ld[axy]|lsr|mvn|mvp|ora|pe[air]|rep|".
-                "[rs]mb[0-7]|rol|ror|sbc|sep|st[012axyz]|sub|tai|tam|tdd|".
-                "ti[ain]|tma|trb|tsb|tst";
+                 "bmi|bne|bpl|br[akl]|bsr|cmp|cop|cp[axy]|dec|eor|inc|jml|".
+                 "jmp|jsl|jsr|ld[axy]|lsr|mvn|mvp|ora|pe[air]|rep|".
+                 "[rs]mb[0-7]|rol|ror|sbc|sep|st[012axyz]|sub|tai|tam|tdd|".
+                 "ti[ain]|tma|trb|tsb|tst";
 
     # Instructions that have only the implied-addressing mode -- therefore,
     # no hyperlinking.  They will be highlighted only, when color is used.
     my $OtherIns = "cl[acdivxy]|csh|csl|de[axy]|in[axy]|nop|ph[abdkpxy]|".
-                "pl[abdpxy]|rt[ils]|sax|say|se[cdit]|stp|swa|sxy|ta[dsxy]|".
-                "tam[0-7]|tcd|tcs|tda|tdc|tma[0-7]|ts[acx]|tx[asy]|tya|tyx|".
-                "wai|xba|xce";
+                 "pl[abdpxy]|rt[ils]|sax|say|se[cdit]|stp|swa|sxy|ta[dsxy]|".
+                 "tam[0-7]|tcd|tcs|tda|tdc|tma[0-7]|ts[acx]|tx[asy]|tya|tyx|".
+                 "wai|xba|xce";
 
     # Read the input file, replacing references with hyperlinks; and, mark
     # labels as link targets.
@@ -561,18 +561,18 @@ sub Process2 {
         # Count input lines
         $LineNo++;
 
-       # Remove the newline at the end of line. Don't use chomp to be able to
+        # Remove the newline at the end of line. Don't use chomp to be able to
         # read dos/windows sources on unices.
         $Line =~ s/[\r\n]*$//;
 
         # If requested, convert tabs to spaces
-       if ($CvtTabs) {
-           # Don't ask me - this is from the perl manual page
-           1 while ($Line =~ s/\t+/' ' x (length($&) * $TabSize - length($`) % $TabSize)/e) ;
-       }
+        if ($CvtTabs) {
+            # Don't ask me - this is from the perl manual page
+            1 while ($Line =~ s/\t+/' ' x (length($&) * $TabSize - length($`) % $TabSize)/e) ;
+        }
 
-               # Clear the output line
-       $OutLine = "";
+        # Clear the output line
+        $OutLine = "";
 
         # If requested, add a html label to each line with a name "linexxx",
         # so it can be referenced from the outside (this is the same convention
@@ -597,245 +597,245 @@ sub Process2 {
 
         # Remove trailing whitespace and move it together with the comment
         # into the $Trailer variable.
-               $Line =~ s/\s*$//;
-       $Trailer = $& . ColorizeComment (Cleanup ($Comment));
+        $Line =~ s/\s*$//;
+        $Trailer = $& . ColorizeComment (Cleanup ($Comment));
 
-               # Check for a label at the start of the line. If we have one, process
+        # Check for a label at the start of the line. If we have one, process
         # it, and remove it from the line.
         if ($Line =~ s/^\s*?(([\@?]?)[_a-zA-Z]\w*)(\s*(?::=?|=))//) {
 
-           # Is this a local label?
-                   if ($2 ne "") {
-               # Use the prefix
-               $Id = "$CheapPrefix$1";
-           } else {
-               # Use as is
-               $Id = $1;
-               # Remember the id as new cheap local prefix
-               $CheapPrefix = $Id;
-           }
-
-           # Get the label for the id
-           $Label = $Labels{$OutName}{$Id};
-
-           # Print the label with a tag
-           $OutLine .= "<a name=\"$Label\">$1</a>$3";
-
-           # Is the name explicitly assigned a value?
-           if ($3 =~ /=$/) {
-               # Print all identifiers if there are any.
-               while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
-                   # Add the non-label stuff.
-                   $OutLine .= Cleanup ($1);
-
-                   # Use the prefix if the label is local.
-                   # Get the reference to that label if we find it.
-                   $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
-               }
-
-               # Add a remainder if there is one.
-               $OutLine .= Cleanup ($Line);
-
-               # The line is complete; print it.
-               next LINE;
-           }
-       }
-
-       # Print any leading whitespace and remove it, so we don't have to
-       # care about whitespace below.
-       if ($Line =~ s/^\s+//) {
-           $OutLine .= $&;
-       }
-
-       # Handle the import statements
-       if ($Line =~ s/^\.(?:(?:force)?import|importzp)\s+//i) {
-
-           # Print any fixed stuff from the line and remove it
-                   $OutLine .= $&;
-
-           # Print all identifiers if there are any
-           while ($Line =~ s/^[_a-zA-Z]\w*//) {
+            # Is this a local label?
+            if ($2 ne "") {
+                # Use the prefix
+                $Id = "$CheapPrefix$1";
+            } else {
+                # Use as is
+                $Id = $1;
+                # Remember the id as new cheap local prefix
+                $CheapPrefix = $Id;
+            }
+
+            # Get the label for the id
+            $Label = $Labels{$OutName}{$Id};
+
+            # Print the label with a tag
+            $OutLine .= "<a name=\"$Label\">$1</a>$3";
+
+            # Is the name explicitly assigned a value?
+            if ($3 =~ /=$/) {
+                # Print all identifiers if there are any.
+                while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
+                    # Add the non-label stuff.
+                    $OutLine .= Cleanup ($1);
+
+                    # Use the prefix if the label is local.
+                    # Get the reference to that label if we find it.
+                    $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
+                }
+
+                # Add a remainder if there is one.
+                $OutLine .= Cleanup ($Line);
+
+                # The line is complete; print it.
+                next LINE;
+            }
+        }
+
+        # Print any leading whitespace and remove it, so we don't have to
+        # care about whitespace below.
+        if ($Line =~ s/^\s+//) {
+            $OutLine .= $&;
+        }
+
+        # Handle the import statements
+        if ($Line =~ s/^\.(?:(?:force)?import|importzp)\s+//i) {
+
+            # Print any fixed stuff from the line and remove it
+            $OutLine .= $&;
+
+            # Print all identifiers if there are any
+            while ($Line =~ s/^[_a-zA-Z]\w*//) {
 
                 # Remember the identifier
-                       my $Id = $&;
-
-               # Variable to assemble HTML representation
-                       my $Contents = "";
-
-               # Make this import a link target
-               if (exists ($Imports{$OutName}{$Id})) {
-                           $Label = $Imports{$OutName}{$Id};
-                           $Contents .= sprintf (" name=\"%s\"", $Label);
-               }
-
-               # If we have an export for this import, add a link to this
-               # export definition
-               if (exists ($Exports{$Id})) {
-                   $Label = $Exports{$Id};
-                   $Contents .= sprintf (" href=\"%s\"", $Label);
-               }
-
-               # Add the HTML stuff to the output line
-               if ($Contents ne "") {
-                   $OutLine .= sprintf ("<a%s>%s</a>", $Contents, $Id);
-               } else {
-                   $OutLine .= $Id;
-               }
-
-               # Check if another identifier follows
-               if ($Line =~ s/^\s*(?::\s*[A-Za-z]+\s*)?,\s*//) {
-                   $OutLine .= $&;
-                       } else {
-                   last;
-               }
-           }
-
-           # Add an remainder if there is one
-           $OutLine .= Cleanup ($Line);
-
-               # Handle export statements
-       } elsif ($Line =~ s/^\.export(?:zp)?\s+//i) {
-
-           # Print the command and the whitespace.
-           $OutLine .= $&;
-
-           # Print all identifiers if there are any
-           while ($Line =~ s/^[_a-zA-Z]\w*//) {
+                my $Id = $&;
+
+                # Variable to assemble HTML representation
+                my $Contents = "";
+
+                # Make this import a link target
+                if (exists ($Imports{$OutName}{$Id})) {
+                    $Label = $Imports{$OutName}{$Id};
+                    $Contents .= sprintf (" name=\"%s\"", $Label);
+                }
+
+                # If we have an export for this import, add a link to this
+                # export definition
+                if (exists ($Exports{$Id})) {
+                    $Label = $Exports{$Id};
+                    $Contents .= sprintf (" href=\"%s\"", $Label);
+                }
+
+                # Add the HTML stuff to the output line
+                if ($Contents ne "") {
+                    $OutLine .= sprintf ("<a%s>%s</a>", $Contents, $Id);
+                } else {
+                    $OutLine .= $Id;
+                }
+
+                # Check if another identifier follows
+                if ($Line =~ s/^\s*(?::\s*[A-Za-z]+\s*)?,\s*//) {
+                    $OutLine .= $&;
+                } else {
+                    last;
+                }
+            }
+
+            # Add an remainder if there is one
+            $OutLine .= Cleanup ($Line);
+
+        # Handle export statements
+        } elsif ($Line =~ s/^\.export(?:zp)?\s+//i) {
+
+            # Print the command and the whitespace.
+            $OutLine .= $&;
+
+            # Print all identifiers if there are any
+            while ($Line =~ s/^[_a-zA-Z]\w*//) {
 
                 # Remember the identifier
-                       my $Id = $&;
-
-               # Variable to assemble HTML representation
-                       my $Contents = "";
-
-               # If we have a definition for this export in this file, add
-               # a link to the definition.
-               if (exists ($Labels{$OutName}{$Id})) {
-                   $Label = $Labels{$OutName}{$Id};
-                           $Contents = sprintf (" href=\"#%s\"", $Label);
-               }
-
-               # If we have this identifier in the list of exports, add a
-               # jump target for the export.
-               if (exists ($Exports{$Id})) {
-                   $Label = $Exports{$Id};
-                           # Be sure to use only the label part
-                   $Label =~ s/^.*#//;
-                   $Contents .= sprintf (" name=\"%s\"", $Label);
-               }
-
-               # Add the HTML stuff to the output line
-               if ($Contents ne "") {
-                   $OutLine .= sprintf ("<a%s>%s</a>", $Contents, $Id);
-               } else {
-                   $OutLine .= $Id;
-               }
-
-               # Check if another identifier follows
-               if ($Line =~ s/^\s*(?::\s*[A-Za-z]+\s*)?,\s*//) {
-                   $OutLine .= $&;
-               } else {
-                   last;
-               }
-           }
-
-           # Add an remainder if there is one
-           $OutLine .= Cleanup ($Line);
-
-       # Handle actor statements.
-       } elsif ($Line =~ s/^(\.(?:(?:(?:con|de)struc|interrup)tor|condes)\s+)([_a-z]\w*)//i) {
-
-           # Print the command and the whitespace.
-           $OutLine .= $1;
-
-           # Remember the identifier.
-           $Id = $2;
-
-           # Variable to assemble HTML representation
-           my $Contents = "";
-
-           # If we have a definition for this actor, in this file,
-           # then add a link to that definition.
-           if (exists ($Labels{$OutName}{$Id})) {
-               $Contents = sprintf (" href=\"#%s\"", $Labels{$OutName}{$Id});
-           }
-
-           # Get the target, for linking from imports in other files.
-           $Label = $Exports{$Id};
-           # Be sure to use only the label part.
-           $Label =~ s/^.*#//;
-
-           # Add the HTML stuff and the remainder of the actor
-           # to the output line.
-           $OutLine .= sprintf ("<a name=\"%s\"%s>%s</a>%s", $Label,
-                                $Contents, $Id, Cleanup ($Line));
-
-       # Check for .faraddr, .addr, .dword, .word, .dbyt, .byt, .byte, .res,
-       # .elseif, .if, .align, and .org.
-       } elsif ($Line =~ s/^\.(?:(?:far)?addr|d?word|d?byte?|res|(?:else)?if|align|org)\s+//i) {
-
-           # Print the command and the white space
-                   $OutLine .= $&;
-
-           # Print all identifiers if there are any
-                   while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
+                my $Id = $&;
+
+                # Variable to assemble HTML representation
+                my $Contents = "";
+
+                # If we have a definition for this export in this file, add
+                # a link to the definition.
+                if (exists ($Labels{$OutName}{$Id})) {
+                    $Label = $Labels{$OutName}{$Id};
+                    $Contents = sprintf (" href=\"#%s\"", $Label);
+                }
+
+                # If we have this identifier in the list of exports, add a
+                # jump target for the export.
+                if (exists ($Exports{$Id})) {
+                    $Label = $Exports{$Id};
+                    # Be sure to use only the label part
+                    $Label =~ s/^.*#//;
+                    $Contents .= sprintf (" name=\"%s\"", $Label);
+                }
+
+                # Add the HTML stuff to the output line
+                if ($Contents ne "") {
+                    $OutLine .= sprintf ("<a%s>%s</a>", $Contents, $Id);
+                } else {
+                    $OutLine .= $Id;
+                }
+
+                # Check if another identifier follows
+                if ($Line =~ s/^\s*(?::\s*[A-Za-z]+\s*)?,\s*//) {
+                    $OutLine .= $&;
+                } else {
+                    last;
+                }
+            }
+
+            # Add an remainder if there is one
+            $OutLine .= Cleanup ($Line);
+
+        # Handle actor statements.
+        } elsif ($Line =~ s/^(\.(?:(?:(?:con|de)struc|interrup)tor|condes)\s+)([_a-z]\w*)//i) {
+
+            # Print the command and the whitespace.
+            $OutLine .= $1;
+
+            # Remember the identifier.
+            $Id = $2;
+
+            # Variable to assemble HTML representation
+            my $Contents = "";
+
+            # If we have a definition for this actor, in this file,
+            # then add a link to that definition.
+            if (exists ($Labels{$OutName}{$Id})) {
+                $Contents = sprintf (" href=\"#%s\"", $Labels{$OutName}{$Id});
+            }
+
+            # Get the target, for linking from imports in other files.
+            $Label = $Exports{$Id};
+            # Be sure to use only the label part.
+            $Label =~ s/^.*#//;
+
+            # Add the HTML stuff and the remainder of the actor
+            # to the output line.
+            $OutLine .= sprintf ("<a name=\"%s\"%s>%s</a>%s", $Label,
+                                 $Contents, $Id, Cleanup ($Line));
+
+        # Check for .faraddr, .addr, .dword, .word, .dbyt, .byt, .byte, .res,
+        # .elseif, .if, .align, and .org.
+        } elsif ($Line =~ s/^\.(?:(?:far)?addr|d?word|d?byte?|res|(?:else)?if|align|org)\s+//i) {
+
+            # Print the command and the white space
+            $OutLine .= $&;
+
+            # Print all identifiers if there are any
+            while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
                 # Add the non label stuff
                 $OutLine .= Cleanup ($1);
 
-               # Use the prefix if the label is local.
-               # Get the reference to that label if we find it.
-               $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
-           }
+                # Use the prefix if the label is local.
+                # Get the reference to that label if we find it.
+                $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
+            }
 
-           # Add an remainder if there is one
-           $OutLine .= Cleanup ($Line);
+            # Add an remainder if there is one
+            $OutLine .= Cleanup ($Line);
 
-       # Handle .proc
-               } elsif ($Line =~ /^(\.proc)(\s+)([_a-z]\w*)?(.*)$/i) {
+        # Handle .proc
+        } elsif ($Line =~ /^(\.proc)(\s+)([_a-z]\w*)?(.*)$/i) {
 
-           # Do we have an identifier?
-           if ($3 ne "") {
-               # Remember the ID as the new cheap-local prefix.
-               $CheapPrefix = $3;
+            # Do we have an identifier?
+            if ($3 ne "") {
+                # Remember the ID as the new cheap-local prefix.
+                $CheapPrefix = $3;
 
-               # Get the label for the id
-               $Label = $Labels{$OutName}{$3};
+                # Get the label for the id
+                $Label = $Labels{$OutName}{$3};
 
-               # Print the label with a tag
-               $OutLine .= "$1$2<a name=\"$Label\">$3</a>";
+                # Print the label with a tag
+                $OutLine .= "$1$2<a name=\"$Label\">$3</a>";
 
-           } else {
+            } else {
 
-               # Print a line that has invalid syntax (its operand isn't
-               # a correctly formed name).
-               $OutLine .= "$1$2";
+                # Print a line that has invalid syntax (its operand isn't
+                # a correctly formed name).
+                $OutLine .= "$1$2";
             }
 
             # Add the remainder
             $OutLine .= Cleanup ($4);
 
-       # Handle .include
-       } elsif ($Line =~ /^(\.include)(\s*)\"((?:[^\"]+?|\\\")+)(\".*)$/i) {
+        # Handle .include
+        } elsif ($Line =~ /^(\.include)(\s*)\"((?:[^\"]+?|\\\")+)(\".*)$/i) {
 
-           # Add the fixed stuff to the output line
-           $OutLine .= "$1$2&quot;";
+            # Add the fixed stuff to the output line
+            $OutLine .= "$1$2&quot;";
 
-           # Get the filename into a named variable
-           my $FileName = Cleanup ($3);
+            # Get the filename into a named variable
+            my $FileName = Cleanup ($3);
 
-           # Get the name without a path
-           my $Name = StripPath ($3);
+            # Get the name without a path
+            my $Name = StripPath ($3);
 
-           # If the include file is among the list of our files, add a link,
-           # otherwise just add the name as is.
-           if (exists ($Files{$Name})) {
-               $OutLine .= sprintf ("<a href=\"%s\">%s</a>", GetOutName ($Name), $FileName);
-           } else {
-               $OutLine .= $FileName;
-           }
+            # If the include file is among the list of our files, add a link,
+            # otherwise just add the name as is.
+            if (exists ($Files{$Name})) {
+                $OutLine .= sprintf ("<a href=\"%s\">%s</a>", GetOutName ($Name), $FileName);
+            } else {
+                $OutLine .= $FileName;
+            }
 
-           # Add the remainder
-           $OutLine .= Cleanup ($4);
+            # Add the remainder
+            $OutLine .= Cleanup ($4);
 
         # Handle .dbg line
         } elsif ($CRefs && $Line =~ s/^\.dbg\s+//) {
@@ -892,108 +892,108 @@ sub Process2 {
             # Add the fixed stuff to the output line
             $OutLine .= "$1$2&quot;";
 
-           # Get the filename and line number into named variables
-           my $FileName = $3;
+            # Get the filename and line number into named variables
+            my $FileName = $3;
             my $LineNo   = $5;
 
-           # Remember the remainder
-           $Line = "\"$4$5$6";
+            # Remember the remainder
+            $Line = "\"$4$5$6";
 
-           # Get the name without a path
-           my $Name = StripPath ($FileName);
+            # Get the name without a path
+            my $Name = StripPath ($FileName);
 
-           # We don't need FileName any longer as is, so clean it up
-           $FileName = Cleanup ($FileName);
+            # We don't need FileName any longer as is, so clean it up
+            $FileName = Cleanup ($FileName);
 
-                   # Add a link to the source file
-                   $OutLine .= sprintf ("<a href=\"%s.html#line%d\">%s</a>", $Name, $LineNo, $FileName);
+            # Add a link to the source file
+            $OutLine .= sprintf ("<a href=\"%s.html#line%d\">%s</a>", $Name, $LineNo, $FileName);
 
-           # Add the remainder
-           $OutLine .= Cleanup ($Line);
+            # Add the remainder
+            $OutLine .= Cleanup ($Line);
 
-       # Check for .ifdef, .ifndef, .ifref, and .ifnref.
-       } elsif ($Line =~ s/^(\.ifn?[dr]ef\s+)(([\@?]?)[_a-z]\w*)?//i) {
+        # Check for .ifdef, .ifndef, .ifref, and .ifnref.
+        } elsif ($Line =~ s/^(\.ifn?[dr]ef\s+)(([\@?]?)[_a-z]\w*)?//i) {
 
-           # Print the command and the whitespace.
-                   $OutLine .= $1;
+            # Print the command and the whitespace.
+            $OutLine .= $1;
 
-                   if ($2 ne "") {
-               # Use the prefix if the label is local.
-               # Get the reference to that label if we find it.
-               $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
-           }
+            if ($2 ne "") {
+                # Use the prefix if the label is local.
+                # Get the reference to that label if we find it.
+                $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
+            }
 
-           # Add a remainder if there is one.
-           $OutLine .= Cleanup ($Line);
+            # Add a remainder if there is one.
+            $OutLine .= Cleanup ($Line);
 
-       # Check for assertions.
-       } elsif ($Line =~ s/^(\.assert\s+)(.+?)(,\s*(?:error|warning)\s*(?:,.*)?)$/$2/i) {
+        # Check for assertions.
+        } elsif ($Line =~ s/^(\.assert\s+)(.+?)(,\s*(?:error|warning)\s*(?:,.*)?)$/$2/i) {
 
-           # Print the command and the whitespace.
-           $OutLine .= $1;
+            # Print the command and the whitespace.
+            $OutLine .= $1;
 
-           $Comment = $3;
+            $Comment = $3;
 
-           # Print all identifiers if there are any.
-           while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
-               # Add the non-label stuff.
-               $OutLine .= Cleanup ($1);
+            # Print all identifiers if there are any.
+            while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
+                # Add the non-label stuff.
+                $OutLine .= Cleanup ($1);
 
-               # Use the prefix if the label is local.
-               # Get the reference to that label if we find it.
-               $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
-           }
+                # Use the prefix if the label is local.
+                # Get the reference to that label if we find it.
+                $OutLine .= RefLabel ($OutName, ($3 ne "") ? "$CheapPrefix$2" : $2, $2);
+            }
 
-           # Add a remainder if there is one.
-           $OutLine .= Cleanup ($Line . $Comment);
+            # Add a remainder if there is one.
+            $OutLine .= Cleanup ($Line . $Comment);
 
-       # Check for instructions with labels
+        # Check for instructions with labels
         } elsif ($Line =~ s/^($LabelIns)\b(\s*)//io) {
 
-           # Print the instruction and white space
+            # Print the instruction and white space
             $OutLine .= ColorizeKeyword ($1) . $2;
 
-           # Print all identifiers if there are any.
-           while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
-
-               # Add the non-label stuff.
-               $OutLine .= Cleanup ($1);
+            # Print all identifiers if there are any.
+            while ($Line =~ s/^([^_a-zA-Z]*?)(([\@?]?)[_a-zA-Z]\w*)//) {
 
-               # Is this a local label?
-               if ($3 ne "") {
-                   # Use the prefix
-                   $Id = "$CheapPrefix$2";
-               } else {
-                   # Use as is
-                   $Id = $2;
-               }
+                # Add the non-label stuff.
+                $OutLine .= Cleanup ($1);
 
-               # Get the reference to this label if we find it
-               $OutLine .= RefLabel ($OutName, $Id, $2);
-           }
+                # Is this a local label?
+                if ($3 ne "") {
+                    # Use the prefix
+                    $Id = "$CheapPrefix$2";
+                } else {
+                    # Use as is
+                    $Id = $2;
+                }
+
+                # Get the reference to this label if we find it
+                $OutLine .= RefLabel ($OutName, $Id, $2);
+            }
 
-           # Reassemble and print the line
-           $OutLine .= Cleanup ($Line);
+            # Reassemble and print the line
+            $OutLine .= Cleanup ($Line);
 
-       # Check for all other instructions
+        # Check for all other instructions
         } elsif ($Line =~ /^($OtherIns)\b(.*)$/io) {
 
-           # Colorize and print
+            # Colorize and print
             $OutLine .= ColorizeKeyword ($1) . Cleanup ($2);
 
-       } else {
+        } else {
 
-           # Nothing known - print the line
-           $OutLine .= Cleanup ($Line);
+            # Nothing known - print the line
+            $OutLine .= Cleanup ($Line);
 
-       }
+        }
 
     } continue {
         # Colorize all keywords
-               $OutLine =~ s/(?<![\w;])\.[_a-zA-Z]\w*/ColorizeCtrl ($&)/ge;
+        $OutLine =~ s/(?<![\w;])\.[_a-zA-Z]\w*/ColorizeCtrl ($&)/ge;
 
-       # Print the result with the trailer.
-       print OUTPUT "$OutLine$Trailer\n";
+        # Print the result with the trailer.
+        print OUTPUT "$OutLine$Trailer\n";
     }
 
     # Print the HTML footer
@@ -1015,15 +1015,15 @@ sub Pass2 () {
 
     # Walk over the files
     for my $InName (keys (%Files)) {
-               # Process one file
-               Process2 ($InName);
+        # Process one file
+        Process2 ($InName);
     }
 }
 
 
 
 #-----------------------------------------------------------------------------#
-#                           Create an index page                             #
+#                            Create an index page                             #
 # ----------------------------------------------------------------------------#
 
 
@@ -1040,18 +1040,18 @@ sub FileIndex {
     my $Count = 0;
     for my $File (sort (keys (%Files))) {
 
-       #
-       if (($Count % $IndexCols) == 0) {
-           print $INDEX "<tr>\n";
-       }
-       printf $INDEX "<td><a href=\"%s\">%s</a></td>\n", GetOutName ($File), $File;
-       if (($Count % $IndexCols) == $IndexCols-1) {
-           print $INDEX "</tr>\n";
-       }
-       $Count++;
+        #
+        if (($Count % $IndexCols) == 0) {
+            print $INDEX "<tr>\n";
+        }
+        printf $INDEX "<td><a href=\"%s\">%s</a></td>\n", GetOutName ($File), $File;
+        if (($Count % $IndexCols) == $IndexCols-1) {
+            print $INDEX "</tr>\n";
+        }
+        $Count++;
     }
     if (($Count % $IndexCols) != 0) {
-       print $INDEX "</tr>\n";
+        print $INDEX "</tr>\n";
     }
     print $INDEX "</table><p><br><p>\n";
 }
@@ -1070,29 +1070,29 @@ sub ExportIndex {
     my $Count = 0;
     for my $Export (sort (keys (%Exports))) {
 
-       # Get the export
-       my $File;
-       my $Label;
-       ($File, $Label) = split (/#/, $Exports{$Export});
-
-       # The label is the label of the export statement. If we can find the
-       # actual label, use this instead.
-               if (exists ($Labels{$File}{$Export})) {
-           $Label = $Labels{$File}{$Export};
-       }
-
-       #
-       if (($Count % $IndexCols) == 0) {
-           print $INDEX "<tr>\n";
-       }
-       printf $INDEX "<td><a href=\"%s#%s\">%s</a></td>\n", $File, $Label, $Export;
-       if (($Count % $IndexCols) == $IndexCols-1) {
-           print $INDEX "</tr>\n";
-       }
-       $Count++;
+        # Get the export
+        my $File;
+        my $Label;
+        ($File, $Label) = split (/#/, $Exports{$Export});
+
+        # The label is the label of the export statement. If we can find the
+        # actual label, use this instead.
+        if (exists ($Labels{$File}{$Export})) {
+            $Label = $Labels{$File}{$Export};
+        }
+
+        #
+        if (($Count % $IndexCols) == 0) {
+            print $INDEX "<tr>\n";
+        }
+        printf $INDEX "<td><a href=\"%s#%s\">%s</a></td>\n", $File, $Label, $Export;
+        if (($Count % $IndexCols) == $IndexCols-1) {
+            print $INDEX "</tr>\n";
+        }
+        $Count++;
     }
     if (($Count % $IndexCols) != 0) {
-       print $INDEX "</tr>\n";
+        print $INDEX "</tr>\n";
     }
     print $INDEX "</table><p><br><p>\n";
 }
@@ -1121,7 +1121,7 @@ sub CreateIndex {
 
 
 #-----------------------------------------------------------------------------#
-#                          Print usage information                           #
+#                           Print usage information                           #
 # ----------------------------------------------------------------------------#
 
 
@@ -1154,34 +1154,34 @@ sub Usage {
 
 
 #-----------------------------------------------------------------------------#
-#                                   Main                                     #
+#                                    Main                                     #
 # ----------------------------------------------------------------------------#
 
 
 
 # Get program options
-GetOptions ("bgcolor=s"                => \$BGColor,
+GetOptions ("bgcolor=s"         => \$BGColor,
             "colorize"          => \$Colorize,
             "commentcolor=s"    => \$CommentColor,
             "crefs"             => \$CRefs,
             "ctrlcolor=s"       => \$CtrlColor,
-           "cvttabs"           => \$CvtTabs,
-           "debug!"            => \$Debug,
-           "help"              => \$Help,
-           "htmldir=s"         => \$HTMLDir,
-           "indexcols=i"       => \$IndexCols,
-           "indexname=s"       => \$IndexName,
-           "indexpage"         => \$IndexPage,
-           "indextitle=s"      => \$IndexTitle,
+            "cvttabs"           => \$CvtTabs,
+            "debug!"            => \$Debug,
+            "help"              => \$Help,
+            "htmldir=s"         => \$HTMLDir,
+            "indexcols=i"       => \$IndexCols,
+            "indexname=s"       => \$IndexName,
+            "indexpage"         => \$IndexPage,
+            "indextitle=s"      => \$IndexTitle,
             "keywordcolor=s"    => \$KeywordColor,
             "linelabels"        => \$LineLabels,
             "linenumbers"       => \$LineNumbers,
-           "linkstyle=i"       => \$LinkStyle,
-           "replaceext"        => \$ReplaceExt,
+            "linkstyle=i"       => \$LinkStyle,
+            "replaceext"        => \$ReplaceExt,
             "tabsize=i"         => \$TabSize,
-           "textcolor=s"       => \$TextColor,
-                   "verbose!"          => \$Verbose,
-           "<>"                => \&AddFile);
+            "textcolor=s"       => \$TextColor,
+            "verbose!"          => \$Verbose,
+            "<>"                => \&AddFile);
 
 # Check some arguments
 if ($IndexCols <= 0 || $IndexCols >= 20) {
index 27b498d2a3e14c44dcd04df0fbe34afd62ff0951..2c33b3f17c84d74668fbebdeb3936ddf0c76931d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               anonname.c                                 */
+/*                                anonname.c                                 */
 /*                                                                           */
-/*               Create names for anonymous variables/types                 */
+/*                Create names for anonymous variables/types                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -56,7 +56,7 @@ static const char AnonTag[] = "$anon";
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 90c9e0af8798d3339b13db0c7ff6c11354adc8c7..43292505ed7a82e5d9aa4448c6f42b5644b4c5dc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               anonname.h                                 */
+/*                                anonname.h                                 */
 /*                                                                           */
-/*               Create names for anonymous variables/types                 */
+/*                Create names for anonymous variables/types                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c70675c011f4f49522b794b18ba9cac6c600c40e..ec0a8791e204e24fecf026f01e5541c06bdd6126 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                asmcode.c                                 */
+/*                                 asmcode.c                                 */
 /*                                                                           */
-/*         Assembler output code handling for the cc65 C compiler           */
+/*          Assembler output code handling for the cc65 C compiler           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -123,11 +123,11 @@ void WriteAsmOutput (void)
     SymTab = GetGlobalSymTab ();
     Entry  = SymTab->SymHead;
     while (Entry) {
-               if (SymIsOutputFunc (Entry)) {
+        if (SymIsOutputFunc (Entry)) {
             /* Function which is defined and referenced or extern */
-                   OutputSegments (Entry->V.F.Seg);
-               }
-               Entry = Entry->NextSym;
+            OutputSegments (Entry->V.F.Seg);
+        }
+        Entry = Entry->NextSym;
     }
 }
 
index b91b892d0afa0e01615adf614f669797e6bbab19..5d70ae381814da93285f7856243b663bfac000e0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                asmcode.h                                 */
+/*                                 asmcode.h                                 */
 /*                                                                           */
-/*         Assembler output code handling for the cc65 C compiler           */
+/*          Assembler output code handling for the cc65 C compiler           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,7 +60,7 @@ typedef struct {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index fe76f2b855b4d47952b4e99516bfb893d515eed9..46330c30314eab73cae0fbe47b1c4678b4cef6d3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               asmlabel.c                                 */
+/*                                asmlabel.c                                 */
 /*                                                                           */
-/*                     Generate assembler code labels                       */
+/*                      Generate assembler code labels                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 316eb51af3a81ce16398dfa9c80794d3abc3ce71..44235c9d9682a43a428b314b9a869cd68eb2c091 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               asmlabel.h                                 */
+/*                                asmlabel.h                                 */
 /*                                                                           */
-/*                     Generate assembler code labels                       */
+/*                      Generate assembler code labels                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3f858c679f7a8501a6cde6f8b61c700a40db3fbd..ce2660e546dd82d1fc07ddb7f9c154b566aff099 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                asmstmt.c                                 */
+/*                                 asmstmt.c                                 */
 /*                                                                           */
-/*           Inline assembler statements for the cc65 C compiler            */
+/*            Inline assembler statements for the cc65 C compiler            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -54,7 +54,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -90,9 +90,9 @@ static SymEntry* AsmGetSym (unsigned Arg, unsigned Type)
 
     /* Argument must be an identifier */
     if (CurTok.Tok != TOK_IDENT) {
-               Error ("Identifier expected for argument %u", Arg);
-       AsmErrorSkip ();
-               return 0;
+        Error ("Identifier expected for argument %u", Arg);
+        AsmErrorSkip ();
+        return 0;
     }
 
     /* Get a pointer to the symbol table entry */
@@ -100,9 +100,9 @@ static SymEntry* AsmGetSym (unsigned Arg, unsigned Type)
 
     /* Did we find a symbol with this name? */
     if (Sym == 0) {
-       Error ("Undefined symbol `%s' for argument %u", CurTok.Ident, Arg);
-       AsmErrorSkip ();
-       return 0;
+        Error ("Undefined symbol `%s' for argument %u", CurTok.Ident, Arg);
+        AsmErrorSkip ();
+        return 0;
     }
 
     /* We found the symbol - skip the name token */
@@ -110,9 +110,9 @@ static SymEntry* AsmGetSym (unsigned Arg, unsigned Type)
 
     /* Check if we have a global symbol */
     if ((Sym->Flags & Type) != Type) {
-               Error ("Type of argument %u differs from format specifier", Arg);
-       AsmErrorSkip ();
-       return 0;
+        Error ("Type of argument %u differs from format specifier", Arg);
+        AsmErrorSkip ();
+        return 0;
     }
 
     /* Mark the symbol as referenced */
@@ -138,15 +138,15 @@ static void ParseByteArg (StrBuf* T, unsigned Arg)
 
     /* Check the range but allow negative values if the type is signed */
     if (IsSignUnsigned (Expr.Type)) {
-       if (Expr.IVal < 0 || Expr.IVal > 0xFF) {
-           AsmRangeError (Arg);
-           Expr.IVal = 0;
-       }
+        if (Expr.IVal < 0 || Expr.IVal > 0xFF) {
+            AsmRangeError (Arg);
+            Expr.IVal = 0;
+        }
     } else {
-       if (Expr.IVal < -128 || Expr.IVal > 127) {
-           AsmRangeError (Arg);
-           Expr.IVal = 0;
-       }
+        if (Expr.IVal < -128 || Expr.IVal > 127) {
+            AsmRangeError (Arg);
+            Expr.IVal = 0;
+        }
     }
 
     /* Convert into a hex number */
@@ -172,15 +172,15 @@ static void ParseWordArg (StrBuf* T, unsigned Arg)
 
     /* Check the range but allow negative values if the type is signed */
     if (IsSignUnsigned (Expr.Type)) {
-       if (Expr.IVal < 0 || Expr.IVal > 0xFFFF) {
-           AsmRangeError (Arg);
-           Expr.IVal = 0;
-       }
+        if (Expr.IVal < 0 || Expr.IVal > 0xFFFF) {
+            AsmRangeError (Arg);
+            Expr.IVal = 0;
+        }
     } else {
-       if (Expr.IVal < -32768 || Expr.IVal > 32767) {
-           AsmRangeError (Arg);
-           Expr.IVal = 0;
-       }
+        if (Expr.IVal < -32768 || Expr.IVal > 32767) {
+            AsmRangeError (Arg);
+            Expr.IVal = 0;
+        }
     }
 
     /* Convert into a hex number */
@@ -219,25 +219,25 @@ static void ParseGVarArg (StrBuf* T, unsigned Arg)
     /* Parse the symbol name parameter and check the type */
     SymEntry* Sym = AsmGetSym (Arg, SC_STATIC);
     if (Sym == 0) {
-       /* Some sort of error */
-       return;
+        /* Some sort of error */
+        return;
     }
 
     /* Check for external linkage */
     if (Sym->Flags & (SC_EXTERN | SC_STORAGE | SC_FUNC)) {
-       /* External linkage or a function */
-       /* ### FIXME: Asm name should be generated by codegen */
-       SB_AppendChar (T, '_');
-       SB_AppendStr (T, Sym->Name);
+        /* External linkage or a function */
+        /* ### FIXME: Asm name should be generated by codegen */
+        SB_AppendChar (T, '_');
+        SB_AppendStr (T, Sym->Name);
     } else if (Sym->Flags & SC_REGISTER) {
         char Buf[32];
         xsprintf (Buf, sizeof (Buf), "regbank+%d", Sym->V.R.RegOffs);
         SB_AppendStr (T, Buf);
     } else {
-       /* Static variable */
-       char Buf [16];
-       xsprintf (Buf, sizeof (Buf), "L%04X", Sym->V.Label);
-       SB_AppendStr (T, Buf);
+        /* Static variable */
+        char Buf [16];
+        xsprintf (Buf, sizeof (Buf), "L%04X", Sym->V.Label);
+        SB_AppendStr (T, Buf);
     }
 }
 
@@ -252,8 +252,8 @@ static void ParseLVarArg (StrBuf* T, unsigned Arg)
     /* Parse the symbol name parameter and check the type */
     SymEntry* Sym = AsmGetSym (Arg, SC_AUTO);
     if (Sym == 0) {
-       /* Some sort of error */
-       return;
+        /* Some sort of error */
+        return;
     }
 
     /* The symbol may be a parameter to a variadic function. In this case, we
@@ -261,9 +261,9 @@ static void ParseLVarArg (StrBuf* T, unsigned Arg)
      * if this is the case.
      */
     if ((Sym->Flags & SC_PARAM) == SC_PARAM && F_IsVariadic (CurrentFunc)) {
-       Error ("Argument %u has no fixed stack offset", Arg);
-       AsmErrorSkip ();
-       return;
+        Error ("Argument %u has no fixed stack offset", Arg);
+        AsmErrorSkip ();
+        return;
     }
 
     /* Calculate the current offset from SP */
@@ -287,11 +287,11 @@ static void ParseLabelArg (StrBuf* T, unsigned Arg attribute ((unused)))
 
     } else {
 
-       /* Add a new label symbol if we don't have one until now */
-               SymEntry* Entry = AddLabelSym (CurTok.Ident, SC_REF);
+        /* Add a new label symbol if we don't have one until now */
+        SymEntry* Entry = AddLabelSym (CurTok.Ident, SC_REF);
 
-       /* Append the label name to the buffer */
-       SB_AppendStr (T, LocalLabelName (Entry->V.Label));
+        /* Append the label name to the buffer */
+        SB_AppendStr (T, LocalLabelName (Entry->V.Label));
 
         /* Eat the label name */
         NextToken ();
@@ -353,34 +353,34 @@ static void ParseAsm (void)
 
     /* Parse the statement. It may contain several lines and one or more
      * of the following place holders:
-     *   %b    - Numerical 8 bit value
-     *   %w    - Numerical 16 bit value
-     *   %l    - Numerical 32 bit value
-     *   %v    - Assembler name of a (global) variable
-     *   %o    - Stack offset of a (local) variable
-     *   %g    - Assembler name of a C label
+     *   %b     - Numerical 8 bit value
+     *   %w     - Numerical 16 bit value
+     *   %l     - Numerical 32 bit value
+     *   %v     - Assembler name of a (global) variable
+     *   %o     - Stack offset of a (local) variable
+     *   %g     - Assembler name of a C label
      *   %s     - Any argument converted to a string (almost)
-     *   %%    - The % sign
+     *   %%     - The % sign
      */
     Arg = 0;
     while ((C = SB_Get (&S)) != '\0') {
 
-               /* If it is a newline, the current line is ready to go */
-               if (C == '\n') {
+        /* If it is a newline, the current line is ready to go */
+        if (C == '\n') {
 
-                   /* Pass it to the backend and start over */
-                   g_asmcode (&T);
-                   SB_Clear (&T);
+            /* Pass it to the backend and start over */
+            g_asmcode (&T);
+            SB_Clear (&T);
 
-               } else if (C == '%') {
+        } else if (C == '%') {
 
-                   /* Format specifier */
-                   ++Arg;
+            /* Format specifier */
+            ++Arg;
             C = SB_Get (&S);
             switch (C) {
                 case '%':   SB_AppendChar (&T, '%');    break;
                 case 'b':   ParseByteArg (&T, Arg);     break;
-               case 'g':   ParseLabelArg (&T, Arg);    break;
+                case 'g':   ParseLabelArg (&T, Arg);    break;
                 case 'l':   ParseLongArg (&T, Arg);     break;
                 case 'o':   ParseLVarArg (&T, Arg);     break;
                 case 's':   ParseStrArg (&T, Arg);      break;
@@ -392,17 +392,17 @@ static void ParseAsm (void)
                     goto Done;
             }
 
-       } else {
+        } else {
 
-           /* A normal character, just copy it */
-           SB_AppendChar (&T, C);
+            /* A normal character, just copy it */
+            SB_AppendChar (&T, C);
 
-       }
+        }
     }
 
     /* If the target buffer is not empty, we have a last line in there */
     if (!SB_IsEmpty (&T)) {
-       g_asmcode (&T);
+        g_asmcode (&T);
     }
 
 Done:
@@ -430,18 +430,18 @@ void AsmStatement (void)
     /* String literal */
     if (CurTok.Tok != TOK_SCONST) {
 
-       /* Print a diagnostic */
-       Error ("String literal expected");
+        /* Print a diagnostic */
+        Error ("String literal expected");
 
-       /* Try some smart error recovery: Skip tokens until we reach the
-        * enclosing paren, or a semicolon.
-        */
-       AsmErrorSkip ();
+        /* Try some smart error recovery: Skip tokens until we reach the
+         * enclosing paren, or a semicolon.
+         */
+        AsmErrorSkip ();
 
     } else {
 
-       /* Parse the ASM statement */
-       ParseAsm ();
+        /* Parse the ASM statement */
+        ParseAsm ();
     }
 
     /* Closing paren needed */
index 9de91f492572494b52203fd6d581f9505fde30ca..e3a6a04332b3d1579feed3722e2963939888e08a 100644 (file)
@@ -1,12 +1,12 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                asmstmt.h                                 */
+/*                                 asmstmt.h                                 */
 /*                                                                           */
-/*           Inline assembler statements for the cc65 C compiler            */
+/*            Inline assembler statements for the cc65 C compiler            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2001             Ullrich von Bassewitz                                       */
+/* (C) 2001      Ullrich von Bassewitz                                       */
 /*               Wacholderweg 14                                             */
 /*               D-70597 Stuttgart                                           */
 /* EMail:        uz@musoftware.de                                            */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 662128c84821d3bafacaafe8667f516ad2a0869f..81a189f36264ddb57cf66dd9890dc17431dd2109 100644 (file)
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ void Assignment (ExprDesc* Expr)
 
     /* Check for assignment to const */
     if (IsQualConst (ltype)) {
-       Error ("Assignment to const");
+        Error ("Assignment to const");
     }
 
     /* Skip the '=' token */
@@ -99,12 +99,12 @@ void Assignment (ExprDesc* Expr)
             PushAddr (Expr);
         } else {
             ED_MakeRVal (Expr);
-           LoadExpr (CF_NONE, Expr);
+            LoadExpr (CF_NONE, Expr);
             g_push (CF_PTR | CF_UNSIGNED, 0);
         }
 
-       /* Get the expression on the right of the '=' into the primary */
-       hie1 (&Expr2);
+        /* Get the expression on the right of the '=' into the primary */
+        hie1 (&Expr2);
 
         /* Check for equality of the structs */
         if (TypeCmp (ltype, Expr2.Type) < TC_STRICT_COMPATIBLE) {
@@ -112,8 +112,8 @@ void Assignment (ExprDesc* Expr)
         }
 
         /* Check if the right hand side is an lvalue */
-       if (ED_IsLVal (&Expr2)) {
-           /* We have an lvalue. Do we copy using the primary? */
+        if (ED_IsLVal (&Expr2)) {
+            /* We have an lvalue. Do we copy using the primary? */
             if (UseReg) {
                 /* Just use the replacement type */
                 Expr2.Type = stype;
@@ -193,13 +193,13 @@ void Assignment (ExprDesc* Expr)
         GetCodePos (&PushPos);
         g_push (Flags, 0);
 
-       /* Read the expression on the right side of the '=' */
-               MarkedExprWithCheck (hie1, &Expr2);
+        /* Read the expression on the right side of the '=' */
+        MarkedExprWithCheck (hie1, &Expr2);
 
-       /* Do type conversion if necessary. Beware: Do not use char type
+        /* Do type conversion if necessary. Beware: Do not use char type
          * here!
          */
-       TypeConversion (&Expr2, ltype);
+        TypeConversion (&Expr2, ltype);
 
         /* Special treatment if the value is constant. */
         /* Beware: Expr2 may contain side effects, so there must not be
@@ -238,28 +238,28 @@ void Assignment (ExprDesc* Expr)
             g_or (Flags, 0);
         }
 
-       /* Generate a store instruction */
-       Store (Expr, 0);
+        /* Generate a store instruction */
+        Store (Expr, 0);
 
         /* Restore the expression type */
         Expr->Type = ltype;
 
     } else {
 
-       /* Get the address on stack if needed */
-       PushAddr (Expr);
+        /* Get the address on stack if needed */
+        PushAddr (Expr);
 
-       /* Read the expression on the right side of the '=' */
-       hie1 (&Expr2);
+        /* Read the expression on the right side of the '=' */
+        hie1 (&Expr2);
 
-       /* Do type conversion if necessary */
-       TypeConversion (&Expr2, ltype);
+        /* Do type conversion if necessary */
+        TypeConversion (&Expr2, ltype);
 
-       /* If necessary, load the value into the primary register */
-       LoadExpr (CF_NONE, &Expr2);
+        /* If necessary, load the value into the primary register */
+        LoadExpr (CF_NONE, &Expr2);
 
-       /* Generate a store instruction */
-       Store (Expr, 0);
+        /* Generate a store instruction */
+        Store (Expr, 0);
 
     }
 
index aab7c556253d45b2dfe234e76bf0349275914fca..6273724caed1900b4e008660a07fd2d5e52a2453 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 25121f5e81667d63053196cb7ca20d5e00f4c7c5..0e1b3730536540c9fd2d042533a1170bbbcead4b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               casenode.c                                 */
+/*                                casenode.c                                 */
 /*                                                                           */
-/*       Node for the tree that is generated for a switch statement         */
+/*        Node for the tree that is generated for a switch statement         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -73,7 +73,7 @@ void FreeCaseNode (CaseNode* N)
 /* Delete a case node plus all sub nodes */
 {
     if (N->Nodes) {
-       FreeCaseNodeColl (N->Nodes);
+        FreeCaseNodeColl (N->Nodes);
     }
     xfree (N);
 }
@@ -85,7 +85,7 @@ void FreeCaseNodeColl (Collection* Nodes)
 {
     unsigned I;
     for (I = 0; I < CollCount (Nodes); ++I) {
-       FreeCaseNode (CollAtUnchecked (Nodes, I));
+        FreeCaseNode (CollAtUnchecked (Nodes, I));
     }
     FreeCollection (Nodes);
 }
@@ -106,23 +106,23 @@ int SearchCaseNode (const Collection* Nodes, unsigned char Key, int* Index)
 
     while (First <= Last) {
 
-               /* Set current to mid of range */
-       int Current = (Last + First) / 2;
+        /* Set current to mid of range */
+        int Current = (Last + First) / 2;
 
-       /* Get the entry from this position */
-       const CaseNode* N = CollConstAt (Nodes, Current);
+        /* Get the entry from this position */
+        const CaseNode* N = CollConstAt (Nodes, Current);
 
-       /* Compare the values */
-       if (N->Value < Key) {
-           First = Current + 1;
-       } else {
-           Last = Current - 1;
-           if (N->Value == Key) {
-               /* Found. We cannot have duplicates, so end the search here. */
-               S = 1;
-               First = Current;
-           }
-       }
+        /* Compare the values */
+        if (N->Value < Key) {
+            First = Current + 1;
+        } else {
+            Last = Current - 1;
+            if (N->Value == Key) {
+                /* Found. We cannot have duplicates, so end the search here. */
+                S = 1;
+                First = Current;
+            }
+        }
 
     }
 
@@ -142,41 +142,41 @@ unsigned InsertCaseValue (Collection* Nodes, unsigned long Val, unsigned Depth)
 
     while (Depth--) {
 
-       int Index;
-
-       /* Get the key */
-               unsigned char Key = (Val >> (Depth * CHAR_BIT)) & 0xFF;
-
-       /* Search for the node in the collection */
-       if (SearchCaseNode (Nodes, Key, &Index) == 0) {
-
-           /* Node not found - insert one */
-           N = NewCaseNode (Key);
-           CollInsert (Nodes, N, Index);
-
-           /* If this is not the last round, create the collection for
-            * the subnodes, otherwise get a label for the code.
-            */
-           if (Depth > 0) {
-               N->Nodes = NewCollection ();
-           } else {
-               N->Label = CaseLabel;
-           }
-
-       } else {
-           /* Node found, get it */
-           N = CollAt (Nodes, Index);
-
-           /* If this is the last round and we found a node, we have a
-            * duplicate case label in a switch.
-            */
-           if (Depth == 0) {
-               Error ("Duplicate case label");
-           }
-       }
-
-               /* Get the collection from the node for the next round. */
-       Nodes = N->Nodes;
+        int Index;
+
+        /* Get the key */
+        unsigned char Key = (Val >> (Depth * CHAR_BIT)) & 0xFF;
+
+        /* Search for the node in the collection */
+        if (SearchCaseNode (Nodes, Key, &Index) == 0) {
+
+            /* Node not found - insert one */
+            N = NewCaseNode (Key);
+            CollInsert (Nodes, N, Index);
+
+            /* If this is not the last round, create the collection for
+             * the subnodes, otherwise get a label for the code.
+             */
+            if (Depth > 0) {
+                N->Nodes = NewCollection ();
+            } else {
+                N->Label = CaseLabel;
+            }
+
+        } else {
+            /* Node found, get it */
+            N = CollAt (Nodes, Index);
+
+            /* If this is the last round and we found a node, we have a
+             * duplicate case label in a switch.
+             */
+            if (Depth == 0) {
+                Error ("Duplicate case label");
+            }
+        }
+
+        /* Get the collection from the node for the next round. */
+        Nodes = N->Nodes;
     }
 
     /* Return the label of the node we found/created */
index 785c005528014b837ff1bb6c0c2ee203d174916f..aa1de2efa5a0868362da215141415fbcd3727b33 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               casenode.h                                 */
+/*                                casenode.h                                 */
 /*                                                                           */
-/*       Node for the tree that is generated for a switch statement         */
+/*        Node for the tree that is generated for a switch statement         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -59,7 +59,7 @@ struct CaseNode {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 49a837ed94f887c0b97a7013432f71b665a935df..7372af338c19f18ded64acfbc9f0829e5fdf4415 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codeent.c                                 */
+/*                                 codeent.c                                 */
 /*                                                                           */
-/*                           Code segment entry                             */
+/*                            Code segment entry                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -54,7 +54,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -65,7 +65,7 @@ static char EmptyArg[] = "";
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -74,7 +74,7 @@ static void FreeArg (char* Arg)
 /* Free a code entry argument */
 {
     if (Arg != EmptyArg) {
-       xfree (Arg);
+        xfree (Arg);
     }
 }
 
@@ -84,11 +84,11 @@ static char* GetArgCopy (const char* Arg)
 /* Create an argument copy for assignment */
 {
     if (Arg && Arg[0] != '\0') {
-       /* Create a copy */
-       return xstrdup (Arg);
+        /* Create a copy */
+        return xstrdup (Arg);
     } else {
-       /* Use the empty argument string */
-       return EmptyArg;
+        /* Use the empty argument string */
+        return EmptyArg;
     }
 }
 
@@ -105,11 +105,11 @@ static int NumArg (const char* Arg, unsigned long* Num)
     /* Determine the base */
     int Base = 10;
     if (*Arg == '$') {
-       ++Arg;
-       Base = 16;
+        ++Arg;
+        Base = 16;
     } else if (*Arg == '%') {
-       ++Arg;
-       Base = 2;
+        ++Arg;
+        Base = 2;
     }
 
     /* Convert the value. strtol is not exactly what we want here, but it's
@@ -120,15 +120,15 @@ static int NumArg (const char* Arg, unsigned long* Num)
     /* Check if the conversion was successful */
     if (*End != '\0') {
 
-       /* Could not convert */
-       *Num = 0;
-       return 0;
+        /* Could not convert */
+        *Num = 0;
+        return 0;
 
     } else {
 
-       /* Conversion ok */
-       *Num = Val;
-       return 1;
+        /* Conversion ok */
+        *Num = Val;
+        return 1;
 
     }
 }
@@ -145,73 +145,73 @@ static void SetUseChgInfo (CodeEntry* E, const OPCDesc* D)
      * does not change any registers, so we don't need to use the data from D.
      */
     if ((E->Info & (OF_UBRA | OF_CALL)) != 0 && E->JumpTo == 0) {
-       /* A subroutine call or jump to external symbol (function exit) */
-       GetFuncInfo (E->Arg, &E->Use, &E->Chg);
+        /* A subroutine call or jump to external symbol (function exit) */
+        GetFuncInfo (E->Arg, &E->Use, &E->Chg);
     } else {
-       /* Some other instruction. Use the values from the opcode description
-        * plus addressing mode info.
-        */
-       E->Use = D->Use | GetAMUseInfo (E->AM);
-       E->Chg = D->Chg;
-
-       /* Check for special zero page registers used */
-       switch (E->AM) {
-
-           case AM65_ACC:
-               if (E->OPC == OP65_ASL || E->OPC == OP65_DEC ||
-                   E->OPC == OP65_INC || E->OPC == OP65_LSR ||
-                   E->OPC == OP65_ROL || E->OPC == OP65_ROR) {
-                   /* A is changed by these insns */
-                   E->Chg |= REG_A;
-               }
+        /* Some other instruction. Use the values from the opcode description
+         * plus addressing mode info.
+         */
+        E->Use = D->Use | GetAMUseInfo (E->AM);
+        E->Chg = D->Chg;
+
+        /* Check for special zero page registers used */
+        switch (E->AM) {
+
+            case AM65_ACC:
+                if (E->OPC == OP65_ASL || E->OPC == OP65_DEC ||
+                    E->OPC == OP65_INC || E->OPC == OP65_LSR ||
+                    E->OPC == OP65_ROL || E->OPC == OP65_ROR) {
+                    /* A is changed by these insns */
+                    E->Chg |= REG_A;
+                }
+                break;
+
+            case AM65_ZP:
+            case AM65_ABS:
+            /* Be conservative: */
+            case AM65_ZPX:
+            case AM65_ABSX:
+            case AM65_ABSY:
+                Info = GetZPInfo (E->Arg);
+                if (Info && Info->ByteUse != REG_NONE) {
+                    if (E->OPC == OP65_ASL || E->OPC == OP65_DEC ||
+                        E->OPC == OP65_INC || E->OPC == OP65_LSR ||
+                        E->OPC == OP65_ROL || E->OPC == OP65_ROR ||
+                        E->OPC == OP65_TRB || E->OPC == OP65_TSB) {
+                        /* The zp loc is both, input and output */
+                        E->Chg |= Info->ByteUse;
+                        E->Use |= Info->ByteUse;
+                    } else if ((E->Info & OF_STORE) != 0) {
+                        /* Just output */
+                        E->Chg |= Info->ByteUse;
+                    } else {
+                        /* Input only */
+                        E->Use |= Info->ByteUse;
+                    }
+                }
+                break;
+
+            case AM65_ZPX_IND:
+            case AM65_ZP_INDY:
+            case AM65_ZP_IND:
+                Info = GetZPInfo (E->Arg);
+                if (Info && Info->ByteUse != REG_NONE) {
+                    /* These addressing modes will never change the zp loc */
+                    E->Use |= Info->WordUse;
+                }
                 break;
 
-           case AM65_ZP:
-           case AM65_ABS:
-           /* Be conservative: */
-           case AM65_ZPX:
-           case AM65_ABSX:
-           case AM65_ABSY:
-               Info = GetZPInfo (E->Arg);
-               if (Info && Info->ByteUse != REG_NONE) {
-                   if (E->OPC == OP65_ASL || E->OPC == OP65_DEC ||
-                       E->OPC == OP65_INC || E->OPC == OP65_LSR ||
-                       E->OPC == OP65_ROL || E->OPC == OP65_ROR ||
-                       E->OPC == OP65_TRB || E->OPC == OP65_TSB) {
-                       /* The zp loc is both, input and output */
-                       E->Chg |= Info->ByteUse;
-                       E->Use |= Info->ByteUse;
-                   } else if ((E->Info & OF_STORE) != 0) {
-                       /* Just output */
-                       E->Chg |= Info->ByteUse;
-                   } else {
-                       /* Input only */
-                       E->Use |= Info->ByteUse;
-                   }
-               }
-               break;
-
-           case AM65_ZPX_IND:
-           case AM65_ZP_INDY:
-           case AM65_ZP_IND:
-               Info = GetZPInfo (E->Arg);
-               if (Info && Info->ByteUse != REG_NONE) {
-                   /* These addressing modes will never change the zp loc */
-                   E->Use |= Info->WordUse;
-               }
-               break;
-
-           default:
-               /* Keep gcc silent */
-               break;
-       }
+            default:
+                /* Keep gcc silent */
+                break;
+        }
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -232,7 +232,7 @@ const char* MakeHexArg (unsigned Num)
 
 
 CodeEntry* NewCodeEntry (opc_t OPC, am_t AM, const char* Arg,
-                        CodeLabel* JumpTo, LineInfo* LI)
+                         CodeLabel* JumpTo, LineInfo* LI)
 /* Create a new code entry, initialize and return it */
 {
     /* Get the opcode description */
@@ -256,7 +256,7 @@ CodeEntry* NewCodeEntry (opc_t OPC, am_t AM, const char* Arg,
 
     /* If we have a label given, add this entry to the label */
     if (JumpTo) {
-       CollAppend (&JumpTo->JumpFrom, E);
+        CollAppend (&JumpTo->JumpFrom, E);
     }
 
     /* Return the initialized struct */
@@ -376,13 +376,13 @@ void CE_SetNumArg (CodeEntry* E, long Num)
 
     /* Make the new argument string */
     if (E->Size == 2) {
-       Num &= 0xFF;
-       xsprintf (Buf, sizeof (Buf), "$%02X", (unsigned) Num);
+        Num &= 0xFF;
+        xsprintf (Buf, sizeof (Buf), "$%02X", (unsigned) Num);
     } else if (E->Size == 3) {
-       Num &= 0xFFFF;
-       xsprintf (Buf, sizeof (Buf), "$%04X", (unsigned) Num);
+        Num &= 0xFFFF;
+        xsprintf (Buf, sizeof (Buf), "$%04X", (unsigned) Num);
     } else {
-       Internal ("Invalid instruction size in CE_SetNumArg");
+        Internal ("Invalid instruction size in CE_SetNumArg");
     }
 
     /* Replace the argument by the new one */
@@ -482,8 +482,8 @@ void CE_FreeRegInfo (CodeEntry* E)
 /* Free an existing register info struct */
 {
     if (E->RI) {
-               FreeRegInfo (E->RI);
-       E->RI = 0;
+        FreeRegInfo (E->RI);
+        E->RI = 0;
     }
 }
 
@@ -503,339 +503,339 @@ void CE_GenRegInfo (CodeEntry* E, RegContents* InputRegs)
 
     /* If we don't have a register info struct, allocate one. */
     if (E->RI == 0) {
-       E->RI = NewRegInfo (InputRegs);
+        E->RI = NewRegInfo (InputRegs);
     } else {
-       if (InputRegs) {
-           E->RI->In  = *InputRegs;
-       } else {
-           RC_Invalidate (&E->RI->In);
-       }
-               E->RI->Out2 = E->RI->Out = E->RI->In;
+        if (InputRegs) {
+            E->RI->In  = *InputRegs;
+        } else {
+            RC_Invalidate (&E->RI->In);
+        }
+        E->RI->Out2 = E->RI->Out = E->RI->In;
     }
 
     /* Get pointers to the register contents */
     In  = &E->RI->In;
-    Out        = &E->RI->Out;
+    Out = &E->RI->Out;
 
     /* Handle the different instructions */
     switch (E->OPC) {
 
-       case OP65_ADC:
-           /* We don't know the value of the carry, so the result is
-            * always unknown.
-            */
-           Out->RegA = UNKNOWN_REGVAL;
-           break;
-
-       case OP65_AND:
-                   if (RegValIsKnown (In->RegA)) {
-               if (CE_IsConstImm (E)) {
-                   Out->RegA = In->RegA & (short) E->Num;
-               } else if (E->AM == AM65_ZP) {
-                   switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->RegA = In->RegA & In->Tmp1;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->RegA = In->RegA & In->Ptr1Lo;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->RegA = In->RegA & In->Ptr1Hi;
-                           break;
-                       case REG_SREG_LO:
-                           Out->RegA = In->RegA & In->SRegLo;
-                           break;
-                       case REG_SREG_HI:
-                           Out->RegA = In->RegA & In->SRegHi;
-                           break;
-                       default:
-                           Out->RegA = UNKNOWN_REGVAL;
-                           break;
-                   }
+        case OP65_ADC:
+            /* We don't know the value of the carry, so the result is
+             * always unknown.
+             */
+            Out->RegA = UNKNOWN_REGVAL;
+            break;
+
+        case OP65_AND:
+            if (RegValIsKnown (In->RegA)) {
+                if (CE_IsConstImm (E)) {
+                    Out->RegA = In->RegA & (short) E->Num;
+                } else if (E->AM == AM65_ZP) {
+                    switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->RegA = In->RegA & In->Tmp1;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->RegA = In->RegA & In->Ptr1Lo;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->RegA = In->RegA & In->Ptr1Hi;
+                            break;
+                        case REG_SREG_LO:
+                            Out->RegA = In->RegA & In->SRegLo;
+                            break;
+                        case REG_SREG_HI:
+                            Out->RegA = In->RegA & In->SRegHi;
+                            break;
+                        default:
+                            Out->RegA = UNKNOWN_REGVAL;
+                            break;
+                    }
                 } else {
-                   Out->RegA = UNKNOWN_REGVAL;
-               }
-           } else if (CE_IsKnownImm (E, 0)) {
+                    Out->RegA = UNKNOWN_REGVAL;
+                }
+            } else if (CE_IsKnownImm (E, 0)) {
                 /* A and $00 does always give zero */
                 Out->RegA = 0;
             }
-           break;
-
-       case OP65_ASL:
-           if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
-               Out->RegA = (In->RegA << 1) & 0xFF;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = (In->Tmp1 << 1) & 0xFF;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = (In->Ptr1Lo << 1) & 0xFF;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = (In->Ptr1Hi << 1) & 0xFF;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = (In->SRegLo << 1) & 0xFF;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = (In->SRegHi << 1) & 0xFF;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            break;
+
+        case OP65_ASL:
+            if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
+                Out->RegA = (In->RegA << 1) & 0xFF;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = (In->Tmp1 << 1) & 0xFF;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = (In->Ptr1Lo << 1) & 0xFF;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = (In->Ptr1Hi << 1) & 0xFF;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = (In->SRegLo << 1) & 0xFF;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = (In->SRegHi << 1) & 0xFF;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_BCC:
-           break;
-
-       case OP65_BCS:
-           break;
-
-       case OP65_BEQ:
-           break;
-
-       case OP65_BIT:
-           break;
-
-       case OP65_BMI:
-           break;
-
-       case OP65_BNE:
-           break;
-
-       case OP65_BPL:
-           break;
-
-       case OP65_BRA:
-           break;
-
-       case OP65_BRK:
-           break;
-
-       case OP65_BVC:
-           break;
-
-       case OP65_BVS:
-           break;
-
-       case OP65_CLC:
-           break;
-
-       case OP65_CLD:
-           break;
-
-       case OP65_CLI:
-           break;
-
-       case OP65_CLV:
-           break;
-
-       case OP65_CMP:
-           break;
-
-       case OP65_CPX:
-           break;
-
-       case OP65_CPY:
-           break;
-
-       case OP65_DEA:
-                   if (RegValIsKnown (In->RegA)) {
-               Out->RegA = (In->RegA - 1) & 0xFF;
-           }
-           break;
-
-       case OP65_DEC:
-           if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
-               Out->RegA = (In->RegA - 1) & 0xFF;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = (In->Tmp1 - 1) & 0xFF;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = (In->Ptr1Lo - 1) & 0xFF;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = (In->Ptr1Hi - 1) & 0xFF;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = (In->SRegLo - 1) & 0xFF;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = (In->SRegHi - 1) & 0xFF;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            }
+            break;
+
+        case OP65_BCC:
+            break;
+
+        case OP65_BCS:
+            break;
+
+        case OP65_BEQ:
+            break;
+
+        case OP65_BIT:
+            break;
+
+        case OP65_BMI:
+            break;
+
+        case OP65_BNE:
+            break;
+
+        case OP65_BPL:
+            break;
+
+        case OP65_BRA:
+            break;
+
+        case OP65_BRK:
+            break;
+
+        case OP65_BVC:
+            break;
+
+        case OP65_BVS:
+            break;
+
+        case OP65_CLC:
+            break;
+
+        case OP65_CLD:
+            break;
+
+        case OP65_CLI:
+            break;
+
+        case OP65_CLV:
+            break;
+
+        case OP65_CMP:
+            break;
+
+        case OP65_CPX:
+            break;
+
+        case OP65_CPY:
+            break;
+
+        case OP65_DEA:
+            if (RegValIsKnown (In->RegA)) {
+                Out->RegA = (In->RegA - 1) & 0xFF;
+            }
+            break;
+
+        case OP65_DEC:
+            if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
+                Out->RegA = (In->RegA - 1) & 0xFF;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = (In->Tmp1 - 1) & 0xFF;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = (In->Ptr1Lo - 1) & 0xFF;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = (In->Ptr1Hi - 1) & 0xFF;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = (In->SRegLo - 1) & 0xFF;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = (In->SRegHi - 1) & 0xFF;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_DEX:
-                   if (RegValIsKnown (In->RegX)) {
-               Out->RegX = (In->RegX - 1) & 0xFF;
-           }
-           break;
-
-       case OP65_DEY:
-                   if (RegValIsKnown (In->RegY)) {
-               Out->RegY = (In->RegY - 1) & 0xFF;
-           }
-           break;
-
-       case OP65_EOR:
-                   if (RegValIsKnown (In->RegA)) {
-               if (CE_IsConstImm (E)) {
-                   Out->RegA = In->RegA ^ (short) E->Num;
-               } else if (E->AM == AM65_ZP) {
-                   switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->RegA = In->RegA ^ In->Tmp1;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->RegA = In->RegA ^ In->Ptr1Lo;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->RegA = In->RegA ^ In->Ptr1Hi;
-                           break;
-                       case REG_SREG_LO:
-                           Out->RegA = In->RegA ^ In->SRegLo;
-                           break;
-                       case REG_SREG_HI:
-                           Out->RegA = In->RegA ^ In->SRegHi;
-                           break;
-                       default:
-                           Out->RegA = UNKNOWN_REGVAL;
-                           break;
-                   }
-               } else {
-                   Out->RegA = UNKNOWN_REGVAL;
-               }
-           }
-           break;
-
-       case OP65_INA:
-           if (RegValIsKnown (In->RegA)) {
-               Out->RegA = (In->RegA + 1) & 0xFF;
-           }
-           break;
-
-       case OP65_INC:
-           if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
-               Out->RegA = (In->RegA + 1) & 0xFF;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = (In->Tmp1 + 1) & 0xFF;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = (In->Ptr1Lo + 1) & 0xFF;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = (In->Ptr1Hi + 1) & 0xFF;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = (In->SRegLo + 1) & 0xFF;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = (In->SRegHi + 1) & 0xFF;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            }
+            break;
+
+        case OP65_DEX:
+            if (RegValIsKnown (In->RegX)) {
+                Out->RegX = (In->RegX - 1) & 0xFF;
+            }
+            break;
+
+        case OP65_DEY:
+            if (RegValIsKnown (In->RegY)) {
+                Out->RegY = (In->RegY - 1) & 0xFF;
+            }
+            break;
+
+        case OP65_EOR:
+            if (RegValIsKnown (In->RegA)) {
+                if (CE_IsConstImm (E)) {
+                    Out->RegA = In->RegA ^ (short) E->Num;
+                } else if (E->AM == AM65_ZP) {
+                    switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->RegA = In->RegA ^ In->Tmp1;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->RegA = In->RegA ^ In->Ptr1Lo;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->RegA = In->RegA ^ In->Ptr1Hi;
+                            break;
+                        case REG_SREG_LO:
+                            Out->RegA = In->RegA ^ In->SRegLo;
+                            break;
+                        case REG_SREG_HI:
+                            Out->RegA = In->RegA ^ In->SRegHi;
+                            break;
+                        default:
+                            Out->RegA = UNKNOWN_REGVAL;
+                            break;
+                    }
+                } else {
+                    Out->RegA = UNKNOWN_REGVAL;
+                }
+            }
+            break;
+
+        case OP65_INA:
+            if (RegValIsKnown (In->RegA)) {
+                Out->RegA = (In->RegA + 1) & 0xFF;
+            }
+            break;
+
+        case OP65_INC:
+            if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
+                Out->RegA = (In->RegA + 1) & 0xFF;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = (In->Tmp1 + 1) & 0xFF;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = (In->Ptr1Lo + 1) & 0xFF;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = (In->Ptr1Hi + 1) & 0xFF;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = (In->SRegLo + 1) & 0xFF;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = (In->SRegHi + 1) & 0xFF;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_INX:
-           if (RegValIsKnown (In->RegX)) {
-               Out->RegX = (In->RegX + 1) & 0xFF;
-           }
-           break;
-
-       case OP65_INY:
-           if (RegValIsKnown (In->RegY)) {
-               Out->RegY = (In->RegY + 1) & 0xFF;
-           }
-           break;
-
-       case OP65_JCC:
-           break;
-
-       case OP65_JCS:
-           break;
-
-       case OP65_JEQ:
-           break;
-
-       case OP65_JMI:
-           break;
-
-       case OP65_JMP:
-           break;
-
-       case OP65_JNE:
-           break;
-
-       case OP65_JPL:
-           break;
-
-       case OP65_JSR:
-           /* Get the code info for the function */
-           GetFuncInfo (E->Arg, &Use, &Chg);
-           if (Chg & REG_A) {
-               Out->RegA = UNKNOWN_REGVAL;
-           }
-           if (Chg & REG_X) {
-               Out->RegX = UNKNOWN_REGVAL;
-           }
-           if (Chg & REG_Y) {
-               Out->RegY = UNKNOWN_REGVAL;
-           }
-           if (Chg & REG_TMP1) {
-               Out->Tmp1 = UNKNOWN_REGVAL;
-           }
+            }
+            break;
+
+        case OP65_INX:
+            if (RegValIsKnown (In->RegX)) {
+                Out->RegX = (In->RegX + 1) & 0xFF;
+            }
+            break;
+
+        case OP65_INY:
+            if (RegValIsKnown (In->RegY)) {
+                Out->RegY = (In->RegY + 1) & 0xFF;
+            }
+            break;
+
+        case OP65_JCC:
+            break;
+
+        case OP65_JCS:
+            break;
+
+        case OP65_JEQ:
+            break;
+
+        case OP65_JMI:
+            break;
+
+        case OP65_JMP:
+            break;
+
+        case OP65_JNE:
+            break;
+
+        case OP65_JPL:
+            break;
+
+        case OP65_JSR:
+            /* Get the code info for the function */
+            GetFuncInfo (E->Arg, &Use, &Chg);
+            if (Chg & REG_A) {
+                Out->RegA = UNKNOWN_REGVAL;
+            }
+            if (Chg & REG_X) {
+                Out->RegX = UNKNOWN_REGVAL;
+            }
+            if (Chg & REG_Y) {
+                Out->RegY = UNKNOWN_REGVAL;
+            }
+            if (Chg & REG_TMP1) {
+                Out->Tmp1 = UNKNOWN_REGVAL;
+            }
             if (Chg & REG_PTR1_LO) {
-               Out->Ptr1Lo = UNKNOWN_REGVAL;
-           }
-           if (Chg & REG_PTR1_HI) {
-               Out->Ptr1Hi = UNKNOWN_REGVAL;
-           }
+                Out->Ptr1Lo = UNKNOWN_REGVAL;
+            }
+            if (Chg & REG_PTR1_HI) {
+                Out->Ptr1Hi = UNKNOWN_REGVAL;
+            }
             if (Chg & REG_SREG_LO) {
-               Out->SRegLo = UNKNOWN_REGVAL;
-           }
-           if (Chg & REG_SREG_HI) {
-               Out->SRegHi = UNKNOWN_REGVAL;
-           }
-                   /* ## FIXME: Quick hack for some known functions: */
-           if (strcmp (E->Arg, "complax") == 0) {
-               if (RegValIsKnown (In->RegA)) {
-                   Out->RegA = (In->RegA ^ 0xFF);
-               }
-               if (RegValIsKnown (In->RegX)) {
-                   Out->RegX = (In->RegX ^ 0xFF);
-               }
-           } else if (strcmp (E->Arg, "tosandax") == 0) {
-               if (In->RegA == 0) {
-                   Out->RegA = 0;
-               }
-               if (In->RegX == 0) {
-                   Out->RegX = 0;
-               }
+                Out->SRegLo = UNKNOWN_REGVAL;
+            }
+            if (Chg & REG_SREG_HI) {
+                Out->SRegHi = UNKNOWN_REGVAL;
+            }
+            /* ## FIXME: Quick hack for some known functions: */
+            if (strcmp (E->Arg, "complax") == 0) {
+                if (RegValIsKnown (In->RegA)) {
+                    Out->RegA = (In->RegA ^ 0xFF);
+                }
+                if (RegValIsKnown (In->RegX)) {
+                    Out->RegX = (In->RegX ^ 0xFF);
+                }
+            } else if (strcmp (E->Arg, "tosandax") == 0) {
+                if (In->RegA == 0) {
+                    Out->RegA = 0;
+                }
+                if (In->RegX == 0) {
+                    Out->RegX = 0;
+                }
             } else if (strcmp (E->Arg, "tosaslax") == 0) {
                 if (RegValIsKnown (In->RegA) && (In->RegA & 0x0F) >= 8) {
                     printf ("Hey!\n");
                     Out->RegA = 0;
                 }
-           } else if (strcmp (E->Arg, "tosorax") == 0) {
-               if (In->RegA == 0xFF) {
-                   Out->RegA = 0xFF;
-               }
-               if (In->RegX == 0xFF) {
+            } else if (strcmp (E->Arg, "tosorax") == 0) {
+                if (In->RegA == 0xFF) {
+                    Out->RegA = 0xFF;
+                }
+                if (In->RegX == 0xFF) {
                     Out->RegX = 0xFF;
                 }
             } else if (strcmp (E->Arg, "tosshlax") == 0) {
@@ -847,487 +847,487 @@ void CE_GenRegInfo (CodeEntry* E, RegContents* InputRegs)
                 /* Result is boolean value, so X is zero on output */
                 Out->RegX = 0;
             }
-           break;
-
-       case OP65_JVC:
-           break;
-
-       case OP65_JVS:
-           break;
-
-       case OP65_LDA:
-           if (CE_IsConstImm (E)) {
-               Out->RegA = (unsigned char) E->Num;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->RegA = In->Tmp1;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->RegA = In->Ptr1Lo;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->RegA = In->Ptr1Hi;
-                       break;
-                   case REG_SREG_LO:
-                       Out->RegA = In->SRegLo;
-                       break;
-                   case REG_SREG_HI:
-                       Out->RegA = In->SRegHi;
-                       break;
-                   default:
-                       Out->RegA = UNKNOWN_REGVAL;
-                       break;
-               }
-           } else {
-               /* A is now unknown */
-               Out->RegA = UNKNOWN_REGVAL;
-           }
-           break;
-
-       case OP65_LDX:
-           if (CE_IsConstImm (E)) {
-               Out->RegX = (unsigned char) E->Num;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->RegX = In->Tmp1;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->RegX = In->Ptr1Lo;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->RegX = In->Ptr1Hi;
-                       break;
-                   case REG_SREG_LO:
-                       Out->RegX = In->SRegLo;
-                       break;
-                   case REG_SREG_HI:
-                       Out->RegX = In->SRegHi;
-                       break;
-                   default:
-                       Out->RegX = UNKNOWN_REGVAL;
-                       break;
-               }
-           } else {
-               /* X is now unknown */
-               Out->RegX = UNKNOWN_REGVAL;
-           }
-           break;
-
-       case OP65_LDY:
-           if (CE_IsConstImm (E)) {
-               Out->RegY = (unsigned char) E->Num;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->RegY = In->Tmp1;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->RegY = In->Ptr1Lo;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->RegY = In->Ptr1Hi;
-                       break;
-                   case REG_SREG_LO:
-                       Out->RegY = In->SRegLo;
-                       break;
-                   case REG_SREG_HI:
-                       Out->RegY = In->SRegHi;
-                       break;
-                   default:
-                       Out->RegY = UNKNOWN_REGVAL;
-                       break;
-               }
-           } else {
-               /* Y is now unknown */
-               Out->RegY = UNKNOWN_REGVAL;
-           }
-           break;
-
-       case OP65_LSR:
-           if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
-               Out->RegA = (In->RegA >> 1) & 0xFF;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = (In->Tmp1 >> 1) & 0xFF;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = (In->Ptr1Lo >> 1) & 0xFF;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = (In->Ptr1Hi >> 1) & 0xFF;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = (In->SRegLo >> 1) & 0xFF;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = (In->SRegHi >> 1) & 0xFF;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            break;
+
+        case OP65_JVC:
+            break;
+
+        case OP65_JVS:
+            break;
+
+        case OP65_LDA:
+            if (CE_IsConstImm (E)) {
+                Out->RegA = (unsigned char) E->Num;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->RegA = In->Tmp1;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->RegA = In->Ptr1Lo;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->RegA = In->Ptr1Hi;
+                        break;
+                    case REG_SREG_LO:
+                        Out->RegA = In->SRegLo;
+                        break;
+                    case REG_SREG_HI:
+                        Out->RegA = In->SRegHi;
+                        break;
+                    default:
+                        Out->RegA = UNKNOWN_REGVAL;
+                        break;
+                }
+            } else {
+                /* A is now unknown */
+                Out->RegA = UNKNOWN_REGVAL;
+            }
+            break;
+
+        case OP65_LDX:
+            if (CE_IsConstImm (E)) {
+                Out->RegX = (unsigned char) E->Num;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->RegX = In->Tmp1;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->RegX = In->Ptr1Lo;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->RegX = In->Ptr1Hi;
+                        break;
+                    case REG_SREG_LO:
+                        Out->RegX = In->SRegLo;
+                        break;
+                    case REG_SREG_HI:
+                        Out->RegX = In->SRegHi;
+                        break;
+                    default:
+                        Out->RegX = UNKNOWN_REGVAL;
+                        break;
+                }
+            } else {
+                /* X is now unknown */
+                Out->RegX = UNKNOWN_REGVAL;
+            }
+            break;
+
+        case OP65_LDY:
+            if (CE_IsConstImm (E)) {
+                Out->RegY = (unsigned char) E->Num;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->RegY = In->Tmp1;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->RegY = In->Ptr1Lo;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->RegY = In->Ptr1Hi;
+                        break;
+                    case REG_SREG_LO:
+                        Out->RegY = In->SRegLo;
+                        break;
+                    case REG_SREG_HI:
+                        Out->RegY = In->SRegHi;
+                        break;
+                    default:
+                        Out->RegY = UNKNOWN_REGVAL;
+                        break;
+                }
+            } else {
+                /* Y is now unknown */
+                Out->RegY = UNKNOWN_REGVAL;
+            }
+            break;
+
+        case OP65_LSR:
+            if (E->AM == AM65_ACC && RegValIsKnown (In->RegA)) {
+                Out->RegA = (In->RegA >> 1) & 0xFF;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = (In->Tmp1 >> 1) & 0xFF;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = (In->Ptr1Lo >> 1) & 0xFF;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = (In->Ptr1Hi >> 1) & 0xFF;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = (In->SRegLo >> 1) & 0xFF;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = (In->SRegHi >> 1) & 0xFF;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_NOP:
-           break;
-
-       case OP65_ORA:
-           if (RegValIsKnown (In->RegA)) {
-               if (CE_IsConstImm (E)) {
-                   Out->RegA = In->RegA | (short) E->Num;
-               } else if (E->AM == AM65_ZP) {
-                   switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->RegA = In->RegA | In->Tmp1;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->RegA = In->RegA | In->Ptr1Lo;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->RegA = In->RegA | In->Ptr1Hi;
-                           break;
-                       case REG_SREG_LO:
-                           Out->RegA = In->RegA | In->SRegLo;
-                           break;
-                       case REG_SREG_HI:
-                           Out->RegA = In->RegA | In->SRegHi;
-                           break;
-                       default:
-                           Out->RegA = UNKNOWN_REGVAL;
-                           break;
-                   }
-               } else {
-                   /* A is now unknown */
-                   Out->RegA = UNKNOWN_REGVAL;
-               }
-           } else if (CE_IsKnownImm (E, 0xFF)) {
+            }
+            break;
+
+        case OP65_NOP:
+            break;
+
+        case OP65_ORA:
+            if (RegValIsKnown (In->RegA)) {
+                if (CE_IsConstImm (E)) {
+                    Out->RegA = In->RegA | (short) E->Num;
+                } else if (E->AM == AM65_ZP) {
+                    switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->RegA = In->RegA | In->Tmp1;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->RegA = In->RegA | In->Ptr1Lo;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->RegA = In->RegA | In->Ptr1Hi;
+                            break;
+                        case REG_SREG_LO:
+                            Out->RegA = In->RegA | In->SRegLo;
+                            break;
+                        case REG_SREG_HI:
+                            Out->RegA = In->RegA | In->SRegHi;
+                            break;
+                        default:
+                            Out->RegA = UNKNOWN_REGVAL;
+                            break;
+                    }
+                } else {
+                    /* A is now unknown */
+                    Out->RegA = UNKNOWN_REGVAL;
+                }
+            } else if (CE_IsKnownImm (E, 0xFF)) {
                 /* ORA with 0xFF does always give 0xFF */
                 Out->RegA = 0xFF;
             }
-           break;
-
-       case OP65_PHA:
-           break;
-
-       case OP65_PHP:
-           break;
-
-       case OP65_PHX:
-           break;
-
-       case OP65_PHY:
-           break;
-
-       case OP65_PLA:
-           Out->RegA = UNKNOWN_REGVAL;
-           break;
-
-       case OP65_PLP:
-           break;
-
-       case OP65_PLX:
-           Out->RegX = UNKNOWN_REGVAL;
-           break;
-
-       case OP65_PLY:
-           Out->RegY = UNKNOWN_REGVAL;
-           break;
-
-       case OP65_ROL:
-           /* We don't know the value of the carry bit */
-           if (E->AM == AM65_ACC) {
-               Out->RegA = UNKNOWN_REGVAL;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = UNKNOWN_REGVAL;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = UNKNOWN_REGVAL;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = UNKNOWN_REGVAL;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = UNKNOWN_REGVAL;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = UNKNOWN_REGVAL;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            break;
+
+        case OP65_PHA:
+            break;
+
+        case OP65_PHP:
+            break;
+
+        case OP65_PHX:
+            break;
+
+        case OP65_PHY:
+            break;
+
+        case OP65_PLA:
+            Out->RegA = UNKNOWN_REGVAL;
+            break;
+
+        case OP65_PLP:
+            break;
+
+        case OP65_PLX:
+            Out->RegX = UNKNOWN_REGVAL;
+            break;
+
+        case OP65_PLY:
+            Out->RegY = UNKNOWN_REGVAL;
+            break;
+
+        case OP65_ROL:
+            /* We don't know the value of the carry bit */
+            if (E->AM == AM65_ACC) {
+                Out->RegA = UNKNOWN_REGVAL;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = UNKNOWN_REGVAL;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = UNKNOWN_REGVAL;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = UNKNOWN_REGVAL;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = UNKNOWN_REGVAL;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = UNKNOWN_REGVAL;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
+                /* Invalidates all ZP registers */
+                RC_InvalidateZP (Out);
+            }
+            break;
+
+        case OP65_ROR:
+            /* We don't know the value of the carry bit */
+            if (E->AM == AM65_ACC) {
+                Out->RegA = UNKNOWN_REGVAL;
+            } else if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = UNKNOWN_REGVAL;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = UNKNOWN_REGVAL;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = UNKNOWN_REGVAL;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = UNKNOWN_REGVAL;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = UNKNOWN_REGVAL;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
+                /* Invalidates all ZP registers */
+                RC_InvalidateZP (Out);
+            }
+            break;
+
+        case OP65_RTI:
+            break;
+
+        case OP65_RTS:
+            break;
+
+        case OP65_SBC:
+            /* We don't know the value of the carry bit */
+            Out->RegA = UNKNOWN_REGVAL;
+            break;
+
+        case OP65_SEC:
+            break;
+
+        case OP65_SED:
+            break;
+
+        case OP65_SEI:
+            break;
+
+        case OP65_STA:
+            if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = In->RegA;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = In->RegA;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = In->RegA;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = In->RegA;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = In->RegA;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_ROR:
-           /* We don't know the value of the carry bit */
-           if (E->AM == AM65_ACC) {
-               Out->RegA = UNKNOWN_REGVAL;
-           } else if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = UNKNOWN_REGVAL;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = UNKNOWN_REGVAL;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = UNKNOWN_REGVAL;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = UNKNOWN_REGVAL;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = UNKNOWN_REGVAL;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            }
+            break;
+
+        case OP65_STX:
+            if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = In->RegX;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = In->RegX;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = In->RegX;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = In->RegX;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = In->RegX;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_RTI:
-           break;
-
-       case OP65_RTS:
-           break;
-
-       case OP65_SBC:
-           /* We don't know the value of the carry bit */
-           Out->RegA = UNKNOWN_REGVAL;
-           break;
-
-       case OP65_SEC:
-           break;
-
-       case OP65_SED:
-           break;
-
-       case OP65_SEI:
-           break;
-
-       case OP65_STA:
-           if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = In->RegA;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = In->RegA;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = In->RegA;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = In->RegA;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = In->RegA;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            }
+            break;
+
+        case OP65_STY:
+            if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = In->RegY;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = In->RegY;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = In->RegY;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = In->RegY;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = In->RegY;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_STX:
-           if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = In->RegX;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = In->RegX;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = In->RegX;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = In->RegX;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = In->RegX;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            }
+            break;
+
+        case OP65_STZ:
+            if (E->AM == AM65_ZP) {
+                switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
+                    case REG_TMP1:
+                        Out->Tmp1 = 0;
+                        break;
+                    case REG_PTR1_LO:
+                        Out->Ptr1Lo = 0;
+                        break;
+                    case REG_PTR1_HI:
+                        Out->Ptr1Hi = 0;
+                        break;
+                    case REG_SREG_LO:
+                        Out->SRegLo = 0;
+                        break;
+                    case REG_SREG_HI:
+                        Out->SRegHi = 0;
+                        break;
+                }
+            } else if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
-           }
-           break;
-
-       case OP65_STY:
-           if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = In->RegY;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = In->RegY;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = In->RegY;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = In->RegY;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = In->RegY;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            }
+            break;
+
+        case OP65_TAX:
+            Out->RegX = In->RegA;
+            break;
+
+        case OP65_TAY:
+            Out->RegY = In->RegA;
+            break;
+
+        case OP65_TRB:
+            if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
+            } else if (E->AM == AM65_ZP) {
+                if (RegValIsKnown (In->RegA)) {
+                    switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->Tmp1 &= ~In->RegA;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->Ptr1Lo &= ~In->RegA;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->Ptr1Hi &= ~In->RegA;
+                            break;
+                        case REG_SREG_LO:
+                            Out->SRegLo &= ~In->RegA;
+                            break;
+                        case REG_SREG_HI:
+                            Out->SRegHi &= ~In->RegA;
+                            break;
+                    }
+                } else {
+                    switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->Tmp1 = UNKNOWN_REGVAL;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->Ptr1Lo = UNKNOWN_REGVAL;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->Ptr1Hi = UNKNOWN_REGVAL;
+                            break;
+                        case REG_SREG_LO:
+                            Out->SRegLo = UNKNOWN_REGVAL;
+                            break;
+                        case REG_SREG_HI:
+                            Out->SRegHi = UNKNOWN_REGVAL;
+                            break;
+                    }
+                }
             }
-           break;
-
-       case OP65_STZ:
-           if (E->AM == AM65_ZP) {
-               switch (GetKnownReg (E->Chg & REG_ZP, 0)) {
-                   case REG_TMP1:
-                       Out->Tmp1 = 0;
-                       break;
-                   case REG_PTR1_LO:
-                       Out->Ptr1Lo = 0;
-                       break;
-                   case REG_PTR1_HI:
-                       Out->Ptr1Hi = 0;
-                       break;
-                   case REG_SREG_LO:
-                       Out->SRegLo = 0;
-                       break;
-                   case REG_SREG_HI:
-                       Out->SRegHi = 0;
-                       break;
-               }
-           } else if (E->AM == AM65_ZPX) {
+            break;
+
+        case OP65_TSB:
+            if (E->AM == AM65_ZPX) {
                 /* Invalidates all ZP registers */
                 RC_InvalidateZP (Out);
+            } else if (E->AM == AM65_ZP) {
+                if (RegValIsKnown (In->RegA)) {
+                    switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->Tmp1 |= In->RegA;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->Ptr1Lo |= In->RegA;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->Ptr1Hi |= In->RegA;
+                            break;
+                        case REG_SREG_LO:
+                            Out->SRegLo |= In->RegA;
+                            break;
+                        case REG_SREG_HI:
+                            Out->SRegHi |= In->RegA;
+                            break;
+                    }
+                } else {
+                    switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Out->Tmp1 = UNKNOWN_REGVAL;
+                            break;
+                        case REG_PTR1_LO:
+                            Out->Ptr1Lo = UNKNOWN_REGVAL;
+                            break;
+                        case REG_PTR1_HI:
+                            Out->Ptr1Hi = UNKNOWN_REGVAL;
+                            break;
+                        case REG_SREG_LO:
+                            Out->SRegLo = UNKNOWN_REGVAL;
+                            break;
+                        case REG_SREG_HI:
+                            Out->SRegHi = UNKNOWN_REGVAL;
+                            break;
+                    }
+                }
             }
-           break;
-
-       case OP65_TAX:
-           Out->RegX = In->RegA;
-           break;
-
-       case OP65_TAY:
-           Out->RegY = In->RegA;
-           break;
-
-       case OP65_TRB:
-           if (E->AM == AM65_ZPX) {
-               /* Invalidates all ZP registers */
-               RC_InvalidateZP (Out);
-           } else if (E->AM == AM65_ZP) {
-               if (RegValIsKnown (In->RegA)) {
-                   switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->Tmp1 &= ~In->RegA;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->Ptr1Lo &= ~In->RegA;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->Ptr1Hi &= ~In->RegA;
-                           break;
-                       case REG_SREG_LO:
-                           Out->SRegLo &= ~In->RegA;
-                           break;
-                       case REG_SREG_HI:
-                           Out->SRegHi &= ~In->RegA;
-                           break;
-                   }
-               } else {
-                   switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->Tmp1 = UNKNOWN_REGVAL;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->Ptr1Lo = UNKNOWN_REGVAL;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->Ptr1Hi = UNKNOWN_REGVAL;
-                           break;
-                       case REG_SREG_LO:
-                           Out->SRegLo = UNKNOWN_REGVAL;
-                           break;
-                       case REG_SREG_HI:
-                           Out->SRegHi = UNKNOWN_REGVAL;
-                           break;
-                   }
-               }
-           }
-           break;
-
-       case OP65_TSB:
-           if (E->AM == AM65_ZPX) {
-               /* Invalidates all ZP registers */
-               RC_InvalidateZP (Out);
-           } else if (E->AM == AM65_ZP) {
-               if (RegValIsKnown (In->RegA)) {
-                   switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->Tmp1 |= In->RegA;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->Ptr1Lo |= In->RegA;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->Ptr1Hi |= In->RegA;
-                           break;
-                       case REG_SREG_LO:
-                           Out->SRegLo |= In->RegA;
-                           break;
-                       case REG_SREG_HI:
-                           Out->SRegHi |= In->RegA;
-                           break;
-                   }
-               } else {
-                   switch (GetKnownReg (E->Chg & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Out->Tmp1 = UNKNOWN_REGVAL;
-                           break;
-                       case REG_PTR1_LO:
-                           Out->Ptr1Lo = UNKNOWN_REGVAL;
-                           break;
-                       case REG_PTR1_HI:
-                           Out->Ptr1Hi = UNKNOWN_REGVAL;
-                           break;
-                       case REG_SREG_LO:
-                           Out->SRegLo = UNKNOWN_REGVAL;
-                           break;
-                       case REG_SREG_HI:
-                           Out->SRegHi = UNKNOWN_REGVAL;
-                           break;
-                   }
-               }
-           }
-           break;
-
-       case OP65_TSX:
-           Out->RegX = UNKNOWN_REGVAL;
-           break;
-
-       case OP65_TXA:
-           Out->RegA = In->RegX;
-           break;
-
-       case OP65_TXS:
-           break;
-
-       case OP65_TYA:
-           Out->RegA = In->RegY;
-           break;
-
-       default:
-           break;
+            break;
+
+        case OP65_TSX:
+            Out->RegX = UNKNOWN_REGVAL;
+            break;
+
+        case OP65_TXA:
+            Out->RegA = In->RegX;
+            break;
+
+        case OP65_TXS:
+            break;
+
+        case OP65_TYA:
+            Out->RegA = In->RegY;
+            break;
+
+        default:
+            break;
 
     }
 }
@@ -1396,7 +1396,7 @@ void CE_Output (const CodeEntry* E)
     unsigned LabelCount = CollCount (&E->Labels);
     unsigned I;
     for (I = 0; I < LabelCount; ++I) {
-       CL_Output (CollConstAt (&E->Labels, I));
+        CL_Output (CollConstAt (&E->Labels, I));
     }
 
     /* Get the opcode description */
@@ -1411,72 +1411,72 @@ void CE_Output (const CodeEntry* E)
     /* Print the operand */
     switch (E->AM) {
 
-       case AM65_IMP:
-           /* implicit */
-           break;
-
-       case AM65_ACC:
-           /* accumulator */
-           Chars += WriteOutput ("%*sa", Space, "");
-           break;
-
-       case AM65_IMM:
-           /* immidiate */
-           Chars += WriteOutput ("%*s#%s", Space, "", E->Arg);
-           break;
-
-       case AM65_ZP:
-       case AM65_ABS:
-           /* zeropage and absolute */
-           Chars += WriteOutput ("%*s%s", Space, "", E->Arg);
-                   break;
-
-       case AM65_ZPX:
-       case AM65_ABSX:
-           /* zeropage,X and absolute,X */
-           Chars += WriteOutput ("%*s%s,x", Space, "", E->Arg);
-           break;
-
-       case AM65_ABSY:
-           /* absolute,Y */
-           Chars += WriteOutput ("%*s%s,y", Space, "", E->Arg);
-           break;
-
-       case AM65_ZPX_IND:
-           /* (zeropage,x) */
-                   Chars += WriteOutput ("%*s(%s,x)", Space, "", E->Arg);
-           break;
-
-       case AM65_ZP_INDY:
-           /* (zeropage),y */
-                   Chars += WriteOutput ("%*s(%s),y", Space, "", E->Arg);
-           break;
-
-       case AM65_ZP_IND:
-           /* (zeropage) */
-                   Chars += WriteOutput ("%*s(%s)", Space, "", E->Arg);
-           break;
-
-       case AM65_BRA:
-           /* branch */
-           Target = E->JumpTo? E->JumpTo->Name : E->Arg;
-           Chars += WriteOutput ("%*s%s", Space, "", Target);
-           break;
-
-       default:
-           Internal ("Invalid addressing mode");
+        case AM65_IMP:
+            /* implicit */
+            break;
+
+        case AM65_ACC:
+            /* accumulator */
+            Chars += WriteOutput ("%*sa", Space, "");
+            break;
+
+        case AM65_IMM:
+            /* immidiate */
+            Chars += WriteOutput ("%*s#%s", Space, "", E->Arg);
+            break;
+
+        case AM65_ZP:
+        case AM65_ABS:
+            /* zeropage and absolute */
+            Chars += WriteOutput ("%*s%s", Space, "", E->Arg);
+            break;
+
+        case AM65_ZPX:
+        case AM65_ABSX:
+            /* zeropage,X and absolute,X */
+            Chars += WriteOutput ("%*s%s,x", Space, "", E->Arg);
+            break;
+
+        case AM65_ABSY:
+            /* absolute,Y */
+            Chars += WriteOutput ("%*s%s,y", Space, "", E->Arg);
+            break;
+
+        case AM65_ZPX_IND:
+            /* (zeropage,x) */
+            Chars += WriteOutput ("%*s(%s,x)", Space, "", E->Arg);
+            break;
+
+        case AM65_ZP_INDY:
+            /* (zeropage),y */
+            Chars += WriteOutput ("%*s(%s),y", Space, "", E->Arg);
+            break;
+
+        case AM65_ZP_IND:
+            /* (zeropage) */
+            Chars += WriteOutput ("%*s(%s)", Space, "", E->Arg);
+            break;
+
+        case AM65_BRA:
+            /* branch */
+            Target = E->JumpTo? E->JumpTo->Name : E->Arg;
+            Chars += WriteOutput ("%*s%s", Space, "", Target);
+            break;
+
+        default:
+            Internal ("Invalid addressing mode");
 
     }
 
     /* Print usage info if requested by the debugging flag */
     if (Debug) {
-       char Use [128];
-       char Chg [128];
-               WriteOutput ("%*s; USE: %-12s CHG: %-12s SIZE: %u",
-                            (int)(30-Chars), "",
-                    RegInfoDesc (E->Use, Use),
-                    RegInfoDesc (E->Chg, Chg),
-                    E->Size);
+        char Use [128];
+        char Chg [128];
+        WriteOutput ("%*s; USE: %-12s CHG: %-12s SIZE: %u",
+                     (int)(30-Chars), "",
+                     RegInfoDesc (E->Use, Use),
+                     RegInfoDesc (E->Chg, Chg),
+                     E->Size);
 
         if (E->RI) {
             char RegIn[32];
index 303adc7fcff00e465edb14c0ea5959753e6d45c6..634034c6b0adcee1f5e1fccbcbe94e648796ef16 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codeent.h                                 */
+/*                                 codeent.h                                 */
 /*                                                                           */
-/*                           Code segment entry                             */
+/*                            Code segment entry                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Flags used */
-#define CEF_USERMARK   0x0001U         /* Generic mark by user functions */
-#define CEF_NUMARG     0x0002U         /* Insn has numerical argument */
+#define CEF_USERMARK    0x0001U         /* Generic mark by user functions */
+#define CEF_NUMARG      0x0002U         /* Insn has numerical argument */
 
 /* Code entry structure */
 typedef struct CodeEntry CodeEntry;
 struct CodeEntry {
-    unsigned char       OPC;           /* Opcode */
-    unsigned char       AM;            /* Adressing mode */
-    unsigned char      Size;           /* Estimated size */
-    unsigned char       Flags;         /* Flags */
-    char*                      Arg;            /* Argument as string */
-    unsigned long      Num;            /* Numeric argument */
-    unsigned short      Info;          /* Additional code info */
-    unsigned short      Use;           /* Registers used */
-    unsigned short      Chg;           /* Registers changed/destroyed */
-    CodeLabel*         JumpTo;         /* Jump label */
-    Collection         Labels;         /* Labels for this instruction */
+    unsigned char       OPC;            /* Opcode */
+    unsigned char       AM;             /* Adressing mode */
+    unsigned char       Size;           /* Estimated size */
+    unsigned char       Flags;          /* Flags */
+    char*               Arg;            /* Argument as string */
+    unsigned long       Num;            /* Numeric argument */
+    unsigned short      Info;           /* Additional code info */
+    unsigned short      Use;            /* Registers used */
+    unsigned short      Chg;            /* Registers changed/destroyed */
+    CodeLabel*          JumpTo;         /* Jump label */
+    Collection          Labels;         /* Labels for this instruction */
     LineInfo*           LI;             /* Source line info for this insn */
     RegInfo*            RI;             /* Register info for this insn */
 };
@@ -83,7 +83,7 @@ struct CodeEntry {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -97,7 +97,7 @@ const char* MakeHexArg (unsigned Num);
  */
 
 CodeEntry* NewCodeEntry (opc_t OPC, am_t AM, const char* Arg,
-                        CodeLabel* JumpTo, LineInfo* LI);
+                         CodeLabel* JumpTo, LineInfo* LI);
 /* Create a new code entry, initialize and return it */
 
 void FreeCodeEntry (CodeEntry* E);
@@ -127,7 +127,7 @@ INLINE int CE_HasLabel (const CodeEntry* E)
     return (CollCount (&E->Labels) > 0);
 }
 #else
-#  define CE_HasLabel(E)       (CollCount (&(E)->Labels) > 0)
+#  define CE_HasLabel(E)        (CollCount (&(E)->Labels) > 0)
 #endif
 
 #if defined(HAVE_INLINE)
@@ -137,7 +137,7 @@ INLINE unsigned CE_GetLabelCount (const CodeEntry* E)
     return CollCount (&E->Labels);
 }
 #else
-#  define CE_GetLabelCount(E)  CollCount (&(E)->Labels)
+#  define CE_GetLabelCount(E)   CollCount (&(E)->Labels)
 #endif
 
 #if defined(HAVE_INLINE)
@@ -147,7 +147,7 @@ INLINE CodeLabel* CE_GetLabel (CodeEntry* E, unsigned Index)
     return CollAt (&E->Labels, Index);
 }
 #else
-#  define CE_GetLabel(E, Index)        CollAt (&(E)->Labels, (Index))
+#  define CE_GetLabel(E, Index) CollAt (&(E)->Labels, (Index))
 #endif
 
 void CE_MoveLabel (CodeLabel* L, CodeEntry* E);
@@ -160,7 +160,7 @@ INLINE int CE_HasMark (const CodeEntry* E)
     return (E->Flags & CEF_USERMARK) != 0;
 }
 #else
-#  define CE_HasMark(E)        (((E)->Flags & CEF_USERMARK) != 0)
+#  define CE_HasMark(E) (((E)->Flags & CEF_USERMARK) != 0)
 #endif
 
 #if defined(HAVE_INLINE)
@@ -170,7 +170,7 @@ INLINE void CE_SetMark (CodeEntry* E)
     E->Flags |= CEF_USERMARK;
 }
 #else
-#  define CE_SetMark(E)        ((E)->Flags |= CEF_USERMARK)
+#  define CE_SetMark(E) ((E)->Flags |= CEF_USERMARK)
 #endif
 
 #if defined(HAVE_INLINE)
@@ -180,7 +180,7 @@ INLINE void CE_ResetMark (CodeEntry* E)
     E->Flags &= ~CEF_USERMARK;
 }
 #else
-#  define CE_ResetMark(E)      ((E)->Flags &= ~CEF_USERMARK)
+#  define CE_ResetMark(E)       ((E)->Flags &= ~CEF_USERMARK)
 #endif
 
 #if defined(HAVE_INLINE)
index 4a3eb17c30f73b7decc7836844bb4a20d33dca2b..2d41c4a95e39b68b497fa5b80455a974dda4969f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 codegen.c                                */
+/*                                 codegen.c                                 */
 /*                                                                           */
-/*                            6502 code generator                           */
+/*                            6502 code generator                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -62,7 +62,7 @@
 
 
 /*****************************************************************************/
-/*                                  Helpers                                 */
+/*                                  Helpers                                  */
 /*****************************************************************************/
 
 
@@ -103,16 +103,16 @@ static const char* GetLabelName (unsigned Flags, unsigned long Label, long Offs)
             if (Offs) {
                 xsprintf (Buf, sizeof (Buf), "%s%+ld", LocalLabelName (Label), Offs);
             } else {
-                       xsprintf (Buf, sizeof (Buf), "%s", LocalLabelName (Label));
+                xsprintf (Buf, sizeof (Buf), "%s", LocalLabelName (Label));
             }
             break;
 
         case CF_EXTERNAL:
             /* External label */
             if (Offs) {
-               xsprintf (Buf, sizeof (Buf), "_%s%+ld", (char*) Label, Offs);
+                xsprintf (Buf, sizeof (Buf), "_%s%+ld", (char*) Label, Offs);
             } else {
-               xsprintf (Buf, sizeof (Buf), "_%s", (char*) Label);
+                xsprintf (Buf, sizeof (Buf), "_%s", (char*) Label);
             }
             break;
 
@@ -137,7 +137,7 @@ static const char* GetLabelName (unsigned Flags, unsigned long Label, long Offs)
 
 
 /*****************************************************************************/
-/*                           Pre- and postamble                             */
+/*                            Pre- and postamble                             */
 /*****************************************************************************/
 
 
@@ -152,7 +152,7 @@ void g_preamble (void)
 
     /* Insert some object file options */
     AddTextLine ("\t.fopt\t\tcompiler,\"cc65 v %s\"",
-                GetVersionAsString ());
+                 GetVersionAsString ());
 
     /* If we're producing code for some other CPU, switch the command set */
     switch (CPU) {
@@ -201,7 +201,7 @@ void g_fileinfo (const char* Name, unsigned long Size, unsigned long MTime)
 
 
 /*****************************************************************************/
-/*                             Segment support                              */
+/*                              Segment support                              */
 /*****************************************************************************/
 
 
@@ -249,7 +249,7 @@ void g_segname (segment_t Seg)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -326,7 +326,7 @@ static unsigned MakeByteOffs (unsigned Flags, unsigned Offs)
 
 
 /*****************************************************************************/
-/*                     Functions handling local labels                      */
+/*                      Functions handling local labels                      */
 /*****************************************************************************/
 
 
@@ -366,7 +366,7 @@ void g_aliasdatalabel (unsigned label, unsigned baselabel, long offs)
 
 
 /*****************************************************************************/
-/*                    Functions handling global labels                      */
+/*                     Functions handling global labels                      */
 /*****************************************************************************/
 
 
@@ -421,7 +421,7 @@ void g_importmainargs (void)
 
 
 /*****************************************************************************/
-/*                          Function entry and exit                         */
+/*                          Function entry and exit                          */
 /*****************************************************************************/
 
 
@@ -485,7 +485,7 @@ void g_leave (void)
 
 
 /*****************************************************************************/
-/*                                   Register variables                             */
+/*                            Register variables                             */
 /*****************************************************************************/
 
 
@@ -637,7 +637,7 @@ void g_restore_regvars (int StackOffs, int RegOffs, unsigned Bytes)
 
 
 /*****************************************************************************/
-/*                           Fetching memory cells                          */
+/*                           Fetching memory cells                           */
 /*****************************************************************************/
 
 
@@ -686,7 +686,7 @@ void g_getimmed (unsigned Flags, unsigned long Val, long Offs)
                     AddCodeLine ("stx sreg+1");
                     Done |= 0x08;
                 }
-               if ((Done & 0x04) == 0 && B1 != B3) {
+                if ((Done & 0x04) == 0 && B1 != B3) {
                     AddCodeLine ("lda #$%02X", B3);
                     AddCodeLine ("sta sreg");
                     Done |= 0x04;
@@ -739,17 +739,17 @@ void g_getstatic (unsigned flags, unsigned long label, long offs)
 
         case CF_CHAR:
             if ((flags & CF_FORCECHAR) || (flags & CF_TEST)) {
-                AddCodeLine ("lda %s", lbuf);  /* load A from the label */
+                AddCodeLine ("lda %s", lbuf);   /* load A from the label */
             } else {
                 AddCodeLine ("ldx #$00");
-               AddCodeLine ("lda %s", lbuf);   /* load A from the label */
-               if (!(flags & CF_UNSIGNED)) {
-                   /* Must sign extend */
+                AddCodeLine ("lda %s", lbuf);   /* load A from the label */
+                if (!(flags & CF_UNSIGNED)) {
+                    /* Must sign extend */
                     unsigned L = GetLocalLabel ();
-                   AddCodeLine ("bpl %s", LocalLabelName (L));
-                   AddCodeLine ("dex");
+                    AddCodeLine ("bpl %s", LocalLabelName (L));
+                    AddCodeLine ("dex");
                     g_defcodelabel (L);
-               }
+                }
             }
             break;
 
@@ -764,13 +764,13 @@ void g_getstatic (unsigned flags, unsigned long label, long offs)
 
         case CF_LONG:
             if (flags & CF_TEST) {
-               AddCodeLine ("lda %s+3", lbuf);
+                AddCodeLine ("lda %s+3", lbuf);
                 AddCodeLine ("ora %s+2", lbuf);
                 AddCodeLine ("ora %s+1", lbuf);
                 AddCodeLine ("ora %s+0", lbuf);
             } else {
-               AddCodeLine ("lda %s+3", lbuf);
-               AddCodeLine ("sta sreg+1");
+                AddCodeLine ("lda %s+3", lbuf);
+                AddCodeLine ("sta sreg+1");
                 AddCodeLine ("lda %s+2", lbuf);
                 AddCodeLine ("sta sreg");
                 AddCodeLine ("ldx %s+1", lbuf);
@@ -801,12 +801,12 @@ void g_getlocal (unsigned Flags, int Offs)
                 AddCodeLine ("ldy #$%02X", Offs);
                 AddCodeLine ("ldx #$00");
                 AddCodeLine ("lda (sp),y");
-               if ((Flags & CF_UNSIGNED) == 0) {
+                if ((Flags & CF_UNSIGNED) == 0) {
                     unsigned L = GetLocalLabel();
-                   AddCodeLine ("bpl %s", LocalLabelName (L));
-                   AddCodeLine ("dex");
+                    AddCodeLine ("bpl %s", LocalLabelName (L));
+                    AddCodeLine ("dex");
                     g_defcodelabel (L);
-               }
+                }
             }
             break;
 
@@ -814,7 +814,7 @@ void g_getlocal (unsigned Flags, int Offs)
             CheckLocalOffs (Offs + 1);
             AddCodeLine ("ldy #$%02X", (unsigned char) (Offs+1));
             if (Flags & CF_TEST) {
-               AddCodeLine ("lda (sp),y");
+                AddCodeLine ("lda (sp),y");
                 AddCodeLine ("dey");
                 AddCodeLine ("ora (sp),y");
             } else {
@@ -827,7 +827,7 @@ void g_getlocal (unsigned Flags, int Offs)
             AddCodeLine ("ldy #$%02X", (unsigned char) (Offs+3));
             AddCodeLine ("jsr ldeaxysp");
             if (Flags & CF_TEST) {
-               g_test (Flags);
+                g_test (Flags);
             }
             break;
 
@@ -1002,7 +1002,7 @@ void g_leavariadic (int Offs)
 
 
 /*****************************************************************************/
-/*                            Store into memory                             */
+/*                             Store into memory                             */
 /*****************************************************************************/
 
 
@@ -1051,7 +1051,7 @@ void g_putlocal (unsigned Flags, int Offs, long Val)
 
         case CF_CHAR:
             if (Flags & CF_CONST) {
-               AddCodeLine ("lda #$%02X", (unsigned char) Val);
+                AddCodeLine ("lda #$%02X", (unsigned char) Val);
             }
             AddCodeLine ("ldy #$%02X", Offs);
             AddCodeLine ("sta (sp),y");
@@ -1090,7 +1090,7 @@ void g_putlocal (unsigned Flags, int Offs, long Val)
 
         case CF_LONG:
             if (Flags & CF_CONST) {
-               g_getimmed (Flags, Val, 0);
+                g_getimmed (Flags, Val, 0);
             }
             AddCodeLine ("ldy #$%02X", Offs);
             AddCodeLine ("jsr steaxysp");
@@ -1175,7 +1175,7 @@ void g_putind (unsigned Flags, unsigned Offs)
 
 
 /*****************************************************************************/
-/*                    type conversion and similiar stuff                    */
+/*                    type conversion and similiar stuff                     */
 /*****************************************************************************/
 
 
@@ -1297,15 +1297,15 @@ void g_reglong (unsigned Flags)
 
         case CF_INT:
             if (Flags & CF_UNSIGNED) {
-               if (IS_Get (&CodeSizeFactor) >= 200) {
+                if (IS_Get (&CodeSizeFactor) >= 200) {
                     AddCodeLine ("ldy #$00");
-                   AddCodeLine ("sty sreg");
-                   AddCodeLine ("sty sreg+1");
-               } else {
-                           AddCodeLine ("jsr axulong");
-               }
+                    AddCodeLine ("sty sreg");
+                    AddCodeLine ("sty sreg+1");
+                } else {
+                    AddCodeLine ("jsr axulong");
+                }
             } else {
-               AddCodeLine ("jsr axlong");
+                AddCodeLine ("jsr axlong");
             }
             break;
 
@@ -1430,28 +1430,28 @@ void g_scale (unsigned flags, long val)
 
                 case CF_CHAR:
                     if (flags & CF_FORCECHAR) {
-                       while (p2--) {
-                           AddCodeLine ("asl a");
-                       }
-                       break;
-                   }
-                   /* FALLTHROUGH */
-
-               case CF_INT:
+                        while (p2--) {
+                            AddCodeLine ("asl a");
+                        }
+                        break;
+                    }
+                    /* FALLTHROUGH */
+
+                case CF_INT:
                     if (flags & CF_UNSIGNED) {
                         AddCodeLine ("jsr shlax%d", p2);
                     } else {
                         AddCodeLine ("jsr aslax%d", p2);
                     }
-                   break;
+                    break;
 
-               case CF_LONG:
-                   if (flags & CF_UNSIGNED) {
-                       AddCodeLine ("jsr shleax%d", p2);
-                   } else {
-                       AddCodeLine ("jsr asleax%d", p2);
-                   }
-                   break;
+                case CF_LONG:
+                    if (flags & CF_UNSIGNED) {
+                        AddCodeLine ("jsr shleax%d", p2);
+                    } else {
+                        AddCodeLine ("jsr asleax%d", p2);
+                    }
+                    break;
 
                 default:
                     typeerror (flags);
@@ -1478,11 +1478,11 @@ void g_scale (unsigned flags, long val)
                     if (flags & CF_FORCECHAR) {
                         if (flags & CF_UNSIGNED) {
                             while (p2--) {
-                               AddCodeLine ("lsr a");
+                                AddCodeLine ("lsr a");
                             }
                             break;
                         } else if (p2 <= 2) {
-                           AddCodeLine ("cmp #$80");
+                            AddCodeLine ("cmp #$80");
                             AddCodeLine ("ror a");
                             break;
                         }
@@ -1499,9 +1499,9 @@ void g_scale (unsigned flags, long val)
 
                 case CF_LONG:
                     if (flags & CF_UNSIGNED) {
-                       AddCodeLine ("jsr lsreax%d", p2);
+                        AddCodeLine ("jsr lsreax%d", p2);
                     } else {
-                               AddCodeLine ("jsr asreax%d", p2);
+                        AddCodeLine ("jsr asreax%d", p2);
                     }
                     break;
 
@@ -1522,7 +1522,7 @@ void g_scale (unsigned flags, long val)
 
 
 /*****************************************************************************/
-/*             Adds and subs of variables fix a fixed address               */
+/*              Adds and subs of variables fix a fixed address               */
 /*****************************************************************************/
 
 
@@ -1620,13 +1620,13 @@ void g_addstatic (unsigned flags, unsigned long label, long offs)
 
 
 /*****************************************************************************/
-/*                          Special op= functions                           */
+/*                           Special op= functions                           */
 /*****************************************************************************/
 
 
 
 void g_addeqstatic (unsigned flags, unsigned long label, long offs,
-                   unsigned long val)
+                    unsigned long val)
 /* Emit += for a static variable */
 {
     /* Create the correct label name */
@@ -1637,25 +1637,25 @@ void g_addeqstatic (unsigned flags, unsigned long label, long offs,
 
         case CF_CHAR:
             if (flags & CF_FORCECHAR) {
-                       AddCodeLine ("ldx #$00");
-               if (flags & CF_CONST) {
-                   if (val == 1) {
-                       AddCodeLine ("inc %s", lbuf);
-                       AddCodeLine ("lda %s", lbuf);
-                   } else {
-                               AddCodeLine ("lda #$%02X", (int)(val & 0xFF));
-                       AddCodeLine ("clc");
-                       AddCodeLine ("adc %s", lbuf);
-                       AddCodeLine ("sta %s", lbuf);
-                   }
-                       } else {
-                   AddCodeLine ("clc");
-                   AddCodeLine ("adc %s", lbuf);
-                   AddCodeLine ("sta %s", lbuf);
-               }
-               if ((flags & CF_UNSIGNED) == 0) {
+                AddCodeLine ("ldx #$00");
+                if (flags & CF_CONST) {
+                    if (val == 1) {
+                        AddCodeLine ("inc %s", lbuf);
+                        AddCodeLine ("lda %s", lbuf);
+                    } else {
+                        AddCodeLine ("lda #$%02X", (int)(val & 0xFF));
+                        AddCodeLine ("clc");
+                        AddCodeLine ("adc %s", lbuf);
+                        AddCodeLine ("sta %s", lbuf);
+                    }
+                } else {
+                    AddCodeLine ("clc");
+                    AddCodeLine ("adc %s", lbuf);
+                    AddCodeLine ("sta %s", lbuf);
+                }
+                if ((flags & CF_UNSIGNED) == 0) {
                     unsigned L = GetLocalLabel();
-                   AddCodeLine ("bpl %s", LocalLabelName (L));
+                    AddCodeLine ("bpl %s", LocalLabelName (L));
                     AddCodeLine ("dex");
                     g_defcodelabel (L);
                 }
@@ -1671,25 +1671,25 @@ void g_addeqstatic (unsigned flags, unsigned long label, long offs,
                     AddCodeLine ("bne %s", LocalLabelName (L));
                     AddCodeLine ("inc %s+1", lbuf);
                     g_defcodelabel (L);
-                    AddCodeLine ("lda %s", lbuf);              /* Hmmm... */
+                    AddCodeLine ("lda %s", lbuf);               /* Hmmm... */
                     AddCodeLine ("ldx %s+1", lbuf);
                 } else {
-                           AddCodeLine ("lda #$%02X", (int)(val & 0xFF));
+                    AddCodeLine ("lda #$%02X", (int)(val & 0xFF));
                     AddCodeLine ("clc");
                     AddCodeLine ("adc %s", lbuf);
                     AddCodeLine ("sta %s", lbuf);
                     if (val < 0x100) {
-                               unsigned L = GetLocalLabel ();
-                               AddCodeLine ("bcc %s", LocalLabelName (L));
-                               AddCodeLine ("inc %s+1", lbuf);
-                               g_defcodelabel (L);
-                               AddCodeLine ("ldx %s+1", lbuf);
+                        unsigned L = GetLocalLabel ();
+                        AddCodeLine ("bcc %s", LocalLabelName (L));
+                        AddCodeLine ("inc %s+1", lbuf);
+                        g_defcodelabel (L);
+                        AddCodeLine ("ldx %s+1", lbuf);
                     } else {
-                               AddCodeLine ("lda #$%02X", (unsigned char)(val >> 8));
-                               AddCodeLine ("adc %s+1", lbuf);
-                               AddCodeLine ("sta %s+1", lbuf);
-                               AddCodeLine ("tax");
-                               AddCodeLine ("lda %s", lbuf);
+                        AddCodeLine ("lda #$%02X", (unsigned char)(val >> 8));
+                        AddCodeLine ("adc %s+1", lbuf);
+                        AddCodeLine ("sta %s+1", lbuf);
+                        AddCodeLine ("tax");
+                        AddCodeLine ("lda %s", lbuf);
                     }
                 }
             } else {
@@ -1698,9 +1698,9 @@ void g_addeqstatic (unsigned flags, unsigned long label, long offs,
                 AddCodeLine ("sta %s", lbuf);
                 AddCodeLine ("txa");
                 AddCodeLine ("adc %s+1", lbuf);
-               AddCodeLine ("sta %s+1", lbuf);
-               AddCodeLine ("tax");
-               AddCodeLine ("lda %s", lbuf);
+                AddCodeLine ("sta %s+1", lbuf);
+                AddCodeLine ("tax");
+                AddCodeLine ("lda %s", lbuf);
             }
             break;
 
@@ -1714,7 +1714,7 @@ void g_addeqstatic (unsigned flags, unsigned long label, long offs,
                         AddCodeLine ("jsr laddeq1");
                     } else {
                         AddCodeLine ("lda #$%02X", (int)(val & 0xFF));
-                       AddCodeLine ("jsr laddeqa");
+                        AddCodeLine ("jsr laddeqa");
                     }
                 } else {
                     g_getstatic (flags, label, offs);
@@ -1760,13 +1760,13 @@ void g_addeqlocal (unsigned flags, int Offs, unsigned long val)
                     AddCodeLine ("adc (sp),y");
                     AddCodeLine ("sta (sp),y");
                 }
-               if ((flags & CF_UNSIGNED) == 0) {
+                if ((flags & CF_UNSIGNED) == 0) {
                     unsigned L = GetLocalLabel();
-                   AddCodeLine ("bpl %s", LocalLabelName (L));
-                   AddCodeLine ("dex");
+                    AddCodeLine ("bpl %s", LocalLabelName (L));
+                    AddCodeLine ("dex");
                     g_defcodelabel (L);
-               }
-               break;
+                }
+                break;
             }
             /* FALLTHROUGH */
 
@@ -1790,13 +1790,13 @@ void g_addeqlocal (unsigned flags, int Offs, unsigned long val)
                     AddCodeLine ("jsr addeqysp");
                 }
             } else {
-               AddCodeLine ("jsr addeqysp");
+                AddCodeLine ("jsr addeqysp");
             }
             break;
 
         case CF_LONG:
             if (flags & CF_CONST) {
-               g_getimmed (flags, val, 0);
+                g_getimmed (flags, val, 0);
             }
             AddCodeLine ("ldy #$%02X", Offs);
             AddCodeLine ("jsr laddeqysp");
@@ -1834,11 +1834,11 @@ void g_addeqind (unsigned flags, unsigned offs, unsigned long val)
 
         case CF_INT:
         case CF_LONG:
-            AddCodeLine ("jsr pushax");        /* Push the address */
-            push (CF_PTR);                     /* Correct the internal sp */
-            g_getind (flags, offs);            /* Fetch the value */
-            g_inc (flags, val);                        /* Increment value in primary */
-            g_putind (flags, offs);            /* Store the value back */
+            AddCodeLine ("jsr pushax");         /* Push the address */
+            push (CF_PTR);                      /* Correct the internal sp */
+            g_getind (flags, offs);             /* Fetch the value */
+            g_inc (flags, val);                 /* Increment value in primary */
+            g_putind (flags, offs);             /* Store the value back */
             break;
 
         default:
@@ -1861,41 +1861,41 @@ void g_subeqstatic (unsigned flags, unsigned long label, long offs,
         case CF_CHAR:
             if (flags & CF_FORCECHAR) {
                 AddCodeLine ("ldx #$00");
-               if (flags & CF_CONST) {
+                if (flags & CF_CONST) {
                     if (val == 1) {
                         AddCodeLine ("dec %s", lbuf);
                         AddCodeLine ("lda %s", lbuf);
                     } else {
-                       AddCodeLine ("lda %s", lbuf);
-                               AddCodeLine ("sec");
-                       AddCodeLine ("sbc #$%02X", (int)(val & 0xFF));
-                       AddCodeLine ("sta %s", lbuf);
+                        AddCodeLine ("lda %s", lbuf);
+                        AddCodeLine ("sec");
+                        AddCodeLine ("sbc #$%02X", (int)(val & 0xFF));
+                        AddCodeLine ("sta %s", lbuf);
                     }
-               } else {
+                } else {
                     AddCodeLine ("eor #$FF");
                     AddCodeLine ("sec");
-                           AddCodeLine ("adc %s", lbuf);
+                    AddCodeLine ("adc %s", lbuf);
                     AddCodeLine ("sta %s", lbuf);
-               }
+                }
                 if ((flags & CF_UNSIGNED) == 0) {
                     unsigned L = GetLocalLabel();
                     AddCodeLine ("bpl %s", LocalLabelName (L));
                     AddCodeLine ("dex");
                     g_defcodelabel (L);
-               }
-               break;
+                }
+                break;
             }
             /* FALLTHROUGH */
 
         case CF_INT:
             if (flags & CF_CONST) {
-                       AddCodeLine ("lda %s", lbuf);
+                AddCodeLine ("lda %s", lbuf);
                 AddCodeLine ("sec");
-               AddCodeLine ("sbc #$%02X", (unsigned char)val);
-               AddCodeLine ("sta %s", lbuf);
-               if (val < 0x100) {
-                   unsigned L = GetLocalLabel ();
-                   AddCodeLine ("bcs %s", LocalLabelName (L));
+                AddCodeLine ("sbc #$%02X", (unsigned char)val);
+                AddCodeLine ("sta %s", lbuf);
+                if (val < 0x100) {
+                    unsigned L = GetLocalLabel ();
+                    AddCodeLine ("bcs %s", LocalLabelName (L));
                     AddCodeLine ("dec %s+1", lbuf);
                     g_defcodelabel (L);
                     AddCodeLine ("ldx %s+1", lbuf);
@@ -1909,11 +1909,11 @@ void g_subeqstatic (unsigned flags, unsigned long label, long offs,
             } else {
                 AddCodeLine ("eor #$FF");
                 AddCodeLine ("sec");
-                       AddCodeLine ("adc %s", lbuf);
+                AddCodeLine ("adc %s", lbuf);
                 AddCodeLine ("sta %s", lbuf);
                 AddCodeLine ("txa");
                 AddCodeLine ("eor #$FF");
-                       AddCodeLine ("adc %s+1", lbuf);
+                AddCodeLine ("adc %s+1", lbuf);
                 AddCodeLine ("sta %s+1", lbuf);
                 AddCodeLine ("tax");
                 AddCodeLine ("lda %s", lbuf);
@@ -1969,22 +1969,22 @@ void g_subeqlocal (unsigned flags, int Offs, unsigned long val)
                 } else {
                     AddCodeLine ("eor #$FF");
                     AddCodeLine ("sec");
-                   AddCodeLine ("adc (sp),y");
+                    AddCodeLine ("adc (sp),y");
                 }
-               AddCodeLine ("sta (sp),y");
+                AddCodeLine ("sta (sp),y");
                 if ((flags & CF_UNSIGNED) == 0) {
-                   unsigned L = GetLocalLabel();
-                           AddCodeLine ("bpl %s", LocalLabelName (L));
-                   AddCodeLine ("dex");
-                   g_defcodelabel (L);
-               }
-               break;
+                    unsigned L = GetLocalLabel();
+                    AddCodeLine ("bpl %s", LocalLabelName (L));
+                    AddCodeLine ("dex");
+                    g_defcodelabel (L);
+                }
+                break;
             }
             /* FALLTHROUGH */
 
         case CF_INT:
             if (flags & CF_CONST) {
-               g_getimmed (flags, val, 0);
+                g_getimmed (flags, val, 0);
             }
             AddCodeLine ("ldy #$%02X", Offs);
             AddCodeLine ("jsr subeqysp");
@@ -1992,7 +1992,7 @@ void g_subeqlocal (unsigned flags, int Offs, unsigned long val)
 
         case CF_LONG:
             if (flags & CF_CONST) {
-               g_getimmed (flags, val, 0);
+                g_getimmed (flags, val, 0);
             }
             AddCodeLine ("ldy #$%02X", Offs);
             AddCodeLine ("jsr lsubeqysp");
@@ -2030,11 +2030,11 @@ void g_subeqind (unsigned flags, unsigned offs, unsigned long val)
 
         case CF_INT:
         case CF_LONG:
-            AddCodeLine ("jsr pushax");        /* Push the address */
-            push (CF_PTR);                     /* Correct the internal sp */
-            g_getind (flags, offs);            /* Fetch the value */
-            g_dec (flags, val);                        /* Increment value in primary */
-            g_putind (flags, offs);            /* Store the value back */
+            AddCodeLine ("jsr pushax");         /* Push the address */
+            push (CF_PTR);                      /* Correct the internal sp */
+            g_getind (flags, offs);             /* Fetch the value */
+            g_dec (flags, val);                 /* Increment value in primary */
+            g_putind (flags, offs);             /* Store the value back */
             break;
 
         default:
@@ -2045,7 +2045,7 @@ void g_subeqind (unsigned flags, unsigned offs, unsigned long val)
 
 
 /*****************************************************************************/
-/*                 Add a variable address to the value in ax                */
+/*                 Add a variable address to the value in ax                 */
 /*****************************************************************************/
 
 
@@ -2103,7 +2103,7 @@ void g_addaddr_static (unsigned flags, unsigned long label, long offs)
 
 
 /*****************************************************************************/
-/*                                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -2116,7 +2116,7 @@ void g_save (unsigned flags)
 
         case CF_CHAR:
             if (flags & CF_FORCECHAR) {
-               AddCodeLine ("pha");
+                AddCodeLine ("pha");
                 break;
             }
             /* FALLTHROUGH */
@@ -2145,8 +2145,8 @@ void g_restore (unsigned flags)
 
         case CF_CHAR:
             if (flags & CF_FORCECHAR) {
-                       AddCodeLine ("pla");
-               break;
+                AddCodeLine ("pla");
+                break;
             }
             /* FALLTHROUGH */
 
@@ -2178,8 +2178,8 @@ void g_cmp (unsigned flags, unsigned long val)
 
         case CF_CHAR:
             if (flags & CF_FORCECHAR) {
-                       AddCodeLine ("cmp #$%02X", (unsigned char)val);
-                       break;
+                AddCodeLine ("cmp #$%02X", (unsigned char)val);
+                break;
             }
             /* FALLTHROUGH */
 
@@ -2204,10 +2204,10 @@ void g_cmp (unsigned flags, unsigned long val)
 
 static void oper (unsigned Flags, unsigned long Val, const char** Subs)
 /* Encode a binary operation. subs is a pointer to four strings:
- *      0      --> Operate on ints
- *      1      --> Operate on unsigneds
- *      2      --> Operate on longs
- *      3      --> Operate on unsigned longs
+ *      0       --> Operate on ints
+ *      1       --> Operate on unsigneds
+ *      2       --> Operate on longs
+ *      3       --> Operate on unsigned longs
  */
 {
     /* Determine the offset into the array */
@@ -2252,9 +2252,9 @@ void g_test (unsigned flags)
 
         case CF_LONG:
             if (flags & CF_UNSIGNED) {
-               AddCodeLine ("jsr utsteax");
+                AddCodeLine ("jsr utsteax");
             } else {
-               AddCodeLine ("jsr tsteax");
+                AddCodeLine ("jsr tsteax");
             }
             break;
 
@@ -2308,7 +2308,7 @@ void g_push (unsigned flags, unsigned long val)
                 break;
 
             case CF_LONG:
-               AddCodeLine ("jsr pusheax");
+                AddCodeLine ("jsr pusheax");
                 break;
 
             default:
@@ -2495,7 +2495,7 @@ void g_add (unsigned flags, unsigned long val)
     };
 
     if (flags & CF_CONST) {
-        flags &= ~CF_FORCECHAR;        /* Handle chars as ints */
+        flags &= ~CF_FORCECHAR; /* Handle chars as ints */
         g_push (flags & ~CF_CONST, 0);
     }
     oper (flags, val, ops);
@@ -2511,7 +2511,7 @@ void g_sub (unsigned flags, unsigned long val)
     };
 
     if (flags & CF_CONST) {
-        flags &= ~CF_FORCECHAR;        /* Handle chars as ints */
+        flags &= ~CF_FORCECHAR; /* Handle chars as ints */
         g_push (flags & ~CF_CONST, 0);
     }
     oper (flags, val, ops);
@@ -2558,37 +2558,37 @@ void g_mul (unsigned flags, unsigned long val)
                     /* Handle some special cases */
                     switch (val) {
 
-                       case 3:
-                           AddCodeLine ("sta tmp1");
-                           AddCodeLine ("asl a");
-                           AddCodeLine ("clc");
-                           AddCodeLine ("adc tmp1");
-                           return;
-
-                       case 5:
-                           AddCodeLine ("sta tmp1");
-                           AddCodeLine ("asl a");
-                           AddCodeLine ("asl a");
-                           AddCodeLine ("clc");
-                           AddCodeLine ("adc tmp1");
-                           return;
-
-                       case 6:
-                           AddCodeLine ("sta tmp1");
-                           AddCodeLine ("asl a");
-                           AddCodeLine ("clc");
-                           AddCodeLine ("adc tmp1");
+                        case 3:
+                            AddCodeLine ("sta tmp1");
+                            AddCodeLine ("asl a");
+                            AddCodeLine ("clc");
+                            AddCodeLine ("adc tmp1");
+                            return;
+
+                        case 5:
+                            AddCodeLine ("sta tmp1");
+                            AddCodeLine ("asl a");
+                            AddCodeLine ("asl a");
+                            AddCodeLine ("clc");
+                            AddCodeLine ("adc tmp1");
+                            return;
+
+                        case 6:
+                            AddCodeLine ("sta tmp1");
+                            AddCodeLine ("asl a");
+                            AddCodeLine ("clc");
+                            AddCodeLine ("adc tmp1");
+                            AddCodeLine ("asl a");
+                            return;
+
+                        case 10:
+                            AddCodeLine ("sta tmp1");
                             AddCodeLine ("asl a");
-                           return;
-
-                       case 10:
-                           AddCodeLine ("sta tmp1");
-                           AddCodeLine ("asl a");
-                           AddCodeLine ("asl a");
-                           AddCodeLine ("clc");
-                           AddCodeLine ("adc tmp1");
-                           AddCodeLine ("asl a");
-                           return;
+                            AddCodeLine ("asl a");
+                            AddCodeLine ("clc");
+                            AddCodeLine ("adc tmp1");
+                            AddCodeLine ("asl a");
+                            return;
                     }
                 }
                 /* FALLTHROUGH */
@@ -2626,7 +2626,7 @@ void g_mul (unsigned flags, unsigned long val)
         /* If we go here, we didn't emit code. Push the lhs on stack and fall
          * into the normal, non-optimized stuff.
          */
-        flags &= ~CF_FORCECHAR;        /* Handle chars as ints */
+        flags &= ~CF_FORCECHAR; /* Handle chars as ints */
         g_push (flags & ~CF_CONST, 0);
 
     }
@@ -2653,7 +2653,7 @@ void g_div (unsigned flags, unsigned long val)
         /* Generate a division */
         if (flags & CF_CONST) {
             /* lhs is not on stack */
-            flags &= ~CF_FORCECHAR;    /* Handle chars as ints */
+            flags &= ~CF_FORCECHAR;     /* Handle chars as ints */
             g_push (flags & ~CF_CONST, 0);
         }
         oper (flags, val, ops);
@@ -2678,7 +2678,7 @@ void g_mod (unsigned flags, unsigned long val)
         /* Do it the hard way... */
         if (flags & CF_CONST) {
             /* lhs is not on stack */
-            flags &= ~CF_FORCECHAR;    /* Handle chars as ints */
+            flags &= ~CF_FORCECHAR;     /* Handle chars as ints */
             g_push (flags & ~CF_CONST, 0);
         }
         oper (flags, val, ops);
@@ -2704,7 +2704,7 @@ void g_or (unsigned flags, unsigned long val)
             case CF_CHAR:
                 if (flags & CF_FORCECHAR) {
                     if ((val & 0xFF) != 0) {
-                               AddCodeLine ("ora #$%02X", (unsigned char)val);
+                        AddCodeLine ("ora #$%02X", (unsigned char)val);
                     }
                     return;
                 }
@@ -2775,7 +2775,7 @@ void g_xor (unsigned flags, unsigned long val)
             case CF_CHAR:
                 if (flags & CF_FORCECHAR) {
                     if ((val & 0xFF) != 0) {
-                               AddCodeLine ("eor #$%02X", (unsigned char)val);
+                        AddCodeLine ("eor #$%02X", (unsigned char)val);
                     }
                     return;
                 }
@@ -2784,14 +2784,14 @@ void g_xor (unsigned flags, unsigned long val)
             case CF_INT:
                 if (val <= 0xFF) {
                     if (val != 0) {
-                       AddCodeLine ("eor #$%02X", (unsigned char)val);
+                        AddCodeLine ("eor #$%02X", (unsigned char)val);
                     }
-                       } else if (val != 0) {
+                } else if (val != 0) {
                     if ((val & 0xFF) != 0) {
                         AddCodeLine ("eor #$%02X", (unsigned char)val);
                     }
                     AddCodeLine ("pha");
-                   AddCodeLine ("txa");
+                    AddCodeLine ("txa");
                     AddCodeLine ("eor #$%02X", (unsigned char)(val >> 8));
                     AddCodeLine ("tax");
                     AddCodeLine ("pla");
@@ -2801,7 +2801,7 @@ void g_xor (unsigned flags, unsigned long val)
             case CF_LONG:
                 if (val <= 0xFF) {
                     if (val != 0) {
-                               AddCodeLine ("eor #$%02X", (unsigned char)val);
+                        AddCodeLine ("eor #$%02X", (unsigned char)val);
                     }
                     return;
                 }
@@ -2846,37 +2846,37 @@ void g_and (unsigned Flags, unsigned long Val)
                     } else if ((Val & 0xFF) != 0xFF) {
                         AddCodeLine ("and #$%02X", (unsigned char)Val);
                     }
-                           return;
-                       }
-                       /* FALLTHROUGH */
+                    return;
+                }
+                /* FALLTHROUGH */
             case CF_INT:
-                       if ((Val & 0xFFFF) != 0xFFFF) {
-                           if (Val <= 0xFF) {
+                if ((Val & 0xFFFF) != 0xFFFF) {
+                    if (Val <= 0xFF) {
                         AddCodeLine ("ldx #$00");
-                               if (Val == 0) {
+                        if (Val == 0) {
                             AddCodeLine ("lda #$00");
-                               } else if (Val != 0xFF) {
-                                   AddCodeLine ("and #$%02X", (unsigned char)Val);
-                               }
-                           } else if ((Val & 0xFFFF) == 0xFF00) {
+                        } else if (Val != 0xFF) {
+                            AddCodeLine ("and #$%02X", (unsigned char)Val);
+                        }
+                    } else if ((Val & 0xFFFF) == 0xFF00) {
                         AddCodeLine ("lda #$00");
                     } else if ((Val & 0xFF00) == 0xFF00) {
-                               AddCodeLine ("and #$%02X", (unsigned char)Val);
-                           } else if ((Val & 0x00FF) == 0x0000) {
-                               AddCodeLine ("txa");
-                               AddCodeLine ("and #$%02X", (unsigned char)(Val >> 8));
-                       AddCodeLine ("tax");
-                       AddCodeLine ("lda #$00");
+                        AddCodeLine ("and #$%02X", (unsigned char)Val);
+                    } else if ((Val & 0x00FF) == 0x0000) {
+                        AddCodeLine ("txa");
+                        AddCodeLine ("and #$%02X", (unsigned char)(Val >> 8));
+                        AddCodeLine ("tax");
+                        AddCodeLine ("lda #$00");
                     } else {
-                       AddCodeLine ("tay");
-                       AddCodeLine ("txa");
-                       AddCodeLine ("and #$%02X", (unsigned char)(Val >> 8));
-                       AddCodeLine ("tax");
-                       AddCodeLine ("tya");
-                       if ((Val & 0x00FF) == 0x0000) {
+                        AddCodeLine ("tay");
+                        AddCodeLine ("txa");
+                        AddCodeLine ("and #$%02X", (unsigned char)(Val >> 8));
+                        AddCodeLine ("tax");
+                        AddCodeLine ("tya");
+                        if ((Val & 0x00FF) == 0x0000) {
                             AddCodeLine ("lda #$00");
-                       } else if ((Val & 0x00FF) != 0x00FF) {
-                                   AddCodeLine ("and #$%02X", (unsigned char)Val);
+                        } else if ((Val & 0x00FF) != 0x00FF) {
+                            AddCodeLine ("and #$%02X", (unsigned char)Val);
                         }
                     }
                 }
@@ -2886,9 +2886,9 @@ void g_and (unsigned Flags, unsigned long Val)
                 if (Val <= 0xFF) {
                     AddCodeLine ("ldx #$00");
                     AddCodeLine ("stx sreg+1");
-                   AddCodeLine ("stx sreg");
+                    AddCodeLine ("stx sreg");
                     if ((Val & 0xFF) != 0xFF) {
-                        AddCodeLine ("and #$%02X", (unsigned char)Val);
+                         AddCodeLine ("and #$%02X", (unsigned char)Val);
                     }
                     return;
                 } else if (Val == 0xFF00) {
@@ -2934,36 +2934,36 @@ void g_asr (unsigned flags, unsigned long val)
             case CF_CHAR:
             case CF_INT:
                 val &= 0x0F;
-                       if (val >= 8) {
+                if (val >= 8) {
                     if (flags & CF_UNSIGNED) {
                         AddCodeLine ("txa");
                         AddCodeLine ("ldx #$00");
                     } else {
-                               unsigned L = GetLocalLabel();
+                        unsigned L = GetLocalLabel();
                         AddCodeLine ("cpx #$80");   /* Sign bit into carry */
                         AddCodeLine ("txa");
                         AddCodeLine ("ldx #$00");
                         AddCodeLine ("bcc %s", LocalLabelName (L));
                         AddCodeLine ("dex");        /* Make $FF */
-                               g_defcodelabel (L);
+                        g_defcodelabel (L);
                     }
                     val -= 8;
                 }
                 if (val >= 4) {
                     if (flags & CF_UNSIGNED) {
-                               AddCodeLine ("jsr shrax4");
+                        AddCodeLine ("jsr shrax4");
                     } else {
-                               AddCodeLine ("jsr asrax4");
+                        AddCodeLine ("jsr asrax4");
                     }
                     val -= 4;
                 }
                 if (val > 0) {
                     if (flags & CF_UNSIGNED) {
-                               AddCodeLine ("jsr shrax%ld", val);
+                        AddCodeLine ("jsr shrax%ld", val);
                     } else {
-                               AddCodeLine ("jsr asrax%ld", val);
+                        AddCodeLine ("jsr asrax%ld", val);
                     }
-                       }
+                }
                 return;
 
             case CF_LONG:
@@ -2985,10 +2985,10 @@ void g_asr (unsigned flags, unsigned long val)
                     AddCodeLine ("ldy #$00");
                     AddCodeLine ("ldx sreg+1");
                     if ((flags & CF_UNSIGNED) == 0) {
-                               unsigned L = GetLocalLabel();
+                        unsigned L = GetLocalLabel();
                         AddCodeLine ("bpl %s", LocalLabelName (L));
                         AddCodeLine ("dey");
-                               g_defcodelabel (L);
+                        g_defcodelabel (L);
                     }
                     AddCodeLine ("lda sreg");
                     AddCodeLine ("sty sreg+1");
@@ -3001,12 +3001,12 @@ void g_asr (unsigned flags, unsigned long val)
                     AddCodeLine ("ldy sreg+1");
                     AddCodeLine ("sty sreg");
                     if ((flags & CF_UNSIGNED) == 0) {
-                               unsigned L = GetLocalLabel();
+                        unsigned L = GetLocalLabel();
                         AddCodeLine ("cpy #$80");
                         AddCodeLine ("ldy #$00");
                         AddCodeLine ("bcc %s", LocalLabelName (L));
                         AddCodeLine ("dey");
-                               g_defcodelabel (L);
+                        g_defcodelabel (L);
                     } else {
                         AddCodeLine ("ldy #$00");
                     }
@@ -3015,17 +3015,17 @@ void g_asr (unsigned flags, unsigned long val)
                 }
                 if (val >= 4) {
                     if (flags & CF_UNSIGNED) {
-                               AddCodeLine ("jsr shreax4");
+                        AddCodeLine ("jsr shreax4");
                     } else {
-                               AddCodeLine ("jsr asreax4");
+                        AddCodeLine ("jsr asreax4");
                     }
                     val -= 4;
                 }
                 if (val > 0) {
                     if (flags & CF_UNSIGNED) {
-                               AddCodeLine ("jsr shreax%ld", val);
+                        AddCodeLine ("jsr shreax%ld", val);
                     } else {
-                               AddCodeLine ("jsr asreax%ld", val);
+                        AddCodeLine ("jsr asreax%ld", val);
                     }
                 }
                 return;
@@ -3114,17 +3114,17 @@ void g_asl (unsigned flags, unsigned long val)
                 }
                 if (val > 4) {
                     if (flags & CF_UNSIGNED) {
-                               AddCodeLine ("jsr shleax4");
+                        AddCodeLine ("jsr shleax4");
                     } else {
-                               AddCodeLine ("jsr asleax4");
+                        AddCodeLine ("jsr asleax4");
                     }
                     val -= 4;
                 }
                 if (val > 0) {
                     if (flags & CF_UNSIGNED) {
-                               AddCodeLine ("jsr shleax%ld", val);
+                        AddCodeLine ("jsr shleax%ld", val);
                     } else {
-                               AddCodeLine ("jsr asleax%ld", val);
+                        AddCodeLine ("jsr asleax%ld", val);
                     }
                 }
                 return;
@@ -3243,9 +3243,9 @@ void g_inc (unsigned flags, unsigned long val)
             if (flags & CF_FORCECHAR) {
                 if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 && val <= 2) {
                     while (val--) {
-                               AddCodeLine ("ina");
+                        AddCodeLine ("ina");
                     }
-               } else {
+                } else {
                     AddCodeLine ("clc");
                     AddCodeLine ("adc #$%02X", (unsigned char)val);
                 }
@@ -3274,21 +3274,21 @@ void g_inc (unsigned flags, unsigned long val)
                 /* Inline the code */
                 if (val <= 0x300) {
                     if ((val & 0xFF) != 0) {
-                               unsigned L = GetLocalLabel();
-                               AddCodeLine ("clc");
-                               AddCodeLine ("adc #$%02X", (unsigned char) val);
-                               AddCodeLine ("bcc %s", LocalLabelName (L));
-                               AddCodeLine ("inx");
-                               g_defcodelabel (L);
+                        unsigned L = GetLocalLabel();
+                        AddCodeLine ("clc");
+                        AddCodeLine ("adc #$%02X", (unsigned char) val);
+                        AddCodeLine ("bcc %s", LocalLabelName (L));
+                        AddCodeLine ("inx");
+                        g_defcodelabel (L);
                     }
                     if (val >= 0x100) {
-                               AddCodeLine ("inx");
+                        AddCodeLine ("inx");
                     }
                     if (val >= 0x200) {
-                               AddCodeLine ("inx");
+                        AddCodeLine ("inx");
                     }
                     if (val >= 0x300) {
-                               AddCodeLine ("inx");
+                        AddCodeLine ("inx");
                     }
                 } else if ((val & 0xFF) != 0) {
                     AddCodeLine ("clc");
@@ -3342,11 +3342,11 @@ void g_dec (unsigned flags, unsigned long val)
             if (flags & CF_FORCECHAR) {
                 if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 && val <= 2) {
                     while (val--) {
-                       AddCodeLine ("dea");
+                        AddCodeLine ("dea");
                     }
                 } else {
                     AddCodeLine ("sec");
-                   AddCodeLine ("sbc #$%02X", (unsigned char)val);
+                    AddCodeLine ("sbc #$%02X", (unsigned char)val);
                 }
                 break;
             }
@@ -3368,22 +3368,22 @@ void g_dec (unsigned flags, unsigned long val)
                 if (val < 0x300) {
                     if ((val & 0xFF) != 0) {
                         unsigned L = GetLocalLabel();
-                               AddCodeLine ("sec");
-                               AddCodeLine ("sbc #$%02X", (unsigned char) val);
-                               AddCodeLine ("bcs %s", LocalLabelName (L));
-                               AddCodeLine ("dex");
+                        AddCodeLine ("sec");
+                        AddCodeLine ("sbc #$%02X", (unsigned char) val);
+                        AddCodeLine ("bcs %s", LocalLabelName (L));
+                        AddCodeLine ("dex");
                         g_defcodelabel (L);
                     }
                     if (val >= 0x100) {
-                               AddCodeLine ("dex");
+                        AddCodeLine ("dex");
                     }
                     if (val >= 0x200) {
-                               AddCodeLine ("dex");
+                        AddCodeLine ("dex");
                     }
                 } else {
                     if ((val & 0xFF) != 0) {
                         AddCodeLine ("sec");
-                       AddCodeLine ("sbc #$%02X", (unsigned char) val);
+                        AddCodeLine ("sbc #$%02X", (unsigned char) val);
                         AddCodeLine ("pha");
                         AddCodeLine ("txa");
                         AddCodeLine ("sbc #$%02X", (unsigned char) (val >> 8));
@@ -3453,7 +3453,7 @@ void g_eq (unsigned flags, unsigned long val)
             case CF_INT:
                 L = GetLocalLabel();
                 AddCodeLine ("cpx #$%02X", (unsigned char)(val >> 8));
-                       AddCodeLine ("bne %s", LocalLabelName (L));
+                AddCodeLine ("bne %s", LocalLabelName (L));
                 AddCodeLine ("cmp #$%02X", (unsigned char)val);
                 g_defcodelabel (L);
                 AddCodeLine ("jsr booleq");
@@ -3716,28 +3716,28 @@ void g_le (unsigned flags, unsigned long val)
                 if (flags & CF_FORCECHAR) {
                     if (flags & CF_UNSIGNED) {
                         /* Unsigned compare */
-                       if (val < 0xFF) {
-                           /* Use < instead of <= because the former gives
-                            * better code on the 6502 than the latter.
-                            */
+                        if (val < 0xFF) {
+                            /* Use < instead of <= because the former gives
+                             * better code on the 6502 than the latter.
+                             */
                             g_lt (flags, val+1);
-                       } else {
+                        } else {
                             /* Always true */
                             Warning ("Condition is always true");
                             AddCodeLine ("jsr return1");
-                       }
+                        }
                     } else {
                         /* Signed compare */
-                       if ((long) val < 0x7F) {
-                           /* Use < instead of <= because the former gives
-                            * better code on the 6502 than the latter.
-                            */
+                        if ((long) val < 0x7F) {
+                            /* Use < instead of <= because the former gives
+                             * better code on the 6502 than the latter.
+                             */
                             g_lt (flags, val+1);
-                       } else {
+                        } else {
                             /* Always true */
                             Warning ("Condition is always true");
                             AddCodeLine ("jsr return1");
-                       }
+                        }
                     }
                     return;
                 }
@@ -3747,10 +3747,10 @@ void g_le (unsigned flags, unsigned long val)
                 if (flags & CF_UNSIGNED) {
                     /* Unsigned compare */
                     if (val < 0xFFFF) {
-                       /* Use < instead of <= because the former gives
-                        * better code on the 6502 than the latter.
-                        */
-                       g_lt (flags, val+1);
+                        /* Use < instead of <= because the former gives
+                         * better code on the 6502 than the latter.
+                         */
+                        g_lt (flags, val+1);
                     } else {
                         /* Always true */
                         Warning ("Condition is always true");
@@ -3759,7 +3759,7 @@ void g_le (unsigned flags, unsigned long val)
                 } else {
                     /* Signed compare */
                     if ((long) val < 0x7FFF) {
-                               g_lt (flags, val+1);
+                        g_lt (flags, val+1);
                     } else {
                         /* Always true */
                         Warning ("Condition is always true");
@@ -3772,10 +3772,10 @@ void g_le (unsigned flags, unsigned long val)
                 if (flags & CF_UNSIGNED) {
                     /* Unsigned compare */
                     if (val < 0xFFFFFFFF) {
-                       /* Use < instead of <= because the former gives
-                        * better code on the 6502 than the latter.
-                        */
-                       g_lt (flags, val+1);
+                        /* Use < instead of <= because the former gives
+                         * better code on the 6502 than the latter.
+                         */
+                        g_lt (flags, val+1);
                     } else {
                         /* Always true */
                         Warning ("Condition is always true");
@@ -3784,7 +3784,7 @@ void g_le (unsigned flags, unsigned long val)
                 } else {
                     /* Signed compare */
                     if ((long) val < 0x7FFFFFFF) {
-                               g_lt (flags, val+1);
+                        g_lt (flags, val+1);
                     } else {
                         /* Always true */
                         Warning ("Condition is always true");
@@ -3830,27 +3830,27 @@ void g_gt (unsigned flags, unsigned long val)
             case CF_CHAR:
                 if (flags & CF_FORCECHAR) {
                     if (flags & CF_UNSIGNED) {
-                               if (val == 0) {
-                           /* If we have a compare > 0, we will replace it by
-                            * != 0 here, since both are identical but the
+                        if (val == 0) {
+                            /* If we have a compare > 0, we will replace it by
+                             * != 0 here, since both are identical but the
                              * latter is easier to optimize.
-                            */
+                             */
                             g_ne (flags, val);
-                       } else if (val < 0xFF) {
-                           /* Use >= instead of > because the former gives
-                            * better code on the 6502 than the latter.
-                            */
+                        } else if (val < 0xFF) {
+                            /* Use >= instead of > because the former gives
+                             * better code on the 6502 than the latter.
+                             */
                             g_ge (flags, val+1);
-                       } else {
+                        } else {
                             /* Never true */
                             Warning ("Condition is never true");
                             AddCodeLine ("jsr return0");
                         }
                     } else {
-                       if ((long) val < 0x7F) {
-                           /* Use >= instead of > because the former gives
-                            * better code on the 6502 than the latter.
-                            */
+                        if ((long) val < 0x7F) {
+                            /* Use >= instead of > because the former gives
+                             * better code on the 6502 than the latter.
+                             */
                             g_ge (flags, val+1);
                         } else {
                             /* Never true */
@@ -3865,23 +3865,23 @@ void g_gt (unsigned flags, unsigned long val)
             case CF_INT:
                 if (flags & CF_UNSIGNED) {
                     /* Unsigned compare */
-                   if (val == 0) {
-                       /* If we have a compare > 0, we will replace it by
-                        * != 0 here, since both are identical but the latter
-                        * is easier to optimize.
-                        */
+                    if (val == 0) {
+                        /* If we have a compare > 0, we will replace it by
+                         * != 0 here, since both are identical but the latter
+                         * is easier to optimize.
+                         */
                         g_ne (flags, val);
-                   } else if (val < 0xFFFF) {
-                       /* Use >= instead of > because the former gives better
-                        * code on the 6502 than the latter.
-                        */
-                       g_ge (flags, val+1);
+                    } else if (val < 0xFFFF) {
+                        /* Use >= instead of > because the former gives better
+                         * code on the 6502 than the latter.
+                         */
+                        g_ge (flags, val+1);
                     } else {
                         /* Never true */
                         Warning ("Condition is never true");
                         AddCodeLine ("jsr return0");
-                   }
-                       } else {
+                    }
+                } else {
                     /* Signed compare */
                     if ((long) val < 0x7FFF) {
                         g_ge (flags, val+1);
@@ -3889,30 +3889,30 @@ void g_gt (unsigned flags, unsigned long val)
                         /* Never true */
                         Warning ("Condition is never true");
                         AddCodeLine ("jsr return0");
-                   }
+                    }
                 }
                 return;
 
             case CF_LONG:
                 if (flags & CF_UNSIGNED) {
                     /* Unsigned compare */
-                   if (val == 0) {
-                       /* If we have a compare > 0, we will replace it by
-                        * != 0 here, since both are identical but the latter
-                        * is easier to optimize.
-                        */
+                    if (val == 0) {
+                        /* If we have a compare > 0, we will replace it by
+                         * != 0 here, since both are identical but the latter
+                         * is easier to optimize.
+                         */
                         g_ne (flags, val);
-                   } else if (val < 0xFFFFFFFF) {
-                       /* Use >= instead of > because the former gives better
-                        * code on the 6502 than the latter.
-                        */
-                       g_ge (flags, val+1);
+                    } else if (val < 0xFFFFFFFF) {
+                        /* Use >= instead of > because the former gives better
+                         * code on the 6502 than the latter.
+                         */
+                        g_ge (flags, val+1);
                     } else {
                         /* Never true */
                         Warning ("Condition is never true");
                         AddCodeLine ("jsr return0");
-                   }
-                       } else {
+                    }
+                } else {
                     /* Signed compare */
                     if ((long) val < 0x7FFFFFFF) {
                         g_ge (flags, val+1);
@@ -3920,12 +3920,12 @@ void g_gt (unsigned flags, unsigned long val)
                         /* Never true */
                         Warning ("Condition is never true");
                         AddCodeLine ("jsr return0");
-                   }
+                    }
                 }
                 return;
 
             default:
-               typeerror (flags);
+                typeerror (flags);
         }
 
         /* If we go here, we didn't emit code. Push the lhs on stack and fall
@@ -4101,7 +4101,7 @@ void g_ge (unsigned flags, unsigned long val)
 
 
 /*****************************************************************************/
-/*                         Allocating static storage                        */
+/*                         Allocating static storage                         */
 /*****************************************************************************/
 
 
@@ -4123,7 +4123,7 @@ void g_defdata (unsigned flags, unsigned long val, long offs)
         switch (flags & CF_TYPEMASK) {
 
             case CF_CHAR:
-               AddDataLine ("\t.byte\t$%02lX", val & 0xFF);
+                AddDataLine ("\t.byte\t$%02lX", val & 0xFF);
                 break;
 
             case CF_INT:
@@ -4331,11 +4331,11 @@ void g_switch (Collection* Nodes, unsigned DefaultLabel, unsigned Depth)
 
             /* Determine the next label */
             if (I == CollCount (Nodes) - 1) {
-               /* Last node means not found */
+                /* Last node means not found */
                 g_truejump (0, DefaultLabel);
             } else {
-               /* Jump to the next check */
-               NextLabel = GetLocalLabel ();
+                /* Jump to the next check */
+                NextLabel = GetLocalLabel ();
                 g_truejump (0, NextLabel);
             }
 
@@ -4352,7 +4352,7 @@ void g_switch (Collection* Nodes, unsigned DefaultLabel, unsigned Depth)
 
 
 /*****************************************************************************/
-/*                       User supplied assembler code                       */
+/*                       User supplied assembler code                        */
 /*****************************************************************************/
 
 
index ecfb43d422c935a9a8ee0deec7967c64787106b5..a2f91518dc86155ee53925f1be84d3ede6ffb757 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codegen.h                                 */
+/*                                 codegen.h                                 */
 /*                                                                           */
-/*                           6502 code generator                            */
+/*                            6502 code generator                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
  * Note^2: The actual type including the sign flag is in the lower bits, so
  * we can mask the information and use them as a table index.
  */
-#define CF_NONE                0x0000  /* No special flags */
+#define CF_NONE         0x0000  /* No special flags */
 
 /* Values for the actual type */
-#define CF_CHAR                0x0003  /* Operation on characters */
-#define CF_INT         0x0001  /* Operation on ints */
-#define CF_PTR         CF_INT  /* Alias for readability */
-#define CF_LONG                0x0000  /* Operation on longs */
+#define CF_CHAR         0x0003  /* Operation on characters */
+#define CF_INT          0x0001  /* Operation on ints */
+#define CF_PTR          CF_INT  /* Alias for readability */
+#define CF_LONG         0x0000  /* Operation on longs */
 #define CF_FLOAT        0x0004  /* Operation on a float */
 
 /* Signedness */
-#define CF_UNSIGNED            0x0008  /* Value is unsigned */
+#define CF_UNSIGNED     0x0008  /* Value is unsigned */
 
 /* Masks for retrieving type information */
 #define CF_TYPEMASK     0x0007  /* Type information */
 #define CF_STYPEMASK    0x000F  /* Includes signedness */
 
-#define CF_NOKEEP      0x0010  /* Value may get destroyed when storing */
-#define CF_CONST       0x0020  /* Constant value available */
-#define CF_CONSTADDR   0x0040  /* Constant address value available */
-#define CF_TEST                0x0080  /* Test value */
-#define CF_FIXARGC             0x0100  /* Function has fixed arg count */
-#define CF_FORCECHAR   0x0200  /* Handle chars as chars, not ints */
-#define CF_REG         0x0800  /* Value is in primary register */
+#define CF_NOKEEP       0x0010  /* Value may get destroyed when storing */
+#define CF_CONST        0x0020  /* Constant value available */
+#define CF_CONSTADDR    0x0040  /* Constant address value available */
+#define CF_TEST         0x0080  /* Test value */
+#define CF_FIXARGC      0x0100  /* Function has fixed arg count */
+#define CF_FORCECHAR    0x0200  /* Handle chars as chars, not ints */
+#define CF_REG          0x0800  /* Value is in primary register */
 
 /* Type of static address */
-#define CF_ADDRMASK            0xF000  /* Type of address */
-#define CF_STATIC      0x0000  /* Static local */
-#define CF_EXTERNAL    0x1000  /* Static external */
-#define CF_ABSOLUTE    0x2000  /* Numeric absolute address */
-#define CF_LOCAL               0x4000  /* Auto variable */
-#define CF_REGVAR      0x8000  /* Register variable */
+#define CF_ADDRMASK     0xF000  /* Type of address */
+#define CF_STATIC       0x0000  /* Static local */
+#define CF_EXTERNAL     0x1000  /* Static external */
+#define CF_ABSOLUTE     0x2000  /* Numeric absolute address */
+#define CF_LOCAL        0x4000  /* Auto variable */
+#define CF_REGVAR       0x8000  /* Register variable */
 
 
 
@@ -98,7 +98,7 @@ struct StrBuf;
 
 
 /*****************************************************************************/
-/*                        Files, pre- and postamble                         */
+/*                         Files, pre- and postamble                         */
 /*****************************************************************************/
 
 
@@ -112,7 +112,7 @@ void g_fileinfo (const char* Name, unsigned long Size, unsigned long MTime);
 
 
 /*****************************************************************************/
-/*                             Segment support                              */
+/*                              Segment support                              */
 /*****************************************************************************/
 
 
@@ -132,7 +132,7 @@ void g_segname (segment_t Seg);
 
 
 /*****************************************************************************/
-/*                     Functions handling local labels                      */
+/*                      Functions handling local labels                      */
 /*****************************************************************************/
 
 
@@ -149,7 +149,7 @@ void g_aliasdatalabel (unsigned label, unsigned baselabel, long offs);
 
 
 /*****************************************************************************/
-/*                    Functions handling global labels                      */
+/*                     Functions handling global labels                      */
 /*****************************************************************************/
 
 
@@ -172,7 +172,7 @@ void g_importmainargs (void);
 
 
 /*****************************************************************************/
-/*                                  stack                                   */
+/*                                   stack                                   */
 /*****************************************************************************/
 
 
@@ -189,7 +189,7 @@ unsigned sizeofarg (unsigned flags);
 
 
 /*****************************************************************************/
-/*                   type conversion and similiar stuff                     */
+/*                    type conversion and similiar stuff                     */
 /*****************************************************************************/
 
 
@@ -227,7 +227,7 @@ void g_scale (unsigned flags, long val);
 
 
 /*****************************************************************************/
-/*                                 Function entry and exit                          */
+/*                          Function entry and exit                          */
 /*****************************************************************************/
 
 
@@ -241,7 +241,7 @@ void g_leave (void);
 
 
 /*****************************************************************************/
-/*                           Register variables                             */
+/*                            Register variables                             */
 /*****************************************************************************/
 
 
@@ -258,7 +258,7 @@ void g_restore_regvars (int StackOffs, int RegOffs, unsigned Bytes);
 
 
 /*****************************************************************************/
-/*                          Fetching memory cells                           */
+/*                           Fetching memory cells                           */
 /*****************************************************************************/
 
 
@@ -288,7 +288,7 @@ void g_leavariadic (int Offs);
 
 
 /*****************************************************************************/
-/*                            Store into memory                             */
+/*                             Store into memory                             */
 /*****************************************************************************/
 
 
@@ -307,7 +307,7 @@ void g_putind (unsigned flags, unsigned offs);
 
 
 /*****************************************************************************/
-/*             Adds and subs of variables fix a fixed address               */
+/*              Adds and subs of variables fix a fixed address               */
 /*****************************************************************************/
 
 
@@ -321,13 +321,13 @@ void g_addstatic (unsigned flags, unsigned long label, long offs);
 
 
 /*****************************************************************************/
-/*                          Special op= functions                           */
+/*                           Special op= functions                           */
 /*****************************************************************************/
 
 
 
 void g_addeqstatic (unsigned flags, unsigned long label, long offs,
-                           unsigned long val);
+                    unsigned long val);
 /* Emit += for a static variable */
 
 void g_addeqlocal (unsigned flags, int offs, unsigned long val);
@@ -337,7 +337,7 @@ void g_addeqind (unsigned flags, unsigned offs, unsigned long val);
 /* Emit += for the location with address in ax */
 
 void g_subeqstatic (unsigned flags, unsigned long label, long offs,
-                           unsigned long val);
+                    unsigned long val);
 /* Emit -= for a static variable */
 
 void g_subeqlocal (unsigned flags, int offs, unsigned long val);
@@ -349,7 +349,7 @@ void g_subeqind (unsigned flags, unsigned offs, unsigned long val);
 
 
 /*****************************************************************************/
-/*                        Add a variable address to the value in ax                 */
+/*                 Add a variable address to the value in ax                 */
 /*****************************************************************************/
 
 
@@ -363,7 +363,7 @@ void g_addaddr_static (unsigned flags, unsigned long label, long offs);
 
 
 /*****************************************************************************/
-/*                                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -464,7 +464,7 @@ void g_initstatic (unsigned InitLabel, unsigned VarLabel, unsigned Size);
 
 
 /*****************************************************************************/
-/*                                    Switch statement                              */
+/*                             Switch statement                              */
 /*****************************************************************************/
 
 
@@ -475,7 +475,7 @@ void g_switch (Collection* Nodes, unsigned DefaultLabel, unsigned Depth);
 
 
 /*****************************************************************************/
-/*                      User supplied assembler code                        */
+/*                       User supplied assembler code                        */
 /*****************************************************************************/
 
 
index 7c7bbba68764b0813ea412146812c8e4bde0d9d6..5f549c4a6e6c8a27e022863a03ac820b80f9780d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               codeinfo.c                                 */
+/*                                codeinfo.c                                 */
 /*                                                                           */
-/*                 Additional information about 6502 code                   */
+/*                  Additional information about 6502 code                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -68,9 +68,9 @@ static const char CmpSuffixTab [][4] = {
  */
 typedef struct FuncInfo FuncInfo;
 struct FuncInfo {
-    const char*            Name;       /* Function name */
-    unsigned short  Use;       /* Register usage */
-    unsigned short  Chg;       /* Changed/destroyed registers */
+    const char*     Name;       /* Function name */
+    unsigned short  Use;        /* Register usage */
+    unsigned short  Chg;        /* Changed/destroyed registers */
 };
 
 /* Note for the shift functions: Shifts are done modulo 32, so all shift
@@ -80,92 +80,92 @@ struct FuncInfo {
 static const FuncInfo FuncInfoTable[] = {
     { "addeq0sp",       REG_AX,               REG_AXY                        },
     { "addeqysp",       REG_AXY,              REG_AXY                        },
-    { "addysp",                REG_Y,                REG_NONE                       },
-    { "aslax1",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "aslax2",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "aslax3",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "aslax4",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "addysp",         REG_Y,                REG_NONE                       },
+    { "aslax1",         REG_AX,               REG_AX | REG_TMP1              },
+    { "aslax2",         REG_AX,               REG_AX | REG_TMP1              },
+    { "aslax3",         REG_AX,               REG_AX | REG_TMP1              },
+    { "aslax4",         REG_AX,               REG_AX | REG_TMP1              },
     { "aslaxy",         REG_AXY,              REG_AXY | REG_TMP1             },
-    { "asleax1",        REG_EAX,              REG_EAX | REG_TMP1                    },
-    { "asleax2",        REG_EAX,              REG_EAX | REG_TMP1            },
-    { "asleax3",        REG_EAX,              REG_EAX | REG_TMP1            },
-    { "asleax4",        REG_EAX,              REG_EAXY | REG_TMP1           },
-    { "asrax1",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "asrax2",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "asrax3",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "asrax4",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "asleax1",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "asleax2",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "asleax3",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "asleax4",        REG_EAX,              REG_EAXY | REG_TMP1            },
+    { "asrax1",         REG_AX,               REG_AX | REG_TMP1              },
+    { "asrax2",         REG_AX,               REG_AX | REG_TMP1              },
+    { "asrax3",         REG_AX,               REG_AX | REG_TMP1              },
+    { "asrax4",         REG_AX,               REG_AX | REG_TMP1              },
     { "asraxy",         REG_AXY,              REG_AXY | REG_TMP1             },
-    { "asreax1",        REG_EAX,              REG_EAX | REG_TMP1                    },
-    { "asreax2",        REG_EAX,              REG_EAX | REG_TMP1            },
-    { "asreax3",        REG_EAX,              REG_EAX | REG_TMP1            },
-    { "asreax4",        REG_EAX,              REG_EAXY | REG_TMP1                   },
-    { "bnega",          REG_A,                REG_AX                        },
-    { "bnegax",         REG_AX,               REG_AX                        },
-    { "bnegeax",        REG_EAX,              REG_EAX                       },
-    { "booleq",                REG_NONE,             REG_AX                         },
-    { "boolge",                REG_NONE,             REG_AX                         },
-    { "boolgt",                REG_NONE,             REG_AX                         },
-    { "boolle",                REG_NONE,             REG_AX                         },
-    { "boollt",                REG_NONE,             REG_AX                         },
-    { "boolne",                REG_NONE,             REG_AX                         },
-    { "booluge",               REG_NONE,             REG_AX                         },
-    { "boolugt",               REG_NONE,             REG_AX                         },
-    { "boolule",               REG_NONE,             REG_AX                         },
-    { "boolult",               REG_NONE,             REG_AX                         },
+    { "asreax1",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "asreax2",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "asreax3",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "asreax4",        REG_EAX,              REG_EAXY | REG_TMP1            },
+    { "bnega",          REG_A,                REG_AX                         },
+    { "bnegax",         REG_AX,               REG_AX                         },
+    { "bnegeax",        REG_EAX,              REG_EAX                        },
+    { "booleq",         REG_NONE,             REG_AX                         },
+    { "boolge",         REG_NONE,             REG_AX                         },
+    { "boolgt",         REG_NONE,             REG_AX                         },
+    { "boolle",         REG_NONE,             REG_AX                         },
+    { "boollt",         REG_NONE,             REG_AX                         },
+    { "boolne",         REG_NONE,             REG_AX                         },
+    { "booluge",        REG_NONE,             REG_AX                         },
+    { "boolugt",        REG_NONE,             REG_AX                         },
+    { "boolule",        REG_NONE,             REG_AX                         },
+    { "boolult",        REG_NONE,             REG_AX                         },
     { "callax",         REG_AX,               REG_ALL                        },
-    { "complax",        REG_AX,               REG_AX                        },
-    { "decax1",                REG_AX,               REG_AX                         },
-    { "decax2",                REG_AX,               REG_AX                         },
-    { "decax3",                REG_AX,               REG_AX                         },
-    { "decax4",                REG_AX,               REG_AX                         },
-    { "decax5",                REG_AX,               REG_AX                         },
-    { "decax6",                REG_AX,               REG_AX                         },
-    { "decax7",                REG_AX,               REG_AX                         },
-    { "decax8",                REG_AX,               REG_AX                         },
-    { "decaxy",                REG_AXY,              REG_AX | REG_TMP1              },
+    { "complax",        REG_AX,               REG_AX                         },
+    { "decax1",         REG_AX,               REG_AX                         },
+    { "decax2",         REG_AX,               REG_AX                         },
+    { "decax3",         REG_AX,               REG_AX                         },
+    { "decax4",         REG_AX,               REG_AX                         },
+    { "decax5",         REG_AX,               REG_AX                         },
+    { "decax6",         REG_AX,               REG_AX                         },
+    { "decax7",         REG_AX,               REG_AX                         },
+    { "decax8",         REG_AX,               REG_AX                         },
+    { "decaxy",         REG_AXY,              REG_AX | REG_TMP1              },
     { "deceaxy",        REG_EAXY,             REG_EAX                        },
-    { "decsp1",                REG_NONE,             REG_Y                          },
-    { "decsp2",                REG_NONE,             REG_A                          },
-    { "decsp3",                REG_NONE,             REG_A                          },
-    { "decsp4",                REG_NONE,             REG_A                          },
-    { "decsp5",                REG_NONE,             REG_A                          },
-    { "decsp6",                REG_NONE,             REG_A                          },
-    { "decsp7",                REG_NONE,             REG_A                          },
-    { "decsp8",                REG_NONE,             REG_A                          },
-    { "incax1",         REG_AX,               REG_AX                        },
-    { "incax2",         REG_AX,               REG_AX                        },
+    { "decsp1",         REG_NONE,             REG_Y                          },
+    { "decsp2",         REG_NONE,             REG_A                          },
+    { "decsp3",         REG_NONE,             REG_A                          },
+    { "decsp4",         REG_NONE,             REG_A                          },
+    { "decsp5",         REG_NONE,             REG_A                          },
+    { "decsp6",         REG_NONE,             REG_A                          },
+    { "decsp7",         REG_NONE,             REG_A                          },
+    { "decsp8",         REG_NONE,             REG_A                          },
+    { "incax1",         REG_AX,               REG_AX                         },
+    { "incax2",         REG_AX,               REG_AX                         },
     { "incax3",         REG_AX,               REG_AXY | REG_TMP1             },
-    { "incax4",         REG_AX,               REG_AXY | REG_TMP1            },
-    { "incax5",         REG_AX,               REG_AXY | REG_TMP1            },
-    { "incax6",         REG_AX,               REG_AXY | REG_TMP1            },
-    { "incax7",         REG_AX,               REG_AXY | REG_TMP1            },
-    { "incax8",         REG_AX,               REG_AXY | REG_TMP1            },
-    { "incaxy",         REG_AXY,              REG_AXY | REG_TMP1                    },
-    { "incsp1",                REG_NONE,             REG_NONE                       },
-    { "incsp2",                REG_NONE,             REG_Y                          },
-    { "incsp3",                REG_NONE,             REG_Y                          },
-    { "incsp4",                REG_NONE,             REG_Y                          },
-    { "incsp5",                REG_NONE,             REG_Y                          },
-    { "incsp6",                REG_NONE,             REG_Y                          },
-    { "incsp7",                REG_NONE,             REG_Y                          },
-    { "incsp8",                REG_NONE,             REG_Y                          },
-    { "laddeq",                REG_EAXY|REG_PTR1_LO, REG_EAXY | REG_PTR1_HI         },
+    { "incax4",         REG_AX,               REG_AXY | REG_TMP1             },
+    { "incax5",         REG_AX,               REG_AXY | REG_TMP1             },
+    { "incax6",         REG_AX,               REG_AXY | REG_TMP1             },
+    { "incax7",         REG_AX,               REG_AXY | REG_TMP1             },
+    { "incax8",         REG_AX,               REG_AXY | REG_TMP1             },
+    { "incaxy",         REG_AXY,              REG_AXY | REG_TMP1             },
+    { "incsp1",         REG_NONE,             REG_NONE                       },
+    { "incsp2",         REG_NONE,             REG_Y                          },
+    { "incsp3",         REG_NONE,             REG_Y                          },
+    { "incsp4",         REG_NONE,             REG_Y                          },
+    { "incsp5",         REG_NONE,             REG_Y                          },
+    { "incsp6",         REG_NONE,             REG_Y                          },
+    { "incsp7",         REG_NONE,             REG_Y                          },
+    { "incsp8",         REG_NONE,             REG_Y                          },
+    { "laddeq",         REG_EAXY|REG_PTR1_LO, REG_EAXY | REG_PTR1_HI         },
     { "laddeq0sp",      REG_EAX,              REG_EAXY                       },
-    { "laddeq1",               REG_Y | REG_PTR1_LO,  REG_EAXY | REG_PTR1_HI         },
+    { "laddeq1",        REG_Y | REG_PTR1_LO,  REG_EAXY | REG_PTR1_HI         },
     { "laddeqa",        REG_AY | REG_PTR1_LO, REG_EAXY | REG_PTR1_HI         },
     { "laddeqysp",      REG_EAXY,             REG_EAXY                       },
-    { "ldaidx",         REG_AXY,              REG_AX | REG_PTR1                     },
-    { "ldauidx",        REG_AXY,              REG_AX | REG_PTR1                     },
-    { "ldax0sp",               REG_NONE,             REG_AXY                        },
-    { "ldaxi",          REG_AX,               REG_AXY | REG_PTR1            },
-    { "ldaxidx",        REG_AXY,              REG_AXY | REG_PTR1                    },
-    { "ldaxysp",               REG_Y,                REG_AXY                        },
+    { "ldaidx",         REG_AXY,              REG_AX | REG_PTR1              },
+    { "ldauidx",        REG_AXY,              REG_AX | REG_PTR1              },
+    { "ldax0sp",        REG_NONE,             REG_AXY                        },
+    { "ldaxi",          REG_AX,               REG_AXY | REG_PTR1             },
+    { "ldaxidx",        REG_AXY,              REG_AXY | REG_PTR1             },
+    { "ldaxysp",        REG_Y,                REG_AXY                        },
     { "ldeax0sp",       REG_NONE,             REG_EAXY                       },
     { "ldeaxi",         REG_AX,               REG_EAXY | REG_PTR1            },
     { "ldeaxidx",       REG_AXY,              REG_EAXY | REG_PTR1            },
     { "ldeaxysp",       REG_Y,                REG_EAXY                       },
-    { "leaa0sp",        REG_A,                REG_AX                        },
-    { "leaaxsp",        REG_AX,               REG_AX                        },
+    { "leaa0sp",        REG_A,                REG_AX                         },
+    { "leaaxsp",        REG_AX,               REG_AX                         },
     { "lsubeq",         REG_EAXY|REG_PTR1_LO, REG_EAXY | REG_PTR1_HI         },
     { "lsubeq0sp",      REG_EAX,              REG_EAXY                       },
     { "lsubeq1",        REG_Y | REG_PTR1_LO,  REG_EAXY | REG_PTR1_HI         },
@@ -177,63 +177,63 @@ static const FuncInfo FuncInfoTable[] = {
     { "mulax6",         REG_AX,               REG_AX | REG_PTR1              },
     { "mulax7",         REG_AX,               REG_AX | REG_PTR1              },
     { "mulax9",         REG_AX,               REG_AX | REG_PTR1              },
-    { "negax",          REG_AX,               REG_AX                        },
-    { "push0",                 REG_NONE,             REG_AXY                        },
+    { "negax",          REG_AX,               REG_AX                         },
+    { "push0",          REG_NONE,             REG_AXY                        },
     { "push0ax",        REG_AX,               REG_Y | REG_SREG               },
-    { "push1",                 REG_NONE,             REG_AXY                        },
-    { "push2",                 REG_NONE,             REG_AXY                        },
-    { "push3",                 REG_NONE,             REG_AXY                        },
-    { "push4",                 REG_NONE,             REG_AXY                        },
-    { "push5",                 REG_NONE,             REG_AXY                        },
-    { "push6",                 REG_NONE,             REG_AXY                        },
-    { "push7",                 REG_NONE,             REG_AXY                        },
-    { "pusha",                 REG_A,                REG_Y                          },
-    { "pusha0",                REG_A,                REG_XY                         },
+    { "push1",          REG_NONE,             REG_AXY                        },
+    { "push2",          REG_NONE,             REG_AXY                        },
+    { "push3",          REG_NONE,             REG_AXY                        },
+    { "push4",          REG_NONE,             REG_AXY                        },
+    { "push5",          REG_NONE,             REG_AXY                        },
+    { "push6",          REG_NONE,             REG_AXY                        },
+    { "push7",          REG_NONE,             REG_AXY                        },
+    { "pusha",          REG_A,                REG_Y                          },
+    { "pusha0",         REG_A,                REG_XY                         },
     { "pusha0sp",       REG_NONE,             REG_AY                         },
-    { "pushaFF",               REG_A,                REG_Y                          },
-    { "pushax",                REG_AX,               REG_Y                          },
+    { "pushaFF",        REG_A,                REG_Y                          },
+    { "pushax",         REG_AX,               REG_Y                          },
     { "pushaysp",       REG_Y,                REG_AY                         },
-    { "pushc0",                REG_NONE,             REG_A | REG_Y                  },
-    { "pushc1",                REG_NONE,             REG_A | REG_Y                  },
-    { "pushc2",                REG_NONE,             REG_A | REG_Y                  },
-    { "pusheax",        REG_EAX,              REG_Y                         },
-    { "pushl0",         REG_NONE,             REG_AXY                       },
-    { "pushw",                 REG_AX,               REG_AXY | REG_PTR1             },
-    { "pushw0sp",              REG_NONE,             REG_AXY                        },
-    { "pushwidx",              REG_AXY,              REG_AXY | REG_PTR1             },
-    { "pushwysp",              REG_Y,                REG_AXY                        },
+    { "pushc0",         REG_NONE,             REG_A | REG_Y                  },
+    { "pushc1",         REG_NONE,             REG_A | REG_Y                  },
+    { "pushc2",         REG_NONE,             REG_A | REG_Y                  },
+    { "pusheax",        REG_EAX,              REG_Y                          },
+    { "pushl0",         REG_NONE,             REG_AXY                        },
+    { "pushw",          REG_AX,               REG_AXY | REG_PTR1             },
+    { "pushw0sp",       REG_NONE,             REG_AXY                        },
+    { "pushwidx",       REG_AXY,              REG_AXY | REG_PTR1             },
+    { "pushwysp",       REG_Y,                REG_AXY                        },
     { "regswap",        REG_AXY,              REG_AXY | REG_TMP1             },
     { "regswap1",       REG_XY,               REG_A                          },
     { "regswap2",       REG_XY,               REG_A | REG_Y                  },
     { "return0",        REG_NONE,             REG_AX                         },
     { "return1",        REG_NONE,             REG_AX                         },
-    { "shlax1",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "shlax2",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "shlax3",         REG_AX,                      REG_AX | REG_TMP1              },
-    { "shlax4",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "shlax1",         REG_AX,               REG_AX | REG_TMP1              },
+    { "shlax2",         REG_AX,               REG_AX | REG_TMP1              },
+    { "shlax3",         REG_AX,               REG_AX | REG_TMP1              },
+    { "shlax4",         REG_AX,               REG_AX | REG_TMP1              },
     { "shlaxy",         REG_AXY,              REG_AXY | REG_TMP1             },
-    { "shleax1",        REG_EAX,                     REG_EAX | REG_TMP1             },
-    { "shleax2",        REG_EAX,                     REG_EAX | REG_TMP1             },
-    { "shleax3",        REG_EAX,                     REG_EAX | REG_TMP1             },
-    { "shleax4",        REG_EAX,                     REG_EAXY | REG_TMP1            },
-    { "shrax1",         REG_AX,               REG_AX | REG_TMP1                     },
-    { "shrax2",         REG_AX,               REG_AX | REG_TMP1                     },
-    { "shrax3",         REG_AX,               REG_AX | REG_TMP1                     },
-    { "shrax4",         REG_AX,               REG_AX | REG_TMP1                     },
+    { "shleax1",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "shleax2",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "shleax3",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "shleax4",        REG_EAX,              REG_EAXY | REG_TMP1            },
+    { "shrax1",         REG_AX,               REG_AX | REG_TMP1              },
+    { "shrax2",         REG_AX,               REG_AX | REG_TMP1              },
+    { "shrax3",         REG_AX,               REG_AX | REG_TMP1              },
+    { "shrax4",         REG_AX,               REG_AX | REG_TMP1              },
     { "shraxy",         REG_AXY,              REG_AXY | REG_TMP1             },
-    { "shreax1",        REG_EAX,              REG_EAX | REG_TMP1                    },
-    { "shreax2",        REG_EAX,              REG_EAX | REG_TMP1            },
-    { "shreax3",        REG_EAX,              REG_EAX | REG_TMP1            },
-    { "shreax4",        REG_EAX,              REG_EAXY | REG_TMP1                   },
+    { "shreax1",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "shreax2",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "shreax3",        REG_EAX,              REG_EAX | REG_TMP1             },
+    { "shreax4",        REG_EAX,              REG_EAXY | REG_TMP1            },
     { "staspidx",       REG_A | REG_Y,        REG_Y | REG_TMP1 | REG_PTR1    },
-    { "stax0sp",        REG_AX,               REG_Y                         },
+    { "stax0sp",        REG_AX,               REG_Y                          },
     { "staxspidx",      REG_AXY,              REG_TMP1 | REG_PTR1            },
-    { "staxysp",        REG_AXY,              REG_Y                         },
+    { "staxysp",        REG_AXY,              REG_Y                          },
     { "steax0sp",       REG_EAX,              REG_Y                          },
     { "steaxysp",       REG_EAXY,             REG_Y                          },
     { "subeq0sp",       REG_AX,               REG_AXY                        },
     { "subeqysp",       REG_AXY,              REG_AXY                        },
-    { "subysp",                REG_Y,                REG_AY                         },
+    { "subysp",         REG_Y,                REG_AY                         },
     { "tosadd0ax",      REG_AX,               REG_EAXY | REG_TMP1            },
     { "tosadda0",       REG_A,                REG_AXY                        },
     { "tosaddax",       REG_AX,               REG_AXY                        },
@@ -246,55 +246,55 @@ static const FuncInfo FuncInfoTable[] = {
     { "tosasleax",      REG_A,                REG_EAXY | REG_TMP1            },
     { "tosasrax",       REG_A,                REG_AXY | REG_TMP1             },
     { "tosasreax",      REG_A,                REG_EAXY | REG_TMP1            },
-    { "tosdiv0ax",      REG_AX,               REG_ALL                       },
-    { "tosdiva0",       REG_A,                REG_ALL                       },
-    { "tosdivax",       REG_AX,               REG_ALL                       },
-    { "tosdiveax",      REG_EAX,              REG_ALL                       },
-    { "toseq00",        REG_NONE,                    REG_AXY | REG_SREG             },
-    { "toseqa0",        REG_A,               REG_AXY | REG_SREG             },
-    { "toseqax",        REG_AX,                      REG_AXY | REG_SREG             },
-    { "toseqeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosge00",        REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosgea0",        REG_A,               REG_AXY | REG_SREG             },
-    { "tosgeax",        REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosgeeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosgt00",        REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosgta0",        REG_A,               REG_AXY | REG_SREG             },
-    { "tosgtax",        REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosgteax",       REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosicmp",               REG_AX,               REG_AXY | REG_SREG             },
+    { "tosdiv0ax",      REG_AX,               REG_ALL                        },
+    { "tosdiva0",       REG_A,                REG_ALL                        },
+    { "tosdivax",       REG_AX,               REG_ALL                        },
+    { "tosdiveax",      REG_EAX,              REG_ALL                        },
+    { "toseq00",        REG_NONE,             REG_AXY | REG_SREG             },
+    { "toseqa0",        REG_A,                REG_AXY | REG_SREG             },
+    { "toseqax",        REG_AX,               REG_AXY | REG_SREG             },
+    { "toseqeax",       REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosge00",        REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosgea0",        REG_A,                REG_AXY | REG_SREG             },
+    { "tosgeax",        REG_AX,               REG_AXY | REG_SREG             },
+    { "tosgeeax",       REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosgt00",        REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosgta0",        REG_A,                REG_AXY | REG_SREG             },
+    { "tosgtax",        REG_AX,               REG_AXY | REG_SREG             },
+    { "tosgteax",       REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosicmp",        REG_AX,               REG_AXY | REG_SREG             },
     { "tosicmp0",       REG_A,                REG_AXY | REG_SREG             },
-    { "toslcmp",        REG_EAX,                     REG_A | REG_Y | REG_PTR1       },
-    { "tosle00",        REG_NONE,                    REG_AXY | REG_SREG             },
-    { "toslea0",        REG_A,               REG_AXY | REG_SREG             },
-    { "tosleax",        REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosleeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "toslt00",        REG_NONE,                    REG_AXY | REG_SREG             },
-    { "toslta0",        REG_A,               REG_AXY | REG_SREG             },
-    { "tosltax",        REG_AX,                      REG_AXY | REG_SREG             },
-    { "toslteax",       REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosmod0ax",      REG_AX,               REG_ALL                       },
-    { "tosmodeax",      REG_EAX,              REG_ALL                       },
-    { "tosmul0ax",      REG_AX,              REG_ALL                        },
-    { "tosmula0",       REG_A,               REG_ALL                        },
-    { "tosmulax",       REG_AX,                      REG_ALL                        },
-    { "tosmuleax",      REG_EAX,                     REG_ALL                        },
-    { "tosne00",        REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosnea0",        REG_A,               REG_AXY | REG_SREG             },
-    { "tosneax",        REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosneeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
+    { "toslcmp",        REG_EAX,              REG_A | REG_Y | REG_PTR1       },
+    { "tosle00",        REG_NONE,             REG_AXY | REG_SREG             },
+    { "toslea0",        REG_A,                REG_AXY | REG_SREG             },
+    { "tosleax",        REG_AX,               REG_AXY | REG_SREG             },
+    { "tosleeax",       REG_EAX,              REG_AXY | REG_PTR1             },
+    { "toslt00",        REG_NONE,             REG_AXY | REG_SREG             },
+    { "toslta0",        REG_A,                REG_AXY | REG_SREG             },
+    { "tosltax",        REG_AX,               REG_AXY | REG_SREG             },
+    { "toslteax",       REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosmod0ax",      REG_AX,               REG_ALL                        },
+    { "tosmodeax",      REG_EAX,              REG_ALL                        },
+    { "tosmul0ax",      REG_AX,               REG_ALL                        },
+    { "tosmula0",       REG_A,                REG_ALL                        },
+    { "tosmulax",       REG_AX,               REG_ALL                        },
+    { "tosmuleax",      REG_EAX,              REG_ALL                        },
+    { "tosne00",        REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosnea0",        REG_A,                REG_AXY | REG_SREG             },
+    { "tosneax",        REG_AX,               REG_AXY | REG_SREG             },
+    { "tosneeax",       REG_EAX,              REG_AXY | REG_PTR1             },
     { "tosor0ax",       REG_AX,               REG_EAXY | REG_TMP1            },
-    { "tosora0",        REG_A,               REG_AXY | REG_TMP1             },
-    { "tosorax",        REG_AX,                      REG_AXY | REG_TMP1             },
+    { "tosora0",        REG_A,                REG_AXY | REG_TMP1             },
+    { "tosorax",        REG_AX,               REG_AXY | REG_TMP1             },
     { "tosoreax",       REG_EAX,              REG_EAXY | REG_TMP1            },
     { "tosrsub0ax",     REG_AX,               REG_EAXY | REG_TMP1            },
     { "tosrsuba0",      REG_A,                REG_AXY | REG_TMP1             },
     { "tosrsubax",      REG_AX,               REG_AXY | REG_TMP1             },
     { "tosrsubeax",     REG_EAX,              REG_EAXY | REG_TMP1            },
     { "tosshlax",       REG_A,                REG_AXY | REG_TMP1             },
-    { "tosshleax",      REG_A,                       REG_EAXY | REG_TMP1            },
+    { "tosshleax",      REG_A,                REG_EAXY | REG_TMP1            },
     { "tosshrax",       REG_A,                REG_AXY | REG_TMP1             },
-    { "tosshreax",      REG_A,                       REG_EAXY | REG_TMP1            },
+    { "tosshreax",      REG_A,                REG_EAXY | REG_TMP1            },
     { "tossub0ax",      REG_AX,               REG_EAXY                       },
     { "tossuba0",       REG_A,                REG_AXY                        },
     { "tossubax",       REG_AX,               REG_AXY                        },
@@ -303,30 +303,30 @@ static const FuncInfo FuncInfoTable[] = {
     { "tosudiva0",      REG_A,                REG_EAXY | REG_PTR1            }, /* also ptr4 */
     { "tosudivax",      REG_AX,               REG_EAXY | REG_PTR1            }, /* also ptr4 */
     { "tosudiveax",     REG_EAX,              REG_ALL & ~REG_SAVE            },
-    { "tosuge00",       REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosugea0",       REG_A,               REG_AXY | REG_SREG             },
-    { "tosugeax",       REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosugeeax",      REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosugt00",       REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosugta0",       REG_A,               REG_AXY | REG_SREG             },
-    { "tosugtax",       REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosugteax",      REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosule00",       REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosulea0",       REG_A,               REG_AXY | REG_SREG             },
-    { "tosuleax",       REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosuleeax",      REG_EAX,                     REG_AXY | REG_PTR1             },
-    { "tosult00",       REG_NONE,                    REG_AXY | REG_SREG             },
-    { "tosulta0",       REG_A,               REG_AXY | REG_SREG             },
-    { "tosultax",       REG_AX,                      REG_AXY | REG_SREG             },
-    { "tosulteax",      REG_EAX,                     REG_AXY | REG_PTR1             },
+    { "tosuge00",       REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosugea0",       REG_A,                REG_AXY | REG_SREG             },
+    { "tosugeax",       REG_AX,               REG_AXY | REG_SREG             },
+    { "tosugeeax",      REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosugt00",       REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosugta0",       REG_A,                REG_AXY | REG_SREG             },
+    { "tosugtax",       REG_AX,               REG_AXY | REG_SREG             },
+    { "tosugteax",      REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosule00",       REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosulea0",       REG_A,                REG_AXY | REG_SREG             },
+    { "tosuleax",       REG_AX,               REG_AXY | REG_SREG             },
+    { "tosuleeax",      REG_EAX,              REG_AXY | REG_PTR1             },
+    { "tosult00",       REG_NONE,             REG_AXY | REG_SREG             },
+    { "tosulta0",       REG_A,                REG_AXY | REG_SREG             },
+    { "tosultax",       REG_AX,               REG_AXY | REG_SREG             },
+    { "tosulteax",      REG_EAX,              REG_AXY | REG_PTR1             },
     { "tosumod0ax",     REG_AX,               REG_ALL & ~REG_SAVE            },
     { "tosumoda0",      REG_A,                REG_EAXY | REG_PTR1            }, /* also ptr4 */
     { "tosumodax",      REG_AX,               REG_EAXY | REG_PTR1            }, /* also ptr4 */
     { "tosumodeax",     REG_EAX,              REG_ALL & ~REG_SAVE            },
-    { "tosumul0ax",     REG_AX,              REG_ALL                        },
-    { "tosumula0",      REG_A,                REG_ALL                       },
-    { "tosumulax",      REG_AX,                      REG_ALL                        },
-    { "tosumuleax",     REG_EAX,                     REG_ALL                        },
+    { "tosumul0ax",     REG_AX,               REG_ALL                        },
+    { "tosumula0",      REG_A,                REG_ALL                        },
+    { "tosumulax",      REG_AX,               REG_ALL                        },
+    { "tosumuleax",     REG_EAX,              REG_ALL                        },
     { "tosxor0ax",      REG_AX,               REG_EAXY | REG_TMP1            },
     { "tosxora0",       REG_A,                REG_AXY | REG_TMP1             },
     { "tosxorax",       REG_AX,               REG_AXY | REG_TMP1             },
@@ -334,34 +334,34 @@ static const FuncInfo FuncInfoTable[] = {
     { "tsteax",         REG_EAX,              REG_Y                          },
     { "utsteax",        REG_EAX,              REG_Y                          },
 };
-#define FuncInfoCount  (sizeof(FuncInfoTable) / sizeof(FuncInfoTable[0]))
+#define FuncInfoCount   (sizeof(FuncInfoTable) / sizeof(FuncInfoTable[0]))
 
 /* Table with names of zero page locations used by the compiler */
 static const ZPInfo ZPInfoTable[] = {
-    {          0, "ptr1",      REG_PTR1_LO,    REG_PTR1        },
-    {   0, "ptr1+1",    REG_PTR1_HI,   REG_PTR1        },
-    {          0, "ptr2",      REG_PTR2_LO,    REG_PTR2        },
-    {   0, "ptr2+1",    REG_PTR2_HI,   REG_PTR2        },
-    {          4, "ptr3",      REG_NONE,       REG_NONE        },
-    {          4, "ptr4",      REG_NONE,       REG_NONE        },
-    {   7, "regbank",   REG_NONE,      REG_NONE        },
-    {   0, "regsave",   REG_SAVE_LO,   REG_SAVE        },
-    {   0, "regsave+1", REG_SAVE_HI,   REG_SAVE        },
-    {   0, "sp",        REG_SP_LO,             REG_SP          },
+    {   0, "ptr1",      REG_PTR1_LO,    REG_PTR1        },
+    {   0, "ptr1+1",    REG_PTR1_HI,    REG_PTR1        },
+    {   0, "ptr2",      REG_PTR2_LO,    REG_PTR2        },
+    {   0, "ptr2+1",    REG_PTR2_HI,    REG_PTR2        },
+    {   4, "ptr3",      REG_NONE,       REG_NONE        },
+    {   4, "ptr4",      REG_NONE,       REG_NONE        },
+    {   7, "regbank",   REG_NONE,       REG_NONE        },
+    {   0, "regsave",   REG_SAVE_LO,    REG_SAVE        },
+    {   0, "regsave+1", REG_SAVE_HI,    REG_SAVE        },
+    {   0, "sp",        REG_SP_LO,      REG_SP          },
     {   0, "sp+1",      REG_SP_HI,      REG_SP          },
-    {   0, "sreg",      REG_SREG_LO,   REG_SREG        },
-    {  0, "sreg+1",    REG_SREG_HI,    REG_SREG        },
-    {   0, "tmp1",      REG_TMP1,      REG_TMP1        },
-    {   0, "tmp2",      REG_NONE,      REG_NONE        },
-    {   0, "tmp3",      REG_NONE,      REG_NONE        },
-    {   0, "tmp4",      REG_NONE,      REG_NONE        },
+    {   0, "sreg",      REG_SREG_LO,    REG_SREG        },
+    {   0, "sreg+1",    REG_SREG_HI,    REG_SREG        },
+    {   0, "tmp1",      REG_TMP1,       REG_TMP1        },
+    {   0, "tmp2",      REG_NONE,       REG_NONE        },
+    {   0, "tmp3",      REG_NONE,       REG_NONE        },
+    {   0, "tmp4",      REG_NONE,       REG_NONE        },
 };
-#define ZPInfoCount            (sizeof(ZPInfoTable) / sizeof(ZPInfoTable[0]))
+#define ZPInfoCount     (sizeof(ZPInfoTable) / sizeof(ZPInfoTable[0]))
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -369,7 +369,7 @@ static const ZPInfo ZPInfoTable[] = {
 static int CompareFuncInfo (const void* Key, const void* Info)
 /* Compare function for bsearch */
 {
-    return strcmp (Key, ((const        FuncInfo*) Info)->Name);
+    return strcmp (Key, ((const FuncInfo*) Info)->Name);
 }
 
 
@@ -387,43 +387,43 @@ void GetFuncInfo (const char* Name, unsigned short* Use, unsigned short* Chg)
      */
     if (Name[0] == '_') {
 
-       /* Search in the symbol table, skip the leading underscore */
-       SymEntry* E = FindGlobalSym (Name+1);
+        /* Search in the symbol table, skip the leading underscore */
+        SymEntry* E = FindGlobalSym (Name+1);
 
-       /* Did we find it in the top level table? */
-       if (E && IsTypeFunc (E->Type)) {
+        /* Did we find it in the top level table? */
+        if (E && IsTypeFunc (E->Type)) {
 
             FuncDesc* D = E->V.F.Func;
 
-           /* A function may use the A or A/X registers if it is a fastcall
-            * function. If it is not a fastcall function but a variadic one,
-            * it will use the Y register (the parameter size is passed here).
-            * In all other cases, no registers are used. However, we assume
-            * that any function will destroy all registers.
-            */
-           if (IsQualFastcall (E->Type) && D->ParamCount > 0) {
-               /* Will use registers depending on the last param */
+            /* A function may use the A or A/X registers if it is a fastcall
+             * function. If it is not a fastcall function but a variadic one,
+             * it will use the Y register (the parameter size is passed here).
+             * In all other cases, no registers are used. However, we assume
+             * that any function will destroy all registers.
+             */
+            if (IsQualFastcall (E->Type) && D->ParamCount > 0) {
+                /* Will use registers depending on the last param */
                 unsigned LastParamSize = CheckedSizeOf (D->LastParam->Type);
-               if (LastParamSize == 1) {
-                   *Use = REG_A;
-               } else if (LastParamSize == 2) {
-                   *Use = REG_AX;
-               } else {
+                if (LastParamSize == 1) {
+                    *Use = REG_A;
+                } else if (LastParamSize == 2) {
+                    *Use = REG_AX;
+                } else {
                     *Use = REG_EAX;
                 }
-           } else if ((D->Flags & FD_VARIADIC) != 0) {
-               *Use = REG_Y;
-           } else {
-               /* Will not use any registers */
-               *Use = REG_NONE;
-           }
+            } else if ((D->Flags & FD_VARIADIC) != 0) {
+                *Use = REG_Y;
+            } else {
+                /* Will not use any registers */
+                *Use = REG_NONE;
+            }
 
-           /* Will destroy all registers */
-           *Chg = REG_ALL;
+            /* Will destroy all registers */
+            *Chg = REG_ALL;
 
-           /* Done */
-           return;
-       }
+            /* Done */
+            return;
+        }
 
     } else if (IsDigit (Name[0]) || Name[0] == '$') {
 
@@ -437,16 +437,16 @@ void GetFuncInfo (const char* Name, unsigned short* Use, unsigned short* Chg)
 
     } else {
 
-       /* Search for the function in the list of builtin functions */
-       const FuncInfo* Info = bsearch (Name, FuncInfoTable, FuncInfoCount,
-                                       sizeof(FuncInfo), CompareFuncInfo);
+        /* Search for the function in the list of builtin functions */
+        const FuncInfo* Info = bsearch (Name, FuncInfoTable, FuncInfoCount,
+                                        sizeof(FuncInfo), CompareFuncInfo);
 
-       /* Do we know the function? */
-       if (Info) {
-           /* Use the information we have */
-           *Use = Info->Use;
-           *Chg = Info->Chg;
-       } else {
+        /* Do we know the function? */
+        if (Info) {
+            /* Use the information we have */
+            *Use = Info->Use;
+            *Chg = Info->Chg;
+        } else {
             /* It's an internal function we have no information for. If in
              * debug mode, output an additional warning, so we have a chance
              * to fix it. Otherwise assume that the internal function will
@@ -481,16 +481,16 @@ static int CompareZPInfo (const void* Name, const void* Info)
      * more than just the zeropage name).
      */
     if (E->Len == 0) {
-       /* Do a full compare */
-       return strcmp (N, E->Name);
+        /* Do a full compare */
+        return strcmp (N, E->Name);
     } else {
-       /* Only compare the first part */
-       int Res = strncmp (N, E->Name, E->Len);
-       if (Res == 0 && (N[E->Len] != '\0' && N[E->Len] != '+')) {
-           /* Name is actually longer than Info->Name */
-           Res = -1;
-       }
-       return Res;
+        /* Only compare the first part */
+        int Res = strncmp (N, E->Name, E->Len);
+        if (Res == 0 && (N[E->Len] != '\0' && N[E->Len] != '+')) {
+            /* Name is actually longer than Info->Name */
+            Res = -1;
+        }
+        return Res;
     }
 }
 
@@ -503,103 +503,103 @@ const ZPInfo* GetZPInfo (const char* Name)
 {
     /* Search for the zp location in the list */
     return bsearch (Name, ZPInfoTable, ZPInfoCount,
-                   sizeof(ZPInfo), CompareZPInfo);
+                    sizeof(ZPInfo), CompareZPInfo);
 }
 
 
 
 static unsigned GetRegInfo2 (CodeSeg* S,
-                            CodeEntry* E,
-                            int Index,
-                            Collection* Visited,
-                            unsigned Used,
-                            unsigned Unused,
-                            unsigned Wanted)
+                             CodeEntry* E,
+                             int Index,
+                             Collection* Visited,
+                             unsigned Used,
+                             unsigned Unused,
+                             unsigned Wanted)
 /* Recursively called subfunction for GetRegInfo. */
 {
     /* Follow the instruction flow recording register usage. */
     while (1) {
 
-       unsigned R;
-
-       /* Check if we have already visited the current code entry. If so,
-        * bail out.
-        */
-       if (CE_HasMark (E)) {
-           break;
-       }
-
-       /* Mark this entry as already visited */
-       CE_SetMark (E);
-       CollAppend (Visited, E);
-
-       /* Evaluate the used registers */
-       R = E->Use;
-       if (E->OPC == OP65_RTS ||
-                   ((E->Info & OF_UBRA) != 0 && E->JumpTo == 0)) {
-           /* This instruction will leave the function */
-           R |= S->ExitRegs;
-       }
-               if (R != REG_NONE) {
-           /* We are not interested in the use of any register that has been
-            * used before.
-            */
-           R &= ~Unused;
-           /* Remember the remaining registers */
-           Used |= R;
-       }
-
-       /* Evaluate the changed registers */
-               if ((R = E->Chg) != REG_NONE) {
-           /* We are not interested in the use of any register that has been
-            * used before.
-            */
-           R &= ~Used;
-           /* Remember the remaining registers */
-           Unused |= R;
-       }
-
-               /* If we know about all registers now, bail out */
-               if (((Used | Unused) & Wanted) == Wanted) {
-           break;
-       }
-
-       /* If the instruction is an RTS or RTI, we're done */
-               if ((E->Info & OF_RET) != 0) {
-           break;
-       }
-
-       /* If we have an unconditional branch, follow this branch if possible,
-        * otherwise we're done.
-        */
-       if ((E->Info & OF_UBRA) != 0) {
-
-           /* Does this jump have a valid target? */
-           if (E->JumpTo) {
-
-               /* Unconditional jump */
-               E     = E->JumpTo->Owner;
-               Index = -1;             /* Invalidate */
-
-           } else {
-               /* Jump outside means we're done */
-               break;
-           }
-
-               /* In case of conditional branches, follow the branch if possible and
-        * follow the normal flow (branch not taken) afterwards. If we cannot
-        * follow the branch, we're done.
-        */
-       } else if ((E->Info & OF_CBRA) != 0) {
+        unsigned R;
+
+        /* Check if we have already visited the current code entry. If so,
+         * bail out.
+         */
+        if (CE_HasMark (E)) {
+            break;
+        }
+
+        /* Mark this entry as already visited */
+        CE_SetMark (E);
+        CollAppend (Visited, E);
+
+        /* Evaluate the used registers */
+        R = E->Use;
+        if (E->OPC == OP65_RTS ||
+            ((E->Info & OF_UBRA) != 0 && E->JumpTo == 0)) {
+            /* This instruction will leave the function */
+            R |= S->ExitRegs;
+        }
+        if (R != REG_NONE) {
+            /* We are not interested in the use of any register that has been
+             * used before.
+             */
+            R &= ~Unused;
+            /* Remember the remaining registers */
+            Used |= R;
+        }
+
+        /* Evaluate the changed registers */
+        if ((R = E->Chg) != REG_NONE) {
+            /* We are not interested in the use of any register that has been
+             * used before.
+             */
+            R &= ~Used;
+            /* Remember the remaining registers */
+            Unused |= R;
+        }
+
+        /* If we know about all registers now, bail out */
+        if (((Used | Unused) & Wanted) == Wanted) {
+            break;
+        }
+
+        /* If the instruction is an RTS or RTI, we're done */
+        if ((E->Info & OF_RET) != 0) {
+            break;
+        }
+
+        /* If we have an unconditional branch, follow this branch if possible,
+         * otherwise we're done.
+         */
+        if ((E->Info & OF_UBRA) != 0) {
+
+            /* Does this jump have a valid target? */
+            if (E->JumpTo) {
+
+                /* Unconditional jump */
+                E     = E->JumpTo->Owner;
+                Index = -1;             /* Invalidate */
+
+            } else {
+                /* Jump outside means we're done */
+                break;
+            }
+
+        /* In case of conditional branches, follow the branch if possible and
+         * follow the normal flow (branch not taken) afterwards. If we cannot
+         * follow the branch, we're done.
+         */
+        } else if ((E->Info & OF_CBRA) != 0) {
 
             /* Recursively determine register usage at the branch target */
-           unsigned U1;
-           unsigned U2;
+            unsigned U1;
+            unsigned U2;
 
-           if (E->JumpTo) {
+            if (E->JumpTo) {
 
                 /* Jump to internal label */
-               U1 = GetRegInfo2 (S, E->JumpTo->Owner, -1, Visited, Used, Unused, Wanted);
+                U1 = GetRegInfo2 (S, E->JumpTo->Owner, -1, Visited, Used, Unused, Wanted);
 
             } else {
 
@@ -624,19 +624,19 @@ static unsigned GetRegInfo2 (CodeSeg* S,
             /* Registers are used if they're use in any of the branches */
             return U1 | U2;
 
-               } else {
+        } else {
 
-           /* Just go to the next instruction */
-           if (Index < 0) {
-               Index = CS_GetEntryIndex (S, E);
-           }
-           E = CS_GetEntry (S, ++Index);
-           if (E == 0) {
-               /* No next entry */
-               Internal ("GetRegInfo2: No next entry!");
-           }
+            /* Just go to the next instruction */
+            if (Index < 0) {
+                Index = CS_GetEntryIndex (S, E);
+            }
+            E = CS_GetEntry (S, ++Index);
+            if (E == 0) {
+                /* No next entry */
+                Internal ("GetRegInfo2: No next entry!");
+            }
 
-       }
+        }
 
     }
 
@@ -647,12 +647,12 @@ static unsigned GetRegInfo2 (CodeSeg* S,
 
 
 static unsigned GetRegInfo1 (CodeSeg* S,
-                            CodeEntry* E,
-                            int Index,
-                            Collection* Visited,
-                            unsigned Used,
-                            unsigned Unused,
-                            unsigned Wanted)
+                             CodeEntry* E,
+                             int Index,
+                             Collection* Visited,
+                             unsigned Used,
+                             unsigned Unused,
+                             unsigned Wanted)
 /* Recursively called subfunction for GetRegInfo. */
 {
     /* Remember the current count of the line collection */
@@ -664,9 +664,9 @@ static unsigned GetRegInfo1 (CodeSeg* S,
     /* Restore the old count, unmarking all new entries */
     unsigned NewCount = CollCount (Visited);
     while (NewCount-- > Count) {
-       CodeEntry* E = CollAt (Visited, NewCount);
-       CE_ResetMark (E);
-       CollDelete (Visited, NewCount);
+        CodeEntry* E = CollAt (Visited, NewCount);
+        CE_ResetMark (E);
+        CollDelete (Visited, NewCount);
     }
 
     /* Return the registers used */
@@ -680,14 +680,14 @@ unsigned GetRegInfo (struct CodeSeg* S, unsigned Index, unsigned Wanted)
  * given index.
  */
 {
-    CodeEntry*             E;
-    Collection             Visited;    /* Visited entries */
+    CodeEntry*      E;
+    Collection      Visited;    /* Visited entries */
     unsigned        R;
 
     /* Get the code entry for the given index */
     if (Index >= CS_GetEntryCount (S)) {
-       /* There is no such code entry */
-       return REG_NONE;
+        /* There is no such code entry */
+        return REG_NONE;
     }
     E = CS_GetEntry (S, Index);
 
@@ -753,23 +753,23 @@ unsigned GetKnownReg (unsigned Use, const RegContents* RC)
  */
 {
     if ((Use & REG_A) != 0) {
-       return (RC == 0 || RC->RegA >= 0)? REG_A : REG_NONE;
+        return (RC == 0 || RC->RegA >= 0)? REG_A : REG_NONE;
     } else if ((Use & REG_X) != 0) {
-       return (RC == 0 || RC->RegX >= 0)? REG_X : REG_NONE;
+        return (RC == 0 || RC->RegX >= 0)? REG_X : REG_NONE;
     } else if ((Use & REG_Y) != 0) {
-       return (RC == 0 || RC->RegY >= 0)? REG_Y : REG_NONE;
+        return (RC == 0 || RC->RegY >= 0)? REG_Y : REG_NONE;
     } else if ((Use & REG_TMP1) != 0) {
-       return (RC == 0 || RC->Tmp1 >= 0)? REG_TMP1 : REG_NONE;
+        return (RC == 0 || RC->Tmp1 >= 0)? REG_TMP1 : REG_NONE;
     } else if ((Use & REG_PTR1_LO) != 0) {
-       return (RC == 0 || RC->Ptr1Lo >= 0)? REG_PTR1_LO : REG_NONE;
+        return (RC == 0 || RC->Ptr1Lo >= 0)? REG_PTR1_LO : REG_NONE;
     } else if ((Use & REG_PTR1_HI) != 0) {
-       return (RC == 0 || RC->Ptr1Hi >= 0)? REG_PTR1_HI : REG_NONE;
+        return (RC == 0 || RC->Ptr1Hi >= 0)? REG_PTR1_HI : REG_NONE;
     } else if ((Use & REG_SREG_LO) != 0) {
-       return (RC == 0 || RC->SRegLo >= 0)? REG_SREG_LO : REG_NONE;
+        return (RC == 0 || RC->SRegLo >= 0)? REG_SREG_LO : REG_NONE;
     } else if ((Use & REG_SREG_HI) != 0) {
-       return (RC == 0 || RC->SRegHi >= 0)? REG_SREG_HI : REG_NONE;
+        return (RC == 0 || RC->SRegHi >= 0)? REG_SREG_HI : REG_NONE;
     } else {
-       return REG_NONE;
+        return REG_NONE;
     }
 }
 
@@ -782,10 +782,10 @@ static cmp_t FindCmpCond (const char* Code, unsigned CodeLen)
 
     /* Linear search */
     for (I = 0; I < sizeof (CmpSuffixTab) / sizeof (CmpSuffixTab [0]); ++I) {
-       if (strncmp (Code, CmpSuffixTab [I], CodeLen) == 0) {
-           /* Found */
-           return I;
-       }
+        if (strncmp (Code, CmpSuffixTab [I], CodeLen) == 0) {
+            /* Found */
+            return I;
+        }
     }
 
     /* Not found */
@@ -802,11 +802,11 @@ cmp_t FindBoolCmpCond (const char* Name)
 {
     /* Check for the correct subroutine name */
     if (strncmp (Name, "bool", 4) == 0) {
-       /* Name is ok, search for the code in the table */
-       return FindCmpCond (Name+4, strlen(Name)-4);
+        /* Name is ok, search for the code in the table */
+        return FindCmpCond (Name+4, strlen(Name)-4);
     } else {
-       /* Not found */
-       return CMP_INV;
+        /* Not found */
+        return CMP_INV;
     }
 }
 
@@ -821,11 +821,11 @@ cmp_t FindTosCmpCond (const char* Name)
 
     /* Check for the correct subroutine name */
     if (strncmp (Name, "tos", 3) == 0 && strcmp (Name+Len-2, "ax") == 0) {
-       /* Name is ok, search for the code in the table */
-       return FindCmpCond (Name+3, Len-3-2);
+        /* Name is ok, search for the code in the table */
+        return FindCmpCond (Name+3, Len-3-2);
     } else {
-       /* Not found */
-       return CMP_INV;
+        /* Not found */
+        return CMP_INV;
     }
 }
 
index 4e0b16887e603c4e9c75d4baca8281d0bea6b18b..68a08b5c8293b3af3b573edde4c56e68454bf824 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               codeinfo.h                                 */
+/*                                codeinfo.h                                 */
 /*                                                                           */
-/*                 Additional information about 6502 code                   */
+/*                  Additional information about 6502 code                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -49,7 +49,7 @@ struct CodeSeg;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,16 +58,16 @@ struct CodeSeg;
 struct RegContents;
 
 /* Defines for registers. */
-#define REG_NONE               0x0000U
-#define REG_A                  0x0001U
-#define REG_X                  0x0002U
-#define REG_Y                  0x0004U
-#define REG_TMP1               0x0008U
-#define REG_PTR1_LO            0x0010U
-#define REG_PTR1_HI            0x0020U
+#define REG_NONE        0x0000U
+#define REG_A           0x0001U
+#define REG_X           0x0002U
+#define REG_Y           0x0004U
+#define REG_TMP1        0x0008U
+#define REG_PTR1_LO     0x0010U
+#define REG_PTR1_HI     0x0020U
 #define REG_PTR2_LO     0x0040U
 #define REG_PTR2_HI     0x0080U
-#define REG_SREG_LO            0x0100U
+#define REG_SREG_LO     0x0100U
 #define REG_SREG_HI     0x0200U
 #define REG_SAVE_LO     0x0400U
 #define REG_SAVE_HI     0x0800U
@@ -81,10 +81,10 @@ struct RegContents;
 #define REG_SREG        (REG_SREG_LO | REG_SREG_HI)
 #define REG_SAVE        (REG_SAVE_LO | REG_SAVE_HI)
 #define REG_SP          (REG_SP_LO | REG_SP_HI)
-#define        REG_AX          (REG_A | REG_X)
+#define REG_AX          (REG_A | REG_X)
 #define REG_AY          (REG_A | REG_Y)
-#define REG_XY         (REG_X | REG_Y)
-#define REG_AXY                (REG_AX | REG_Y)
+#define REG_XY          (REG_X | REG_Y)
+#define REG_AXY         (REG_AX | REG_Y)
 #define REG_EAX         (REG_AX | REG_SREG)
 #define REG_EAXY        (REG_EAX | REG_Y)
 #define REG_ZP          0xFFF8U
@@ -95,7 +95,7 @@ struct RegContents;
 /* Zero page register info */
 typedef struct ZPInfo ZPInfo;
 struct ZPInfo {
-    unsigned char  Len;                /* Length of the following string */
+    unsigned char  Len;         /* Length of the following string */
     char           Name[11];    /* Name of zero page symbol */
     unsigned short ByteUse;     /* Register info for this symbol */
     unsigned short WordUse;     /* Register info for 16 bit access */
@@ -121,7 +121,7 @@ typedef enum {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9e3b93765f64ebf69b57dd13a45433e4d7b1ec6d..88de84dc13e52b2e8b6d55336f5baa5c14e56a5f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codelab.c                                 */
+/*                                 codelab.c                                 */
 /*                                                                           */
-/*                          Code label structure                            */
+/*                           Code label structure                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -108,12 +108,12 @@ void CL_MoveRefs (CodeLabel* OldLabel, CodeLabel* NewLabel)
     unsigned Count = CL_GetRefCount (OldLabel);
     while (Count--) {
 
-       /* Get the instruction that references the old label */
-       CodeEntry* E = CL_GetRef (OldLabel, Count);
+        /* Get the instruction that references the old label */
+        CodeEntry* E = CL_GetRef (OldLabel, Count);
 
-       /* Change the reference to the new label */
-       CHECK (E->JumpTo == OldLabel);
-       CL_AddRef (NewLabel, E);
+        /* Change the reference to the new label */
+        CHECK (E->JumpTo == OldLabel);
+        CL_AddRef (NewLabel, E);
 
     }
 
@@ -128,8 +128,8 @@ void CL_Output (const CodeLabel* L)
 {
     WriteOutput ("%s:", L->Name);
     if (strlen (L->Name) > 6) {
-       /* Label is too long, add a linefeed */
-       WriteOutput ("\n");
+        /* Label is too long, add a linefeed */
+        WriteOutput ("\n");
     }
 }
 
index 649c0a2b7aa8703817d03bab719edbdd0cf2cfd4..d38a30e8292696f5798fec1c42ef55e6501124ed 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codelab.h                                 */
+/*                                 codelab.h                                 */
 /*                                                                           */
-/*                          Code label structure                            */
+/*                           Code label structure                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -54,7 +54,7 @@ struct CodeEntry;
 
 
 /*****************************************************************************/
-/*                            struct CodeLabel                              */
+/*                             struct CodeLabel                              */
 /*****************************************************************************/
 
 
@@ -62,17 +62,17 @@ struct CodeEntry;
 /* Label structure */
 typedef struct CodeLabel CodeLabel;
 struct CodeLabel {
-    CodeLabel*         Next;           /* Next in hash list */
-    char*              Name;           /* Label name */
-    unsigned            Hash;          /* Hash over the name */
-    struct CodeEntry*  Owner;          /* Owner entry */
-    Collection         JumpFrom;       /* Entries that jump here */
+    CodeLabel*          Next;           /* Next in hash list */
+    char*               Name;           /* Label name */
+    unsigned            Hash;           /* Hash over the name */
+    struct CodeEntry*   Owner;          /* Owner entry */
+    Collection          JumpFrom;       /* Entries that jump here */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -90,7 +90,7 @@ INLINE unsigned CL_GetRefCount (const CodeLabel* L)
     return CollCount (&L->JumpFrom);
 }
 #else
-#  define CL_GetRefCount(L)            CollCount (&(L)->JumpFrom)
+#  define CL_GetRefCount(L)     CollCount (&(L)->JumpFrom)
 #endif
 
 #if defined(HAVE_INLINE)
@@ -100,7 +100,7 @@ INLINE struct CodeEntry* CL_GetRef (CodeLabel* L, unsigned Index)
     return CollAt (&L->JumpFrom, Index);
 }
 #else
-#  define CL_GetRef(L, Index)          CollAt (&(L)->JumpFrom, (Index))
+#  define CL_GetRef(L, Index)   CollAt (&(L)->JumpFrom, (Index))
 #endif
 
 void CL_AddRef (CodeLabel* L, struct CodeEntry* E);
index 9006ea8ffce04991da0ad9d9381779a5ee512ffd..a16364be4af421c49088d535d3e3aff93f52edbe 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codeopt.c                                 */
+/*                                 codeopt.c                                 */
 /*                                                                           */
-/*                          Optimizer subroutines                           */
+/*                           Optimizer subroutines                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -90,13 +90,13 @@ static unsigned OptLoad1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* E;
+        CodeEntry* E;
 
-       /* Get next entry */
-               E = CS_GetEntry (S, I);
+        /* Get next entry */
+        E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (CE_IsCallTo (E, "ldaxysp")          &&
+        /* Check for the sequence */
+        if (CE_IsCallTo (E, "ldaxysp")          &&
             RegValIsKnown (E->RI->In.RegY)      &&
             !RegXUsed (S, I+1)) {
 
@@ -112,15 +112,15 @@ static unsigned OptLoad1 (CodeSeg* S)
             CS_InsertEntry (S, X, I+2);
 
             /* Now remove the call to the subroutine */
-           CS_DelEntry (S, I);
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
+            /* Remember, we had changes */
             ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -140,13 +140,13 @@ static unsigned OptLoad2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (CE_IsCallTo (L[0], "ldaxysp")) {
+        /* Check for the sequence */
+        if (CE_IsCallTo (L[0], "ldaxysp")) {
 
             CodeEntry* X;
 
@@ -212,13 +212,13 @@ static unsigned OptLoad2 (CodeSeg* S)
 
             }
 
-           /* Remember, we had changes */
+            /* Remember, we had changes */
             ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -237,8 +237,8 @@ static unsigned OptLoad3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Forget a preceeding load if we have a label */
         if (Load && CE_HasLabel (E)) {
@@ -281,8 +281,8 @@ static unsigned OptLoad3 (CodeSeg* S)
             Load = 0;
         }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -292,7 +292,7 @@ static unsigned OptLoad3 (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                           Decouple operations                            */
+/*                            Decouple operations                            */
 /*****************************************************************************/
 
 
@@ -310,7 +310,7 @@ static unsigned OptDecouple (CodeSeg* S)
  *   tya        -> lda #imm
  *   lda zp     -> lda #imm
  *   ldx zp     -> ldx #imm
- *   ldy zp    -> ldy #imm
+ *   ldy zp     -> ldy #imm
  *
  * Provided that the register values are known of course.
  */
@@ -322,196 +322,196 @@ static unsigned OptDecouple (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       const char* Arg;
-
-       /* Get next entry and it's input register values */
-               CodeEntry* E = CS_GetEntry (S, I);
-       const RegContents* In = &E->RI->In;
-
-       /* Assume we have no replacement */
-       CodeEntry* X = 0;
-
-       /* Check the instruction */
-       switch (E->OPC) {
-
-           case OP65_DEA:
-               if (RegValIsKnown (In->RegA)) {
-                   Arg = MakeHexArg ((In->RegA - 1) & 0xFF);
-                   X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_DEX:
-               if (RegValIsKnown (In->RegX)) {
-                   Arg = MakeHexArg ((In->RegX - 1) & 0xFF);
-                   X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_DEY:
-               if (RegValIsKnown (In->RegY)) {
-                   Arg = MakeHexArg ((In->RegY - 1) & 0xFF);
-                   X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_INA:
-               if (RegValIsKnown (In->RegA)) {
-                   Arg = MakeHexArg ((In->RegA + 1) & 0xFF);
-                   X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_INX:
-               if (RegValIsKnown (In->RegX)) {
-                   Arg = MakeHexArg ((In->RegX + 1) & 0xFF);
-                   X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_INY:
-               if (RegValIsKnown (In->RegY)) {
-                   Arg = MakeHexArg ((In->RegY + 1) & 0xFF);
-                   X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_LDA:
-               if (E->AM == AM65_ZP) {
-                   switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Arg = MakeHexArg (In->Tmp1);
-                           X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_PTR1_LO:
-                           Arg = MakeHexArg (In->Ptr1Lo);
-                           X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_PTR1_HI:
-                           Arg = MakeHexArg (In->Ptr1Hi);
-                           X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_SREG_LO:
-                           Arg = MakeHexArg (In->SRegLo);
-                           X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_SREG_HI:
-                           Arg = MakeHexArg (In->SRegHi);
-                           X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-                           break;
-                   }
-               }
-               break;
-
-           case OP65_LDX:
-               if (E->AM == AM65_ZP) {
-                   switch (GetKnownReg (E->Use & REG_ZP, In)) {
-                       case REG_TMP1:
-                           Arg = MakeHexArg (In->Tmp1);
-                           X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_PTR1_LO:
-                           Arg = MakeHexArg (In->Ptr1Lo);
-                           X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_PTR1_HI:
-                           Arg = MakeHexArg (In->Ptr1Hi);
-                           X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_SREG_LO:
-                           Arg = MakeHexArg (In->SRegLo);
-                           X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_SREG_HI:
-                           Arg = MakeHexArg (In->SRegHi);
-                           X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-                           break;
-                   }
-               }
-               break;
-
-           case OP65_LDY:
-               if (E->AM == AM65_ZP) {
-                   switch (GetKnownReg (E->Use, In)) {
-                       case REG_TMP1:
-                           Arg = MakeHexArg (In->Tmp1);
-                           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_PTR1_LO:
-                           Arg = MakeHexArg (In->Ptr1Lo);
-                           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_PTR1_HI:
-                           Arg = MakeHexArg (In->Ptr1Hi);
-                           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_SREG_LO:
-                           Arg = MakeHexArg (In->SRegLo);
-                           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-                           break;
-
-                       case REG_SREG_HI:
-                           Arg = MakeHexArg (In->SRegHi);
-                           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-                           break;
-                   }
-               }
-               break;
-
-           case OP65_TAX:
-               if (E->RI->In.RegA >= 0) {
-                   Arg = MakeHexArg (In->RegA);
-                   X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_TAY:
-               if (E->RI->In.RegA >= 0) {
-                   Arg = MakeHexArg (In->RegA);
-                   X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_TXA:
-               if (E->RI->In.RegX >= 0) {
-                   Arg = MakeHexArg (In->RegX);
-                   X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           case OP65_TYA:
-               if (E->RI->In.RegY >= 0) {
-                   Arg = MakeHexArg (In->RegY);
-                   X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
-               }
-               break;
-
-           default:
-               /* Avoid gcc warnings */
-               break;
-
-       }
-
-       /* Insert the replacement if we have one */
-       if (X) {
-                   CS_InsertEntry (S, X, I+1);
-           CS_DelEntry (S, I);
-           ++Changes;
-       }
-
-       /* Next entry */
-       ++I;
+        const char* Arg;
+
+        /* Get next entry and it's input register values */
+        CodeEntry* E = CS_GetEntry (S, I);
+        const RegContents* In = &E->RI->In;
+
+        /* Assume we have no replacement */
+        CodeEntry* X = 0;
+
+        /* Check the instruction */
+        switch (E->OPC) {
+
+            case OP65_DEA:
+                if (RegValIsKnown (In->RegA)) {
+                    Arg = MakeHexArg ((In->RegA - 1) & 0xFF);
+                    X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_DEX:
+                if (RegValIsKnown (In->RegX)) {
+                    Arg = MakeHexArg ((In->RegX - 1) & 0xFF);
+                    X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_DEY:
+                if (RegValIsKnown (In->RegY)) {
+                    Arg = MakeHexArg ((In->RegY - 1) & 0xFF);
+                    X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_INA:
+                if (RegValIsKnown (In->RegA)) {
+                    Arg = MakeHexArg ((In->RegA + 1) & 0xFF);
+                    X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_INX:
+                if (RegValIsKnown (In->RegX)) {
+                    Arg = MakeHexArg ((In->RegX + 1) & 0xFF);
+                    X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_INY:
+                if (RegValIsKnown (In->RegY)) {
+                    Arg = MakeHexArg ((In->RegY + 1) & 0xFF);
+                    X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_LDA:
+                if (E->AM == AM65_ZP) {
+                    switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Arg = MakeHexArg (In->Tmp1);
+                            X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_PTR1_LO:
+                            Arg = MakeHexArg (In->Ptr1Lo);
+                            X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_PTR1_HI:
+                            Arg = MakeHexArg (In->Ptr1Hi);
+                            X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_SREG_LO:
+                            Arg = MakeHexArg (In->SRegLo);
+                            X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_SREG_HI:
+                            Arg = MakeHexArg (In->SRegHi);
+                            X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                            break;
+                    }
+                }
+                break;
+
+            case OP65_LDX:
+                if (E->AM == AM65_ZP) {
+                    switch (GetKnownReg (E->Use & REG_ZP, In)) {
+                        case REG_TMP1:
+                            Arg = MakeHexArg (In->Tmp1);
+                            X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_PTR1_LO:
+                            Arg = MakeHexArg (In->Ptr1Lo);
+                            X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_PTR1_HI:
+                            Arg = MakeHexArg (In->Ptr1Hi);
+                            X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_SREG_LO:
+                            Arg = MakeHexArg (In->SRegLo);
+                            X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_SREG_HI:
+                            Arg = MakeHexArg (In->SRegHi);
+                            X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                            break;
+                    }
+                }
+                break;
+
+            case OP65_LDY:
+                if (E->AM == AM65_ZP) {
+                    switch (GetKnownReg (E->Use, In)) {
+                        case REG_TMP1:
+                            Arg = MakeHexArg (In->Tmp1);
+                            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_PTR1_LO:
+                            Arg = MakeHexArg (In->Ptr1Lo);
+                            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_PTR1_HI:
+                            Arg = MakeHexArg (In->Ptr1Hi);
+                            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_SREG_LO:
+                            Arg = MakeHexArg (In->SRegLo);
+                            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                            break;
+
+                        case REG_SREG_HI:
+                            Arg = MakeHexArg (In->SRegHi);
+                            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                            break;
+                    }
+                }
+                break;
+
+            case OP65_TAX:
+                if (E->RI->In.RegA >= 0) {
+                    Arg = MakeHexArg (In->RegA);
+                    X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_TAY:
+                if (E->RI->In.RegA >= 0) {
+                    Arg = MakeHexArg (In->RegA);
+                    X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_TXA:
+                if (E->RI->In.RegX >= 0) {
+                    Arg = MakeHexArg (In->RegX);
+                    X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            case OP65_TYA:
+                if (E->RI->In.RegY >= 0) {
+                    Arg = MakeHexArg (In->RegY);
+                    X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, E->LI);
+                }
+                break;
+
+            default:
+                /* Avoid gcc warnings */
+                break;
+
+        }
+
+        /* Insert the replacement if we have one */
+        if (X) {
+            CS_InsertEntry (S, X, I+1);
+            CS_DelEntry (S, I);
+            ++Changes;
+        }
+
+        /* Next entry */
+        ++I;
 
     }
 
@@ -599,12 +599,12 @@ static unsigned OptStackPtrOps (CodeSeg* S)
             CS_GenRegInfo (S);
 
             /* Remember we had changes */
-           ++Changes;
+            ++Changes;
 
-       } else {
+        } else {
 
             /* Next entry */
-           ++I;
+            ++I;
         }
 
     }
@@ -616,7 +616,7 @@ static unsigned OptStackPtrOps (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                             struct OptFunc                               */
+/*                              struct OptFunc                               */
 /*****************************************************************************/
 
 
@@ -626,7 +626,7 @@ struct OptFunc {
     unsigned       (*Func) (CodeSeg*);  /* Optimizer function */
     const char*    Name;                /* Name of the function/group */
     unsigned       CodeSizeFactor;      /* Code size factor for this opt func */
-    unsigned long  TotalRuns;          /* Total number of runs */
+    unsigned long  TotalRuns;           /* Total number of runs */
     unsigned long  LastRuns;            /* Last number of runs */
     unsigned long  TotalChanges;        /* Total number of changes */
     unsigned long  LastChanges;         /* Last number of changes */
@@ -636,21 +636,21 @@ struct OptFunc {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 /* A list of all the function descriptions */
 static OptFunc DOpt65C02BitOps  = { Opt65C02BitOps,  "Opt65C02BitOps",   66, 0, 0, 0, 0, 0 };
-static OptFunc DOpt65C02Ind            = { Opt65C02Ind,     "Opt65C02Ind",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOpt65C02Ind     = { Opt65C02Ind,     "Opt65C02Ind",     100, 0, 0, 0, 0, 0 };
 static OptFunc DOpt65C02Stores  = { Opt65C02Stores,  "Opt65C02Stores",  100, 0, 0, 0, 0, 0 };
-static OptFunc DOptAdd1                = { OptAdd1,         "OptAdd1",         125, 0, 0, 0, 0, 0 };
-static OptFunc DOptAdd2                = { OptAdd2,         "OptAdd2",         200, 0, 0, 0, 0, 0 };
-static OptFunc DOptAdd3                = { OptAdd3,         "OptAdd3",          65, 0, 0, 0, 0, 0 };
-static OptFunc DOptAdd4                = { OptAdd4,         "OptAdd4",          90, 0, 0, 0, 0, 0 };
-static OptFunc DOptAdd5                = { OptAdd5,         "OptAdd5",         100, 0, 0, 0, 0, 0 };
-static OptFunc DOptAdd6                = { OptAdd6,         "OptAdd6",          40, 0, 0, 0, 0, 0 };
+static OptFunc DOptAdd1         = { OptAdd1,         "OptAdd1",         125, 0, 0, 0, 0, 0 };
+static OptFunc DOptAdd2         = { OptAdd2,         "OptAdd2",         200, 0, 0, 0, 0, 0 };
+static OptFunc DOptAdd3         = { OptAdd3,         "OptAdd3",          65, 0, 0, 0, 0, 0 };
+static OptFunc DOptAdd4         = { OptAdd4,         "OptAdd4",          90, 0, 0, 0, 0, 0 };
+static OptFunc DOptAdd5         = { OptAdd5,         "OptAdd5",         100, 0, 0, 0, 0, 0 };
+static OptFunc DOptAdd6         = { OptAdd6,         "OptAdd6",          40, 0, 0, 0, 0, 0 };
 static OptFunc DOptBNegA1       = { OptBNegA1,       "OptBNegA1",       100, 0, 0, 0, 0, 0 };
 static OptFunc DOptBNegA2       = { OptBNegA2,       "OptBNegA2",       100, 0, 0, 0, 0, 0 };
 static OptFunc DOptBNegAX1      = { OptBNegAX1,      "OptBNegAX1",      100, 0, 0, 0, 0, 0 };
@@ -658,26 +658,26 @@ static OptFunc DOptBNegAX2      = { OptBNegAX2,      "OptBNegAX2",      100, 0,
 static OptFunc DOptBNegAX3      = { OptBNegAX3,      "OptBNegAX3",      100, 0, 0, 0, 0, 0 };
 static OptFunc DOptBNegAX4      = { OptBNegAX4,      "OptBNegAX4",      100, 0, 0, 0, 0, 0 };
 static OptFunc DOptBoolTrans    = { OptBoolTrans,    "OptBoolTrans",    100, 0, 0, 0, 0, 0 };
-static OptFunc DOptBranchDist          = { OptBranchDist,   "OptBranchDist",     0, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp1                = { OptCmp1,         "OptCmp1",          42, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp2                = { OptCmp2,         "OptCmp2",          85, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp3                = { OptCmp3,         "OptCmp3",          75, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp4                = { OptCmp4,         "OptCmp4",          75, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp5                = { OptCmp5,         "OptCmp5",         100, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp6                = { OptCmp6,         "OptCmp6",         100, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp7                = { OptCmp7,         "OptCmp7",          85, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp8                = { OptCmp8,         "OptCmp8",          50, 0, 0, 0, 0, 0 };
-static OptFunc DOptCmp9                = { OptCmp9,         "OptCmp9",          85, 0, 0, 0, 0, 0 };
+static OptFunc DOptBranchDist   = { OptBranchDist,   "OptBranchDist",     0, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp1         = { OptCmp1,         "OptCmp1",          42, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp2         = { OptCmp2,         "OptCmp2",          85, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp3         = { OptCmp3,         "OptCmp3",          75, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp4         = { OptCmp4,         "OptCmp4",          75, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp5         = { OptCmp5,         "OptCmp5",         100, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp6         = { OptCmp6,         "OptCmp6",         100, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp7         = { OptCmp7,         "OptCmp7",          85, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp8         = { OptCmp8,         "OptCmp8",          50, 0, 0, 0, 0, 0 };
+static OptFunc DOptCmp9         = { OptCmp9,         "OptCmp9",          85, 0, 0, 0, 0, 0 };
 static OptFunc DOptComplAX1     = { OptComplAX1,     "OptComplAX1",      65, 0, 0, 0, 0, 0 };
 static OptFunc DOptCondBranches1= { OptCondBranches1,"OptCondBranches1", 80, 0, 0, 0, 0, 0 };
 static OptFunc DOptCondBranches2= { OptCondBranches2,"OptCondBranches2",  0, 0, 0, 0, 0, 0 };
-static OptFunc DOptDeadCode            = { OptDeadCode,     "OptDeadCode",     100, 0, 0, 0, 0, 0 };
-static OptFunc DOptDeadJumps           = { OptDeadJumps,    "OptDeadJumps",    100, 0, 0, 0, 0, 0 };
+static OptFunc DOptDeadCode     = { OptDeadCode,     "OptDeadCode",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOptDeadJumps    = { OptDeadJumps,    "OptDeadJumps",    100, 0, 0, 0, 0, 0 };
 static OptFunc DOptDecouple     = { OptDecouple,     "OptDecouple",     100, 0, 0, 0, 0, 0 };
 static OptFunc DOptDupLoads     = { OptDupLoads,     "OptDupLoads",       0, 0, 0, 0, 0, 0 };
 static OptFunc DOptIndLoads1    = { OptIndLoads1,    "OptIndLoads1",      0, 0, 0, 0, 0, 0 };
 static OptFunc DOptIndLoads2    = { OptIndLoads2,    "OptIndLoads2",      0, 0, 0, 0, 0, 0 };
-static OptFunc DOptJumpCascades        = { OptJumpCascades, "OptJumpCascades", 100, 0, 0, 0, 0, 0 };
+static OptFunc DOptJumpCascades = { OptJumpCascades, "OptJumpCascades", 100, 0, 0, 0, 0, 0 };
 static OptFunc DOptJumpTarget1  = { OptJumpTarget1,  "OptJumpTarget1",  100, 0, 0, 0, 0, 0 };
 static OptFunc DOptJumpTarget2  = { OptJumpTarget2,  "OptJumpTarget2",  100, 0, 0, 0, 0, 0 };
 static OptFunc DOptJumpTarget3  = { OptJumpTarget3,  "OptJumpTarget3",  100, 0, 0, 0, 0, 0 };
@@ -686,57 +686,57 @@ static OptFunc DOptLoad2        = { OptLoad2,        "OptLoad2",        200, 0,
 static OptFunc DOptLoad3        = { OptLoad3,        "OptLoad3",          0, 0, 0, 0, 0, 0 };
 static OptFunc DOptNegAX1       = { OptNegAX1,       "OptNegAX1",       165, 0, 0, 0, 0, 0 };
 static OptFunc DOptNegAX2       = { OptNegAX2,       "OptNegAX2",       200, 0, 0, 0, 0, 0 };
-static OptFunc DOptRTS                 = { OptRTS,          "OptRTS",          100, 0, 0, 0, 0, 0 };
-static OptFunc DOptRTSJumps1    = { OptRTSJumps1,    "OptRTSJumps1",           100, 0, 0, 0, 0, 0 };
-static OptFunc DOptRTSJumps2    = { OptRTSJumps2,    "OptRTSJumps2",           100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPrecalc      = { OptPrecalc,      "OptPrecalc",             100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad1            = { OptPtrLoad1,     "OptPtrLoad1",     100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad2            = { OptPtrLoad2,     "OptPtrLoad2",     100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad3            = { OptPtrLoad3,     "OptPtrLoad3",     100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad4            = { OptPtrLoad4,     "OptPtrLoad4",     100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad5            = { OptPtrLoad5,     "OptPtrLoad5",      50, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad6            = { OptPtrLoad6,     "OptPtrLoad6",      60, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad7            = { OptPtrLoad7,     "OptPtrLoad7",     140, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad11           = { OptPtrLoad11,    "OptPtrLoad11",     92, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad12           = { OptPtrLoad12,    "OptPtrLoad12",     50, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad13           = { OptPtrLoad13,    "OptPtrLoad13",     65, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad14           = { OptPtrLoad14,    "OptPtrLoad14",    108, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad15           = { OptPtrLoad15,    "OptPtrLoad15",     86, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad16           = { OptPtrLoad16,    "OptPtrLoad16",    100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrLoad17           = { OptPtrLoad17,    "OptPtrLoad17",    190, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrStore1           = { OptPtrStore1,    "OptPtrStore1",     65, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrStore2           = { OptPtrStore2,    "OptPtrStore2",     65, 0, 0, 0, 0, 0 };
-static OptFunc DOptPtrStore3           = { OptPtrStore3,    "OptPtrStore3",    100, 0, 0, 0, 0, 0 };
-static OptFunc DOptPush1               = { OptPush1,        "OptPush1",         65, 0, 0, 0, 0, 0 };
-static OptFunc DOptPush2               = { OptPush2,        "OptPush2",         50, 0, 0, 0, 0, 0 };
+static OptFunc DOptRTS          = { OptRTS,          "OptRTS",          100, 0, 0, 0, 0, 0 };
+static OptFunc DOptRTSJumps1    = { OptRTSJumps1,    "OptRTSJumps1",    100, 0, 0, 0, 0, 0 };
+static OptFunc DOptRTSJumps2    = { OptRTSJumps2,    "OptRTSJumps2",    100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPrecalc      = { OptPrecalc,      "OptPrecalc",      100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad1     = { OptPtrLoad1,     "OptPtrLoad1",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad2     = { OptPtrLoad2,     "OptPtrLoad2",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad3     = { OptPtrLoad3,     "OptPtrLoad3",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad4     = { OptPtrLoad4,     "OptPtrLoad4",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad5     = { OptPtrLoad5,     "OptPtrLoad5",      50, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad6     = { OptPtrLoad6,     "OptPtrLoad6",      60, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad7     = { OptPtrLoad7,     "OptPtrLoad7",     140, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad11    = { OptPtrLoad11,    "OptPtrLoad11",     92, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad12    = { OptPtrLoad12,    "OptPtrLoad12",     50, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad13    = { OptPtrLoad13,    "OptPtrLoad13",     65, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad14    = { OptPtrLoad14,    "OptPtrLoad14",    108, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad15    = { OptPtrLoad15,    "OptPtrLoad15",     86, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad16    = { OptPtrLoad16,    "OptPtrLoad16",    100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrLoad17    = { OptPtrLoad17,    "OptPtrLoad17",    190, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrStore1    = { OptPtrStore1,    "OptPtrStore1",     65, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrStore2    = { OptPtrStore2,    "OptPtrStore2",     65, 0, 0, 0, 0, 0 };
+static OptFunc DOptPtrStore3    = { OptPtrStore3,    "OptPtrStore3",    100, 0, 0, 0, 0, 0 };
+static OptFunc DOptPush1        = { OptPush1,        "OptPush1",         65, 0, 0, 0, 0, 0 };
+static OptFunc DOptPush2        = { OptPush2,        "OptPush2",         50, 0, 0, 0, 0, 0 };
 static OptFunc DOptPushPop      = { OptPushPop,      "OptPushPop",        0, 0, 0, 0, 0, 0 };
-static OptFunc DOptShift1              = { OptShift1,       "OptShift1",       100, 0, 0, 0, 0, 0 };
-static OptFunc DOptShift2              = { OptShift2,       "OptShift2",       100, 0, 0, 0, 0, 0 };
-static OptFunc DOptShift3              = { OptShift3,       "OptShift3",        17, 0, 0, 0, 0, 0 };
-static OptFunc DOptShift4              = { OptShift4,       "OptShift4",       100, 0, 0, 0, 0, 0 };
-static OptFunc DOptShift5              = { OptShift5,       "OptShift5",       110, 0, 0, 0, 0, 0 };
-static OptFunc DOptShift6              = { OptShift6,       "OptShift6",       200, 0, 0, 0, 0, 0 };
+static OptFunc DOptShift1       = { OptShift1,       "OptShift1",       100, 0, 0, 0, 0, 0 };
+static OptFunc DOptShift2       = { OptShift2,       "OptShift2",       100, 0, 0, 0, 0, 0 };
+static OptFunc DOptShift3       = { OptShift3,       "OptShift3",        17, 0, 0, 0, 0, 0 };
+static OptFunc DOptShift4       = { OptShift4,       "OptShift4",       100, 0, 0, 0, 0, 0 };
+static OptFunc DOptShift5       = { OptShift5,       "OptShift5",       110, 0, 0, 0, 0, 0 };
+static OptFunc DOptShift6       = { OptShift6,       "OptShift6",       200, 0, 0, 0, 0, 0 };
 static OptFunc DOptSize1        = { OptSize1,        "OptSize1",        100, 0, 0, 0, 0, 0 };
 static OptFunc DOptSize2        = { OptSize2,        "OptSize2",        100, 0, 0, 0, 0, 0 };
-static OptFunc DOptStackOps            = { OptStackOps,     "OptStackOps",     100, 0, 0, 0, 0, 0 };
+static OptFunc DOptStackOps     = { OptStackOps,     "OptStackOps",     100, 0, 0, 0, 0, 0 };
 static OptFunc DOptStackPtrOps  = { OptStackPtrOps,  "OptStackPtrOps",   50, 0, 0, 0, 0, 0 };
 static OptFunc DOptStore1       = { OptStore1,       "OptStore1",        70, 0, 0, 0, 0, 0 };
 static OptFunc DOptStore2       = { OptStore2,       "OptStore2",       115, 0, 0, 0, 0, 0 };
 static OptFunc DOptStore3       = { OptStore3,       "OptStore3",       120, 0, 0, 0, 0, 0 };
 static OptFunc DOptStore4       = { OptStore4,       "OptStore4",        50, 0, 0, 0, 0, 0 };
 static OptFunc DOptStore5       = { OptStore5,       "OptStore5",       100, 0, 0, 0, 0, 0 };
-static OptFunc DOptStoreLoad           = { OptStoreLoad,    "OptStoreLoad",      0, 0, 0, 0, 0, 0 };
-static OptFunc DOptSub1                = { OptSub1,         "OptSub1",         100, 0, 0, 0, 0, 0 };
-static OptFunc DOptSub2                = { OptSub2,         "OptSub2",         100, 0, 0, 0, 0, 0 };
-static OptFunc DOptSub3                = { OptSub3,         "OptSub3",         100, 0, 0, 0, 0, 0 };
-static OptFunc DOptTest1               = { OptTest1,        "OptTest1",         65, 0, 0, 0, 0, 0 };
-static OptFunc DOptTest2               = { OptTest2,        "OptTest2",         50, 0, 0, 0, 0, 0 };
-static OptFunc DOptTransfers1          = { OptTransfers1,   "OptTransfers1",     0, 0, 0, 0, 0, 0 };
-static OptFunc DOptTransfers2          = { OptTransfers2,   "OptTransfers2",    60, 0, 0, 0, 0, 0 };
-static OptFunc DOptTransfers3          = { OptTransfers3,   "OptTransfers3",    65, 0, 0, 0, 0, 0 };
-static OptFunc DOptTransfers4          = { OptTransfers4,   "OptTransfers4",    65, 0, 0, 0, 0, 0 };
-static OptFunc DOptUnusedLoads         = { OptUnusedLoads,  "OptUnusedLoads",    0, 0, 0, 0, 0, 0 };
-static OptFunc DOptUnusedStores        = { OptUnusedStores, "OptUnusedStores",   0, 0, 0, 0, 0, 0 };
+static OptFunc DOptStoreLoad    = { OptStoreLoad,    "OptStoreLoad",      0, 0, 0, 0, 0, 0 };
+static OptFunc DOptSub1         = { OptSub1,         "OptSub1",         100, 0, 0, 0, 0, 0 };
+static OptFunc DOptSub2         = { OptSub2,         "OptSub2",         100, 0, 0, 0, 0, 0 };
+static OptFunc DOptSub3         = { OptSub3,         "OptSub3",         100, 0, 0, 0, 0, 0 };
+static OptFunc DOptTest1        = { OptTest1,        "OptTest1",         65, 0, 0, 0, 0, 0 };
+static OptFunc DOptTest2        = { OptTest2,        "OptTest2",         50, 0, 0, 0, 0, 0 };
+static OptFunc DOptTransfers1   = { OptTransfers1,   "OptTransfers1",     0, 0, 0, 0, 0, 0 };
+static OptFunc DOptTransfers2   = { OptTransfers2,   "OptTransfers2",    60, 0, 0, 0, 0, 0 };
+static OptFunc DOptTransfers3   = { OptTransfers3,   "OptTransfers3",    65, 0, 0, 0, 0, 0 };
+static OptFunc DOptTransfers4   = { OptTransfers4,   "OptTransfers4",    65, 0, 0, 0, 0, 0 };
+static OptFunc DOptUnusedLoads  = { OptUnusedLoads,  "OptUnusedLoads",    0, 0, 0, 0, 0, 0 };
+static OptFunc DOptUnusedStores = { OptUnusedStores, "OptUnusedStores",   0, 0, 0, 0, 0, 0 };
 
 
 /* Table containing all the steps in alphabetical order */
@@ -869,8 +869,8 @@ static OptFunc* GetOptFunc (const char* Name)
     /* Search for the function in the list */
     OptFunc* F = FindOptFunc (Name);
     if (F == 0) {
-       /* Not found */
-       AbEnd ("Optimization step `%s' not found", Name);
+        /* Not found */
+        AbEnd ("Optimization step `%s' not found", Name);
     }
     return F;
 }
@@ -881,12 +881,12 @@ void DisableOpt (const char* Name)
 /* Disable the optimization with the given name */
 {
     if (strcmp (Name, "any") == 0) {
-       unsigned I;
-               for (I = 0; I < OPTFUNC_COUNT; ++I) {
-                   OptFuncs[I]->Disabled = 1;
-       }
+        unsigned I;
+        for (I = 0; I < OPTFUNC_COUNT; ++I) {
+            OptFuncs[I]->Disabled = 1;
+        }
     } else {
-       GetOptFunc(Name)->Disabled = 1;
+        GetOptFunc(Name)->Disabled = 1;
     }
 }
 
@@ -896,12 +896,12 @@ void EnableOpt (const char* Name)
 /* Enable the optimization with the given name */
 {
     if (strcmp (Name, "any") == 0) {
-       unsigned I;
-               for (I = 0; I < OPTFUNC_COUNT; ++I) {
-                   OptFuncs[I]->Disabled = 0;
-       }
+        unsigned I;
+        for (I = 0; I < OPTFUNC_COUNT; ++I) {
+            OptFuncs[I]->Disabled = 0;
+        }
     } else {
-       GetOptFunc(Name)->Disabled = 0;
+        GetOptFunc(Name)->Disabled = 0;
     }
 }
 
@@ -912,7 +912,7 @@ void ListOptSteps (FILE* F)
 {
     unsigned I;
     for (I = 0; I < OPTFUNC_COUNT; ++I) {
-       fprintf (F, "%s\n", OptFuncs[I]->Name);
+        fprintf (F, "%s\n", OptFuncs[I]->Name);
     }
 }
 
@@ -927,60 +927,60 @@ static void ReadOptStats (const char* Name)
     /* Try to open the file */
     FILE* F = fopen (Name, "r");
     if (F == 0) {
-       /* Ignore the error */
-       return;
+        /* Ignore the error */
+        return;
     }
 
     /* Read and parse the lines */
     Lines = 0;
     while (fgets (Buf, sizeof (Buf), F) != 0) {
 
-       char* B;
-       unsigned Len;
-       OptFunc* Func;
-
-       /* Fields */
-       char Name[32];
-               unsigned long  TotalRuns;
-       unsigned long  TotalChanges;
-
-       /* Count lines */
-       ++Lines;
-
-       /* Remove trailing white space including the line terminator */
-       B = Buf;
-       Len = strlen (B);
-       while (Len > 0 && IsSpace (B[Len-1])) {
-           --Len;
-       }
-       B[Len] = '\0';
-
-       /* Remove leading whitespace */
-       while (IsSpace (*B)) {
-           ++B;
-       }
-
-       /* Check for empty and comment lines */
-       if (*B == '\0' || *B == ';' || *B == '#') {
-           continue;
-       }
-
-       /* Parse the line */
-               if (sscanf (B, "%31s %lu %*u %lu %*u", Name, &TotalRuns, &TotalChanges) != 3) {
-           /* Syntax error */
-           continue;
-       }
-
-       /* Search for the optimizer step. */
-       Func = FindOptFunc (Name);
-       if (Func == 0) {
-           /* Not found */
-           continue;
-       }
-
-       /* Found the step, set the fields */
-       Func->TotalRuns    = TotalRuns;
-       Func->TotalChanges = TotalChanges;
+        char* B;
+        unsigned Len;
+        OptFunc* Func;
+
+        /* Fields */
+        char Name[32];
+        unsigned long  TotalRuns;
+        unsigned long  TotalChanges;
+
+        /* Count lines */
+        ++Lines;
+
+        /* Remove trailing white space including the line terminator */
+        B = Buf;
+        Len = strlen (B);
+        while (Len > 0 && IsSpace (B[Len-1])) {
+            --Len;
+        }
+        B[Len] = '\0';
+
+        /* Remove leading whitespace */
+        while (IsSpace (*B)) {
+            ++B;
+        }
+
+        /* Check for empty and comment lines */
+        if (*B == '\0' || *B == ';' || *B == '#') {
+            continue;
+        }
+
+        /* Parse the line */
+        if (sscanf (B, "%31s %lu %*u %lu %*u", Name, &TotalRuns, &TotalChanges) != 3) {
+            /* Syntax error */
+            continue;
+        }
+
+        /* Search for the optimizer step. */
+        Func = FindOptFunc (Name);
+        if (Func == 0) {
+            /* Not found */
+            continue;
+        }
+
+        /* Found the step, set the fields */
+        Func->TotalRuns    = TotalRuns;
+        Func->TotalChanges = TotalChanges;
 
     }
 
@@ -998,26 +998,26 @@ static void WriteOptStats (const char* Name)
     /* Try to open the file */
     FILE* F = fopen (Name, "w");
     if (F == 0) {
-       /* Ignore the error */
-       return;
+        /* Ignore the error */
+        return;
     }
 
     /* Write a header */
     fprintf (F,
-            "; Optimizer               Total      Last       Total      Last\n"
-                    ";   Step                  Runs       Runs        Chg       Chg\n");
+             "; Optimizer               Total      Last       Total      Last\n"
+             ";   Step                  Runs       Runs        Chg       Chg\n");
 
 
     /* Write the data */
     for (I = 0; I < OPTFUNC_COUNT; ++I) {
-       const OptFunc* O = OptFuncs[I];
-       fprintf (F,
-                        "%-20s %10lu %10lu %10lu %10lu\n",
-                O->Name,
-                O->TotalRuns,
-                O->LastRuns,
-                O->TotalChanges,
-                O->LastChanges);
+        const OptFunc* O = OptFuncs[I];
+        fprintf (F,
+                 "%-20s %10lu %10lu %10lu %10lu\n",
+                 O->Name,
+                 O->TotalRuns,
+                 O->LastRuns,
+                 O->TotalChanges,
+                 O->LastChanges);
     }
 
     /* Close the file, ignore errors here. */
@@ -1077,22 +1077,22 @@ static unsigned RunOptFunc (CodeSeg* S, OptFunc* F, unsigned Max)
      * code size factor
      */
     if (F->Disabled || F->CodeSizeFactor > S->CodeSizeFactor) {
-       return 0;
+        return 0;
     }
 
     /* Run this until there are no more changes */
     Changes = 0;
     do {
 
-       /* Run the function */
-       C = F->Func (S);
-       Changes += C;
+        /* Run the function */
+        C = F->Func (S);
+        Changes += C;
 
-       /* Do statistics */
-       ++F->TotalRuns;
-       ++F->LastRuns;
-       F->TotalChanges += C;
-       F->LastChanges  += C;
+        /* Do statistics */
+        ++F->TotalRuns;
+        ++F->LastRuns;
+        F->TotalChanges += C;
+        F->LastChanges  += C;
 
         /* If we had changes, output stuff and regenerate register info */
         if (C) {
@@ -1193,56 +1193,56 @@ static unsigned RunOptGroup3 (CodeSeg* S)
 
     Changes = 0;
     do {
-               C = 0;
+        C = 0;
 
-               C += RunOptFunc (S, &DOptBNegA1, 1);
-               C += RunOptFunc (S, &DOptBNegA2, 1);
+        C += RunOptFunc (S, &DOptBNegA1, 1);
+        C += RunOptFunc (S, &DOptBNegA2, 1);
         C += RunOptFunc (S, &DOptNegAX1, 1);
         C += RunOptFunc (S, &DOptNegAX2, 1);
-               C += RunOptFunc (S, &DOptStackOps, 3);
+        C += RunOptFunc (S, &DOptStackOps, 3);
         C += RunOptFunc (S, &DOptShift1, 1);
         C += RunOptFunc (S, &DOptShift4, 1);
         C += RunOptFunc (S, &DOptComplAX1, 1);
-               C += RunOptFunc (S, &DOptSub1, 1);
-               C += RunOptFunc (S, &DOptSub2, 1);
-               C += RunOptFunc (S, &DOptSub3, 1);
-               C += RunOptFunc (S, &DOptAdd5, 1);
-               C += RunOptFunc (S, &DOptAdd6, 1);
-               C += RunOptFunc (S, &DOptJumpCascades, 1);
-               C += RunOptFunc (S, &DOptDeadJumps, 1);
-               C += RunOptFunc (S, &DOptRTS, 1);
-               C += RunOptFunc (S, &DOptDeadCode, 1);
-               C += RunOptFunc (S, &DOptBoolTrans, 1);
-               C += RunOptFunc (S, &DOptJumpTarget1, 1);
-               C += RunOptFunc (S, &DOptJumpTarget2, 1);
-               C += RunOptFunc (S, &DOptCondBranches1, 1);
-               C += RunOptFunc (S, &DOptCondBranches2, 1);
-               C += RunOptFunc (S, &DOptRTSJumps1, 1);
-               C += RunOptFunc (S, &DOptCmp1, 1);
-               C += RunOptFunc (S, &DOptCmp2, 1);
-               C += RunOptFunc (S, &DOptCmp8, 1);      /* Must run before OptCmp3 */
-               C += RunOptFunc (S, &DOptCmp3, 1);
-               C += RunOptFunc (S, &DOptCmp4, 1);
-               C += RunOptFunc (S, &DOptCmp5, 1);
-               C += RunOptFunc (S, &DOptCmp6, 1);
-               C += RunOptFunc (S, &DOptCmp7, 1);
-               C += RunOptFunc (S, &DOptCmp9, 1);
-               C += RunOptFunc (S, &DOptTest1, 1);
+        C += RunOptFunc (S, &DOptSub1, 1);
+        C += RunOptFunc (S, &DOptSub2, 1);
+        C += RunOptFunc (S, &DOptSub3, 1);
+        C += RunOptFunc (S, &DOptAdd5, 1);
+        C += RunOptFunc (S, &DOptAdd6, 1);
+        C += RunOptFunc (S, &DOptJumpCascades, 1);
+        C += RunOptFunc (S, &DOptDeadJumps, 1);
+        C += RunOptFunc (S, &DOptRTS, 1);
+        C += RunOptFunc (S, &DOptDeadCode, 1);
+        C += RunOptFunc (S, &DOptBoolTrans, 1);
+        C += RunOptFunc (S, &DOptJumpTarget1, 1);
+        C += RunOptFunc (S, &DOptJumpTarget2, 1);
+        C += RunOptFunc (S, &DOptCondBranches1, 1);
+        C += RunOptFunc (S, &DOptCondBranches2, 1);
+        C += RunOptFunc (S, &DOptRTSJumps1, 1);
+        C += RunOptFunc (S, &DOptCmp1, 1);
+        C += RunOptFunc (S, &DOptCmp2, 1);
+        C += RunOptFunc (S, &DOptCmp8, 1);      /* Must run before OptCmp3 */
+        C += RunOptFunc (S, &DOptCmp3, 1);
+        C += RunOptFunc (S, &DOptCmp4, 1);
+        C += RunOptFunc (S, &DOptCmp5, 1);
+        C += RunOptFunc (S, &DOptCmp6, 1);
+        C += RunOptFunc (S, &DOptCmp7, 1);
+        C += RunOptFunc (S, &DOptCmp9, 1);
+        C += RunOptFunc (S, &DOptTest1, 1);
         C += RunOptFunc (S, &DOptLoad1, 1);
-               C += RunOptFunc (S, &DOptJumpTarget3, 1);       /* After OptCondBranches2 */
-               C += RunOptFunc (S, &DOptUnusedLoads, 1);
-               C += RunOptFunc (S, &DOptUnusedStores, 1);
-               C += RunOptFunc (S, &DOptDupLoads, 1);
-               C += RunOptFunc (S, &DOptStoreLoad, 1);
-               C += RunOptFunc (S, &DOptTransfers1, 1);
-               C += RunOptFunc (S, &DOptTransfers3, 1);
-               C += RunOptFunc (S, &DOptTransfers4, 1);
-               C += RunOptFunc (S, &DOptStore1, 1);
-               C += RunOptFunc (S, &DOptStore5, 1);
+        C += RunOptFunc (S, &DOptJumpTarget3, 1);       /* After OptCondBranches2 */
+        C += RunOptFunc (S, &DOptUnusedLoads, 1);
+        C += RunOptFunc (S, &DOptUnusedStores, 1);
+        C += RunOptFunc (S, &DOptDupLoads, 1);
+        C += RunOptFunc (S, &DOptStoreLoad, 1);
+        C += RunOptFunc (S, &DOptTransfers1, 1);
+        C += RunOptFunc (S, &DOptTransfers3, 1);
+        C += RunOptFunc (S, &DOptTransfers4, 1);
+        C += RunOptFunc (S, &DOptStore1, 1);
+        C += RunOptFunc (S, &DOptStore5, 1);
         C += RunOptFunc (S, &DOptPushPop, 1);
         C += RunOptFunc (S, &DOptPrecalc, 1);
 
-       Changes += C;
+        Changes += C;
 
     } while (C);
 
@@ -1283,15 +1283,15 @@ static unsigned RunOptGroup5 (CodeSeg* S)
 
     if (CPUIsets[CPU] & CPU_ISET_65SC02) {
         Changes += RunOptFunc (S, &DOpt65C02BitOps, 1);
-       Changes += RunOptFunc (S, &DOpt65C02Ind, 1);
+        Changes += RunOptFunc (S, &DOpt65C02Ind, 1);
         Changes += RunOptFunc (S, &DOpt65C02Stores, 1);
-               if (Changes) {
+        if (Changes) {
             /* The 65C02 replacement codes do often make the use of a register
              * value unnecessary, so if we have changes, run another load
              * removal pass.
              */
-           Changes += RunOptFunc (S, &DOptUnusedLoads, 1);
-       }
+            Changes += RunOptFunc (S, &DOptUnusedLoads, 1);
+        }
     }
 
     /* Return the number of changes */
@@ -1371,7 +1371,7 @@ static unsigned RunOptGroup7 (CodeSeg* S)
     C = RunOptFunc (S, &DOptRTSJumps2, 1);
     Changes += C;
     if (C) {
-       Changes += RunOptFunc (S, &DOptDeadCode, 1);
+        Changes += RunOptFunc (S, &DOptDeadCode, 1);
     }
 
     /* Return the number of changes */
@@ -1387,20 +1387,20 @@ void RunOpt (CodeSeg* S)
 
     /* If we shouldn't run the optimizer, bail out */
     if (!S->Optimize) {
-       return;
+        return;
     }
 
     /* Check if we are requested to write optimizer statistics */
     StatFileName = getenv ("CC65_OPTSTATS");
     if (StatFileName) {
-       ReadOptStats (StatFileName);
+        ReadOptStats (StatFileName);
     }
 
     /* Print the name of the function we are working on */
     if (S->Func) {
-       Print (stdout, 1, "Running optimizer for function `%s'\n", S->Func->Name);
+        Print (stdout, 1, "Running optimizer for function `%s'\n", S->Func->Name);
     } else {
-       Print (stdout, 1, "Running optimizer for global code segment\n");
+        Print (stdout, 1, "Running optimizer for global code segment\n");
     }
 
     /* If requested, open an output file */
@@ -1429,7 +1429,7 @@ void RunOpt (CodeSeg* S)
 
     /* Write statistics */
     if (StatFileName) {
-       WriteOptStats (StatFileName);
+        WriteOptStats (StatFileName);
     }
 }
 
index 4ee2626aae0b752941de5b432d70962015bd671e..7ce2fa8443c40b971153f5ec9c6a65a012a81380 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codeopt.h                                 */
+/*                                 codeopt.h                                 */
 /*                                                                           */
-/*                          Optimizer subroutines                           */
+/*                           Optimizer subroutines                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index fff502d3ea6009f44a73b287499511641da8a9a5..c28f32651c9a51aae7cf4f69167a8171920de69b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codeseg.c                                 */
+/*                                 codeseg.c                                 */
 /*                                                                           */
-/*                         Code segment structure                           */
+/*                          Code segment structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -61,7 +61,7 @@
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -95,11 +95,11 @@ static void CS_MoveLabelsToEntry (CodeSeg* S, CodeEntry* E)
     unsigned LabelCount = CollCount (&S->Labels);
     for (I = 0; I < LabelCount; ++I) {
 
-       /* Get the label */
-       CodeLabel* L = CollAt (&S->Labels, I);
+        /* Get the label */
+        CodeLabel* L = CollAt (&S->Labels, I);
 
-       /* Attach it to the entry */
-       CE_AttachLabel (E, L);
+        /* Attach it to the entry */
+        CE_AttachLabel (E, L);
     }
 
     /* Delete the transfered labels */
@@ -113,9 +113,9 @@ static void CS_MoveLabelsToPool (CodeSeg* S, CodeEntry* E)
 {
     unsigned LabelCount = CE_GetLabelCount (E);
     while (LabelCount--) {
-       CodeLabel* L = CE_GetLabel (E, LabelCount);
-       L->Owner = 0;
-       CollAppend (&S->Labels, L);
+        CodeLabel* L = CE_GetLabel (E, LabelCount);
+        L->Owner = 0;
+        CollAppend (&S->Labels, L);
     }
     CollDeleteAll (&E->Labels);
 }
@@ -130,11 +130,11 @@ static CodeLabel* CS_FindLabel (CodeSeg* S, const char* Name, unsigned Hash)
 
     /* Search the list */
     while (L) {
-       if (strcmp (Name, L->Name) == 0) {
-           /* Found */
-           break;
-       }
-       L = L->Next;
+        if (strcmp (Name, L->Name) == 0) {
+            /* Found */
+            break;
+        }
+        L = L->Next;
     }
     return L;
 }
@@ -166,25 +166,25 @@ static void CS_RemoveLabelFromHash (CodeSeg* S, CodeLabel* L)
 
     /* First, remove the label from the hash chain */
     if (List == L) {
-               /* First entry in hash chain */
-               S->LabelHash[L->Hash] = L->Next;
+        /* First entry in hash chain */
+        S->LabelHash[L->Hash] = L->Next;
     } else {
-               /* Must search through the chain */
-               while (List->Next != L) {
-                   /* If we've reached the end of the chain, something is *really* wrong */
-                   CHECK (List->Next != 0);
-                   /* Next entry */
-                   List = List->Next;
-               }
-               /* The next entry is the one, we have been searching for */
-               List->Next = L->Next;
+        /* Must search through the chain */
+        while (List->Next != L) {
+            /* If we've reached the end of the chain, something is *really* wrong */
+            CHECK (List->Next != 0);
+            /* Next entry */
+            List = List->Next;
+        }
+        /* The next entry is the one, we have been searching for */
+        List->Next = L->Next;
     }
 }
 
 
 
 /*****************************************************************************/
-/*                   Functions for parsing instructions                     */
+/*                    Functions for parsing instructions                     */
 /*****************************************************************************/
 
 
@@ -193,7 +193,7 @@ static const char* SkipSpace (const char* S)
 /* Skip white space and return an updated pointer */
 {
     while (IsSpace (*S)) {
-       ++S;
+        ++S;
     }
     return S;
 }
@@ -201,7 +201,7 @@ static const char* SkipSpace (const char* S)
 
 
 static const char* ReadToken (const char* L, const char* Term,
-                             char* Buf, unsigned BufSize)
+                              char* Buf, unsigned BufSize)
 /* Read the next token into Buf, return the updated line pointer. The
  * token is terminated by one of the characters given in term.
  */
@@ -210,21 +210,21 @@ static const char* ReadToken (const char* L, const char* Term,
     unsigned I = 0;
     unsigned ParenCount = 0;
     while (*L && (ParenCount > 0 || strchr (Term, *L) == 0)) {
-       if (I < BufSize-1) {
-           Buf[I] = *L;
-       } else if (I == BufSize-1) {
-           /* Cannot store this character, this is an input error (maybe
-            * identifier too long or similar).
-            */
-           Error ("ASM code error: syntax error");
-       }
-       ++I;
-       if (*L == ')') {
-           --ParenCount;
-       } else if (*L == '(') {
-           ++ParenCount;
-       }
-       ++L;
+        if (I < BufSize-1) {
+            Buf[I] = *L;
+        } else if (I == BufSize-1) {
+            /* Cannot store this character, this is an input error (maybe
+             * identifier too long or similar).
+             */
+            Error ("ASM code error: syntax error");
+        }
+        ++I;
+        if (*L == ')') {
+            --ParenCount;
+        } else if (*L == '(') {
+            ++ParenCount;
+        }
+        ++L;
     }
 
     /* Terminate the buffer contents */
@@ -245,12 +245,12 @@ static CodeEntry* ParseInsn (CodeSeg* S, LineInfo* LI, const char* L)
  */
 {
     char                Mnemo[IDENTSIZE+10];
-    const OPCDesc*     OPC;
-    am_t               AM = 0;         /* Initialize to keep gcc silent */
+    const OPCDesc*      OPC;
+    am_t                AM = 0;         /* Initialize to keep gcc silent */
     char                Arg[IDENTSIZE+10];
-    char               Reg;
-    CodeEntry*         E;
-    CodeLabel*         Label;
+    char                Reg;
+    CodeEntry*          E;
+    CodeLabel*          Label;
 
     /* Read the first token and skip white space after it */
     L = SkipSpace (ReadToken (L, " \t:", Mnemo, sizeof (Mnemo)));
@@ -258,20 +258,20 @@ static CodeEntry* ParseInsn (CodeSeg* S, LineInfo* LI, const char* L)
     /* Check if we have a label */
     if (*L == ':') {
 
-       /* Skip the colon and following white space */
-       L = SkipSpace (L+1);
+        /* Skip the colon and following white space */
+        L = SkipSpace (L+1);
 
-       /* Add the label */
-       CS_AddLabel (S, Mnemo);
+        /* Add the label */
+        CS_AddLabel (S, Mnemo);
 
-       /* If we have reached end of line, bail out, otherwise a mnemonic
-        * may follow.
-        */
-       if (*L == '\0') {
-           return 0;
-       }
+        /* If we have reached end of line, bail out, otherwise a mnemonic
+         * may follow.
+         */
+        if (*L == '\0') {
+            return 0;
+        }
 
-       L = SkipSpace (ReadToken (L, " \t", Mnemo, sizeof (Mnemo)));
+        L = SkipSpace (ReadToken (L, " \t", Mnemo, sizeof (Mnemo)));
     }
 
     /* Try to find the opcode description for the mnemonic */
@@ -279,138 +279,138 @@ static CodeEntry* ParseInsn (CodeSeg* S, LineInfo* LI, const char* L)
 
     /* If we didn't find the opcode, print an error and bail out */
     if (OPC == 0) {
-       Error ("ASM code error: %s is not a valid mnemonic", Mnemo);
-       return 0;
+        Error ("ASM code error: %s is not a valid mnemonic", Mnemo);
+        return 0;
     }
 
     /* Get the addressing mode */
     Arg[0] = '\0';
     switch (*L) {
 
-       case '\0':
-           /* Implicit or accu */
+        case '\0':
+            /* Implicit or accu */
             if (OPC->Info & OF_NOIMP) {
                 AM = AM65_ACC;
             } else {
                 AM = AM65_IMP;
             }
-           break;
-
-       case '#':
-           /* Immidiate */
-           StrCopy (Arg, sizeof (Arg), L+1);
-           AM = AM65_IMM;
-           break;
-
-       case '(':
-           /* Indirect */
-           L = ReadToken (L+1, ",)", Arg, sizeof (Arg));
-
-           /* Check for errors */
-           if (*L == '\0') {
-               Error ("ASM code error: syntax error");
-               return 0;
-           }
-
-           /* Check the different indirect modes */
-                   if (*L == ',') {
-               /* Expect zp x indirect */
-               L = SkipSpace (L+1);
-               if (toupper (*L) != 'X') {
-                   Error ("ASM code error: `X' expected");
-                   return 0;
-               }
-               L = SkipSpace (L+1);
-               if (*L != ')') {
-                   Error ("ASM code error: `)' expected");
-                   return 0;
-               }
-               L = SkipSpace (L+1);
-               if (*L != '\0') {
-                   Error ("ASM code error: syntax error");
-                   return 0;
-               }
-               AM = AM65_ZPX_IND;
-           } else if (*L == ')') {
-               /* zp indirect or zp indirect, y */
-               L = SkipSpace (L+1);
-               if (*L == ',') {
-                   L = SkipSpace (L+1);
-                   if (toupper (*L) != 'Y') {
-                       Error ("ASM code error: `Y' expected");
-                       return 0;
-                   }
-                   L = SkipSpace (L+1);
-                   if (*L != '\0') {
-                       Error ("ASM code error: syntax error");
-                       return 0;
-                   }
-                   AM = AM65_ZP_INDY;
-               } else if (*L == '\0') {
-                   AM = AM65_ZP_IND;
-               } else {
-                   Error ("ASM code error: syntax error");
-                   return 0;
-               }
-           }
-           break;
-
-       case 'a':
-               case 'A':
-           /* Accumulator? */
-           if (L[1] == '\0') {
-               AM = AM65_ACC;
-               break;
-           }
-           /* FALLTHROUGH */
-
-       default:
-           /* Absolute, maybe indexed */
-           L = ReadToken (L, ",", Arg, sizeof (Arg));
-           if (*L == '\0') {
-               /* Absolute, zeropage or branch */
-               if ((OPC->Info & OF_BRA) != 0) {
-                   /* Branch */
-                   AM = AM65_BRA;
-               } else if (GetZPInfo(Arg) != 0) {
-                   AM = AM65_ZP;
-               } else {
+            break;
+
+        case '#':
+            /* Immidiate */
+            StrCopy (Arg, sizeof (Arg), L+1);
+            AM = AM65_IMM;
+            break;
+
+        case '(':
+            /* Indirect */
+            L = ReadToken (L+1, ",)", Arg, sizeof (Arg));
+
+            /* Check for errors */
+            if (*L == '\0') {
+                Error ("ASM code error: syntax error");
+                return 0;
+            }
+
+            /* Check the different indirect modes */
+            if (*L == ',') {
+                /* Expect zp x indirect */
+                L = SkipSpace (L+1);
+                if (toupper (*L) != 'X') {
+                    Error ("ASM code error: `X' expected");
+                    return 0;
+                }
+                L = SkipSpace (L+1);
+                if (*L != ')') {
+                    Error ("ASM code error: `)' expected");
+                    return 0;
+                }
+                L = SkipSpace (L+1);
+                if (*L != '\0') {
+                    Error ("ASM code error: syntax error");
+                    return 0;
+                }
+                AM = AM65_ZPX_IND;
+            } else if (*L == ')') {
+                /* zp indirect or zp indirect, y */
+                L = SkipSpace (L+1);
+                if (*L == ',') {
+                    L = SkipSpace (L+1);
+                    if (toupper (*L) != 'Y') {
+                        Error ("ASM code error: `Y' expected");
+                        return 0;
+                    }
+                    L = SkipSpace (L+1);
+                    if (*L != '\0') {
+                        Error ("ASM code error: syntax error");
+                        return 0;
+                    }
+                    AM = AM65_ZP_INDY;
+                } else if (*L == '\0') {
+                    AM = AM65_ZP_IND;
+                } else {
+                    Error ("ASM code error: syntax error");
+                    return 0;
+                }
+            }
+            break;
+
+        case 'a':
+        case 'A':
+            /* Accumulator? */
+            if (L[1] == '\0') {
+                AM = AM65_ACC;
+                break;
+            }
+            /* FALLTHROUGH */
+
+        default:
+            /* Absolute, maybe indexed */
+            L = ReadToken (L, ",", Arg, sizeof (Arg));
+            if (*L == '\0') {
+                /* Absolute, zeropage or branch */
+                if ((OPC->Info & OF_BRA) != 0) {
+                    /* Branch */
+                    AM = AM65_BRA;
+                } else if (GetZPInfo(Arg) != 0) {
+                    AM = AM65_ZP;
+                } else {
                     /* Check for subroutine call to local label */
                     if ((OPC->Info & OF_CALL) && IsLocalLabelName (Arg)) {
                         Error ("ASM code error: "
                                "Cannot use local label `%s' in subroutine call",
                                Arg);
                     }
-                   AM = AM65_ABS;
-               }
-           } else if (*L == ',') {
-               /* Indexed */
-               L = SkipSpace (L+1);
-               if (*L == '\0') {
-                   Error ("ASM code error: syntax error");
-                   return 0;
-               } else {
-                   Reg = toupper (*L);
-                   L = SkipSpace (L+1);
-                   if (Reg == 'X') {
-                       if (GetZPInfo(Arg) != 0) {
-                           AM = AM65_ZPX;
-                       } else {
-                           AM = AM65_ABSX;
-                       }
-                   } else if (Reg == 'Y') {
-                       AM = AM65_ABSY;
-                   } else {
-                       Error ("ASM code error: syntax error");
-                       return 0;
-                   }
-                   if (*L != '\0') {
-                       Error ("ASM code error: syntax error");
-                       return 0;
-                   }
-               }
-           }
-           break;
+                    AM = AM65_ABS;
+                }
+            } else if (*L == ',') {
+                /* Indexed */
+                L = SkipSpace (L+1);
+                if (*L == '\0') {
+                    Error ("ASM code error: syntax error");
+                    return 0;
+                } else {
+                    Reg = toupper (*L);
+                    L = SkipSpace (L+1);
+                    if (Reg == 'X') {
+                        if (GetZPInfo(Arg) != 0) {
+                            AM = AM65_ZPX;
+                        } else {
+                            AM = AM65_ABSX;
+                        }
+                    } else if (Reg == 'Y') {
+                        AM = AM65_ABSY;
+                    } else {
+                        Error ("ASM code error: syntax error");
+                        return 0;
+                    }
+                    if (*L != '\0') {
+                        Error ("ASM code error: syntax error");
+                        return 0;
+                    }
+                }
+            }
+            break;
 
     }
 
@@ -422,15 +422,15 @@ static CodeEntry* ParseInsn (CodeSeg* S, LineInfo* LI, const char* L)
     Label = 0;
     if (AM == AM65_BRA) {
 
-       /* Generate the hash over the label, then search for the label */
-       unsigned Hash = HashStr (Arg) % CS_LABEL_HASH_SIZE;
-       Label = CS_FindLabel (S, Arg, Hash);
+        /* Generate the hash over the label, then search for the label */
+        unsigned Hash = HashStr (Arg) % CS_LABEL_HASH_SIZE;
+        Label = CS_FindLabel (S, Arg, Hash);
 
-       /* If we don't have the label, it's a forward ref - create it */
-       if (Label == 0) {
-           /* Generate a new label */
-           Label = CS_NewCodeLabel (S, Arg, Hash);
-       }
+        /* If we don't have the label, it's a forward ref - create it */
+        if (Label == 0) {
+            /* Generate a new label */
+            Label = CS_NewCodeLabel (S, Arg, Hash);
+        }
     }
 
     /* We do now have the addressing mode in AM. Allocate a new CodeEntry
@@ -445,7 +445,7 @@ static CodeEntry* ParseInsn (CodeSeg* S, LineInfo* LI, const char* L)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -461,24 +461,24 @@ CodeSeg* NewCodeSeg (const char* SegName, SymEntry* Func)
 
     /* Initialize the fields */
     S->SegName  = xstrdup (SegName);
-    S->Func    = Func;
+    S->Func     = Func;
     InitCollection (&S->Entries);
     InitCollection (&S->Labels);
     for (I = 0; I < sizeof(S->LabelHash) / sizeof(S->LabelHash[0]); ++I) {
-       S->LabelHash[I] = 0;
+        S->LabelHash[I] = 0;
     }
 
     /* If we have a function given, get the return type of the function.
      * Assume ANY return type besides void will use the A and X registers.
      */
     if (S->Func && !IsTypeVoid ((RetType = GetFuncReturn (Func->Type)))) {
-       if (SizeOf (RetType) == SizeOf (type_long)) {
-           S->ExitRegs = REG_EAX;
-       } else {
-           S->ExitRegs = REG_AX;
-       }
+        if (SizeOf (RetType) == SizeOf (type_long)) {
+            S->ExitRegs = REG_EAX;
+        } else {
+            S->ExitRegs = REG_AX;
+        }
     } else {
-       S->ExitRegs = REG_NONE;
+        S->ExitRegs = REG_NONE;
     }
 
     /* Copy the global optimization settings */
@@ -518,31 +518,31 @@ void CS_AddVLine (CodeSeg* S, LineInfo* LI, const char* Format, va_list ap)
     L = SkipSpace (SB_GetConstBuf (&Buf));
 
     /* Check which type of instruction we have */
-    E = 0;     /* Assume no insn created */
+    E = 0;      /* Assume no insn created */
     switch (*L) {
 
-       case '\0':
-           /* Empty line, just ignore it */
-           break;
+        case '\0':
+            /* Empty line, just ignore it */
+            break;
 
-       case ';':
-           /* Comment or hint, ignore it for now */
-           break;
+        case ';':
+            /* Comment or hint, ignore it for now */
+            break;
 
-       case '.':
-           /* Control instruction */
-           ReadToken (L, " \t", Token, sizeof (Token));
-           Error ("ASM code error: Pseudo instruction `%s' not supported", Token);
-           break;
+        case '.':
+            /* Control instruction */
+            ReadToken (L, " \t", Token, sizeof (Token));
+            Error ("ASM code error: Pseudo instruction `%s' not supported", Token);
+            break;
 
-       default:
-           E = ParseInsn (S, LI, L);
-           break;
+        default:
+            E = ParseInsn (S, LI, L);
+            break;
     }
 
     /* If we have a code entry, transfer the labels and insert it */
     if (E) {
-       CS_AddEntry (S, E);
+        CS_AddEntry (S, E);
     }
 
     /* Cleanup the string buffer */
@@ -593,31 +593,31 @@ void CS_DelEntry (CodeSeg* S, unsigned Index)
     unsigned Count = CE_GetLabelCount (E);
     if (Count > 0) {
 
-       /* The instruction has labels attached. Check if there is a next
-        * instruction.
-        */
-       if (Index == CS_GetEntryCount (S)-1) {
+        /* The instruction has labels attached. Check if there is a next
+         * instruction.
+         */
+        if (Index == CS_GetEntryCount (S)-1) {
 
-           /* No next instruction, move to the codeseg label pool */
-           CS_MoveLabelsToPool (S, E);
+            /* No next instruction, move to the codeseg label pool */
+            CS_MoveLabelsToPool (S, E);
 
-       } else {
+        } else {
 
-           /* There is a next insn, get it */
-           CodeEntry* N = CS_GetEntry (S, Index+1);
+            /* There is a next insn, get it */
+            CodeEntry* N = CS_GetEntry (S, Index+1);
 
-           /* Move labels to the next entry */
-           CS_MoveLabels (S, E, N);
+            /* Move labels to the next entry */
+            CS_MoveLabels (S, E, N);
 
-       }
+        }
     }
 
     /* If this insn references a label, remove the reference. And, if the
      * the reference count for this label drops to zero, remove this label.
      */
     if (E->JumpTo) {
-               /* Remove the reference */
-               CS_RemoveLabelRef (S, E);
+        /* Remove the reference */
+        CS_RemoveLabelRef (S, E);
     }
 
     /* Delete the pointer to the insn */
@@ -638,7 +638,7 @@ void CS_DelEntries (CodeSeg* S, unsigned Start, unsigned Count)
      * memory moving.
      */
     while (Count--) {
-       CS_DelEntry (S, Start + Count);
+        CS_DelEntry (S, Start + Count);
     }
 }
 
@@ -664,7 +664,7 @@ void CS_MoveEntries (CodeSeg* S, unsigned Start, unsigned Count, unsigned NewPos
      * label pool to the first instruction of the moved range.
      */
     if (NewPos == CS_GetEntryCount (S)) {
-       CS_MoveLabelsToEntry (S, CS_GetEntry (S, Start));
+        CS_MoveLabelsToEntry (S, CS_GetEntry (S, Start));
     }
 
     /* Move the code block to the destination */
@@ -679,11 +679,11 @@ struct CodeEntry* CS_GetPrevEntry (CodeSeg* S, unsigned Index)
  */
 {
     if (Index == 0) {
-       /* This is the first entry */
-       return 0;
+        /* This is the first entry */
+        return 0;
     } else {
-       /* Previous entry available */
-               return CollAtUnchecked (&S->Entries, Index-1);
+        /* Previous entry available */
+        return CollAtUnchecked (&S->Entries, Index-1);
     }
 }
 
@@ -695,30 +695,30 @@ struct CodeEntry* CS_GetNextEntry (CodeSeg* S, unsigned Index)
  */
 {
     if (Index >= CollCount (&S->Entries)-1) {
-       /* This is the last entry */
-       return 0;
+        /* This is the last entry */
+        return 0;
     } else {
-       /* Code entries left */
-               return CollAtUnchecked (&S->Entries, Index+1);
+        /* Code entries left */
+        return CollAtUnchecked (&S->Entries, Index+1);
     }
 }
 
 
 
 int CS_GetEntries (CodeSeg* S, struct CodeEntry** List,
-                          unsigned Start, unsigned Count)
+                   unsigned Start, unsigned Count)
 /* Get Count code entries into List starting at index start. Return true if
  * we got the lines, return false if not enough lines were available.
  */
 {
     /* Check if enough entries are available */
     if (Start + Count > CollCount (&S->Entries)) {
-       return 0;
+        return 0;
     }
 
     /* Copy the entries */
     while (Count--) {
-       *List++ = CollAtUnchecked (&S->Entries, Start++);
+        *List++ = CollAtUnchecked (&S->Entries, Start++);
     }
 
     /* We have the entries */
@@ -748,17 +748,17 @@ int CS_RangeHasLabel (CodeSeg* S, unsigned Start, unsigned Count)
     /* Adjust count. We expect at least Start to be valid. */
     CHECK (Start < EntryCount);
     if (Start + Count > EntryCount) {
-       Count = EntryCount - Start;
+        Count = EntryCount - Start;
     }
 
     /* Check each entry. Since we have validated the index above, we may
      * use the unchecked access function in the loop which is faster.
      */
     while (Count--) {
-       const CodeEntry* E = CollAtUnchecked (&S->Entries, Start++);
-       if (CE_HasLabel (E)) {
-           return 1;
-       }
+        const CodeEntry* E = CollAtUnchecked (&S->Entries, Start++);
+        if (CE_HasLabel (E)) {
+            return 1;
+        }
     }
 
     /* No label in the complete range */
@@ -778,19 +778,19 @@ CodeLabel* CS_AddLabel (CodeSeg* S, const char* Name)
 
     /* Did we find it? */
     if (L) {
-       /* We found it - be sure it does not already have an owner */
-       if (L->Owner) {
-                   Error ("ASM label `%s' is already defined", Name);
+        /* We found it - be sure it does not already have an owner */
+        if (L->Owner) {
+            Error ("ASM label `%s' is already defined", Name);
             return L;
-       }
+        }
     } else {
-       /* Not found - create a new one */
-       L = CS_NewCodeLabel (S, Name, Hash);
+        /* Not found - create a new one */
+        L = CS_NewCodeLabel (S, Name, Hash);
     }
 
     /* Safety. This call is quite costly, but safety is better */
     if (CollIndex (&S->Labels, L) >= 0) {
-               Error ("ASM label `%s' is already defined", Name);
+        Error ("ASM label `%s' is already defined", Name);
         return L;
     }
 
@@ -812,22 +812,22 @@ CodeLabel* CS_GenLabel (CodeSeg* S, struct CodeEntry* E)
 
     if (CE_HasLabel (E)) {
 
-       /* Get the label from this entry */
-       L = CE_GetLabel (E, 0);
+        /* Get the label from this entry */
+        L = CE_GetLabel (E, 0);
 
     } else {
 
-       /* Get a new name */
-       const char* Name = LocalLabelName (GetLocalLabel ());
+        /* Get a new name */
+        const char* Name = LocalLabelName (GetLocalLabel ());
 
-       /* Generate the hash over the name */
-       unsigned Hash = HashStr (Name) % CS_LABEL_HASH_SIZE;
+        /* Generate the hash over the name */
+        unsigned Hash = HashStr (Name) % CS_LABEL_HASH_SIZE;
 
-       /* Create a new label */
-       L = CS_NewCodeLabel (S, Name, Hash);
+        /* Create a new label */
+        L = CS_NewCodeLabel (S, Name, Hash);
 
-       /* Attach this label to the code entry */
-       CE_AttachLabel (E, L);
+        /* Attach this label to the code entry */
+        CE_AttachLabel (E, L);
 
     }
 
@@ -848,10 +848,10 @@ void CS_DelLabel (CodeSeg* S, CodeLabel* L)
     /* Remove references from insns jumping to this label */
     Count = CollCount (&L->JumpFrom);
     for (I = 0; I < Count; ++I) {
-               /* Get the insn referencing this label */
-               CodeEntry* E = CollAt (&L->JumpFrom, I);
-               /* Remove the reference */
-               CE_ClearJumpTo (E);
+        /* Get the insn referencing this label */
+        CodeEntry* E = CollAt (&L->JumpFrom, I);
+        /* Remove the reference */
+        CE_ClearJumpTo (E);
     }
     CollDeleteAll (&L->JumpFrom);
 
@@ -861,7 +861,7 @@ void CS_DelLabel (CodeSeg* S, CodeLabel* L)
      * errors to slip through.
      */
     if (L->Owner) {
-               CollDeleteItem (&L->Owner->Labels, L);
+        CollDeleteItem (&L->Owner->Labels, L);
     }
 
     /* All references removed, delete the label itself */
@@ -884,83 +884,83 @@ void CS_MergeLabels (CodeSeg* S)
      */
     for (I = 0; I < CS_LABEL_HASH_SIZE; ++I) {
 
-       /* Get the first label in this hash chain */
-       CodeLabel** L = &S->LabelHash[I];
-       while (*L) {
-           if ((*L)->Owner == 0) {
+        /* Get the first label in this hash chain */
+        CodeLabel** L = &S->LabelHash[I];
+        while (*L) {
+            if ((*L)->Owner == 0) {
 
-               /* The label does not have an owner, remove it from the chain */
-               CodeLabel* X = *L;
-                       *L = X->Next;
+                /* The label does not have an owner, remove it from the chain */
+                CodeLabel* X = *L;
+                *L = X->Next;
 
-               /* Cleanup any entries jumping to this label */
-               for (J = 0; J < CL_GetRefCount (X); ++J) {
-                   /* Get the entry referencing this label */
-                   CodeEntry* E = CL_GetRef (X, J);
-                   /* And remove the reference. Do NOT call CE_ClearJumpTo
+                /* Cleanup any entries jumping to this label */
+                for (J = 0; J < CL_GetRefCount (X); ++J) {
+                    /* Get the entry referencing this label */
+                    CodeEntry* E = CL_GetRef (X, J);
+                    /* And remove the reference. Do NOT call CE_ClearJumpTo
                      * here, because this will also clear the label name,
                      * which is not what we want.
                      */
-                   E->JumpTo = 0;
-               }
-
-               /* Print some debugging output */
-               if (Debug) {
-                   printf ("Removing unused global label `%s'", X->Name);
-               }
-
-               /* And free the label */
-               FreeCodeLabel (X);
-           } else {
-               /* Label is owned, point to next code label pointer */
-               L = &((*L)->Next);
-           }
-       }
+                    E->JumpTo = 0;
+                }
+
+                /* Print some debugging output */
+                if (Debug) {
+                    printf ("Removing unused global label `%s'", X->Name);
+                }
+
+                /* And free the label */
+                FreeCodeLabel (X);
+            } else {
+                /* Label is owned, point to next code label pointer */
+                L = &((*L)->Next);
+            }
+        }
     }
 
     /* Walk over all code entries */
     for (I = 0; I < CS_GetEntryCount (S); ++I) {
 
-               CodeLabel* RefLab;
-               unsigned   J;
-
-       /* Get a pointer to the next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
-
-       /* If this entry has zero labels, continue with the next one */
-       unsigned LabelCount = CE_GetLabelCount (E);
-       if (LabelCount == 0) {
-           continue;
-       }
-
-       /* We have at least one label. Use the first one as reference label. */
-       RefLab = CE_GetLabel (E, 0);
-
-       /* Walk through the remaining labels and change references to these
-        * labels to a reference to the one and only label. Delete the labels
-        * that are no longer used. To increase performance, walk backwards
-        * through the list.
-        */
-       for (J = LabelCount-1; J >= 1; --J) {
-
-           /* Get the next label */
-           CodeLabel* L = CE_GetLabel (E, J);
-
-           /* Move all references from this label to the reference label */
-           CL_MoveRefs (L, RefLab);
-
-                   /* Remove the label completely. */
-                   CS_DelLabel (S, L);
-       }
-
-       /* The reference label is the only remaining label. Check if there
-        * are any references to this label, and delete it if this is not
-        * the case.
-        */
-               if (CollCount (&RefLab->JumpFrom) == 0) {
-           /* Delete the label */
-                   CS_DelLabel (S, RefLab);
-       }
+        CodeLabel* RefLab;
+        unsigned   J;
+
+        /* Get a pointer to the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* If this entry has zero labels, continue with the next one */
+        unsigned LabelCount = CE_GetLabelCount (E);
+        if (LabelCount == 0) {
+            continue;
+        }
+
+        /* We have at least one label. Use the first one as reference label. */
+        RefLab = CE_GetLabel (E, 0);
+
+        /* Walk through the remaining labels and change references to these
+         * labels to a reference to the one and only label. Delete the labels
+         * that are no longer used. To increase performance, walk backwards
+         * through the list.
+         */
+        for (J = LabelCount-1; J >= 1; --J) {
+
+            /* Get the next label */
+            CodeLabel* L = CE_GetLabel (E, J);
+
+            /* Move all references from this label to the reference label */
+            CL_MoveRefs (L, RefLab);
+
+            /* Remove the label completely. */
+            CS_DelLabel (S, L);
+        }
+
+        /* The reference label is the only remaining label. Check if there
+         * are any references to this label, and delete it if this is not
+         * the case.
+         */
+        if (CollCount (&RefLab->JumpFrom) == 0) {
+            /* Delete the label */
+            CS_DelLabel (S, RefLab);
+        }
     }
 }
 
@@ -979,30 +979,30 @@ void CS_MoveLabels (CodeSeg* S, struct CodeEntry* Old, struct CodeEntry* New)
     /* Does the new entry have itself a label? */
     if (CE_HasLabel (New)) {
 
-       /* The new entry does already have a label - move references */
-       CodeLabel* NewLabel = CE_GetLabel (New, 0);
-       while (OldLabelCount--) {
+        /* The new entry does already have a label - move references */
+        CodeLabel* NewLabel = CE_GetLabel (New, 0);
+        while (OldLabelCount--) {
 
-           /* Get the next label */
-           CodeLabel* OldLabel = CE_GetLabel (Old, OldLabelCount);
+            /* Get the next label */
+            CodeLabel* OldLabel = CE_GetLabel (Old, OldLabelCount);
 
-           /* Move references */
-           CL_MoveRefs (OldLabel, NewLabel);
+            /* Move references */
+            CL_MoveRefs (OldLabel, NewLabel);
 
-           /* Delete the label */
-           CS_DelLabel (S, OldLabel);
+            /* Delete the label */
+            CS_DelLabel (S, OldLabel);
 
-       }
+        }
 
     } else {
 
-       /* The new entry does not have a label, just move them */
-       while (OldLabelCount--) {
+        /* The new entry does not have a label, just move them */
+        while (OldLabelCount--) {
 
-           /* Move the label to the new entry */
-           CE_MoveLabel (CE_GetLabel (Old, OldLabelCount), New);
+            /* Move the label to the new entry */
+            CE_MoveLabel (CE_GetLabel (Old, OldLabelCount), New);
 
-       }
+        }
 
     }
 }
@@ -1028,7 +1028,7 @@ void CS_RemoveLabelRef (CodeSeg* S, struct CodeEntry* E)
 
     /* If there are no more references, delete the label */
     if (CollCount (&L->JumpFrom) == 0) {
-               CS_DelLabel (S, L);
+        CS_DelLabel (S, L);
     }
 }
 
@@ -1088,8 +1088,8 @@ void CS_DelCodeRange (CodeSeg* S, unsigned First, unsigned Last)
             /* There is an entry after Last - move the labels */
             CS_MoveLabels (S, FirstEntry, FollowingEntry);
         } else {
-           /* Move the labels to the pool and clear the owner pointer */
-           CS_MoveLabelsToPool (S, FirstEntry);
+            /* Move the labels to the pool and clear the owner pointer */
+            CS_MoveLabelsToPool (S, FirstEntry);
         }
     }
 
@@ -1098,19 +1098,19 @@ void CS_DelCodeRange (CodeSeg* S, unsigned First, unsigned Last)
      */
     for (I = Last; I >= First; --I) {
 
-               /* Get the next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check if this entry has a label reference */
-               if (E->JumpTo) {
+        /* Check if this entry has a label reference */
+        if (E->JumpTo) {
 
-                   /* If the label is a label in the label pool, this is an error */
-                   CodeLabel* L = E->JumpTo;
-                   CHECK (CollIndex (&S->Labels, L) < 0);
+            /* If the label is a label in the label pool, this is an error */
+            CodeLabel* L = E->JumpTo;
+            CHECK (CollIndex (&S->Labels, L) < 0);
 
-           /* Remove the reference to the label */
-           CS_RemoveLabelRef (S, E);
-       }
+            /* Remove the reference to the label */
+            CS_RemoveLabelRef (S, E);
+        }
     }
 
     /* Second pass: Delete the instructions. If a label attached to an
@@ -1119,17 +1119,17 @@ void CS_DelCodeRange (CodeSeg* S, unsigned First, unsigned Last)
      */
     for (I = Last; I >= First; --I) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check if this entry has a label attached */
-       CHECK (!CE_HasLabel (E));
+        /* Check if this entry has a label attached */
+        CHECK (!CE_HasLabel (E));
 
-       /* Delete the pointer to the entry */
-       CollDelete (&S->Entries, I);
+        /* Delete the pointer to the entry */
+        CollDelete (&S->Entries, I);
 
-       /* Delete the entry itself */
-       FreeCodeEntry (E);
+        /* Delete the entry itself */
+        FreeCodeEntry (E);
     }
 }
 
@@ -1147,24 +1147,24 @@ void CS_DelCodeAfter (CodeSeg* S, unsigned Last)
     unsigned C = Count;
     while (Last < C--) {
 
-               /* Get the next entry */
-               CodeEntry* E = CS_GetEntry (S, C);
-
-               /* Check if this entry has a label reference */
-               if (E->JumpTo) {
-                   /* If the label is a label in the label pool and this is the last
-                    * reference to the label, remove the label from the pool.
-                    */
-                   CodeLabel* L = E->JumpTo;
-                   int Index = CollIndex (&S->Labels, L);
-                   if (Index >= 0 && CollCount (&L->JumpFrom) == 1) {
-                       /* Delete it from the pool */
-                       CollDelete (&S->Labels, Index);
-                   }
-
-           /* Remove the reference to the label */
-           CS_RemoveLabelRef (S, E);
-       }
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, C);
+
+        /* Check if this entry has a label reference */
+        if (E->JumpTo) {
+            /* If the label is a label in the label pool and this is the last
+             * reference to the label, remove the label from the pool.
+             */
+            CodeLabel* L = E->JumpTo;
+            int Index = CollIndex (&S->Labels, L);
+            if (Index >= 0 && CollCount (&L->JumpFrom) == 1) {
+                /* Delete it from the pool */
+                CollDelete (&S->Labels, Index);
+            }
+
+            /* Remove the reference to the label */
+            CS_RemoveLabelRef (S, E);
+        }
 
     }
 
@@ -1176,20 +1176,20 @@ void CS_DelCodeAfter (CodeSeg* S, unsigned Last)
     C = Count;
     while (Last < C--) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, C);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, C);
 
-       /* Check if this entry has a label attached */
-       if (CE_HasLabel (E)) {
-           /* Move the labels to the pool and clear the owner pointer */
-           CS_MoveLabelsToPool (S, E);
-       }
+        /* Check if this entry has a label attached */
+        if (CE_HasLabel (E)) {
+            /* Move the labels to the pool and clear the owner pointer */
+            CS_MoveLabelsToPool (S, E);
+        }
 
-       /* Delete the pointer to the entry */
-       CollDelete (&S->Entries, C);
+        /* Delete the pointer to the entry */
+        CollDelete (&S->Entries, C);
 
-       /* Delete the entry itself */
-       FreeCodeEntry (E);
+        /* Delete the entry itself */
+        FreeCodeEntry (E);
     }
 }
 
@@ -1331,7 +1331,7 @@ void CS_OutputPrologue (const CodeSeg* S)
      */
     if (Func) {
         /* Get the function descriptor */
-               CS_PrintFunctionHeader (S);
+        CS_PrintFunctionHeader (S);
         WriteOutput (".segment\t\"%s\"\n\n.proc\t_%s", S->SegName, Func->Name);
         if (IsQualNear (Func->Type)) {
             WriteOutput (": near");
@@ -1351,7 +1351,7 @@ void CS_OutputEpilogue (const CodeSeg* S)
  */
 {
     if (S->Func) {
-               WriteOutput ("\n.endproc\n\n");
+        WriteOutput ("\n.endproc\n\n");
     }
 }
 
@@ -1368,7 +1368,7 @@ void CS_Output (CodeSeg* S)
 
     /* If the code segment is empty, bail out here */
     if (Count == 0) {
-       return;
+        return;
     }
 
     /* Generate register info */
@@ -1380,20 +1380,20 @@ void CS_Output (CodeSeg* S)
     /* Output all entries, prepended by the line information if it has changed */
     LI = 0;
     for (I = 0; I < Count; ++I) {
-       /* Get the next entry */
-       const CodeEntry* E = CollConstAt (&S->Entries, I);
-       /* Check if the line info has changed. If so, output the source line
-        * if the option is enabled and output debug line info if the debug
-        * option is enabled.
-        */
-       if (E->LI != LI) {
-           /* Line info has changed, remember the new line info */
-           LI = E->LI;
-
-           /* Add the source line as a comment. Beware: When line continuation
+        /* Get the next entry */
+        const CodeEntry* E = CollConstAt (&S->Entries, I);
+        /* Check if the line info has changed. If so, output the source line
+         * if the option is enabled and output debug line info if the debug
+         * option is enabled.
+         */
+        if (E->LI != LI) {
+            /* Line info has changed, remember the new line info */
+            LI = E->LI;
+
+            /* Add the source line as a comment. Beware: When line continuation
              * was used, the line may contain newlines.
              */
-           if (AddSource) {
+            if (AddSource) {
                 const char* L = LI->Line;
                 WriteOutput (";\n; ");
                 while (*L) {
@@ -1409,21 +1409,21 @@ void CS_Output (CodeSeg* S)
                     }
                 }
                 WriteOutput (";\n");
-           }
-
-           /* Add line debug info */
-           if (DebugInfo) {
-               WriteOutput ("\t.dbg\tline, \"%s\", %u\n",
-                            GetInputName (LI), GetInputLine (LI));
-           }
-       }
-       /* Output the code */
-       CE_Output (E);
+            }
+
+            /* Add line debug info */
+            if (DebugInfo) {
+                WriteOutput ("\t.dbg\tline, \"%s\", %u\n",
+                             GetInputName (LI), GetInputLine (LI));
+            }
+        }
+        /* Output the code */
+        CE_Output (E);
     }
 
     /* If debug info is enabled, terminate the last line number information */
     if (DebugInfo) {
-               WriteOutput ("\t.dbg\tline\n");
+        WriteOutput ("\t.dbg\tline\n");
     }
 
     /* Free register info */
@@ -1447,7 +1447,7 @@ void CS_GenRegInfo (CodeSeg* S)
 /* Generate register infos for all instructions */
 {
     unsigned I;
-    RegContents Regs;          /* Initial register contents */
+    RegContents Regs;           /* Initial register contents */
     RegContents* CurrentRegs;   /* Current register contents */
     int WasJump;                /* True if last insn was a jump */
     int Done;                   /* All runs done flag */
@@ -1458,225 +1458,225 @@ void CS_GenRegInfo (CodeSeg* S)
     /* We may need two runs to get back references right */
     do {
 
-       /* Assume we're done after this run */
-       Done = 1;
-
-       /* On entry, the register contents are unknown */
-       RC_Invalidate (&Regs);
-       CurrentRegs = &Regs;
-
-       /* Walk over all insns and note just the changes from one insn to the
-        * next one.
-        */
-       WasJump = 0;
-       for (I = 0; I < CS_GetEntryCount (S); ++I) {
-
-           CodeEntry* P;
-
-           /* Get the next instruction */
-           CodeEntry* E = CollAtUnchecked (&S->Entries, I);
-
-           /* If the instruction has a label, we need some special handling */
-           unsigned LabelCount = CE_GetLabelCount (E);
-           if (LabelCount > 0) {
-
-               /* Loop over all entry points that jump here. If these entry
-                * points already have register info, check if all values are
-                * known and identical. If all values are identical, and the
-                * preceeding instruction was not an unconditional branch, check
-                * if the register value on exit of the preceeding instruction
-                * is also identical. If all these values are identical, the
-                * value of a register is known, otherwise it is unknown.
-                */
-               CodeLabel* Label = CE_GetLabel (E, 0);
-               unsigned Entry;
-               if (WasJump) {
-                   /* Preceeding insn was an unconditional branch */
-                   CodeEntry* J = CL_GetRef(Label, 0);
-                   if (J->RI) {
-                       Regs = J->RI->Out2;
-                   } else {
-                       RC_Invalidate (&Regs);
-                   }
-                   Entry = 1;
-               } else {
-                   Regs = *CurrentRegs;
-                   Entry = 0;
-               }
-
-               while (Entry < CL_GetRefCount (Label)) {
-                   /* Get this entry */
-                   CodeEntry* J = CL_GetRef (Label, Entry);
-                   if (J->RI == 0) {
-                       /* No register info for this entry. This means that the
-                        * instruction that jumps here is at higher addresses and
-                        * the jump is a backward jump. We need a second run to
-                        * get the register info right in this case. Until then,
-                        * assume unknown register contents.
-                        */
-                       Done = 0;
-                       RC_Invalidate (&Regs);
-                       break;
-                   }
-                   if (J->RI->Out2.RegA != Regs.RegA) {
-                       Regs.RegA = UNKNOWN_REGVAL;
-                   }
-                   if (J->RI->Out2.RegX != Regs.RegX) {
-                       Regs.RegX = UNKNOWN_REGVAL;
-                   }
-                   if (J->RI->Out2.RegY != Regs.RegY) {
-                       Regs.RegY = UNKNOWN_REGVAL;
-                   }
-                   if (J->RI->Out2.SRegLo != Regs.SRegLo) {
-                       Regs.SRegLo = UNKNOWN_REGVAL;
-                   }
-                   if (J->RI->Out2.SRegHi != Regs.SRegHi) {
-                       Regs.SRegHi = UNKNOWN_REGVAL;
-                   }
-                           if (J->RI->Out2.Tmp1 != Regs.Tmp1) {
-                       Regs.Tmp1 = UNKNOWN_REGVAL;
-                   }
-                   ++Entry;
-               }
-
-               /* Use this register info */
-               CurrentRegs = &Regs;
-
-           }
-
-           /* Generate register info for this instruction */
-           CE_GenRegInfo (E, CurrentRegs);
-
-           /* Remember for the next insn if this insn was an uncondition branch */
-           WasJump = (E->Info & OF_UBRA) != 0;
-
-           /* Output registers for this insn are input for the next */
-           CurrentRegs = &E->RI->Out;
-
-           /* If this insn is a branch on zero flag, we may have more info on
-            * register contents for one of both flow directions, but only if
-            * there is a previous instruction.
-            */
-           if ((E->Info & OF_ZBRA) != 0 && (P = CS_GetPrevEntry (S, I)) != 0) {
-
-               /* Get the branch condition */
-               bc_t BC = GetBranchCond (E->OPC);
-
-               /* Check the previous instruction */
-               switch (P->OPC) {
-
-                   case OP65_ADC:
-                   case OP65_AND:
-                   case OP65_DEA:
-                   case OP65_EOR:
-                   case OP65_INA:
-                   case OP65_LDA:
-                   case OP65_ORA:
-                   case OP65_PLA:
-                   case OP65_SBC:
-                       /* A is zero in one execution flow direction */
-                       if (BC == BC_EQ) {
-                           E->RI->Out2.RegA = 0;
-                       } else {
-                           E->RI->Out.RegA = 0;
-                       }
-                       break;
-
-                   case OP65_CMP:
-                       /* If this is an immidiate compare, the A register has
-                        * the value of the compare later.
-                        */
-                       if (CE_IsConstImm (P)) {
-                           if (BC == BC_EQ) {
-                               E->RI->Out2.RegA = (unsigned char)P->Num;
-                           } else {
-                               E->RI->Out.RegA = (unsigned char)P->Num;
-                           }
-                       }
-                       break;
-
-                   case OP65_CPX:
-                       /* If this is an immidiate compare, the X register has
-                        * the value of the compare later.
-                        */
-                       if (CE_IsConstImm (P)) {
-                           if (BC == BC_EQ) {
-                               E->RI->Out2.RegX = (unsigned char)P->Num;
-                           } else {
-                               E->RI->Out.RegX = (unsigned char)P->Num;
-                           }
-                       }
-                       break;
-
-                   case OP65_CPY:
-                       /* If this is an immidiate compare, the Y register has
-                        * the value of the compare later.
-                        */
-                       if (CE_IsConstImm (P)) {
-                           if (BC == BC_EQ) {
-                               E->RI->Out2.RegY = (unsigned char)P->Num;
-                           } else {
-                               E->RI->Out.RegY = (unsigned char)P->Num;
-                           }
-                       }
-                       break;
-
-                   case OP65_DEX:
-                   case OP65_INX:
-                   case OP65_LDX:
-                   case OP65_PLX:
-                       /* X is zero in one execution flow direction */
-                       if (BC == BC_EQ) {
-                           E->RI->Out2.RegX = 0;
-                       } else {
-                           E->RI->Out.RegX = 0;
-                       }
-                       break;
-
-                   case OP65_DEY:
-                   case OP65_INY:
-                   case OP65_LDY:
-                   case OP65_PLY:
-                       /* X is zero in one execution flow direction */
-                       if (BC == BC_EQ) {
-                           E->RI->Out2.RegY = 0;
-                       } else {
-                           E->RI->Out.RegY = 0;
-                       }
-                       break;
-
-                   case OP65_TAX:
-                   case OP65_TXA:
-                       /* If the branch is a beq, both A and X are zero at the
-                        * branch target, otherwise they are zero at the next
-                        * insn.
-                        */
-                       if (BC == BC_EQ) {
-                           E->RI->Out2.RegA = E->RI->Out2.RegX = 0;
-                       } else {
-                           E->RI->Out.RegA = E->RI->Out.RegX = 0;
-                       }
-                       break;
-
-                   case OP65_TAY:
-                   case OP65_TYA:
-                       /* If the branch is a beq, both A and Y are zero at the
-                        * branch target, otherwise they are zero at the next
-                        * insn.
-                        */
-                       if (BC == BC_EQ) {
-                           E->RI->Out2.RegA = E->RI->Out2.RegY = 0;
-                       } else {
-                           E->RI->Out.RegA = E->RI->Out.RegY = 0;
-                       }
-                       break;
-
-                   default:
-                       break;
-
-               }
-           }
-       }
+        /* Assume we're done after this run */
+        Done = 1;
+
+        /* On entry, the register contents are unknown */
+        RC_Invalidate (&Regs);
+        CurrentRegs = &Regs;
+
+        /* Walk over all insns and note just the changes from one insn to the
+         * next one.
+         */
+        WasJump = 0;
+        for (I = 0; I < CS_GetEntryCount (S); ++I) {
+
+            CodeEntry* P;
+
+            /* Get the next instruction */
+            CodeEntry* E = CollAtUnchecked (&S->Entries, I);
+
+            /* If the instruction has a label, we need some special handling */
+            unsigned LabelCount = CE_GetLabelCount (E);
+            if (LabelCount > 0) {
+
+                /* Loop over all entry points that jump here. If these entry
+                 * points already have register info, check if all values are
+                 * known and identical. If all values are identical, and the
+                 * preceeding instruction was not an unconditional branch, check
+                 * if the register value on exit of the preceeding instruction
+                 * is also identical. If all these values are identical, the
+                 * value of a register is known, otherwise it is unknown.
+                 */
+                CodeLabel* Label = CE_GetLabel (E, 0);
+                unsigned Entry;
+                if (WasJump) {
+                    /* Preceeding insn was an unconditional branch */
+                    CodeEntry* J = CL_GetRef(Label, 0);
+                    if (J->RI) {
+                        Regs = J->RI->Out2;
+                    } else {
+                        RC_Invalidate (&Regs);
+                    }
+                    Entry = 1;
+                } else {
+                    Regs = *CurrentRegs;
+                    Entry = 0;
+                }
+
+                while (Entry < CL_GetRefCount (Label)) {
+                    /* Get this entry */
+                    CodeEntry* J = CL_GetRef (Label, Entry);
+                    if (J->RI == 0) {
+                        /* No register info for this entry. This means that the
+                         * instruction that jumps here is at higher addresses and
+                         * the jump is a backward jump. We need a second run to
+                         * get the register info right in this case. Until then,
+                         * assume unknown register contents.
+                         */
+                        Done = 0;
+                        RC_Invalidate (&Regs);
+                        break;
+                    }
+                    if (J->RI->Out2.RegA != Regs.RegA) {
+                        Regs.RegA = UNKNOWN_REGVAL;
+                    }
+                    if (J->RI->Out2.RegX != Regs.RegX) {
+                        Regs.RegX = UNKNOWN_REGVAL;
+                    }
+                    if (J->RI->Out2.RegY != Regs.RegY) {
+                        Regs.RegY = UNKNOWN_REGVAL;
+                    }
+                    if (J->RI->Out2.SRegLo != Regs.SRegLo) {
+                        Regs.SRegLo = UNKNOWN_REGVAL;
+                    }
+                    if (J->RI->Out2.SRegHi != Regs.SRegHi) {
+                        Regs.SRegHi = UNKNOWN_REGVAL;
+                    }
+                    if (J->RI->Out2.Tmp1 != Regs.Tmp1) {
+                        Regs.Tmp1 = UNKNOWN_REGVAL;
+                    }
+                    ++Entry;
+                }
+
+                /* Use this register info */
+                CurrentRegs = &Regs;
+
+            }
+
+            /* Generate register info for this instruction */
+            CE_GenRegInfo (E, CurrentRegs);
+
+            /* Remember for the next insn if this insn was an uncondition branch */
+            WasJump = (E->Info & OF_UBRA) != 0;
+
+            /* Output registers for this insn are input for the next */
+            CurrentRegs = &E->RI->Out;
+
+            /* If this insn is a branch on zero flag, we may have more info on
+             * register contents for one of both flow directions, but only if
+             * there is a previous instruction.
+             */
+            if ((E->Info & OF_ZBRA) != 0 && (P = CS_GetPrevEntry (S, I)) != 0) {
+
+                /* Get the branch condition */
+                bc_t BC = GetBranchCond (E->OPC);
+
+                /* Check the previous instruction */
+                switch (P->OPC) {
+
+                    case OP65_ADC:
+                    case OP65_AND:
+                    case OP65_DEA:
+                    case OP65_EOR:
+                    case OP65_INA:
+                    case OP65_LDA:
+                    case OP65_ORA:
+                    case OP65_PLA:
+                    case OP65_SBC:
+                        /* A is zero in one execution flow direction */
+                        if (BC == BC_EQ) {
+                            E->RI->Out2.RegA = 0;
+                        } else {
+                            E->RI->Out.RegA = 0;
+                        }
+                        break;
+
+                    case OP65_CMP:
+                        /* If this is an immidiate compare, the A register has
+                         * the value of the compare later.
+                         */
+                        if (CE_IsConstImm (P)) {
+                            if (BC == BC_EQ) {
+                                E->RI->Out2.RegA = (unsigned char)P->Num;
+                            } else {
+                                E->RI->Out.RegA = (unsigned char)P->Num;
+                            }
+                        }
+                        break;
+
+                    case OP65_CPX:
+                        /* If this is an immidiate compare, the X register has
+                         * the value of the compare later.
+                         */
+                        if (CE_IsConstImm (P)) {
+                            if (BC == BC_EQ) {
+                                E->RI->Out2.RegX = (unsigned char)P->Num;
+                            } else {
+                                E->RI->Out.RegX = (unsigned char)P->Num;
+                            }
+                        }
+                        break;
+
+                    case OP65_CPY:
+                        /* If this is an immidiate compare, the Y register has
+                         * the value of the compare later.
+                         */
+                        if (CE_IsConstImm (P)) {
+                            if (BC == BC_EQ) {
+                                E->RI->Out2.RegY = (unsigned char)P->Num;
+                            } else {
+                                E->RI->Out.RegY = (unsigned char)P->Num;
+                            }
+                        }
+                        break;
+
+                    case OP65_DEX:
+                    case OP65_INX:
+                    case OP65_LDX:
+                    case OP65_PLX:
+                        /* X is zero in one execution flow direction */
+                        if (BC == BC_EQ) {
+                            E->RI->Out2.RegX = 0;
+                        } else {
+                            E->RI->Out.RegX = 0;
+                        }
+                        break;
+
+                    case OP65_DEY:
+                    case OP65_INY:
+                    case OP65_LDY:
+                    case OP65_PLY:
+                        /* X is zero in one execution flow direction */
+                        if (BC == BC_EQ) {
+                            E->RI->Out2.RegY = 0;
+                        } else {
+                            E->RI->Out.RegY = 0;
+                        }
+                        break;
+
+                    case OP65_TAX:
+                    case OP65_TXA:
+                        /* If the branch is a beq, both A and X are zero at the
+                         * branch target, otherwise they are zero at the next
+                         * insn.
+                         */
+                        if (BC == BC_EQ) {
+                            E->RI->Out2.RegA = E->RI->Out2.RegX = 0;
+                        } else {
+                            E->RI->Out.RegA = E->RI->Out.RegX = 0;
+                        }
+                        break;
+
+                    case OP65_TAY:
+                    case OP65_TYA:
+                        /* If the branch is a beq, both A and Y are zero at the
+                         * branch target, otherwise they are zero at the next
+                         * insn.
+                         */
+                        if (BC == BC_EQ) {
+                            E->RI->Out2.RegA = E->RI->Out2.RegY = 0;
+                        } else {
+                            E->RI->Out.RegA = E->RI->Out.RegY = 0;
+                        }
+                        break;
+
+                    default:
+                        break;
+
+                }
+            }
+        }
     } while (!Done);
 
 }
index e7f0ebc9f3a2f0054617bbbc2a80190ddff85f74..125ad31c06bbf4c376eb50bb0e0e1afc2cf656ee 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                codeseg.h                                 */
+/*                                 codeseg.h                                 */
 /*                                                                           */
-/*                         Code segment structure                           */
+/*                          Code segment structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -63,23 +63,23 @@ struct CodeEntry;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Size of the label hash table */
-#define CS_LABEL_HASH_SIZE     29
+#define CS_LABEL_HASH_SIZE      29
 
 /* Code segment structure */
 typedef struct CodeSeg CodeSeg;
 struct CodeSeg {
-    char*          SegName;                    /* Segment name */
-    SymEntry*      Func;                       /* Owner function */
-    Collection     Entries;                    /* List of code entries */
-    Collection     Labels;                     /* Labels for next insn */
-    CodeLabel*             LabelHash[CS_LABEL_HASH_SIZE]; /* Label hash table */
-    unsigned short  ExitRegs;                  /* Register use on exit */
+    char*           SegName;                    /* Segment name */
+    SymEntry*       Func;                       /* Owner function */
+    Collection      Entries;                    /* List of code entries */
+    Collection      Labels;                     /* Labels for next insn */
+    CodeLabel*      LabelHash[CS_LABEL_HASH_SIZE]; /* Label hash table */
+    unsigned short  ExitRegs;                   /* Register use on exit */
 
     /* Optimization settings for this segment */
     unsigned char   Optimize;                   /* On/off switch */
@@ -89,7 +89,7 @@ struct CodeSeg {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -113,7 +113,7 @@ INLINE unsigned CS_GetEntryCount (const CodeSeg* S)
     return CollCount (&S->Entries);
 }
 #else
-#  define CS_GetEntryCount(S)  CollCount (&(S)->Entries)
+#  define CS_GetEntryCount(S)   CollCount (&(S)->Entries)
 #endif
 
 void CS_InsertEntry (CodeSeg* S, struct CodeEntry* E, unsigned Index);
@@ -164,7 +164,7 @@ INLINE struct CodeEntry* CS_GetEntry (CodeSeg* S, unsigned Index)
     return CollAt (&S->Entries, Index);
 }
 #else
-#  define CS_GetEntry(S, Index)        ((struct CodeEntry*) CollAt(&(S)->Entries, (Index)))
+#  define CS_GetEntry(S, Index) ((struct CodeEntry*) CollAt(&(S)->Entries, (Index)))
 #endif
 
 struct CodeEntry* CS_GetPrevEntry (CodeSeg* S, unsigned Index);
@@ -178,7 +178,7 @@ struct CodeEntry* CS_GetNextEntry (CodeSeg* S, unsigned Index);
  */
 
 int CS_GetEntries (CodeSeg* S, struct CodeEntry** List,
-                          unsigned Start, unsigned Count);
+                   unsigned Start, unsigned Count);
 /* Get Count code entries into List starting at index start. Return true if
  * we got the lines, return false if not enough lines were available.
  */
index c87d3272918e0a02b860ce69f1f4faa6b231cb24..17e9471b825bddd01235c9a69b884fc9ab5a6450 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                compile.c                                 */
+/*                                 compile.c                                 */
 /*                                                                           */
-/*                      Top level compiler subroutine                       */
+/*                       Top level compiler subroutine                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -65,7 +65,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -83,34 +83,34 @@ static void Parse (void)
     /* Parse until end of input */
     while (CurTok.Tok != TOK_CEOF) {
 
-       DeclSpec        Spec;
+        DeclSpec        Spec;
 
-       /* Check for empty statements */
-       if (CurTok.Tok == TOK_SEMI) {
-           NextToken ();
-           continue;
-       }
+        /* Check for empty statements */
+        if (CurTok.Tok == TOK_SEMI) {
+            NextToken ();
+            continue;
+        }
 
-               /* Disallow ASM statements on global level */
-       if (CurTok.Tok == TOK_ASM) {
+        /* Disallow ASM statements on global level */
+        if (CurTok.Tok == TOK_ASM) {
             Error ("__asm__ is not allowed here");
             /* Parse and remove the statement for error recovery */
-           AsmStatement ();
-           ConsumeSemi ();
+            AsmStatement ();
+            ConsumeSemi ();
             RemoveGlobalCode ();
-           continue;
-       }
+            continue;
+        }
 
-       /* Check for a #pragma */
-       if (CurTok.Tok == TOK_PRAGMA) {
-           DoPragma ();
-           continue;
-       }
+        /* Check for a #pragma */
+        if (CurTok.Tok == TOK_PRAGMA) {
+            DoPragma ();
+            continue;
+        }
 
-               /* Read variable defs and functions */
-       ParseDeclSpec (&Spec, SC_EXTERN | SC_STATIC, T_INT);
+        /* Read variable defs and functions */
+        ParseDeclSpec (&Spec, SC_EXTERN | SC_STATIC, T_INT);
 
-       /* Don't accept illegal storage classes */
+        /* Don't accept illegal storage classes */
         if ((Spec.StorageClass & SC_TYPE) == 0) {
             if ((Spec.StorageClass & SC_AUTO) != 0 ||
                 (Spec.StorageClass & SC_REGISTER) != 0) {
@@ -119,26 +119,26 @@ static void Parse (void)
             }
         }
 
-       /* Check if this is only a type declaration */
-       if (CurTok.Tok == TOK_SEMI) {
-           CheckEmptyDecl (&Spec);
-           NextToken ();
-           continue;
-       }
+        /* Check if this is only a type declaration */
+        if (CurTok.Tok == TOK_SEMI) {
+            CheckEmptyDecl (&Spec);
+            NextToken ();
+            continue;
+        }
 
-       /* Read declarations for this type */
-       Entry = 0;
-       comma = 0;
-               while (1) {
+        /* Read declarations for this type */
+        Entry = 0;
+        comma = 0;
+        while (1) {
 
             Declaration         Decl;
 
-           /* Read the next declaration */
-           ParseDecl (&Spec, &Decl, DM_NEED_IDENT);
-           if (Decl.Ident[0] == '\0') {
-               NextToken ();
-               break;
-           }
+            /* Read the next declaration */
+            ParseDecl (&Spec, &Decl, DM_NEED_IDENT);
+            if (Decl.Ident[0] == '\0') {
+                NextToken ();
+                break;
+            }
 
             /* Check if we must reserve storage for the variable. We do this,
              *
@@ -149,7 +149,7 @@ static void Parse (void)
              *
              * This means that "extern int i;" will not get storage allocated.
              */
-           if ((Decl.StorageClass & SC_FUNC) != SC_FUNC          &&
+            if ((Decl.StorageClass & SC_FUNC) != SC_FUNC          &&
                 (Decl.StorageClass & SC_TYPEMASK) != SC_TYPEDEF    &&
                 ((Spec.Flags & DS_DEF_STORAGE) != 0         ||
                  (Decl.StorageClass & (SC_EXTERN|SC_STATIC)) == SC_STATIC ||
@@ -157,8 +157,8 @@ static void Parse (void)
                   CurTok.Tok == TOK_ASSIGN))) {
 
                 /* We will allocate storage */
-               Decl.StorageClass |= SC_STORAGE | SC_DEF;
-           }
+                Decl.StorageClass |= SC_STORAGE | SC_DEF;
+            }
 
             /* If this is a function declarator that is not followed by a comma
              * or semicolon, it must be followed by a function body. If this is
@@ -175,67 +175,67 @@ static void Parse (void)
                 }
             }
 
-           /* Add an entry to the symbol table */
-           Entry = AddGlobalSym (Decl.Ident, Decl.Type, Decl.StorageClass);
+            /* Add an entry to the symbol table */
+            Entry = AddGlobalSym (Decl.Ident, Decl.Type, Decl.StorageClass);
 
             /* Add declaration attributes */
             SymUseAttr (Entry, &Decl);
 
-           /* Reserve storage for the variable if we need to */
-                   if (Decl.StorageClass & SC_STORAGE) {
-
-               /* Get the size of the variable */
-               unsigned Size = SizeOf (Decl.Type);
-
-               /* Allow initialization */
-               if (CurTok.Tok == TOK_ASSIGN) {
-
-                   /* We cannot initialize types of unknown size, or
-                    * void types in non ANSI mode.
-                    */
-                           if (Size == 0) {
-                       if (!IsTypeVoid (Decl.Type)) {
-                           if (!IsTypeArray (Decl.Type)) {
-                               /* Size is unknown and not an array */
-                               Error ("Variable `%s' has unknown size", Decl.Ident);
-                           }
-                       } else if (IS_Get (&Standard) != STD_CC65) {
-                           /* We cannot declare variables of type void */
-                           Error ("Illegal type for variable `%s'", Decl.Ident);
-                       }
-                   }
-
-                   /* Switch to the data or rodata segment. For arrays, check
+            /* Reserve storage for the variable if we need to */
+            if (Decl.StorageClass & SC_STORAGE) {
+
+                /* Get the size of the variable */
+                unsigned Size = SizeOf (Decl.Type);
+
+                /* Allow initialization */
+                if (CurTok.Tok == TOK_ASSIGN) {
+
+                    /* We cannot initialize types of unknown size, or
+                     * void types in non ANSI mode.
+                     */
+                    if (Size == 0) {
+                        if (!IsTypeVoid (Decl.Type)) {
+                            if (!IsTypeArray (Decl.Type)) {
+                                /* Size is unknown and not an array */
+                                Error ("Variable `%s' has unknown size", Decl.Ident);
+                            }
+                        } else if (IS_Get (&Standard) != STD_CC65) {
+                            /* We cannot declare variables of type void */
+                            Error ("Illegal type for variable `%s'", Decl.Ident);
+                        }
+                    }
+
+                    /* Switch to the data or rodata segment. For arrays, check
                       * the element qualifiers, since not the array but its
                       * elements are const.
                       */
-                   if (IsQualConst (GetBaseElementType (Decl.Type))) {
-                       g_userodata ();
-                   } else {
-                       g_usedata ();
-                   }
+                    if (IsQualConst (GetBaseElementType (Decl.Type))) {
+                        g_userodata ();
+                    } else {
+                        g_usedata ();
+                    }
 
-                   /* Define a label */
-                   g_defgloblabel (Entry->Name);
+                    /* Define a label */
+                    g_defgloblabel (Entry->Name);
 
-                   /* Skip the '=' */
-                   NextToken ();
+                    /* Skip the '=' */
+                    NextToken ();
 
-                   /* Parse the initialization */
-                   ParseInit (Entry->Type);
-               } else {
+                    /* Parse the initialization */
+                    ParseInit (Entry->Type);
+                } else {
 
-                   if (IsTypeVoid (Decl.Type)) {
-                       /* We cannot declare variables of type void */
-                       Error ("Illegal type for variable `%s'", Decl.Ident);
+                    if (IsTypeVoid (Decl.Type)) {
+                        /* We cannot declare variables of type void */
+                        Error ("Illegal type for variable `%s'", Decl.Ident);
                         Entry->Flags &= ~(SC_STORAGE | SC_DEF);
                     } else if (Size == 0) {
-                       /* Size is unknown. Is it an array? */
+                        /* Size is unknown. Is it an array? */
                         if (!IsTypeArray (Decl.Type)) {
                             Error ("Variable `%s' has unknown size", Decl.Ident);
                         }
                         Entry->Flags &= ~(SC_STORAGE | SC_DEF);
-                   }
+                    }
 
                     /* Allocate storage if it is still needed */
                     if (Entry->Flags & SC_STORAGE) {
@@ -249,28 +249,28 @@ static void Parse (void)
                         /* Allocate space for uninitialized variable */
                         g_res (Size);
                     }
-               }
+                }
 
-           }
+            }
 
-           /* Check for end of declaration list */
-           if (CurTok.Tok == TOK_COMMA) {
-               NextToken ();
-               comma = 1;
-           } else {
-               break;
-           }
-       }
+            /* Check for end of declaration list */
+            if (CurTok.Tok == TOK_COMMA) {
+                NextToken ();
+                comma = 1;
+            } else {
+                break;
+            }
+        }
 
-       /* Function declaration? */
-       if (Entry && IsTypeFunc (Entry->Type)) {
+        /* Function declaration? */
+        if (Entry && IsTypeFunc (Entry->Type)) {
 
-           /* Function */
-           if (!comma) {
-               if (CurTok.Tok == TOK_SEMI) {
-                   /* Prototype only */
-                   NextToken ();
-               } else {
+            /* Function */
+            if (!comma) {
+                if (CurTok.Tok == TOK_SEMI) {
+                    /* Prototype only */
+                    NextToken ();
+                } else {
 
                     /* Function body. Check for duplicate function definitions */
                     if (SymIsDef (Entry)) {
@@ -280,15 +280,15 @@ static void Parse (void)
 
                     /* Parse the function body */
                     NewFunc (Entry);
-               }
-           }
+                }
+            }
 
-       } else {
+        } else {
 
-           /* Must be followed by a semicolon */
-           ConsumeSemi ();
+            /* Must be followed by a semicolon */
+            ConsumeSemi ();
 
-       }
+        }
     }
 }
 
@@ -325,16 +325,16 @@ void Compile (const char* FileName)
      */
     if (IS_Get (&Optimize)) {
         long CodeSize = IS_Get (&CodeSizeFactor);
-       DefineNumericMacro ("__OPT__", 1);
-               if (CodeSize > 100) {
-           DefineNumericMacro ("__OPT_i__", CodeSize);
-       }
-       if (IS_Get (&EnableRegVars)) {
-           DefineNumericMacro ("__OPT_r__", 1);
-       }
-               if (IS_Get (&InlineStdFuncs)) {
-           DefineNumericMacro ("__OPT_s__", 1);
-       }
+        DefineNumericMacro ("__OPT__", 1);
+        if (CodeSize > 100) {
+            DefineNumericMacro ("__OPT_i__", CodeSize);
+        }
+        if (IS_Get (&EnableRegVars)) {
+            DefineNumericMacro ("__OPT_r__", 1);
+        }
+        if (IS_Get (&InlineStdFuncs)) {
+            DefineNumericMacro ("__OPT_s__", 1);
+        }
     }
 
     /* __TIME__ and __DATE__ macros */
@@ -368,7 +368,7 @@ void Compile (const char* FileName)
     /* Are we supposed to compile or just preprocess the input? */
     if (PreprocessOnly) {
 
-       /* Open the file */
+        /* Open the file */
         OpenOutputFile ();
 
         /* Preprocess each line and write it to the output file */
index 27dae0778be652e6923c9310e2d7a8e0bb1462e4..74e294efe78b474ba4a22dcde691a7017a9c3d59 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                compile.h                                 */
+/*                                 compile.h                                 */
 /*                                                                           */
-/*                      Top level compiler subroutine                       */
+/*                       Top level compiler subroutine                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6a4002823434ed953e99b2a884066f6512b4d99a..fe050cef6876bc9e8aacfe22242423911a23540e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptadd.c                                 */
+/*                                 coptadd.c                                 */
 /*                                                                           */
-/*                       Optimize addition sequences                        */
+/*                        Optimize addition sequences                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                           Optimize additions                             */
+/*                            Optimize additions                             */
 /*****************************************************************************/
 
 
@@ -81,67 +81,67 @@ unsigned OptAdd1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[6];
+        CodeEntry* L[6];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDY            &&
-           CE_IsConstImm (L[0])             &&
-           !CS_RangeHasLabel (S, I+1, 5)    &&
-                   CS_GetEntries (S, L+1, I+1, 5)   &&
-                   CE_IsCallTo (L[1], "ldaxysp")    &&
-                   CE_IsCallTo (L[2], "pushax")     &&
-                   L[3]->OPC == OP65_LDY            &&
-           CE_IsConstImm (L[3])             &&
-                   CE_IsCallTo (L[4], "ldaxysp")    &&
-                   CE_IsCallTo (L[5], "tosaddax")) {
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDY            &&
+            CE_IsConstImm (L[0])             &&
+            !CS_RangeHasLabel (S, I+1, 5)    &&
+            CS_GetEntries (S, L+1, I+1, 5)   &&
+            CE_IsCallTo (L[1], "ldaxysp")    &&
+            CE_IsCallTo (L[2], "pushax")     &&
+            L[3]->OPC == OP65_LDY            &&
+            CE_IsConstImm (L[3])             &&
+            CE_IsCallTo (L[4], "ldaxysp")    &&
+            CE_IsCallTo (L[5], "tosaddax")) {
 
-           CodeEntry* X;
+            CodeEntry* X;
             const char* Arg;
 
-                   /* Correct the stack of the first Y register load */
-           CE_SetNumArg (L[0], L[0]->Num - 1);
+            /* Correct the stack of the first Y register load */
+            CE_SetNumArg (L[0], L[0]->Num - 1);
 
             /* lda (sp),y */
             X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
             CS_InsertEntry (S, X, I+1);
 
             /* ldy #yy-3 */
-           Arg = MakeHexArg (L[3]->Num - 3);
+            Arg = MakeHexArg (L[3]->Num - 3);
             X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[4]->LI);
-           CS_InsertEntry (S, X, I+2);
+            CS_InsertEntry (S, X, I+2);
 
-                   /* clc */
-           X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[5]->LI);
-           CS_InsertEntry (S, X, I+3);
+            /* clc */
+            X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[5]->LI);
+            CS_InsertEntry (S, X, I+3);
 
-           /* adc (sp),y */
-           X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[5]->LI);
-           CS_InsertEntry (S, X, I+4);
+            /* adc (sp),y */
+            X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[5]->LI);
+            CS_InsertEntry (S, X, I+4);
 
             /* pha */
             X = NewCodeEntry (OP65_PHA, AM65_IMP, 0, 0, L[5]->LI);
             CS_InsertEntry (S, X, I+5);
 
             /* ldy #xx (beware: L[0] has changed) */
-           Arg = MakeHexArg (L[0]->Num + 1);
+            Arg = MakeHexArg (L[0]->Num + 1);
             X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+6);
+            CS_InsertEntry (S, X, I+6);
 
             /* lda (sp),y */
             X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
             CS_InsertEntry (S, X, I+7);
 
             /* ldy #yy-2 */
-           Arg = MakeHexArg (L[3]->Num - 2);
+            Arg = MakeHexArg (L[3]->Num - 2);
             X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[4]->LI);
-           CS_InsertEntry (S, X, I+8);
+            CS_InsertEntry (S, X, I+8);
 
-           /* adc (sp),y */
-           X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[5]->LI);
-           CS_InsertEntry (S, X, I+9);
+            /* adc (sp),y */
+            X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[5]->LI);
+            CS_InsertEntry (S, X, I+9);
 
             /* tax */
             X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, L[5]->LI);
@@ -151,16 +151,16 @@ unsigned OptAdd1 (CodeSeg* S)
             X = NewCodeEntry (OP65_PLA, AM65_IMP, 0, 0, L[5]->LI);
             CS_InsertEntry (S, X, I+11);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I+12, 5);
+            /* Delete the old code */
+            CS_DelEntries (S, I+12, 5);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -173,7 +173,7 @@ unsigned OptAdd1 (CodeSeg* S)
 unsigned OptAdd2 (CodeSeg* S)
 /* Search for the sequence
  *
- *             ldy     #xx
+ *      ldy     #xx
  *      jsr     ldaxysp
  *      ldy     #yy
  *      jsr     addeqysp
@@ -201,82 +201,82 @@ unsigned OptAdd2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[4];
+        CodeEntry* L[4];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if (L[0]->OPC == OP65_LDY               &&
-           CE_IsConstImm (L[0])                &&
-           !CS_RangeHasLabel (S, I+1, 3)       &&
-                   CS_GetEntries (S, L+1, I+1, 3)      &&
-           CE_IsCallTo (L[1], "ldaxysp")       &&
-                   L[2]->OPC == OP65_LDY               &&
-           CE_IsConstImm (L[2])                &&
-                   CE_IsCallTo (L[3], "addeqysp")      &&
-                   (GetRegInfo (S, I+4, REG_AX) & REG_AX) == 0) {
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDY               &&
+            CE_IsConstImm (L[0])                &&
+            !CS_RangeHasLabel (S, I+1, 3)       &&
+            CS_GetEntries (S, L+1, I+1, 3)      &&
+            CE_IsCallTo (L[1], "ldaxysp")       &&
+            L[2]->OPC == OP65_LDY               &&
+            CE_IsConstImm (L[2])                &&
+            CE_IsCallTo (L[3], "addeqysp")      &&
+            (GetRegInfo (S, I+4, REG_AX) & REG_AX) == 0) {
 
-           /* Insert new code behind the addeqysp */
-           const char* Arg;
-           CodeEntry* X;
+            /* Insert new code behind the addeqysp */
+            const char* Arg;
+            CodeEntry* X;
 
-           /* ldy     #xx-1 */
-           Arg = MakeHexArg (L[0]->Num-1);
-           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+4);
+            /* ldy     #xx-1 */
+            Arg = MakeHexArg (L[0]->Num-1);
+            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+4);
 
-           /* lda     (sp),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+5);
+            /* lda     (sp),y */
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+5);
 
-           /* ldy     #yy */
-           X = NewCodeEntry (OP65_LDY, AM65_IMM, L[2]->Arg, 0, L[2]->LI);
-           CS_InsertEntry (S, X, I+6);
+            /* ldy     #yy */
+            X = NewCodeEntry (OP65_LDY, AM65_IMM, L[2]->Arg, 0, L[2]->LI);
+            CS_InsertEntry (S, X, I+6);
 
-           /* clc */
-           X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+7);
+            /* clc */
+            X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+7);
 
-           /* adc     (sp),y */
-                   X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+8);
+            /* adc     (sp),y */
+            X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+8);
 
-           /* sta     (sp),y */
-           X = NewCodeEntry (OP65_STA, AM65_ZP_INDY, "sp", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+9);
+            /* sta     (sp),y */
+            X = NewCodeEntry (OP65_STA, AM65_ZP_INDY, "sp", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+9);
 
-           /* ldy     #xx */
-           X = NewCodeEntry (OP65_LDY, AM65_IMM, L[0]->Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+10);
+            /* ldy     #xx */
+            X = NewCodeEntry (OP65_LDY, AM65_IMM, L[0]->Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+10);
 
-           /* lda     (sp),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+11);
+            /* lda     (sp),y */
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+11);
 
-           /* ldy     #yy+1 */
-           Arg = MakeHexArg (L[2]->Num+1);
-           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[2]->LI);
-           CS_InsertEntry (S, X, I+12);
+            /* ldy     #yy+1 */
+            Arg = MakeHexArg (L[2]->Num+1);
+            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[2]->LI);
+            CS_InsertEntry (S, X, I+12);
 
-           /* adc     (sp),y */
-           X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+13);
+            /* adc     (sp),y */
+            X = NewCodeEntry (OP65_ADC, AM65_ZP_INDY, "sp", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+13);
 
-           /* sta     (sp),y */
-           X = NewCodeEntry (OP65_STA, AM65_ZP_INDY, "sp", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+14);
+            /* sta     (sp),y */
+            X = NewCodeEntry (OP65_STA, AM65_ZP_INDY, "sp", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+14);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I, 4);
+            /* Delete the old code */
+            CS_DelEntries (S, I, 4);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -289,8 +289,8 @@ unsigned OptAdd2 (CodeSeg* S)
 unsigned OptAdd3 (CodeSeg* S)
 /* Search for the sequence
  *
- *     jsr     pushax
- *             ldx     #$00
+ *      jsr     pushax
+ *      ldx     #$00
  *      lda     xxx
  *      jsr     tosaddax
  *
@@ -309,14 +309,14 @@ unsigned OptAdd3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[5];
+        CodeEntry* L[5];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
+        /* Check for the sequence */
         if (CE_IsCallTo (L[0], "pushax")                        &&
-                   CS_GetEntries (S, L+1, I+1, 4)                      &&
+            CS_GetEntries (S, L+1, I+1, 4)                      &&
             !CS_RangeHasLabel (S, I+1, 3)                       &&
             L[1]->OPC == OP65_LDX                               &&
             CE_IsKnownImm (L[1], 0)                             &&
@@ -327,32 +327,32 @@ unsigned OptAdd3 (CodeSeg* S)
             CodeLabel* Label;
 
             /* Insert new code behind the sequence */
-           X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+4);
+            X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+4);
 
             /* adc xxx */
-           X = NewCodeEntry (OP65_ADC, L[2]->AM, L[2]->Arg, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+5);
+            X = NewCodeEntry (OP65_ADC, L[2]->AM, L[2]->Arg, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+5);
 
             /* bcc L1 */
             Label = CS_GenLabel (S, L[4]);
             X = NewCodeEntry (OP65_BCC, AM65_BRA, Label->Name, Label, L[3]->LI);
-           CS_InsertEntry (S, X, I+6);
+            CS_InsertEntry (S, X, I+6);
 
             /* inx */
             X = NewCodeEntry (OP65_INX, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+7);
+            CS_InsertEntry (S, X, I+7);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I, 4);
+            /* Delete the old code */
+            CS_DelEntries (S, I, 4);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -365,9 +365,9 @@ unsigned OptAdd3 (CodeSeg* S)
 unsigned OptAdd4 (CodeSeg* S)
 /* Search for the sequence
  *
- *     jsr     pushax
+ *      jsr     pushax
  *      lda     xxx
- *             ldx     yyy
+ *      ldx     yyy
  *      jsr     tosaddax
  *
  * and replace it by
@@ -387,14 +387,14 @@ unsigned OptAdd4 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[4];
+        CodeEntry* L[4];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
+        /* Check for the sequence */
         if (CE_IsCallTo (L[0], "pushax")                        &&
-                   CS_GetEntries (S, L+1, I+1, 3)                      &&
+            CS_GetEntries (S, L+1, I+1, 3)                      &&
             !CS_RangeHasLabel (S, I+1, 3)                       &&
             L[1]->OPC == OP65_LDA                               &&
             (L[1]->AM == AM65_ABS || L[1]->AM == AM65_ZP)       &&
@@ -405,43 +405,43 @@ unsigned OptAdd4 (CodeSeg* S)
             CodeEntry* X;
 
             /* Insert new code behind the sequence */
-           X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+4);
+            X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+4);
 
             /* adc xxx */
-           X = NewCodeEntry (OP65_ADC, L[1]->AM, L[1]->Arg, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+5);
+            X = NewCodeEntry (OP65_ADC, L[1]->AM, L[1]->Arg, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+5);
 
             /* pha */
-           X = NewCodeEntry (OP65_PHA, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+6);
+            X = NewCodeEntry (OP65_PHA, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+6);
 
             /* txa */
-           X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+7);
+            X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+7);
 
             /* adc yyy */
-           X = NewCodeEntry (OP65_ADC, L[2]->AM, L[2]->Arg, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+8);
+            X = NewCodeEntry (OP65_ADC, L[2]->AM, L[2]->Arg, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+8);
 
             /* tax */
-           X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+9);
+            X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+9);
 
             /* pla */
-           X = NewCodeEntry (OP65_PLA, AM65_IMP, 0, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+10);
+            X = NewCodeEntry (OP65_PLA, AM65_IMP, 0, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+10);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I, 4);
+            /* Delete the old code */
+            CS_DelEntries (S, I, 4);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -462,12 +462,12 @@ unsigned OptAdd5 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* E;
+        CodeEntry* E;
 
-       /* Get next entry */
-               E = CS_GetEntry (S, I);
+        /* Get next entry */
+        E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
+        /* Check for the sequence */
         if (E->OPC == OP65_JSR                          &&
             strncmp (E->Arg, "incax", 5) == 0           &&
             IsDigit (E->Arg[5])                         &&
@@ -478,23 +478,23 @@ unsigned OptAdd5 (CodeSeg* S)
             const char* Arg;
 
             /* Insert new code behind the sequence */
-           X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
+            X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
 
-           Arg = MakeHexArg (E->Arg[5] - '0');
-                   X = NewCodeEntry (OP65_ADC, AM65_IMM, Arg, 0, E->LI);
-           CS_InsertEntry (S, X, I+2);
+            Arg = MakeHexArg (E->Arg[5] - '0');
+            X = NewCodeEntry (OP65_ADC, AM65_IMM, Arg, 0, E->LI);
+            CS_InsertEntry (S, X, I+2);
 
-                   /* Delete the old code */
-           CS_DelEntry (S, I);
+            /* Delete the old code */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -507,9 +507,9 @@ unsigned OptAdd5 (CodeSeg* S)
 unsigned OptAdd6 (CodeSeg* S)
 /* Search for the sequence
  *
- *     adc     ...
+ *      adc     ...
  *      bcc     L
- *     inx
+ *      inx
  * L:
  *
  * and remove the handling of the high byte if X is not used later.
@@ -521,32 +521,32 @@ unsigned OptAdd6 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (E->OPC == OP65_ADC                               &&
-           CS_GetEntries (S, L, I+1, 3)                     &&
-                   (L[0]->OPC == OP65_BCC || L[0]->OPC == OP65_JCC) &&
-           L[0]->JumpTo != 0                                &&
-           !CE_HasLabel (L[0])                              &&
-           L[1]->OPC == OP65_INX                            &&
-           !CE_HasLabel (L[1])                              &&
-           L[0]->JumpTo->Owner == L[2]                      &&
-           !RegXUsed (S, I+3)) {
+        /* Check for the sequence */
+        if (E->OPC == OP65_ADC                               &&
+            CS_GetEntries (S, L, I+1, 3)                     &&
+            (L[0]->OPC == OP65_BCC || L[0]->OPC == OP65_JCC) &&
+            L[0]->JumpTo != 0                                &&
+            !CE_HasLabel (L[0])                              &&
+            L[1]->OPC == OP65_INX                            &&
+            !CE_HasLabel (L[1])                              &&
+            L[0]->JumpTo->Owner == L[2]                      &&
+            !RegXUsed (S, I+3)) {
 
-           /* Remove the bcs/dex */
-           CS_DelEntries (S, I+1, 2);
+            /* Remove the bcs/dex */
+            CS_DelEntries (S, I+1, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index cc2afe48b8e1abcfeef9af4a21bff0287db6810c..f89ad016ee8cd9fb1229973bcad4e01ce7d0d66a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptadd.h                                 */
+/*                                 coptadd.h                                 */
 /*                                                                           */
-/*                       Optimize addition sequences                        */
+/*                        Optimize addition sequences                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                           Optimize additions                             */
+/*                            Optimize additions                             */
 /*****************************************************************************/
 
 
@@ -52,9 +52,9 @@
 unsigned OptAdd1 (CodeSeg* S);
 /* Search for the sequence
  *
- *             jsr     pushax
+ *      jsr     pushax
  *      ldy     xxx
- *     ldx     #$00
+ *      ldx     #$00
  *      lda     (sp),y
  *      jsr     tosaddax
  *
@@ -71,9 +71,9 @@ unsigned OptAdd1 (CodeSeg* S);
 unsigned OptAdd2 (CodeSeg* S);
 /* Search for the sequence
  *
- *             ldy     #xx
+ *      ldy     #xx
  *      lda     (sp),y
- *     tax
+ *      tax
  *      dey
  *      lda     (sp),y
  *      ldy     #$yy
@@ -99,8 +99,8 @@ unsigned OptAdd2 (CodeSeg* S);
 unsigned OptAdd3 (CodeSeg* S);
 /* Search for the sequence
  *
- *     jsr     pushax
- *             ldx     #$00
+ *      jsr     pushax
+ *      ldx     #$00
  *      lda     xxx
  *      jsr     tosaddax
  *
@@ -116,9 +116,9 @@ unsigned OptAdd3 (CodeSeg* S);
 unsigned OptAdd4 (CodeSeg* S);
 /* Search for the sequence
  *
- *     jsr     pushax
+ *      jsr     pushax
  *      lda     xxx
- *             ldx     yyy
+ *      ldx     yyy
  *      jsr     tosaddax
  *
  * and replace it by
@@ -140,9 +140,9 @@ unsigned OptAdd5 (CodeSeg* S);
 unsigned OptAdd6 (CodeSeg* S);
 /* Search for the sequence
  *
- *     adc     ...
+ *      adc     ...
  *      bcc     L
- *     inx
+ *      inx
  * L:
  *
  * and remove the handling of the high byte if X is not used later.
index a45025ee5896f7a0cc62178faf8b1c5647c86661..969f9fd6ed536d95da837bfc9d5f1099aafdc925 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptc02.h                                 */
+/*                                 coptc02.h                                 */
 /*                                                                           */
-/*                      65C02 specific optimizations                        */
+/*                       65C02 specific optimizations                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -71,27 +71,27 @@ unsigned Opt65C02Ind (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check for addressing mode indirect indexed Y where Y is zero.
-        * Note: All opcodes that are available as (zp),y are also available
-        * as (zp), so we can ignore the actual opcode here.
-        */
-       if (E->AM == AM65_ZP_INDY && E->RI->In.RegY == 0) {
+        /* Check for addressing mode indirect indexed Y where Y is zero.
+         * Note: All opcodes that are available as (zp),y are also available
+         * as (zp), so we can ignore the actual opcode here.
+         */
+        if (E->AM == AM65_ZP_INDY && E->RI->In.RegY == 0) {
 
-           /* Replace it by indirect addressing mode */
-           CodeEntry* X = NewCodeEntry (E->OPC, AM65_ZP_IND, E->Arg, 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
-           CS_DelEntry (S, I);
+            /* Replace it by indirect addressing mode */
+            CodeEntry* X = NewCodeEntry (E->OPC, AM65_ZP_IND, E->Arg, 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
+            CS_DelEntry (S, I);
 
-           /* We had changes */
-           ++Changes;
+            /* We had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -111,13 +111,13 @@ unsigned Opt65C02BitOps (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if (L[0]->OPC == OP65_LDA                               &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA                               &&
             (L[0]->AM == AM65_ZP || L[0]->AM == AM65_ABS)       &&
             !CS_RangeHasLabel (S, I+1, 2)                       &&
             CS_GetEntries (S, L+1, I+1, 2)                      &&
@@ -158,12 +158,12 @@ unsigned Opt65C02BitOps (CodeSeg* S)
             /* Delete the old stuff */
             CS_DelEntries (S, I, 3);
 
-           /* We had changes */
-           ++Changes;
-       }
+            /* We had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -183,15 +183,15 @@ unsigned Opt65C02Stores (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for a store with a register value of zero and an addressing
-        * mode available with STZ.
-        */
-               if (((E->OPC == OP65_STA && E->RI->In.RegA == 0) ||
-            (E->OPC == OP65_STX && E->RI->In.RegX == 0) ||
-            (E->OPC == OP65_STY && E->RI->In.RegY == 0))       &&
+        /* Check for a store with a register value of zero and an addressing
+         * mode available with STZ.
+         */
+        if (((E->OPC == OP65_STA && E->RI->In.RegA == 0) ||
+             (E->OPC == OP65_STX && E->RI->In.RegX == 0) ||
+             (E->OPC == OP65_STY && E->RI->In.RegY == 0))       &&
             (E->AM == AM65_ZP  || E->AM == AM65_ABS ||
              E->AM == AM65_ZPX || E->AM == AM65_ABSX)) {
 
@@ -202,12 +202,12 @@ unsigned Opt65C02Stores (CodeSeg* S)
             /* Delete the old stuff */
             CS_DelEntry (S, I);
 
-           /* We had changes */
-           ++Changes;
-       }
+            /* We had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 309e4578a98f9e6bdae65c7d34b5e8ea09cc08ac..7d010568b4b6c27ad53e7a16f31f341884e7a491 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptc02.h                                 */
+/*                                 coptc02.h                                 */
 /*                                                                           */
-/*                      65C02 specific optimizations                        */
+/*                       65C02 specific optimizations                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 25e1a8982c7bfbfeac78b8a99db6f52afea2f547..e1b80a71c1d435fd588beab19f24d93e4ec7baf2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptcmp.c                                 */
+/*                                 coptcmp.c                                 */
 /*                                                                           */
-/*                            Optimize compares                             */
+/*                             Optimize compares                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -59,7 +59,7 @@ static const unsigned char CmpInvertTab [] = {
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -81,86 +81,86 @@ static void ReplaceCmp (CodeSeg* S, unsigned I, cmp_t Cond)
     /* Replace the conditional branch */
     switch (Cond) {
 
-       case CMP_EQ:
-           CE_ReplaceOPC (E, OP65_JEQ);
-           break;
-
-       case CMP_NE:
-           CE_ReplaceOPC (E, OP65_JNE);
-           break;
-
-       case CMP_GT:
-           /* Replace by
-            *     beq @L
-            *     jpl Target
-            * @L: ...
-            */
-           if ((N = CS_GetNextEntry (S, I)) == 0) {
-               /* No such entry */
-               Internal ("Invalid program flow");
-           }
-           L = CS_GenLabel (S, N);
-           N = NewCodeEntry (OP65_BEQ, AM65_BRA, L->Name, L, E->LI);
-           CS_InsertEntry (S, N, I);
-           CE_ReplaceOPC (E, OP65_JPL);
-           break;
-
-       case CMP_GE:
-           CE_ReplaceOPC (E, OP65_JPL);
-           break;
-
-       case CMP_LT:
-           CE_ReplaceOPC (E, OP65_JMI);
-           break;
-
-       case CMP_LE:
-           /* Replace by
-            *     jmi Target
-            *     jeq Target
-            */
-           CE_ReplaceOPC (E, OP65_JMI);
-           L = E->JumpTo;
-           N = NewCodeEntry (OP65_JEQ, AM65_BRA, L->Name, L, E->LI);
-           CS_InsertEntry (S, N, I+1);
-           break;
-
-       case CMP_UGT:
-           /* Replace by
-            *     beq @L
-            *     jcs Target
-            * @L: ...
-            */
-           if ((N = CS_GetNextEntry (S, I)) == 0) {
-               /* No such entry */
-               Internal ("Invalid program flow");
-           }
-           L = CS_GenLabel (S, N);
-           N = NewCodeEntry (OP65_BEQ, AM65_BRA, L->Name, L, E->LI);
-           CS_InsertEntry (S, N, I);
-           CE_ReplaceOPC (E, OP65_JCS);
-           break;
-
-       case CMP_UGE:
-           CE_ReplaceOPC (E, OP65_JCS);
-           break;
-
-       case CMP_ULT:
-           CE_ReplaceOPC (E, OP65_JCC);
-           break;
-
-       case CMP_ULE:
-           /* Replace by
-            *     jcc Target
-            *     jeq Target
-            */
-           CE_ReplaceOPC (E, OP65_JCC);
-           L = E->JumpTo;
-           N = NewCodeEntry (OP65_JEQ, AM65_BRA, L->Name, L, E->LI);
-           CS_InsertEntry (S, N, I+1);
-           break;
-
-       default:
-           Internal ("Unknown jump condition: %d", Cond);
+        case CMP_EQ:
+            CE_ReplaceOPC (E, OP65_JEQ);
+            break;
+
+        case CMP_NE:
+            CE_ReplaceOPC (E, OP65_JNE);
+            break;
+
+        case CMP_GT:
+            /* Replace by
+             *     beq @L
+             *     jpl Target
+             * @L: ...
+             */
+            if ((N = CS_GetNextEntry (S, I)) == 0) {
+                /* No such entry */
+                Internal ("Invalid program flow");
+            }
+            L = CS_GenLabel (S, N);
+            N = NewCodeEntry (OP65_BEQ, AM65_BRA, L->Name, L, E->LI);
+            CS_InsertEntry (S, N, I);
+            CE_ReplaceOPC (E, OP65_JPL);
+            break;
+
+        case CMP_GE:
+            CE_ReplaceOPC (E, OP65_JPL);
+            break;
+
+        case CMP_LT:
+            CE_ReplaceOPC (E, OP65_JMI);
+            break;
+
+        case CMP_LE:
+            /* Replace by
+             *     jmi Target
+             *     jeq Target
+             */
+            CE_ReplaceOPC (E, OP65_JMI);
+            L = E->JumpTo;
+            N = NewCodeEntry (OP65_JEQ, AM65_BRA, L->Name, L, E->LI);
+            CS_InsertEntry (S, N, I+1);
+            break;
+
+        case CMP_UGT:
+            /* Replace by
+             *     beq @L
+             *     jcs Target
+             * @L: ...
+             */
+            if ((N = CS_GetNextEntry (S, I)) == 0) {
+                /* No such entry */
+                Internal ("Invalid program flow");
+            }
+            L = CS_GenLabel (S, N);
+            N = NewCodeEntry (OP65_BEQ, AM65_BRA, L->Name, L, E->LI);
+            CS_InsertEntry (S, N, I);
+            CE_ReplaceOPC (E, OP65_JCS);
+            break;
+
+        case CMP_UGE:
+            CE_ReplaceOPC (E, OP65_JCS);
+            break;
+
+        case CMP_ULT:
+            CE_ReplaceOPC (E, OP65_JCC);
+            break;
+
+        case CMP_ULE:
+            /* Replace by
+             *     jcc Target
+             *     jeq Target
+             */
+            CE_ReplaceOPC (E, OP65_JCC);
+            L = E->JumpTo;
+            N = NewCodeEntry (OP65_JEQ, AM65_BRA, L->Name, L, E->LI);
+            CS_InsertEntry (S, N, I+1);
+            break;
+
+        default:
+            Internal ("Unknown jump condition: %d", Cond);
 
     }
 
@@ -175,18 +175,18 @@ static int IsImmCmp16 (CodeEntry** L)
  */
 {
     return (L[0]->OPC == OP65_CPX                              &&
-           L[0]->AM == AM65_IMM                               &&
-           (L[0]->Flags & CEF_NUMARG) != 0                    &&
-           !CE_HasLabel (L[0])                                &&
-           (L[1]->OPC == OP65_JNE || L[1]->OPC == OP65_BNE)   &&
-                   L[1]->JumpTo != 0                                  &&
-           !CE_HasLabel (L[1])                                &&
-                   L[2]->OPC == OP65_CMP                              &&
-           L[2]->AM == AM65_IMM                               &&
-           (L[2]->Flags & CEF_NUMARG) != 0                    &&
-           (L[3]->Info & OF_CBRA) != 0                        &&
-           L[3]->JumpTo != 0                                  &&
-           (L[1]->JumpTo->Owner == L[3] || L[1]->JumpTo == L[3]->JumpTo));
+            L[0]->AM == AM65_IMM                               &&
+            (L[0]->Flags & CEF_NUMARG) != 0                    &&
+            !CE_HasLabel (L[0])                                &&
+            (L[1]->OPC == OP65_JNE || L[1]->OPC == OP65_BNE)   &&
+            L[1]->JumpTo != 0                                  &&
+            !CE_HasLabel (L[1])                                &&
+            L[2]->OPC == OP65_CMP                              &&
+            L[2]->AM == AM65_IMM                               &&
+            (L[2]->Flags & CEF_NUMARG) != 0                    &&
+            (L[3]->Info & OF_CBRA) != 0                        &&
+            L[3]->JumpTo != 0                                  &&
+            (L[1]->JumpTo->Owner == L[3] || L[1]->JumpTo == L[3]->JumpTo));
 }
 
 
@@ -195,18 +195,18 @@ static int GetCmpRegVal (const CodeEntry* E)
 /* Return the register value for an immediate compare */
 {
     switch (E->OPC) {
-       case OP65_CMP: return E->RI->In.RegA;
-       case OP65_CPX: return E->RI->In.RegX;
-       case OP65_CPY: return E->RI->In.RegY;
-       default:       Internal ("Invalid opcode in GetCmpRegVal");
-                      return 0;  /* Not reached */
+        case OP65_CMP: return E->RI->In.RegA;
+        case OP65_CPX: return E->RI->In.RegX;
+        case OP65_CPY: return E->RI->In.RegY;
+        default:       Internal ("Invalid opcode in GetCmpRegVal");
+                       return 0;  /* Not reached */
     }
 }
 
 
 
 /*****************************************************************************/
-/*            Remove calls to the bool transformer subroutines              */
+/*             Remove calls to the bool transformer subroutines              */
 /*****************************************************************************/
 
 
@@ -222,42 +222,42 @@ unsigned OptBoolTrans (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-       cmp_t Cond;
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check for a boolean transformer */
-       if (E->OPC == OP65_JSR                           &&
-           (Cond = FindBoolCmpCond (E->Arg)) != CMP_INV &&
-           (N = CS_GetNextEntry (S, I)) != 0            &&
-           (N->Info & OF_ZBRA) != 0) {
-
-           /* Make the boolean transformer unnecessary by changing the
-            * the conditional jump to evaluate the condition flags that
-            * are set after the compare directly. Note: jeq jumps if
-            * the condition is not met, jne jumps if the condition is met.
-            * Invert the code if we jump on condition not met.
-            */
-                   if (GetBranchCond (N->OPC) == BC_EQ) {
-               /* Jumps if condition false, invert condition */
-               Cond = CmpInvertTab [Cond];
-           }
+        CodeEntry* N;
+        cmp_t Cond;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check for a boolean transformer */
+        if (E->OPC == OP65_JSR                           &&
+            (Cond = FindBoolCmpCond (E->Arg)) != CMP_INV &&
+            (N = CS_GetNextEntry (S, I)) != 0            &&
+            (N->Info & OF_ZBRA) != 0) {
+
+            /* Make the boolean transformer unnecessary by changing the
+             * the conditional jump to evaluate the condition flags that
+             * are set after the compare directly. Note: jeq jumps if
+             * the condition is not met, jne jumps if the condition is met.
+             * Invert the code if we jump on condition not met.
+             */
+            if (GetBranchCond (N->OPC) == BC_EQ) {
+                /* Jumps if condition false, invert condition */
+                Cond = CmpInvertTab [Cond];
+            }
 
-           /* Check if we can replace the code by something better */
-           ReplaceCmp (S, I+1, Cond);
+            /* Check if we can replace the code by something better */
+            ReplaceCmp (S, I+1, Cond);
 
-           /* Remove the call to the bool transformer */
-           CS_DelEntry (S, I);
+            /* Remove the call to the bool transformer */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -268,7 +268,7 @@ unsigned OptBoolTrans (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                       Optimizations for compares                         */
+/*                        Optimizations for compares                         */
 /*****************************************************************************/
 
 
@@ -276,13 +276,13 @@ unsigned OptBoolTrans (CodeSeg* S)
 unsigned OptCmp1 (CodeSeg* S)
 /* Search for the sequence
  *
- *     ldx     xx
- *     stx     tmp1
- *     ora     tmp1
+ *      ldx     xx
+ *      stx     tmp1
+ *      ora     tmp1
  *
  * and replace it by
  *
- *     ora     xx
+ *      ora     xx
  */
 {
     unsigned Changes = 0;
@@ -291,36 +291,36 @@ unsigned OptCmp1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDX               &&
-           !CS_RangeHasLabel (S, I+1, 2)       &&
-           CS_GetEntries (S, L+1, I+1, 2)      &&
-                   L[1]->OPC == OP65_STX               &&
-           strcmp (L[1]->Arg, "tmp1") == 0     &&
-           L[2]->OPC == OP65_ORA               &&
-           strcmp (L[2]->Arg, "tmp1") == 0) {
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDX               &&
+            !CS_RangeHasLabel (S, I+1, 2)       &&
+            CS_GetEntries (S, L+1, I+1, 2)      &&
+            L[1]->OPC == OP65_STX               &&
+            strcmp (L[1]->Arg, "tmp1") == 0     &&
+            L[2]->OPC == OP65_ORA               &&
+            strcmp (L[2]->Arg, "tmp1") == 0) {
 
             CodeEntry* X;
 
-           /* Insert the ora instead */
+            /* Insert the ora instead */
             X = NewCodeEntry (OP65_ORA, L[0]->AM, L[0]->Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I);
+            CS_InsertEntry (S, X, I);
 
-           /* Remove all other instructions */
-           CS_DelEntries (S, I+1, 3);
+            /* Remove all other instructions */
+            CS_DelEntries (S, I+1, 3);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -333,14 +333,14 @@ unsigned OptCmp1 (CodeSeg* S)
 unsigned OptCmp2 (CodeSeg* S)
 /* Search for the sequence
  *
- *     stx     xx
- *     stx     tmp1
- *     ora     tmp1
+ *      stx     xx
+ *      stx     tmp1
+ *      ora     tmp1
  *
  * and replace it by
  *
- *     stx     xx
- *     ora     xx
+ *      stx     xx
+ *      ora     xx
  */
 {
     unsigned Changes = 0;
@@ -349,33 +349,33 @@ unsigned OptCmp2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (E->OPC == OP65_STX                  &&
-           !CS_RangeHasLabel (S, I+1, 2)       &&
-           CS_GetEntries (S, L, I+1, 2)        &&
-                   L[0]->OPC == OP65_STX               &&
-           strcmp (L[0]->Arg, "tmp1") == 0     &&
-           L[1]->OPC == OP65_ORA               &&
-           strcmp (L[1]->Arg, "tmp1") == 0) {
+        /* Check for the sequence */
+        if (E->OPC == OP65_STX                  &&
+            !CS_RangeHasLabel (S, I+1, 2)       &&
+            CS_GetEntries (S, L, I+1, 2)        &&
+            L[0]->OPC == OP65_STX               &&
+            strcmp (L[0]->Arg, "tmp1") == 0     &&
+            L[1]->OPC == OP65_ORA               &&
+            strcmp (L[1]->Arg, "tmp1") == 0) {
 
-           /* Remove the remaining instructions */
-           CS_DelEntries (S, I+1, 2);
+            /* Remove the remaining instructions */
+            CS_DelEntries (S, I+1, 2);
 
-           /* Insert the ora instead */
-           CS_InsertEntry (S, NewCodeEntry (OP65_ORA, E->AM, E->Arg, 0, E->LI), I+1);
+            /* Insert the ora instead */
+            CS_InsertEntry (S, NewCodeEntry (OP65_ORA, E->AM, E->Arg, 0, E->LI), I+1);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -388,13 +388,13 @@ unsigned OptCmp2 (CodeSeg* S)
 unsigned OptCmp3 (CodeSeg* S)
 /* Search for
  *
- *             lda/and/ora/eor ...
- *     cmp #$00
- *     jeq/jne
+ *      lda/and/ora/eor ...
+ *      cmp #$00
+ *      jeq/jne
  * or
- *             lda/and/ora/eor ...
- *     cmp #$00
- *     jsr boolxx
+ *      lda/and/ora/eor ...
+ *      cmp #$00
+ *      jsr boolxx
  *
  * and remove the cmp.
  */
@@ -405,59 +405,59 @@ unsigned OptCmp3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if ((L[0]->OPC == OP65_ADC ||
-                    L[0]->OPC == OP65_AND ||
+        /* Check for the sequence */
+        if ((L[0]->OPC == OP65_ADC ||
+             L[0]->OPC == OP65_AND ||
              L[0]->OPC == OP65_ASL ||
-                    L[0]->OPC == OP65_DEA ||
-                    L[0]->OPC == OP65_EOR ||
-                    L[0]->OPC == OP65_INA ||
-                    L[0]->OPC == OP65_LDA ||
+             L[0]->OPC == OP65_DEA ||
+             L[0]->OPC == OP65_EOR ||
+             L[0]->OPC == OP65_INA ||
+             L[0]->OPC == OP65_LDA ||
              L[0]->OPC == OP65_LSR ||
-                    L[0]->OPC == OP65_ORA ||
-                    L[0]->OPC == OP65_PLA ||
-                    L[0]->OPC == OP65_SBC ||
-                    L[0]->OPC == OP65_TXA ||
-                    L[0]->OPC == OP65_TYA)         &&
-           !CS_RangeHasLabel (S, I+1, 2)   &&
-           CS_GetEntries (S, L+1, I+1, 2)  &&
-           L[1]->OPC == OP65_CMP           &&
-           CE_IsKnownImm (L[1], 0)) {
+             L[0]->OPC == OP65_ORA ||
+             L[0]->OPC == OP65_PLA ||
+             L[0]->OPC == OP65_SBC ||
+             L[0]->OPC == OP65_TXA ||
+             L[0]->OPC == OP65_TYA)         &&
+            !CS_RangeHasLabel (S, I+1, 2)   &&
+            CS_GetEntries (S, L+1, I+1, 2)  &&
+            L[1]->OPC == OP65_CMP           &&
+            CE_IsKnownImm (L[1], 0)) {
 
             int Delete = 0;
 
-           /* Check for the call to boolxx. We only remove the compare if
-                    * the carry flag is not evaluated later, because the load will
+            /* Check for the call to boolxx. We only remove the compare if
+             * the carry flag is not evaluated later, because the load will
              * not set the carry flag.
-            */
-           if (L[2]->OPC == OP65_JSR) {
-               switch (FindBoolCmpCond (L[2]->Arg)) {
-
-                   case CMP_EQ:
-                   case CMP_NE:
-                   case CMP_GT:
-                   case CMP_GE:
-                   case CMP_LT:
-                   case CMP_LE:
-                       /* Remove the compare */
+             */
+            if (L[2]->OPC == OP65_JSR) {
+                switch (FindBoolCmpCond (L[2]->Arg)) {
+
+                    case CMP_EQ:
+                    case CMP_NE:
+                    case CMP_GT:
+                    case CMP_GE:
+                    case CMP_LT:
+                    case CMP_LE:
+                        /* Remove the compare */
                         Delete = 1;
-                       break;
-
-                   case CMP_UGT:
-                   case CMP_UGE:
-                   case CMP_ULT:
-                   case CMP_ULE:
-                   case CMP_INV:
-                       /* Leave it alone */
-                       break;
-               }
-
-           } else if ((L[2]->Info & OF_FBRA) != 0) {
+                        break;
+
+                    case CMP_UGT:
+                    case CMP_UGE:
+                    case CMP_ULT:
+                    case CMP_ULE:
+                    case CMP_INV:
+                        /* Leave it alone */
+                        break;
+                }
+
+            } else if ((L[2]->Info & OF_FBRA) != 0) {
                 /* The following insn branches on the condition of the load,
                  * so the compare instruction might be removed. For safety,
                  * do some more checks if the carry isn't used later, since
@@ -488,10 +488,10 @@ unsigned OptCmp3 (CodeSeg* S)
                 CS_DelEntry (S, I+1);
                 ++Changes;
             }
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -504,19 +504,19 @@ unsigned OptCmp3 (CodeSeg* S)
 unsigned OptCmp4 (CodeSeg* S)
 /* Search for
  *
- *     lda     x
- *     ldx     y
- *     cpx     #a
- *     bne     L1
- *     cmp     #b
- * L1:         jne/jeq L2
+ *      lda     x
+ *      ldx     y
+ *      cpx     #a
+ *      bne     L1
+ *      cmp     #b
+ * L1:  jne/jeq L2
  *
  * If a is zero, we may remove the compare. If a and b are both zero, we may
  * replace it by the sequence
  *
- *     lda     x
- *     ora     x+1
- *     jne/jeq ...
+ *      lda     x
+ *      ora     x+1
+ *      jne/jeq ...
  *
  * L1 may be either the label at the branch instruction, or the target label
  * of this instruction.
@@ -528,48 +528,48 @@ unsigned OptCmp4 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[5];
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (E->OPC == OP65_LDA               &&
-           CS_GetEntries (S, L, I+1, 5)     &&
-           L[0]->OPC == OP65_LDX            &&
-           !CE_HasLabel (L[0])              &&
-           IsImmCmp16 (L+1)                 &&
-           !RegAXUsed (S, I+6)) {
-
-           if ((L[4]->Info & OF_FBRA) != 0 && L[1]->Num == 0 && L[3]->Num == 0) {
-               /* The value is zero, we may use the simple code version. */
-               CE_ReplaceOPC (L[0], OP65_ORA);
-               CS_DelEntries (S, I+2, 3);
-                   } else {
-               /* Move the lda instruction after the first branch. This will
-                * improve speed, since the load is delayed after the first
-                * test.
-                */
-               CS_MoveEntry (S, I, I+4);
-
-               /* We will replace the ldx/cpx by lda/cmp */
-               CE_ReplaceOPC (L[0], OP65_LDA);
-               CE_ReplaceOPC (L[1], OP65_CMP);
-
-               /* Beware: If the first LDA instruction had a label, we have
-                * to move this label to the top of the sequence again.
-                */
-               if (CE_HasLabel (E)) {
-                   CS_MoveLabels (S, E, L[0]);
-               }
-
-           }
-
-           ++Changes;
-       }
-
-       /* Next entry */
-       ++I;
+        CodeEntry* L[5];
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (E->OPC == OP65_LDA               &&
+            CS_GetEntries (S, L, I+1, 5)     &&
+            L[0]->OPC == OP65_LDX            &&
+            !CE_HasLabel (L[0])              &&
+            IsImmCmp16 (L+1)                 &&
+            !RegAXUsed (S, I+6)) {
+
+            if ((L[4]->Info & OF_FBRA) != 0 && L[1]->Num == 0 && L[3]->Num == 0) {
+                /* The value is zero, we may use the simple code version. */
+                CE_ReplaceOPC (L[0], OP65_ORA);
+                CS_DelEntries (S, I+2, 3);
+            } else {
+                /* Move the lda instruction after the first branch. This will
+                 * improve speed, since the load is delayed after the first
+                 * test.
+                 */
+                CS_MoveEntry (S, I, I+4);
+
+                /* We will replace the ldx/cpx by lda/cmp */
+                CE_ReplaceOPC (L[0], OP65_LDA);
+                CE_ReplaceOPC (L[1], OP65_CMP);
+
+                /* Beware: If the first LDA instruction had a label, we have
+                 * to move this label to the top of the sequence again.
+                 */
+                if (CE_HasLabel (E)) {
+                    CS_MoveLabels (S, E, L[0]);
+                }
+
+            }
+
+            ++Changes;
+        }
+
+        /* Next entry */
+        ++I;
 
     }
 
@@ -586,7 +586,7 @@ unsigned OptCmp5 (CodeSeg* S)
  *      jsr     ldaxysp
  *      cpx     #a
  *      bne     L1
- *     cmp     #b
+ *      cmp     #b
  *      jne/jeq L2
  */
 {
@@ -596,89 +596,89 @@ unsigned OptCmp5 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[6];
-
-       /* Get the next entry */
-       L[0] = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-       if (L[0]->OPC == OP65_LDY           &&
-           CE_IsConstImm (L[0])            &&
-           CS_GetEntries (S, L+1, I+1, 5)  &&
-           !CE_HasLabel (L[1])             &&
-           CE_IsCallTo (L[1], "ldaxysp")   &&
-           IsImmCmp16 (L+2)) {
+        CodeEntry* L[6];
 
-                   if ((L[5]->Info & OF_FBRA) != 0 && L[2]->Num == 0 && L[4]->Num == 0) {
+        /* Get the next entry */
+        L[0] = CS_GetEntry (S, I);
 
-               CodeEntry* X;
-               char Buf[20];
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDY           &&
+            CE_IsConstImm (L[0])            &&
+            CS_GetEntries (S, L+1, I+1, 5)  &&
+            !CE_HasLabel (L[1])             &&
+            CE_IsCallTo (L[1], "ldaxysp")   &&
+            IsImmCmp16 (L+2)) {
 
-               /* The value is zero, we may use the simple code version:
-                *      ldy     #o-1
-                *      lda     (sp),y
-                *      ldy     #o
-                *      ora     (sp),y
-                *      jne/jeq ...
-                */
-               sprintf (Buf, "$%02X", (int)(L[0]->Num-1));
-               X = NewCodeEntry (OP65_LDY, AM65_IMM, Buf, 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+1);
+            if ((L[5]->Info & OF_FBRA) != 0 && L[2]->Num == 0 && L[4]->Num == 0) {
 
-               X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-               CS_InsertEntry (S, X, I+2);
+                CodeEntry* X;
+                char Buf[20];
 
-               X = NewCodeEntry (OP65_LDY, AM65_IMM, L[0]->Arg, 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+3);
-
-               X = NewCodeEntry (OP65_ORA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-               CS_InsertEntry (S, X, I+4);
-
-               CS_DelEntries (S, I+5, 3);   /* cpx/bne/cmp */
-               CS_DelEntry (S, I);          /* ldy */
-
-                   } else {
-
-               CodeEntry* X;
-               char Buf[20];
-
-               /* Change the code to just use the A register. Move the load
-                * of the low byte after the first branch if possible:
-                *
-                *      ldy     #o
-                *      lda     (sp),y
-                *      cmp     #a
-                *      bne     L1
-                *      ldy     #o-1
-                *      lda     (sp),y
-                *      cmp     #b
-                *      jne/jeq ...
-                */
-               X = NewCodeEntry (OP65_LDY, AM65_IMM, L[0]->Arg, 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+3);
+                /* The value is zero, we may use the simple code version:
+                 *      ldy     #o-1
+                 *      lda     (sp),y
+                 *      ldy     #o
+                 *      ora     (sp),y
+                 *      jne/jeq ...
+                 */
+                sprintf (Buf, "$%02X", (int)(L[0]->Num-1));
+                X = NewCodeEntry (OP65_LDY, AM65_IMM, Buf, 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+1);
+
+                X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+                CS_InsertEntry (S, X, I+2);
+
+                X = NewCodeEntry (OP65_LDY, AM65_IMM, L[0]->Arg, 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+3);
+
+                X = NewCodeEntry (OP65_ORA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+                CS_InsertEntry (S, X, I+4);
+
+                CS_DelEntries (S, I+5, 3);   /* cpx/bne/cmp */
+                CS_DelEntry (S, I);          /* ldy */
+
+            } else {
+
+                CodeEntry* X;
+                char Buf[20];
+
+                /* Change the code to just use the A register. Move the load
+                 * of the low byte after the first branch if possible:
+                 *
+                 *      ldy     #o
+                 *      lda     (sp),y
+                 *      cmp     #a
+                 *      bne     L1
+                 *      ldy     #o-1
+                 *      lda     (sp),y
+                 *      cmp     #b
+                 *      jne/jeq ...
+                 */
+                X = NewCodeEntry (OP65_LDY, AM65_IMM, L[0]->Arg, 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+3);
 
-               X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-               CS_InsertEntry (S, X, I+4);
+                X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+                CS_InsertEntry (S, X, I+4);
 
-               X = NewCodeEntry (OP65_CMP, L[2]->AM, L[2]->Arg, 0, L[2]->LI);
-               CS_InsertEntry (S, X, I+5);
+                X = NewCodeEntry (OP65_CMP, L[2]->AM, L[2]->Arg, 0, L[2]->LI);
+                CS_InsertEntry (S, X, I+5);
 
-               sprintf (Buf, "$%02X", (int)(L[0]->Num-1));
-               X = NewCodeEntry (OP65_LDY, AM65_IMM, Buf, 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+7);
+                sprintf (Buf, "$%02X", (int)(L[0]->Num-1));
+                X = NewCodeEntry (OP65_LDY, AM65_IMM, Buf, 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+7);
 
-               X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-               CS_InsertEntry (S, X, I+8);
+                X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+                CS_InsertEntry (S, X, I+8);
 
-               CS_DelEntries (S, I, 3);          /* ldy/jsr/cpx */
+                CS_DelEntries (S, I, 3);          /* ldy/jsr/cpx */
 
-           }
+            }
 
-           ++Changes;
-       }
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -701,46 +701,46 @@ unsigned OptCmp6 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-       cmp_t Cond;
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (E->OPC == OP65_JSR                          &&
-           (Cond = FindTosCmpCond (E->Arg)) != CMP_INV &&
-           (N = CS_GetNextEntry (S, I)) != 0           &&
-           (N->Info & OF_ZBRA) != 0                    &&
-                   !CE_HasLabel (N)) {
-
-                   /* The tos... functions will return a boolean value in a/x and
-            * the Z flag says if this value is zero or not. We will call
-            * a cheaper subroutine instead, one that does not return a
-            * boolean value but only valid flags. Note: jeq jumps if
-            * the condition is not met, jne jumps if the condition is met.
-            * Invert the code if we jump on condition not met.
-            */
-                   if (GetBranchCond (N->OPC) == BC_EQ) {
-               /* Jumps if condition false, invert condition */
-               Cond = CmpInvertTab [Cond];
-           }
+        CodeEntry* N;
+        cmp_t Cond;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (E->OPC == OP65_JSR                          &&
+            (Cond = FindTosCmpCond (E->Arg)) != CMP_INV &&
+            (N = CS_GetNextEntry (S, I)) != 0           &&
+            (N->Info & OF_ZBRA) != 0                    &&
+            !CE_HasLabel (N)) {
+
+            /* The tos... functions will return a boolean value in a/x and
+             * the Z flag says if this value is zero or not. We will call
+             * a cheaper subroutine instead, one that does not return a
+             * boolean value but only valid flags. Note: jeq jumps if
+             * the condition is not met, jne jumps if the condition is met.
+             * Invert the code if we jump on condition not met.
+             */
+            if (GetBranchCond (N->OPC) == BC_EQ) {
+                /* Jumps if condition false, invert condition */
+                Cond = CmpInvertTab [Cond];
+            }
 
-           /* Replace the subroutine call. */
-           E = NewCodeEntry (OP65_JSR, AM65_ABS, "tosicmp", 0, E->LI);
-           CS_InsertEntry (S, E, I+1);
-           CS_DelEntry (S, I);
+            /* Replace the subroutine call. */
+            E = NewCodeEntry (OP65_JSR, AM65_ABS, "tosicmp", 0, E->LI);
+            CS_InsertEntry (S, E, I+1);
+            CS_DelEntry (S, I);
 
-           /* Replace the conditional branch */
-           ReplaceCmp (S, I+1, Cond);
+            /* Replace the conditional branch */
+            ReplaceCmp (S, I+1, Cond);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -761,30 +761,30 @@ unsigned OptCmp7 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-               CodeEntry* L[2];
+        CodeEntry* L[2];
 
-               /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check for the sequence */
-               if ((E->OPC == OP65_LDX)                        &&
-                   CS_GetEntries (S, L, I+1, 2)                &&
-                   L[0]->OPC == OP65_TXA                       &&
-                   !CE_HasLabel (L[0])                         &&
-                   (L[1]->Info & OF_FBRA) != 0                 &&
-                   !CE_HasLabel (L[1])                         &&
-           !RegAUsed (S, I+3)) {
+        /* Check for the sequence */
+        if ((E->OPC == OP65_LDX)                        &&
+            CS_GetEntries (S, L, I+1, 2)                &&
+            L[0]->OPC == OP65_TXA                       &&
+            !CE_HasLabel (L[0])                         &&
+            (L[1]->Info & OF_FBRA) != 0                 &&
+            !CE_HasLabel (L[1])                         &&
+            !RegAUsed (S, I+3)) {
 
-           /* Remove the txa */
-           CS_DelEntry (S, I+1);
+            /* Remove the txa */
+            CS_DelEntry (S, I+1);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -806,95 +806,95 @@ unsigned OptCmp8 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       int RegVal;
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check for a compare against an immediate value */
-               if ((E->Info & OF_CMP) != 0           &&
-           (RegVal = GetCmpRegVal (E)) >= 0  &&
-           CE_IsConstImm (E)) {
-
-           /* We are able to evaluate the compare at compile time. Check if
-            * one or more branches are ahead.
-            */
-           unsigned JumpsChanged = 0;
-           CodeEntry* N;
-           while ((N = CS_GetNextEntry (S, I)) != 0 &&   /* Followed by something.. */
-                  (N->Info & OF_CBRA) != 0          &&   /* ..that is a cond branch.. */
-                  !CE_HasLabel (N)) {                    /* ..and has no label */
-
-               /* Evaluate the branch condition */
-               int Cond;
-               switch (GetBranchCond (N->OPC)) {
-                   case BC_CC:
-                       Cond = ((unsigned char)RegVal) < ((unsigned char)E->Num);
-                       break;
-
-                   case BC_CS:
-                       Cond = ((unsigned char)RegVal) >= ((unsigned char)E->Num);
-                       break;
-
-                   case BC_EQ:
-                       Cond = ((unsigned char)RegVal) == ((unsigned char)E->Num);
-                       break;
-
-                   case BC_MI:
-                               Cond = ((signed char)RegVal) < ((signed char)E->Num);
-                       break;
-
-                   case BC_NE:
-                       Cond = ((unsigned char)RegVal) != ((unsigned char)E->Num);
-                       break;
-
-                   case BC_PL:
-                               Cond = ((signed char)RegVal) >= ((signed char)E->Num);
-                       break;
-
-                   case BC_VC:
-                   case BC_VS:
-                       /* Not set by the compare operation, bail out (Note:
-                        * Just skipping anything here is rather stupid, but
-                        * the sequence is never generated by the compiler,
-                        * so it's quite safe to skip).
-                        */
-                       goto NextEntry;
-
-                   default:
-                       Internal ("Unknown branch condition");
-
-               }
-
-               /* If the condition is false, we may remove the jump. Otherwise
-                * the branch will always be taken, so we may replace it by a
-                * jump (and bail out).
-                */
-               if (!Cond) {
-                   CS_DelEntry (S, I+1);
-               } else {
-                   CodeLabel* L = N->JumpTo;
-                   const char* LabelName = L? L->Name : N->Arg;
-                   CodeEntry* X = NewCodeEntry (OP65_JMP, AM65_BRA, LabelName, L, N->LI);
-                   CS_InsertEntry (S, X, I+2);
-                   CS_DelEntry (S, I+1);
-               }
-
-               /* Remember, we had changes */
-               ++JumpsChanged;
-               ++Changes;
-           }
-
-           /* If we have made changes above, we may also remove the compare */
-           if (JumpsChanged) {
-               CS_DelEntry (S, I);
-           }
-
-       }
+        int RegVal;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check for a compare against an immediate value */
+        if ((E->Info & OF_CMP) != 0           &&
+            (RegVal = GetCmpRegVal (E)) >= 0  &&
+            CE_IsConstImm (E)) {
+
+            /* We are able to evaluate the compare at compile time. Check if
+             * one or more branches are ahead.
+             */
+            unsigned JumpsChanged = 0;
+            CodeEntry* N;
+            while ((N = CS_GetNextEntry (S, I)) != 0 &&   /* Followed by something.. */
+                   (N->Info & OF_CBRA) != 0          &&   /* ..that is a cond branch.. */
+                   !CE_HasLabel (N)) {                    /* ..and has no label */
+
+                /* Evaluate the branch condition */
+                int Cond;
+                switch (GetBranchCond (N->OPC)) {
+                    case BC_CC:
+                        Cond = ((unsigned char)RegVal) < ((unsigned char)E->Num);
+                        break;
+
+                    case BC_CS:
+                        Cond = ((unsigned char)RegVal) >= ((unsigned char)E->Num);
+                        break;
+
+                    case BC_EQ:
+                        Cond = ((unsigned char)RegVal) == ((unsigned char)E->Num);
+                        break;
+
+                    case BC_MI:
+                        Cond = ((signed char)RegVal) < ((signed char)E->Num);
+                        break;
+
+                    case BC_NE:
+                        Cond = ((unsigned char)RegVal) != ((unsigned char)E->Num);
+                        break;
+
+                    case BC_PL:
+                        Cond = ((signed char)RegVal) >= ((signed char)E->Num);
+                        break;
+
+                    case BC_VC:
+                    case BC_VS:
+                        /* Not set by the compare operation, bail out (Note:
+                         * Just skipping anything here is rather stupid, but
+                         * the sequence is never generated by the compiler,
+                         * so it's quite safe to skip).
+                         */
+                        goto NextEntry;
+
+                    default:
+                        Internal ("Unknown branch condition");
+
+                }
+
+                /* If the condition is false, we may remove the jump. Otherwise
+                 * the branch will always be taken, so we may replace it by a
+                 * jump (and bail out).
+                 */
+                if (!Cond) {
+                    CS_DelEntry (S, I+1);
+                } else {
+                    CodeLabel* L = N->JumpTo;
+                    const char* LabelName = L? L->Name : N->Arg;
+                    CodeEntry* X = NewCodeEntry (OP65_JMP, AM65_BRA, LabelName, L, N->LI);
+                    CS_InsertEntry (S, X, I+2);
+                    CS_DelEntry (S, I+1);
+                }
+
+                /* Remember, we had changes */
+                ++JumpsChanged;
+                ++Changes;
+            }
+
+            /* If we have made changes above, we may also remove the compare */
+            if (JumpsChanged) {
+                CS_DelEntry (S, I);
+            }
+
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -924,14 +924,14 @@ unsigned OptCmp9 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-               CodeEntry* L[5];
+        CodeEntry* L[5];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_SBC                       &&
-                   CS_GetEntries (S, L+1, I+1, 4)              &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_SBC                       &&
+            CS_GetEntries (S, L+1, I+1, 4)              &&
             (L[1]->OPC == OP65_BVC              ||
              L[1]->OPC == OP65_BVS)                     &&
             L[1]->JumpTo != 0                           &&
@@ -947,8 +947,8 @@ unsigned OptCmp9 (CodeSeg* S)
             !CE_HasLabel (L[4])                         &&
             !RegAUsed (S, I+4)) {
 
-           /* Replace the branch condition */
-           switch (GetBranchCond (L[4]->OPC)) {
+            /* Replace the branch condition */
+            switch (GetBranchCond (L[4]->OPC)) {
                 case BC_CC:     CE_ReplaceOPC (L[4], OP65_JPL); break;
                 case BC_CS:     CE_ReplaceOPC (L[4], OP65_JMI); break;
                 default:        Internal ("Unknown branch condition in OptCmp9");
@@ -962,10 +962,10 @@ unsigned OptCmp9 (CodeSeg* S)
 
             /* Remember, we had changes */
             ++Changes;
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
index 7efbeada89a787bd22298db452d8b3d89ded22c6..d54b8f5c6bbf94e7b6f2ac8a67c45a82256f4a4c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptcmp.h                                 */
+/*                                 coptcmp.h                                 */
 /*                                                                           */
-/*                            Optimize compares                             */
+/*                             Optimize compares                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*            Remove calls to the bool transformer subroutines              */
+/*             Remove calls to the bool transformer subroutines              */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@ unsigned OptBoolTrans (CodeSeg* S);
 
 
 /*****************************************************************************/
-/*                       Optimizations for compares                         */
+/*                        Optimizations for compares                         */
 /*****************************************************************************/
 
 
@@ -65,38 +65,38 @@ unsigned OptBoolTrans (CodeSeg* S);
 unsigned OptCmp1 (CodeSeg* S);
 /* Search for the sequence
  *
- *     ldx     xx
- *     stx     tmp1
- *     ora     tmp1
+ *      ldx     xx
+ *      stx     tmp1
+ *      ora     tmp1
  *
  * and replace it by
  *
- *     ora     xx
+ *      ora     xx
  */
 
 unsigned OptCmp2 (CodeSeg* S);
 /* Search for the sequence
  *
- *     stx     xx
- *     stx     tmp1
- *     ora     tmp1
+ *      stx     xx
+ *      stx     tmp1
+ *      ora     tmp1
  *
  * and replace it by
  *
- *     stx     xx
- *     ora     xx
+ *      stx     xx
+ *      ora     xx
  */
 
 unsigned OptCmp3 (CodeSeg* S);
 /* Search for
  *
- *             lda/and/ora/eor ...
- *     cmp #$00
- *     jeq/jne
+ *      lda/and/ora/eor ...
+ *      cmp #$00
+ *      jeq/jne
  * or
- *             lda/and/ora/eor ...
- *     cmp #$00
- *     jsr boolxx
+ *      lda/and/ora/eor ...
+ *      cmp #$00
+ *      jsr boolxx
  *
  * and remove the cmp.
  */
@@ -104,19 +104,19 @@ unsigned OptCmp3 (CodeSeg* S);
 unsigned OptCmp4 (CodeSeg* S);
 /* Search for
  *
- *     lda     x
- *     ldx     y
- *     cpx     #a
- *     bne     L1
- *     cmp     #b
- *             jne/jeq L2
+ *      lda     x
+ *      ldx     y
+ *      cpx     #a
+ *      bne     L1
+ *      cmp     #b
+ *      jne/jeq L2
  *
  * If a is zero, we may remove the compare. If a and b are both zero, we may
  * replace it by the sequence
  *
- *     lda     x
- *     ora     x+1
- *     jne/jeq ...
+ *      lda     x
+ *      ora     x+1
+ *      jne/jeq ...
  *
  * L1 may be either the label at the branch instruction, or the target label
  * of this instruction.
@@ -132,7 +132,7 @@ unsigned OptCmp5 (CodeSeg* S);
  *      lda     (sp),y
  *      cpx     #a
  *      bne     L1
- *     cmp     #b
+ *      cmp     #b
  *      jne/jeq L2
  */
 
index 34cdea8d5695d9841d0b827d772998d1c285f2ae..14f64590e59576267575bdb1ce50d24062e8b57e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptind.c                                 */
+/*                                 coptind.c                                 */
 /*                                                                           */
-/*             Environment independent low level optimizations              */
+/*              Environment independent low level optimizations              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -82,8 +82,8 @@ static int MemAccess (CodeSeg* S, unsigned From, unsigned To, const CodeEntry* N
     /* Walk over all code entries */
     while (From <= To) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, From);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, From);
 
         /* Check if there is an argument and if this argument equals Arg in
          * some variants.
@@ -135,19 +135,19 @@ static int GetBranchDist (CodeSeg* S, unsigned From, CodeEntry* To)
     /* Determine the branch distance */
     int Distance = 0;
     if (TI >= From) {
-       /* Forward branch, do not count the current insn */
-       unsigned J = From+1;
-       while (J < TI) {
-           CodeEntry* N = CS_GetEntry (S, J++);
-           Distance += N->Size;
-       }
+        /* Forward branch, do not count the current insn */
+        unsigned J = From+1;
+        while (J < TI) {
+            CodeEntry* N = CS_GetEntry (S, J++);
+            Distance += N->Size;
+        }
     } else {
-       /* Backward branch */
-       unsigned J = TI;
-       while (J < From) {
-           CodeEntry* N = CS_GetEntry (S, J++);
-                   Distance -= N->Size;
-       }
+        /* Backward branch */
+        unsigned J = TI;
+        while (J < From) {
+            CodeEntry* N = CS_GetEntry (S, J++);
+            Distance -= N->Size;
+        }
     }
 
     /* Return the calculated distance */
@@ -168,17 +168,17 @@ static short ZPRegVal (unsigned short Use, const RegContents* RC)
 /* Return the contents of the given zeropage register */
 {
     if ((Use & REG_TMP1) != 0) {
-       return RC->Tmp1;
+        return RC->Tmp1;
     } else if ((Use & REG_PTR1_LO) != 0) {
-       return RC->Ptr1Lo;
+        return RC->Ptr1Lo;
     } else if ((Use & REG_PTR1_HI) != 0) {
-       return RC->Ptr1Hi;
+        return RC->Ptr1Hi;
     } else if ((Use & REG_SREG_LO) != 0) {
-       return RC->SRegLo;
+        return RC->SRegLo;
     } else if ((Use & REG_SREG_HI) != 0) {
-       return RC->SRegHi;
+        return RC->SRegHi;
     } else {
-       return UNKNOWN_REGVAL;
+        return UNKNOWN_REGVAL;
     }
 }
 
@@ -188,11 +188,11 @@ static short RegVal (unsigned short Use, const RegContents* RC)
 /* Return the contents of the given register */
 {
     if ((Use & REG_A) != 0) {
-               return RC->RegA;
+        return RC->RegA;
     } else if ((Use & REG_X) != 0) {
-       return RC->RegX;
+        return RC->RegX;
     } else if ((Use & REG_Y) != 0) {
-       return RC->RegY;
+        return RC->RegY;
     } else {
         return ZPRegVal (Use, RC);
     }
@@ -201,7 +201,7 @@ static short RegVal (unsigned short Use, const RegContents* RC)
 
 
 /*****************************************************************************/
-/*                       Replace jumps to RTS by RTS                        */
+/*                        Replace jumps to RTS by RTS                        */
 /*****************************************************************************/
 
 
@@ -215,28 +215,28 @@ unsigned OptRTSJumps1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check if it's an unconditional branch to a local target */
-               if ((E->Info & OF_UBRA) != 0            &&
-           E->JumpTo != 0                      &&
-           E->JumpTo->Owner->OPC == OP65_RTS) {
+        /* Check if it's an unconditional branch to a local target */
+        if ((E->Info & OF_UBRA) != 0            &&
+            E->JumpTo != 0                      &&
+            E->JumpTo->Owner->OPC == OP65_RTS) {
 
-           /* Insert an RTS instruction */
-           CodeEntry* X = NewCodeEntry (OP65_RTS, AM65_IMP, 0, 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
+            /* Insert an RTS instruction */
+            CodeEntry* X = NewCodeEntry (OP65_RTS, AM65_IMP, 0, 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
 
-           /* Delete the jump */
-           CS_DelEntry (S, I);
+            /* Delete the jump */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -255,13 +255,13 @@ unsigned OptRTSJumps2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S) - 1) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check if it's an conditional branch to a local target */
-               if ((E->Info & OF_CBRA) != 0            &&   /* Conditional branch */
-           (E->Info & OF_LBRA) != 0            &&   /* Long branch */
-           E->JumpTo != 0) {                        /* Local label */
+        /* Check if it's an conditional branch to a local target */
+        if ((E->Info & OF_CBRA) != 0            &&   /* Conditional branch */
+            (E->Info & OF_LBRA) != 0            &&   /* Long branch */
+            E->JumpTo != 0) {                        /* Local label */
 
 
             /* Get the jump target and the next entry. There's always a next
@@ -318,10 +318,10 @@ unsigned OptRTSJumps2 (CodeSeg* S)
                 ++Changes;
 
             }
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -332,7 +332,7 @@ unsigned OptRTSJumps2 (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                            Remove dead jumps                             */
+/*                             Remove dead jumps                             */
 /*****************************************************************************/
 
 
@@ -346,28 +346,28 @@ unsigned OptDeadJumps (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's a branch, if it has a local target, and if the target
-        * is the next instruction.
-        */
-               if (E->AM == AM65_BRA                               &&
-           E->JumpTo                                       &&
-           E->JumpTo->Owner == CS_GetNextEntry (S, I)) {
+        /* Check if it's a branch, if it has a local target, and if the target
+         * is the next instruction.
+         */
+        if (E->AM == AM65_BRA                               &&
+            E->JumpTo                                       &&
+            E->JumpTo->Owner == CS_GetNextEntry (S, I)) {
 
-           /* Delete the dead jump */
-           CS_DelEntry (S, I);
+            /* Delete the dead jump */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       } else {
+        } else {
 
-           /* Next entry */
-           ++I;
+            /* Next entry */
+            ++I;
 
-       }
+        }
     }
 
     /* Return the number of changes made */
@@ -377,7 +377,7 @@ unsigned OptDeadJumps (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                            Remove dead code                              */
+/*                             Remove dead code                              */
 /*****************************************************************************/
 
 
@@ -393,36 +393,36 @@ unsigned OptDeadCode (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
+        CodeEntry* N;
         CodeLabel* LN;
 
-       /* Get this entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get this entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check if it's an unconditional branch, and if the next entry has
-        * no labels attached, or if the label is just used so that the insn
+        /* Check if it's an unconditional branch, and if the next entry has
+         * no labels attached, or if the label is just used so that the insn
          * can jump to itself.
-        */
-               if ((E->Info & OF_DEAD) != 0                     &&     /* Dead code follows */
-           (N = CS_GetNextEntry (S, I)) != 0            &&     /* Has next entry */
-                   (!CE_HasLabel (N)                        ||         /* Don't has a label */
+         */
+        if ((E->Info & OF_DEAD) != 0                     &&     /* Dead code follows */
+            (N = CS_GetNextEntry (S, I)) != 0            &&     /* Has next entry */
+            (!CE_HasLabel (N)                        ||         /* Don't has a label */
              ((N->Info & OF_UBRA) != 0          &&              /* Uncond branch */
               (LN = N->JumpTo) != 0             &&              /* Jumps to known label */
               LN->Owner == N                    &&              /* Attached to insn */
               CL_GetRefCount (LN) == 1))) {                     /* Only reference */
 
-           /* Delete the next entry */
-           CS_DelEntry (S, I+1);
+            /* Delete the next entry */
+            CS_DelEntry (S, I+1);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       } else {
+        } else {
 
-           /* Next entry */
-           ++I;
+            /* Next entry */
+            ++I;
 
-       }
+        }
     }
 
     /* Return the number of changes made */
@@ -432,7 +432,7 @@ unsigned OptDeadCode (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                         Optimize jump cascades                           */
+/*                          Optimize jump cascades                           */
 /*****************************************************************************/
 
 
@@ -451,13 +451,13 @@ unsigned OptJumpCascades (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-       CodeLabel* OldLabel;
+        CodeEntry* N;
+        CodeLabel* OldLabel;
 
-       /* Get this entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get this entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Check:
+        /* Check:
          *   - if it's a branch,
          *   - if it has a jump label,
          *   - if this jump label is not attached to the instruction itself,
@@ -468,28 +468,28 @@ unsigned OptJumpCascades (CodeSeg* S)
          * outside of the function (usually incspx), which won't simplify the
          * code, since conditional far branches are emulated by a short branch
          * around a jump.
-        */
-       if ((E->Info & OF_BRA) != 0             &&
-           (OldLabel = E->JumpTo) != 0         &&
-           (N = OldLabel->Owner) != E          &&
-           (N->Info & OF_BRA) != 0             &&
+         */
+        if ((E->Info & OF_BRA) != 0             &&
+            (OldLabel = E->JumpTo) != 0         &&
+            (N = OldLabel->Owner) != E          &&
+            (N->Info & OF_BRA) != 0             &&
             ((E->Info & OF_CBRA) == 0   ||
              N->JumpTo != 0)) {
 
-           /* Check if we can use the final target label. This is the case,
-            * if the target branch is an absolut branch, or if it is a
-            * conditional branch checking the same condition as the first one.
-            */
-           if ((N->Info & OF_UBRA) != 0 ||
-                       ((E->Info & OF_CBRA) != 0 &&
-                GetBranchCond (E->OPC)  == GetBranchCond (N->OPC))) {
+            /* Check if we can use the final target label. This is the case,
+             * if the target branch is an absolut branch, or if it is a
+             * conditional branch checking the same condition as the first one.
+             */
+            if ((N->Info & OF_UBRA) != 0 ||
+                ((E->Info & OF_CBRA) != 0 &&
+                 GetBranchCond (E->OPC)  == GetBranchCond (N->OPC))) {
 
-               /* This is a jump cascade and we may jump to the final target,
+                /* This is a jump cascade and we may jump to the final target,
                  * provided that the other insn does not jump to itself. If
                  * this is the case, we can also jump to ourselves, otherwise
                  * insert a jump to the new instruction and remove the old one.
-                */
-                       CodeEntry* X;
+                 */
+                CodeEntry* X;
                 CodeLabel* LN = N->JumpTo;
 
                 if (LN != 0 && LN->Owner == N) {
@@ -507,57 +507,57 @@ unsigned OptJumpCascades (CodeSeg* S)
 
                 }
 
-               /* Insert it behind E */
-               CS_InsertEntry (S, X, I+1);
+                /* Insert it behind E */
+                CS_InsertEntry (S, X, I+1);
 
-               /* Remove E */
-               CS_DelEntry (S, I);
+                /* Remove E */
+                CS_DelEntry (S, I);
 
-               /* Remember, we had changes */
-               ++Changes;
+                /* Remember, we had changes */
+                ++Changes;
 
-           /* Check if both are conditional branches, and the condition of
-            * the second is the inverse of that of the first. In this case,
-            * the second branch will never be taken, and we may jump directly
-            * to the instruction behind this one.
-            */
-           } else if ((E->Info & OF_CBRA) != 0 && (N->Info & OF_CBRA) != 0) {
+            /* Check if both are conditional branches, and the condition of
+             * the second is the inverse of that of the first. In this case,
+             * the second branch will never be taken, and we may jump directly
+             * to the instruction behind this one.
+             */
+            } else if ((E->Info & OF_CBRA) != 0 && (N->Info & OF_CBRA) != 0) {
 
-               CodeEntry* X;   /* Instruction behind N */
-               CodeLabel* LX;  /* Label attached to X */
+                CodeEntry* X;   /* Instruction behind N */
+                CodeLabel* LX;  /* Label attached to X */
 
-               /* Get the branch conditions of both branches */
-               bc_t BC1 = GetBranchCond (E->OPC);
-               bc_t BC2 = GetBranchCond (N->OPC);
+                /* Get the branch conditions of both branches */
+                bc_t BC1 = GetBranchCond (E->OPC);
+                bc_t BC2 = GetBranchCond (N->OPC);
 
-               /* Check the branch conditions */
-               if (BC1 != GetInverseCond (BC2)) {
-                   /* Condition not met */
-                   goto NextEntry;
-               }
+                /* Check the branch conditions */
+                if (BC1 != GetInverseCond (BC2)) {
+                    /* Condition not met */
+                    goto NextEntry;
+                }
 
-               /* We may jump behind this conditional branch. Get the
-                * pointer to the next instruction
-                */
-               if ((X = CS_GetNextEntry (S, CS_GetEntryIndex (S, N))) == 0) {
-                   /* N is the last entry, bail out */
-                   goto NextEntry;
-               }
+                /* We may jump behind this conditional branch. Get the
+                 * pointer to the next instruction
+                 */
+                if ((X = CS_GetNextEntry (S, CS_GetEntryIndex (S, N))) == 0) {
+                    /* N is the last entry, bail out */
+                    goto NextEntry;
+                }
 
-               /* Get the label attached to X, create a new one if needed */
-               LX = CS_GenLabel (S, X);
+                /* Get the label attached to X, create a new one if needed */
+                LX = CS_GenLabel (S, X);
 
-               /* Move the reference from E to the new label */
-               CS_MoveLabelRef (S, E, LX);
+                /* Move the reference from E to the new label */
+                CS_MoveLabelRef (S, E, LX);
 
-               /* Remember, we had changes */
-               ++Changes;
-           }
-       }
+                /* Remember, we had changes */
+                ++Changes;
+            }
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -568,7 +568,7 @@ NextEntry:
 
 
 /*****************************************************************************/
-/*                            Optimize jsr/rts                              */
+/*                             Optimize jsr/rts                              */
 /*****************************************************************************/
 
 
@@ -585,27 +585,27 @@ unsigned OptRTS (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
+        CodeEntry* N;
 
-       /* Get this entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get this entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's a subroutine call and if the following insn is RTS */
-       if (E->OPC == OP65_JSR                    &&
-           (N = CS_GetNextEntry (S, I)) != 0 &&
-           N->OPC == OP65_RTS) {
+        /* Check if it's a subroutine call and if the following insn is RTS */
+        if (E->OPC == OP65_JSR                    &&
+            (N = CS_GetNextEntry (S, I)) != 0 &&
+            N->OPC == OP65_RTS) {
 
-           /* Change the jsr to a jmp and use the additional info for a jump */
-                   E->AM = AM65_BRA;
-           CE_ReplaceOPC (E, OP65_JMP);
+            /* Change the jsr to a jmp and use the additional info for a jump */
+            E->AM = AM65_BRA;
+            CE_ReplaceOPC (E, OP65_JMP);
 
-                   /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -616,7 +616,7 @@ unsigned OptRTS (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                          Optimize jump targets                           */
+/*                           Optimize jump targets                           */
 /*****************************************************************************/
 
 
@@ -629,33 +629,33 @@ unsigned OptJumpTarget1 (CodeSeg* S)
  */
 {
     unsigned Changes = 0;
-    CodeEntry* E1;                     /* Entry 1 */
-    CodeEntry* E2;             /* Entry 2 */
-    CodeEntry* T1;             /* Jump target entry 1 */
-    CodeLabel* TL1;            /* Target label 1 */
+    CodeEntry* E1;              /* Entry 1 */
+    CodeEntry* E2;              /* Entry 2 */
+    CodeEntry* T1;              /* Jump target entry 1 */
+    CodeLabel* TL1;             /* Target label 1 */
 
     /* Walk over the entries */
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               E2 = CS_GetNextEntry (S, I);
+        /* Get next entry */
+        E2 = CS_GetNextEntry (S, I);
 
-       /* Check if we have a jump or branch without a label attached, and
+        /* Check if we have a jump or branch without a label attached, and
          * a jump target, which is not attached to the jump itself
-        */
-               if (E2 != 0                     &&
-           (E2->Info & OF_UBRA) != 0   &&
+         */
+        if (E2 != 0                     &&
+            (E2->Info & OF_UBRA) != 0   &&
             !CE_HasLabel (E2)           &&
-           E2->JumpTo                  &&
-           E2->JumpTo->Owner != E2) {
+            E2->JumpTo                  &&
+            E2->JumpTo->Owner != E2) {
 
-           /* Get the entry preceeding the branch target */
-           T1 = CS_GetPrevEntry (S, CS_GetEntryIndex (S, E2->JumpTo->Owner));
-                   if (T1 == 0) {
-               /* There is no such entry */
-               goto NextEntry;
-           }
+            /* Get the entry preceeding the branch target */
+            T1 = CS_GetPrevEntry (S, CS_GetEntryIndex (S, E2->JumpTo->Owner));
+            if (T1 == 0) {
+                /* There is no such entry */
+                goto NextEntry;
+            }
 
             /* The entry preceeding the branch target may not be the branch
              * insn.
@@ -664,38 +664,38 @@ unsigned OptJumpTarget1 (CodeSeg* S)
                 goto NextEntry;
             }
 
-           /* Get the entry preceeding the jump */
-           E1 = CS_GetEntry (S, I);
+            /* Get the entry preceeding the jump */
+            E1 = CS_GetEntry (S, I);
 
-           /* Check if both preceeding instructions are identical */
-           if (!CodeEntriesAreEqual (E1, T1)) {
-               /* Not equal, try next */
+            /* Check if both preceeding instructions are identical */
+            if (!CodeEntriesAreEqual (E1, T1)) {
+                /* Not equal, try next */
                 goto NextEntry;
-           }
+            }
 
-           /* Get the label for the instruction preceeding the jump target.
-            * This routine will create a new label if the instruction does
-            * not already have one.
-            */
-           TL1 = CS_GenLabel (S, T1);
+            /* Get the label for the instruction preceeding the jump target.
+             * This routine will create a new label if the instruction does
+             * not already have one.
+             */
+            TL1 = CS_GenLabel (S, T1);
 
-           /* Change the jump target to point to this new label */
-           CS_MoveLabelRef (S, E2, TL1);
+            /* Change the jump target to point to this new label */
+            CS_MoveLabelRef (S, E2, TL1);
 
-           /* If the instruction preceeding the jump has labels attached,
-            * move references to this label to the new label.
-            */
-           if (CE_HasLabel (E1)) {
-               CS_MoveLabels (S, E1, T1);
-           }
+            /* If the instruction preceeding the jump has labels attached,
+             * move references to this label to the new label.
+             */
+            if (CE_HasLabel (E1)) {
+                CS_MoveLabels (S, E1, T1);
+            }
 
-           /* Remove the entry preceeding the jump */
-           CS_DelEntry (S, I);
+            /* Remove the entry preceeding the jump */
+            CS_DelEntry (S, I);
 
-                   /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       } else {
+        } else {
 NextEntry:
             /* Next entry */
             ++I;
@@ -729,8 +729,8 @@ unsigned OptJumpTarget2 (CodeSeg* S)
         /* New jump label */
         CodeLabel* L;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Check if this is a bcc insn */
         if (E->OPC == OP65_BCC || E->OPC == OP65_JCC) {
@@ -800,8 +800,8 @@ unsigned OptJumpTarget3 (CodeSeg* S)
 
         CodeEntry* N;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Check if this is a load insn with a label and the next insn is not
          * a conditional branch that needs the flags from the load.
@@ -868,7 +868,7 @@ unsigned OptJumpTarget3 (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                      Optimize conditional branches                       */
+/*                       Optimize conditional branches                       */
 /*****************************************************************************/
 
 
@@ -892,71 +892,71 @@ unsigned OptCondBranches1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-       CodeLabel* L;
+        CodeEntry* N;
+        CodeLabel* L;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's a register load */
-               if ((E->Info & OF_LOAD) != 0              &&  /* It's a load instruction */
-           E->AM == AM65_IMM                     &&  /* ..with immidiate addressing */
-           (E->Flags & CEF_NUMARG) != 0          &&  /* ..and a numeric argument. */
-           (N = CS_GetNextEntry (S, I)) != 0     &&  /* There is a following entry */
-                   (N->Info & OF_CBRA) != 0              &&  /* ..which is a conditional branch */
-           !CE_HasLabel (N)) {               /* ..and does not have a label */
+        /* Check if it's a register load */
+        if ((E->Info & OF_LOAD) != 0              &&  /* It's a load instruction */
+            E->AM == AM65_IMM                     &&  /* ..with immidiate addressing */
+            (E->Flags & CEF_NUMARG) != 0          &&  /* ..and a numeric argument. */
+            (N = CS_GetNextEntry (S, I)) != 0     &&  /* There is a following entry */
+            (N->Info & OF_CBRA) != 0              &&  /* ..which is a conditional branch */
+            !CE_HasLabel (N)) {               /* ..and does not have a label */
 
-           /* Get the branch condition */
-           bc_t BC = GetBranchCond (N->OPC);
+            /* Get the branch condition */
+            bc_t BC = GetBranchCond (N->OPC);
 
-           /* Check the argument against the branch condition */
-                   if ((BC == BC_EQ && E->Num != 0)            ||
-               (BC == BC_NE && E->Num == 0)            ||
-               (BC == BC_PL && (E->Num & 0x80) != 0)   ||
-               (BC == BC_MI && (E->Num & 0x80) == 0)) {
+            /* Check the argument against the branch condition */
+            if ((BC == BC_EQ && E->Num != 0)            ||
+                (BC == BC_NE && E->Num == 0)            ||
+                (BC == BC_PL && (E->Num & 0x80) != 0)   ||
+                (BC == BC_MI && (E->Num & 0x80) == 0)) {
 
-               /* Remove the conditional branch */
-               CS_DelEntry (S, I+1);
+                /* Remove the conditional branch */
+                CS_DelEntry (S, I+1);
 
-               /* Remember, we had changes */
-               ++Changes;
+                /* Remember, we had changes */
+                ++Changes;
 
-           } else if ((BC == BC_EQ && E->Num == 0)             ||
-                      (BC == BC_NE && E->Num != 0)             ||
-                      (BC == BC_PL && (E->Num & 0x80) == 0)    ||
-                      (BC == BC_MI && (E->Num & 0x80) != 0)) {
+            } else if ((BC == BC_EQ && E->Num == 0)             ||
+                       (BC == BC_NE && E->Num != 0)             ||
+                       (BC == BC_PL && (E->Num & 0x80) == 0)    ||
+                       (BC == BC_MI && (E->Num & 0x80) != 0)) {
 
-               /* The branch is always taken, replace it by a jump */
-               CE_ReplaceOPC (N, OP65_JMP);
+                /* The branch is always taken, replace it by a jump */
+                CE_ReplaceOPC (N, OP65_JMP);
 
-               /* Remember, we had changes */
-               ++Changes;
-           }
+                /* Remember, we had changes */
+                ++Changes;
+            }
 
-       }
+        }
 
-       if ((E->Info & OF_CBRA) != 0              &&  /* It's a conditional branch */
-           (L = E->JumpTo) != 0                  &&  /* ..referencing a local label */
-                   (N = CS_GetNextEntry (S, I)) != 0     &&  /* There is a following entry */
-           (N->Info & OF_UBRA) != 0              &&  /* ..which is an uncond branch, */
-           !CE_HasLabel (N)                      &&  /* ..has no label attached */
-           L->Owner == CS_GetNextEntry (S, I+1)) {/* ..and jump target follows */
+        if ((E->Info & OF_CBRA) != 0              &&  /* It's a conditional branch */
+            (L = E->JumpTo) != 0                  &&  /* ..referencing a local label */
+            (N = CS_GetNextEntry (S, I)) != 0     &&  /* There is a following entry */
+            (N->Info & OF_UBRA) != 0              &&  /* ..which is an uncond branch, */
+            !CE_HasLabel (N)                      &&  /* ..has no label attached */
+            L->Owner == CS_GetNextEntry (S, I+1)) {/* ..and jump target follows */
 
-           /* Replace the jump by a conditional branch with the inverse branch
-            * condition than the branch around it.
-            */
-           CE_ReplaceOPC (N, GetInverseBranch (E->OPC));
+            /* Replace the jump by a conditional branch with the inverse branch
+             * condition than the branch around it.
+             */
+            CE_ReplaceOPC (N, GetInverseBranch (E->OPC));
 
-           /* Remove the conditional branch */
-           CS_DelEntry (S, I);
+            /* Remove the conditional branch */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -978,13 +978,13 @@ unsigned OptCondBranches2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-               CodeEntry* N;
+        CodeEntry* N;
 
-               /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's a rol insn with A in accu and a branch follows */
-               if (E->OPC == OP65_ROL                  &&
+        /* Check if it's a rol insn with A in accu and a branch follows */
+        if (E->OPC == OP65_ROL                  &&
             E->AM == AM65_ACC                   &&
             E->RI->In.RegA == 0                 &&
             !CE_HasLabel (E)                    &&
@@ -992,8 +992,8 @@ unsigned OptCondBranches2 (CodeSeg* S)
             (N->Info & OF_ZBRA) != 0            &&
             !RegAUsed (S, I+1)) {
 
-           /* Replace the branch condition */
-           switch (GetBranchCond (N->OPC)) {
+            /* Replace the branch condition */
+            switch (GetBranchCond (N->OPC)) {
                 case BC_EQ:     CE_ReplaceOPC (N, OP65_JCC); break;
                 case BC_NE:     CE_ReplaceOPC (N, OP65_JCS); break;
                 default:        Internal ("Unknown branch condition in OptCondBranches2");
@@ -1004,10 +1004,10 @@ unsigned OptCondBranches2 (CodeSeg* S)
 
             /* Remember, we had changes */
             ++Changes;
-       }
+        }
 
-               /* Next entry */
-               ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -1017,7 +1017,7 @@ unsigned OptCondBranches2 (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                     Remove unused loads and stores                       */
+/*                      Remove unused loads and stores                       */
 /*****************************************************************************/
 
 
@@ -1031,51 +1031,51 @@ unsigned OptUnusedLoads (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check if it's a register load or transfer insn */
-       if ((E->Info & (OF_LOAD | OF_XFR | OF_REG_INCDEC)) != 0         &&
-           (N = CS_GetNextEntry (S, I)) != 0                           &&
-           !CE_UseLoadFlags (N)) {
-
-           /* Check which sort of load or transfer it is */
-           unsigned R;
-           switch (E->OPC) {
-               case OP65_DEA:
-               case OP65_INA:
-               case OP65_LDA:
-               case OP65_TXA:
-               case OP65_TYA:  R = REG_A;      break;
-               case OP65_DEX:
-               case OP65_INX:
-               case OP65_LDX:
-               case OP65_TAX:  R = REG_X;      break;
-               case OP65_DEY:
-               case OP65_INY:
-                       case OP65_LDY:
-               case OP65_TAY:  R = REG_Y;      break;
-               default:        goto NextEntry;         /* OOPS */
-           }
-
-           /* Get register usage and check if the register value is used later */
-           if ((GetRegInfo (S, I+1, R) & R) == 0) {
-
-               /* Register value is not used, remove the load */
-               CS_DelEntry (S, I);
-
-               /* Remember, we had changes. Account the deleted entry in I. */
-               ++Changes;
-               --I;
-
-           }
-       }
+        CodeEntry* N;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check if it's a register load or transfer insn */
+        if ((E->Info & (OF_LOAD | OF_XFR | OF_REG_INCDEC)) != 0         &&
+            (N = CS_GetNextEntry (S, I)) != 0                           &&
+            !CE_UseLoadFlags (N)) {
+
+            /* Check which sort of load or transfer it is */
+            unsigned R;
+            switch (E->OPC) {
+                case OP65_DEA:
+                case OP65_INA:
+                case OP65_LDA:
+                case OP65_TXA:
+                case OP65_TYA:  R = REG_A;      break;
+                case OP65_DEX:
+                case OP65_INX:
+                case OP65_LDX:
+                case OP65_TAX:  R = REG_X;      break;
+                case OP65_DEY:
+                case OP65_INY:
+                case OP65_LDY:
+                case OP65_TAY:  R = REG_Y;      break;
+                default:        goto NextEntry;         /* OOPS */
+            }
+
+            /* Get register usage and check if the register value is used later */
+            if ((GetRegInfo (S, I+1, R) & R) == 0) {
+
+                /* Register value is not used, remove the load */
+                CS_DelEntry (S, I);
+
+                /* Remember, we had changes. Account the deleted entry in I. */
+                ++Changes;
+                --I;
+
+            }
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1094,35 +1094,35 @@ unsigned OptUnusedStores (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's a register load or transfer insn */
-               if ((E->Info & OF_STORE) != 0    &&
-           E->AM == AM65_ZP             &&
-           (E->Chg & REG_ZP) != 0) {
+        /* Check if it's a register load or transfer insn */
+        if ((E->Info & OF_STORE) != 0    &&
+            E->AM == AM65_ZP             &&
+            (E->Chg & REG_ZP) != 0) {
 
-           /* Check for the zero page location. We know that there cannot be
-            * more than one zero page location involved in the store.
-            */
-           unsigned R = E->Chg & REG_ZP;
+            /* Check for the zero page location. We know that there cannot be
+             * more than one zero page location involved in the store.
+             */
+            unsigned R = E->Chg & REG_ZP;
 
-           /* Get register usage and check if the register value is used later */
-           if ((GetRegInfo (S, I+1, R) & R) == 0) {
+            /* Get register usage and check if the register value is used later */
+            if ((GetRegInfo (S, I+1, R) & R) == 0) {
 
-               /* Register value is not used, remove the load */
-               CS_DelEntry (S, I);
+                /* Register value is not used, remove the load */
+                CS_DelEntry (S, I);
 
-               /* Remember, we had changes */
-               ++Changes;
+                /* Remember, we had changes */
+                ++Changes;
 
                 /* Continue with next insn */
                 continue;
-           }
-       }
+            }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1142,187 +1142,187 @@ unsigned OptDupLoads (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Assume we won't delete the entry */
-       int Delete = 0;
-
-               /* Get a pointer to the input registers of the insn */
-       const RegContents* In  = &E->RI->In;
-
-       /* Handle the different instructions */
-       switch (E->OPC) {
-
-           case OP65_LDA:
-                       if (RegValIsKnown (In->RegA)          && /* Value of A is known */
-                           CE_IsKnownImm (E, In->RegA)       && /* Value to be loaded is known */
-                           (N = CS_GetNextEntry (S, I)) != 0 && /* There is a next entry */
-                   !CE_UseLoadFlags (N)) {              /* Which does not use the flags */
-                   Delete = 1;
-               }
-               break;
-
-           case OP65_LDX:
-                       if (RegValIsKnown (In->RegX)          && /* Value of X is known */
-                   CE_IsKnownImm (E, In->RegX)       && /* Value to be loaded is known */
-                           (N = CS_GetNextEntry (S, I)) != 0 && /* There is a next entry */
-                   !CE_UseLoadFlags (N)) {              /* Which does not use the flags */
-                   Delete = 1;
-               }
-               break;
-
-           case OP65_LDY:
-                       if (RegValIsKnown (In->RegY)          && /* Value of Y is known */
-                   CE_IsKnownImm (E, In->RegY)       && /* Value to be loaded is known */
-                           (N = CS_GetNextEntry (S, I)) != 0 && /* There is a next entry */
-                   !CE_UseLoadFlags (N)) {              /* Which does not use the flags */
-                   Delete = 1;
-               }
-               break;
-
-           case OP65_STA:
-               /* If we store into a known zero page location, and this
-                * location does already contain the value to be stored,
-                * remove the store.
-                */
-               if (RegValIsKnown (In->RegA)          && /* Value of A is known */
-                           E->AM == AM65_ZP                  && /* Store into zp */
-                   In->RegA == ZPRegVal (E->Chg, In)) { /* Value identical */
-
-                   Delete = 1;
-               }
-               break;
-
-           case OP65_STX:
-               /* If we store into a known zero page location, and this
-                * location does already contain the value to be stored,
-                * remove the store.
-                */
-               if (RegValIsKnown (In->RegX)          && /* Value of A is known */
-                   E->AM == AM65_ZP                  && /* Store into zp */
-                           In->RegX == ZPRegVal (E->Chg, In)) { /* Value identical */
-
-                   Delete = 1;
-
-               /* If the value in the X register is known and the same as
-                * that in the A register, replace the store by a STA. The
-                * optimizer will then remove the load instruction for X
-                * later. STX does support the zeropage,y addressing mode,
-                * so be sure to check for that.
-                */
-                       } else if (RegValIsKnown (In->RegX)   &&
-                          In->RegX == In->RegA       &&
-                          E->AM != AM65_ABSY         &&
-                          E->AM != AM65_ZPY) {
-                   /* Use the A register instead */
-                           CE_ReplaceOPC (E, OP65_STA);
-               }
-               break;
-
-           case OP65_STY:
-               /* If we store into a known zero page location, and this
-                * location does already contain the value to be stored,
-                * remove the store.
-                */
-               if (RegValIsKnown (In->RegY)          && /* Value of Y is known */
-                   E->AM == AM65_ZP                  && /* Store into zp */
-                           In->RegY == ZPRegVal (E->Chg, In)) { /* Value identical */
-
-                   Delete = 1;
-
-               /* If the value in the Y register is known and the same as
-                * that in the A register, replace the store by a STA. The
-                * optimizer will then remove the load instruction for Y
-                * later. If replacement by A is not possible try a
-                * replacement by X, but check for invalid addressing modes
-                * in this case.
-                */
-                       } else if (RegValIsKnown (In->RegY)) {
-                   if (In->RegY == In->RegA) {
-                               CE_ReplaceOPC (E, OP65_STA);
-                   } else if (In->RegY == In->RegX   &&
-                              E->AM != AM65_ABSX     &&
-                              E->AM != AM65_ZPX) {
-                       CE_ReplaceOPC (E, OP65_STX);
-                   }
-               }
-               break;
-
-           case OP65_STZ:
-               /* If we store into a known zero page location, and this
-                * location does already contain the value to be stored,
-                * remove the store.
-                */
-                       if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 && E->AM == AM65_ZP) {
-                   if (ZPRegVal (E->Chg, In) == 0) {
+        CodeEntry* N;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Assume we won't delete the entry */
+        int Delete = 0;
+
+        /* Get a pointer to the input registers of the insn */
+        const RegContents* In  = &E->RI->In;
+
+        /* Handle the different instructions */
+        switch (E->OPC) {
+
+            case OP65_LDA:
+                if (RegValIsKnown (In->RegA)          && /* Value of A is known */
+                    CE_IsKnownImm (E, In->RegA)       && /* Value to be loaded is known */
+                    (N = CS_GetNextEntry (S, I)) != 0 && /* There is a next entry */
+                    !CE_UseLoadFlags (N)) {              /* Which does not use the flags */
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_LDX:
+                if (RegValIsKnown (In->RegX)          && /* Value of X is known */
+                    CE_IsKnownImm (E, In->RegX)       && /* Value to be loaded is known */
+                    (N = CS_GetNextEntry (S, I)) != 0 && /* There is a next entry */
+                    !CE_UseLoadFlags (N)) {              /* Which does not use the flags */
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_LDY:
+                if (RegValIsKnown (In->RegY)          && /* Value of Y is known */
+                    CE_IsKnownImm (E, In->RegY)       && /* Value to be loaded is known */
+                    (N = CS_GetNextEntry (S, I)) != 0 && /* There is a next entry */
+                    !CE_UseLoadFlags (N)) {              /* Which does not use the flags */
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_STA:
+                /* If we store into a known zero page location, and this
+                 * location does already contain the value to be stored,
+                 * remove the store.
+                 */
+                if (RegValIsKnown (In->RegA)          && /* Value of A is known */
+                    E->AM == AM65_ZP                  && /* Store into zp */
+                    In->RegA == ZPRegVal (E->Chg, In)) { /* Value identical */
+
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_STX:
+                /* If we store into a known zero page location, and this
+                 * location does already contain the value to be stored,
+                 * remove the store.
+                 */
+                if (RegValIsKnown (In->RegX)          && /* Value of A is known */
+                    E->AM == AM65_ZP                  && /* Store into zp */
+                    In->RegX == ZPRegVal (E->Chg, In)) { /* Value identical */
+
+                    Delete = 1;
+
+                /* If the value in the X register is known and the same as
+                 * that in the A register, replace the store by a STA. The
+                 * optimizer will then remove the load instruction for X
+                 * later. STX does support the zeropage,y addressing mode,
+                 * so be sure to check for that.
+                 */
+                } else if (RegValIsKnown (In->RegX)   &&
+                           In->RegX == In->RegA       &&
+                           E->AM != AM65_ABSY         &&
+                           E->AM != AM65_ZPY) {
+                    /* Use the A register instead */
+                    CE_ReplaceOPC (E, OP65_STA);
+                }
+                break;
+
+            case OP65_STY:
+                /* If we store into a known zero page location, and this
+                 * location does already contain the value to be stored,
+                 * remove the store.
+                 */
+                if (RegValIsKnown (In->RegY)          && /* Value of Y is known */
+                    E->AM == AM65_ZP                  && /* Store into zp */
+                    In->RegY == ZPRegVal (E->Chg, In)) { /* Value identical */
+
+                    Delete = 1;
+
+                /* If the value in the Y register is known and the same as
+                 * that in the A register, replace the store by a STA. The
+                 * optimizer will then remove the load instruction for Y
+                 * later. If replacement by A is not possible try a
+                 * replacement by X, but check for invalid addressing modes
+                 * in this case.
+                 */
+                } else if (RegValIsKnown (In->RegY)) {
+                    if (In->RegY == In->RegA) {
+                        CE_ReplaceOPC (E, OP65_STA);
+                    } else if (In->RegY == In->RegX   &&
+                               E->AM != AM65_ABSX     &&
+                               E->AM != AM65_ZPX) {
+                        CE_ReplaceOPC (E, OP65_STX);
+                    }
+                }
+                break;
+
+            case OP65_STZ:
+                /* If we store into a known zero page location, and this
+                 * location does already contain the value to be stored,
+                 * remove the store.
+                 */
+                if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 && E->AM == AM65_ZP) {
+                    if (ZPRegVal (E->Chg, In) == 0) {
                         Delete = 1;
                     }
-               }
-               break;
+                }
+                break;
 
-           case OP65_TAX:
+            case OP65_TAX:
                 if (RegValIsKnown (In->RegA)          &&
-                   In->RegA == In->RegX              &&
-                   (N = CS_GetNextEntry (S, I)) != 0 &&
-                           !CE_UseLoadFlags (N)) {
-                   /* Value is identical and not followed by a branch */
-                   Delete = 1;
-               }
-               break;
-
-           case OP65_TAY:
+                    In->RegA == In->RegX              &&
+                    (N = CS_GetNextEntry (S, I)) != 0 &&
+                    !CE_UseLoadFlags (N)) {
+                    /* Value is identical and not followed by a branch */
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_TAY:
                 if (RegValIsKnown (In->RegA)            &&
-                   In->RegA == In->RegY                &&
-                   (N = CS_GetNextEntry (S, I)) != 0   &&
-                           !CE_UseLoadFlags (N)) {
-                   /* Value is identical and not followed by a branch */
-                   Delete = 1;
-               }
-               break;
-
-                   case OP65_TXA:
+                    In->RegA == In->RegY                &&
+                    (N = CS_GetNextEntry (S, I)) != 0   &&
+                    !CE_UseLoadFlags (N)) {
+                    /* Value is identical and not followed by a branch */
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_TXA:
                 if (RegValIsKnown (In->RegX)            &&
-                   In->RegX == In->RegA                &&
-                   (N = CS_GetNextEntry (S, I)) != 0   &&
-                           !CE_UseLoadFlags (N)) {
-                   /* Value is identical and not followed by a branch */
-                   Delete = 1;
-               }
-               break;
-
-           case OP65_TYA:
+                    In->RegX == In->RegA                &&
+                    (N = CS_GetNextEntry (S, I)) != 0   &&
+                    !CE_UseLoadFlags (N)) {
+                    /* Value is identical and not followed by a branch */
+                    Delete = 1;
+                }
+                break;
+
+            case OP65_TYA:
                 if (RegValIsKnown (In->RegY)            &&
-                           In->RegY == In->RegA                &&
-                   (N = CS_GetNextEntry (S, I)) != 0   &&
-                           !CE_UseLoadFlags (N)) {
-                   /* Value is identical and not followed by a branch */
-                   Delete = 1;
-               }
-               break;
+                    In->RegY == In->RegA                &&
+                    (N = CS_GetNextEntry (S, I)) != 0   &&
+                    !CE_UseLoadFlags (N)) {
+                    /* Value is identical and not followed by a branch */
+                    Delete = 1;
+                }
+                break;
 
-           default:
-               break;
+            default:
+                break;
 
-       }
+        }
 
-       /* Delete the entry if requested */
-       if (Delete) {
+        /* Delete the entry if requested */
+        if (Delete) {
 
-           /* Register value is not used, remove the load */
-           CS_DelEntry (S, I);
+            /* Register value is not used, remove the load */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       } else {
+        } else {
 
-           /* Next entry */
-           ++I;
+            /* Next entry */
+            ++I;
 
-       }
+        }
 
     }
 
@@ -1341,36 +1341,36 @@ unsigned OptStoreLoad (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-               CodeEntry* N;
-               CodeEntry* X;
-
-               /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check if it is a store instruction followed by a load from the
-        * same address which is itself not followed by a conditional branch.
-        */
-       if ((E->Info & OF_STORE) != 0                       &&
-           (N = CS_GetNextEntry (S, I)) != 0               &&
-           !CE_HasLabel (N)                                &&
-           E->AM == N->AM                                  &&
-                   ((E->OPC == OP65_STA && N->OPC == OP65_LDA) ||
-            (E->OPC == OP65_STX && N->OPC == OP65_LDX) ||
-            (E->OPC == OP65_STY && N->OPC == OP65_LDY))    &&
-           strcmp (E->Arg, N->Arg) == 0                    &&
-           (X = CS_GetNextEntry (S, I+1)) != 0             &&
+        CodeEntry* N;
+        CodeEntry* X;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check if it is a store instruction followed by a load from the
+         * same address which is itself not followed by a conditional branch.
+         */
+        if ((E->Info & OF_STORE) != 0                       &&
+            (N = CS_GetNextEntry (S, I)) != 0               &&
+            !CE_HasLabel (N)                                &&
+            E->AM == N->AM                                  &&
+            ((E->OPC == OP65_STA && N->OPC == OP65_LDA) ||
+             (E->OPC == OP65_STX && N->OPC == OP65_LDX) ||
+             (E->OPC == OP65_STY && N->OPC == OP65_LDY))    &&
+            strcmp (E->Arg, N->Arg) == 0                    &&
+            (X = CS_GetNextEntry (S, I+1)) != 0             &&
             !CE_UseLoadFlags (X)) {
 
-                   /* Register has already the correct value, remove the load */
-           CS_DelEntry (S, I+1);
+            /* Register has already the correct value, remove the load */
+            CS_DelEntry (S, I+1);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1389,56 +1389,56 @@ unsigned OptTransfers1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
-       CodeEntry* X;
-       CodeEntry* P;
-
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
-
-       /* Check if we have two transfer instructions */
-               if ((E->Info & OF_XFR) != 0                 &&
-           (N = CS_GetNextEntry (S, I)) != 0       &&
-           !CE_HasLabel (N)                        &&
-                   (N->Info & OF_XFR) != 0) {
-
-           /* Check if it's a transfer and back */
-                   if ((E->OPC == OP65_TAX && N->OPC == OP65_TXA && !RegXUsed (S, I+2)) ||
-                       (E->OPC == OP65_TAY && N->OPC == OP65_TYA && !RegYUsed (S, I+2)) ||
-                       (E->OPC == OP65_TXA && N->OPC == OP65_TAX && !RegAUsed (S, I+2)) ||
-                       (E->OPC == OP65_TYA && N->OPC == OP65_TAY && !RegAUsed (S, I+2))) {
-
-               /* If the next insn is a conditional branch, check if the insn
-                * preceeding the first xfr will set the flags right, otherwise we
-                * may not remove the sequence.
-                */
-               if ((X = CS_GetNextEntry (S, I+1)) == 0) {
-                   goto NextEntry;
-               }
+        CodeEntry* N;
+        CodeEntry* X;
+        CodeEntry* P;
+
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
+
+        /* Check if we have two transfer instructions */
+        if ((E->Info & OF_XFR) != 0                 &&
+            (N = CS_GetNextEntry (S, I)) != 0       &&
+            !CE_HasLabel (N)                        &&
+            (N->Info & OF_XFR) != 0) {
+
+            /* Check if it's a transfer and back */
+            if ((E->OPC == OP65_TAX && N->OPC == OP65_TXA && !RegXUsed (S, I+2)) ||
+                (E->OPC == OP65_TAY && N->OPC == OP65_TYA && !RegYUsed (S, I+2)) ||
+                (E->OPC == OP65_TXA && N->OPC == OP65_TAX && !RegAUsed (S, I+2)) ||
+                (E->OPC == OP65_TYA && N->OPC == OP65_TAY && !RegAUsed (S, I+2))) {
+
+                /* If the next insn is a conditional branch, check if the insn
+                 * preceeding the first xfr will set the flags right, otherwise we
+                 * may not remove the sequence.
+                 */
+                if ((X = CS_GetNextEntry (S, I+1)) == 0) {
+                    goto NextEntry;
+                }
                 if (CE_UseLoadFlags (X)) {
-                   if (I == 0) {
-                       /* No preceeding entry */
-                       goto NextEntry;
-                   }
-                   P = CS_GetEntry (S, I-1);
-                   if ((P->Info & OF_SETF) == 0) {
-                       /* Does not set the flags */
-                       goto NextEntry;
-                   }
-               }
-
-               /* Remove both transfers */
-               CS_DelEntry (S, I+1);
-               CS_DelEntry (S, I);
-
-               /* Remember, we had changes */
-               ++Changes;
-           }
-       }
+                    if (I == 0) {
+                        /* No preceeding entry */
+                        goto NextEntry;
+                    }
+                    P = CS_GetEntry (S, I-1);
+                    if ((P->Info & OF_SETF) == 0) {
+                        /* Does not set the flags */
+                        goto NextEntry;
+                    }
+                }
+
+                /* Remove both transfers */
+                CS_DelEntry (S, I+1);
+                CS_DelEntry (S, I);
+
+                /* Remember, we had changes */
+                ++Changes;
+            }
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1459,18 +1459,18 @@ unsigned OptTransfers2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* N;
+        CodeEntry* N;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if we have a load followed by a transfer where the loaded
+        /* Check if we have a load followed by a transfer where the loaded
          * register is not used later.
          */
-               if ((E->Info & OF_LOAD) != 0                &&
-                   (N = CS_GetNextEntry (S, I)) != 0       &&
-           !CE_HasLabel (N)                        &&
-                   (N->Info & OF_XFR) != 0                 &&
+        if ((E->Info & OF_LOAD) != 0                &&
+            (N = CS_GetNextEntry (S, I)) != 0       &&
+            !CE_HasLabel (N)                        &&
+            (N->Info & OF_XFR) != 0                 &&
             GetRegInfo (S, I+2, E->Chg) != E->Chg) {
 
             CodeEntry* X = 0;
@@ -1512,10 +1512,10 @@ unsigned OptTransfers2 (CodeSeg* S)
                 ++Changes;
                 --I;    /* Correct for one entry less */
             }
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -1549,8 +1549,8 @@ unsigned OptTransfers3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         switch (State) {
 
@@ -1698,8 +1698,8 @@ unsigned OptTransfers3 (CodeSeg* S)
 
         }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -1731,8 +1731,8 @@ unsigned OptTransfers4 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         switch (State) {
 
@@ -1856,8 +1856,8 @@ unsigned OptTransfers4 (CodeSeg* S)
 
         }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -1893,8 +1893,8 @@ unsigned OptPushPop (CodeSeg* S)
 
         CodeEntry* X;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         switch (State) {
 
@@ -1983,8 +1983,8 @@ unsigned OptPushPop (CodeSeg* S)
 
         }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -2005,11 +2005,11 @@ unsigned OptPrecalc (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-               /* Get pointers to the input and output registers of the insn */
-               const RegContents* Out = &E->RI->Out;
+        /* Get pointers to the input and output registers of the insn */
+        const RegContents* Out = &E->RI->Out;
         const RegContents* In  = &E->RI->In;
 
         /* Argument for LDn and flag */
@@ -2113,8 +2113,8 @@ unsigned OptPrecalc (CodeSeg* S)
             ++Changes;
         }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* Return the number of changes made */
@@ -2124,7 +2124,7 @@ unsigned OptPrecalc (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                          Optimize branch types                           */
+/*                           Optimize branch types                           */
 /*****************************************************************************/
 
 
@@ -2138,49 +2138,49 @@ unsigned OptBranchDist (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's a conditional branch to a local label. */
-               if (E->Info & OF_CBRA) {
+        /* Check if it's a conditional branch to a local label. */
+        if (E->Info & OF_CBRA) {
 
-           /* Is this a branch to a local symbol? */
-           if (E->JumpTo != 0) {
+            /* Is this a branch to a local symbol? */
+            if (E->JumpTo != 0) {
 
-                       /* Check if the branch distance is short */
-                       int IsShort = IsShortDist (GetBranchDist (S, I, E->JumpTo->Owner));
+                /* Check if the branch distance is short */
+                int IsShort = IsShortDist (GetBranchDist (S, I, E->JumpTo->Owner));
 
-               /* Make the branch short/long according to distance */
-               if ((E->Info & OF_LBRA) == 0 && !IsShort) {
-                   /* Short branch but long distance */
-                   CE_ReplaceOPC (E, MakeLongBranch (E->OPC));
-                   ++Changes;
-               } else if ((E->Info & OF_LBRA) != 0 && IsShort) {
-                   /* Long branch but short distance */
-                   CE_ReplaceOPC (E, MakeShortBranch (E->OPC));
-                   ++Changes;
-               }
+                /* Make the branch short/long according to distance */
+                if ((E->Info & OF_LBRA) == 0 && !IsShort) {
+                    /* Short branch but long distance */
+                    CE_ReplaceOPC (E, MakeLongBranch (E->OPC));
+                    ++Changes;
+                } else if ((E->Info & OF_LBRA) != 0 && IsShort) {
+                    /* Long branch but short distance */
+                    CE_ReplaceOPC (E, MakeShortBranch (E->OPC));
+                    ++Changes;
+                }
 
-           } else if ((E->Info & OF_LBRA) == 0) {
+            } else if ((E->Info & OF_LBRA) == 0) {
 
-               /* Short branch to external symbol - make it long */
-               CE_ReplaceOPC (E, MakeLongBranch (E->OPC));
-               ++Changes;
+                /* Short branch to external symbol - make it long */
+                CE_ReplaceOPC (E, MakeLongBranch (E->OPC));
+                ++Changes;
 
-           }
+            }
 
-               } else if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 &&
-                  (E->Info & OF_UBRA) != 0               &&
-                  E->JumpTo != 0                         &&
-                  IsShortDist (GetBranchDist (S, I, E->JumpTo->Owner))) {
+        } else if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 &&
+                   (E->Info & OF_UBRA) != 0               &&
+                   E->JumpTo != 0                         &&
+                   IsShortDist (GetBranchDist (S, I, E->JumpTo->Owner))) {
 
-           /* The jump is short and may be replaced by a BRA on the 65C02 CPU */
-           CE_ReplaceOPC (E, OP65_BRA);
-           ++Changes;
-       }
+            /* The jump is short and may be replaced by a BRA on the 65C02 CPU */
+            CE_ReplaceOPC (E, OP65_BRA);
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -2215,26 +2215,26 @@ unsigned OptIndLoads1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's what we're looking for */
-               if (E->OPC == OP65_LDA          &&
+        /* Check if it's what we're looking for */
+        if (E->OPC == OP65_LDA          &&
             E->AM == AM65_ZP_INDY       &&
             E->RI->In.RegY == 0         &&
             E->RI->In.RegX == 0) {
 
-           /* Replace by the same insn with other addressing mode */
+            /* Replace by the same insn with other addressing mode */
             CodeEntry* X = NewCodeEntry (E->OPC, AM65_ZPX_IND, E->Arg, 0, E->LI);
             CS_InsertEntry (S, X, I+1);
 
             /* Remove the old insn */
             CS_DelEntry (S, I);
             ++Changes;
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -2263,26 +2263,26 @@ unsigned OptIndLoads2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if it's what we're looking for */
-               if (E->OPC == OP65_LDA          &&
+        /* Check if it's what we're looking for */
+        if (E->OPC == OP65_LDA          &&
             E->AM == AM65_ZPX_IND       &&
             E->RI->In.RegY == 0         &&
             E->RI->In.RegX == 0) {
 
-           /* Replace by the same insn with other addressing mode */
+            /* Replace by the same insn with other addressing mode */
             CodeEntry* X = NewCodeEntry (E->OPC, AM65_ZP_INDY, E->Arg, 0, E->LI);
             CS_InsertEntry (S, X, I+1);
 
             /* Remove the old insn */
             CS_DelEntry (S, I);
             ++Changes;
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 0ea7cd1b93bd722a4dd1bcdfa471d7ef2628aaf8..83a3f964c5cd8b4851cab809381c7d49901933e6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptind.h                                 */
+/*                                 coptind.h                                 */
 /*                                                                           */
-/*             Environment independent low level optimizations              */
+/*              Environment independent low level optimizations              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 083815e9a7476f198584b9d76897f2c3ce4bb9eb..2bc0e6b2fdd280819e1516360c057874e1358ae3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptneg.c                                 */
+/*                                 coptneg.c                                 */
 /*                                                                           */
-/*                       Optimize negation sequences                        */
+/*                        Optimize negation sequences                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                           bnega optimizations                            */
+/*                            bnega optimizations                            */
 /*****************************************************************************/
 
 
@@ -49,9 +49,9 @@
 unsigned OptBNegA1 (CodeSeg* S)
 /* Check for
  *
- *     ldx     #$00
- *     lda     ..
- *     jsr     bnega
+ *      ldx     #$00
+ *      lda     ..
+ *      jsr     bnega
  *
  * Remove the ldx if the lda does not use it.
  */
@@ -62,33 +62,33 @@ unsigned OptBNegA1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for a ldx */
-               if (E->OPC == OP65_LDX                  &&
-           E->AM == AM65_IMM                   &&
-           (E->Flags & CEF_NUMARG) != 0        &&
-           E->Num == 0                         &&
-           CS_GetEntries (S, L, I+1, 2)        &&
-           L[0]->OPC == OP65_LDA               &&
-           (L[0]->Use & REG_X) == 0            &&
-           !CE_HasLabel (L[0])                 &&
-           CE_IsCallTo (L[1], "bnega")         &&
-           !CE_HasLabel (L[1])) {
+        /* Check for a ldx */
+        if (E->OPC == OP65_LDX                  &&
+            E->AM == AM65_IMM                   &&
+            (E->Flags & CEF_NUMARG) != 0        &&
+            E->Num == 0                         &&
+            CS_GetEntries (S, L, I+1, 2)        &&
+            L[0]->OPC == OP65_LDA               &&
+            (L[0]->Use & REG_X) == 0            &&
+            !CE_HasLabel (L[0])                 &&
+            CE_IsCallTo (L[1], "bnega")         &&
+            !CE_HasLabel (L[1])) {
 
-           /* Remove the ldx instruction */
-           CS_DelEntry (S, I);
+            /* Remove the ldx instruction */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -101,9 +101,9 @@ unsigned OptBNegA1 (CodeSeg* S)
 unsigned OptBNegA2 (CodeSeg* S)
 /* Check for
  *
- *     lda     ..
- *     jsr     bnega
- *     jeq/jne ..
+ *      lda     ..
+ *      jsr     bnega
+ *      jeq/jne ..
  *
  * Adjust the conditional branch and remove the call to the subroutine.
  */
@@ -114,42 +114,42 @@ unsigned OptBNegA2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if ((E->OPC == OP65_ADC ||
-            E->OPC == OP65_AND ||
-            E->OPC == OP65_DEA ||
-            E->OPC == OP65_EOR ||
-            E->OPC == OP65_INA ||
-                    E->OPC == OP65_LDA ||
-            E->OPC == OP65_ORA ||
-            E->OPC == OP65_PLA ||
-            E->OPC == OP65_SBC ||
-            E->OPC == OP65_TXA ||
-            E->OPC == OP65_TYA)                &&
-           CS_GetEntries (S, L, I+1, 2)        &&
-                   CE_IsCallTo (L[0], "bnega")         &&
-           !CE_HasLabel (L[0])                 &&
-           (L[1]->Info & OF_ZBRA) != 0         &&
-           !CE_HasLabel (L[1])) {
+        /* Check for the sequence */
+        if ((E->OPC == OP65_ADC ||
+             E->OPC == OP65_AND ||
+             E->OPC == OP65_DEA ||
+             E->OPC == OP65_EOR ||
+             E->OPC == OP65_INA ||
+             E->OPC == OP65_LDA ||
+             E->OPC == OP65_ORA ||
+             E->OPC == OP65_PLA ||
+             E->OPC == OP65_SBC ||
+             E->OPC == OP65_TXA ||
+             E->OPC == OP65_TYA)                &&
+            CS_GetEntries (S, L, I+1, 2)        &&
+            CE_IsCallTo (L[0], "bnega")         &&
+            !CE_HasLabel (L[0])                 &&
+            (L[1]->Info & OF_ZBRA) != 0         &&
+            !CE_HasLabel (L[1])) {
 
-           /* Invert the branch */
-           CE_ReplaceOPC (L[1], GetInverseBranch (L[1]->OPC));
+            /* Invert the branch */
+            CE_ReplaceOPC (L[1], GetInverseBranch (L[1]->OPC));
 
-           /* Delete the subroutine call */
-           CS_DelEntry (S, I+1);
+            /* Delete the subroutine call */
+            CS_DelEntry (S, I+1);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -160,7 +160,7 @@ unsigned OptBNegA2 (CodeSeg* S)
 
 
 /*****************************************************************************/
-/*                           bnegax optimizations                           */
+/*                            bnegax optimizations                           */
 /*****************************************************************************/
 
 
@@ -178,22 +178,22 @@ unsigned OptBNegAX1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if this is a call to bnegax, and if X is known and zero */
-       if (E->RI->In.RegX == 0 && CE_IsCallTo (E, "bnegax")) {
+        /* Check if this is a call to bnegax, and if X is known and zero */
+        if (E->RI->In.RegX == 0 && CE_IsCallTo (E, "bnegax")) {
 
-           CodeEntry* X = NewCodeEntry (OP65_JSR, AM65_ABS, "bnega", 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
-           CS_DelEntry (S, I);
+            CodeEntry* X = NewCodeEntry (OP65_JSR, AM65_ABS, "bnega", 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
+            CS_DelEntry (S, I);
 
-           /* We had changes */
-           ++Changes;
-       }
+            /* We had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -208,16 +208,16 @@ unsigned OptBNegAX2 (CodeSeg* S)
  *
  *      ldy     #xx
  *      jsr     ldaxysp
- *     jsr     bnegax
- *     jne/jeq ...
+ *      jsr     bnegax
+ *      jne/jeq ...
  *
  * and replace it by
  *
  *      ldy     #xx
- *     lda     (sp),y
- *     dey
- *     ora     (sp),y
- *     jeq/jne ...
+ *      lda     (sp),y
+ *      dey
+ *      ora     (sp),y
+ *      jeq/jne ...
  */
 {
     unsigned Changes = 0;
@@ -226,47 +226,47 @@ unsigned OptBNegAX2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[4];
+        CodeEntry* L[4];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if (L[0]->OPC == OP65_LDY               &&
-           CE_IsConstImm (L[0])                &&
-           !CS_RangeHasLabel (S, I+1, 3)       &&
-                   CS_GetEntries (S, L+1, I+1, 3)      &&
-           CE_IsCallTo (L[1], "ldaxysp")       &&
-                   CE_IsCallTo (L[2], "bnegax")        &&
-                   (L[3]->Info & OF_ZBRA) != 0) {
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDY               &&
+            CE_IsConstImm (L[0])                &&
+            !CS_RangeHasLabel (S, I+1, 3)       &&
+            CS_GetEntries (S, L+1, I+1, 3)      &&
+            CE_IsCallTo (L[1], "ldaxysp")       &&
+            CE_IsCallTo (L[2], "bnegax")        &&
+            (L[3]->Info & OF_ZBRA) != 0) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-           /* lda (sp),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+1);
+            /* lda (sp),y */
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+1);
 
-           /* dey */
-           X = NewCodeEntry (OP65_DEY, AM65_IMP, 0, 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+2);
+            /* dey */
+            X = NewCodeEntry (OP65_DEY, AM65_IMP, 0, 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+2);
 
-           /* ora (sp),y */
-           X = NewCodeEntry (OP65_ORA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+3);
+            /* ora (sp),y */
+            X = NewCodeEntry (OP65_ORA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+3);
 
-           /* Invert the branch */
-                   CE_ReplaceOPC (L[3], GetInverseBranch (L[3]->OPC));
+            /* Invert the branch */
+            CE_ReplaceOPC (L[3], GetInverseBranch (L[3]->OPC));
 
-           /* Delete the entries no longer needed. */
-                   CS_DelEntries (S, I+4, 2);
+            /* Delete the entries no longer needed. */
+            CS_DelEntries (S, I+4, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -279,16 +279,16 @@ unsigned OptBNegAX2 (CodeSeg* S)
 unsigned OptBNegAX3 (CodeSeg* S)
 /* Search for the sequence:
  *
- *     lda     xx
- *     ldx     yy
- *     jsr     bnegax
- *     jne/jeq ...
+ *      lda     xx
+ *      ldx     yy
+ *      jsr     bnegax
+ *      jne/jeq ...
  *
  * and replace it by
  *
- *     lda     xx
- *     ora     xx+1
- *     jeq/jne ...
+ *      lda     xx
+ *      ora     xx+1
+ *      jeq/jne ...
  */
 {
     unsigned Changes = 0;
@@ -297,37 +297,37 @@ unsigned OptBNegAX3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (E->OPC == OP65_LDA                  &&
-                   CS_GetEntries (S, L, I+1, 3)        &&
-           L[0]->OPC == OP65_LDX               &&
-           !CE_HasLabel (L[0])                 &&
-                   CE_IsCallTo (L[1], "bnegax")        &&
-           !CE_HasLabel (L[1])                 &&
-                   (L[2]->Info & OF_ZBRA) != 0         &&
-           !CE_HasLabel (L[2])) {
+        /* Check for the sequence */
+        if (E->OPC == OP65_LDA                  &&
+            CS_GetEntries (S, L, I+1, 3)        &&
+            L[0]->OPC == OP65_LDX               &&
+            !CE_HasLabel (L[0])                 &&
+            CE_IsCallTo (L[1], "bnegax")        &&
+            !CE_HasLabel (L[1])                 &&
+            (L[2]->Info & OF_ZBRA) != 0         &&
+            !CE_HasLabel (L[2])) {
 
-           /* ldx --> ora */
-           CE_ReplaceOPC (L[0], OP65_ORA);
+            /* ldx --> ora */
+            CE_ReplaceOPC (L[0], OP65_ORA);
 
-           /* Invert the branch */
-                   CE_ReplaceOPC (L[2], GetInverseBranch (L[2]->OPC));
+            /* Invert the branch */
+            CE_ReplaceOPC (L[2], GetInverseBranch (L[2]->OPC));
 
-           /* Delete the subroutine call */
-                   CS_DelEntry (S, I+2);
+            /* Delete the subroutine call */
+            CS_DelEntry (S, I+2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -340,15 +340,15 @@ unsigned OptBNegAX3 (CodeSeg* S)
 unsigned OptBNegAX4 (CodeSeg* S)
 /* Search for the sequence:
  *
- *     jsr     xxx
- *     jsr     bnega(x)
- *     jeq/jne ...
+ *      jsr     xxx
+ *      jsr     bnega(x)
+ *      jeq/jne ...
  *
  * and replace it by:
  *
- *      jsr    xxx
- *     <boolean test>
- *     jne/jeq ...
+ *      jsr     xxx
+ *      <boolean test>
+ *      jne/jeq ...
  */
 {
     unsigned Changes = 0;
@@ -357,51 +357,51 @@ unsigned OptBNegAX4 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (E->OPC == OP65_JSR                  &&
-                   CS_GetEntries (S, L, I+1, 2)        &&
-                   L[0]->OPC == OP65_JSR               &&
-           strncmp (L[0]->Arg,"bnega",5) == 0  &&
-           !CE_HasLabel (L[0])                 &&
-                   (L[1]->Info & OF_ZBRA) != 0         &&
-           !CE_HasLabel (L[1])) {
+        /* Check for the sequence */
+        if (E->OPC == OP65_JSR                  &&
+            CS_GetEntries (S, L, I+1, 2)        &&
+            L[0]->OPC == OP65_JSR               &&
+            strncmp (L[0]->Arg,"bnega",5) == 0  &&
+            !CE_HasLabel (L[0])                 &&
+            (L[1]->Info & OF_ZBRA) != 0         &&
+            !CE_HasLabel (L[1])) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-           /* Check if we're calling bnega or bnegax */
-           int ByteSized = (strcmp (L[0]->Arg, "bnega") == 0);
+            /* Check if we're calling bnega or bnegax */
+            int ByteSized = (strcmp (L[0]->Arg, "bnega") == 0);
 
-           /* Insert apropriate test code */
-           if (ByteSized) {
-               /* Test bytes */
-               X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+2);
-           } else {
-               /* Test words */
-               X = NewCodeEntry (OP65_STX, AM65_ZP, "tmp1", 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+2);
-               X = NewCodeEntry (OP65_ORA, AM65_ZP, "tmp1", 0, L[0]->LI);
-               CS_InsertEntry (S, X, I+3);
-           }
+            /* Insert apropriate test code */
+            if (ByteSized) {
+                /* Test bytes */
+                X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+2);
+            } else {
+                /* Test words */
+                X = NewCodeEntry (OP65_STX, AM65_ZP, "tmp1", 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+2);
+                X = NewCodeEntry (OP65_ORA, AM65_ZP, "tmp1", 0, L[0]->LI);
+                CS_InsertEntry (S, X, I+3);
+            }
 
-           /* Delete the subroutine call */
-           CS_DelEntry (S, I+1);
+            /* Delete the subroutine call */
+            CS_DelEntry (S, I+1);
 
-           /* Invert the branch */
-                   CE_ReplaceOPC (L[1], GetInverseBranch (L[1]->OPC));
+            /* Invert the branch */
+            CE_ReplaceOPC (L[1], GetInverseBranch (L[1]->OPC));
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -434,17 +434,17 @@ unsigned OptNegAX1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if this is a call to negax, and if X isn't used later */
-               if (CE_IsCallTo (E, "negax") && !RegXUsed (S, I+1)) {
+        /* Check if this is a call to negax, and if X isn't used later */
+        if (CE_IsCallTo (E, "negax") && !RegXUsed (S, I+1)) {
 
             CodeEntry* X;
 
             /* Add replacement code behind */
-           X = NewCodeEntry (OP65_EOR, AM65_IMM, "$FF", 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
+            X = NewCodeEntry (OP65_EOR, AM65_IMM, "$FF", 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
 
             X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, E->LI);
             CS_InsertEntry (S, X, I+2);
@@ -453,17 +453,17 @@ unsigned OptNegAX1 (CodeSeg* S)
             CS_InsertEntry (S, X, I+3);
 
             /* Delete the call to negax */
-           CS_DelEntry (S, I);
+            CS_DelEntry (S, I);
 
             /* Skip the generated code */
             I += 2;
 
-           /* We had changes */
-           ++Changes;
-       }
+            /* We had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -496,11 +496,11 @@ unsigned OptNegAX2 (CodeSeg* S)
 
         CodeEntry* P;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if this is a call to negax, and if X is known and zero */
-       if (E->RI->In.RegX == 0                 &&
+        /* Check if this is a call to negax, and if X is known and zero */
+        if (E->RI->In.RegX == 0                 &&
             CE_IsCallTo (E, "negax")            &&
             (P = CS_GetNextEntry (S, I)) != 0) {
 
@@ -510,12 +510,12 @@ unsigned OptNegAX2 (CodeSeg* S)
             /* Add replacement code behind */
 
             /* ldx #$FF */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$FF", 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$FF", 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
 
             /* eor #$FF */
-           X = NewCodeEntry (OP65_EOR, AM65_IMM, "$FF", 0, E->LI);
-           CS_InsertEntry (S, X, I+2);
+            X = NewCodeEntry (OP65_EOR, AM65_IMM, "$FF", 0, E->LI);
+            CS_InsertEntry (S, X, I+2);
 
             /* clc */
             X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, E->LI);
@@ -537,17 +537,17 @@ unsigned OptNegAX2 (CodeSeg* S)
             CS_InsertEntry (S, X, I+6);
 
             /* Delete the call to negax */
-           CS_DelEntry (S, I);
+            CS_DelEntry (S, I);
 
             /* Skip the generated code */
             I += 5;
 
-           /* We had changes */
-           ++Changes;
-       }
+            /* We had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -578,27 +578,27 @@ unsigned OptComplAX1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check if this is a call to negax, and if X isn't used later */
-               if (CE_IsCallTo (E, "complax") && !RegXUsed (S, I+1)) {
+        /* Check if this is a call to negax, and if X isn't used later */
+        if (CE_IsCallTo (E, "complax") && !RegXUsed (S, I+1)) {
 
             CodeEntry* X;
 
             /* Add replacement code behind */
-           X = NewCodeEntry (OP65_EOR, AM65_IMM, "$FF", 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
+            X = NewCodeEntry (OP65_EOR, AM65_IMM, "$FF", 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
 
             /* Delete the call to negax */
-           CS_DelEntry (S, I);
+            CS_DelEntry (S, I);
 
-           /* We had changes */
-           ++Changes;
-       }
+            /* We had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index f5c36f79fa8409e7b918e8d7f23e83ff9a3b27a6..580faaa67744200fa99cce1f24dafd48e5c57212 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptneg.h                                 */
+/*                                 coptneg.h                                 */
 /*                                                                           */
-/*                       Optimize negation sequences                        */
+/*                        Optimize negation sequences                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                           bnega optimizations                            */
+/*                            bnega optimizations                            */
 /*****************************************************************************/
 
 
@@ -52,9 +52,9 @@
 unsigned OptBNegA1 (CodeSeg* S);
 /* Check for
  *
- *     ldx     #$00
- *     lda     ..
- *     jsr     bnega
+ *      ldx     #$00
+ *      lda     ..
+ *      jsr     bnega
  *
  * Remove the ldx if the lda does not use it.
  */
@@ -62,9 +62,9 @@ unsigned OptBNegA1 (CodeSeg* S);
 unsigned OptBNegA2 (CodeSeg* S);
 /* Check for
  *
- *     lda     ..
- *     jsr     bnega
- *     jeq/jne ..
+ *      lda     ..
+ *      jsr     bnega
+ *      jeq/jne ..
  *
  * Adjust the conditional branch and remove the call to the subroutine.
  */
@@ -72,7 +72,7 @@ unsigned OptBNegA2 (CodeSeg* S);
 
 
 /*****************************************************************************/
-/*                           bnegax optimizations                           */
+/*                            bnegax optimizations                           */
 /*****************************************************************************/
 
 
@@ -86,48 +86,48 @@ unsigned OptBNegAX1 (CodeSeg* S);
 unsigned OptBNegAX2 (CodeSeg* S);
 /* Search for the sequence:
  *
- *     lda     (xx),y
- *     tax
- *     dey
- *     lda     (xx),y
- *     jsr     bnegax
- *     jne/jeq ...
+ *      lda     (xx),y
+ *      tax
+ *      dey
+ *      lda     (xx),y
+ *      jsr     bnegax
+ *      jne/jeq ...
  *
  * and replace it by
  *
- *     lda     (xx),y
- *     dey
- *     ora     (xx),y
- *     jeq/jne ...
+ *      lda     (xx),y
+ *      dey
+ *      ora     (xx),y
+ *      jeq/jne ...
  */
 
 unsigned OptBNegAX3 (CodeSeg* S);
 /* Search for the sequence:
  *
- *     lda     xx
- *     ldx     yy
- *     jsr     bnegax
- *     jne/jeq ...
+ *      lda     xx
+ *      ldx     yy
+ *      jsr     bnegax
+ *      jne/jeq ...
  *
  * and replace it by
  *
- *     lda     xx
- *     ora     xx+1
- *     jeq/jne ...
+ *      lda     xx
+ *      ora     xx+1
+ *      jeq/jne ...
  */
 
 unsigned OptBNegAX4 (CodeSeg* S);
 /* Search for the sequence:
  *
- *     jsr     xxx
- *     jsr     bnega(x)
- *     jeq/jne ...
+ *      jsr     xxx
+ *      jsr     bnega(x)
+ *      jeq/jne ...
  *
  * and replace it by:
  *
- *      jsr    xxx
- *     <boolean test>
- *     jne/jeq ...
+ *      jsr     xxx
+ *      <boolean test>
+ *      jne/jeq ...
  */
 
 
index 479010b88860fc0e471278ed6ca841f5c21418e2..43f3cc49c31270208daa9bd8c3188b5b3c97edaf 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,14 +55,14 @@ unsigned OptPtrLoad1 (CodeSeg* S)
 /* Search for the sequence:
  *
  *      clc
- *      adc            xxx
+ *      adc     xxx
  *      tay
  *      txa
  *      adc     yyy
  *      tax
  *      tya
  *      ldy     #$00
- *     jsr     ldauidx
+ *      jsr     ldauidx
  *
  * and replace it by:
  *
@@ -82,30 +82,30 @@ unsigned OptPtrLoad1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[9];
+        CodeEntry* L[9];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_CLC               &&
-                   CS_GetEntries (S, L+1, I+1, 8)      &&
-           L[1]->OPC == OP65_ADC               &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_CLC               &&
+            CS_GetEntries (S, L+1, I+1, 8)      &&
+            L[1]->OPC == OP65_ADC               &&
             (L[1]->AM == AM65_ABS          ||
              L[1]->AM == AM65_ZP           ||
              L[1]->AM == AM65_IMM)              &&
-                   L[2]->OPC == OP65_TAY               &&
-           L[3]->OPC == OP65_TXA               &&
-           L[4]->OPC == OP65_ADC               &&
-           L[5]->OPC == OP65_TAX               &&
-           L[6]->OPC == OP65_TYA               &&
-           L[7]->OPC == OP65_LDY               &&
+            L[2]->OPC == OP65_TAY               &&
+            L[3]->OPC == OP65_TXA               &&
+            L[4]->OPC == OP65_ADC               &&
+            L[5]->OPC == OP65_TAX               &&
+            L[6]->OPC == OP65_TYA               &&
+            L[7]->OPC == OP65_LDY               &&
             CE_IsKnownImm (L[7], 0)             &&
-                   CE_IsCallTo (L[8], "ldauidx")       &&
+            CE_IsCallTo (L[8], "ldauidx")       &&
             !CS_RangeHasLabel (S, I+1, 8)) {
 
-           CodeEntry* X;
-           CodeEntry* P;
+            CodeEntry* X;
+            CodeEntry* P;
 
             /* Track the insertion point */
             unsigned IP = I+9;
@@ -114,15 +114,15 @@ unsigned OptPtrLoad1 (CodeSeg* S)
             X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[2]->LI);
             CS_InsertEntry (S, X, IP++);
 
-           /* If the instruction before the clc is a ldx, replace the
-            * txa by an lda with the same location of the ldx. Otherwise
+            /* If the instruction before the clc is a ldx, replace the
+             * txa by an lda with the same location of the ldx. Otherwise
              * transfer the value in X to A.
-            */
-           if ((P = CS_GetPrevEntry (S, I)) != 0 &&
-               P->OPC == OP65_LDX                &&
-               !CE_HasLabel (P)) {
-               X = NewCodeEntry (OP65_LDA, P->AM, P->Arg, 0, P->LI);
-           } else {
+             */
+            if ((P = CS_GetPrevEntry (S, I)) != 0 &&
+                P->OPC == OP65_LDX                &&
+                !CE_HasLabel (P)) {
+                X = NewCodeEntry (OP65_LDA, P->AM, P->Arg, 0, P->LI);
+            } else {
                 X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, L[3]->LI);
             }
             CS_InsertEntry (S, X, IP++);
@@ -148,19 +148,19 @@ unsigned OptPtrLoad1 (CodeSeg* S)
             CS_InsertEntry (S, X, IP++);
 
             /* lda (ptr1),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[8]->LI);
-           CS_InsertEntry (S, X, IP++);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[8]->LI);
+            CS_InsertEntry (S, X, IP++);
 
             /* Remove the old instructions */
             CS_DelEntries (S, I, 9);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -173,7 +173,7 @@ unsigned OptPtrLoad1 (CodeSeg* S)
 unsigned OptPtrLoad2 (CodeSeg* S)
 /* Search for the sequence:
  *
- *      adc            xxx
+ *      adc     xxx
  *      pha
  *      txa
  *      iny
@@ -181,18 +181,18 @@ unsigned OptPtrLoad2 (CodeSeg* S)
  *      tax
  *      pla
  *      ldy
- *     jsr     ldauidx
+ *      jsr     ldauidx
  *
  * and replace it by:
  *
- *      adc            xxx
+ *      adc     xxx
  *      sta     ptr1
  *      txa
  *      iny
  *      adc     yyy
  *      sta     ptr1+1
  *      ldy
- *             ldx     #$00
+ *      ldx     #$00
  *      lda     (ptr1),y
  */
 {
@@ -202,53 +202,53 @@ unsigned OptPtrLoad2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[9];
-
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_ADC               &&
-                   CS_GetEntries (S, L+1, I+1, 8)      &&
-                   L[1]->OPC == OP65_PHA               &&
-           L[2]->OPC == OP65_TXA               &&
-           L[3]->OPC == OP65_INY               &&
-                   L[4]->OPC == OP65_ADC               &&
-           L[5]->OPC == OP65_TAX               &&
-           L[6]->OPC == OP65_PLA               &&
-           L[7]->OPC == OP65_LDY               &&
-                   CE_IsCallTo (L[8], "ldauidx")       &&
-                   !CS_RangeHasLabel (S, I+1, 8)) {
+        CodeEntry* L[9];
+
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_ADC               &&
+            CS_GetEntries (S, L+1, I+1, 8)      &&
+            L[1]->OPC == OP65_PHA               &&
+            L[2]->OPC == OP65_TXA               &&
+            L[3]->OPC == OP65_INY               &&
+            L[4]->OPC == OP65_ADC               &&
+            L[5]->OPC == OP65_TAX               &&
+            L[6]->OPC == OP65_PLA               &&
+            L[7]->OPC == OP65_LDY               &&
+            CE_IsCallTo (L[8], "ldauidx")       &&
+            !CS_RangeHasLabel (S, I+1, 8)) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-                   /* Store the low byte and remove the PHA instead */
-           X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+1);
+            /* Store the low byte and remove the PHA instead */
+            X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+1);
 
-           /* Store the high byte */
-           X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1+1", 0, L[4]->LI);
-           CS_InsertEntry (S, X, I+6);
+            /* Store the high byte */
+            X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1+1", 0, L[4]->LI);
+            CS_InsertEntry (S, X, I+6);
 
-           /* Load high and low byte */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[6]->LI);
-           CS_InsertEntry (S, X, I+10);
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[6]->LI);
-           CS_InsertEntry (S, X, I+11);
+            /* Load high and low byte */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[6]->LI);
+            CS_InsertEntry (S, X, I+10);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[6]->LI);
+            CS_InsertEntry (S, X, I+11);
 
-           /* Delete the old code */
-           CS_DelEntry (S, I+12);      /* jsr ldauidx */
-           CS_DelEntry (S, I+8);       /* pla */
-           CS_DelEntry (S, I+7);       /* tax */
-           CS_DelEntry (S, I+2);       /* pha */
+            /* Delete the old code */
+            CS_DelEntry (S, I+12);      /* jsr ldauidx */
+            CS_DelEntry (S, I+8);       /* pla */
+            CS_DelEntry (S, I+7);       /* tax */
+            CS_DelEntry (S, I+2);       /* pha */
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -283,66 +283,66 @@ unsigned OptPtrLoad3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[8];
-       unsigned Len;
-
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDA                            &&
-           L[0]->AM == AM65_IMM                             &&
-                   CS_GetEntries (S, L+1, I+1, 7)                   &&
-                   L[1]->OPC == OP65_LDX                            &&
-           L[1]->AM == AM65_IMM                             &&
-           L[2]->OPC == OP65_CLC                            &&
-           L[3]->OPC == OP65_ADC                            &&
-           (L[3]->AM == AM65_ABS || L[3]->AM == AM65_ZP)    &&
-                   (L[4]->OPC == OP65_BCC || L[4]->OPC == OP65_JCC) &&
-                   L[4]->JumpTo != 0                                &&
-                   L[4]->JumpTo->Owner == L[6]                      &&
-           L[5]->OPC == OP65_INX                            &&
-           L[6]->OPC == OP65_LDY                            &&
-           CE_IsKnownImm (L[6], 0)                          &&
-                   CE_IsCallTo (L[7], "ldauidx")                    &&
-                   !CS_RangeHasLabel (S, I+1, 5)                    &&
+        CodeEntry* L[8];
+        unsigned Len;
+
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA                            &&
+            L[0]->AM == AM65_IMM                             &&
+            CS_GetEntries (S, L+1, I+1, 7)                   &&
+            L[1]->OPC == OP65_LDX                            &&
+            L[1]->AM == AM65_IMM                             &&
+            L[2]->OPC == OP65_CLC                            &&
+            L[3]->OPC == OP65_ADC                            &&
+            (L[3]->AM == AM65_ABS || L[3]->AM == AM65_ZP)    &&
+            (L[4]->OPC == OP65_BCC || L[4]->OPC == OP65_JCC) &&
+            L[4]->JumpTo != 0                                &&
+            L[4]->JumpTo->Owner == L[6]                      &&
+            L[5]->OPC == OP65_INX                            &&
+            L[6]->OPC == OP65_LDY                            &&
+            CE_IsKnownImm (L[6], 0)                          &&
+            CE_IsCallTo (L[7], "ldauidx")                    &&
+            !CS_RangeHasLabel (S, I+1, 5)                    &&
             !CE_HasLabel (L[7])                              &&
-           /* Check the label last because this is quite costly */
-           (Len = strlen (L[0]->Arg)) > 3                   &&
-           L[0]->Arg[0] == '<'                              &&
-           L[0]->Arg[1] == '('                              &&
-           strlen (L[1]->Arg) == Len                        &&
-           L[1]->Arg[0] == '>'                              &&
-                   memcmp (L[0]->Arg+1, L[1]->Arg+1, Len-1) == 0) {
-
-           CodeEntry* X;
-           char* Label;
-
-           /* We will create all the new stuff behind the current one so
-            * we keep the line references.
-            */
-           X = NewCodeEntry (OP65_LDY, L[3]->AM, L[3]->Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+8);
+            /* Check the label last because this is quite costly */
+            (Len = strlen (L[0]->Arg)) > 3                   &&
+            L[0]->Arg[0] == '<'                              &&
+            L[0]->Arg[1] == '('                              &&
+            strlen (L[1]->Arg) == Len                        &&
+            L[1]->Arg[0] == '>'                              &&
+            memcmp (L[0]->Arg+1, L[1]->Arg+1, Len-1) == 0) {
+
+            CodeEntry* X;
+            char* Label;
+
+            /* We will create all the new stuff behind the current one so
+             * we keep the line references.
+             */
+            X = NewCodeEntry (OP65_LDY, L[3]->AM, L[3]->Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+8);
 
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+9);
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+9);
 
-           Label = memcpy (xmalloc (Len-2), L[0]->Arg+2, Len-3);
-           Label[Len-3] = '\0';
-           X = NewCodeEntry (OP65_LDA, AM65_ABSY, Label, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+10);
-           xfree (Label);
+            Label = memcpy (xmalloc (Len-2), L[0]->Arg+2, Len-3);
+            Label[Len-3] = '\0';
+            X = NewCodeEntry (OP65_LDA, AM65_ABSY, Label, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+10);
+            xfree (Label);
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 8);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 8);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -380,78 +380,78 @@ unsigned OptPtrLoad4 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[9];
-       unsigned Len;
-
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDA                            &&
-           L[0]->AM == AM65_IMM                             &&
-                   CS_GetEntries (S, L+1, I+1, 8)                   &&
-                   L[1]->OPC == OP65_LDX                            &&
-           L[1]->AM == AM65_IMM                             &&
-           !CE_HasLabel (L[1])                              &&
-           L[2]->OPC == OP65_LDY                            &&
-           CE_IsConstImm (L[2])                             &&
-           !CE_HasLabel (L[2])                              &&
-           L[3]->OPC == OP65_CLC                            &&
-           !CE_HasLabel (L[3])                              &&
-           L[4]->OPC == OP65_ADC                            &&
-           L[4]->AM == AM65_ZP_INDY                         &&
-           !CE_HasLabel (L[4])                              &&
-                   (L[5]->OPC == OP65_BCC || L[5]->OPC == OP65_JCC) &&
-                   L[5]->JumpTo != 0                                &&
-                   L[5]->JumpTo->Owner == L[7]                      &&
-           !CE_HasLabel (L[5])                              &&
-           L[6]->OPC == OP65_INX                            &&
-           !CE_HasLabel (L[6])                              &&
-           L[7]->OPC == OP65_LDY                            &&
-           CE_IsKnownImm (L[7], 0)                          &&
-                   CE_IsCallTo (L[8], "ldauidx")                    &&
-           !CE_HasLabel (L[8])                              &&
-           /* Check the label last because this is quite costly */
-           (Len = strlen (L[0]->Arg)) > 3                   &&
-           L[0]->Arg[0] == '<'                              &&
-           L[0]->Arg[1] == '('                              &&
-           strlen (L[1]->Arg) == Len                        &&
-           L[1]->Arg[0] == '>'                              &&
-                   memcmp (L[0]->Arg+1, L[1]->Arg+1, Len-1) == 0) {
-
-           CodeEntry* X;
-           char* Label;
-
-           /* Add the lda */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[4]->Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+3);
-
-           /* Add the tay */
-           X = NewCodeEntry (OP65_TAY, AM65_IMP, 0, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+4);
-
-           /* Add the ldx */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+5);
-
-           /* Add the lda */
-           Label = memcpy (xmalloc (Len-2), L[0]->Arg+2, Len-3);
-           Label[Len-3] = '\0';
-           X = NewCodeEntry (OP65_LDA, AM65_ABSY, Label, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+6);
-           xfree (Label);
-
-           /* Remove the old code */
-           CS_DelEntries (S, I, 2);
-           CS_DelEntries (S, I+5, 6);
-
-           /* Remember, we had changes */
-           ++Changes;
-
-       }
-
-       /* Next entry */
-       ++I;
+        CodeEntry* L[9];
+        unsigned Len;
+
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA                            &&
+            L[0]->AM == AM65_IMM                             &&
+            CS_GetEntries (S, L+1, I+1, 8)                   &&
+            L[1]->OPC == OP65_LDX                            &&
+            L[1]->AM == AM65_IMM                             &&
+            !CE_HasLabel (L[1])                              &&
+            L[2]->OPC == OP65_LDY                            &&
+            CE_IsConstImm (L[2])                             &&
+            !CE_HasLabel (L[2])                              &&
+            L[3]->OPC == OP65_CLC                            &&
+            !CE_HasLabel (L[3])                              &&
+            L[4]->OPC == OP65_ADC                            &&
+            L[4]->AM == AM65_ZP_INDY                         &&
+            !CE_HasLabel (L[4])                              &&
+            (L[5]->OPC == OP65_BCC || L[5]->OPC == OP65_JCC) &&
+            L[5]->JumpTo != 0                                &&
+            L[5]->JumpTo->Owner == L[7]                      &&
+            !CE_HasLabel (L[5])                              &&
+            L[6]->OPC == OP65_INX                            &&
+            !CE_HasLabel (L[6])                              &&
+            L[7]->OPC == OP65_LDY                            &&
+            CE_IsKnownImm (L[7], 0)                          &&
+            CE_IsCallTo (L[8], "ldauidx")                    &&
+            !CE_HasLabel (L[8])                              &&
+            /* Check the label last because this is quite costly */
+            (Len = strlen (L[0]->Arg)) > 3                   &&
+            L[0]->Arg[0] == '<'                              &&
+            L[0]->Arg[1] == '('                              &&
+            strlen (L[1]->Arg) == Len                        &&
+            L[1]->Arg[0] == '>'                              &&
+            memcmp (L[0]->Arg+1, L[1]->Arg+1, Len-1) == 0) {
+
+            CodeEntry* X;
+            char* Label;
+
+            /* Add the lda */
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[4]->Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+3);
+
+            /* Add the tay */
+            X = NewCodeEntry (OP65_TAY, AM65_IMP, 0, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+4);
+
+            /* Add the ldx */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+5);
+
+            /* Add the lda */
+            Label = memcpy (xmalloc (Len-2), L[0]->Arg+2, Len-3);
+            Label[Len-3] = '\0';
+            X = NewCodeEntry (OP65_LDA, AM65_ABSY, Label, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+6);
+            xfree (Label);
+
+            /* Remove the old code */
+            CS_DelEntries (S, I, 2);
+            CS_DelEntries (S, I+5, 6);
+
+            /* Remember, we had changes */
+            ++Changes;
+
+        }
+
+        /* Next entry */
+        ++I;
 
     }
 
@@ -486,27 +486,27 @@ unsigned OptPtrLoad5 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[6];
+        CodeEntry* L[6];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (CE_IsCallTo (L[0], "pushax")                &&
-                   CS_GetEntries (S, L+1, I+1, 5)              &&
-                   L[1]->OPC == OP65_LDX                       &&
+        /* Check for the sequence */
+        if (CE_IsCallTo (L[0], "pushax")                &&
+            CS_GetEntries (S, L+1, I+1, 5)              &&
+            L[1]->OPC == OP65_LDX                       &&
             CE_IsKnownImm (L[1], 0)                     &&
             L[2]->OPC == OP65_LDA                       &&
-           (L[2]->AM == AM65_ABS       ||
+            (L[2]->AM == AM65_ABS       ||
              L[2]->AM == AM65_ZP        ||
              L[2]->AM == AM65_IMM)                      &&
             CE_IsCallTo (L[3], "tosaddax")              &&
             L[4]->OPC == OP65_LDY                       &&
             CE_IsKnownImm (L[4], 0)                     &&
             CE_IsCallTo (L[5], "ldauidx")               &&
-                   !CS_RangeHasLabel (S, I+1, 5)) {
+            !CS_RangeHasLabel (S, I+1, 5)) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
             /* sta ptr1 */
             X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
@@ -521,23 +521,23 @@ unsigned OptPtrLoad5 (CodeSeg* S)
             CS_InsertEntry (S, X, I+8);
 
             /* ldx #$00 */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[5]->LI);
-           CS_InsertEntry (S, X, I+9);
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[5]->LI);
+            CS_InsertEntry (S, X, I+9);
 
             /* lda (ptr1),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[5]->LI);
-           CS_InsertEntry (S, X, I+10);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[5]->LI);
+            CS_InsertEntry (S, X, I+10);
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 6);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 6);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -575,29 +575,29 @@ unsigned OptPtrLoad6 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[7];
+        CodeEntry* L[7];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (CE_IsCallTo (L[0], "pushax")                &&
-                   CS_GetEntries (S, L+1, I+1, 6)              &&
+        /* Check for the sequence */
+        if (CE_IsCallTo (L[0], "pushax")                &&
+            CS_GetEntries (S, L+1, I+1, 6)              &&
             L[1]->OPC == OP65_LDY                       &&
             CE_IsConstImm (L[1])                        &&
             L[1]->Num >= 2                              &&
-                   L[2]->OPC == OP65_LDX                       &&
+            L[2]->OPC == OP65_LDX                       &&
             CE_IsKnownImm (L[2], 0)                     &&
             L[3]->OPC == OP65_LDA                       &&
-           L[3]->AM == AM65_ZP_INDY                    &&
+            L[3]->AM == AM65_ZP_INDY                    &&
             CE_IsCallTo (L[4], "tosaddax")              &&
             L[5]->OPC == OP65_LDY                       &&
             CE_IsKnownImm (L[5], 0)                     &&
             CE_IsCallTo (L[6], "ldauidx")               &&
-                   !CS_RangeHasLabel (S, I+1, 6)               &&
+            !CS_RangeHasLabel (S, I+1, 6)               &&
             !RegYUsed (S, I+7)) {
 
-           CodeEntry*  X;
+            CodeEntry*  X;
             const char* Arg;
 
             /* sta ptr1 */
@@ -622,23 +622,23 @@ unsigned OptPtrLoad6 (CodeSeg* S)
             CS_InsertEntry (S, X, I+11);
 
             /* ldx #$00 */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[5]->LI);
-           CS_InsertEntry (S, X, I+12);
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[5]->LI);
+            CS_InsertEntry (S, X, I+12);
 
             /* lda (ptr1),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[6]->LI);
-           CS_InsertEntry (S, X, I+13);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[6]->LI);
+            CS_InsertEntry (S, X, I+13);
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 7);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 7);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -687,18 +687,18 @@ unsigned OptPtrLoad7 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[10];
+        CodeEntry* L[10];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
+        /* Check for the sequence */
         if (L[0]->OPC == OP65_JSR                               &&
             (strcmp (L[0]->Arg, "aslax1") == 0          ||
              strcmp (L[0]->Arg, "shlax1") == 0)                 &&
-                   CS_GetEntries (S, L+1, I+1, 9)                      &&
+            CS_GetEntries (S, L+1, I+1, 9)                      &&
             L[1]->OPC == OP65_CLC                               &&
-                   L[2]->OPC == OP65_ADC                               &&
+            L[2]->OPC == OP65_ADC                               &&
             L[3]->OPC == OP65_TAY                               &&
             L[4]->OPC == OP65_TXA                               &&
             L[5]->OPC == OP65_ADC                               &&
@@ -706,9 +706,9 @@ unsigned OptPtrLoad7 (CodeSeg* S)
             L[7]->OPC == OP65_TYA                               &&
             L[8]->OPC == OP65_LDY                               &&
             CE_IsCallTo (L[9], "ldaxidx")                       &&
-                   !CS_RangeHasLabel (S, I+1, 9)) {
+            !CS_RangeHasLabel (S, I+1, 9)) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
             /* Track the insertion point */
             unsigned IP = I + 10;
@@ -817,16 +817,16 @@ unsigned OptPtrLoad7 (CodeSeg* S)
             X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[9]->LI);
             CS_InsertEntry (S, X, IP++);
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 10);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 10);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -861,59 +861,59 @@ unsigned OptPtrLoad11 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[6];
-
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_CLC                            &&
-                   CS_GetEntries (S, L+1, I+1, 5)                   &&
-                   L[1]->OPC == OP65_ADC                            &&
-           (L[1]->AM == AM65_ABS || L[1]->AM == AM65_ZP || L[1]->AM == AM65_IMM)    &&
-                   (L[2]->OPC == OP65_BCC || L[2]->OPC == OP65_JCC) &&
-                   L[2]->JumpTo != 0                                &&
-                   L[2]->JumpTo->Owner == L[4]                      &&
-                   L[3]->OPC == OP65_INX                            &&
-           L[4]->OPC == OP65_LDY                            &&
-           CE_IsKnownImm (L[4], 0)                          &&
-                   CE_IsCallTo (L[5], "ldauidx")                    &&
-                   !CS_RangeHasLabel (S, I+1, 3)                    &&
+        CodeEntry* L[6];
+
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_CLC                            &&
+            CS_GetEntries (S, L+1, I+1, 5)                   &&
+            L[1]->OPC == OP65_ADC                            &&
+            (L[1]->AM == AM65_ABS || L[1]->AM == AM65_ZP || L[1]->AM == AM65_IMM)    &&
+            (L[2]->OPC == OP65_BCC || L[2]->OPC == OP65_JCC) &&
+            L[2]->JumpTo != 0                                &&
+            L[2]->JumpTo->Owner == L[4]                      &&
+            L[3]->OPC == OP65_INX                            &&
+            L[4]->OPC == OP65_LDY                            &&
+            CE_IsKnownImm (L[4], 0)                          &&
+            CE_IsCallTo (L[5], "ldauidx")                    &&
+            !CS_RangeHasLabel (S, I+1, 3)                    &&
             !CE_HasLabel (L[5])) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-           /* We will create all the new stuff behind the current one so
-            * we keep the line references.
-            */
-           X = NewCodeEntry (OP65_LDY, L[1]->AM, L[1]->Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+6);
+            /* We will create all the new stuff behind the current one so
+             * we keep the line references.
+             */
+            X = NewCodeEntry (OP65_LDY, L[1]->AM, L[1]->Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+6);
 
             /* sta ptr1 */
-           X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+7);
+            X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+7);
 
             /* stx ptr1+1 */
-           X = NewCodeEntry (OP65_STX, AM65_ZP, "ptr1+1", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+8);
+            X = NewCodeEntry (OP65_STX, AM65_ZP, "ptr1+1", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+8);
 
             /* ldx #$00 */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+9);
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+9);
 
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+10);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+10);
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 6);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 6);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -961,18 +961,18 @@ unsigned OptPtrLoad12 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-               CodeEntry* L[15];
-       unsigned Len;
+        CodeEntry* L[15];
+        unsigned Len;
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDA                               &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA                               &&
             L[0]->AM == AM65_ZP                                 &&
             strncmp (L[0]->Arg, "regbank+", 8) == 0             &&
             (Len = strlen (L[0]->Arg)) > 0                      &&
-                   CS_GetEntries (S, L+1, I+1, 14)                     &&
+            CS_GetEntries (S, L+1, I+1, 14)                     &&
             !CS_RangeHasLabel (S, I+1, 7)                       &&
             !CS_RangeHasLabel (S, I+9, 5)                       &&
             L[1]->OPC == OP65_LDX                               &&
@@ -1008,7 +1008,7 @@ unsigned OptPtrLoad12 (CodeSeg* S)
             CE_IsConstImm (L[12])                               &&
             CE_IsCallTo (L[13], "ldauidx")) {
 
-           CodeEntry* X;
+            CodeEntry* X;
             CodeLabel* Label;
 
             /* Check if the instruction following the sequence uses the flags
@@ -1025,13 +1025,13 @@ unsigned OptPtrLoad12 (CodeSeg* S)
              */
             Label = CS_GenLabel (S, L[14]);
 
-           /* ldy #$xx */
-           X = NewCodeEntry (OP65_LDY, AM65_IMM, L[12]->Arg, 0, L[12]->LI);
-           CS_InsertEntry (S, X, I+14);
+            /* ldy #$xx */
+            X = NewCodeEntry (OP65_LDY, AM65_IMM, L[12]->Arg, 0, L[12]->LI);
+            CS_InsertEntry (S, X, I+14);
 
-           /* ldx #$xx */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[13]->LI);
-           CS_InsertEntry (S, X, I+15);
+            /* ldx #$xx */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[13]->LI);
+            CS_InsertEntry (S, X, I+15);
 
             /* lda (regbank+n),y */
             X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[0]->Arg, 0, L[13]->LI);
@@ -1050,15 +1050,15 @@ unsigned OptPtrLoad12 (CodeSeg* S)
             CS_InsertEntry (S, X, I+19);
 
             /* Delete the old code */
-           CS_DelEntries (S, I, 14);
+            CS_DelEntries (S, I, 14);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1089,44 +1089,44 @@ unsigned OptPtrLoad13 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[4];
-       unsigned Len;
+        CodeEntry* L[4];
+        unsigned Len;
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDA && L[0]->AM == AM65_ZP        &&
-                   CS_GetEntries (S, L+1, I+1, 3)                      &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA && L[0]->AM == AM65_ZP        &&
+            CS_GetEntries (S, L+1, I+1, 3)                      &&
             !CS_RangeHasLabel (S, I+1, 3)                       &&
-                   L[1]->OPC == OP65_LDX && L[1]->AM == AM65_ZP        &&
+            L[1]->OPC == OP65_LDX && L[1]->AM == AM65_ZP        &&
             (Len = strlen (L[0]->Arg)) > 0                      &&
             strncmp (L[0]->Arg, L[1]->Arg, Len) == 0            &&
             strcmp (L[1]->Arg + Len, "+1") == 0                 &&
-           L[2]->OPC == OP65_LDY                               &&
-                   CE_IsCallTo (L[3], "ldauidx")) {
+            L[2]->OPC == OP65_LDY                               &&
+            CE_IsCallTo (L[3], "ldauidx")) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-           /* ldx #$00 */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+3);
+            /* ldx #$00 */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+3);
 
-           /* lda (zp),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[0]->Arg, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+4);
+            /* lda (zp),y */
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[0]->Arg, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+4);
 
-           /* Remove the old code */
-           CS_DelEntry (S, I+5);
-           CS_DelEntries (S, I, 2);
+            /* Remove the old code */
+            CS_DelEntry (S, I+5);
+            CS_DelEntries (S, I, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1163,44 +1163,44 @@ unsigned OptPtrLoad14 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[5];
-       unsigned Len;
+        CodeEntry* L[5];
+        unsigned Len;
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDA && L[0]->AM == AM65_ZP        &&
-                   CS_GetEntries (S, L+1, I+1, 4)                      &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA && L[0]->AM == AM65_ZP        &&
+            CS_GetEntries (S, L+1, I+1, 4)                      &&
             !CS_RangeHasLabel (S, I+1, 4)                       &&
-                   L[1]->OPC == OP65_LDX && L[1]->AM == AM65_ZP        &&
+            L[1]->OPC == OP65_LDX && L[1]->AM == AM65_ZP        &&
             (Len = strlen (L[0]->Arg)) > 0                      &&
             strncmp (L[0]->Arg, L[1]->Arg, Len) == 0            &&
             strcmp (L[1]->Arg + Len, "+1") == 0                 &&
             (L[2]->Chg & REG_AX) == 0                           &&
-                   L[3]->OPC == OP65_LDY                               &&
-                   CE_IsCallTo (L[4], "ldauidx")) {
+            L[3]->OPC == OP65_LDY                               &&
+            CE_IsCallTo (L[4], "ldauidx")) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-           /* ldx #$00 */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+5);
+            /* ldx #$00 */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+5);
 
-           /* lda (zp),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[0]->Arg, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+6);
+            /* lda (zp),y */
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, L[0]->Arg, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+6);
 
-           /* Remove the old code */
-           CS_DelEntry (S, I+4);
+            /* Remove the old code */
+            CS_DelEntry (S, I+4);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1237,13 +1237,13 @@ unsigned OptPtrLoad15 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[5];
-       unsigned Len;
+        CodeEntry* L[5];
+        unsigned Len;
 
-       /* Check for the start of the sequence */
-               if (CS_GetEntries (S, L, I, 3)                          &&
+        /* Check for the start of the sequence */
+        if (CS_GetEntries (S, L, I, 3)                          &&
             L[0]->OPC == OP65_LDA && L[0]->AM == AM65_ZP        &&
-                   L[1]->OPC == OP65_LDX && L[1]->AM == AM65_ZP        &&
+            L[1]->OPC == OP65_LDX && L[1]->AM == AM65_ZP        &&
             !CS_RangeHasLabel (S, I+1, 2)                       &&
             (Len = strlen (L[0]->Arg)) > 0                      &&
             strncmp (L[0]->Arg, L[1]->Arg, Len) == 0            &&
@@ -1285,10 +1285,10 @@ unsigned OptPtrLoad15 (CodeSeg* S)
                 ++Changes;
 
             }
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1321,49 +1321,49 @@ unsigned OptPtrLoad16 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDY               &&
-                   CS_GetEntries (S, L+1, I+1, 1)      &&
-                   CE_IsCallTo (L[1], "ldauidx")       &&
-           !CE_HasLabel (L[1])) {
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDY               &&
+            CS_GetEntries (S, L+1, I+1, 1)      &&
+            CE_IsCallTo (L[1], "ldauidx")       &&
+            !CE_HasLabel (L[1])) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-                   /* stx ptr1+1 */
-                   X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+2);
+            /* stx ptr1+1 */
+            X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+2);
 
-           /* sta ptr1 */
-           X = NewCodeEntry (OP65_STX, AM65_ZP, "ptr1+1", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+3);
+            /* sta ptr1 */
+            X = NewCodeEntry (OP65_STX, AM65_ZP, "ptr1+1", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+3);
 
             /* ldy ... */
-           X = NewCodeEntry (L[0]->OPC, L[0]->AM, L[0]->Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+4);
+            X = NewCodeEntry (L[0]->OPC, L[0]->AM, L[0]->Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+4);
 
-           /* ldx #$00 */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+5);
+            /* ldx #$00 */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+5);
 
             /* lda (ptr1),y */
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+6);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+6);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I, 2);
+            /* Delete the old code */
+            CS_DelEntries (S, I, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -1401,26 +1401,26 @@ unsigned OptPtrLoad17 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDY               &&
-                   CS_GetEntries (S, L+1, I+1, 1)      &&
-                   CE_IsCallTo (L[1], "ldaxidx")       &&
-           !CE_HasLabel (L[1])) {
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDY               &&
+            CS_GetEntries (S, L+1, I+1, 1)      &&
+            CE_IsCallTo (L[1], "ldaxidx")       &&
+            !CE_HasLabel (L[1])) {
 
-           CodeEntry* X;
+            CodeEntry* X;
 
-                   /* Store the high byte */
-                   X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+2);
+            /* Store the high byte */
+            X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+2);
 
-           /* Store the low byte */
-           X = NewCodeEntry (OP65_STX, AM65_ZP, "ptr1+1", 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+3);
+            /* Store the low byte */
+            X = NewCodeEntry (OP65_STX, AM65_ZP, "ptr1+1", 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+3);
 
             /* ldy ... */
             X = NewCodeEntry (L[0]->OPC, L[0]->AM, L[0]->Arg, 0, L[0]->LI);
@@ -1442,16 +1442,16 @@ unsigned OptPtrLoad17 (CodeSeg* S)
             X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "ptr1", 0, L[1]->LI);
             CS_InsertEntry (S, X, I+8);
 
-           /* Delete original sequence */
-           CS_DelEntries (S, I, 2);
+            /* Delete original sequence */
+            CS_DelEntries (S, I, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 06790aee58b245104a29e200189aa5e575e45e0b..3b8a83c7b56db54510ce789c9814d20859300d6d 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -53,32 +53,32 @@ unsigned OptPtrLoad1 (CodeSeg* S);
 /* Search for the sequence:
  *
  *      clc
- *      adc            xxx
+ *      adc     xxx
  *      tay
  *      txa
  *      adc     yyy
  *      tax
  *      tya
  *      ldy
- *     jsr     ldauidx
+ *      jsr     ldauidx
  *
  * and replace it by:
  *
  *      clc
- *      adc            xxx
+ *      adc     xxx
  *      sta     ptr1
  *      txa
  *      adc     yyy
  *      sta     ptr1+1
  *      ldy
- *             ldx     #$00
+ *      ldx     #$00
  *      lda     (ptr1),y
  */
 
 unsigned OptPtrLoad2 (CodeSeg* S);
 /* Search for the sequence:
  *
- *      adc            xxx
+ *      adc     xxx
  *      pha
  *      txa
  *      iny
@@ -86,18 +86,18 @@ unsigned OptPtrLoad2 (CodeSeg* S);
  *      tax
  *      pla
  *      ldy
- *     jsr     ldauidx
+ *      jsr     ldauidx
  *
  * and replace it by:
  *
- *      adc            xxx
+ *      adc     xxx
  *      sta     ptr1
  *      txa
  *      iny
  *      adc     yyy
  *      sta     ptr1+1
  *      ldy
- *             ldx     #$00
+ *      ldx     #$00
  *      lda     (ptr1),y
  */
 
index 754388de83f29d73ed2832613689917e303615c1..646cec07fe42262dff8f389d0ccdc33080d941f6 100644 (file)
@@ -59,32 +59,32 @@ static unsigned OptPtrStore1Sub (CodeSeg* S, unsigned I, CodeEntry** const L)
 {
     /* Check for a label attached to the entry */
     if (CE_HasLabel (L[0])) {
-       return 0;
+        return 0;
     }
 
     /* Check for single insn sub ops */
     if (L[0]->OPC == OP65_AND                                           ||
-       L[0]->OPC == OP65_EOR                                           ||
-       L[0]->OPC == OP65_ORA                                           ||
-       (L[0]->OPC == OP65_JSR                          &&
+        L[0]->OPC == OP65_EOR                                           ||
+        L[0]->OPC == OP65_ORA                                           ||
+        (L[0]->OPC == OP65_JSR                          &&
          (strncmp (L[0]->Arg, "shlax", 5) == 0  ||
           strncmp (L[0]->Arg, "shrax", 5) == 0)         &&
          strlen (L[0]->Arg) == 6                        &&
          IsDigit (L[0]->Arg[5]))) {
 
-       /* One insn */
-       return 1;
+        /* One insn */
+        return 1;
 
     } else if (L[0]->OPC == OP65_CLC                      &&
-                      (L[1] = CS_GetNextEntry (S, I)) != 0       &&
-              L[1]->OPC == OP65_ADC                      &&
-              !CE_HasLabel (L[1])) {
-       return 2;
+               (L[1] = CS_GetNextEntry (S, I)) != 0       &&
+               L[1]->OPC == OP65_ADC                      &&
+               !CE_HasLabel (L[1])) {
+        return 2;
     } else if (L[0]->OPC == OP65_SEC                      &&
-              (L[1] = CS_GetNextEntry (S, I)) != 0       &&
-              L[1]->OPC == OP65_SBC                      &&
-              !CE_HasLabel (L[1])) {
-       return 2;
+               (L[1] = CS_GetNextEntry (S, I)) != 0       &&
+               L[1]->OPC == OP65_SBC                      &&
+               !CE_HasLabel (L[1])) {
+        return 2;
     }
 
 
@@ -216,7 +216,7 @@ static const char* LoadAXImm (CodeSeg* S, unsigned I)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -228,10 +228,10 @@ unsigned OptPtrStore1 (CodeSeg* S)
  *      adc     xxx
  *      bcc     L
  *      inx
- * L:   jsr    pushax
- *     ldx     #$00
- *     lda     yyy
- *     ldy     #$00
+ * L:   jsr     pushax
+ *      ldx     #$00
+ *      lda     yyy
+ *      ldy     #$00
  *      jsr     staspidx
  *
  * and replace it by:
@@ -274,34 +274,34 @@ unsigned OptPtrStore1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[9];
+        CodeEntry* L[9];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_CLC                               &&
-                   CS_GetEntries (S, L+1, I+1, 8)                      &&
-           L[1]->OPC == OP65_ADC                               &&
-           (L[1]->AM == AM65_ABS                       ||
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_CLC                               &&
+            CS_GetEntries (S, L+1, I+1, 8)                      &&
+            L[1]->OPC == OP65_ADC                               &&
+            (L[1]->AM == AM65_ABS                       ||
              L[1]->AM == AM65_ZP                        ||
              L[1]->AM == AM65_IMM                       ||
              (L[1]->AM == AM65_ZP_INDY          &&
               RegValIsKnown (L[1]->RI->In.RegY)))               &&
-                   (L[2]->OPC == OP65_BCC || L[2]->OPC == OP65_JCC)    &&
-                   L[2]->JumpTo != 0                                   &&
-                   L[2]->JumpTo->Owner == L[4]                         &&
-                   L[3]->OPC == OP65_INX                               &&
+            (L[2]->OPC == OP65_BCC || L[2]->OPC == OP65_JCC)    &&
+            L[2]->JumpTo != 0                                   &&
+            L[2]->JumpTo->Owner == L[4]                         &&
+            L[3]->OPC == OP65_INX                               &&
             CE_IsCallTo (L[4], "pushax")                        &&
             L[5]->OPC == OP65_LDX                               &&
             L[6]->OPC == OP65_LDA                               &&
-                   L[7]->OPC == OP65_LDY                               &&
-                   CE_IsKnownImm (L[7], 0)                             &&
-                   CE_IsCallTo (L[8], "staspidx")                      &&
-                   !CS_RangeHasLabel (S, I+1, 3)                       &&
+            L[7]->OPC == OP65_LDY                               &&
+            CE_IsKnownImm (L[7], 0)                             &&
+            CE_IsCallTo (L[8], "staspidx")                      &&
+            !CS_RangeHasLabel (S, I+1, 3)                       &&
             !CS_RangeHasLabel (S, I+5, 4)) {
 
-           CodeEntry* X;
+            CodeEntry* X;
             const char* Loc;
             am_t AM;
 
@@ -364,19 +364,19 @@ unsigned OptPtrStore1 (CodeSeg* S)
             X = NewCodeEntry (OP65_STA, AM, Loc, 0, L[8]->LI);
             CS_InsertEntry (S, X, IP++);
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 9);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 9);
 
             /* Skip most of the generated replacement code */
             I += 3;
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -393,11 +393,11 @@ unsigned OptPtrStore2 (CodeSeg* S)
  *      adc     xxx
  *      bcc     L
  *      inx
- * L:   jsr    pushax
+ * L:   jsr     pushax
  *      ldy     yyy
- *     ldx     #$00
- *     lda     (sp),y
- *     ldy     #$00
+ *      ldx     #$00
+ *      lda     (sp),y
+ *      ldy     #$00
  *      jsr     staspidx
  *
  * and replace it by:
@@ -444,24 +444,24 @@ unsigned OptPtrStore2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[10];
+        CodeEntry* L[10];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_CLC                               &&
-                   CS_GetEntries (S, L+1, I+1, 9)                      &&
-           L[1]->OPC == OP65_ADC                               &&
-           (L[1]->AM == AM65_ABS                       ||
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_CLC                               &&
+            CS_GetEntries (S, L+1, I+1, 9)                      &&
+            L[1]->OPC == OP65_ADC                               &&
+            (L[1]->AM == AM65_ABS                       ||
              L[1]->AM == AM65_ZP                        ||
              L[1]->AM == AM65_IMM                       ||
              (L[1]->AM == AM65_ZP_INDY          &&
               RegValIsKnown (L[1]->RI->In.RegY)))               &&
-                   (L[2]->OPC == OP65_BCC || L[2]->OPC == OP65_JCC)    &&
-                   L[2]->JumpTo != 0                                   &&
-                   L[2]->JumpTo->Owner == L[4]                         &&
-                   L[3]->OPC == OP65_INX                               &&
+            (L[2]->OPC == OP65_BCC || L[2]->OPC == OP65_JCC)    &&
+            L[2]->JumpTo != 0                                   &&
+            L[2]->JumpTo->Owner == L[4]                         &&
+            L[3]->OPC == OP65_INX                               &&
             CE_IsCallTo (L[4], "pushax")                        &&
             L[5]->OPC == OP65_LDY                               &&
             CE_IsConstImm (L[5])                                &&
@@ -469,15 +469,15 @@ unsigned OptPtrStore2 (CodeSeg* S)
             L[7]->OPC == OP65_LDA                               &&
             L[7]->AM == AM65_ZP_INDY                            &&
             strcmp (L[7]->Arg, "sp") == 0                       &&
-                   L[8]->OPC == OP65_LDY                               &&
+            L[8]->OPC == OP65_LDY                               &&
             (L[8]->AM == AM65_ABS                       ||
              L[8]->AM == AM65_ZP                        ||
              L[8]->AM == AM65_IMM)                              &&
-                   CE_IsCallTo (L[9], "staspidx")                      &&
-                   !CS_RangeHasLabel (S, I+1, 3)                       &&
+            CE_IsCallTo (L[9], "staspidx")                      &&
+            !CS_RangeHasLabel (S, I+1, 3)                       &&
             !CS_RangeHasLabel (S, I+5, 5)) {
 
-           CodeEntry* X;
+            CodeEntry* X;
             const char* Arg;
             const char* Loc;
             am_t AM;
@@ -606,19 +606,19 @@ unsigned OptPtrStore2 (CodeSeg* S)
 
             }
 
-           /* Remove the old code */
-           CS_DelEntries (S, I, 10);
+            /* Remove the old code */
+            CS_DelEntries (S, I, 10);
 
             /* Skip most of the generated replacement code */
             I += 4;
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -631,12 +631,12 @@ unsigned OptPtrStore2 (CodeSeg* S)
 unsigned OptPtrStore3 (CodeSeg* S)
 /* Search for the sequence:
  *
- *     jsr     pushax
+ *      jsr     pushax
  *      ldy     xxx
  *      jsr     ldauidx
  *      subop
  *      ldy     yyy
- *     jsr     staspidx
+ *      jsr     staspidx
  *
  * and replace it by:
  *
@@ -645,7 +645,7 @@ unsigned OptPtrStore3 (CodeSeg* S)
  *      ldy     xxx
  *      ldx     #$00
  *      lda     (ptr1),y
- *     subop
+ *      subop
  *      ldy     yyy
  *      sta     (ptr1),y
  *
@@ -660,32 +660,32 @@ unsigned OptPtrStore3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       unsigned K;
-       CodeEntry* L[10];
-
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
-
-       /* Check for the sequence */
-               if (CE_IsCallTo (L[0], "pushax")            &&
-                   CS_GetEntries (S, L+1, I+1, 3)          &&
-                   L[1]->OPC == OP65_LDY                   &&
-                   CE_IsConstImm (L[1])                    &&
-           !CE_HasLabel (L[1])                     &&
-                   CE_IsCallTo (L[2], "ldauidx")           &&
-           !CE_HasLabel (L[2])                     &&
-                   (K = OptPtrStore1Sub (S, I+3, L+3)) > 0 &&
-           CS_GetEntries (S, L+3+K, I+3+K, 2)      &&
-                   L[3+K]->OPC == OP65_LDY                 &&
-           CE_IsConstImm (L[3+K])                  &&
-           !CE_HasLabel (L[3+K])                   &&
-           CE_IsCallTo (L[4+K], "staspidx")        &&
-           !CE_HasLabel (L[4+K])) {
+        unsigned K;
+        CodeEntry* L[10];
+
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
+
+        /* Check for the sequence */
+        if (CE_IsCallTo (L[0], "pushax")            &&
+            CS_GetEntries (S, L+1, I+1, 3)          &&
+            L[1]->OPC == OP65_LDY                   &&
+            CE_IsConstImm (L[1])                    &&
+            !CE_HasLabel (L[1])                     &&
+            CE_IsCallTo (L[2], "ldauidx")           &&
+            !CE_HasLabel (L[2])                     &&
+            (K = OptPtrStore1Sub (S, I+3, L+3)) > 0 &&
+            CS_GetEntries (S, L+3+K, I+3+K, 2)      &&
+            L[3+K]->OPC == OP65_LDY                 &&
+            CE_IsConstImm (L[3+K])                  &&
+            !CE_HasLabel (L[3+K])                   &&
+            CE_IsCallTo (L[4+K], "staspidx")        &&
+            !CE_HasLabel (L[4+K])) {
 
 
             const char* RegBank = 0;
             const char* ZPLoc   = "ptr1";
-           CodeEntry* X;
+            CodeEntry* X;
 
 
             /* Get the preceeding two instructions and check them. We check
@@ -717,21 +717,21 @@ unsigned OptPtrStore3 (CodeSeg* S)
                 }
             }
 
-           /* Insert the load via the zp pointer */
-           X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+3);
-           X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, ZPLoc, 0, L[2]->LI);
-           CS_InsertEntry (S, X, I+4);
+            /* Insert the load via the zp pointer */
+            X = NewCodeEntry (OP65_LDX, AM65_IMM, "$00", 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+3);
+            X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, ZPLoc, 0, L[2]->LI);
+            CS_InsertEntry (S, X, I+4);
 
-           /* Insert the store through the zp pointer */
-           X = NewCodeEntry (OP65_STA, AM65_ZP_INDY, ZPLoc, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+6+K);
+            /* Insert the store through the zp pointer */
+            X = NewCodeEntry (OP65_STA, AM65_ZP_INDY, ZPLoc, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+6+K);
 
-           /* Delete the old code */
-           CS_DelEntry (S, I+7+K);     /* jsr spaspidx */
+            /* Delete the old code */
+            CS_DelEntry (S, I+7+K);     /* jsr spaspidx */
             CS_DelEntry (S, I+2);       /* jsr ldauidx */
 
-           /* Create and insert the stores into the zp pointer if needed */
+            /* Create and insert the stores into the zp pointer if needed */
             if (RegBank == 0) {
                 X = NewCodeEntry (OP65_STA, AM65_ZP, "ptr1", 0, L[0]->LI);
                 CS_InsertEntry (S, X, I+1);
@@ -744,13 +744,13 @@ unsigned OptPtrStore3 (CodeSeg* S)
              */
             CS_DelEntry (S, I);         /* jsr pushax */
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 136ea82308d5764548f47f8b5aa82ae34ac82f22..c6798ea30e0bf0a9cadf08f78123808c6b3f381e 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -56,10 +56,10 @@ unsigned OptPtrStore1 (CodeSeg* S);
  *      adc     xxx
  *      bcc     L
  *      inx
- * L:   jsr    pushax
- *     ldx     #$00
- *     lda     yyy
- *     ldy     #$00
+ * L:   jsr     pushax
+ *      ldx     #$00
+ *      lda     yyy
+ *      ldy     #$00
  *      jsr     staspidx
  *
  * and replace it by:
@@ -102,11 +102,11 @@ unsigned OptPtrStore2 (CodeSeg* S);
  *      adc     xxx
  *      bcc     L
  *      inx
- * L:   jsr    pushax
+ * L:   jsr     pushax
  *      ldy     yyy
- *     ldx     #$00
- *     lda     (sp),y
- *     ldy     #$00
+ *      ldx     #$00
+ *      lda     (sp),y
+ *      ldy     #$00
  *      jsr     staspidx
  *
  * and replace it by:
@@ -149,12 +149,12 @@ unsigned OptPtrStore2 (CodeSeg* S);
 unsigned OptPtrStore3 (CodeSeg* S);
 /* Search for the sequence:
  *
- *     jsr     pushax
+ *      jsr     pushax
  *      ldy     xxx
  *      jsr     ldauidx
  *      subop
  *      ldy     yyy
- *     jsr     staspidx
+ *      jsr     staspidx
  *
  * and replace it by:
  *
@@ -163,7 +163,7 @@ unsigned OptPtrStore3 (CodeSeg* S);
  *      ldy     xxx
  *      ldx     #$00
  *      lda     (ptr1),y
- *     subop
+ *      subop
  *      ldy     yyy
  *      sta     (ptr1),y
  *
index 54b54fc03e178413878bc3e0ed69fe2138153f70..a1ed700f60119326b7e28b4eca0b946a5a6f0be3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               coptpush.c                                 */
+/*                                coptpush.c                                 */
 /*                                                                           */
-/*                         Optimize push sequences                          */
+/*                          Optimize push sequences                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -67,43 +67,43 @@ unsigned OptPush1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (CE_IsCallTo (L[0], "ldaxysp")               &&
+        /* Check for the sequence */
+        if (CE_IsCallTo (L[0], "ldaxysp")               &&
             RegValIsKnown (L[0]->RI->In.RegY)           &&
             L[0]->RI->In.RegY < 0xFE                    &&
             (L[1] = CS_GetNextEntry (S, I)) != 0        &&
             !CE_HasLabel (L[1])                         &&
-                   CE_IsCallTo (L[1], "pushax")                &&
-                   !RegAXUsed (S, I+2)) {
+            CE_IsCallTo (L[1], "pushax")                &&
+            !RegAXUsed (S, I+2)) {
 
-           /* Insert new code behind the pushax */
-           const char* Arg;
-           CodeEntry* X;
+            /* Insert new code behind the pushax */
+            const char* Arg;
+            CodeEntry* X;
 
-           /* ldy     #xx+1 */
-           Arg = MakeHexArg (L[0]->RI->In.RegY+2);
-           X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[0]->LI);
-           CS_InsertEntry (S, X, I+2);
+            /* ldy     #xx+1 */
+            Arg = MakeHexArg (L[0]->RI->In.RegY+2);
+            X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[0]->LI);
+            CS_InsertEntry (S, X, I+2);
 
-           /* jsr pushwysp */
-           X = NewCodeEntry (OP65_JSR, AM65_ABS, "pushwysp", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+3);
+            /* jsr pushwysp */
+            X = NewCodeEntry (OP65_JSR, AM65_ABS, "pushwysp", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+3);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I, 2);
+            /* Delete the old code */
+            CS_DelEntries (S, I, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -132,34 +132,34 @@ unsigned OptPush2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[2];
+        CodeEntry* L[2];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (CE_IsCallTo (L[0], "ldaxidx")               &&
+        /* Check for the sequence */
+        if (CE_IsCallTo (L[0], "ldaxidx")               &&
             (L[1] = CS_GetNextEntry (S, I)) != 0        &&
             !CE_HasLabel (L[1])                         &&
-                   CE_IsCallTo (L[1], "pushax")) {
+            CE_IsCallTo (L[1], "pushax")) {
 
-           /* Insert new code behind the pushax */
-           CodeEntry* X;
+            /* Insert new code behind the pushax */
+            CodeEntry* X;
 
-           /* jsr pushwidx */
-           X = NewCodeEntry (OP65_JSR, AM65_ABS, "pushwidx", 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+2);
+            /* jsr pushwidx */
+            X = NewCodeEntry (OP65_JSR, AM65_ABS, "pushwidx", 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+2);
 
-           /* Delete the old code */
-           CS_DelEntries (S, I, 2);
+            /* Delete the old code */
+            CS_DelEntries (S, I, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 02b15d7ee6935cbcfa2a8bba1d996eed4af8e293..0cd01dde8374d4c119de61f452913c47abc918dd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               coptpush.h                                 */
+/*                                coptpush.h                                 */
 /*                                                                           */
-/*                         Optimize push sequences                          */
+/*                          Optimize push sequences                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7ec8155ea42ce08486e4fad1d2b5dc0d6c386aae..933c3dfa328aa78976a686ecae7708bf9972be81 100644 (file)
@@ -183,7 +183,7 @@ static unsigned GetShift (const char* Name)
 
 
 /*****************************************************************************/
-/*                             Optimize shifts                              */
+/*                              Optimize shifts                              */
 /*****************************************************************************/
 
 
@@ -212,11 +212,11 @@ unsigned OptShift1 (CodeSeg* S)
         CodeEntry* X;
         CodeLabel* L;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if (E->OPC == OP65_JSR                          &&
+        /* Check for the sequence */
+        if (E->OPC == OP65_JSR                          &&
             (Shift = GetShift (E->Arg)) != SHIFT_NONE   &&
             SHIFT_DIR (Shift) == SHIFT_DIR_LEFT) {
 
@@ -294,11 +294,11 @@ unsigned OptShift1 (CodeSeg* S)
 
             /* Remember, we had changes */
             ++Changes;
-       }
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -327,11 +327,11 @@ unsigned OptShift2(CodeSeg* S)
         unsigned Shift;
         unsigned Count;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if (E->OPC == OP65_JSR                          &&
+        /* Check for the sequence */
+        if (E->OPC == OP65_JSR                          &&
             (Shift = GetShift (E->Arg)) != SHIFT_NONE   &&
             SHIFT_TYPE (Shift) == SHIFT_TYPE_ASR        &&
             (Count = SHIFT_COUNT (Shift)) > 0           &&
@@ -357,10 +357,10 @@ unsigned OptShift2(CodeSeg* S)
 
             /* Remember, we had changes */
             ++Changes;
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -374,7 +374,7 @@ unsigned OptShift3 (CodeSeg* S)
 /* The sequence
  *
  *      bcc     L
- *     inx
+ *      inx
  * L:   jsr     shrax1
  *
  * may get replaced by
@@ -397,19 +397,19 @@ unsigned OptShift3 (CodeSeg* S)
 
         unsigned   Shift;
         unsigned   Count;
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if ((L[0]->OPC == OP65_BCC || L[0]->OPC == OP65_JCC)    &&
-           L[0]->JumpTo != 0                                   &&
+        /* Check for the sequence */
+        if ((L[0]->OPC == OP65_BCC || L[0]->OPC == OP65_JCC)    &&
+            L[0]->JumpTo != 0                                   &&
             L[0]->RI->In.RegX == 0                              &&
-                   CS_GetEntries (S, L+1, I+1, 2)                      &&
-           L[1]->OPC == OP65_INX                               &&
-           L[0]->JumpTo->Owner == L[2]                         &&
-           !CS_RangeHasLabel (S, I, 2)                         &&
+            CS_GetEntries (S, L+1, I+1, 2)                      &&
+            L[1]->OPC == OP65_INX                               &&
+            L[0]->JumpTo->Owner == L[2]                         &&
+            !CS_RangeHasLabel (S, I, 2)                         &&
             L[2]->OPC == OP65_JSR                               &&
             (Shift = GetShift (L[2]->Arg)) != SHIFT_NONE        &&
             SHIFT_DIR (Shift) == SHIFT_DIR_RIGHT                &&
@@ -423,16 +423,16 @@ unsigned OptShift3 (CodeSeg* S)
                 CS_InsertEntry (S, X, I+4);
             }
 
-           /* Remove the bcs/dex/jsr */
-           CS_DelEntries (S, I, 3);
+            /* Remove the bcs/dex/jsr */
+            CS_DelEntries (S, I, 3);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -457,14 +457,14 @@ unsigned OptShift4 (CodeSeg* S)
         unsigned Shift;
         unsigned Count;
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-       if (E->OPC == OP65_JSR                          &&
+        /* Check for the sequence */
+        if (E->OPC == OP65_JSR                          &&
             (Shift = GetShift (E->Arg)) != SHIFT_NONE   &&
             SHIFT_DIR (Shift) == SHIFT_DIR_RIGHT        &&
-                   E->RI->In.RegX == 0) {
+            E->RI->In.RegX == 0) {
 
             CodeEntry* X;
 
@@ -518,17 +518,17 @@ unsigned OptShift4 (CodeSeg* S)
 
             }
 
-           /* Delete the call to shrax */
-           CS_DelEntry (S, I);
+            /* Delete the call to shrax */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -566,22 +566,22 @@ unsigned OptShift5 (CodeSeg* S)
     while (I < CS_GetEntryCount (S)) {
 
         unsigned ShiftType;
-       CodeEntry* L[5];
+        CodeEntry* L[5];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (L[0]->OPC == OP65_LDA                               &&
+        /* Check for the sequence */
+        if (L[0]->OPC == OP65_LDA                               &&
             (L[0]->AM == AM65_ABS || L[0]->AM == AM65_ZP)       &&
-                   CS_GetEntries (S, L+1, I+1, 4)                      &&
+            CS_GetEntries (S, L+1, I+1, 4)                      &&
             !CS_RangeHasLabel (S, I+1, 4)                       &&
             L[1]->OPC == OP65_LDX                               &&
             (L[1]->AM == AM65_ABS || L[1]->AM == AM65_ZP)       &&
             L[2]->OPC == OP65_JSR                               &&
             (ShiftType = GetShift (L[2]->Arg)) != SHIFT_NONE    &&
             SHIFT_COUNT(ShiftType) == 1                         &&
-                   L[3]->OPC == OP65_STA                               &&
+            L[3]->OPC == OP65_STA                               &&
             (L[3]->AM == AM65_ABS || L[3]->AM == AM65_ZP)       &&
             L[4]->OPC == OP65_STX                               &&
             (L[4]->AM == AM65_ABS || L[4]->AM == AM65_ZP)       &&
@@ -644,13 +644,13 @@ unsigned OptShift5 (CodeSeg* S)
 
             }
 
-           /* Remember, we had changes */
+            /* Remember, we had changes */
             ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -674,11 +674,11 @@ unsigned OptShift6 (CodeSeg* S)
         CodeEntry* X;
         unsigned   IP;
 
-       /* Get next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for a call to one of the shift routine */
-       if (E->OPC == OP65_JSR                          &&
+        /* Check for a call to one of the shift routine */
+        if (E->OPC == OP65_JSR                          &&
             (Shift = GetShift (E->Arg)) != SHIFT_NONE   &&
             SHIFT_DIR (Shift) == SHIFT_DIR_LEFT         &&
             (Count = SHIFT_COUNT (Shift)) > 0) {
@@ -729,13 +729,13 @@ unsigned OptShift6 (CodeSeg* S)
             /* Remove the subroutine call */
             CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
+            /* Remember, we had changes */
             ++Changes;
-       }
+        }
 
 NextEntry:
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 9bde729b00eba641e495e71f3c771d92b75fc755..ce63e0e1b6f38094ae84953803e733eb95683c2d 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                             Optimize shifts                              */
+/*                              Optimize shifts                              */
 /*****************************************************************************/
 
 
@@ -74,7 +74,7 @@ unsigned OptShift3 (CodeSeg* S);
 /* The sequence
  *
  *      bcc     L
- *     inx
+ *      inx
  * L:   jsr     shrax1
  *
  * may get replaced by
index fcb15854e8a99d6aa46c3497c8e11d2dbd1bbcc7..0848bab0ef74da7688a1dcd96d9d8de09fe522b9 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptsize.c                                */
+/*                                 coptsize.c                                */
 /*                                                                           */
 /*                              Size optimizations                           */
 /*                                                                           */
@@ -811,7 +811,7 @@ static const CallDesc CallTable [] = {
 
 
 /*****************************************************************************/
-/*                                         Helpers                                  */
+/*                                  Helpers                                  */
 /*****************************************************************************/
 
 
@@ -828,22 +828,22 @@ static const CallDesc* FindCall (const char* Name)
 
     while (First <= Last) {
 
-               /* Set current to mid of range */
-       int Current = (Last + First) / 2;
-
-               /* Do a compare */
-               int Result = strcmp (CallTable[Current].LongFunc, Name);
-       if (Result < 0) {
-           First = Current + 1;
-       } else {
-           Last = Current - 1;
-           if (Result == 0) {
-                       /* Found. Repeat the procedure until the first of all entries
+        /* Set current to mid of range */
+        int Current = (Last + First) / 2;
+
+        /* Do a compare */
+        int Result = strcmp (CallTable[Current].LongFunc, Name);
+        if (Result < 0) {
+            First = Current + 1;
+        } else {
+            Last = Current - 1;
+            if (Result == 0) {
+                /* Found. Repeat the procedure until the first of all entries
                  * with the same name is found.
                  */
-               Found = 1;
-           }
-       }
+                Found = 1;
+            }
+        }
     }
 
     /* Return the first entry if found, or NULL otherwise */
@@ -863,7 +863,7 @@ static int RegMatch (short Expected, short Actual)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -887,11 +887,11 @@ unsigned OptSize1 (CodeSeg* S)
 
         const CallDesc* D;
 
-       /* Get next entry */
-               E = CS_GetEntry (S, I);
+        /* Get next entry */
+        E = CS_GetEntry (S, I);
 
-       /* Check if it's a subroutine call */
-       if (E->OPC == OP65_JSR && (D = FindCall (E->Arg)) != 0) {
+        /* Check if it's a subroutine call */
+        if (E->OPC == OP65_JSR && (D = FindCall (E->Arg)) != 0) {
 
             /* Get input register info for this insn */
             const RegContents* In = &E->RI->In;
@@ -934,8 +934,8 @@ unsigned OptSize1 (CodeSeg* S)
             }
         }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -958,76 +958,76 @@ unsigned OptSize2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Get the input registers */
         const RegContents* In = &E->RI->In;
 
-       /* Assume we have no replacement */
-       CodeEntry* X = 0;
-
-       /* Check the instruction */
-       switch (E->OPC) {
-
-           case OP65_LDA:
-               if (CE_IsConstImm (E)) {
-                   short Val = (short) E->Num;
-                   if (Val == In->RegX) {
-                       X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, E->LI);
-                   } else if (Val == In->RegY) {
-                       X = NewCodeEntry (OP65_TYA, AM65_IMP, 0, 0, E->LI);
-                   } else if (RegValIsKnown (In->RegA) && (CPUIsets[CPU] & CPU_ISET_65SC02) != 0) {
-                       if (Val == ((In->RegA - 1) & 0xFF)) {
-                           X = NewCodeEntry (OP65_DEA, AM65_IMP, 0, 0, E->LI);
-                       } else if (Val == ((In->RegA + 1) & 0xFF)) {
-                           X = NewCodeEntry (OP65_INA, AM65_IMP, 0, 0, E->LI);
-                       }
-                   }
-               }
-               break;
-
-           case OP65_LDX:
-               if (CE_IsConstImm (E)) {
-                   short Val = (short) E->Num;
-                   if (RegValIsKnown (In->RegX) && Val == ((In->RegX - 1) & 0xFF)) {
-                       X = NewCodeEntry (OP65_DEX, AM65_IMP, 0, 0, E->LI);
-                           } else if (RegValIsKnown (In->RegX) && Val == ((In->RegX + 1) & 0xFF)) {
-                       X = NewCodeEntry (OP65_INX, AM65_IMP, 0, 0, E->LI);
-                   } else if (Val == In->RegA) {
-                       X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, E->LI);
+        /* Assume we have no replacement */
+        CodeEntry* X = 0;
+
+        /* Check the instruction */
+        switch (E->OPC) {
+
+            case OP65_LDA:
+                if (CE_IsConstImm (E)) {
+                    short Val = (short) E->Num;
+                    if (Val == In->RegX) {
+                        X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, E->LI);
+                    } else if (Val == In->RegY) {
+                        X = NewCodeEntry (OP65_TYA, AM65_IMP, 0, 0, E->LI);
+                    } else if (RegValIsKnown (In->RegA) && (CPUIsets[CPU] & CPU_ISET_65SC02) != 0) {
+                        if (Val == ((In->RegA - 1) & 0xFF)) {
+                            X = NewCodeEntry (OP65_DEA, AM65_IMP, 0, 0, E->LI);
+                        } else if (Val == ((In->RegA + 1) & 0xFF)) {
+                            X = NewCodeEntry (OP65_INA, AM65_IMP, 0, 0, E->LI);
+                        }
+                    }
+                }
+                break;
+
+            case OP65_LDX:
+                if (CE_IsConstImm (E)) {
+                    short Val = (short) E->Num;
+                    if (RegValIsKnown (In->RegX) && Val == ((In->RegX - 1) & 0xFF)) {
+                        X = NewCodeEntry (OP65_DEX, AM65_IMP, 0, 0, E->LI);
+                    } else if (RegValIsKnown (In->RegX) && Val == ((In->RegX + 1) & 0xFF)) {
+                        X = NewCodeEntry (OP65_INX, AM65_IMP, 0, 0, E->LI);
+                    } else if (Val == In->RegA) {
+                        X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, E->LI);
                     }
-               }
-               break;
-
-                   case OP65_LDY:
-               if (CE_IsConstImm (E)) {
-                   short Val = (short) E->Num;
-                   if (RegValIsKnown (In->RegY) && Val == ((In->RegY - 1) & 0xFF)) {
-                       X = NewCodeEntry (OP65_DEY, AM65_IMP, 0, 0, E->LI);
-                   } else if (RegValIsKnown (In->RegY) && Val == ((In->RegY + 1) & 0xFF)) {
-                       X = NewCodeEntry (OP65_INY, AM65_IMP, 0, 0, E->LI);
-                   } else if (Val == In->RegA) {
-                       X = NewCodeEntry (OP65_TAY, AM65_IMP, 0, 0, E->LI);
-                   }
-               }
-               break;
-
-           default:
-               /* Avoid gcc warnings */
-               break;
-
-       }
-
-       /* Insert the replacement if we have one */
-       if (X) {
-           CS_InsertEntry (S, X, I+1);
-           CS_DelEntry (S, I);
-           ++Changes;
-       }
-
-       /* Next entry */
-       ++I;
+                }
+                break;
+
+            case OP65_LDY:
+                if (CE_IsConstImm (E)) {
+                    short Val = (short) E->Num;
+                    if (RegValIsKnown (In->RegY) && Val == ((In->RegY - 1) & 0xFF)) {
+                        X = NewCodeEntry (OP65_DEY, AM65_IMP, 0, 0, E->LI);
+                    } else if (RegValIsKnown (In->RegY) && Val == ((In->RegY + 1) & 0xFF)) {
+                        X = NewCodeEntry (OP65_INY, AM65_IMP, 0, 0, E->LI);
+                    } else if (Val == In->RegA) {
+                        X = NewCodeEntry (OP65_TAY, AM65_IMP, 0, 0, E->LI);
+                    }
+                }
+                break;
+
+            default:
+                /* Avoid gcc warnings */
+                break;
+
+        }
+
+        /* Insert the replacement if we have one */
+        if (X) {
+            CS_InsertEntry (S, X, I+1);
+            CS_DelEntry (S, I);
+            ++Changes;
+        }
+
+        /* Next entry */
+        ++I;
 
     }
 
index 13eeae03804efd8a729f964dc7e4fbce51c0926d..f1dc07e469ae69616f49780e9bf5ad222ab0aaff 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptsize.c                                */
+/*                                 coptsize.c                                */
 /*                                                                           */
 /*                              Size optimizations                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0919002cf9591a10efa94545ef39678af68ff473..4d3fe76e69e70f0846bbf8f89c96fe5d5c38a1a0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptstop.c                                */
+/*                                 coptstop.c                                */
 /*                                                                           */
-/*          Optimize operations that take operands via the stack            */
+/*           Optimize operations that take operands via the stack            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -364,7 +364,7 @@ static void TrackLoads (LoadInfo* LI, CodeEntry* E, int I)
 
 
 /*****************************************************************************/
-/*                                         Helpers                                  */
+/*                                  Helpers                                  */
 /*****************************************************************************/
 
 
@@ -428,14 +428,14 @@ static void AdjustStackOffset (StackOpData* D, unsigned Offs)
     int I = D->PushIndex + 1;
     while (I < D->OpIndex) {
 
-       CodeEntry* E = CS_GetEntry (D->Code, I);
+        CodeEntry* E = CS_GetEntry (D->Code, I);
 
         int NeedCorrection = 0;
-       if ((E->Use & REG_SP) != 0) {
+        if ((E->Use & REG_SP) != 0) {
 
-           /* Check for some things that should not happen */
-           CHECK (E->AM == AM65_ZP_INDY || E->RI->In.RegY >= (short) Offs);
-           CHECK (strcmp (E->Arg, "sp") == 0);
+            /* Check for some things that should not happen */
+            CHECK (E->AM == AM65_ZP_INDY || E->RI->In.RegY >= (short) Offs);
+            CHECK (strcmp (E->Arg, "sp") == 0);
 
             /* We need to correct this one */
             NeedCorrection = 1;
@@ -449,37 +449,37 @@ static void AdjustStackOffset (StackOpData* D, unsigned Offs)
 
         if (NeedCorrection) {
 
-           /* Get the code entry before this one. If it's a LDY, adjust the
-            * value.
-            */
-           CodeEntry* P = CS_GetPrevEntry (D->Code, I);
-           if (P && P->OPC == OP65_LDY && CE_IsConstImm (P)) {
+            /* Get the code entry before this one. If it's a LDY, adjust the
+             * value.
+             */
+            CodeEntry* P = CS_GetPrevEntry (D->Code, I);
+            if (P && P->OPC == OP65_LDY && CE_IsConstImm (P)) {
 
-               /* The Y load is just before the stack access, adjust it */
-               CE_SetNumArg (P, P->Num - Offs);
+                /* The Y load is just before the stack access, adjust it */
+                CE_SetNumArg (P, P->Num - Offs);
 
-           } else {
+            } else {
 
-               /* Insert a new load instruction before the stack access */
-               const char* Arg = MakeHexArg (E->RI->In.RegY - Offs);
-               CodeEntry* X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-               InsertEntry (D, X, I++);
+                /* Insert a new load instruction before the stack access */
+                const char* Arg = MakeHexArg (E->RI->In.RegY - Offs);
+                CodeEntry* X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                InsertEntry (D, X, I++);
 
-           }
+            }
 
             /* If we need the value of Y later, be sure to reload it */
             if (RegYUsed (D->Code, I+1)) {
-               const char* Arg = MakeHexArg (E->RI->In.RegY);
-               CodeEntry* X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
-               InsertEntry (D, X, I+1);
+                const char* Arg = MakeHexArg (E->RI->In.RegY);
+                CodeEntry* X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, E->LI);
+                InsertEntry (D, X, I+1);
 
-               /* Skip this instruction in the next round */
-               ++I;
+                /* Skip this instruction in the next round */
+                ++I;
             }
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
     }
 
     /* If we have rhs load insns that load from stack, we'll have to adjust
@@ -542,7 +542,7 @@ static void AddOpLow (StackOpData* D, opc_t OPC, LoadInfo* LI)
     CodeEntry* X;
 
     if ((LI->A.Flags & LI_DIRECT) != 0) {
-               /* Op with a variable location. If the location is on the stack, we
+        /* Op with a variable location. If the location is on the stack, we
          * need to reload the Y register.
          */
         if ((LI->A.Flags & LI_RELOAD_Y) == 0) {
@@ -570,8 +570,8 @@ static void AddOpLow (StackOpData* D, opc_t OPC, LoadInfo* LI)
 
     } else {
 
-       /* Op with temp storage */
-       X = NewCodeEntry (OPC, AM65_ZP, D->ZPLo, 0, D->OpEntry->LI);
+        /* Op with temp storage */
+        X = NewCodeEntry (OPC, AM65_ZP, D->ZPLo, 0, D->OpEntry->LI);
         InsertEntry (D, X, D->IP++);
 
     }
@@ -588,9 +588,9 @@ static void AddOpHigh (StackOpData* D, opc_t OPC, LoadInfo* LI, int KeepResult)
     CodeEntry* X;
 
     if (KeepResult) {
-       /* pha */
-       X = NewCodeEntry (OP65_PHA, AM65_IMP, 0, 0, D->OpEntry->LI);
-       InsertEntry (D, X, D->IP++);
+        /* pha */
+        X = NewCodeEntry (OP65_PHA, AM65_IMP, 0, 0, D->OpEntry->LI);
+        InsertEntry (D, X, D->IP++);
     }
 
     /* txa */
@@ -603,7 +603,7 @@ static void AddOpHigh (StackOpData* D, opc_t OPC, LoadInfo* LI, int KeepResult)
 
             /* opc xxx */
             CodeEntry* LoadX = LI->X.LoadEntry;
-           X = NewCodeEntry (OPC, LoadX->AM, LoadX->Arg, 0, D->OpEntry->LI);
+            X = NewCodeEntry (OPC, LoadX->AM, LoadX->Arg, 0, D->OpEntry->LI);
             InsertEntry (D, X, D->IP++);
 
         } else {
@@ -628,13 +628,13 @@ static void AddOpHigh (StackOpData* D, opc_t OPC, LoadInfo* LI, int KeepResult)
     }
 
     if (KeepResult) {
-       /* tax */
-       X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, D->OpEntry->LI);
-       InsertEntry (D, X, D->IP++);
+        /* tax */
+        X = NewCodeEntry (OP65_TAX, AM65_IMP, 0, 0, D->OpEntry->LI);
+        InsertEntry (D, X, D->IP++);
 
-       /* pla */
-       X = NewCodeEntry (OP65_PLA, AM65_IMP, 0, 0, D->OpEntry->LI);
-       InsertEntry (D, X, D->IP++);
+        /* pla */
+        X = NewCodeEntry (OP65_PLA, AM65_IMP, 0, 0, D->OpEntry->LI);
+        InsertEntry (D, X, D->IP++);
     }
 }
 
@@ -716,7 +716,7 @@ static int IsRegVar (StackOpData* D)
 
 
 /*****************************************************************************/
-/*                      Actual optimization functions                       */
+/*                       Actual optimization functions                       */
 /*****************************************************************************/
 
 
@@ -791,15 +791,15 @@ static unsigned Opt_toseqax_tosneax (StackOpData* D, const char* BoolTransformer
 
         D->IP = D->OpIndex+1;
 
-       /* Add operand for low byte */
-       AddOpLow (D, OP65_CMP, &D->Rhs);
+        /* Add operand for low byte */
+        AddOpLow (D, OP65_CMP, &D->Rhs);
 
         /* bne L */
         X = NewCodeEntry (OP65_BNE, AM65_BRA, L->Name, L, D->OpEntry->LI);
         InsertEntry (D, X, D->IP++);
 
-       /* Add operand for high byte */
-       AddOpHigh (D, OP65_CMP, &D->Rhs, 0);
+        /* Add operand for high byte */
+        AddOpHigh (D, OP65_CMP, &D->Rhs, 0);
 
     } else {
 
@@ -945,7 +945,7 @@ static unsigned Opt___bzero (StackOpData* D)
             /* Loop using the sign bit */
 
             /* ldy #count-1 */
-           Arg = MakeHexArg (D->OpEntry->RI->In.RegA - 1);
+            Arg = MakeHexArg (D->OpEntry->RI->In.RegA - 1);
             X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, D->OpEntry->LI);
             InsertEntry (D, X, D->OpIndex+2);
 
@@ -980,7 +980,7 @@ static unsigned Opt___bzero (StackOpData* D)
             InsertEntry (D, X, D->OpIndex+4);
 
             /* cpy #count */
-           Arg = MakeHexArg (D->OpEntry->RI->In.RegA);
+            Arg = MakeHexArg (D->OpEntry->RI->In.RegA);
             X = NewCodeEntry (OP65_CPY, AM65_IMM, Arg, 0, D->OpEntry->LI);
             InsertEntry (D, X, D->OpIndex+5);
 
@@ -1045,20 +1045,20 @@ static unsigned Opt_staxspidx (StackOpData* D)
 
     if (RegValIsKnown (D->OpEntry->RI->In.RegY)) {
         /* Value of Y is known */
-               const char* Arg = MakeHexArg (D->OpEntry->RI->In.RegY + 1);
-               X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, D->OpEntry->LI);
+        const char* Arg = MakeHexArg (D->OpEntry->RI->In.RegY + 1);
+        X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, D->OpEntry->LI);
     } else {
         X = NewCodeEntry (OP65_INY, AM65_IMP, 0, 0, D->OpEntry->LI);
     }
     InsertEntry (D, X, D->OpIndex+2);
 
     if (RegValIsKnown (D->OpEntry->RI->In.RegX)) {
-               /* Value of X is known */
-               const char* Arg = MakeHexArg (D->OpEntry->RI->In.RegX);
-               X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, D->OpEntry->LI);
+        /* Value of X is known */
+        const char* Arg = MakeHexArg (D->OpEntry->RI->In.RegX);
+        X = NewCodeEntry (OP65_LDA, AM65_IMM, Arg, 0, D->OpEntry->LI);
     } else {
-               /* Value unknown */
-               X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, D->OpEntry->LI);
+        /* Value unknown */
+        X = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, D->OpEntry->LI);
     }
     InsertEntry (D, X, D->OpIndex+3);
 
@@ -1175,9 +1175,9 @@ static unsigned Opt_tosaddax (StackOpData* D)
             X = NewCodeEntry (OP65_INX, AM65_IMP, 0, 0, D->OpEntry->LI);
             InsertEntry (D, X, D->IP++);
 
-        } else if (D->OpEntry->RI->In.RegX == 0                        &&
-                  (RegValIsKnown (D->PushEntry->RI->In.RegX)   ||
-                   (D->Lhs.X.Flags & LI_RELOAD_Y) == 0)) {
+        } else if (D->OpEntry->RI->In.RegX == 0                         &&
+                   (RegValIsKnown (D->PushEntry->RI->In.RegX)   ||
+                    (D->Lhs.X.Flags & LI_RELOAD_Y) == 0)) {
 
             /* The high byte is that of the first operand plus carry */
             CodeLabel* L;
@@ -1187,14 +1187,14 @@ static unsigned Opt_tosaddax (StackOpData* D)
                 X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, D->OpEntry->LI);
             } else {
                 /* Value of first op high byte is unknown. Load from ZP or
-                * original storage.
-                */
-               if (D->Lhs.X.Flags & LI_DIRECT) {
-                   CodeEntry* LoadX = D->Lhs.X.LoadEntry;
-                   X = NewCodeEntry (OP65_LDX, LoadX->AM, LoadX->Arg, 0, D->OpEntry->LI);
-               } else {
+                 * original storage.
+                 */
+                if (D->Lhs.X.Flags & LI_DIRECT) {
+                    CodeEntry* LoadX = D->Lhs.X.LoadEntry;
+                    X = NewCodeEntry (OP65_LDX, LoadX->AM, LoadX->Arg, 0, D->OpEntry->LI);
+                } else {
                     X = NewCodeEntry (OP65_LDX, AM65_ZP, D->ZPHi, 0, D->OpEntry->LI);
-               }
+                }
             }
             InsertEntry (D, X, D->IP++);
 
@@ -1623,12 +1623,12 @@ static unsigned Opt_tosxorax (StackOpData* D)
     /* High byte */
     if (RegValIsKnown (D->PushEntry->RI->In.RegX) &&
         RegValIsKnown (D->OpEntry->RI->In.RegX)) {
-       /* Both values known, precalculate the result */
-       const char* Arg = MakeHexArg (D->PushEntry->RI->In.RegX ^ D->OpEntry->RI->In.RegX);
-               X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, D->OpEntry->LI);
-       InsertEntry (D, X, D->IP++);
+        /* Both values known, precalculate the result */
+        const char* Arg = MakeHexArg (D->PushEntry->RI->In.RegX ^ D->OpEntry->RI->In.RegX);
+        X = NewCodeEntry (OP65_LDX, AM65_IMM, Arg, 0, D->OpEntry->LI);
+        InsertEntry (D, X, D->IP++);
     } else if (D->PushEntry->RI->In.RegX != 0) {
-       /* High byte is unknown */
+        /* High byte is unknown */
         AddOpHigh (D, OP65_EOR, &D->Lhs, 1);
     }
 
@@ -1642,7 +1642,7 @@ static unsigned Opt_tosxorax (StackOpData* D)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -1676,7 +1676,7 @@ static const OptFuncDesc FuncTable[] = {
 static int CmpFunc (const void* Key, const void* Func)
 /* Compare function for bsearch */
 {
-    return strcmp (Key, ((const        OptFuncDesc*) Func)->Name);
+    return strcmp (Key, ((const OptFuncDesc*) Func)->Name);
 }
 
 
@@ -1847,7 +1847,7 @@ static int PreCondOk (StackOpData* D)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -1892,8 +1892,8 @@ unsigned OptStackOps (CodeSeg* S)
     I = 0;
     while (I < (int)CS_GetEntryCount (S)) {
 
-       /* Get the next entry */
-       CodeEntry* E = CS_GetEntry (S, I);
+        /* Get the next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Actions depend on state */
         switch (State) {
@@ -2062,10 +2062,10 @@ unsigned OptStackOps (CodeSeg* S)
                 State = Initialize;
                 continue;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 786158e3259e40098b2eb47ecd19e0e682558d55..8abc25eceff2b4afd105d681e603936f24ad497b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptstop.h                                */
+/*                                 coptstop.h                                */
 /*                                                                           */
-/*          Optimize operations that take operands via the stack            */
+/*           Optimize operations that take operands via the stack            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 03d8ab32fc52c8137c7f981e286bf66f001fa3b3..ea304e15dad6f26b38b5e32cac5140274787abd0 100644 (file)
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -71,32 +71,32 @@ unsigned OptStore1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[4];
+        CodeEntry* L[4];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
         /* Check for the sequence */
         if (L[0]->OPC == OP65_LDY                           &&
-           CE_IsConstImm (L[0])                            &&
+            CE_IsConstImm (L[0])                            &&
             L[0]->Num < 0xFF                                &&
-           !CS_RangeHasLabel (S, I+1, 3)                   &&
-                   CS_GetEntries (S, L+1, I+1, 3)                  &&
+            !CS_RangeHasLabel (S, I+1, 3)                   &&
+            CS_GetEntries (S, L+1, I+1, 3)                  &&
             CE_IsCallTo (L[1], "staxysp")                   &&
             L[2]->OPC == OP65_LDY                           &&
             CE_IsKnownImm (L[2], L[0]->Num + 1)             &&
             CE_IsCallTo (L[3], "ldaxysp")) {
 
-                   /* Register has already the correct value, remove the loads */
-           CS_DelEntries (S, I+2, 2);
+            /* Register has already the correct value, remove the loads */
+            CS_DelEntries (S, I+2, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -119,14 +119,14 @@ unsigned OptStore2 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Get the input registers */
         const RegInfo* RI = E->RI;
 
-       /* Check for the call */
-               if (CE_IsCallTo (E, "staxysp")          &&
+        /* Check for the call */
+        if (CE_IsCallTo (E, "staxysp")          &&
             RegValIsKnown (RI->In.RegA)         &&
             RegValIsKnown (RI->In.RegX)         &&
             RegValIsKnown (RI->In.RegY)         &&
@@ -160,13 +160,13 @@ unsigned OptStore2 (CodeSeg* S)
             /* Remove the call */
             CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -189,14 +189,14 @@ unsigned OptStore3 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
         /* Get the input registers */
         const RegInfo* RI = E->RI;
 
-       /* Check for the call */
-       if (CE_IsCallTo (E, "steaxysp")         &&
+        /* Check for the call */
+        if (CE_IsCallTo (E, "steaxysp")         &&
             RegValIsKnown (RI->In.RegA)         &&
             RegValIsKnown (RI->In.RegX)         &&
             RegValIsKnown (RI->In.RegY)         &&
@@ -299,13 +299,13 @@ unsigned OptStore3 (CodeSeg* S)
             /* Remove the call */
             CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -333,16 +333,16 @@ unsigned OptStore4 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[5];
+        CodeEntry* L[5];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
         /* Check for the sequence */
         if (L[0]->OPC == OP65_STA                           &&
             (L[0]->AM == AM65_ABS || L[0]->AM == AM65_ZP)   &&
-           !CS_RangeHasLabel (S, I+1, 3)                   &&
-                   CS_GetEntries (S, L+1, I+1, 4)                  &&
+            !CS_RangeHasLabel (S, I+1, 3)                   &&
+            CS_GetEntries (S, L+1, I+1, 4)                  &&
             L[1]->OPC == OP65_STX                           &&
             L[1]->AM == L[0]->AM                            &&
             L[2]->OPC == OP65_LDA                           &&
@@ -353,16 +353,16 @@ unsigned OptStore4 (CodeSeg* S)
             strcmp (L[1]->Arg, L[3]->Arg) == 0              &&
             !CE_UseLoadFlags (L[4])) {
 
-                   /* Register has already the correct value, remove the loads */
-           CS_DelEntries (S, I+2, 2);
+            /* Register has already the correct value, remove the loads */
+            CS_DelEntries (S, I+2, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -397,15 +397,15 @@ unsigned OptStore5 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[4];
+        CodeEntry* L[4];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
         /* Check for the sequence */
         if (L[0]->OPC == OP65_LDA                           &&
-           !CS_RangeHasLabel (S, I+1, 3)                   &&
-                   CS_GetEntries (S, L+1, I+1, 3)                  &&
+            !CS_RangeHasLabel (S, I+1, 3)                   &&
+            CS_GetEntries (S, L+1, I+1, 3)                  &&
             L[1]->OPC == OP65_LDX                           &&
             L[2]->OPC == OP65_STA                           &&
             L[3]->OPC == OP65_STX                           &&
@@ -414,21 +414,21 @@ unsigned OptStore5 (CodeSeg* S)
             CodeEntry* X;
 
             /* Insert the code after the sequence */
-                   X = NewCodeEntry (OP65_LDA, L[1]->AM, L[1]->Arg, 0, L[1]->LI);
-           CS_InsertEntry (S, X, I+4);
-                   X = NewCodeEntry (OP65_STA, L[3]->AM, L[3]->Arg, 0, L[3]->LI);
-           CS_InsertEntry (S, X, I+5);
+            X = NewCodeEntry (OP65_LDA, L[1]->AM, L[1]->Arg, 0, L[1]->LI);
+            CS_InsertEntry (S, X, I+4);
+            X = NewCodeEntry (OP65_STA, L[3]->AM, L[3]->Arg, 0, L[3]->LI);
+            CS_InsertEntry (S, X, I+5);
 
-                   /* Delete the old code */
+            /* Delete the old code */
             CS_DelEntry (S, I+3);
-           CS_DelEntry (S, I+1);
+            CS_DelEntry (S, I+1);
 
-           /* Remember, we had changes */
-           ++Changes;
-       }
+            /* Remember, we had changes */
+            ++Changes;
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index b6ac183538476838e380934a49ee8e203800aaf5..0785566e08efc994516f4f163f6a58109d4fb3cf 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5449889f6228e5a9602dcc6ff6f5dbf317fcf7c0..fdb1676841170b1c53742091cc5df320107dd5fc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptsub.c                                 */
+/*                                 coptsub.c                                 */
 /*                                                                           */
-/*                     Optimize subtraction sequences                       */
+/*                      Optimize subtraction sequences                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                          Optimize subtractions                           */
+/*                           Optimize subtractions                           */
 /*****************************************************************************/
 
 
@@ -52,9 +52,9 @@
 unsigned OptSub1 (CodeSeg* S)
 /* Search for the sequence
  *
- *     sbc     ...
+ *      sbc     ...
  *      bcs     L
- *     dex
+ *      dex
  * L:
  *
  * and remove the handling of the high byte if X is not used later.
@@ -66,32 +66,32 @@ unsigned OptSub1 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (E->OPC == OP65_SBC                               &&
-           CS_GetEntries (S, L, I+1, 3)                     &&
-                   (L[0]->OPC == OP65_BCS || L[0]->OPC == OP65_JCS) &&
-           L[0]->JumpTo != 0                                &&
-           !CE_HasLabel (L[0])                              &&
-           L[1]->OPC == OP65_DEX                            &&
-           !CE_HasLabel (L[1])                              &&
-           L[0]->JumpTo->Owner == L[2]                      &&
-           !RegXUsed (S, I+3)) {
+        /* Check for the sequence */
+        if (E->OPC == OP65_SBC                               &&
+            CS_GetEntries (S, L, I+1, 3)                     &&
+            (L[0]->OPC == OP65_BCS || L[0]->OPC == OP65_JCS) &&
+            L[0]->JumpTo != 0                                &&
+            !CE_HasLabel (L[0])                              &&
+            L[1]->OPC == OP65_DEX                            &&
+            !CE_HasLabel (L[1])                              &&
+            L[0]->JumpTo->Owner == L[2]                      &&
+            !RegXUsed (S, I+3)) {
 
-           /* Remove the bcs/dex */
-           CS_DelEntries (S, I+1, 2);
+            /* Remove the bcs/dex */
+            CS_DelEntries (S, I+1, 2);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -104,9 +104,9 @@ unsigned OptSub1 (CodeSeg* S)
 unsigned OptSub2 (CodeSeg* S)
 /* Search for the sequence
  *
- *     lda     xx
+ *      lda     xx
  *      sec
- *     sta     tmp1
+ *      sta     tmp1
  *      lda     yy
  *      sbc     tmp1
  *      sta     yy
@@ -115,7 +115,7 @@ unsigned OptSub2 (CodeSeg* S)
  *
  *      sec
  *      lda     yy
- *             sbc     xx
+ *      sbc     xx
  *      sta     yy
  */
 {
@@ -125,50 +125,50 @@ unsigned OptSub2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[5];
+        CodeEntry* L[5];
 
-       /* Get next entry */
-               CodeEntry* E = CS_GetEntry (S, I);
+        /* Get next entry */
+        CodeEntry* E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
-               if (E->OPC == OP65_LDA                             &&
-           !CS_RangeHasLabel (S, I+1, 5)                  &&
-           CS_GetEntries (S, L, I+1, 5)                   &&
-                   L[0]->OPC == OP65_SEC                          &&
-                   L[1]->OPC == OP65_STA                          &&
-           strcmp (L[1]->Arg, "tmp1") == 0                &&
-           L[2]->OPC == OP65_LDA                          &&
-           L[3]->OPC == OP65_SBC                          &&
-           strcmp (L[3]->Arg, "tmp1") == 0                &&
-           L[4]->OPC == OP65_STA                          &&
-           strcmp (L[4]->Arg, L[2]->Arg) == 0) {
+        /* Check for the sequence */
+        if (E->OPC == OP65_LDA                             &&
+            !CS_RangeHasLabel (S, I+1, 5)                  &&
+            CS_GetEntries (S, L, I+1, 5)                   &&
+            L[0]->OPC == OP65_SEC                          &&
+            L[1]->OPC == OP65_STA                          &&
+            strcmp (L[1]->Arg, "tmp1") == 0                &&
+            L[2]->OPC == OP65_LDA                          &&
+            L[3]->OPC == OP65_SBC                          &&
+            strcmp (L[3]->Arg, "tmp1") == 0                &&
+            L[4]->OPC == OP65_STA                          &&
+            strcmp (L[4]->Arg, L[2]->Arg) == 0) {
 
-           /* Remove the store to tmp1 */
-           CS_DelEntry (S, I+2);
+            /* Remove the store to tmp1 */
+            CS_DelEntry (S, I+2);
 
-           /* Remove the subtraction */
-           CS_DelEntry (S, I+3);
+            /* Remove the subtraction */
+            CS_DelEntry (S, I+3);
 
-           /* Move the lda to the position of the subtraction and change the
-            * op to SBC.
-            */
-           CS_MoveEntry (S, I, I+3);
-           CE_ReplaceOPC (E, OP65_SBC);
+            /* Move the lda to the position of the subtraction and change the
+             * op to SBC.
+             */
+            CS_MoveEntry (S, I, I+3);
+            CE_ReplaceOPC (E, OP65_SBC);
 
-           /* If the sequence head had a label, move this label back to the
-            * head.
-            */
-           if (CE_HasLabel (E)) {
-               CS_MoveLabels (S, E, L[0]);
-           }
+            /* If the sequence head had a label, move this label back to the
+             * head.
+             */
+            if (CE_HasLabel (E)) {
+                CS_MoveLabels (S, E, L[0]);
+            }
 
-           /* Remember, we had changes */
-                   ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -189,12 +189,12 @@ unsigned OptSub3 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* E;
+        CodeEntry* E;
 
-       /* Get next entry */
-               E = CS_GetEntry (S, I);
+        /* Get next entry */
+        E = CS_GetEntry (S, I);
 
-       /* Check for the sequence */
+        /* Check for the sequence */
         if (E->OPC == OP65_JSR                          &&
             strncmp (E->Arg, "decax", 5) == 0           &&
             IsDigit (E->Arg[5])                         &&
@@ -205,23 +205,23 @@ unsigned OptSub3 (CodeSeg* S)
             const char* Arg;
 
             /* Insert new code behind the sequence */
-           X = NewCodeEntry (OP65_SEC, AM65_IMP, 0, 0, E->LI);
-           CS_InsertEntry (S, X, I+1);
+            X = NewCodeEntry (OP65_SEC, AM65_IMP, 0, 0, E->LI);
+            CS_InsertEntry (S, X, I+1);
 
-           Arg = MakeHexArg (E->Arg[5] - '0');
-                   X = NewCodeEntry (OP65_SBC, AM65_IMM, Arg, 0, E->LI);
-           CS_InsertEntry (S, X, I+2);
+            Arg = MakeHexArg (E->Arg[5] - '0');
+            X = NewCodeEntry (OP65_SBC, AM65_IMM, Arg, 0, E->LI);
+            CS_InsertEntry (S, X, I+2);
 
-                   /* Delete the old code */
-           CS_DelEntry (S, I);
+            /* Delete the old code */
+            CS_DelEntry (S, I);
 
-           /* Remember, we had changes */
-           ++Changes;
+            /* Remember, we had changes */
+            ++Changes;
 
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index 828a1d417b9b8f15b5385f64066534fd14b51310..c8249bdb21281e2b513823fd3de75cd490c6ca00 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                coptsub.h                                 */
+/*                                 coptsub.h                                 */
 /*                                                                           */
-/*                     Optimize subtraction sequences                       */
+/*                      Optimize subtraction sequences                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                          Optimize subtractions                           */
+/*                           Optimize subtractions                           */
 /*****************************************************************************/
 
 
@@ -52,9 +52,9 @@
 unsigned OptSub1 (CodeSeg* S);
 /* Search for the sequence
  *
- *     sbc     ...
+ *      sbc     ...
  *      bcs     L
- *     dex
+ *      dex
  * L:
  *
  * and remove the handling of the high byte if X is not used later.
@@ -63,9 +63,9 @@ unsigned OptSub1 (CodeSeg* S);
 unsigned OptSub2 (CodeSeg* S);
 /* Search for the sequence
  *
- *     lda     xx
+ *      lda     xx
  *      sec
- *     sta     tmp1
+ *      sta     tmp1
  *      lda     yy
  *      sbc     tmp1
  *      sta     yy
@@ -74,7 +74,7 @@ unsigned OptSub2 (CodeSeg* S);
  *
  *      sec
  *      lda     yy
- *             sbc     xx
+ *      sbc     xx
  *      sta     yy
  */
 
index 89ca807602efc57d8ddf3bd0ce9fa9431b4fa28d..91ebdc7ad5ae181623f4bc2271803f19b72607c5 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               copttest.c                                 */
+/*                                copttest.c                                 */
 /*                                                                           */
-/*                         Optimize test sequences                          */
+/*                          Optimize test sequences                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                             Optimize tests                               */
+/*                              Optimize tests                               */
 /*****************************************************************************/
 
 
@@ -74,52 +74,52 @@ unsigned OptTest1 (CodeSeg* S)
     I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check if it's the sequence we're searching for */
-       if (L[0]->OPC == OP65_STX              &&
-           CS_GetEntries (S, L+1, I+1, 2)     &&
-           !CE_HasLabel (L[1])                &&
-           L[1]->OPC == OP65_ORA              &&
-           strcmp (L[0]->Arg, L[1]->Arg) == 0 &&
-           !CE_HasLabel (L[2])                &&
-           (L[2]->Info & OF_ZBRA) != 0) {
+        /* Check if it's the sequence we're searching for */
+        if (L[0]->OPC == OP65_STX              &&
+            CS_GetEntries (S, L+1, I+1, 2)     &&
+            !CE_HasLabel (L[1])                &&
+            L[1]->OPC == OP65_ORA              &&
+            strcmp (L[0]->Arg, L[1]->Arg) == 0 &&
+            !CE_HasLabel (L[2])                &&
+            (L[2]->Info & OF_ZBRA) != 0) {
 
-           /* Check if X is zero */
-           if (L[0]->RI->In.RegX == 0) {
+            /* Check if X is zero */
+            if (L[0]->RI->In.RegX == 0) {
 
-               /* Insert the compare */
-               CodeEntry* N = NewCodeEntry (OP65_CMP, AM65_IMM, "$00", 0, L[0]->LI);
-               CS_InsertEntry (S, N, I+2);
+                /* Insert the compare */
+                CodeEntry* N = NewCodeEntry (OP65_CMP, AM65_IMM, "$00", 0, L[0]->LI);
+                CS_InsertEntry (S, N, I+2);
 
-               /* Remove the two other insns */
-               CS_DelEntry (S, I+1);
-               CS_DelEntry (S, I);
+                /* Remove the two other insns */
+                CS_DelEntry (S, I+1);
+                CS_DelEntry (S, I);
 
-               /* We had changes */
-               ++Changes;
+                /* We had changes */
+                ++Changes;
 
-           /* Check if A is zero */
-           } else if (L[1]->RI->In.RegA == 0) {
+            /* Check if A is zero */
+            } else if (L[1]->RI->In.RegA == 0) {
 
-               /* Insert the txa */
-               CodeEntry* N = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, L[1]->LI);
-               CS_InsertEntry (S, N, I+2);
+                /* Insert the txa */
+                CodeEntry* N = NewCodeEntry (OP65_TXA, AM65_IMP, 0, 0, L[1]->LI);
+                CS_InsertEntry (S, N, I+2);
 
-               /* Remove the two other insns */
-               CS_DelEntry (S, I+1);
-               CS_DelEntry (S, I);
+                /* Remove the two other insns */
+                CS_DelEntry (S, I+1);
+                CS_DelEntry (S, I);
 
-               /* We had changes */
-               ++Changes;
-           }
-       }
+                /* We had changes */
+                ++Changes;
+            }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
@@ -141,28 +141,28 @@ unsigned OptTest2 (CodeSeg* S)
     unsigned I = 0;
     while (I < CS_GetEntryCount (S)) {
 
-       CodeEntry* L[3];
+        CodeEntry* L[3];
 
-       /* Get next entry */
-               L[0] = CS_GetEntry (S, I);
+        /* Get next entry */
+        L[0] = CS_GetEntry (S, I);
 
-       /* Check if it's the sequence we're searching for */
-               if ((L[0]->OPC == OP65_INC || L[0]->OPC == OP65_DEC)    &&
-           CS_GetEntries (S, L+1, I+1, 2)                      &&
-           !CE_HasLabel (L[1])                                 &&
-                   (L[1]->Info & OF_LOAD) != 0                         &&
+        /* Check if it's the sequence we're searching for */
+        if ((L[0]->OPC == OP65_INC || L[0]->OPC == OP65_DEC)    &&
+            CS_GetEntries (S, L+1, I+1, 2)                      &&
+            !CE_HasLabel (L[1])                                 &&
+            (L[1]->Info & OF_LOAD) != 0                         &&
             (L[2]->Info & OF_FBRA) != 0                         &&
             L[1]->AM == L[0]->AM                                &&
-           strcmp (L[0]->Arg, L[1]->Arg) == 0                  &&
+            strcmp (L[0]->Arg, L[1]->Arg) == 0                  &&
             (GetRegInfo (S, I+2, L[1]->Chg) & L[1]->Chg) == 0) {
 
             /* Remove the load */
             CS_DelEntry (S, I+1);
              ++Changes;
-       }
+        }
 
-       /* Next entry */
-       ++I;
+        /* Next entry */
+        ++I;
 
     }
 
index e6e409e89318a0ef4a228568dffd38ea99fdf02b..f6af1da3297e506b61b1b50552045d41654bf21d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               copttest.h                                 */
+/*                                copttest.h                                 */
 /*                                                                           */
-/*                         Optimize test sequences                          */
+/*                          Optimize test sequences                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                             Optimize tests                               */
+/*                              Optimize tests                               */
 /*****************************************************************************/
 
 
index ebb033cbc2058515dcf07ea61e7cdf88dbac7743..c19791e9e43e0c264c232b922c0887bc50c24197 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dataseg.c                                 */
+/*                                 dataseg.c                                 */
 /*                                                                           */
-/*                         Data segment structure                           */
+/*                          Data segment structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,11 +55,11 @@ DataSeg* NewDataSeg (const char* Name, SymEntry* Func)
 /* Create a new data segment, initialize and return it */
 {
     /* Allocate memory */
-    DataSeg* S = xmalloc (sizeof (DataSeg));
+    DataSeg* S  = xmalloc (sizeof (DataSeg));
 
     /* Initialize the fields */
-    S->SegName = xstrdup (Name);
-    S->Func    = Func;
+    S->SegName  = xstrdup (Name);
+    S->Func     = Func;
     InitCollection (&S->Lines);
 
     /* Return the new struct */
@@ -76,7 +76,7 @@ void DS_Append (DataSeg* Target, const DataSeg* Source)
     /* Append all lines from Source to Target */
     unsigned Count = CollCount (&Source->Lines);
     for (I = 0; I < Count; ++I) {
-       CollAppend (&Target->Lines, xstrdup (CollConstAt (&Source->Lines, I)));
+        CollAppend (&Target->Lines, xstrdup (CollConstAt (&Source->Lines, I)));
     }
 }
 
@@ -116,7 +116,7 @@ void DS_Output (const DataSeg* S)
 
     /* If the segment is actually empty, bail out */
     if (Count == 0) {
-       return;
+        return;
     }
 
     /* Output the segment directive */
@@ -124,7 +124,7 @@ void DS_Output (const DataSeg* S)
 
     /* Output all entries */
     for (I = 0; I < Count; ++I) {
-       WriteOutput ("%s\n", (const char*) CollConstAt (&S->Lines, I));
+        WriteOutput ("%s\n", (const char*) CollConstAt (&S->Lines, I));
     }
 
     /* Add an additional newline after the segment output */
index dab06e893422993b60132ccf6b8e3890042cfe9e..c822120a8a510cf1ed8addf8d2a4bc7f43b0aa1c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dataseg.h                                 */
+/*                                 dataseg.h                                 */
 /*                                                                           */
-/*                         Data segment structure                           */
+/*                          Data segment structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 typedef struct DataSeg DataSeg;
 struct DataSeg {
-    char*                      SegName;        /* Segment name */
-    SymEntry*                  Func;           /* Owner function */
-    Collection                 Lines;          /* List of code lines */
+    char*               SegName;        /* Segment name */
+    SymEntry*           Func;           /* Owner function */
+    Collection          Lines;          /* List of code lines */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c1f86062fc10b571b4ad355a947101ba8cb009e5..88ec9ead6d57beffb7a37128a2926efddd438aa1 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               datatype.c                                 */
+/*                                datatype.c                                 */
 /*                                                                           */
-/*              Type string handling for the cc65 C compiler                */
+/*               Type string handling for the cc65 C compiler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -73,7 +73,7 @@ Type type_double[]      = { TYPE(T_DOUBLE), TYPE(T_END) };
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -83,7 +83,7 @@ unsigned TypeLen (const Type* T)
 {
     const Type* Start = T;
     while (T->C != T_END) {
-       ++T;
+        ++T;
     }
     return T - Start;
 }
@@ -95,11 +95,11 @@ Type* TypeCopy (Type* Dest, const Type* Src)
 {
     Type* Orig = Dest;
     while (1) {
-       *Dest = *Src;
+        *Dest = *Src;
         if (Src->C == T_END) {
             break;
         }
-       Src++;
+        Src++;
         Dest++;
     }
     return Orig;
@@ -138,9 +138,9 @@ int SignExtendChar (int C)
 /* Do correct sign extension of a character */
 {
     if (IS_Get (&SignedChars) && (C & 0x80) != 0) {
-               return C | ~0xFF;
+        return C | ~0xFF;
     } else {
-               return C & 0xFF;
+        return C & 0xFF;
     }
 }
 
@@ -207,7 +207,7 @@ Type* PointerTo (const Type* T)
     unsigned Size = TypeLen (T) + 1;
 
     /* Allocate the new type string */
-    Type* P = TypeAlloc        (Size + 1);
+    Type* P = TypeAlloc (Size + 1);
 
     /* Create the return type... */
     P[0].C = T_PTR | (T[0].C & T_QUAL_ADDRSIZE);
@@ -225,8 +225,8 @@ static TypeCode PrintTypeComp (FILE* F, TypeCode C, TypeCode Mask, const char* N
  */
 {
     if ((C & Mask) == Mask) {
-       fprintf (F, "%s ", Name);
-       C &= ~Mask;
+        fprintf (F, "%s ", Name);
+        C &= ~Mask;
     }
     return C;
 }
@@ -242,73 +242,73 @@ void PrintType (FILE* F, const Type* T)
         /* Get the type code */
         TypeCode C = T->C;
 
-       /* Print any qualifiers */
-               C = PrintTypeComp (F, C, T_QUAL_CONST, "const");
-       C = PrintTypeComp (F, C, T_QUAL_VOLATILE, "volatile");
+        /* Print any qualifiers */
+        C = PrintTypeComp (F, C, T_QUAL_CONST, "const");
+        C = PrintTypeComp (F, C, T_QUAL_VOLATILE, "volatile");
         C = PrintTypeComp (F, C, T_QUAL_RESTRICT, "restrict");
         C = PrintTypeComp (F, C, T_QUAL_NEAR, "__near__");
         C = PrintTypeComp (F, C, T_QUAL_FAR, "__far__");
         C = PrintTypeComp (F, C, T_QUAL_FASTCALL, "__fastcall__");
         C = PrintTypeComp (F, C, T_QUAL_CDECL, "__cdecl__");
 
-       /* Signedness. Omit the signedness specifier for long and int */
-               if ((C & T_MASK_TYPE) != T_TYPE_INT && (C & T_MASK_TYPE) != T_TYPE_LONG) {
-           C = PrintTypeComp (F, C, T_SIGN_SIGNED, "signed");
-       }
-       C = PrintTypeComp (F, C, T_SIGN_UNSIGNED, "unsigned");
-
-       /* Now check the real type */
-       switch (C & T_MASK_TYPE) {
-           case T_TYPE_CHAR:
-               fprintf (F, "char");
-               break;
-           case T_TYPE_SHORT:
-               fprintf (F, "short");
-               break;
-           case T_TYPE_INT:
-               fprintf (F, "int");
-               break;
-           case T_TYPE_LONG:
-               fprintf (F, "long");
-               break;
-           case T_TYPE_LONGLONG:
-               fprintf (F, "long long");
-               break;
-           case T_TYPE_FLOAT:
-               fprintf (F, "float");
-               break;
-           case T_TYPE_DOUBLE:
-               fprintf (F, "double");
-               break;
-           case T_TYPE_VOID:
-               fprintf (F, "void");
-               break;
-           case T_TYPE_STRUCT:
-               fprintf (F, "struct %s", ((SymEntry*) T->A.P)->Name);
-               break;
-           case T_TYPE_UNION:
-               fprintf (F, "union %s", ((SymEntry*) T->A.P)->Name);
-               break;
-           case T_TYPE_ARRAY:
-               /* Recursive call */
-               PrintType (F, T + 1);
-               if (T->A.L == UNSPECIFIED) {
-                   fprintf (F, "[]");
-               } else {
-                   fprintf (F, "[%ld]", T->A.L);
-               }
-               return;
-           case T_TYPE_PTR:
-               /* Recursive call */
-               PrintType (F, T + 1);
-               fprintf (F, "*");
-               return;
-           case T_TYPE_FUNC:
-               fprintf (F, "function returning ");
-               break;
-           default:
-               fprintf (F, "unknown type: %04lX", T->C);
-       }
+        /* Signedness. Omit the signedness specifier for long and int */
+        if ((C & T_MASK_TYPE) != T_TYPE_INT && (C & T_MASK_TYPE) != T_TYPE_LONG) {
+            C = PrintTypeComp (F, C, T_SIGN_SIGNED, "signed");
+        }
+        C = PrintTypeComp (F, C, T_SIGN_UNSIGNED, "unsigned");
+
+        /* Now check the real type */
+        switch (C & T_MASK_TYPE) {
+            case T_TYPE_CHAR:
+                fprintf (F, "char");
+                break;
+            case T_TYPE_SHORT:
+                fprintf (F, "short");
+                break;
+            case T_TYPE_INT:
+                fprintf (F, "int");
+                break;
+            case T_TYPE_LONG:
+                fprintf (F, "long");
+                break;
+            case T_TYPE_LONGLONG:
+                fprintf (F, "long long");
+                break;
+            case T_TYPE_FLOAT:
+                fprintf (F, "float");
+                break;
+            case T_TYPE_DOUBLE:
+                fprintf (F, "double");
+                break;
+            case T_TYPE_VOID:
+                fprintf (F, "void");
+                break;
+            case T_TYPE_STRUCT:
+                fprintf (F, "struct %s", ((SymEntry*) T->A.P)->Name);
+                break;
+            case T_TYPE_UNION:
+                fprintf (F, "union %s", ((SymEntry*) T->A.P)->Name);
+                break;
+            case T_TYPE_ARRAY:
+                /* Recursive call */
+                PrintType (F, T + 1);
+                if (T->A.L == UNSPECIFIED) {
+                    fprintf (F, "[]");
+                } else {
+                    fprintf (F, "[%ld]", T->A.L);
+                }
+                return;
+            case T_TYPE_PTR:
+                /* Recursive call */
+                PrintType (F, T + 1);
+                fprintf (F, "*");
+                return;
+            case T_TYPE_FUNC:
+                fprintf (F, "function returning ");
+                break;
+            default:
+                fprintf (F, "unknown type: %04lX", T->C);
+        }
 
         /* Next element */
         ++T;
@@ -332,29 +332,29 @@ void PrintFuncSig (FILE* F, const char* Name, Type* T)
         fprintf (F, " __far__");
     }
     if (IsQualFastcall (T)) {
-       fprintf (F, " __fastcall__");
+        fprintf (F, " __fastcall__");
     }
     if (IsQualCDecl (T)) {
-       fprintf (F, " __cdecl__");
+        fprintf (F, " __cdecl__");
     }
     fprintf (F, " %s (", Name);
 
     /* Parameters */
     if (D->Flags & FD_VOID_PARAM) {
-       fprintf (F, "void");
+        fprintf (F, "void");
     } else {
-       unsigned I;
-       SymEntry* E = D->SymTab->SymHead;
-       for (I = 0; I < D->ParamCount; ++I) {
-           if (I > 0) {
-               fprintf (F, ", ");
-           }
+        unsigned I;
+        SymEntry* E = D->SymTab->SymHead;
+        for (I = 0; I < D->ParamCount; ++I) {
+            if (I > 0) {
+                fprintf (F, ", ");
+            }
             if (SymIsRegVar (E)) {
                 fprintf (F, "register ");
             }
-           PrintType (F, E->Type);
-           E = E->NextSym;
-       }
+            PrintType (F, E->Type);
+            E = E->NextSym;
+        }
     }
 
     /* End of parameter list */
@@ -367,7 +367,7 @@ void PrintRawType (FILE* F, const Type* T)
 /* Print a type string in raw format (for debugging) */
 {
     while (T->C != T_END) {
-               fprintf (F, "%04lX ", T->C);
+        fprintf (F, "%04lX ", T->C);
         ++T;
     }
     fprintf (F, "\n");
@@ -388,57 +388,57 @@ unsigned SizeOf (const Type* T)
 {
     switch (UnqualifiedType (T->C)) {
 
-       case T_VOID:
-                   return 0;   /* Assume voids have size zero */
+        case T_VOID:
+            return 0;   /* Assume voids have size zero */
 
-       case T_SCHAR:
-       case T_UCHAR:
-           return SIZEOF_CHAR;
+        case T_SCHAR:
+        case T_UCHAR:
+            return SIZEOF_CHAR;
 
-               case T_SHORT:
-       case T_USHORT:
+        case T_SHORT:
+        case T_USHORT:
             return SIZEOF_SHORT;
 
-       case T_INT:
-       case T_UINT:
+        case T_INT:
+        case T_UINT:
             return SIZEOF_INT;
 
-       case T_PTR:
-       case T_FUNC:    /* Maybe pointer to function */
-           return SIZEOF_PTR;
+        case T_PTR:
+        case T_FUNC:    /* Maybe pointer to function */
+            return SIZEOF_PTR;
 
         case T_LONG:
-       case T_ULONG:
-           return SIZEOF_LONG;
+        case T_ULONG:
+            return SIZEOF_LONG;
 
-       case T_LONGLONG:
-       case T_ULONGLONG:
-           return SIZEOF_LONGLONG;
+        case T_LONGLONG:
+        case T_ULONGLONG:
+            return SIZEOF_LONGLONG;
 
         case T_ENUM:
-           return SIZEOF_INT;
+            return SIZEOF_INT;
 
-       case T_FLOAT:
+        case T_FLOAT:
             return SIZEOF_FLOAT;
 
-       case T_DOUBLE:
-           return SIZEOF_DOUBLE;
+        case T_DOUBLE:
+            return SIZEOF_DOUBLE;
 
-       case T_STRUCT:
-       case T_UNION:
+        case T_STRUCT:
+        case T_UNION:
             return ((SymEntry*) T->A.P)->V.S.Size;
 
-       case T_ARRAY:
+        case T_ARRAY:
             if (T->A.L == UNSPECIFIED) {
                 /* Array with unspecified size */
                 return 0;
             } else {
-               return T->A.L * SizeOf (T + 1);
+                return T->A.L * SizeOf (T + 1);
             }
 
-       default:
-           Internal ("Unknown type in SizeOf: %04lX", T->C);
-           return 0;
+        default:
+            Internal ("Unknown type in SizeOf: %04lX", T->C);
+            return 0;
 
     }
 }
@@ -494,28 +494,28 @@ unsigned TypeOf (const Type* T)
 {
     switch (UnqualifiedType (T->C)) {
 
-       case T_SCHAR:
-           return CF_CHAR;
+        case T_SCHAR:
+            return CF_CHAR;
 
-       case T_UCHAR:
-           return CF_CHAR | CF_UNSIGNED;
+        case T_UCHAR:
+            return CF_CHAR | CF_UNSIGNED;
 
-       case T_SHORT:
-       case T_INT:
+        case T_SHORT:
+        case T_INT:
         case T_ENUM:
-           return CF_INT;
+            return CF_INT;
 
-       case T_USHORT:
-       case T_UINT:
-       case T_PTR:
-       case T_ARRAY:
-           return CF_INT | CF_UNSIGNED;
+        case T_USHORT:
+        case T_UINT:
+        case T_PTR:
+        case T_ARRAY:
+            return CF_INT | CF_UNSIGNED;
 
         case T_LONG:
-           return CF_LONG;
+            return CF_LONG;
 
-               case T_ULONG:
-                   return CF_LONG | CF_UNSIGNED;
+        case T_ULONG:
+            return CF_LONG | CF_UNSIGNED;
 
         case T_FLOAT:
         case T_DOUBLE:
@@ -523,16 +523,16 @@ unsigned TypeOf (const Type* T)
             return CF_FLOAT;
 
         case T_FUNC:
-           return (((FuncDesc*) T->A.P)->Flags & FD_VARIADIC)? 0 : CF_FIXARGC;
+            return (((FuncDesc*) T->A.P)->Flags & FD_VARIADIC)? 0 : CF_FIXARGC;
 
         case T_STRUCT:
         case T_UNION:
-                   /* Address of ... */
-                   return CF_INT | CF_UNSIGNED;
+            /* Address of ... */
+            return CF_INT | CF_UNSIGNED;
 
-               default:
-                   Error ("Illegal type %04lX", T->C);
-                   return CF_INT;
+        default:
+            Error ("Illegal type %04lX", T->C);
+            return CF_INT;
     }
 }
 
@@ -576,8 +576,8 @@ FuncDesc* GetFuncDesc (const Type* T)
 /* Get the FuncDesc pointer from a function or pointer-to-function type */
 {
     if (UnqualifiedType (T->C) == T_PTR) {
-       /* Pointer to function */
-       ++T;
+        /* Pointer to function */
+        ++T;
     }
 
     /* Be sure it's a function type */
@@ -593,8 +593,8 @@ void SetFuncDesc (Type* T, FuncDesc* F)
 /* Set the FuncDesc pointer in a function or pointer-to-function type */
 {
     if (UnqualifiedType (T->C) == T_PTR) {
-       /* Pointer to function */
-       ++T;
+        /* Pointer to function */
+        ++T;
     }
 
     /* Be sure it's a function type */
@@ -610,8 +610,8 @@ Type* GetFuncReturn (Type* T)
 /* Return a pointer to the return type of a function or pointer-to-function type */
 {
     if (UnqualifiedType (T->C) == T_PTR) {
-       /* Pointer to function */
-       ++T;
+        /* Pointer to function */
+        ++T;
     }
 
     /* Be sure it's a function type */
@@ -719,7 +719,7 @@ Type* PtrConversion (Type* T)
  */
 {
     if (IsTypeFunc (T)) {
-               return PointerTo (T);
+        return PointerTo (T);
     } else if (IsTypeArray (T)) {
         return ArrayToPtr (T);
     } else {
index 3cc6ec5b59c992c9393f451d6aef4d14d5f29664..b49694da3cc0657410d9d1402fe4bdfa8bb4ebf0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               datatype.h                                 */
+/*                                datatype.h                                 */
 /*                                                                           */
-/*              Type string handling for the cc65 C compiler                */
+/*               Type string handling for the cc65 C compiler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Basic data types */
 enum {
-    T_END                  = 0x000000,
+    T_END           = 0x000000,
 
     /* Basic types */
-    T_TYPE_NONE            = 0x000000,
-    T_TYPE_CHAR            = 0x000001,
+    T_TYPE_NONE     = 0x000000,
+    T_TYPE_CHAR     = 0x000001,
     T_TYPE_SHORT    = 0x000002,
-    T_TYPE_INT             = 0x000003,
-    T_TYPE_LONG            = 0x000004,
+    T_TYPE_INT      = 0x000003,
+    T_TYPE_LONG     = 0x000004,
     T_TYPE_LONGLONG = 0x000005,
-    T_TYPE_ENUM            = 0x000006,
+    T_TYPE_ENUM     = 0x000006,
     T_TYPE_FLOAT    = 0x000007,
     T_TYPE_DOUBLE   = 0x000008,
     T_TYPE_VOID     = 0x000009,
@@ -77,29 +77,29 @@ enum {
     T_TYPE_ARRAY    = 0x00000C,
     T_TYPE_PTR      = 0x00000D,
     T_TYPE_FUNC     = 0x00000E,
-    T_MASK_TYPE            = 0x00000F,
+    T_MASK_TYPE     = 0x00000F,
 
     /* Type classes */
     T_CLASS_NONE    = 0x000000,
-    T_CLASS_INT            = 0x000010,
+    T_CLASS_INT     = 0x000010,
     T_CLASS_FLOAT   = 0x000020,
-    T_CLASS_PTR            = 0x000030,
+    T_CLASS_PTR     = 0x000030,
     T_CLASS_STRUCT  = 0x000040,
     T_CLASS_FUNC    = 0x000050,
     T_MASK_CLASS    = 0x000070,
 
     /* Type signedness */
-    T_SIGN_NONE            = 0x000000,
+    T_SIGN_NONE     = 0x000000,
     T_SIGN_UNSIGNED = 0x000080,
     T_SIGN_SIGNED   = 0x000100,
     T_MASK_SIGN     = 0x000180,
 
     /* Type size modifiers */
-    T_SIZE_NONE            = 0x000000,
+    T_SIZE_NONE     = 0x000000,
     T_SIZE_SHORT    = 0x000200,
     T_SIZE_LONG     = 0x000400,
     T_SIZE_LONGLONG = 0x000600,
-    T_MASK_SIZE            = 0x000600,
+    T_MASK_SIZE     = 0x000600,
 
     /* Type qualifiers */
     T_QUAL_NONE     = 0x000000,
@@ -112,29 +112,29 @@ enum {
     T_QUAL_FASTCALL = 0x010000,
     T_QUAL_CDECL    = 0x020000,
     T_QUAL_CCONV    = T_QUAL_FASTCALL | T_QUAL_CDECL,
-    T_MASK_QUAL            = 0x03F800,
+    T_MASK_QUAL     = 0x03F800,
 
     /* Types */
-    T_CHAR             = T_TYPE_CHAR     | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_NONE,
-    T_SCHAR            = T_TYPE_CHAR     | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_NONE,
-    T_UCHAR            = T_TYPE_CHAR     | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_NONE,
-    T_SHORT            = T_TYPE_SHORT    | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_SHORT,
+    T_CHAR      = T_TYPE_CHAR     | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_NONE,
+    T_SCHAR     = T_TYPE_CHAR     | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_NONE,
+    T_UCHAR     = T_TYPE_CHAR     | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_NONE,
+    T_SHORT     = T_TYPE_SHORT    | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_SHORT,
     T_USHORT    = T_TYPE_SHORT    | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_SHORT,
-    T_INT              = T_TYPE_INT      | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_NONE,
-    T_UINT             = T_TYPE_INT      | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_NONE,
-    T_LONG             = T_TYPE_LONG     | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_LONG,
-    T_ULONG            = T_TYPE_LONG     | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_LONG,
-    T_LONGLONG         = T_TYPE_LONGLONG | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_LONGLONG,
-    T_ULONGLONG        = T_TYPE_LONGLONG | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_LONGLONG,
-    T_ENUM             = T_TYPE_ENUM     | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_NONE,
-    T_FLOAT            = T_TYPE_FLOAT    | T_CLASS_FLOAT  | T_SIGN_NONE     | T_SIZE_NONE,
-    T_DOUBLE           = T_TYPE_DOUBLE   | T_CLASS_FLOAT  | T_SIGN_NONE     | T_SIZE_NONE,
-    T_VOID             = T_TYPE_VOID     | T_CLASS_NONE   | T_SIGN_NONE     | T_SIZE_NONE,
+    T_INT       = T_TYPE_INT      | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_NONE,
+    T_UINT      = T_TYPE_INT      | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_NONE,
+    T_LONG      = T_TYPE_LONG     | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_LONG,
+    T_ULONG     = T_TYPE_LONG     | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_LONG,
+    T_LONGLONG  = T_TYPE_LONGLONG | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_LONGLONG,
+    T_ULONGLONG = T_TYPE_LONGLONG | T_CLASS_INT    | T_SIGN_UNSIGNED | T_SIZE_LONGLONG,
+    T_ENUM      = T_TYPE_ENUM     | T_CLASS_INT    | T_SIGN_SIGNED   | T_SIZE_NONE,
+    T_FLOAT     = T_TYPE_FLOAT    | T_CLASS_FLOAT  | T_SIGN_NONE     | T_SIZE_NONE,
+    T_DOUBLE    = T_TYPE_DOUBLE   | T_CLASS_FLOAT  | T_SIGN_NONE     | T_SIZE_NONE,
+    T_VOID      = T_TYPE_VOID     | T_CLASS_NONE   | T_SIGN_NONE     | T_SIZE_NONE,
     T_STRUCT    = T_TYPE_STRUCT   | T_CLASS_STRUCT | T_SIGN_NONE     | T_SIZE_NONE,
     T_UNION     = T_TYPE_UNION    | T_CLASS_STRUCT | T_SIGN_NONE     | T_SIZE_NONE,
-    T_ARRAY            = T_TYPE_ARRAY    | T_CLASS_PTR    | T_SIGN_NONE     | T_SIZE_NONE,
-    T_PTR              = T_TYPE_PTR      | T_CLASS_PTR    | T_SIGN_NONE     | T_SIZE_NONE,
-    T_FUNC             = T_TYPE_FUNC     | T_CLASS_FUNC   | T_SIGN_NONE     | T_SIZE_NONE,
+    T_ARRAY     = T_TYPE_ARRAY    | T_CLASS_PTR    | T_SIGN_NONE     | T_SIZE_NONE,
+    T_PTR       = T_TYPE_PTR      | T_CLASS_PTR    | T_SIGN_NONE     | T_SIZE_NONE,
+    T_FUNC      = T_TYPE_FUNC     | T_CLASS_FUNC   | T_SIGN_NONE     | T_SIZE_NONE,
 
     /* Aliases */
     T_SIZE_T    = T_UINT,
@@ -160,7 +160,7 @@ struct Type {
 #define TYPE(T)         { (T), { 0 } }
 
 /* Maximum length of a type string */
-#define MAXTYPELEN     30
+#define MAXTYPELEN      30
 
 /* Special encodings for element counts of an array */
 #define UNSPECIFIED     -1L     /* Element count was not specified */
@@ -204,7 +204,7 @@ struct SymEntry;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5694b76b8e645395f174d03f8bb2a30005683a96..c4debd8aa25e808b2039a6bd0bdb80c5df6134bc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                declare.c                                 */
+/*                                 declare.c                                 */
 /*                                                                           */
-/*                Parse variable and function declarations                  */
+/*                 Parse variable and function declarations                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -79,7 +79,7 @@ struct StructInitData {
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -93,7 +93,7 @@ static unsigned ParseInitInternal (Type* T, int AllowFlexibleMembers);
 
 
 /*****************************************************************************/
-/*                           Internal functions                             */
+/*                            Internal functions                             */
 /*****************************************************************************/
 
 
@@ -117,9 +117,9 @@ static TypeCode OptionalQualifiers (TypeCode Allowed)
     /* Check for more qualifiers */
     while (1) {
 
-       switch (CurTok.Tok) {
+        switch (CurTok.Tok) {
 
-           case TOK_CONST:
+            case TOK_CONST:
                 if (Allowed & T_QUAL_CONST) {
                     if (Q & T_QUAL_CONST) {
                         DuplicateQualifier ("const");
@@ -130,7 +130,7 @@ static TypeCode OptionalQualifiers (TypeCode Allowed)
                 }
                 break;
 
-           case TOK_VOLATILE:
+            case TOK_VOLATILE:
                 if (Allowed & T_QUAL_VOLATILE) {
                     if (Q & T_QUAL_VOLATILE) {
                         DuplicateQualifier ("volatile");
@@ -139,7 +139,7 @@ static TypeCode OptionalQualifiers (TypeCode Allowed)
                 } else {
                     goto Done;
                 }
-               break;
+                break;
 
             case TOK_RESTRICT:
                 if (Allowed & T_QUAL_RESTRICT) {
@@ -196,13 +196,13 @@ static TypeCode OptionalQualifiers (TypeCode Allowed)
                 }
                 break;
 
-           default:
-               goto Done;
+            default:
+                goto Done;
 
-       }
+        }
 
-       /* Skip the token */
-       NextToken ();
+        /* Skip the token */
+        NextToken ();
     }
 
 Done:
@@ -242,8 +242,8 @@ static void OptionalInt (void)
 /* Eat an optional "int" token */
 {
     if (CurTok.Tok == TOK_INT) {
-       /* Skip it */
-       NextToken ();
+        /* Skip it */
+        NextToken ();
     }
 }
 
@@ -253,8 +253,8 @@ static void OptionalSigned (void)
 /* Eat an optional "signed" token */
 {
     if (CurTok.Tok == TOK_SIGNED) {
-       /* Skip it */
-       NextToken ();
+        /* Skip it */
+        NextToken ();
     }
 }
 
@@ -285,11 +285,11 @@ static void NeedTypeSpace (Declaration* D, unsigned Count)
 /* Check if there is enough space for Count type specifiers within D */
 {
     if (D->Index + Count >= MAXTYPELEN) {
-       /* We must call Fatal() here, since calling Error() will try to
-        * continue, and the declaration type is not correctly terminated
-        * in case we come here.
-        */
-       Fatal ("Too many type specifiers");
+        /* We must call Fatal() here, since calling Error() will try to
+         * continue, and the declaration type is not correctly terminated
+         * in case we come here.
+         */
+        Fatal ("Too many type specifiers");
     }
 }
 
@@ -404,36 +404,36 @@ static void ParseStorageClass (DeclSpec* D, unsigned DefStorage)
     /* Check the storage class given */
     switch (CurTok.Tok) {
 
-       case TOK_EXTERN:
-           D->StorageClass = SC_EXTERN | SC_STATIC;
-           NextToken ();
-           break;
-
-       case TOK_STATIC:
-           D->StorageClass = SC_STATIC;
-           NextToken ();
-           break;
-
-       case TOK_REGISTER:
-           D->StorageClass = SC_REGISTER | SC_STATIC;
-           NextToken ();
-           break;
-
-       case TOK_AUTO:
-           D->StorageClass = SC_AUTO;
-           NextToken ();
-           break;
-
-       case TOK_TYPEDEF:
-           D->StorageClass = SC_TYPEDEF;
-           NextToken ();
-           break;
-
-       default:
-           /* No storage class given, use default */
-                   D->Flags |= DS_DEF_STORAGE;
-           D->StorageClass = DefStorage;
-           break;
+        case TOK_EXTERN:
+            D->StorageClass = SC_EXTERN | SC_STATIC;
+            NextToken ();
+            break;
+
+        case TOK_STATIC:
+            D->StorageClass = SC_STATIC;
+            NextToken ();
+            break;
+
+        case TOK_REGISTER:
+            D->StorageClass = SC_REGISTER | SC_STATIC;
+            NextToken ();
+            break;
+
+        case TOK_AUTO:
+            D->StorageClass = SC_AUTO;
+            NextToken ();
+            break;
+
+        case TOK_TYPEDEF:
+            D->StorageClass = SC_TYPEDEF;
+            NextToken ();
+            break;
+
+        default:
+            /* No storage class given, use default */
+            D->Flags |= DS_DEF_STORAGE;
+            D->StorageClass = DefStorage;
+            break;
     }
 }
 
@@ -447,7 +447,7 @@ static void ParseEnumDecl (void)
 
     /* Accept forward definitions */
     if (CurTok.Tok != TOK_LCURLY) {
-       return;
+        return;
     }
 
     /* Skip the opening curly brace */
@@ -457,31 +457,31 @@ static void ParseEnumDecl (void)
     EnumVal = 0;
     while (CurTok.Tok != TOK_RCURLY) {
 
-       /* We expect an identifier */
-       if (CurTok.Tok != TOK_IDENT) {
-           Error ("Identifier expected");
-           continue;
-       }
-
-       /* Remember the identifier and skip it */
-       strcpy (Ident, CurTok.Ident);
-       NextToken ();
-
-       /* Check for an assigned value */
-       if (CurTok.Tok == TOK_ASSIGN) {
-           ExprDesc Expr;
-           NextToken ();
-           ConstAbsIntExpr (hie1, &Expr);
-           EnumVal = Expr.IVal;
-       }
-
-       /* Add an entry to the symbol table */
-       AddConstSym (Ident, type_int, SC_ENUM, EnumVal++);
-
-       /* Check for end of definition */
-       if (CurTok.Tok != TOK_COMMA)
-           break;
-       NextToken ();
+        /* We expect an identifier */
+        if (CurTok.Tok != TOK_IDENT) {
+            Error ("Identifier expected");
+            continue;
+        }
+
+        /* Remember the identifier and skip it */
+        strcpy (Ident, CurTok.Ident);
+        NextToken ();
+
+        /* Check for an assigned value */
+        if (CurTok.Tok == TOK_ASSIGN) {
+            ExprDesc Expr;
+            NextToken ();
+            ConstAbsIntExpr (hie1, &Expr);
+            EnumVal = Expr.IVal;
+        }
+
+        /* Add an entry to the symbol table */
+        AddConstSym (Ident, type_int, SC_ENUM, EnumVal++);
+
+        /* Check for end of definition */
+        if (CurTok.Tok != TOK_COMMA)
+            break;
+        NextToken ();
     }
     ConsumeRCurly ();
 }
@@ -602,8 +602,8 @@ static SymEntry* ParseUnionDecl (const char* Name)
 
 
     if (CurTok.Tok != TOK_LCURLY) {
-       /* Just a forward declaration. */
-       return StructOrUnionForwardDecl (Name, SC_UNION);
+        /* Just a forward declaration. */
+        return StructOrUnionForwardDecl (Name, SC_UNION);
     }
 
     /* Add a forward declaration for the struct in the current lexical level */
@@ -619,18 +619,18 @@ static SymEntry* ParseUnionDecl (const char* Name)
     UnionSize      = 0;
     while (CurTok.Tok != TOK_RCURLY) {
 
-       /* Get the type of the entry */
-       DeclSpec Spec;
-       InitDeclSpec (&Spec);
-       ParseTypeSpec (&Spec, -1, T_QUAL_NONE);
+        /* Get the type of the entry */
+        DeclSpec Spec;
+        InitDeclSpec (&Spec);
+        ParseTypeSpec (&Spec, -1, T_QUAL_NONE);
 
-       /* Read fields with this type */
-       while (1) {
+        /* Read fields with this type */
+        while (1) {
 
-           Declaration Decl;
+            Declaration Decl;
 
-           /* Get type and name of the struct field */
-           ParseDecl (&Spec, &Decl, DM_ACCEPT_IDENT);
+            /* Get type and name of the struct field */
+            ParseDecl (&Spec, &Decl, DM_ACCEPT_IDENT);
 
             /* Check for a bit-field declaration */
             FieldWidth = ParseFieldWidth (&Decl);
@@ -672,11 +672,11 @@ static SymEntry* ParseUnionDecl (const char* Name)
             }
 
 NextMember: if (CurTok.Tok != TOK_COMMA) {
-               break;
+                break;
             }
-           NextToken ();
-       }
-       ConsumeSemi ();
+            NextToken ();
+        }
+        ConsumeSemi ();
     }
 
     /* Skip the closing brace */
@@ -704,8 +704,8 @@ static SymEntry* ParseStructDecl (const char* Name)
 
 
     if (CurTok.Tok != TOK_LCURLY) {
-       /* Just a forward declaration. */
-       return StructOrUnionForwardDecl (Name, SC_STRUCT);
+        /* Just a forward declaration. */
+        return StructOrUnionForwardDecl (Name, SC_STRUCT);
     }
 
     /* Add a forward declaration for the struct in the current lexical level */
@@ -723,15 +723,15 @@ static SymEntry* ParseStructDecl (const char* Name)
     BitOffs        = 0;
     while (CurTok.Tok != TOK_RCURLY) {
 
-       /* Get the type of the entry */
-       DeclSpec Spec;
-       InitDeclSpec (&Spec);
-       ParseTypeSpec (&Spec, -1, T_QUAL_NONE);
+        /* Get the type of the entry */
+        DeclSpec Spec;
+        InitDeclSpec (&Spec);
+        ParseTypeSpec (&Spec, -1, T_QUAL_NONE);
 
-       /* Read fields with this type */
-       while (1) {
+        /* Read fields with this type */
+        while (1) {
 
-           Declaration Decl;
+            Declaration Decl;
             ident       Ident;
 
             /* If we had a flexible array member before, no other fields can
@@ -742,8 +742,8 @@ static SymEntry* ParseStructDecl (const char* Name)
                 FlexibleMember = 0;     /* Avoid further errors */
             }
 
-           /* Get type and name of the struct field */
-           ParseDecl (&Spec, &Decl, DM_ACCEPT_IDENT);
+            /* Get type and name of the struct field */
+            ParseDecl (&Spec, &Decl, DM_ACCEPT_IDENT);
 
             /* Check for a bit-field declaration */
             FieldWidth = ParseFieldWidth (&Decl);
@@ -836,11 +836,11 @@ static SymEntry* ParseStructDecl (const char* Name)
             }
 
 NextMember: if (CurTok.Tok != TOK_COMMA) {
-               break;
+                break;
             }
-           NextToken ();
-       }
-       ConsumeSemi ();
+            NextToken ();
+        }
+        ConsumeSemi ();
     }
 
     /* If we have bits from bit-fields left, add them to the size. */
@@ -864,8 +864,8 @@ NextMember: if (CurTok.Tok != TOK_COMMA) {
 static void ParseTypeSpec (DeclSpec* D, long Default, TypeCode Qualifiers)
 /* Parse a type specificier */
 {
-    ident      Ident;
-    SymEntry*  Entry;
+    ident       Ident;
+    SymEntry*   Entry;
 
     /* Assume we have an explicit type */
     D->Flags &= ~DS_DEF_TYPE;
@@ -876,223 +876,223 @@ static void ParseTypeSpec (DeclSpec* D, long Default, TypeCode Qualifiers)
     /* Look at the data type */
     switch (CurTok.Tok) {
 
-       case TOK_VOID:
-           NextToken ();
-           D->Type[0].C = T_VOID;
-           D->Type[1].C = T_END;
-           break;
-
-       case TOK_CHAR:
-           NextToken ();
-           D->Type[0].C = GetDefaultChar();
-           D->Type[1].C = T_END;
-           break;
-
-       case TOK_LONG:
-           NextToken ();
-           if (CurTok.Tok == TOK_UNSIGNED) {
-               NextToken ();
-               OptionalInt ();
-               D->Type[0].C = T_ULONG;
-               D->Type[1].C = T_END;
-           } else {
-               OptionalSigned ();
-               OptionalInt ();
-               D->Type[0].C = T_LONG;
-               D->Type[1].C = T_END;
-           }
-           break;
-
-       case TOK_SHORT:
-           NextToken ();
-           if (CurTok.Tok == TOK_UNSIGNED) {
-               NextToken ();
-               OptionalInt ();
-               D->Type[0].C = T_USHORT;
-               D->Type[1].C = T_END;
-           } else {
-               OptionalSigned ();
-               OptionalInt ();
-               D->Type[0].C = T_SHORT;
-               D->Type[1].C = T_END;
-           }
-           break;
-
-       case TOK_INT:
-           NextToken ();
-           D->Type[0].C = T_INT;
-           D->Type[1].C = T_END;
-           break;
+        case TOK_VOID:
+            NextToken ();
+            D->Type[0].C = T_VOID;
+            D->Type[1].C = T_END;
+            break;
+
+        case TOK_CHAR:
+            NextToken ();
+            D->Type[0].C = GetDefaultChar();
+            D->Type[1].C = T_END;
+            break;
+
+        case TOK_LONG:
+            NextToken ();
+            if (CurTok.Tok == TOK_UNSIGNED) {
+                NextToken ();
+                OptionalInt ();
+                D->Type[0].C = T_ULONG;
+                D->Type[1].C = T_END;
+            } else {
+                OptionalSigned ();
+                OptionalInt ();
+                D->Type[0].C = T_LONG;
+                D->Type[1].C = T_END;
+            }
+            break;
+
+        case TOK_SHORT:
+            NextToken ();
+            if (CurTok.Tok == TOK_UNSIGNED) {
+                NextToken ();
+                OptionalInt ();
+                D->Type[0].C = T_USHORT;
+                D->Type[1].C = T_END;
+            } else {
+                OptionalSigned ();
+                OptionalInt ();
+                D->Type[0].C = T_SHORT;
+                D->Type[1].C = T_END;
+            }
+            break;
+
+        case TOK_INT:
+            NextToken ();
+            D->Type[0].C = T_INT;
+            D->Type[1].C = T_END;
+            break;
 
        case TOK_SIGNED:
-           NextToken ();
-           switch (CurTok.Tok) {
-
-                       case TOK_CHAR:
-                   NextToken ();
-                   D->Type[0].C = T_SCHAR;
-                   D->Type[1].C = T_END;
-                   break;
-
-               case TOK_SHORT:
-                   NextToken ();
-                   OptionalInt ();
-                   D->Type[0].C = T_SHORT;
-                   D->Type[1].C = T_END;
-                   break;
-
-               case TOK_LONG:
-                   NextToken ();
-                   OptionalInt ();
-                   D->Type[0].C = T_LONG;
-                   D->Type[1].C = T_END;
-                   break;
-
-               case TOK_INT:
-                   NextToken ();
-                   /* FALL THROUGH */
-
-               default:
-                   D->Type[0].C = T_INT;
-                   D->Type[1].C = T_END;
-                   break;
-           }
-           break;
-
-       case TOK_UNSIGNED:
-           NextToken ();
-           switch (CurTok.Tok) {
-
-                       case TOK_CHAR:
-                   NextToken ();
-                   D->Type[0].C = T_UCHAR;
-                   D->Type[1].C = T_END;
-                   break;
-
-               case TOK_SHORT:
-                   NextToken ();
-                   OptionalInt ();
-                   D->Type[0].C = T_USHORT;
-                   D->Type[1].C = T_END;
-                   break;
-
-               case TOK_LONG:
-                   NextToken ();
-                   OptionalInt ();
-                   D->Type[0].C = T_ULONG;
-                   D->Type[1].C = T_END;
-                   break;
-
-               case TOK_INT:
-                   NextToken ();
-                   /* FALL THROUGH */
-
-               default:
-                   D->Type[0].C = T_UINT;
-                   D->Type[1].C = T_END;
-                   break;
-           }
-           break;
+            NextToken ();
+            switch (CurTok.Tok) {
+
+                case TOK_CHAR:
+                    NextToken ();
+                    D->Type[0].C = T_SCHAR;
+                    D->Type[1].C = T_END;
+                    break;
+
+                case TOK_SHORT:
+                    NextToken ();
+                    OptionalInt ();
+                    D->Type[0].C = T_SHORT;
+                    D->Type[1].C = T_END;
+                    break;
+
+                case TOK_LONG:
+                    NextToken ();
+                    OptionalInt ();
+                    D->Type[0].C = T_LONG;
+                    D->Type[1].C = T_END;
+                    break;
+
+                case TOK_INT:
+                    NextToken ();
+                    /* FALL THROUGH */
+
+                default:
+                    D->Type[0].C = T_INT;
+                    D->Type[1].C = T_END;
+                    break;
+            }
+            break;
+
+        case TOK_UNSIGNED:
+            NextToken ();
+            switch (CurTok.Tok) {
+
+                case TOK_CHAR:
+                    NextToken ();
+                    D->Type[0].C = T_UCHAR;
+                    D->Type[1].C = T_END;
+                    break;
+
+                case TOK_SHORT:
+                    NextToken ();
+                    OptionalInt ();
+                    D->Type[0].C = T_USHORT;
+                    D->Type[1].C = T_END;
+                    break;
+
+                case TOK_LONG:
+                    NextToken ();
+                    OptionalInt ();
+                    D->Type[0].C = T_ULONG;
+                    D->Type[1].C = T_END;
+                    break;
+
+                case TOK_INT:
+                    NextToken ();
+                    /* FALL THROUGH */
+
+                default:
+                    D->Type[0].C = T_UINT;
+                    D->Type[1].C = T_END;
+                    break;
+            }
+            break;
 
         case TOK_FLOAT:
-           NextToken ();
-           D->Type[0].C = T_FLOAT;
-           D->Type[1].C = T_END;
-           break;
+            NextToken ();
+            D->Type[0].C = T_FLOAT;
+            D->Type[1].C = T_END;
+            break;
 
         case TOK_DOUBLE:
-           NextToken ();
-           D->Type[0].C = T_DOUBLE;
-           D->Type[1].C = T_END;
-           break;
-
-       case TOK_UNION:
-           NextToken ();
-           /* */
-           if (CurTok.Tok == TOK_IDENT) {
-               strcpy (Ident, CurTok.Ident);
-               NextToken ();
-           } else {
-                       AnonName (Ident, "union");
-           }
-           /* Remember we have an extra type decl */
-           D->Flags |= DS_EXTRA_TYPE;
-           /* Declare the union in the current scope */
-           Entry = ParseUnionDecl (Ident);
-                   /* Encode the union entry into the type */
-           D->Type[0].C = T_UNION;
-           SetSymEntry (D->Type, Entry);
-           D->Type[1].C = T_END;
-           break;
-
-       case TOK_STRUCT:
-           NextToken ();
-           /* */
-           if (CurTok.Tok == TOK_IDENT) {
-               strcpy (Ident, CurTok.Ident);
-               NextToken ();
-           } else {
-                       AnonName (Ident, "struct");
-           }
-           /* Remember we have an extra type decl */
-           D->Flags |= DS_EXTRA_TYPE;
-           /* Declare the struct in the current scope */
-           Entry = ParseStructDecl (Ident);
-                   /* Encode the struct entry into the type */
-           D->Type[0].C = T_STRUCT;
-           SetSymEntry (D->Type, Entry);
-           D->Type[1].C = T_END;
-           break;
-
-       case TOK_ENUM:
-           NextToken ();
-           if (CurTok.Tok != TOK_LCURLY) {
-               /* Named enum */
-               if (CurTok.Tok == TOK_IDENT) {
-                   /* Find an entry with this name */
-                   Entry = FindTagSym (CurTok.Ident);
-                   if (Entry) {
-                       if (SymIsLocal (Entry) && (Entry->Flags & SC_ENUM) == 0) {
-                           Error ("Symbol `%s' is already different kind", Entry->Name);
-                       }
-                   } else {
-                       /* Insert entry into table ### */
-                   }
-                   /* Skip the identifier */
-                   NextToken ();
-               } else {
-                   Error ("Identifier expected");
-               }
-           }
-           /* Remember we have an extra type decl */
-           D->Flags |= DS_EXTRA_TYPE;
-           /* Parse the enum decl */
-           ParseEnumDecl ();
-           D->Type[0].C = T_INT;
-           D->Type[1].C = T_END;
-           break;
+            NextToken ();
+            D->Type[0].C = T_DOUBLE;
+            D->Type[1].C = T_END;
+            break;
+
+        case TOK_UNION:
+            NextToken ();
+            /* */
+            if (CurTok.Tok == TOK_IDENT) {
+                strcpy (Ident, CurTok.Ident);
+                NextToken ();
+            } else {
+                AnonName (Ident, "union");
+            }
+            /* Remember we have an extra type decl */
+            D->Flags |= DS_EXTRA_TYPE;
+            /* Declare the union in the current scope */
+            Entry = ParseUnionDecl (Ident);
+            /* Encode the union entry into the type */
+            D->Type[0].C = T_UNION;
+            SetSymEntry (D->Type, Entry);
+            D->Type[1].C = T_END;
+            break;
+
+        case TOK_STRUCT:
+            NextToken ();
+            /* */
+            if (CurTok.Tok == TOK_IDENT) {
+                strcpy (Ident, CurTok.Ident);
+                NextToken ();
+            } else {
+                AnonName (Ident, "struct");
+            }
+            /* Remember we have an extra type decl */
+            D->Flags |= DS_EXTRA_TYPE;
+            /* Declare the struct in the current scope */
+            Entry = ParseStructDecl (Ident);
+            /* Encode the struct entry into the type */
+            D->Type[0].C = T_STRUCT;
+            SetSymEntry (D->Type, Entry);
+            D->Type[1].C = T_END;
+            break;
+
+        case TOK_ENUM:
+            NextToken ();
+            if (CurTok.Tok != TOK_LCURLY) {
+                /* Named enum */
+                if (CurTok.Tok == TOK_IDENT) {
+                    /* Find an entry with this name */
+                    Entry = FindTagSym (CurTok.Ident);
+                    if (Entry) {
+                        if (SymIsLocal (Entry) && (Entry->Flags & SC_ENUM) == 0) {
+                            Error ("Symbol `%s' is already different kind", Entry->Name);
+                        }
+                    } else {
+                        /* Insert entry into table ### */
+                    }
+                    /* Skip the identifier */
+                    NextToken ();
+                } else {
+                    Error ("Identifier expected");
+                }
+            }
+            /* Remember we have an extra type decl */
+            D->Flags |= DS_EXTRA_TYPE;
+            /* Parse the enum decl */
+            ParseEnumDecl ();
+            D->Type[0].C = T_INT;
+            D->Type[1].C = T_END;
+            break;
 
         case TOK_IDENT:
-           Entry = FindSym (CurTok.Ident);
-           if (Entry && SymIsTypeDef (Entry)) {
-                       /* It's a typedef */
-               NextToken ();
-               TypeCopy (D->Type, Entry->Type);
-               break;
-           }
-           /* FALL THROUGH */
-
-       default:
-           if (Default < 0) {
-               Error ("Type expected");
-               D->Type[0].C = T_INT;
-               D->Type[1].C = T_END;
-           } else {
-               D->Flags |= DS_DEF_TYPE;
-               D->Type[0].C = (TypeCode) Default;
-               D->Type[1].C = T_END;
-           }
-           break;
+            Entry = FindSym (CurTok.Ident);
+            if (Entry && SymIsTypeDef (Entry)) {
+                /* It's a typedef */
+                NextToken ();
+                TypeCopy (D->Type, Entry->Type);
+                break;
+            }
+            /* FALL THROUGH */
+
+        default:
+            if (Default < 0) {
+                Error ("Type expected");
+                D->Type[0].C = T_INT;
+                D->Type[1].C = T_END;
+            } else {
+                D->Flags |= DS_DEF_TYPE;
+                D->Type[0].C = (TypeCode) Default;
+                D->Type[1].C = T_END;
+            }
+            break;
     }
 
     /* There may also be qualifiers *after* the initial type */
@@ -1107,7 +1107,7 @@ static Type* ParamTypeCvt (Type* T)
  */
 {
     if (IsTypeArray (T)) {
-               T->C = T_PTR;
+        T->C = T_PTR;
     }
     return T;
 }
@@ -1123,8 +1123,8 @@ static void ParseOldStyleParamList (FuncDesc* F)
     /* Parse params */
     while (CurTok.Tok != TOK_RPAREN) {
 
-       /* List of identifiers expected */
-       if (CurTok.Tok == TOK_IDENT) {
+        /* List of identifiers expected */
+        if (CurTok.Tok == TOK_IDENT) {
 
             /* Create a symbol table entry with type int */
             AddLocalSym (CurTok.Ident, type_int, SC_AUTO | SC_PARAM | SC_DEF | SC_DEFTYPE, 0);
@@ -1135,20 +1135,20 @@ static void ParseOldStyleParamList (FuncDesc* F)
             /* Skip the identifier */
             NextToken ();
 
-       } else {
+        } else {
             /* Not a parameter name */
-           Error ("Identifier expected");
+            Error ("Identifier expected");
 
             /* Try some smart error recovery */
             SkipTokens (TokenList, sizeof(TokenList) / sizeof(TokenList[0]));
         }
 
-       /* Check for more parameters */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextToken ();
-       } else {
-           break;
-       }
+        /* Check for more parameters */
+        if (CurTok.Tok == TOK_COMMA) {
+            NextToken ();
+        } else {
+            break;
+        }
     }
 
     /* Skip right paren. We must explicitly check for one here, since some of
@@ -1159,31 +1159,31 @@ static void ParseOldStyleParamList (FuncDesc* F)
     /* An optional list of type specifications follows */
     while (CurTok.Tok != TOK_LCURLY) {
 
-       DeclSpec        Spec;
+        DeclSpec        Spec;
 
-       /* Read the declaration specifier */
-       ParseDeclSpec (&Spec, SC_AUTO, T_INT);
+        /* Read the declaration specifier */
+        ParseDeclSpec (&Spec, SC_AUTO, T_INT);
 
-               /* We accept only auto and register as storage class specifiers, but
-        * we ignore all this, since we use auto anyway.
-        */
-       if ((Spec.StorageClass & SC_AUTO) == 0 &&
-           (Spec.StorageClass & SC_REGISTER) == 0) {
-           Error ("Illegal storage class");
-       }
+        /* We accept only auto and register as storage class specifiers, but
+         * we ignore all this, since we use auto anyway.
+         */
+        if ((Spec.StorageClass & SC_AUTO) == 0 &&
+            (Spec.StorageClass & SC_REGISTER) == 0) {
+            Error ("Illegal storage class");
+        }
 
-       /* Parse a comma separated variable list */
-       while (1) {
+        /* Parse a comma separated variable list */
+        while (1) {
 
-           Declaration         Decl;
+            Declaration         Decl;
 
-           /* Read the parameter */
-           ParseDecl (&Spec, &Decl, DM_NEED_IDENT);
-           if (Decl.Ident[0] != '\0') {
+            /* Read the parameter */
+            ParseDecl (&Spec, &Decl, DM_NEED_IDENT);
+            if (Decl.Ident[0] != '\0') {
 
-               /* We have a name given. Search for the symbol */
-               SymEntry* Sym = FindLocalSym (Decl.Ident);
-               if (Sym) {
+                /* We have a name given. Search for the symbol */
+                SymEntry* Sym = FindLocalSym (Decl.Ident);
+                if (Sym) {
                     /* Check if we already changed the type for this
                      * parameter
                      */
@@ -1196,21 +1196,21 @@ static void ParseOldStyleParamList (FuncDesc* F)
                         /* Type has already been changed */
                         Error ("Redefinition for parameter `%s'", Sym->Name);
                     }
-               } else {
-                   Error ("Unknown identifier: `%s'", Decl.Ident);
-               }
-           }
+                } else {
+                    Error ("Unknown identifier: `%s'", Decl.Ident);
+                }
+            }
 
-           if (CurTok.Tok == TOK_COMMA) {
-               NextToken ();
-           } else {
-               break;
-           }
+            if (CurTok.Tok == TOK_COMMA) {
+                NextToken ();
+            } else {
+                break;
+            }
 
-       }
+        }
 
-       /* Variable list must be semicolon terminated */
-       ConsumeSemi ();
+        /* Variable list must be semicolon terminated */
+        ConsumeSemi ();
     }
 }
 
@@ -1222,50 +1222,50 @@ static void ParseAnsiParamList (FuncDesc* F)
     /* Parse params */
     while (CurTok.Tok != TOK_RPAREN) {
 
-       DeclSpec        Spec;
-       Declaration     Decl;
+        DeclSpec        Spec;
+        Declaration     Decl;
         SymEntry*       Sym;
 
-       /* Allow an ellipsis as last parameter */
-       if (CurTok.Tok == TOK_ELLIPSIS) {
-           NextToken ();
-           F->Flags |= FD_VARIADIC;
-           break;
-       }
+        /* Allow an ellipsis as last parameter */
+        if (CurTok.Tok == TOK_ELLIPSIS) {
+            NextToken ();
+            F->Flags |= FD_VARIADIC;
+            break;
+        }
 
-       /* Read the declaration specifier */
-       ParseDeclSpec (&Spec, SC_AUTO, T_INT);
+        /* Read the declaration specifier */
+        ParseDeclSpec (&Spec, SC_AUTO, T_INT);
 
-               /* We accept only auto and register as storage class specifiers */
+        /* We accept only auto and register as storage class specifiers */
         if ((Spec.StorageClass & SC_AUTO) == SC_AUTO) {
             Spec.StorageClass = SC_AUTO | SC_PARAM | SC_DEF;
         } else if ((Spec.StorageClass & SC_REGISTER) == SC_REGISTER) {
             Spec.StorageClass = SC_REGISTER | SC_STATIC | SC_PARAM | SC_DEF;
         } else {
-           Error ("Illegal storage class");
+            Error ("Illegal storage class");
             Spec.StorageClass = SC_AUTO | SC_PARAM | SC_DEF;
-       }
+        }
 
-       /* Allow parameters without a name, but remember if we had some to
-        * eventually print an error message later.
-        */
-       ParseDecl (&Spec, &Decl, DM_ACCEPT_IDENT);
-               if (Decl.Ident[0] == '\0') {
+        /* Allow parameters without a name, but remember if we had some to
+         * eventually print an error message later.
+         */
+        ParseDecl (&Spec, &Decl, DM_ACCEPT_IDENT);
+        if (Decl.Ident[0] == '\0') {
 
-           /* Unnamed symbol. Generate a name that is not user accessible,
-            * then handle the symbol normal.
-            */
-           AnonName (Decl.Ident, "param");
-           F->Flags |= FD_UNNAMED_PARAMS;
+            /* Unnamed symbol. Generate a name that is not user accessible,
+             * then handle the symbol normal.
+             */
+            AnonName (Decl.Ident, "param");
+            F->Flags |= FD_UNNAMED_PARAMS;
 
-           /* Clear defined bit on nonames */
-           Decl.StorageClass &= ~SC_DEF;
-       }
+            /* Clear defined bit on nonames */
+            Decl.StorageClass &= ~SC_DEF;
+        }
 
-       /* Parse attributes for this parameter */
-       ParseAttribute (&Decl);
+        /* Parse attributes for this parameter */
+        ParseAttribute (&Decl);
 
-       /* Create a symbol table entry */
+        /* Create a symbol table entry */
         Sym = AddLocalSym (Decl.Ident, ParamTypeCvt (Decl.Type), Decl.StorageClass, 0);
 
         /* Add attributes if we have any */
@@ -1278,15 +1278,15 @@ static void ParseAnsiParamList (FuncDesc* F)
             }
         }
 
-       /* Count arguments */
-               ++F->ParamCount;
+        /* Count arguments */
+        ++F->ParamCount;
 
-       /* Check for more parameters */
-       if (CurTok.Tok == TOK_COMMA) {
-           NextToken ();
-       } else {
-           break;
-       }
+        /* Check for more parameters */
+        if (CurTok.Tok == TOK_COMMA) {
+            NextToken ();
+        } else {
+            break;
+        }
     }
 
     /* Skip right paren. We must explicitly check for one here, since some of
@@ -1311,33 +1311,33 @@ static FuncDesc* ParseFuncDecl (void)
 
     /* Check for several special parameter lists */
     if (CurTok.Tok == TOK_RPAREN) {
-       /* Parameter list is empty */
-       F->Flags |= (FD_EMPTY | FD_VARIADIC);
+        /* Parameter list is empty */
+        F->Flags |= (FD_EMPTY | FD_VARIADIC);
     } else if (CurTok.Tok == TOK_VOID && NextTok.Tok == TOK_RPAREN) {
-       /* Parameter list declared as void */
-       NextToken ();
-       F->Flags |= FD_VOID_PARAM;
+        /* Parameter list declared as void */
+        NextToken ();
+        F->Flags |= FD_VOID_PARAM;
     } else if (CurTok.Tok == TOK_IDENT &&
-              (NextTok.Tok == TOK_COMMA || NextTok.Tok == TOK_RPAREN)) {
-       /* If the identifier is a typedef, we have a new style parameter list,
-        * if it's some other identifier, it's an old style parameter list.
-        */
-       Sym = FindSym (CurTok.Ident);
-       if (Sym == 0 || !SymIsTypeDef (Sym)) {
-           /* Old style (K&R) function. */
-           F->Flags |= FD_OLDSTYLE;
-       }
+               (NextTok.Tok == TOK_COMMA || NextTok.Tok == TOK_RPAREN)) {
+        /* If the identifier is a typedef, we have a new style parameter list,
+         * if it's some other identifier, it's an old style parameter list.
+         */
+        Sym = FindSym (CurTok.Ident);
+        if (Sym == 0 || !SymIsTypeDef (Sym)) {
+            /* Old style (K&R) function. */
+            F->Flags |= FD_OLDSTYLE;
+        }
     }
 
     /* Parse params */
     if ((F->Flags & FD_OLDSTYLE) == 0) {
 
-       /* New style function */
-       ParseAnsiParamList (F);
+        /* New style function */
+        ParseAnsiParamList (F);
 
     } else {
-       /* Old style function */
-       ParseOldStyleParamList (F);
+        /* Old style function */
+        ParseOldStyleParamList (F);
     }
 
     /* Remember the last function parameter. We need it later for several
@@ -1353,15 +1353,15 @@ static FuncDesc* ParseFuncDecl (void)
     Offs = (F->Flags & FD_VARIADIC)? 1 : 0;
     Sym = F->LastParam;
     while (Sym) {
-       unsigned Size = CheckedSizeOf (Sym->Type);
+        unsigned Size = CheckedSizeOf (Sym->Type);
         if (SymIsRegVar (Sym)) {
             Sym->V.R.SaveOffs = Offs;
         } else {
-           Sym->V.Offs = Offs;
+            Sym->V.Offs = Offs;
         }
-               Offs += Size;
-       F->ParamSize += Size;
-       Sym = Sym->PrevSym;
+        Offs += Size;
+        F->ParamSize += Size;
+        Sym = Sym->PrevSym;
     }
 
     /* Leave the lexical level remembering the symbol tables */
@@ -1388,58 +1388,58 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
     if (CurTok.Tok == TOK_STAR) {
 
         /* Skip the star */
-               NextToken ();
+        NextToken ();
 
-       /* Allow const, restrict and volatile qualifiers */
+        /* Allow const, restrict and volatile qualifiers */
         Qualifiers |= OptionalQualifiers (T_QUAL_CONST | T_QUAL_VOLATILE | T_QUAL_RESTRICT);
 
         /* Parse the type, the pointer points to */
-               Declarator (Spec, D, Mode);
+        Declarator (Spec, D, Mode);
 
-       /* Add the type */
-       AddTypeToDeclaration (D, T_PTR | Qualifiers);
-               return;
+        /* Add the type */
+        AddTypeToDeclaration (D, T_PTR | Qualifiers);
+        return;
     }
 
     if (CurTok.Tok == TOK_LPAREN) {
-               NextToken ();
-               Declarator (Spec, D, Mode);
-               ConsumeRParen ();
+        NextToken ();
+        Declarator (Spec, D, Mode);
+        ConsumeRParen ();
     } else {
-       /* Things depend on Mode now:
-                *  - Mode == DM_NEED_IDENT means:
-        *      we *must* have a type and a variable identifer.
-        *  - Mode == DM_NO_IDENT means:
-        *      we must have a type but no variable identifer
-        *      (if there is one, it's not read).
-        *  - Mode == DM_ACCEPT_IDENT means:
-        *      we *may* have an identifier. If there is an identifier,
-        *      it is read, but it is no error, if there is none.
-        */
-       if (Mode == DM_NO_IDENT) {
-           D->Ident[0] = '\0';
-       } else if (CurTok.Tok == TOK_IDENT) {
-                   strcpy (D->Ident, CurTok.Ident);
-           NextToken ();
-       } else {
-           if (Mode == DM_NEED_IDENT) {
-               Error ("Identifier expected");
-           }
-           D->Ident[0] = '\0';
-       }
+        /* Things depend on Mode now:
+         *  - Mode == DM_NEED_IDENT means:
+         *      we *must* have a type and a variable identifer.
+         *  - Mode == DM_NO_IDENT means:
+         *      we must have a type but no variable identifer
+         *      (if there is one, it's not read).
+         *  - Mode == DM_ACCEPT_IDENT means:
+         *      we *may* have an identifier. If there is an identifier,
+         *      it is read, but it is no error, if there is none.
+         */
+        if (Mode == DM_NO_IDENT) {
+            D->Ident[0] = '\0';
+        } else if (CurTok.Tok == TOK_IDENT) {
+            strcpy (D->Ident, CurTok.Ident);
+            NextToken ();
+        } else {
+            if (Mode == DM_NEED_IDENT) {
+                Error ("Identifier expected");
+            }
+            D->Ident[0] = '\0';
+        }
     }
 
     while (CurTok.Tok == TOK_LBRACK || CurTok.Tok == TOK_LPAREN) {
-               if (CurTok.Tok == TOK_LPAREN) {
+        if (CurTok.Tok == TOK_LPAREN) {
 
-                   /* Function declaration */
-           FuncDesc* F;
+            /* Function declaration */
+            FuncDesc* F;
 
             /* Skip the opening paren */
-                   NextToken ();
+            NextToken ();
 
-           /* Parse the function declaration */
-                   F = ParseFuncDecl ();
+            /* Parse the function declaration */
+            F = ParseFuncDecl ();
 
             /* We cannot specify fastcall for variadic functions */
             if ((F->Flags & FD_VARIADIC) && (Qualifiers & T_QUAL_FASTCALL)) {
@@ -1447,7 +1447,7 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
                 Qualifiers &= ~T_QUAL_FASTCALL;
             }
 
-           /* Add the function type. Be sure to bounds check the type buffer */
+            /* Add the function type. Be sure to bounds check the type buffer */
             NeedTypeSpace (D, 1);
             D->Type[D->Index].C = T_FUNC | Qualifiers;
             D->Type[D->Index].A.P = F;
@@ -1456,9 +1456,9 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
             /* Qualifiers now used */
             Qualifiers = T_QUAL_NONE;
 
-               } else {
-           /* Array declaration. */
-                   long Size = UNSPECIFIED;
+        } else {
+            /* Array declaration. */
+            long Size = UNSPECIFIED;
 
             /* We cannot have any qualifiers for an array */
             if (Qualifiers != T_QUAL_NONE) {
@@ -1467,12 +1467,12 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
             }
 
             /* Skip the left bracket */
-                   NextToken ();
+            NextToken ();
 
-           /* Read the size if it is given */
-                   if (CurTok.Tok != TOK_RBRACK) {
-               ExprDesc Expr;
-                       ConstAbsIntExpr (hie1, &Expr);
+            /* Read the size if it is given */
+            if (CurTok.Tok != TOK_RBRACK) {
+                ExprDesc Expr;
+                ConstAbsIntExpr (hie1, &Expr);
                 if (Expr.IVal <= 0) {
                     if (D->Ident[0] != '\0') {
                         Error ("Size of array `%s' is invalid", D->Ident);
@@ -1481,18 +1481,18 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
                     }
                     Expr.IVal = 1;
                 }
-                       Size = Expr.IVal;
-                   }
+                Size = Expr.IVal;
+            }
 
             /* Skip the right bracket */
-                   ConsumeRBrack ();
+            ConsumeRBrack ();
 
-           /* Add the array type with the size to the type */
+            /* Add the array type with the size to the type */
             NeedTypeSpace (D, 1);
             D->Type[D->Index].C = T_ARRAY;
             D->Type[D->Index].A.L = Size;
             ++D->Index;
-               }
+        }
     }
 
     /* If we have remaining qualifiers, flag them as invalid */
@@ -1513,7 +1513,7 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
@@ -1550,7 +1550,7 @@ void ParseDecl (const DeclSpec* Spec, Declaration* D, declmode_t Mode)
     Declarator (Spec, D, Mode);
 
     /* Add the base type. */
-    NeedTypeSpace (D, TypeLen (Spec->Type) + 1);       /* Bounds check */
+    NeedTypeSpace (D, TypeLen (Spec->Type) + 1);        /* Bounds check */
     TypeCopy (D->Type + D->Index, Spec->Type);
 
     /* Use the storage class from the declspec */
@@ -1663,7 +1663,7 @@ void CheckEmptyDecl (const DeclSpec* D)
  */
 {
     if ((D->Flags & DS_EXTRA_TYPE) == 0) {
-       Warning ("Useless declaration");
+        Warning ("Useless declaration");
     }
 }
 
@@ -1734,7 +1734,7 @@ static void DefineData (ExprDesc* Expr)
 
         case E_LOC_ABS:
             /* Absolute: numeric address or const */
-                   g_defdata (TypeOf (Expr->Type) | CF_CONST, Expr->IVal, 0);
+            g_defdata (TypeOf (Expr->Type) | CF_CONST, Expr->IVal, 0);
             break;
 
         case E_LOC_GLOBAL:
@@ -1749,12 +1749,12 @@ static void DefineData (ExprDesc* Expr)
             break;
 
         case E_LOC_REGISTER:
-                   /* Register variable. Taking the address is usually not
-                    * allowed.
-                    */
-                   if (IS_Get (&AllowRegVarAddr) == 0) {
-                       Error ("Cannot take the address of a register variable");
-                   }
+            /* Register variable. Taking the address is usually not
+             * allowed.
+             */
+            if (IS_Get (&AllowRegVarAddr) == 0) {
+                Error ("Cannot take the address of a register variable");
+            }
             g_defdata (CF_REGVAR, Expr->Name, Expr->IVal);
             break;
 
@@ -1764,8 +1764,8 @@ static void DefineData (ExprDesc* Expr)
             Error ("Non constant initializer");
             break;
 
-               default:
-                   Internal ("Unknown constant type: 0x%04X", ED_GetLoc (Expr));
+        default:
+            Internal ("Unknown constant type: 0x%04X", ED_GetLoc (Expr));
     }
 }
 
@@ -1972,11 +1972,11 @@ static unsigned ParseStructInit (Type* T, int AllowFlexibleMembers)
      */
     Tab = Entry->V.S.SymTab;
     if (Tab == 0) {
-       Error ("Cannot initialize variables with incomplete type");
+        Error ("Cannot initialize variables with incomplete type");
         /* Try error recovery */
         SkipInitializer (1);
-       /* Nothing initialized */
-       return 0;
+        /* Nothing initialized */
+        return 0;
     }
 
     /* Get a pointer to the list of symbols */
@@ -1989,11 +1989,11 @@ static unsigned ParseStructInit (Type* T, int AllowFlexibleMembers)
     while (CurTok.Tok != TOK_RCURLY) {
 
         /* */
-       if (Entry == 0) {
-           Error ("Too many initializers");
+        if (Entry == 0) {
+            Error ("Too many initializers");
             SkipInitializer (1);
-           return SI.Offs;
-       }
+            return SI.Offs;
+        }
 
         /* Parse initialization of one field. Bit-fields need a special
          * handling.
@@ -2063,8 +2063,8 @@ static unsigned ParseStructInit (Type* T, int AllowFlexibleMembers)
         }
 
         /* More initializers? */
-               if (CurTok.Tok != TOK_COMMA) {
-           break;
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
         }
 
         /* Skip the comma */
@@ -2089,7 +2089,7 @@ NextMember:
 
     /* If there are struct fields left, reserve additional storage */
     if (SI.Offs < SI.Size) {
-       g_zerobytes (SI.Size - SI.Offs);
+        g_zerobytes (SI.Size - SI.Offs);
         SI.Offs = SI.Size;
     }
 
@@ -2116,53 +2116,53 @@ static unsigned ParseVoidInit (void)
     /* Allow an arbitrary list of values */
     Size = 0;
     do {
-       ConstExpr (hie1, &Expr);
-       switch (UnqualifiedType (Expr.Type[0].C)) {
-
-           case T_SCHAR:
-           case T_UCHAR:
-               if (ED_IsConstAbsInt (&Expr)) {
-                   /* Make it byte sized */
-                   Expr.IVal &= 0xFF;
-               }
-               DefineData (&Expr);
+        ConstExpr (hie1, &Expr);
+        switch (UnqualifiedType (Expr.Type[0].C)) {
+
+            case T_SCHAR:
+            case T_UCHAR:
+                if (ED_IsConstAbsInt (&Expr)) {
+                    /* Make it byte sized */
+                    Expr.IVal &= 0xFF;
+                }
+                DefineData (&Expr);
                 Size += SIZEOF_CHAR;
                 break;
 
-           case T_SHORT:
-           case T_USHORT:
-           case T_INT:
-           case T_UINT:
-           case T_PTR:
-           case T_ARRAY:
-               if (ED_IsConstAbsInt (&Expr)) {
-                   /* Make it word sized */
-                   Expr.IVal &= 0xFFFF;
-               }
-               DefineData (&Expr);
-               Size += SIZEOF_INT;
+            case T_SHORT:
+            case T_USHORT:
+            case T_INT:
+            case T_UINT:
+            case T_PTR:
+            case T_ARRAY:
+                if (ED_IsConstAbsInt (&Expr)) {
+                    /* Make it word sized */
+                    Expr.IVal &= 0xFFFF;
+                }
+                DefineData (&Expr);
+                Size += SIZEOF_INT;
                 break;
 
-           case T_LONG:
-           case T_ULONG:
-               if (ED_IsConstAbsInt (&Expr)) {
-                   /* Make it dword sized */
-                   Expr.IVal &= 0xFFFFFFFF;
-               }
-               DefineData (&Expr);
-               Size += SIZEOF_LONG;
+            case T_LONG:
+            case T_ULONG:
+                if (ED_IsConstAbsInt (&Expr)) {
+                    /* Make it dword sized */
+                    Expr.IVal &= 0xFFFFFFFF;
+                }
+                DefineData (&Expr);
+                Size += SIZEOF_LONG;
                 break;
 
-           default:
-               Error ("Illegal type in initialization");
-               break;
+            default:
+                Error ("Illegal type in initialization");
+                break;
 
-       }
+        }
 
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       }
-       NextToken ();
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        }
+        NextToken ();
 
     } while (CurTok.Tok != TOK_RCURLY);
 
@@ -2180,38 +2180,38 @@ static unsigned ParseInitInternal (Type* T, int AllowFlexibleMembers)
 {
     switch (UnqualifiedType (T->C)) {
 
-       case T_SCHAR:
-       case T_UCHAR:
-       case T_SHORT:
-       case T_USHORT:
-       case T_INT:
-       case T_UINT:
-       case T_LONG:
-       case T_ULONG:
+        case T_SCHAR:
+        case T_UCHAR:
+        case T_SHORT:
+        case T_USHORT:
+        case T_INT:
+        case T_UINT:
+        case T_LONG:
+        case T_ULONG:
         case T_FLOAT:
         case T_DOUBLE:
             return ParseScalarInit (T);
 
-       case T_PTR:
+        case T_PTR:
             return ParsePointerInit (T);
 
-       case T_ARRAY:
+        case T_ARRAY:
             return ParseArrayInit (T, AllowFlexibleMembers);
 
         case T_STRUCT:
         case T_UNION:
-           return ParseStructInit (T, AllowFlexibleMembers);
-
-       case T_VOID:
-           if (IS_Get (&Standard) == STD_CC65) {
-               /* Special cc65 extension in non ANSI mode */
-               return ParseVoidInit ();
-           }
-           /* FALLTHROUGH */
-
-       default:
-           Error ("Illegal type");
-           return SIZEOF_CHAR;
+            return ParseStructInit (T, AllowFlexibleMembers);
+
+        case T_VOID:
+            if (IS_Get (&Standard) == STD_CC65) {
+                /* Special cc65 extension in non ANSI mode */
+                return ParseVoidInit ();
+            }
+            /* FALLTHROUGH */
+
+        default:
+            Error ("Illegal type");
+            return SIZEOF_CHAR;
 
     }
 }
index 96cdc40d92e605af4e1fc05328bf8ca8268bc763..3a21a59d98b9fddd309bfe956d90db59b448979b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                declare.h                                 */
+/*                                 declare.h                                 */
 /*                                                                           */
-/*                Parse variable and function declarations                  */
+/*                 Parse variable and function declarations                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Masks for the Flags field in DeclSpec */
-#define DS_DEF_STORAGE         0x0001U /* Default storage class used   */
-#define DS_DEF_TYPE            0x0002U /* Default type used            */
-#define DS_EXTRA_TYPE          0x0004U /* Extra type declared          */
+#define DS_DEF_STORAGE          0x0001U /* Default storage class used   */
+#define DS_DEF_TYPE             0x0002U /* Default type used            */
+#define DS_EXTRA_TYPE           0x0004U /* Extra type declared          */
 
 /* Result of ParseDeclSpec */
 typedef struct DeclSpec DeclSpec;
 struct DeclSpec {
-    unsigned   StorageClass;           /* One of the SC_xxx flags      */
-    Type               Type[MAXTYPELEN];       /* Type of the declaration spec */
-    unsigned   Flags;                  /* Bitmapped flags              */
+    unsigned    StorageClass;           /* One of the SC_xxx flags      */
+    Type        Type[MAXTYPELEN];       /* Type of the declaration spec */
+    unsigned    Flags;                  /* Bitmapped flags              */
 };
 
 /* Result of ParseDecl */
 typedef struct Declaration Declaration;
 struct Declaration {
     unsigned    StorageClass;           /* A set of SC_xxx flags */
-    Type       Type[MAXTYPELEN];       /* The type */
-    ident      Ident;                  /* The identifier, if any*/
+    Type        Type[MAXTYPELEN];       /* The type */
+    ident       Ident;                  /* The identifier, if any*/
     Collection* Attributes;             /* Attributes if any */
 
     /* Working variables */
-    unsigned   Index;              /* Used to build Type */
+    unsigned    Index;              /* Used to build Type */
 };
 
 /* Modes for ParseDecl */
@@ -88,7 +88,7 @@ typedef enum {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5110361b782e1d5822727a14977d1d5096541b93..ac45db2211348340d96cdb5a18cf8ba9ab0307ff 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               declattr.c                                 */
+/*                                declattr.c                                 */
 /*                                                                           */
-/*                         Declaration attributes                           */
+/*                          Declaration attributes                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -63,8 +63,8 @@ static void UnusedAttr (Declaration* D);
 /* Attribute table */
 typedef struct AttrDesc AttrDesc;
 struct AttrDesc {
-    const char Name[15];
-    void       (*Handler) (Declaration*);
+    const char  Name[15];
+    void        (*Handler) (Declaration*);
 };
 static const AttrDesc AttrTable [] = {
     { "__noreturn__",   NoReturnAttr    },
@@ -111,10 +111,10 @@ static const AttrDesc* FindAttribute (const char* Attr)
 
     /* For now do a linear search */
     for (A = 0; A < sizeof (AttrTable) / sizeof (AttrTable[0]); ++A) {
-               if (strcmp (Attr, AttrTable[A].Name) == 0) {
-           /* Found */
-                   return AttrTable + A;
-       }
+        if (strcmp (Attr, AttrTable[A].Name) == 0) {
+            /* Found */
+            return AttrTable + A;
+        }
     }
 
     /* Not found */
@@ -182,8 +182,8 @@ void ParseAttribute (Declaration* D)
 {
     /* Do we have an attribute? */
     if (CurTok.Tok != TOK_ATTRIBUTE) {
-       /* No attribute, bail out */
-       return;
+        /* No attribute, bail out */
+        return;
     }
 
     /* Skip the attribute token */
index d6c8a168b321effb2f818bea224161f9d4e3b941..e3826c77f6ef8fdec3248ac38511ca54cf868748 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               declattr.h                                 */
+/*                                declattr.h                                 */
 /*                                                                           */
-/*                         Declaration attributes                           */
+/*                          Declaration attributes                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -49,7 +49,7 @@ struct Declaration;
 
 /* Supported attribute types */
 typedef enum {
-    atNoReturn,                        /* Function does not return */
+    atNoReturn,                 /* Function does not return */
     atUnused,                   /* Symbol is unused - don't warn */
 } DeclAttrType;
 
@@ -62,7 +62,7 @@ struct DeclAttr {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2fe399702fbf6418b44cee641822bdc49d1af68c..e15cd22ba2a758345827ea1411e45fdcbbaf6012 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 error.c                                  */
+/*                                  error.c                                  */
 /*                                                                           */
-/*                 Error handling for the cc65 C compiler                   */
+/*                  Error handling for the cc65 C compiler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Count of errors/warnings */
-unsigned ErrorCount    = 0;
-unsigned WarningCount  = 0;
+unsigned ErrorCount     = 0;
+unsigned WarningCount   = 0;
 
 /* Warning and error options */
 IntStack WarnEnable         = INTSTACK(1);  /* Enable warnings */
@@ -106,11 +106,11 @@ void Fatal (const char* Format, ...)
     const char* FileName;
     unsigned    LineNum;
     if (CurTok.LI) {
-       FileName = GetInputName (CurTok.LI);
-       LineNum  = GetInputLine (CurTok.LI);
+        FileName = GetInputName (CurTok.LI);
+        LineNum  = GetInputLine (CurTok.LI);
     } else {
-       FileName = GetCurrentFile ();
-       LineNum  = GetCurrentLine ();
+        FileName = GetCurrentFile ();
+        LineNum  = GetCurrentLine ();
     }
 
     fprintf (stderr, "%s(%u): Fatal: ", FileName, LineNum);
@@ -136,15 +136,15 @@ void Internal (const char* Format, ...)
     const char* FileName;
     unsigned    LineNum;
     if (CurTok.LI) {
-       FileName = GetInputName (CurTok.LI);
-       LineNum  = GetInputLine (CurTok.LI);
+        FileName = GetInputName (CurTok.LI);
+        LineNum  = GetInputLine (CurTok.LI);
     } else {
-       FileName = GetCurrentFile ();
-       LineNum  = GetCurrentLine ();
+        FileName = GetCurrentFile ();
+        LineNum  = GetCurrentLine ();
     }
 
     fprintf (stderr, "%s(%u): Internal compiler error:\n",
-            FileName, LineNum);
+             FileName, LineNum);
 
     va_start (ap, Format);
     vfprintf (stderr, Format, ap);
@@ -179,7 +179,7 @@ static void IntError (const char* Filename, unsigned LineNo, const char* Msg, va
     }
     ++ErrorCount;
     if (ErrorCount > 10) {
-               Fatal ("Too many errors");
+        Fatal ("Too many errors");
     }
 }
 
@@ -234,14 +234,14 @@ static void IntWarning (const char* Filename, unsigned LineNo, const char* Msg,
 
     } else if (IS_Get (&WarnEnable)) {
 
-               fprintf (stderr, "%s(%u): Warning: ", Filename, LineNo);
-       vfprintf (stderr, Msg, ap);
-       fprintf (stderr, "\n");
+        fprintf (stderr, "%s(%u): Warning: ", Filename, LineNo);
+        vfprintf (stderr, Msg, ap);
+        fprintf (stderr, "\n");
 
         if (Line) {
-           Print (stderr, 1, "Input: %.*s\n", (int) SB_GetLen (Line), SB_GetConstBuf (Line));
+            Print (stderr, 1, "Input: %.*s\n", (int) SB_GetLen (Line), SB_GetConstBuf (Line));
         }
-       ++WarningCount;
+        ++WarningCount;
 
     }
 }
index 5830367e1d37d30fb721a1c440a6eed5c54c6e62..5811e1b455097b4a664a77094d5febe2f5bbf2dc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 error.h                                  */
+/*                                  error.h                                  */
 /*                                                                           */
-/*                 Error handling for the cc65 C compiler                   */
+/*                  Error handling for the cc65 C compiler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -74,7 +74,7 @@ extern IntStack WarnUnknownPragma;      /* - unknown #pragmas */
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
index 9708ebe2cdfd4644c10722e4d4d5315d589762f5..558967aa2719a3402e57b022e00dc317c52509c0 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Generator attributes */
-#define GEN_NOPUSH     0x01            /* Don't push lhs */
+#define GEN_NOPUSH      0x01            /* Don't push lhs */
 #define GEN_COMM        0x02            /* Operator is commutative */
 
 /* Map a generator function and its attributes to a token */
 typedef struct {
-    token_t       Tok;                 /* Token to map to */
-    unsigned      Flags;               /* Flags for generator function */
-    void                 (*Func) (unsigned, unsigned long);    /* Generator func */
+    token_t       Tok;                  /* Token to map to */
+    unsigned      Flags;                /* Flags for generator function */
+    void          (*Func) (unsigned, unsigned long);    /* Generator func */
 } GenDesc;
 
 /* Descriptors for the operations */
-static GenDesc GenPASGN  = { TOK_PLUS_ASSIGN,  GEN_NOPUSH,     g_add };
+static GenDesc GenPASGN  = { TOK_PLUS_ASSIGN,   GEN_NOPUSH,     g_add };
 static GenDesc GenSASGN  = { TOK_MINUS_ASSIGN,  GEN_NOPUSH,     g_sub };
-static GenDesc GenMASGN  = { TOK_MUL_ASSIGN,   GEN_NOPUSH,     g_mul };
-static GenDesc GenDASGN  = { TOK_DIV_ASSIGN,   GEN_NOPUSH,     g_div };
-static GenDesc GenMOASGN = { TOK_MOD_ASSIGN,   GEN_NOPUSH,     g_mod };
-static GenDesc GenSLASGN = { TOK_SHL_ASSIGN,   GEN_NOPUSH,     g_asl };
-static GenDesc GenSRASGN = { TOK_SHR_ASSIGN,   GEN_NOPUSH,     g_asr };
-static GenDesc GenAASGN  = { TOK_AND_ASSIGN,   GEN_NOPUSH,     g_and };
-static GenDesc GenXOASGN = { TOK_XOR_ASSIGN,   GEN_NOPUSH,     g_xor };
-static GenDesc GenOASGN  = { TOK_OR_ASSIGN,    GEN_NOPUSH,     g_or  };
+static GenDesc GenMASGN  = { TOK_MUL_ASSIGN,    GEN_NOPUSH,     g_mul };
+static GenDesc GenDASGN  = { TOK_DIV_ASSIGN,    GEN_NOPUSH,     g_div };
+static GenDesc GenMOASGN = { TOK_MOD_ASSIGN,    GEN_NOPUSH,     g_mod };
+static GenDesc GenSLASGN = { TOK_SHL_ASSIGN,    GEN_NOPUSH,     g_asl };
+static GenDesc GenSRASGN = { TOK_SHR_ASSIGN,    GEN_NOPUSH,     g_asr };
+static GenDesc GenAASGN  = { TOK_AND_ASSIGN,    GEN_NOPUSH,     g_and };
+static GenDesc GenXOASGN = { TOK_XOR_ASSIGN,    GEN_NOPUSH,     g_xor };
+static GenDesc GenOASGN  = { TOK_OR_ASSIGN,     GEN_NOPUSH,     g_or  };
 
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -109,15 +109,15 @@ void ExprWithCheck (void (*Func) (ExprDesc*), ExprDesc* Expr)
 
     /* Do some checks if code generation is still constistent */
     if (StackPtr != OldSP) {
-       if (Debug) {
-                   Error ("Code generation messed up: "
+        if (Debug) {
+            Error ("Code generation messed up: "
                    "StackPtr is %d, should be %d",
                    StackPtr, OldSP);
-       } else {
-                   Internal ("Code generation messed up: "
+        } else {
+            Internal ("Code generation messed up: "
                       "StackPtr is %d, should be %d",
                       StackPtr, OldSP);
-       }
+        }
     }
 }
 
@@ -142,21 +142,21 @@ static Type* promoteint (Type* lhst, Type* rhst)
 {
     /* Rules for integer types:
      *   - If one of the values is a long, the result is long.
-     *   - If one of the values        is unsigned, the result is also unsigned.
+     *   - If one of the values is unsigned, the result is also unsigned.
      *   - Otherwise the result is an int.
      */
     if (IsTypeLong (lhst) || IsTypeLong (rhst)) {
-               if (IsSignUnsigned (lhst) || IsSignUnsigned (rhst)) {
-                   return type_ulong;
-       } else {
-           return type_long;
-       }
+        if (IsSignUnsigned (lhst) || IsSignUnsigned (rhst)) {
+            return type_ulong;
+        } else {
+            return type_long;
+        }
     } else {
-       if (IsSignUnsigned (lhst) || IsSignUnsigned (rhst)) {
-           return type_uint;
-       } else {
-           return type_int;
-       }
+        if (IsSignUnsigned (lhst) || IsSignUnsigned (rhst)) {
+            return type_uint;
+        } else {
+            return type_int;
+        }
     }
 }
 
@@ -182,15 +182,15 @@ static unsigned typeadjust (ExprDesc* lhs, ExprDesc* rhs, int NoPush)
     /* Generate type adjustment code if needed */
     ltype = TypeOf (lhst);
     if (ED_IsLocAbs (lhs)) {
-       ltype |= CF_CONST;
+        ltype |= CF_CONST;
     }
     if (NoPush) {
-       /* Value is in primary register*/
-       ltype |= CF_REG;
+        /* Value is in primary register*/
+        ltype |= CF_REG;
     }
     rtype = TypeOf (rhst);
     if (ED_IsLocAbs (rhs)) {
-       rtype |= CF_CONST;
+        rtype |= CF_CONST;
     }
     flags = g_typeadjust (ltype, rtype);
 
@@ -207,10 +207,10 @@ static const GenDesc* FindGen (token_t Tok, const GenDesc* Table)
 /* Find a token in a generator table */
 {
     while (Table->Tok != TOK_INVALID) {
-       if (Table->Tok == Tok) {
-           return Table;
-       }
-       ++Table;
+        if (Table->Tok == Tok) {
+            return Table;
+        }
+        ++Table;
     }
     return 0;
 }
@@ -232,11 +232,11 @@ static int TypeSpecAhead (void)
      *   c.  the next token is a typedef'd type
      */
     return CurTok.Tok == TOK_LPAREN && (
-                  TokIsType (&NextTok)                         ||
+           TokIsType (&NextTok)                         ||
            TokIsTypeQual (&NextTok)                     ||
-                  (NextTok.Tok  == TOK_IDENT                   &&
-          (Entry = FindSym (NextTok.Ident)) != 0       &&
-          SymIsTypeDef (Entry)));
+           (NextTok.Tok  == TOK_IDENT                   &&
+           (Entry = FindSym (NextTok.Ident)) != 0       &&
+           SymIsTypeDef (Entry)));
 }
 
 
@@ -250,8 +250,8 @@ void PushAddr (const ExprDesc* Expr)
 {
     /* Get the address on stack if needed */
     if (ED_IsLocExpr (Expr)) {
-       /* Push the address (always a pointer) */
-       g_push (CF_PTR, 0);
+        /* Push the address (always a pointer) */
+        g_push (CF_PTR, 0);
     }
 }
 
@@ -270,7 +270,7 @@ static void WarnConstCompareResult (void)
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
@@ -286,13 +286,13 @@ static unsigned FunctionParamList (FuncDesc* Func, int IsFastcall)
     ExprDesc Expr;
 
     /* Initialize variables */
-    SymEntry* Param              = 0;  /* Keep gcc silent */
-    unsigned  ParamSize   = 0; /* Size of parameters pushed */
-    unsigned  ParamCount  = 0; /* Number of parameters pushed */
-    unsigned  FrameSize   = 0; /* Size of parameter frame */
-    unsigned  FrameParams = 0; /* Number of params in frame */
-    int       FrameOffs   = 0; /* Offset into parameter frame */
-    int              Ellipsis    = 0;  /* Function is variadic */
+    SymEntry* Param       = 0;  /* Keep gcc silent */
+    unsigned  ParamSize   = 0;  /* Size of parameters pushed */
+    unsigned  ParamCount  = 0;  /* Number of parameters pushed */
+    unsigned  FrameSize   = 0;  /* Size of parameter frame */
+    unsigned  FrameParams = 0;  /* Number of params in frame */
+    int       FrameOffs   = 0;  /* Offset into parameter frame */
+    int       Ellipsis    = 0;  /* Function is variadic */
 
     /* As an optimization, we may allocate the complete parameter frame at
      * once instead of pushing each parameter as it comes. We may do that,
@@ -309,81 +309,81 @@ static unsigned FunctionParamList (FuncDesc* Func, int IsFastcall)
      */
     if (IS_Get (&CodeSizeFactor) >= 200) {
 
-       /* Calculate the number and size of the parameters */
-       FrameParams = Func->ParamCount;
-       FrameSize   = Func->ParamSize;
-       if (FrameParams > 0 && IsFastcall) {
-           /* Last parameter is not pushed */
-           FrameSize -= CheckedSizeOf (Func->LastParam->Type);
-           --FrameParams;
-       }
-
-       /* Do we have more than one parameter in the frame? */
-       if (FrameParams > 1) {
-           /* Okeydokey, setup the frame */
-           FrameOffs = StackPtr;
-           g_space (FrameSize);
-           StackPtr -= FrameSize;
-       } else {
-           /* Don't use a preallocated frame */
-           FrameSize = 0;
-       }
+        /* Calculate the number and size of the parameters */
+        FrameParams = Func->ParamCount;
+        FrameSize   = Func->ParamSize;
+        if (FrameParams > 0 && IsFastcall) {
+            /* Last parameter is not pushed */
+            FrameSize -= CheckedSizeOf (Func->LastParam->Type);
+            --FrameParams;
+        }
+
+        /* Do we have more than one parameter in the frame? */
+        if (FrameParams > 1) {
+            /* Okeydokey, setup the frame */
+            FrameOffs = StackPtr;
+            g_space (FrameSize);
+            StackPtr -= FrameSize;
+        } else {
+            /* Don't use a preallocated frame */
+            FrameSize = 0;
+        }
     }
 
     /* Parse the actual parameter list */
     while (CurTok.Tok != TOK_RPAREN) {
 
-       unsigned Flags;
-
-       /* Count arguments */
-       ++ParamCount;
-
-       /* Fetch the pointer to the next argument, check for too many args */
-       if (ParamCount <= Func->ParamCount) {
-           /* Beware: If there are parameters with identical names, they
-            * cannot go into the same symbol table, which means that in this
-            * case of errorneous input, the number of nodes in the symbol
-            * table and ParamCount are NOT equal. We have to handle this case
-            * below to avoid segmentation violations. Since we know that this
-            * problem can only occur if there is more than one parameter,
-            * we will just use the last one.
-            */
-           if (ParamCount == 1) {
-               /* First argument */
-               Param = Func->SymTab->SymHead;
-           } else if (Param->NextSym != 0) {
-               /* Next argument */
-               Param = Param->NextSym;
-               CHECK ((Param->Flags & SC_PARAM) != 0);
-           }
-       } else if (!Ellipsis) {
-           /* Too many arguments. Do we have an open param list? */
-           if ((Func->Flags & FD_VARIADIC) == 0) {
-               /* End of param list reached, no ellipsis */
-               Error ("Too many arguments in function call");
-           }
-           /* Assume an ellipsis even in case of errors to avoid an error
-            * message for each other argument.
-            */
-           Ellipsis = 1;
-       }
+        unsigned Flags;
+
+        /* Count arguments */
+        ++ParamCount;
+
+        /* Fetch the pointer to the next argument, check for too many args */
+        if (ParamCount <= Func->ParamCount) {
+            /* Beware: If there are parameters with identical names, they
+             * cannot go into the same symbol table, which means that in this
+             * case of errorneous input, the number of nodes in the symbol
+             * table and ParamCount are NOT equal. We have to handle this case
+             * below to avoid segmentation violations. Since we know that this
+             * problem can only occur if there is more than one parameter,
+             * we will just use the last one.
+             */
+            if (ParamCount == 1) {
+                /* First argument */
+                Param = Func->SymTab->SymHead;
+            } else if (Param->NextSym != 0) {
+                /* Next argument */
+                Param = Param->NextSym;
+                CHECK ((Param->Flags & SC_PARAM) != 0);
+            }
+        } else if (!Ellipsis) {
+            /* Too many arguments. Do we have an open param list? */
+            if ((Func->Flags & FD_VARIADIC) == 0) {
+                /* End of param list reached, no ellipsis */
+                Error ("Too many arguments in function call");
+            }
+            /* Assume an ellipsis even in case of errors to avoid an error
+             * message for each other argument.
+             */
+            Ellipsis = 1;
+        }
 
         /* Evaluate the parameter expression */
         hie1 (&Expr);
 
-       /* If we don't have an argument spec, accept anything, otherwise
-        * convert the actual argument to the type needed.
-        */
+        /* If we don't have an argument spec, accept anything, otherwise
+         * convert the actual argument to the type needed.
+         */
         Flags = CF_NONE;
-               if (!Ellipsis) {
+        if (!Ellipsis) {
 
-           /* Convert the argument to the parameter type if needed */
+            /* Convert the argument to the parameter type if needed */
             TypeConversion (&Expr, Param->Type);
 
-           /* If we have a prototype, chars may be pushed as chars */
-           Flags |= CF_FORCECHAR;
+            /* If we have a prototype, chars may be pushed as chars */
+            Flags |= CF_FORCECHAR;
 
-               } else {
+        } else {
 
             /* No prototype available. Convert array to "pointer to first
              * element", and function to "pointer to function".
@@ -395,14 +395,14 @@ static unsigned FunctionParamList (FuncDesc* Func, int IsFastcall)
         /* Load the value into the primary if it is not already there */
         LoadExpr (Flags, &Expr);
 
-       /* Use the type of the argument for the push */
-               Flags |= TypeOf (Expr.Type);
+        /* Use the type of the argument for the push */
+        Flags |= TypeOf (Expr.Type);
 
-       /* If this is a fastcall function, don't push the last argument */
-               if (ParamCount != Func->ParamCount || !IsFastcall) {
-           unsigned ArgSize = sizeofarg (Flags);
-           if (FrameSize > 0) {
-               /* We have the space already allocated, store in the frame.
+        /* If this is a fastcall function, don't push the last argument */
+        if (ParamCount != Func->ParamCount || !IsFastcall) {
+            unsigned ArgSize = sizeofarg (Flags);
+            if (FrameSize > 0) {
+                /* We have the space already allocated, store in the frame.
                  * Because of invalid type conversions (that have produced an
                  * error before), we can end up here with a non aligned stack
                  * frame. Since no output will be generated anyway, handle
@@ -413,28 +413,28 @@ static unsigned FunctionParamList (FuncDesc* Func, int IsFastcall)
                 } else {
                     FrameSize = 0;
                 }
-               FrameOffs -= ArgSize;
-               /* Store */
-               g_putlocal (Flags | CF_NOKEEP, FrameOffs, Expr.IVal);
-           } else {
-               /* Push the argument */
-               g_push (Flags, Expr.IVal);
-           }
+                FrameOffs -= ArgSize;
+                /* Store */
+                g_putlocal (Flags | CF_NOKEEP, FrameOffs, Expr.IVal);
+            } else {
+                /* Push the argument */
+                g_push (Flags, Expr.IVal);
+            }
 
-           /* Calculate total parameter size */
-           ParamSize += ArgSize;
-       }
+            /* Calculate total parameter size */
+            ParamSize += ArgSize;
+        }
 
-       /* Check for end of argument list */
-       if (CurTok.Tok != TOK_COMMA) {
-           break;
-       }
-       NextToken ();
+        /* Check for end of argument list */
+        if (CurTok.Tok != TOK_COMMA) {
+            break;
+        }
+        NextToken ();
     }
 
     /* Check if we had enough parameters */
     if (ParamCount < Func->ParamCount) {
-       Error ("Too few arguments in function call");
+        Error ("Too few arguments in function call");
     }
 
     /* The function returns the size of all parameters pushed onto the stack.
@@ -453,10 +453,10 @@ static unsigned FunctionParamList (FuncDesc* Func, int IsFastcall)
 static void FunctionCall (ExprDesc* Expr)
 /* Perform a function call. */
 {
-    FuncDesc*    Func;           /* Function descriptor */
+    FuncDesc*     Func;           /* Function descriptor */
     int           IsFuncPtr;      /* Flag */
-    unsigned     ParamSize;      /* Number of parameter bytes */
-    CodeMark             Mark;
+    unsigned      ParamSize;      /* Number of parameter bytes */
+    CodeMark      Mark;
     int           PtrOffs = 0;    /* Offset of function pointer on stack */
     int           IsFastcall = 0; /* True if it's a fast call function */
     int           PtrOnStack = 0; /* True if a pointer copy is on stack */
@@ -471,33 +471,33 @@ static void FunctionCall (ExprDesc* Expr)
     IsFuncPtr = IsTypeFuncPtr (Expr->Type);
     if (IsFuncPtr) {
 
-       /* Check wether it's a fastcall function that has parameters */
-       IsFastcall = IsQualFastcall (Expr->Type + 1) && (Func->ParamCount > 0);
-
-       /* Things may be difficult, depending on where the function pointer
-        * resides. If the function pointer is an expression of some sort
-        * (not a local or global variable), we have to evaluate this
-        * expression now and save the result for later. Since calls to
-        * function pointers may be nested, we must save it onto the stack.
-        * For fastcall functions we do also need to place a copy of the
-        * pointer on stack, since we cannot use a/x.
-        */
-       PtrOnStack = IsFastcall || !ED_IsConst (Expr);
-       if (PtrOnStack) {
-
-           /* Not a global or local variable, or a fastcall function. Load
-            * the pointer into the primary and mark it as an expression.
-            */
-                   LoadExpr (CF_NONE, Expr);
-                   ED_MakeRValExpr (Expr);
-
-           /* Remember the code position */
-           GetCodePos (&Mark);
-
-           /* Push the pointer onto the stack and remember the offset */
-           g_push (CF_PTR, 0);
-           PtrOffs = StackPtr;
-       }
+        /* Check wether it's a fastcall function that has parameters */
+        IsFastcall = IsQualFastcall (Expr->Type + 1) && (Func->ParamCount > 0);
+
+        /* Things may be difficult, depending on where the function pointer
+         * resides. If the function pointer is an expression of some sort
+         * (not a local or global variable), we have to evaluate this
+         * expression now and save the result for later. Since calls to
+         * function pointers may be nested, we must save it onto the stack.
+         * For fastcall functions we do also need to place a copy of the
+         * pointer on stack, since we cannot use a/x.
+         */
+        PtrOnStack = IsFastcall || !ED_IsConst (Expr);
+        if (PtrOnStack) {
+
+            /* Not a global or local variable, or a fastcall function. Load
+             * the pointer into the primary and mark it as an expression.
+             */
+            LoadExpr (CF_NONE, Expr);
+            ED_MakeRValExpr (Expr);
+
+            /* Remember the code position */
+            GetCodePos (&Mark);
+
+            /* Push the pointer onto the stack and remember the offset */
+            g_push (CF_PTR, 0);
+            PtrOffs = StackPtr;
+        }
 
     } else {
         /* Check function attributes */
@@ -529,55 +529,55 @@ static void FunctionCall (ExprDesc* Expr)
     /* Special handling for function pointers */
     if (IsFuncPtr) {
 
-       /* If the function is not a fastcall function, load the pointer to
-        * the function into the primary.
-        */
-       if (!IsFastcall) {
-
-           /* Not a fastcall function - we may use the primary */
-                   if (PtrOnStack) {
-               /* If we have no parameters, the pointer is still in the
-                * primary. Remove the code to push it and correct the
-                * stack pointer.
-                */
-               if (ParamSize == 0) {
-                   RemoveCode (&Mark);
-                   PtrOnStack = 0;
-               } else {
-                   /* Load from the saved copy */
-                   g_getlocal (CF_PTR, PtrOffs);
-               }
-           } else {
-               /* Load from original location */
-               LoadExpr (CF_NONE, Expr);
-           }
-
-           /* Call the function */
-           g_callind (TypeOf (Expr->Type+1), ParamSize, PtrOffs);
-
-       } else {
-
-           /* Fastcall function. We cannot use the primary for the function
-            * pointer and must therefore use an offset to the stack location.
-            * Since fastcall functions may never be variadic, we can use the
-            * index register for this purpose.
-            */
-           g_callind (CF_LOCAL, ParamSize, PtrOffs);
-       }
-
-       /* If we have a pointer on stack, remove it */
-       if (PtrOnStack) {
-           g_drop (SIZEOF_PTR);
-           pop (CF_PTR);
-       }
-
-       /* Skip T_PTR */
-       ++Expr->Type;
+        /* If the function is not a fastcall function, load the pointer to
+         * the function into the primary.
+         */
+        if (!IsFastcall) {
+
+            /* Not a fastcall function - we may use the primary */
+            if (PtrOnStack) {
+                /* If we have no parameters, the pointer is still in the
+                 * primary. Remove the code to push it and correct the
+                 * stack pointer.
+                 */
+                if (ParamSize == 0) {
+                    RemoveCode (&Mark);
+                    PtrOnStack = 0;
+                } else {
+                    /* Load from the saved copy */
+                    g_getlocal (CF_PTR, PtrOffs);
+                }
+            } else {
+                /* Load from original location */
+                LoadExpr (CF_NONE, Expr);
+            }
+
+            /* Call the function */
+            g_callind (TypeOf (Expr->Type+1), ParamSize, PtrOffs);
+
+        } else {
+
+            /* Fastcall function. We cannot use the primary for the function
+             * pointer and must therefore use an offset to the stack location.
+             * Since fastcall functions may never be variadic, we can use the
+             * index register for this purpose.
+             */
+            g_callind (CF_LOCAL, ParamSize, PtrOffs);
+        }
+
+        /* If we have a pointer on stack, remove it */
+        if (PtrOnStack) {
+            g_drop (SIZEOF_PTR);
+            pop (CF_PTR);
+        }
+
+        /* Skip T_PTR */
+        ++Expr->Type;
 
     } else {
 
-       /* Normal function */
-               g_call (TypeOf (Expr->Type), (const char*) Expr->Name, ParamSize);
+        /* Normal function */
+        g_call (TypeOf (Expr->Type), (const char*) Expr->Name, ParamSize);
 
     }
 
@@ -598,11 +598,11 @@ static void Primary (ExprDesc* E)
 
     /* Character and integer constants. */
     if (CurTok.Tok == TOK_ICONST || CurTok.Tok == TOK_CCONST) {
-       E->IVal  = CurTok.IVal;
-       E->Flags = E_LOC_ABS | E_RTYPE_RVAL;
-       E->Type  = CurTok.Type;
-       NextToken ();
-       return;
+        E->IVal  = CurTok.IVal;
+        E->Flags = E_LOC_ABS | E_RTYPE_RVAL;
+        E->Type  = CurTok.Type;
+        NextToken ();
+        return;
     }
 
     /* Floating point constant */
@@ -618,17 +618,17 @@ static void Primary (ExprDesc* E)
      * recursively.
      */
     if (CurTok.Tok == TOK_LPAREN) {
-       NextToken ();
+        NextToken ();
         hie0 (E);
-               ConsumeRParen ();
-       return;
+        ConsumeRParen ();
+        return;
     }
 
     /* If we run into an identifier in preprocessing mode, we assume that this
      * is an undefined macro and replace it by a constant value of zero.
      */
     if (Preprocessing && CurTok.Tok == TOK_IDENT) {
-       NextToken ();
+        NextToken ();
         ED_MakeConstAbsInt (E, 0);
         return;
     }
@@ -637,10 +637,10 @@ static void Primary (ExprDesc* E)
      * recursively by the preprocessor.
      */
     if (Preprocessing) {
-               /* Illegal expression in PP mode */
-       Error ("Preprocessor expression expected");
-       ED_MakeConstAbsInt (E, 1);
-       return;
+        /* Illegal expression in PP mode */
+        Error ("Preprocessor expression expected");
+        ED_MakeConstAbsInt (E, 1);
+        return;
     }
 
     switch (CurTok.Tok) {
@@ -839,15 +839,15 @@ static void ArrayRef (ExprDesc* Expr)
     /* If we have a constant base, we delay the address fetch */
     GetCodePos (&Mark1);
     if (!ConstBaseAddr) {
-       /* Get a pointer to the array into the primary */
-       LoadExpr (CF_NONE, Expr);
+        /* Get a pointer to the array into the primary */
+        LoadExpr (CF_NONE, Expr);
 
-       /* Get the array pointer on stack. Do not push more than 16
-        * bit, even if this value is greater, since we cannot handle
-        * other than 16bit stuff when doing indexing.
-        */
-       GetCodePos (&Mark2);
-       g_push (CF_PTR, 0);
+        /* Get the array pointer on stack. Do not push more than 16
+         * bit, even if this value is greater, since we cannot handle
+         * other than 16bit stuff when doing indexing.
+         */
+        GetCodePos (&Mark2);
+        g_push (CF_PTR, 0);
     }
 
     /* TOS now contains ptr to array elements. Get the subscript. */
@@ -909,23 +909,23 @@ static void ArrayRef (ExprDesc* Expr)
     /* Check if the subscript is constant absolute value */
     if (ED_IsConstAbs (&Subscript) && ED_CodeRangeIsEmpty (&Subscript)) {
 
-               /* The array subscript is a numeric constant. If we had pushed the
+        /* The array subscript is a numeric constant. If we had pushed the
          * array base address onto the stack before, we can remove this value,
          * since we can generate expression+offset.
          */
-       if (!ConstBaseAddr) {
-           RemoveCode (&Mark2);
-       } else {
-           /* Get an array pointer into the primary */
-           LoadExpr (CF_NONE, Expr);
-       }
+        if (!ConstBaseAddr) {
+            RemoveCode (&Mark2);
+        } else {
+            /* Get an array pointer into the primary */
+            LoadExpr (CF_NONE, Expr);
+        }
 
-       if (IsClassPtr (Expr->Type)) {
+        if (IsClassPtr (Expr->Type)) {
 
-                   /* Lhs is pointer/array. Scale the subscript value according to
+            /* Lhs is pointer/array. Scale the subscript value according to
              * the element size.
              */
-           Subscript.IVal *= CheckedSizeOf (ElementType);
+            Subscript.IVal *= CheckedSizeOf (ElementType);
 
             /* Remove the address load code */
             RemoveCode (&Mark1);
@@ -953,10 +953,10 @@ static void ArrayRef (ExprDesc* Expr)
                 Expr->IVal = Subscript.IVal;
             }
 
-               } else {
+        } else {
 
-           /* Scale the rhs value according to the element type */
-           g_scale (TypeOf (tptr1), CheckedSizeOf (ElementType));
+            /* Scale the rhs value according to the element type */
+            g_scale (TypeOf (tptr1), CheckedSizeOf (ElementType));
 
             /* Add the subscript. Since arrays are indexed by integers,
              * we will ignore the true type of the subscript here and
@@ -964,117 +964,117 @@ static void ArrayRef (ExprDesc* Expr)
              */
             g_inc (CF_INT | CF_CONST, Subscript.IVal);
 
-       }
+        }
 
     } else {
 
-       /* Array subscript is not constant. Load it into the primary */
-       GetCodePos (&Mark2);
+        /* Array subscript is not constant. Load it into the primary */
+        GetCodePos (&Mark2);
         LoadExpr (CF_NONE, &Subscript);
 
         /* Do scaling */
-       if (IsClassPtr (Expr->Type)) {
+        if (IsClassPtr (Expr->Type)) {
 
-                   /* Indexing is based on unsigneds, so we will just use the integer
-            * portion of the index (which is in (e)ax, so there's no further
-            * action required).
-            */
-           g_scale (CF_INT, CheckedSizeOf (ElementType));
+            /* Indexing is based on unsigneds, so we will just use the integer
+             * portion of the index (which is in (e)ax, so there's no further
+             * action required).
+             */
+            g_scale (CF_INT, CheckedSizeOf (ElementType));
 
-               } else {
+        } else {
 
-           /* Get the int value on top. If we come here, we're sure, both
+            /* Get the int value on top. If we come here, we're sure, both
              * values are 16 bit (the first one was truncated if necessary
              * and the second one is a pointer). Note: If ConstBaseAddr is
              * true, we don't have a value on stack, so to "swap" both, just
              * push the subscript.
-            */
-           if (ConstBaseAddr) {
-               g_push (CF_INT, 0);
-               LoadExpr (CF_NONE, Expr);
-               ConstBaseAddr = 0;
-           } else {
-               g_swap (CF_INT);
-           }
-
-           /* Scale it */
-           g_scale (TypeOf (tptr1), CheckedSizeOf (ElementType));
-
-       }
-
-       /* The offset is now in the primary register. It we didn't have a
-        * constant base address for the lhs, the lhs address is already
-        * on stack, and we must add the offset. If the base address was
-        * constant, we call special functions to add the address to the
-        * offset value.
-        */
-       if (!ConstBaseAddr) {
-
-                   /* The array base address is on stack and the subscript is in the
+             */
+            if (ConstBaseAddr) {
+                g_push (CF_INT, 0);
+                LoadExpr (CF_NONE, Expr);
+                ConstBaseAddr = 0;
+            } else {
+                g_swap (CF_INT);
+            }
+
+            /* Scale it */
+            g_scale (TypeOf (tptr1), CheckedSizeOf (ElementType));
+
+        }
+
+        /* The offset is now in the primary register. It we didn't have a
+         * constant base address for the lhs, the lhs address is already
+         * on stack, and we must add the offset. If the base address was
+         * constant, we call special functions to add the address to the
+         * offset value.
+         */
+        if (!ConstBaseAddr) {
+
+            /* The array base address is on stack and the subscript is in the
              * primary. Add both.
              */
-           g_add (CF_INT, 0);
+            g_add (CF_INT, 0);
 
-       } else {
+        } else {
 
             /* The subscript is in the primary, and the array base address is
              * in Expr. If the subscript has itself a constant address, it is
              * often a better idea to reverse again the order of the
              * evaluation. This will generate better code if the subscript is
              * a byte sized variable. But beware: This is only possible if the
-            * subscript was not scaled, that is, if this was a byte array
-            * or pointer.
-            */
+             * subscript was not scaled, that is, if this was a byte array
+             * or pointer.
+             */
             if ((ED_IsLocConst (&Subscript) || ED_IsLocStack (&Subscript)) &&
                 CheckedSizeOf (ElementType) == SIZEOF_CHAR) {
 
                 unsigned Flags;
 
-               /* Reverse the order of evaluation */
+                /* Reverse the order of evaluation */
                 if (CheckedSizeOf (Subscript.Type) == SIZEOF_CHAR) {
                     Flags = CF_CHAR;
                 } else {
                     Flags = CF_INT;
                 }
-               RemoveCode (&Mark2);
-
-               /* Get a pointer to the array into the primary. */
-               LoadExpr (CF_NONE, Expr);
-
-               /* Add the variable */
-               if (ED_IsLocStack (&Subscript)) {
-                   g_addlocal (Flags, Subscript.IVal);
-               } else {
-                   Flags |= GlobalModeFlags (&Subscript);
-                   g_addstatic (Flags, Subscript.Name, Subscript.IVal);
-               }
-           } else {
-
-               if (ED_IsLocAbs (Expr)) {
-                   /* Constant numeric address. Just add it */
-                   g_inc (CF_INT, Expr->IVal);
-               } else if (ED_IsLocStack (Expr)) {
-                   /* Base address is a local variable address */
-                   if (IsTypeArray (Expr->Type)) {
-                       g_addaddr_local (CF_INT, Expr->IVal);
-                   } else {
-                       g_addlocal (CF_PTR, Expr->IVal);
-                   }
-               } else {
-                   /* Base address is a static variable address */
-                   unsigned Flags = CF_INT | GlobalModeFlags (Expr);
+                RemoveCode (&Mark2);
+
+                /* Get a pointer to the array into the primary. */
+                LoadExpr (CF_NONE, Expr);
+
+                /* Add the variable */
+                if (ED_IsLocStack (&Subscript)) {
+                    g_addlocal (Flags, Subscript.IVal);
+                } else {
+                    Flags |= GlobalModeFlags (&Subscript);
+                    g_addstatic (Flags, Subscript.Name, Subscript.IVal);
+                }
+            } else {
+
+                if (ED_IsLocAbs (Expr)) {
+                    /* Constant numeric address. Just add it */
+                    g_inc (CF_INT, Expr->IVal);
+                } else if (ED_IsLocStack (Expr)) {
+                    /* Base address is a local variable address */
+                    if (IsTypeArray (Expr->Type)) {
+                        g_addaddr_local (CF_INT, Expr->IVal);
+                    } else {
+                        g_addlocal (CF_PTR, Expr->IVal);
+                    }
+                } else {
+                    /* Base address is a static variable address */
+                    unsigned Flags = CF_INT | GlobalModeFlags (Expr);
                     if (ED_IsRVal (Expr)) {
                         /* Add the address of the location */
-                       g_addaddr_static (Flags, Expr->Name, Expr->IVal);
-                   } else {
+                        g_addaddr_static (Flags, Expr->Name, Expr->IVal);
+                    } else {
                         /* Add the contents of the location */
-                       g_addstatic (Flags, Expr->Name, Expr->IVal);
-                   }
-               }
-           }
+                        g_addstatic (Flags, Expr->Name, Expr->IVal);
+                    }
+                }
+            }
 
 
-       }
+        }
 
         /* The result is an expression in the primary */
         ED_MakeRValExpr (Expr);
@@ -1112,7 +1112,7 @@ static void StructRef (ExprDesc* Expr)
     /* Skip the token and check for an identifier */
     NextToken ();
     if (CurTok.Tok != TOK_IDENT) {
-       Error ("Identifier expected");
+        Error ("Identifier expected");
         /* Make the expression an integer at address zero */
         ED_MakeConstAbs (Expr, 0, type_int);
         return;
@@ -1123,10 +1123,10 @@ static void StructRef (ExprDesc* Expr)
     NextToken ();
     Field = FindStructField (Expr->Type, Ident);
     if (Field == 0) {
-       Error ("Struct/union has no field named `%s'", Ident);
+        Error ("Struct/union has no field named `%s'", Ident);
         /* Make the expression an integer at address zero */
         ED_MakeConstAbs (Expr, 0, type_int);
-       return;
+        return;
     }
 
     /* If we have a struct pointer that is an lvalue and not already in the
@@ -1366,8 +1366,8 @@ static void PreInc (ExprDesc* Expr)
     /* Evaluate the expression and check that it is an lvalue */
     hie10 (Expr);
     if (!ED_IsLVal (Expr)) {
-       Error ("Invalid lvalue");
-       return;
+        Error ("Invalid lvalue");
+        return;
     }
 
     /* We cannot modify const values */
@@ -1442,8 +1442,8 @@ static void PreDec (ExprDesc* Expr)
     /* Evaluate the expression and check that it is an lvalue */
     hie10 (Expr);
     if (!ED_IsLVal (Expr)) {
-       Error ("Invalid lvalue");
-       return;
+        Error ("Invalid lvalue");
+        return;
     }
 
     /* We cannot modify const values */
@@ -1515,8 +1515,8 @@ static void PostInc (ExprDesc* Expr)
 
     /* The expression to increment must be an lvalue */
     if (!ED_IsLVal (Expr)) {
-       Error ("Invalid lvalue");
-               return;
+        Error ("Invalid lvalue");
+        return;
     }
 
     /* We cannot modify const values */
@@ -1536,9 +1536,9 @@ static void PostInc (ExprDesc* Expr)
 
     /* If we have a pointer expression, increment by the size of the type */
     if (IsTypePtr (Expr->Type)) {
-       g_inc (Flags | CF_CONST | CF_FORCECHAR, CheckedSizeOf (Expr->Type + 1));
+        g_inc (Flags | CF_CONST | CF_FORCECHAR, CheckedSizeOf (Expr->Type + 1));
     } else {
-       g_inc (Flags | CF_CONST | CF_FORCECHAR, 1);
+        g_inc (Flags | CF_CONST | CF_FORCECHAR, 1);
     }
 
     /* Store the result back */
@@ -1562,8 +1562,8 @@ static void PostDec (ExprDesc* Expr)
 
     /* The expression to increment must be an lvalue */
     if (!ED_IsLVal (Expr)) {
-       Error ("Invalid lvalue");
-               return;
+        Error ("Invalid lvalue");
+        return;
     }
 
     /* We cannot modify const values */
@@ -1583,9 +1583,9 @@ static void PostDec (ExprDesc* Expr)
 
     /* If we have a pointer expression, increment by the size of the type */
     if (IsTypePtr (Expr->Type)) {
-       g_dec (Flags | CF_CONST | CF_FORCECHAR, CheckedSizeOf (Expr->Type + 1));
+        g_dec (Flags | CF_CONST | CF_FORCECHAR, CheckedSizeOf (Expr->Type + 1));
     } else {
-       g_dec (Flags | CF_CONST | CF_FORCECHAR, 1);
+        g_dec (Flags | CF_CONST | CF_FORCECHAR, 1);
     }
 
     /* Store the result back */
@@ -1620,27 +1620,27 @@ static void UnaryOp (ExprDesc* Expr)
 
     /* Check for a constant expression */
     if (ED_IsConstAbs (Expr)) {
-       /* Value is constant */
-       switch (Tok) {
-           case TOK_MINUS: Expr->IVal = -Expr->IVal;   break;
-           case TOK_PLUS:                              break;
-           case TOK_COMP:  Expr->IVal = ~Expr->IVal;   break;
-           default:        Internal ("Unexpected token: %d", Tok);
-       }
+        /* Value is constant */
+        switch (Tok) {
+            case TOK_MINUS: Expr->IVal = -Expr->IVal;   break;
+            case TOK_PLUS:                              break;
+            case TOK_COMP:  Expr->IVal = ~Expr->IVal;   break;
+            default:        Internal ("Unexpected token: %d", Tok);
+        }
     } else {
-       /* Value is not constant */
-       LoadExpr (CF_NONE, Expr);
+        /* Value is not constant */
+        LoadExpr (CF_NONE, Expr);
 
-       /* Get the type of the expression */
-       Flags = TypeOf (Expr->Type);
+        /* Get the type of the expression */
+        Flags = TypeOf (Expr->Type);
 
-       /* Handle the operation */
-       switch (Tok) {
-                   case TOK_MINUS: g_neg (Flags);  break;
-           case TOK_PLUS:                  break;
-           case TOK_COMP:  g_com (Flags);  break;
-           default:        Internal ("Unexpected token: %d", Tok);
-       }
+        /* Handle the operation */
+        switch (Tok) {
+            case TOK_MINUS: g_neg (Flags);  break;
+            case TOK_PLUS:                  break;
+            case TOK_COMP:  g_com (Flags);  break;
+            default:        Internal ("Unexpected token: %d", Tok);
+        }
 
         /* The result is a rvalue in the primary */
         ED_MakeRValExpr (Expr);
@@ -1656,34 +1656,34 @@ void hie10 (ExprDesc* Expr)
 
     switch (CurTok.Tok) {
 
-       case TOK_INC:
-                   PreInc (Expr);
-           break;
-
-       case TOK_DEC:
-           PreDec (Expr);
-           break;
-
-       case TOK_PLUS:
-       case TOK_MINUS:
-       case TOK_COMP:
-           UnaryOp (Expr);
-           break;
-
-       case TOK_BOOL_NOT:
-           NextToken ();
-           if (evalexpr (CF_NONE, hie10, Expr) == 0) {
-               /* Constant expression */
-               Expr->IVal = !Expr->IVal;
-           } else {
-               g_bneg (TypeOf (Expr->Type));
+        case TOK_INC:
+            PreInc (Expr);
+            break;
+
+        case TOK_DEC:
+            PreDec (Expr);
+            break;
+
+        case TOK_PLUS:
+        case TOK_MINUS:
+        case TOK_COMP:
+            UnaryOp (Expr);
+            break;
+
+        case TOK_BOOL_NOT:
+            NextToken ();
+            if (evalexpr (CF_NONE, hie10, Expr) == 0) {
+                /* Constant expression */
+                Expr->IVal = !Expr->IVal;
+            } else {
+                g_bneg (TypeOf (Expr->Type));
                 ED_MakeRValExpr (Expr);
-               ED_TestDone (Expr);             /* bneg will set cc */
-           }
-           break;
+                ED_TestDone (Expr);             /* bneg will set cc */
+            }
+            break;
 
-       case TOK_STAR:
-           NextToken ();
+        case TOK_STAR:
+            NextToken ();
             ExprWithCheck (hie10, Expr);
             if (ED_IsLVal (Expr) || !(ED_IsLocConst (Expr) || ED_IsLocStack (Expr))) {
                 /* Not a const, load it into the primary and make it a
@@ -1712,13 +1712,13 @@ void hie10 (ExprDesc* Expr)
             }
             break;
 
-       case TOK_AND:
-           NextToken ();
-                   ExprWithCheck (hie10, Expr);
-           /* The & operator may be applied to any lvalue, and it may be
-            * applied to functions, even if they're no lvalues.
-            */
-           if (ED_IsRVal (Expr) && !IsTypeFunc (Expr->Type) && !IsTypeArray (Expr->Type)) {
+        case TOK_AND:
+            NextToken ();
+            ExprWithCheck (hie10, Expr);
+            /* The & operator may be applied to any lvalue, and it may be
+             * applied to functions, even if they're no lvalues.
+             */
+            if (ED_IsRVal (Expr) && !IsTypeFunc (Expr->Type) && !IsTypeArray (Expr->Type)) {
                 Error ("Illegal address");
             } else {
                 if (ED_IsBitField (Expr)) {
@@ -1729,21 +1729,21 @@ void hie10 (ExprDesc* Expr)
                 Expr->Type = PointerTo (Expr->Type);
                 /* The & operator yields an rvalue */
                 ED_MakeRVal (Expr);
-           }
-           break;
-
-       case TOK_SIZEOF:
-           NextToken ();
-                   if (TypeSpecAhead ()) {
-               Type T[MAXTYPELEN];
-               NextToken ();
-               Size = CheckedSizeOf (ParseType (T));
-               ConsumeRParen ();
-           } else {
-               /* Remember the output queue pointer */
-               CodeMark Mark;
+            }
+            break;
+
+        case TOK_SIZEOF:
+            NextToken ();
+            if (TypeSpecAhead ()) {
+                Type T[MAXTYPELEN];
+                NextToken ();
+                Size = CheckedSizeOf (ParseType (T));
+                ConsumeRParen ();
+            } else {
+                /* Remember the output queue pointer */
+                CodeMark Mark;
                 GetCodePos (&Mark);
-               hie10 (Expr);
+                hie10 (Expr);
                 /* If the expression is a literal string, release it, so it
                  * won't be output as data if not used elsewhere.
                  */
@@ -1751,21 +1751,21 @@ void hie10 (ExprDesc* Expr)
                     ReleaseLiteral (Expr->LVal);
                 }
                 /* Calculate the size */
-               Size = CheckedSizeOf (Expr->Type);
-               /* Remove any generated code */
-               RemoveCode (&Mark);
-           }
+                Size = CheckedSizeOf (Expr->Type);
+                /* Remove any generated code */
+                RemoveCode (&Mark);
+            }
             ED_MakeConstAbs (Expr, Size, type_size_t);
-           ED_MarkAsUntested (Expr);
-                   break;
+            ED_MarkAsUntested (Expr);
+            break;
 
-       default:
-                   if (TypeSpecAhead ()) {
+        default:
+            if (TypeSpecAhead ()) {
 
-               /* A typecast */
-               TypeCast (Expr);
+                /* A typecast */
+                TypeCast (Expr);
 
-           } else {
+            } else {
 
                 /* An expression */
                 hie11 (Expr);
@@ -1785,19 +1785,19 @@ void hie10 (ExprDesc* Expr)
 
 
 static void hie_internal (const GenDesc* Ops,   /* List of generators */
-                                 ExprDesc* Expr,
-                                 void (*hienext) (ExprDesc*),
-                         int* UsedGen)
+                          ExprDesc* Expr,
+                          void (*hienext) (ExprDesc*),
+                          int* UsedGen)
 /* Helper function */
 {
     ExprDesc Expr2;
     CodeMark Mark1;
     CodeMark Mark2;
     const GenDesc* Gen;
-    token_t Tok;                               /* The operator token */
+    token_t Tok;                        /* The operator token */
     unsigned ltype, type;
     int lconst;                         /* Left operand is a constant */
-    int rconst;                                /* Right operand is a constant */
+    int rconst;                         /* Right operand is a constant */
 
 
     ExprWithCheck (hienext, Expr);
@@ -1805,41 +1805,41 @@ static void hie_internal (const GenDesc* Ops,   /* List of generators */
     *UsedGen = 0;
     while ((Gen = FindGen (CurTok.Tok, Ops)) != 0) {
 
-       /* Tell the caller that we handled it's ops */
-               *UsedGen = 1;
+        /* Tell the caller that we handled it's ops */
+        *UsedGen = 1;
 
-       /* All operators that call this function expect an int on the lhs */
-       if (!IsClassInt (Expr->Type)) {
-           Error ("Integer expression expected");
+        /* All operators that call this function expect an int on the lhs */
+        if (!IsClassInt (Expr->Type)) {
+            Error ("Integer expression expected");
             /* To avoid further errors, make Expr a valid int expression */
             ED_MakeConstAbsInt (Expr, 1);
-       }
+        }
 
-       /* Remember the operator token, then skip it */
-               Tok = CurTok.Tok;
-       NextToken ();
+        /* Remember the operator token, then skip it */
+        Tok = CurTok.Tok;
+        NextToken ();
 
-       /* Get the lhs on stack */
-               GetCodePos (&Mark1);
-       ltype = TypeOf (Expr->Type);
-               lconst = ED_IsConstAbs (Expr);
+        /* Get the lhs on stack */
+        GetCodePos (&Mark1);
+        ltype = TypeOf (Expr->Type);
+        lconst = ED_IsConstAbs (Expr);
         if (lconst) {
-           /* Constant value */
-           GetCodePos (&Mark2);
+            /* Constant value */
+            GetCodePos (&Mark2);
             /* If the operator is commutative, don't push the left side, if
              * it's a constant, since we will exchange both operands.
              */
             if ((Gen->Flags & GEN_COMM) == 0) {
                 g_push (ltype | CF_CONST, Expr->IVal);
             }
-       } else {
-           /* Value not constant */
-           LoadExpr (CF_NONE, Expr);
-           GetCodePos (&Mark2);
-           g_push (ltype, 0);
-       }
-
-       /* Get the right hand side */
+        } else {
+            /* Value not constant */
+            LoadExpr (CF_NONE, Expr);
+            GetCodePos (&Mark2);
+            g_push (ltype, 0);
+        }
+
+        /* Get the right hand side */
         MarkedExprWithCheck (hienext, &Expr2);
 
         /* Check for a constant expression */
@@ -1849,19 +1849,19 @@ static void hie_internal (const GenDesc* Ops,   /* List of generators */
             LoadExpr (CF_NONE, &Expr2);
         }
 
-       /* Check the type of the rhs */
-       if (!IsClassInt (Expr2.Type)) {
-           Error ("Integer expression expected");
-       }
+        /* Check the type of the rhs */
+        if (!IsClassInt (Expr2.Type)) {
+            Error ("Integer expression expected");
+        }
 
-       /* Check for const operands */
+        /* Check for const operands */
         if (lconst && rconst) {
 
-           /* Both operands are constant, remove the generated code */
-           RemoveCode (&Mark1);
+            /* Both operands are constant, remove the generated code */
+            RemoveCode (&Mark1);
 
-           /* Get the type of the result */
-           Expr->Type = promoteint (Expr->Type, Expr2.Type);
+            /* Get the type of the result */
+            Expr->Type = promoteint (Expr->Type, Expr2.Type);
 
             /* Handle the op differently for signed and unsigned types */
             if (IsSignSigned (Expr->Type)) {
@@ -1948,64 +1948,64 @@ static void hie_internal (const GenDesc* Ops,   /* List of generators */
              * operation because this allows for better code.
              */
             unsigned rtype = ltype | CF_CONST;
-                   ltype = TypeOf (Expr2.Type);       /* Expr2 is now left */
-           type = CF_CONST;
+            ltype = TypeOf (Expr2.Type);       /* Expr2 is now left */
+            type = CF_CONST;
             if ((Gen->Flags & GEN_NOPUSH) == 0) {
                 g_push (ltype, 0);
-                ltype |= CF_REG;       /* Value is in register */
+                ltype |= CF_REG;        /* Value is in register */
             }
 
-           /* Determine the type of the operation result. */
-                   type |= g_typeadjust (ltype, rtype);
-           Expr->Type = promoteint (Expr->Type, Expr2.Type);
+            /* Determine the type of the operation result. */
+            type |= g_typeadjust (ltype, rtype);
+            Expr->Type = promoteint (Expr->Type, Expr2.Type);
 
-           /* Generate code */
-           Gen->Func (type, Expr->IVal);
+            /* Generate code */
+            Gen->Func (type, Expr->IVal);
 
             /* We have a rvalue in the primary now */
-           ED_MakeRValExpr (Expr);
-
-       } else {
-
-           /* If the right hand side is constant, and the generator function
-            * expects the lhs in the primary, remove the push of the primary
-            * now.
-            */
-           unsigned rtype = TypeOf (Expr2.Type);
-           type = 0;
-           if (rconst) {
-               /* Second value is constant - check for div */
-               type |= CF_CONST;
-               rtype |= CF_CONST;
-               if (Tok == TOK_DIV && Expr2.IVal == 0) {
-                   Error ("Division by zero");
-               } else if (Tok == TOK_MOD && Expr2.IVal == 0) {
-                   Error ("Modulo operation with zero");
-               }
-               if ((Gen->Flags & GEN_NOPUSH) != 0) {
-                   RemoveCode (&Mark2);
-                   ltype |= CF_REG;    /* Value is in register */
-               }
-           }
-
-           /* Determine the type of the operation result. */
-                   type |= g_typeadjust (ltype, rtype);
-           Expr->Type = promoteint (Expr->Type, Expr2.Type);
-
-           /* Generate code */
-           Gen->Func (type, Expr2.IVal);
+            ED_MakeRValExpr (Expr);
+
+        } else {
+
+            /* If the right hand side is constant, and the generator function
+             * expects the lhs in the primary, remove the push of the primary
+             * now.
+             */
+            unsigned rtype = TypeOf (Expr2.Type);
+            type = 0;
+            if (rconst) {
+                /* Second value is constant - check for div */
+                type |= CF_CONST;
+                rtype |= CF_CONST;
+                if (Tok == TOK_DIV && Expr2.IVal == 0) {
+                    Error ("Division by zero");
+                } else if (Tok == TOK_MOD && Expr2.IVal == 0) {
+                    Error ("Modulo operation with zero");
+                }
+                if ((Gen->Flags & GEN_NOPUSH) != 0) {
+                    RemoveCode (&Mark2);
+                    ltype |= CF_REG;    /* Value is in register */
+                }
+            }
+
+            /* Determine the type of the operation result. */
+            type |= g_typeadjust (ltype, rtype);
+            Expr->Type = promoteint (Expr->Type, Expr2.Type);
+
+            /* Generate code */
+            Gen->Func (type, Expr2.IVal);
 
             /* We have a rvalue in the primary now */
-           ED_MakeRValExpr (Expr);
-       }
+            ED_MakeRValExpr (Expr);
+        }
     }
 }
 
 
 
 static void hie_compare (const GenDesc* Ops,    /* List of generators */
-                                ExprDesc* Expr,
-                                void (*hienext) (ExprDesc*))
+                         ExprDesc* Expr,
+                         void (*hienext) (ExprDesc*))
 /* Helper function for the compare operators */
 {
     ExprDesc Expr2;
@@ -2013,9 +2013,9 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
     CodeMark Mark1;
     CodeMark Mark2;
     const GenDesc* Gen;
-    token_t Tok;                       /* The operator token */
+    token_t Tok;                        /* The operator token */
     unsigned ltype;
-    int rconst;                                /* Operand is a constant */
+    int rconst;                         /* Operand is a constant */
 
 
     GetCodePos (&Mark0);
@@ -2026,25 +2026,25 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
         /* Remember the generator function */
         void (*GenFunc) (unsigned, unsigned long) = Gen->Func;
 
-       /* Remember the operator token, then skip it */
-               Tok = CurTok.Tok;
-       NextToken ();
-
-       /* Get the lhs on stack */
-       GetCodePos (&Mark1);
-       ltype = TypeOf (Expr->Type);
-       if (ED_IsConstAbs (Expr)) {
-           /* Constant value */
-           GetCodePos (&Mark2);
-                   g_push (ltype | CF_CONST, Expr->IVal);
-       } else {
-           /* Value not constant */
-           LoadExpr (CF_NONE, Expr);
-           GetCodePos (&Mark2);
-           g_push (ltype, 0);
-       }
-
-       /* Get the right hand side */
+        /* Remember the operator token, then skip it */
+        Tok = CurTok.Tok;
+        NextToken ();
+
+        /* Get the lhs on stack */
+        GetCodePos (&Mark1);
+        ltype = TypeOf (Expr->Type);
+        if (ED_IsConstAbs (Expr)) {
+            /* Constant value */
+            GetCodePos (&Mark2);
+            g_push (ltype | CF_CONST, Expr->IVal);
+        } else {
+            /* Value not constant */
+            LoadExpr (CF_NONE, Expr);
+            GetCodePos (&Mark2);
+            g_push (ltype, 0);
+        }
+
+        /* Get the right hand side */
         MarkedExprWithCheck (hienext, &Expr2);
 
         /* Check for a constant expression */
@@ -2054,37 +2054,37 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
             LoadExpr (CF_NONE, &Expr2);
         }
 
-       /* Make sure, the types are compatible */
-       if (IsClassInt (Expr->Type)) {
-           if (!IsClassInt (Expr2.Type) && !(IsClassPtr(Expr2.Type) && ED_IsNullPtr(Expr))) {
-               Error ("Incompatible types");
-           }
-       } else if (IsClassPtr (Expr->Type)) {
-           if (IsClassPtr (Expr2.Type)) {
-               /* Both pointers are allowed in comparison if they point to
-                * the same type, or if one of them is a void pointer.
-                */
-                       Type* left  = Indirect (Expr->Type);
-               Type* right = Indirect (Expr2.Type);
-               if (TypeCmp (left, right) < TC_EQUAL && left->C != T_VOID && right->C != T_VOID) {
-                   /* Incomatible pointers */
-                   Error ("Incompatible types");
-               }
-           } else if (!ED_IsNullPtr (&Expr2)) {
-               Error ("Incompatible types");
-           }
-       }
-
-       /* Check for const operands */
-       if (ED_IsConstAbs (Expr) && rconst) {
+        /* Make sure, the types are compatible */
+        if (IsClassInt (Expr->Type)) {
+            if (!IsClassInt (Expr2.Type) && !(IsClassPtr(Expr2.Type) && ED_IsNullPtr(Expr))) {
+                Error ("Incompatible types");
+            }
+        } else if (IsClassPtr (Expr->Type)) {
+            if (IsClassPtr (Expr2.Type)) {
+                /* Both pointers are allowed in comparison if they point to
+                 * the same type, or if one of them is a void pointer.
+                 */
+                Type* left  = Indirect (Expr->Type);
+                Type* right = Indirect (Expr2.Type);
+                if (TypeCmp (left, right) < TC_EQUAL && left->C != T_VOID && right->C != T_VOID) {
+                    /* Incomatible pointers */
+                    Error ("Incompatible types");
+                }
+            } else if (!ED_IsNullPtr (&Expr2)) {
+                Error ("Incompatible types");
+            }
+        }
+
+        /* Check for const operands */
+        if (ED_IsConstAbs (Expr) && rconst) {
 
             /* If the result is constant, this is suspicious when not in
              * preprocessor mode.
              */
             WarnConstCompareResult ();
 
-                   /* Both operands are constant, remove the generated code */
-                   RemoveCode (&Mark1);
+            /* Both operands are constant, remove the generated code */
+            RemoveCode (&Mark1);
 
             /* Determine if this is a signed or unsigned compare */
             if (IsClassInt (Expr->Type) && IsSignSigned (Expr->Type) &&
@@ -2119,26 +2119,26 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
                 }
             }
 
-               } else {
+        } else {
 
             /* Determine the signedness of the operands */
             int LeftSigned  = IsSignSigned (Expr->Type);
             int RightSigned = IsSignSigned (Expr2.Type);
 
-           /* If the right hand side is constant, and the generator function
-            * expects the lhs in the primary, remove the push of the primary
-            * now.
-            */
-           unsigned flags = 0;
-           if (rconst) {
-               flags |= CF_CONST;
-               if ((Gen->Flags & GEN_NOPUSH) != 0) {
-                   RemoveCode (&Mark2);
-                   ltype |= CF_REG;    /* Value is in register */
-               }
-           }
-
-           /* Determine the type of the operation. */
+            /* If the right hand side is constant, and the generator function
+             * expects the lhs in the primary, remove the push of the primary
+             * now.
+             */
+            unsigned flags = 0;
+            if (rconst) {
+                flags |= CF_CONST;
+                if ((Gen->Flags & GEN_NOPUSH) != 0) {
+                    RemoveCode (&Mark2);
+                    ltype |= CF_REG;    /* Value is in register */
+                }
+            }
+
+            /* Determine the type of the operation. */
             if (IsTypeChar (Expr->Type) && rconst) {
 
                 /* Left side is unsigned char, right side is constant.
@@ -2169,8 +2169,8 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
 
                 /* Comparing a char against a constant may have a constant
                  * result. Please note: It is not possible to remove the code
-                * for the compare alltogether, because it may have side
-                * effects.
+                 * for the compare alltogether, because it may have side
+                 * effects.
                  */
                 switch (Tok) {
 
@@ -2248,10 +2248,10 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
                 if (!LeftSigned) {
                     flags |= CF_UNSIGNED;
                 }
-           } else {
-               unsigned rtype = TypeOf (Expr2.Type) | (flags & CF_CONST);
-                       flags |= g_typeadjust (ltype, rtype);
-           }
+            } else {
+                unsigned rtype = TypeOf (Expr2.Type) | (flags & CF_CONST);
+                flags |= g_typeadjust (ltype, rtype);
+            }
 
             /* If the left side is an unsigned and the right is a constant,
              * we may be able to change the compares to something more
@@ -2306,18 +2306,18 @@ static void hie_compare (const GenDesc* Ops,    /* List of generators */
 
             }
 
-           /* Generate code */
-                   GenFunc (flags, Expr2.IVal);
+            /* Generate code */
+            GenFunc (flags, Expr2.IVal);
 
             /* The result is an rvalue in the primary */
-           ED_MakeRValExpr (Expr);
-       }
+            ED_MakeRValExpr (Expr);
+        }
 
-       /* Result type is always int */
-               Expr->Type = type_int;
+        /* Result type is always int */
+        Expr->Type = type_int;
 
 Done:   /* Condition codes are set */
-       ED_TestDone (Expr);
+        ED_TestDone (Expr);
     }
 }
 
@@ -2346,10 +2346,10 @@ static void parseadd (ExprDesc* Expr)
  */
 {
     ExprDesc Expr2;
-    unsigned flags;            /* Operation flags */
-    CodeMark Mark;             /* Remember code position */
-    Type* lhst;                        /* Type of left hand side */
-    Type* rhst;                        /* Type of right hand side */
+    unsigned flags;             /* Operation flags */
+    CodeMark Mark;              /* Remember code position */
+    Type* lhst;                 /* Type of left hand side */
+    Type* rhst;                 /* Type of right hand side */
 
 
     /* Skip the PLUS token */
@@ -2362,186 +2362,186 @@ static void parseadd (ExprDesc* Expr)
     /* Check for constness on both sides */
     if (ED_IsConst (Expr)) {
 
-       /* The left hand side is a constant of some sort. Good. Get rhs */
-       ExprWithCheck (hie9, &Expr2);
-               if (ED_IsConstAbs (&Expr2)) {
-
-                   /* Right hand side is a constant numeric value. Get the rhs type */
-           rhst = Expr2.Type;
-
-           /* Both expressions are constants. Check for pointer arithmetic */
-                   if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-                       /* Left is pointer, right is int, must scale rhs */
-                       Expr->IVal += Expr2.IVal * CheckedPSizeOf (lhst);
-               /* Result type is a pointer */
-           } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
-               /* Left is int, right is pointer, must scale lhs */
-                       Expr->IVal = Expr->IVal * CheckedPSizeOf (rhst) + Expr2.IVal;
-               /* Result type is a pointer */
-               Expr->Type = Expr2.Type;
-                   } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-               /* Integer addition */
-               Expr->IVal += Expr2.IVal;
-               typeadjust (Expr, &Expr2, 1);
-           } else {
-                       /* OOPS */
-               Error ("Invalid operands for binary operator `+'");
-           }
-
-               } else {
-
-           /* lhs is a constant and rhs is not constant. Load rhs into
-            * the primary.
-            */
-           LoadExpr (CF_NONE, &Expr2);
-
-                   /* Beware: The check above (for lhs) lets not only pass numeric
-            * constants, but also constant addresses (labels), maybe even
-            * with an offset. We have to check for that here.
-            */
-
-           /* First, get the rhs type. */
-                   rhst = Expr2.Type;
-
-           /* Setup flags */
-           if (ED_IsLocAbs (Expr)) {
-               /* A numerical constant */
-               flags |= CF_CONST;
-           } else {
-               /* Constant address label */
-               flags |= GlobalModeFlags (Expr) | CF_CONSTADDR;
-           }
-
-           /* Check for pointer arithmetic */
-           if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-               /* Left is pointer, right is int, must scale rhs */
-               g_scale (CF_INT, CheckedPSizeOf (lhst));
-               /* Operate on pointers, result type is a pointer */
-               flags |= CF_PTR;
-               /* Generate the code for the add */
-               if (ED_GetLoc (Expr) == E_LOC_ABS) {
-                   /* Numeric constant */
-                   g_inc (flags, Expr->IVal);
-               } else {
-                   /* Constant address */
-                   g_addaddr_static (flags, Expr->Name, Expr->IVal);
-               }
-           } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
-
-               /* Left is int, right is pointer, must scale lhs. */
-               unsigned ScaleFactor = CheckedPSizeOf (rhst);
-
-                       /* Operate on pointers, result type is a pointer */
-               flags |= CF_PTR;
-               Expr->Type = Expr2.Type;
-
-               /* Since we do already have rhs in the primary, if lhs is
-                * not a numeric constant, and the scale factor is not one
-                * (no scaling), we must take the long way over the stack.
-                */
-               if (ED_IsLocAbs (Expr)) {
-                   /* Numeric constant, scale lhs */
-                   Expr->IVal *= ScaleFactor;
-                   /* Generate the code for the add */
-                   g_inc (flags, Expr->IVal);
-               } else if (ScaleFactor == 1) {
-                   /* Constant address but no need to scale */
-                   g_addaddr_static (flags, Expr->Name, Expr->IVal);
-               } else {
-                   /* Constant address that must be scaled */
-                           g_push (TypeOf (Expr2.Type), 0);    /* rhs --> stack */
-                   g_getimmed (flags, Expr->Name, Expr->IVal);
-                   g_scale (CF_PTR, ScaleFactor);
-                   g_add (CF_PTR, 0);
-               }
-                   } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-               /* Integer addition */
-                       flags |= typeadjust (Expr, &Expr2, 1);
-               /* Generate the code for the add */
-               if (ED_IsLocAbs (Expr)) {
-                   /* Numeric constant */
-                   g_inc (flags, Expr->IVal);
-               } else {
-                   /* Constant address */
-                   g_addaddr_static (flags, Expr->Name, Expr->IVal);
-               }
-           } else {
-                       /* OOPS */
-               Error ("Invalid operands for binary operator `+'");
+        /* The left hand side is a constant of some sort. Good. Get rhs */
+        ExprWithCheck (hie9, &Expr2);
+        if (ED_IsConstAbs (&Expr2)) {
+
+            /* Right hand side is a constant numeric value. Get the rhs type */
+            rhst = Expr2.Type;
+
+            /* Both expressions are constants. Check for pointer arithmetic */
+            if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+                /* Left is pointer, right is int, must scale rhs */
+                Expr->IVal += Expr2.IVal * CheckedPSizeOf (lhst);
+                /* Result type is a pointer */
+            } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
+                /* Left is int, right is pointer, must scale lhs */
+                Expr->IVal = Expr->IVal * CheckedPSizeOf (rhst) + Expr2.IVal;
+                /* Result type is a pointer */
+                Expr->Type = Expr2.Type;
+            } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+                /* Integer addition */
+                Expr->IVal += Expr2.IVal;
+                typeadjust (Expr, &Expr2, 1);
+            } else {
+                /* OOPS */
+                Error ("Invalid operands for binary operator `+'");
+            }
+
+        } else {
+
+            /* lhs is a constant and rhs is not constant. Load rhs into
+             * the primary.
+             */
+            LoadExpr (CF_NONE, &Expr2);
+
+            /* Beware: The check above (for lhs) lets not only pass numeric
+             * constants, but also constant addresses (labels), maybe even
+             * with an offset. We have to check for that here.
+             */
+
+            /* First, get the rhs type. */
+            rhst = Expr2.Type;
+
+            /* Setup flags */
+            if (ED_IsLocAbs (Expr)) {
+                /* A numerical constant */
+                flags |= CF_CONST;
+            } else {
+                /* Constant address label */
+                flags |= GlobalModeFlags (Expr) | CF_CONSTADDR;
+            }
+
+            /* Check for pointer arithmetic */
+            if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+                /* Left is pointer, right is int, must scale rhs */
+                g_scale (CF_INT, CheckedPSizeOf (lhst));
+                /* Operate on pointers, result type is a pointer */
+                flags |= CF_PTR;
+                /* Generate the code for the add */
+                if (ED_GetLoc (Expr) == E_LOC_ABS) {
+                    /* Numeric constant */
+                    g_inc (flags, Expr->IVal);
+                } else {
+                    /* Constant address */
+                    g_addaddr_static (flags, Expr->Name, Expr->IVal);
+                }
+            } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
+
+                /* Left is int, right is pointer, must scale lhs. */
+                unsigned ScaleFactor = CheckedPSizeOf (rhst);
+
+                /* Operate on pointers, result type is a pointer */
+                flags |= CF_PTR;
+                Expr->Type = Expr2.Type;
+
+                /* Since we do already have rhs in the primary, if lhs is
+                 * not a numeric constant, and the scale factor is not one
+                 * (no scaling), we must take the long way over the stack.
+                 */
+                if (ED_IsLocAbs (Expr)) {
+                    /* Numeric constant, scale lhs */
+                    Expr->IVal *= ScaleFactor;
+                    /* Generate the code for the add */
+                    g_inc (flags, Expr->IVal);
+                } else if (ScaleFactor == 1) {
+                    /* Constant address but no need to scale */
+                    g_addaddr_static (flags, Expr->Name, Expr->IVal);
+                } else {
+                    /* Constant address that must be scaled */
+                    g_push (TypeOf (Expr2.Type), 0);    /* rhs --> stack */
+                    g_getimmed (flags, Expr->Name, Expr->IVal);
+                    g_scale (CF_PTR, ScaleFactor);
+                    g_add (CF_PTR, 0);
+                }
+            } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+                /* Integer addition */
+                flags |= typeadjust (Expr, &Expr2, 1);
+                /* Generate the code for the add */
+                if (ED_IsLocAbs (Expr)) {
+                    /* Numeric constant */
+                    g_inc (flags, Expr->IVal);
+                } else {
+                    /* Constant address */
+                    g_addaddr_static (flags, Expr->Name, Expr->IVal);
+                }
+            } else {
+                /* OOPS */
+                Error ("Invalid operands for binary operator `+'");
                 flags = CF_INT;
-                   }
+            }
 
-           /* Result is a rvalue in primary register */
-           ED_MakeRValExpr (Expr);
-               }
+            /* Result is a rvalue in primary register */
+            ED_MakeRValExpr (Expr);
+        }
 
     } else {
 
-       /* Left hand side is not constant. Get the value onto the stack. */
-       LoadExpr (CF_NONE, Expr);              /* --> primary register */
-               GetCodePos (&Mark);
-       g_push (TypeOf (Expr->Type), 0);        /* --> stack */
+        /* Left hand side is not constant. Get the value onto the stack. */
+        LoadExpr (CF_NONE, Expr);              /* --> primary register */
+        GetCodePos (&Mark);
+        g_push (TypeOf (Expr->Type), 0);        /* --> stack */
 
-       /* Evaluate the rhs */
+        /* Evaluate the rhs */
         MarkedExprWithCheck (hie9, &Expr2);
 
         /* Check for a constant rhs expression */
         if (ED_IsConstAbs (&Expr2) && ED_CodeRangeIsEmpty (&Expr2)) {
 
-                   /* Right hand side is a constant. Get the rhs type */
-           rhst = Expr2.Type;
-
-           /* Remove pushed value from stack */
-           RemoveCode (&Mark);
-
-                   /* Check for pointer arithmetic */
-                   if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-               /* Left is pointer, right is int, must scale rhs */
-               Expr2.IVal *= CheckedPSizeOf (lhst);
-               /* Operate on pointers, result type is a pointer */
-               flags = CF_PTR;
-           } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
-               /* Left is int, right is pointer, must scale lhs (ptr only) */
-                       g_scale (CF_INT | CF_CONST, CheckedPSizeOf (rhst));
-                       /* Operate on pointers, result type is a pointer */
-               flags = CF_PTR;
-               Expr->Type = Expr2.Type;
-                   } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-               /* Integer addition */
-                       flags = typeadjust (Expr, &Expr2, 1);
-                   } else {
-                       /* OOPS */
-               Error ("Invalid operands for binary operator `+'");
+            /* Right hand side is a constant. Get the rhs type */
+            rhst = Expr2.Type;
+
+            /* Remove pushed value from stack */
+            RemoveCode (&Mark);
+
+            /* Check for pointer arithmetic */
+            if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+                /* Left is pointer, right is int, must scale rhs */
+                Expr2.IVal *= CheckedPSizeOf (lhst);
+                /* Operate on pointers, result type is a pointer */
+                flags = CF_PTR;
+            } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
+                /* Left is int, right is pointer, must scale lhs (ptr only) */
+                g_scale (CF_INT | CF_CONST, CheckedPSizeOf (rhst));
+                /* Operate on pointers, result type is a pointer */
+                flags = CF_PTR;
+                Expr->Type = Expr2.Type;
+            } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+                /* Integer addition */
+                flags = typeadjust (Expr, &Expr2, 1);
+            } else {
+                /* OOPS */
+                Error ("Invalid operands for binary operator `+'");
                 flags = CF_INT;
-           }
+            }
 
-           /* Generate code for the add */
-                   g_inc (flags | CF_CONST, Expr2.IVal);
+            /* Generate code for the add */
+            g_inc (flags | CF_CONST, Expr2.IVal);
 
-       } else {
+        } else {
 
             /* Not constant, load into the primary */
             LoadExpr (CF_NONE, &Expr2);
 
-           /* lhs and rhs are not constant. Get the rhs type. */
-           rhst = Expr2.Type;
-
-           /* Check for pointer arithmetic */
-           if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-               /* Left is pointer, right is int, must scale rhs */
-               g_scale (CF_INT, CheckedPSizeOf (lhst));
-               /* Operate on pointers, result type is a pointer */
-               flags = CF_PTR;
-           } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
-               /* Left is int, right is pointer, must scale lhs */
-               g_tosint (TypeOf (rhst));       /* Make sure, TOS is int */
-               g_swap (CF_INT);                /* Swap TOS and primary */
-               g_scale (CF_INT, CheckedPSizeOf (rhst));
-               /* Operate on pointers, result type is a pointer */
-               flags = CF_PTR;
-               Expr->Type = Expr2.Type;
-                   } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-               /* Integer addition. Note: Result is never constant.
+            /* lhs and rhs are not constant. Get the rhs type. */
+            rhst = Expr2.Type;
+
+            /* Check for pointer arithmetic */
+            if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+                /* Left is pointer, right is int, must scale rhs */
+                g_scale (CF_INT, CheckedPSizeOf (lhst));
+                /* Operate on pointers, result type is a pointer */
+                flags = CF_PTR;
+            } else if (IsClassInt (lhst) && IsClassPtr (rhst)) {
+                /* Left is int, right is pointer, must scale lhs */
+                g_tosint (TypeOf (rhst));       /* Make sure, TOS is int */
+                g_swap (CF_INT);                /* Swap TOS and primary */
+                g_scale (CF_INT, CheckedPSizeOf (rhst));
+                /* Operate on pointers, result type is a pointer */
+                flags = CF_PTR;
+                Expr->Type = Expr2.Type;
+            } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+                /* Integer addition. Note: Result is never constant.
                  * Problem here is that typeadjust does not know if the
                  * variable is an rvalue or lvalue, so if both operands
                  * are dereferenced constant numeric addresses, typeadjust
@@ -2550,17 +2550,17 @@ static void parseadd (ExprDesc* Expr)
                  * whole parser is such a mess that I fear to break anything
                  * when trying to apply another solution.
                  */
-                       flags = typeadjust (Expr, &Expr2, 0) & ~CF_CONST;
-           } else {
-                       /* OOPS */
-               Error ("Invalid operands for binary operator `+'");
+                flags = typeadjust (Expr, &Expr2, 0) & ~CF_CONST;
+            } else {
+                /* OOPS */
+                Error ("Invalid operands for binary operator `+'");
                 flags = CF_INT;
-           }
+            }
 
-           /* Generate code for the add */
-                   g_add (flags, 0);
+            /* Generate code for the add */
+            g_add (flags, 0);
 
-               }
+        }
 
         /* Result is a rvalue in primary register */
         ED_MakeRValExpr (Expr);
@@ -2580,12 +2580,12 @@ static void parsesub (ExprDesc* Expr)
  */
 {
     ExprDesc Expr2;
-    unsigned flags;                    /* Operation flags */
-    Type* lhst;                        /* Type of left hand side */
-    Type* rhst;                        /* Type of right hand side */
-    CodeMark Mark1;            /* Save position of output queue */
-    CodeMark Mark2;                    /* Another position in the queue */
-    int rscale;                /* Scale factor for the result */
+    unsigned flags;             /* Operation flags */
+    Type* lhst;                 /* Type of left hand side */
+    Type* rhst;                 /* Type of right hand side */
+    CodeMark Mark1;             /* Save position of output queue */
+    CodeMark Mark2;             /* Another position in the queue */
+    int rscale;                 /* Scale factor for the result */
 
 
     /* Skip the MINUS token */
@@ -2593,13 +2593,13 @@ static void parsesub (ExprDesc* Expr)
 
     /* Get the left hand side type, initialize operation flags */
     lhst = Expr->Type;
-    rscale = 1;                        /* Scale by 1, that is, don't scale */
+    rscale = 1;                 /* Scale by 1, that is, don't scale */
 
     /* Remember the output queue position, then bring the value onto the stack */
     GetCodePos (&Mark1);
     LoadExpr (CF_NONE, Expr);  /* --> primary register */
     GetCodePos (&Mark2);
-    g_push (TypeOf (lhst), 0); /* --> stack */
+    g_push (TypeOf (lhst), 0);  /* --> stack */
 
     /* Parse the right hand side */
     MarkedExprWithCheck (hie9, &Expr2);
@@ -2607,138 +2607,138 @@ static void parsesub (ExprDesc* Expr)
     /* Check for a constant rhs expression */
     if (ED_IsConstAbs (&Expr2) && ED_CodeRangeIsEmpty (&Expr2)) {
 
-       /* The right hand side is constant. Get the rhs type. */
-               rhst = Expr2.Type;
-
-       /* Check left hand side */
-       if (ED_IsConstAbs (Expr)) {
-
-           /* Both sides are constant, remove generated code */
-           RemoveCode (&Mark1);
-
-           /* Check for pointer arithmetic */
-           if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-               /* Left is pointer, right is int, must scale rhs */
-               Expr->IVal -= Expr2.IVal * CheckedPSizeOf (lhst);
-               /* Operate on pointers, result type is a pointer */
-           } else if (IsClassPtr (lhst) && IsClassPtr (rhst)) {
-               /* Left is pointer, right is pointer, must scale result */
-               if (TypeCmp (Indirect (lhst), Indirect (rhst)) < TC_QUAL_DIFF) {
-                   Error ("Incompatible pointer types");
-               } else {
-                   Expr->IVal = (Expr->IVal - Expr2.IVal) /
+        /* The right hand side is constant. Get the rhs type. */
+        rhst = Expr2.Type;
+
+        /* Check left hand side */
+        if (ED_IsConstAbs (Expr)) {
+
+            /* Both sides are constant, remove generated code */
+            RemoveCode (&Mark1);
+
+            /* Check for pointer arithmetic */
+            if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+                /* Left is pointer, right is int, must scale rhs */
+                Expr->IVal -= Expr2.IVal * CheckedPSizeOf (lhst);
+                /* Operate on pointers, result type is a pointer */
+            } else if (IsClassPtr (lhst) && IsClassPtr (rhst)) {
+                /* Left is pointer, right is pointer, must scale result */
+                if (TypeCmp (Indirect (lhst), Indirect (rhst)) < TC_QUAL_DIFF) {
+                    Error ("Incompatible pointer types");
+                } else {
+                    Expr->IVal = (Expr->IVal - Expr2.IVal) /
                                       CheckedPSizeOf (lhst);
-               }
-               /* Operate on pointers, result type is an integer */
-               Expr->Type = type_int;
-           } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-               /* Integer subtraction */
-                       typeadjust (Expr, &Expr2, 1);
-               Expr->IVal -= Expr2.IVal;
-           } else {
-               /* OOPS */
-               Error ("Invalid operands for binary operator `-'");
-           }
-
-           /* Result is constant, condition codes not set */
-           ED_MarkAsUntested (Expr);
-
-       } else {
-
-           /* Left hand side is not constant, right hand side is.
-            * Remove pushed value from stack.
-            */
-           RemoveCode (&Mark2);
-
-           if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-               /* Left is pointer, right is int, must scale rhs */
-                       Expr2.IVal *= CheckedPSizeOf (lhst);
-               /* Operate on pointers, result type is a pointer */
-               flags = CF_PTR;
-           } else if (IsClassPtr (lhst) && IsClassPtr (rhst)) {
-               /* Left is pointer, right is pointer, must scale result */
-               if (TypeCmp (Indirect (lhst), Indirect (rhst)) < TC_QUAL_DIFF) {
-                   Error ("Incompatible pointer types");
-               } else {
-                   rscale = CheckedPSizeOf (lhst);
-               }
-               /* Operate on pointers, result type is an integer */
-               flags = CF_PTR;
-               Expr->Type = type_int;
-           } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-               /* Integer subtraction */
-                       flags = typeadjust (Expr, &Expr2, 1);
-           } else {
-               /* OOPS */
-               Error ("Invalid operands for binary operator `-'");
+                }
+                /* Operate on pointers, result type is an integer */
+                Expr->Type = type_int;
+            } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+                /* Integer subtraction */
+                typeadjust (Expr, &Expr2, 1);
+                Expr->IVal -= Expr2.IVal;
+            } else {
+                /* OOPS */
+                Error ("Invalid operands for binary operator `-'");
+            }
+
+            /* Result is constant, condition codes not set */
+            ED_MarkAsUntested (Expr);
+
+        } else {
+
+            /* Left hand side is not constant, right hand side is.
+             * Remove pushed value from stack.
+             */
+            RemoveCode (&Mark2);
+
+            if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+                /* Left is pointer, right is int, must scale rhs */
+                Expr2.IVal *= CheckedPSizeOf (lhst);
+                /* Operate on pointers, result type is a pointer */
+                flags = CF_PTR;
+            } else if (IsClassPtr (lhst) && IsClassPtr (rhst)) {
+                /* Left is pointer, right is pointer, must scale result */
+                if (TypeCmp (Indirect (lhst), Indirect (rhst)) < TC_QUAL_DIFF) {
+                    Error ("Incompatible pointer types");
+                } else {
+                    rscale = CheckedPSizeOf (lhst);
+                }
+                /* Operate on pointers, result type is an integer */
+                flags = CF_PTR;
+                Expr->Type = type_int;
+            } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+                /* Integer subtraction */
+                flags = typeadjust (Expr, &Expr2, 1);
+            } else {
+                /* OOPS */
+                Error ("Invalid operands for binary operator `-'");
                 flags = CF_INT;
-           }
+            }
 
-           /* Do the subtraction */
-           g_dec (flags | CF_CONST, Expr2.IVal);
+            /* Do the subtraction */
+            g_dec (flags | CF_CONST, Expr2.IVal);
 
-           /* If this was a pointer subtraction, we must scale the result */
-           if (rscale != 1) {
-               g_scale (flags, -rscale);
-           }
+            /* If this was a pointer subtraction, we must scale the result */
+            if (rscale != 1) {
+                g_scale (flags, -rscale);
+            }
 
-           /* Result is a rvalue in the primary register */
-           ED_MakeRValExpr (Expr);
-           ED_MarkAsUntested (Expr);
+            /* Result is a rvalue in the primary register */
+            ED_MakeRValExpr (Expr);
+            ED_MarkAsUntested (Expr);
 
-       }
+        }
 
     } else {
 
         /* Not constant, load into the primary */
         LoadExpr (CF_NONE, &Expr2);
 
-       /* Right hand side is not constant. Get the rhs type. */
-       rhst = Expr2.Type;
-
-               /* Check for pointer arithmetic */
-       if (IsClassPtr (lhst) && IsClassInt (rhst)) {
-           /* Left is pointer, right is int, must scale rhs */
-           g_scale (CF_INT, CheckedPSizeOf (lhst));
-           /* Operate on pointers, result type is a pointer */
-           flags = CF_PTR;
-       } else if (IsClassPtr (lhst) && IsClassPtr (rhst)) {
-           /* Left is pointer, right is pointer, must scale result */
-           if (TypeCmp (Indirect (lhst), Indirect (rhst)) < TC_QUAL_DIFF) {
-               Error ("Incompatible pointer types");
-           } else {
-               rscale = CheckedPSizeOf (lhst);
-           }
-           /* Operate on pointers, result type is an integer */
-           flags = CF_PTR;
-           Expr->Type = type_int;
-       } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
-           /* Integer subtraction. If the left hand side descriptor says that
-            * the lhs is const, we have to remove this mark, since this is no
-            * longer true, lhs is on stack instead.
-            */
-           if (ED_IsLocAbs (Expr)) {
-               ED_MakeRValExpr (Expr);
-           }
-           /* Adjust operand types */
-           flags = typeadjust (Expr, &Expr2, 0);
-       } else {
-           /* OOPS */
-           Error ("Invalid operands for binary operator `-'");
+        /* Right hand side is not constant. Get the rhs type. */
+        rhst = Expr2.Type;
+
+        /* Check for pointer arithmetic */
+        if (IsClassPtr (lhst) && IsClassInt (rhst)) {
+            /* Left is pointer, right is int, must scale rhs */
+            g_scale (CF_INT, CheckedPSizeOf (lhst));
+            /* Operate on pointers, result type is a pointer */
+            flags = CF_PTR;
+        } else if (IsClassPtr (lhst) && IsClassPtr (rhst)) {
+            /* Left is pointer, right is pointer, must scale result */
+            if (TypeCmp (Indirect (lhst), Indirect (rhst)) < TC_QUAL_DIFF) {
+                Error ("Incompatible pointer types");
+            } else {
+                rscale = CheckedPSizeOf (lhst);
+            }
+            /* Operate on pointers, result type is an integer */
+            flags = CF_PTR;
+            Expr->Type = type_int;
+        } else if (IsClassInt (lhst) && IsClassInt (rhst)) {
+            /* Integer subtraction. If the left hand side descriptor says that
+             * the lhs is const, we have to remove this mark, since this is no
+             * longer true, lhs is on stack instead.
+             */
+            if (ED_IsLocAbs (Expr)) {
+                ED_MakeRValExpr (Expr);
+            }
+            /* Adjust operand types */
+            flags = typeadjust (Expr, &Expr2, 0);
+        } else {
+            /* OOPS */
+            Error ("Invalid operands for binary operator `-'");
             flags = CF_INT;
-       }
+        }
 
-       /* Generate code for the sub (the & is a hack here) */
-       g_sub (flags & ~CF_CONST, 0);
+        /* Generate code for the sub (the & is a hack here) */
+        g_sub (flags & ~CF_CONST, 0);
 
-       /* If this was a pointer subtraction, we must scale the result */
-       if (rscale != 1) {
-           g_scale (flags, -rscale);
-       }
+        /* If this was a pointer subtraction, we must scale the result */
+        if (rscale != 1) {
+            g_scale (flags, -rscale);
+        }
 
-       /* Result is a rvalue in the primary register */
-       ED_MakeRValExpr (Expr);
-       ED_MarkAsUntested (Expr);
+        /* Result is a rvalue in the primary register */
+        ED_MakeRValExpr (Expr);
+        ED_MarkAsUntested (Expr);
     }
 }
 
@@ -2749,11 +2749,11 @@ void hie8 (ExprDesc* Expr)
 {
     ExprWithCheck (hie9, Expr);
     while (CurTok.Tok == TOK_PLUS || CurTok.Tok == TOK_MINUS) {
-               if (CurTok.Tok == TOK_PLUS) {
-                   parseadd (Expr);
-               } else {
-                   parsesub (Expr);
-               }
+        if (CurTok.Tok == TOK_PLUS) {
+            parseadd (Expr);
+        } else {
+            parsesub (Expr);
+        }
     }
 }
 
@@ -2763,10 +2763,10 @@ static void hie6 (ExprDesc* Expr)
 /* Handle greater-than type comparators */
 {
     static const GenDesc hie6_ops [] = {
-        { TOK_LT,      GEN_NOPUSH,     g_lt    },
-        { TOK_LE,      GEN_NOPUSH,     g_le    },
-        { TOK_GE,      GEN_NOPUSH,     g_ge    },
-        { TOK_GT,      GEN_NOPUSH,     g_gt    },
+        { TOK_LT,       GEN_NOPUSH,     g_lt    },
+        { TOK_LE,       GEN_NOPUSH,     g_le    },
+        { TOK_GE,       GEN_NOPUSH,     g_ge    },
+        { TOK_GT,       GEN_NOPUSH,     g_gt    },
         { TOK_INVALID,  0,              0       }
     };
     hie_compare (hie6_ops, Expr, ShiftExpr);
@@ -2778,8 +2778,8 @@ static void hie5 (ExprDesc* Expr)
 /* Handle == and != */
 {
     static const GenDesc hie5_ops[] = {
-        { TOK_EQ,      GEN_NOPUSH,     g_eq    },
-        { TOK_NE,      GEN_NOPUSH,     g_ne    },
+        { TOK_EQ,       GEN_NOPUSH,     g_eq    },
+        { TOK_NE,       GEN_NOPUSH,     g_ne    },
         { TOK_INVALID,  0,              0       }
     };
     hie_compare (hie5_ops, Expr, hie6);
@@ -2805,7 +2805,7 @@ static void hie3 (ExprDesc* Expr)
 /* Handle ^ (bitwise exclusive or) */
 {
     static const GenDesc hie3_ops[] = {
-        { TOK_XOR,             GEN_NOPUSH | GEN_COMM,  g_xor   },
+        { TOK_XOR,      GEN_NOPUSH | GEN_COMM,  g_xor   },
         { TOK_INVALID,  0,                      0       }
     };
     int UsedGen;
@@ -2819,7 +2819,7 @@ static void hie2 (ExprDesc* Expr)
 /* Handle | (bitwise or) */
 {
     static const GenDesc hie2_ops[] = {
-        { TOK_OR,      GEN_NOPUSH | GEN_COMM,  g_or    },
+        { TOK_OR,       GEN_NOPUSH | GEN_COMM,  g_or    },
         { TOK_INVALID,  0,                      0       }
     };
     int UsedGen;
@@ -2839,14 +2839,14 @@ static void hieAndPP (ExprDesc* Expr)
     ConstAbsIntExpr (hie2, Expr);
     while (CurTok.Tok == TOK_BOOL_AND) {
 
-       /* Skip the && */
-       NextToken ();
+        /* Skip the && */
+        NextToken ();
 
-       /* Get rhs */
-       ConstAbsIntExpr (hie2, &Expr2);
+        /* Get rhs */
+        ConstAbsIntExpr (hie2, &Expr2);
 
-       /* Combine the two */
-       Expr->IVal = (Expr->IVal && Expr2.IVal);
+        /* Combine the two */
+        Expr->IVal = (Expr->IVal && Expr2.IVal);
     }
 }
 
@@ -2862,14 +2862,14 @@ static void hieOrPP (ExprDesc *Expr)
     ConstAbsIntExpr (hieAndPP, Expr);
     while (CurTok.Tok == TOK_BOOL_OR) {
 
-       /* Skip the && */
-       NextToken ();
+        /* Skip the && */
+        NextToken ();
 
-       /* Get rhs */
-       ConstAbsIntExpr (hieAndPP, &Expr2);
+        /* Get rhs */
+        ConstAbsIntExpr (hieAndPP, &Expr2);
 
-       /* Combine the two */
-       Expr->IVal = (Expr->IVal || Expr2.IVal);
+        /* Combine the two */
+        Expr->IVal = (Expr->IVal || Expr2.IVal);
     }
 }
 
@@ -2884,51 +2884,51 @@ static void hieAnd (ExprDesc* Expr, unsigned TrueLab, int* BoolOp)
     ExprWithCheck (hie2, Expr);
     if (CurTok.Tok == TOK_BOOL_AND) {
 
-               /* Tell our caller that we're evaluating a boolean */
-               *BoolOp = 1;
+        /* Tell our caller that we're evaluating a boolean */
+        *BoolOp = 1;
 
-               /* Get a label that we will use for false expressions */
-               FalseLab = GetLocalLabel ();
+        /* Get a label that we will use for false expressions */
+        FalseLab = GetLocalLabel ();
 
-               /* If the expr hasn't set condition codes, set the force-test flag */
-               if (!ED_IsTested (Expr)) {
-                   ED_MarkForTest (Expr);
-               }
+        /* If the expr hasn't set condition codes, set the force-test flag */
+        if (!ED_IsTested (Expr)) {
+            ED_MarkForTest (Expr);
+        }
 
-               /* Load the value */
-               LoadExpr (CF_FORCECHAR, Expr);
+        /* Load the value */
+        LoadExpr (CF_FORCECHAR, Expr);
 
-               /* Generate the jump */
-               g_falsejump (CF_NONE, FalseLab);
+        /* Generate the jump */
+        g_falsejump (CF_NONE, FalseLab);
 
-               /* Parse more boolean and's */
-               while (CurTok.Tok == TOK_BOOL_AND) {
+        /* Parse more boolean and's */
+        while (CurTok.Tok == TOK_BOOL_AND) {
 
-                   /* Skip the && */
-           NextToken ();
+            /* Skip the && */
+            NextToken ();
 
-           /* Get rhs */
-           hie2 (&Expr2);
-           if (!ED_IsTested (&Expr2)) {
-               ED_MarkForTest (&Expr2);
-           }
-           LoadExpr (CF_FORCECHAR, &Expr2);
+            /* Get rhs */
+            hie2 (&Expr2);
+            if (!ED_IsTested (&Expr2)) {
+                ED_MarkForTest (&Expr2);
+            }
+            LoadExpr (CF_FORCECHAR, &Expr2);
 
-                   /* Do short circuit evaluation */
-           if (CurTok.Tok == TOK_BOOL_AND) {
-               g_falsejump (CF_NONE, FalseLab);
-                   } else {
-                       /* Last expression - will evaluate to true */
-                       g_truejump (CF_NONE, TrueLab);
-                   }
-               }
+            /* Do short circuit evaluation */
+            if (CurTok.Tok == TOK_BOOL_AND) {
+                g_falsejump (CF_NONE, FalseLab);
+            } else {
+                /* Last expression - will evaluate to true */
+                g_truejump (CF_NONE, TrueLab);
+            }
+        }
 
-               /* Define the false jump label here */
-               g_defcodelabel (FalseLab);
+        /* Define the false jump label here */
+        g_defcodelabel (FalseLab);
 
-               /* The result is an rvalue in primary */
-               ED_MakeRValExpr (Expr);
-               ED_TestDone (Expr);     /* Condition codes are set */
+        /* The result is an rvalue in primary */
+        ED_MakeRValExpr (Expr);
+        ED_TestDone (Expr);     /* Condition codes are set */
     }
 }
 
@@ -2938,9 +2938,9 @@ static void hieOr (ExprDesc *Expr)
 /* Process "exp || exp". */
 {
     ExprDesc Expr2;
-    int BoolOp = 0;            /* Did we have a boolean op? */
-    int AndOp;                 /* Did we have a && operation? */
-    unsigned TrueLab;          /* Jump to this label if true */
+    int BoolOp = 0;             /* Did we have a boolean op? */
+    int AndOp;                  /* Did we have a && operation? */
+    unsigned TrueLab;           /* Jump to this label if true */
     unsigned DoneLab;
 
     /* Get a label */
@@ -2952,56 +2952,56 @@ static void hieOr (ExprDesc *Expr)
     /* Any boolean or's? */
     if (CurTok.Tok == TOK_BOOL_OR) {
 
-       /* If the expr hasn't set condition codes, set the force-test flag */
-               if (!ED_IsTested (Expr)) {
-           ED_MarkForTest (Expr);
-       }
+        /* If the expr hasn't set condition codes, set the force-test flag */
+        if (!ED_IsTested (Expr)) {
+            ED_MarkForTest (Expr);
+        }
 
-       /* Get first expr */
-       LoadExpr (CF_FORCECHAR, Expr);
+        /* Get first expr */
+        LoadExpr (CF_FORCECHAR, Expr);
 
-               /* For each expression jump to TrueLab if true. Beware: If we
-        * had && operators, the jump is already in place!
-        */
-       if (!BoolOp) {
-                   g_truejump (CF_NONE, TrueLab);
-       }
+        /* For each expression jump to TrueLab if true. Beware: If we
+         * had && operators, the jump is already in place!
+         */
+        if (!BoolOp) {
+            g_truejump (CF_NONE, TrueLab);
+        }
 
-               /* Remember that we had a boolean op */
-       BoolOp = 1;
+        /* Remember that we had a boolean op */
+        BoolOp = 1;
 
-       /* while there's more expr */
-               while (CurTok.Tok == TOK_BOOL_OR) {
+        /* while there's more expr */
+        while (CurTok.Tok == TOK_BOOL_OR) {
 
-                   /* skip the || */
-           NextToken ();
+            /* skip the || */
+            NextToken ();
 
-                   /* Get a subexpr */
-           AndOp = 0;
-           hieAnd (&Expr2, TrueLab, &AndOp);
-                   if (!ED_IsTested (&Expr2)) {
-               ED_MarkForTest (&Expr2);
-           }
-           LoadExpr (CF_FORCECHAR, &Expr2);
+            /* Get a subexpr */
+            AndOp = 0;
+            hieAnd (&Expr2, TrueLab, &AndOp);
+            if (!ED_IsTested (&Expr2)) {
+                ED_MarkForTest (&Expr2);
+            }
+            LoadExpr (CF_FORCECHAR, &Expr2);
 
-                   /* If there is more to come, add shortcut boolean eval. */
-           g_truejump (CF_NONE, TrueLab);
+            /* If there is more to come, add shortcut boolean eval. */
+            g_truejump (CF_NONE, TrueLab);
 
-       }
+        }
 
-               /* The result is an rvalue in primary */
-       ED_MakeRValExpr (Expr);
-       ED_TestDone (Expr);                     /* Condition codes are set */
+        /* The result is an rvalue in primary */
+        ED_MakeRValExpr (Expr);
+        ED_TestDone (Expr);                     /* Condition codes are set */
     }
 
     /* If we really had boolean ops, generate the end sequence */
     if (BoolOp) {
-       DoneLab = GetLocalLabel ();
-       g_getimmed (CF_INT | CF_CONST, 0, 0);   /* Load FALSE */
-               g_falsejump (CF_NONE, DoneLab);
-       g_defcodelabel (TrueLab);
-       g_getimmed (CF_INT | CF_CONST, 1, 0);   /* Load TRUE */
-       g_defcodelabel (DoneLab);
+        DoneLab = GetLocalLabel ();
+        g_getimmed (CF_INT | CF_CONST, 0, 0);   /* Load FALSE */
+        g_falsejump (CF_NONE, DoneLab);
+        g_defcodelabel (TrueLab);
+        g_getimmed (CF_INT | CF_CONST, 1, 0);   /* Load TRUE */
+        g_defcodelabel (DoneLab);
     }
 }
 
@@ -3013,11 +3013,11 @@ static void hieQuest (ExprDesc* Expr)
     int         FalseLab;
     int         TrueLab;
     CodeMark    TrueCodeEnd;
-    ExprDesc   Expr2;          /* Expression 2 */
-    ExprDesc   Expr3;          /* Expression 3 */
+    ExprDesc    Expr2;          /* Expression 2 */
+    ExprDesc    Expr3;          /* Expression 3 */
     int         Expr2IsNULL;    /* Expression 2 is a NULL pointer */
     int         Expr3IsNULL;    /* Expression 3 is a NULL pointer */
-    Type*      ResultType;     /* Type of result */
+    Type*       ResultType;     /* Type of result */
 
 
     /* Call the lower level eval routine */
@@ -3029,16 +3029,16 @@ static void hieQuest (ExprDesc* Expr)
 
     /* Check if it's a ternary expression */
     if (CurTok.Tok == TOK_QUEST) {
-       NextToken ();
-       if (!ED_IsTested (Expr)) {
-           /* Condition codes not set, request a test */
-           ED_MarkForTest (Expr);
-       }
-       LoadExpr (CF_NONE, Expr);
-       FalseLab = GetLocalLabel ();
-       g_falsejump (CF_NONE, FalseLab);
-
-       /* Parse second expression. Remember for later if it is a NULL pointer
+        NextToken ();
+        if (!ED_IsTested (Expr)) {
+            /* Condition codes not set, request a test */
+            ED_MarkForTest (Expr);
+        }
+        LoadExpr (CF_NONE, Expr);
+        FalseLab = GetLocalLabel ();
+        g_falsejump (CF_NONE, FalseLab);
+
+        /* Parse second expression. Remember for later if it is a NULL pointer
          * expression, then load it into the primary.
          */
         ExprWithCheck (hie1, &Expr2);
@@ -3054,14 +3054,14 @@ static void hieQuest (ExprDesc* Expr)
         GetCodePos (&TrueCodeEnd);
 
         /* Jump around the evaluation of the third expression */
-       TrueLab = GetLocalLabel ();
-       ConsumeColon ();
-       g_jump (TrueLab);
+        TrueLab = GetLocalLabel ();
+        ConsumeColon ();
+        g_jump (TrueLab);
 
         /* Jump here if the first expression was false */
-       g_defcodelabel (FalseLab);
+        g_defcodelabel (FalseLab);
 
-       /* Parse third expression. Remember for later if it is a NULL pointer
+        /* Parse third expression. Remember for later if it is a NULL pointer
          * expression, then load it into the primary.
          */
         ExprWithCheck (hie1, &Expr3);
@@ -3073,36 +3073,36 @@ static void hieQuest (ExprDesc* Expr)
             Expr3.Type = PtrConversion (Expr3.Type);
         }
 
-       /* Check if any conversions are needed, if so, do them.
-        * Conversion rules for ?: expression are:
-        *   - if both expressions are int expressions, default promotion
-        *     rules for ints apply.
-        *   - if both expressions are pointers of the same type, the
-        *     result of the expression is of this type.
-        *   - if one of the expressions is a pointer and the other is
-        *     a zero constant, the resulting type is that of the pointer
-        *     type.
+        /* Check if any conversions are needed, if so, do them.
+         * Conversion rules for ?: expression are:
+         *   - if both expressions are int expressions, default promotion
+         *     rules for ints apply.
+         *   - if both expressions are pointers of the same type, the
+         *     result of the expression is of this type.
+         *   - if one of the expressions is a pointer and the other is
+         *     a zero constant, the resulting type is that of the pointer
+         *     type.
          *   - if both expressions are void expressions, the result is of
          *     type void.
-        *   - all other cases are flagged by an error.
-        */
-       if (IsClassInt (Expr2.Type) && IsClassInt (Expr3.Type)) {
+         *   - all other cases are flagged by an error.
+         */
+        if (IsClassInt (Expr2.Type) && IsClassInt (Expr3.Type)) {
 
             CodeMark    CvtCodeStart;
             CodeMark    CvtCodeEnd;
 
 
-           /* Get common type */
-           ResultType = promoteint (Expr2.Type, Expr3.Type);
+            /* Get common type */
+            ResultType = promoteint (Expr2.Type, Expr3.Type);
 
-           /* Convert the third expression to this type if needed */
-           TypeConversion (&Expr3, ResultType);
+            /* Convert the third expression to this type if needed */
+            TypeConversion (&Expr3, ResultType);
 
             /* Emit conversion code for the second expression, but remember
              * where it starts end ends.
              */
             GetCodePos (&CvtCodeStart);
-           TypeConversion (&Expr2, ResultType);
+            TypeConversion (&Expr2, ResultType);
             GetCodePos (&CvtCodeEnd);
 
             /* If we had conversion code, move it to the right place */
@@ -3110,33 +3110,33 @@ static void hieQuest (ExprDesc* Expr)
                 MoveCode (&CvtCodeStart, &CvtCodeEnd, &TrueCodeEnd);
             }
 
-       } else if (IsClassPtr (Expr2.Type) && IsClassPtr (Expr3.Type)) {
-           /* Must point to same type */
-           if (TypeCmp (Indirect (Expr2.Type), Indirect (Expr3.Type)) < TC_EQUAL) {
-               Error ("Incompatible pointer types");
-           }
-           /* Result has the common type */
-           ResultType = Expr2.Type;
-       } else if (IsClassPtr (Expr2.Type) && Expr3IsNULL) {
-           /* Result type is pointer, no cast needed */
-           ResultType = Expr2.Type;
-       } else if (Expr2IsNULL && IsClassPtr (Expr3.Type)) {
-           /* Result type is pointer, no cast needed */
-           ResultType = Expr3.Type;
+        } else if (IsClassPtr (Expr2.Type) && IsClassPtr (Expr3.Type)) {
+            /* Must point to same type */
+            if (TypeCmp (Indirect (Expr2.Type), Indirect (Expr3.Type)) < TC_EQUAL) {
+                Error ("Incompatible pointer types");
+            }
+            /* Result has the common type */
+            ResultType = Expr2.Type;
+        } else if (IsClassPtr (Expr2.Type) && Expr3IsNULL) {
+            /* Result type is pointer, no cast needed */
+            ResultType = Expr2.Type;
+        } else if (Expr2IsNULL && IsClassPtr (Expr3.Type)) {
+            /* Result type is pointer, no cast needed */
+            ResultType = Expr3.Type;
         } else if (IsTypeVoid (Expr2.Type) && IsTypeVoid (Expr3.Type)) {
             /* Result type is void */
             ResultType = Expr3.Type;
-       } else {
-           Error ("Incompatible types");
-           ResultType = Expr2.Type;            /* Doesn't matter here */
-       }
+        } else {
+            Error ("Incompatible types");
+            ResultType = Expr2.Type;            /* Doesn't matter here */
+        }
 
-               /* Define the final label */
+        /* Define the final label */
         g_defcodelabel (TrueLab);
 
-       /* Setup the target expression */
-               ED_MakeRValExpr (Expr);
-       Expr->Type  = ResultType;
+        /* Setup the target expression */
+        ED_MakeRValExpr (Expr);
+        Expr->Type  = ResultType;
     }
 }
 
@@ -3152,13 +3152,13 @@ static void opeq (const GenDesc* Gen, ExprDesc* Expr, const char* Op)
 
     /* op= can only be used with lvalues */
     if (!ED_IsLVal (Expr)) {
-       Error ("Invalid lvalue in assignment");
-       return;
+        Error ("Invalid lvalue in assignment");
+        return;
     }
 
     /* The left side must not be const qualified */
     if (IsQualConst (Expr->Type)) {
-       Error ("Assignment to const");
+        Error ("Assignment to const");
     }
 
     /* There must be an integer or pointer on the left side */
@@ -3199,30 +3199,30 @@ static void opeq (const GenDesc* Gen, ExprDesc* Expr, const char* Op)
 
     /* Check for a constant expression */
     if (ED_IsConstAbs (&Expr2) && ED_CodeRangeIsEmpty (&Expr2)) {
-       /* The resulting value is a constant. If the generator has the NOPUSH
-        * flag set, don't push the lhs.
-        */
-       if (Gen->Flags & GEN_NOPUSH) {
-           RemoveCode (&Mark);
-       }
-               if (MustScale) {
-           /* lhs is a pointer, scale rhs */
-           Expr2.IVal *= CheckedSizeOf (Expr->Type+1);
-       }
-
-       /* If the lhs is character sized, the operation may be later done
-        * with characters.
-        */
-       if (CheckedSizeOf (Expr->Type) == SIZEOF_CHAR) {
-           flags |= CF_FORCECHAR;
-       }
-
-       /* Special handling for add and sub - some sort of a hack, but short code */
-       if (Gen->Func == g_add) {
-           g_inc (flags | CF_CONST, Expr2.IVal);
-       } else if (Gen->Func == g_sub) {
-           g_dec (flags | CF_CONST, Expr2.IVal);
-       } else {
+        /* The resulting value is a constant. If the generator has the NOPUSH
+         * flag set, don't push the lhs.
+         */
+        if (Gen->Flags & GEN_NOPUSH) {
+            RemoveCode (&Mark);
+        }
+        if (MustScale) {
+            /* lhs is a pointer, scale rhs */
+            Expr2.IVal *= CheckedSizeOf (Expr->Type+1);
+        }
+
+        /* If the lhs is character sized, the operation may be later done
+         * with characters.
+         */
+        if (CheckedSizeOf (Expr->Type) == SIZEOF_CHAR) {
+            flags |= CF_FORCECHAR;
+        }
+
+        /* Special handling for add and sub - some sort of a hack, but short code */
+        if (Gen->Func == g_add) {
+            g_inc (flags | CF_CONST, Expr2.IVal);
+        } else if (Gen->Func == g_sub) {
+            g_dec (flags | CF_CONST, Expr2.IVal);
+        } else {
             if (Expr2.IVal == 0) {
                 /* Check for div by zero/mod by zero */
                 if (Gen->Func == g_div) {
@@ -3231,26 +3231,26 @@ static void opeq (const GenDesc* Gen, ExprDesc* Expr, const char* Op)
                     Error ("Modulo operation with zero");
                 }
             }
-                   Gen->Func (flags | CF_CONST, Expr2.IVal);
-       }
+            Gen->Func (flags | CF_CONST, Expr2.IVal);
+        }
     } else {
 
-       /* rhs is not constant. Load into the primary */
+        /* rhs is not constant. Load into the primary */
         LoadExpr (CF_NONE, &Expr2);
-               if (MustScale) {
-           /* lhs is a pointer, scale rhs */
-                   g_scale (TypeOf (Expr2.Type), CheckedSizeOf (Expr->Type+1));
-       }
+        if (MustScale) {
+            /* lhs is a pointer, scale rhs */
+            g_scale (TypeOf (Expr2.Type), CheckedSizeOf (Expr->Type+1));
+        }
 
-       /* If the lhs is character sized, the operation may be later done
-        * with characters.
-        */
-       if (CheckedSizeOf (Expr->Type) == SIZEOF_CHAR) {
-           flags |= CF_FORCECHAR;
-       }
+        /* If the lhs is character sized, the operation may be later done
+         * with characters.
+         */
+        if (CheckedSizeOf (Expr->Type) == SIZEOF_CHAR) {
+            flags |= CF_FORCECHAR;
+        }
 
-       /* Adjust the types of the operands if needed */
-               Gen->Func (g_typeadjust (flags, TypeOf (Expr2.Type)), 0);
+        /* Adjust the types of the operands if needed */
+        Gen->Func (g_typeadjust (flags, TypeOf (Expr2.Type)), 0);
     }
     Store (Expr, 0);
     ED_MakeRValExpr (Expr);
@@ -3269,20 +3269,20 @@ static void addsubeq (const GenDesc* Gen, ExprDesc *Expr, const char* Op)
 
     /* We're currently only able to handle some adressing modes */
     if (ED_GetLoc (Expr) == E_LOC_EXPR || ED_GetLoc (Expr) == E_LOC_PRIMARY) {
-       /* Use generic routine */
-               opeq (Gen, Expr, Op);
-       return;
+        /* Use generic routine */
+        opeq (Gen, Expr, Op);
+        return;
     }
 
     /* We must have an lvalue */
     if (ED_IsRVal (Expr)) {
-       Error ("Invalid lvalue in assignment");
-       return;
+        Error ("Invalid lvalue in assignment");
+        return;
     }
 
     /* The left side must not be const qualified */
     if (IsQualConst (Expr->Type)) {
-       Error ("Assignment to const");
+        Error ("Assignment to const");
     }
 
     /* There must be an integer or pointer on the left side */
@@ -3314,19 +3314,19 @@ static void addsubeq (const GenDesc* Gen, ExprDesc *Expr, const char* Op)
          */
     }
     if (ED_IsConstAbs (&Expr2)) {
-       /* The resulting value is a constant. Scale it. */
+        /* The resulting value is a constant. Scale it. */
         if (MustScale) {
             Expr2.IVal *= CheckedSizeOf (Indirect (Expr->Type));
         }
-       rflags |= CF_CONST;
-       lflags |= CF_CONST;
+        rflags |= CF_CONST;
+        lflags |= CF_CONST;
     } else {
-       /* Not constant, load into the primary */
+        /* Not constant, load into the primary */
         LoadExpr (CF_NONE, &Expr2);
-               if (MustScale) {
-           /* lhs is a pointer, scale rhs */
-                   g_scale (TypeOf (Expr2.Type), CheckedSizeOf (Indirect (Expr->Type)));
-       }
+        if (MustScale) {
+            /* lhs is a pointer, scale rhs */
+            g_scale (TypeOf (Expr2.Type), CheckedSizeOf (Indirect (Expr->Type)));
+        }
     }
 
     /* Setup the code generator flags */
@@ -3401,52 +3401,52 @@ void hie1 (ExprDesc* Expr)
     hieQuest (Expr);
     switch (CurTok.Tok) {
 
-       case TOK_ASSIGN:
+        case TOK_ASSIGN:
             Assignment (Expr);
-           break;
+            break;
 
-       case TOK_PLUS_ASSIGN:
-                   addsubeq (&GenPASGN, Expr, "+=");
-           break;
+        case TOK_PLUS_ASSIGN:
+            addsubeq (&GenPASGN, Expr, "+=");
+            break;
 
-       case TOK_MINUS_ASSIGN:
-                   addsubeq (&GenSASGN, Expr, "-=");
-           break;
+        case TOK_MINUS_ASSIGN:
+            addsubeq (&GenSASGN, Expr, "-=");
+            break;
 
-       case TOK_MUL_ASSIGN:
-                   opeq (&GenMASGN, Expr, "*=");
-           break;
+        case TOK_MUL_ASSIGN:
+            opeq (&GenMASGN, Expr, "*=");
+            break;
 
-       case TOK_DIV_ASSIGN:
-                   opeq (&GenDASGN, Expr, "/=");
-           break;
+        case TOK_DIV_ASSIGN:
+            opeq (&GenDASGN, Expr, "/=");
+            break;
 
-       case TOK_MOD_ASSIGN:
-                   opeq (&GenMOASGN, Expr, "%=");
-           break;
+        case TOK_MOD_ASSIGN:
+            opeq (&GenMOASGN, Expr, "%=");
+            break;
 
-       case TOK_SHL_ASSIGN:
-                   opeq (&GenSLASGN, Expr, "<<=");
-           break;
+        case TOK_SHL_ASSIGN:
+            opeq (&GenSLASGN, Expr, "<<=");
+            break;
 
-       case TOK_SHR_ASSIGN:
-                   opeq (&GenSRASGN, Expr, ">>=");
-           break;
+        case TOK_SHR_ASSIGN:
+            opeq (&GenSRASGN, Expr, ">>=");
+            break;
 
-       case TOK_AND_ASSIGN:
-                   opeq (&GenAASGN, Expr, "&=");
-           break;
+        case TOK_AND_ASSIGN:
+            opeq (&GenAASGN, Expr, "&=");
+            break;
 
-       case TOK_XOR_ASSIGN:
-                   opeq (&GenXOASGN, Expr, "^=");
-           break;
+        case TOK_XOR_ASSIGN:
+            opeq (&GenXOASGN, Expr, "^=");
+            break;
 
-       case TOK_OR_ASSIGN:
-                   opeq (&GenOASGN, Expr, "|=");
-           break;
+        case TOK_OR_ASSIGN:
+            opeq (&GenOASGN, Expr, "|=");
+            break;
 
-       default:
-           break;
+        default:
+            break;
     }
 }
 
@@ -3457,8 +3457,8 @@ void hie0 (ExprDesc *Expr)
 {
     hie1 (Expr);
     while (CurTok.Tok == TOK_COMMA) {
-       NextToken ();
-               hie1 (Expr);
+        NextToken ();
+        hie1 (Expr);
     }
 }
 
@@ -3476,12 +3476,12 @@ int evalexpr (unsigned Flags, void (*Func) (ExprDesc*), ExprDesc* Expr)
 
     /* Check for a constant expression */
     if (ED_IsConstAbs (Expr)) {
-       /* Constant expression */
-       return 0;
+        /* Constant expression */
+        return 0;
     } else {
-       /* Not constant, load into the primary */
+        /* Not constant, load into the primary */
         LoadExpr (Flags, Expr);
-       return 1;
+        return 1;
     }
 }
 
@@ -3505,9 +3505,9 @@ void ConstExpr (void (*Func) (ExprDesc*), ExprDesc* Expr)
 {
     ExprWithCheck (Func, Expr);
     if (!ED_IsConst (Expr)) {
-       Error ("Constant expression expected");
-       /* To avoid any compiler errors, make the expression a valid const */
-       ED_MakeConstAbsInt (Expr, 1);
+        Error ("Constant expression expected");
+        /* To avoid any compiler errors, make the expression a valid const */
+        ED_MakeConstAbsInt (Expr, 1);
     }
 }
 
@@ -3522,9 +3522,9 @@ void BoolExpr (void (*Func) (ExprDesc*), ExprDesc* Expr)
 {
     ExprWithCheck (Func, Expr);
     if (!ED_IsBool (Expr)) {
-       Error ("Boolean expression expected");
-       /* To avoid any compiler errors, make the expression a valid int */
-       ED_MakeConstAbsInt (Expr, 1);
+        Error ("Boolean expression expected");
+        /* To avoid any compiler errors, make the expression a valid int */
+        ED_MakeConstAbsInt (Expr, 1);
     }
 }
 
@@ -3539,9 +3539,9 @@ void ConstAbsIntExpr (void (*Func) (ExprDesc*), ExprDesc* Expr)
 {
     ExprWithCheck (Func, Expr);
     if (!ED_IsConstAbsInt (Expr)) {
-               Error ("Constant integer expression expected");
-               /* To avoid any compiler errors, make the expression a valid const */
-       ED_MakeConstAbsInt (Expr, 1);
+        Error ("Constant integer expression expected");
+        /* To avoid any compiler errors, make the expression a valid const */
+        ED_MakeConstAbsInt (Expr, 1);
     }
 }
 
index c98074356ef7ba55cc4c693417f6d090904e2eb4..c5d193e6bcaef6b39c90dd5748ba000a93b08fd5 100644 (file)
@@ -18,7 +18,7 @@
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
index 2615e9dbd96738a92d0e47d5780e8fcb5da0668a..978aedfc691f51b59f98d60f056fcb4867e5638e 100644 (file)
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -118,31 +118,31 @@ const char* ED_GetLabelName (const ExprDesc* Expr, long Offs)
 
         case E_LOC_ABS:
             /* Absolute: numeric address or const */
-                   SB_Printf (&Buf, "$%04X", (int)(Offs & 0xFFFF));
+            SB_Printf (&Buf, "$%04X", (int)(Offs & 0xFFFF));
             break;
 
         case E_LOC_GLOBAL:
         case E_LOC_STATIC:
             /* Global or static variable */
-           if (Offs) {
-               SB_Printf (&Buf, "%s%+ld", SymGetAsmName (Expr->Sym), Offs);
-           } else {
-               SB_Printf (&Buf, "%s", SymGetAsmName (Expr->Sym));
-           }
+            if (Offs) {
+                SB_Printf (&Buf, "%s%+ld", SymGetAsmName (Expr->Sym), Offs);
+            } else {
+                SB_Printf (&Buf, "%s", SymGetAsmName (Expr->Sym));
+            }
             break;
 
         case E_LOC_REGISTER:
             /* Register variable */
-           SB_Printf (&Buf, "regbank+%u", (unsigned)((Offs + Expr->Name) & 0xFFFFU));
+            SB_Printf (&Buf, "regbank+%u", (unsigned)((Offs + Expr->Name) & 0xFFFFU));
             break;
 
         case E_LOC_LITERAL:
             /* Literal in the literal pool */
-           if (Offs) {
-               SB_Printf (&Buf, "%s%+ld", LocalLabelName (Expr->Name), Offs);
-           } else {
-                       SB_Printf (&Buf, "%s", LocalLabelName (Expr->Name));
-           }
+            if (Offs) {
+                SB_Printf (&Buf, "%s%+ld", LocalLabelName (Expr->Name), Offs);
+            } else {
+                SB_Printf (&Buf, "%s", LocalLabelName (Expr->Name));
+            }
             break;
 
         default:
index 16322fb09c9cebdf1dde41be84d6e441dd122cd7..f2d5ce3220e7e875e97d28029faeb8c71c2f6a56 100644 (file)
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -95,11 +95,11 @@ struct Literal;
 /* Describe the result of an expression */
 typedef struct ExprDesc ExprDesc;
 struct ExprDesc {
-    struct SymEntry*   Sym;            /* Symbol table entry if known */
-    Type*              Type;           /* Type array of expression */
+    struct SymEntry*    Sym;            /* Symbol table entry if known */
+    Type*               Type;           /* Type array of expression */
     unsigned            Flags;
-    unsigned long      Name;           /* Name or label number */
-    long                       IVal;           /* Integer value if expression constant */
+    unsigned long       Name;           /* Name or label number */
+    long                IVal;           /* Integer value if expression constant */
     Double              FVal;           /* Floating point value */
     struct Literal*     LVal;           /* Literal value */
 
@@ -115,7 +115,7 @@ struct ExprDesc {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cfba7fec8d23bb1c655bbee789a32462a5a5dcf3..874dfb101dc424e8cf2cf3e657acb7b53c49335e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               funcdesc.c                                 */
+/*                                funcdesc.c                                 */
 /*                                                                           */
-/*          Function descriptor structure for the cc65 C compiler           */
+/*           Function descriptor structure for the cc65 C compiler           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -54,9 +54,9 @@ FuncDesc* NewFuncDesc (void)
     FuncDesc* F = (FuncDesc*) xmalloc (sizeof (FuncDesc));
 
     /* Nullify the fields */
-    F->Flags     = 0;
-    F->SymTab    = 0;
-    F->TagTab    = 0;
+    F->Flags      = 0;
+    F->SymTab     = 0;
+    F->TagTab     = 0;
     F->ParamCount = 0;
     F->ParamSize  = 0;
     F->LastParam  = 0;
index 7186c3ee88fbdec7a99d5dfe1857a50a6b162d34..7232bca1d24b0e20a1212edc47734491a548bcaf 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               funcdesc.h                                 */
+/*                                funcdesc.h                                 */
 /*                                                                           */
-/*          Function descriptor structure for the cc65 C compiler           */
+/*           Function descriptor structure for the cc65 C compiler           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                             struct FuncDesc                              */
+/*                              struct FuncDesc                              */
 /*****************************************************************************/
 
 
 
 /* Masks for the Flags field in FuncDesc */
-#define FD_NONE                        0x0000U /* No flags                          */
-#define FD_EMPTY                       0x0001U /* Function with empty param list    */
-#define FD_VOID_PARAM          0x0002U /* Function with a void param list   */
-#define FD_VARIADIC            0x0004U /* Function with variable param list */
-#define FD_OLDSTYLE                    0x0010U /* Old style (K&R) function          */
-#define FD_OLDSTYLE_INTRET     0x0020U /* K&R func has implicit int return  */
-#define FD_UNNAMED_PARAMS              0x0040U /* Function has unnamed params       */
+#define FD_NONE                 0x0000U /* No flags                          */
+#define FD_EMPTY                0x0001U /* Function with empty param list    */
+#define FD_VOID_PARAM           0x0002U /* Function with a void param list   */
+#define FD_VARIADIC             0x0004U /* Function with variable param list */
+#define FD_OLDSTYLE             0x0010U /* Old style (K&R) function          */
+#define FD_OLDSTYLE_INTRET      0x0020U /* K&R func has implicit int return  */
+#define FD_UNNAMED_PARAMS       0x0040U /* Function has unnamed params       */
 
 /* Bits that must be ignored when comparing funcs */
 #define FD_IGNORE       (FD_OLDSTYLE | FD_OLDSTYLE_INTRET | FD_UNNAMED_PARAMS)
 /* Function descriptor */
 typedef struct FuncDesc FuncDesc;
 struct FuncDesc {
-    unsigned           Flags;          /* Bitmapped flags FD_...            */
-    struct SymTable*   SymTab;         /* Symbol table                      */
-    struct SymTable*           TagTab;         /* Symbol table for structs/enums    */
-    unsigned           ParamCount;     /* Number of parameters              */
-    unsigned           ParamSize;      /* Size of the parameters            */
-    struct SymEntry*   LastParam;      /* Pointer to last parameter         */
+    unsigned            Flags;          /* Bitmapped flags FD_...            */
+    struct SymTable*    SymTab;         /* Symbol table                      */
+    struct SymTable*    TagTab;         /* Symbol table for structs/enums    */
+    unsigned            ParamCount;     /* Number of parameters              */
+    unsigned            ParamSize;      /* Size of the parameters            */
+    struct SymEntry*    LastParam;      /* Pointer to last parameter         */
 };
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2956fed1d0ca5ecf62c0bb0ea8f687f37071fe4f..ccf2adf49a10d61bcb30dd1bcd0488cc33c6e944 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               function.c                                 */
+/*                                function.c                                 */
 /*                                                                           */
-/*                     Parse function entry/body/exit                       */
+/*                      Parse function entry/body/exit                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -56,7 +56,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -71,14 +71,14 @@ typedef enum {
 
 /* Structure that holds all data needed for function activation */
 struct Function {
-    struct SymEntry*           FuncEntry;      /* Symbol table entry */
-    Type*              ReturnType;     /* Function return type */
-    FuncDesc*                  Desc;           /* Function descriptor */
-    int                        Reserved;       /* Reserved local space */
-    unsigned           RetLab;         /* Return code label */
-    int                        TopLevelSP;     /* SP at function top level */
+    struct SymEntry*    FuncEntry;      /* Symbol table entry */
+    Type*               ReturnType;     /* Function return type */
+    FuncDesc*           Desc;           /* Function descriptor */
+    int                 Reserved;       /* Reserved local space */
+    unsigned            RetLab;         /* Return code label */
+    int                 TopLevelSP;     /* SP at function top level */
     unsigned            RegOffs;        /* Register variable space offset */
-    funcflags_t                Flags;          /* Function flags */
+    funcflags_t         Flags;          /* Function flags */
 };
 
 /* Pointer to current function */
@@ -87,7 +87,7 @@ Function* CurrentFunc = 0;
 
 
 /*****************************************************************************/
-/*                        Subroutines working with struct Function                  */
+/*                 Subroutines working with struct Function                  */
 /*****************************************************************************/
 
 
@@ -101,12 +101,12 @@ static Function* NewFunction (struct SymEntry* Sym)
     /* Initialize the fields */
     F->FuncEntry  = Sym;
     F->ReturnType = GetFuncReturn (Sym->Type);
-    F->Desc      = GetFuncDesc (Sym->Type);
-    F->Reserved          = 0;
-    F->RetLab    = GetLocalLabel ();
+    F->Desc       = GetFuncDesc (Sym->Type);
+    F->Reserved   = 0;
+    F->RetLab     = GetLocalLabel ();
     F->TopLevelSP = 0;
     F->RegOffs    = RegisterSpace;
-    F->Flags     = IsTypeVoid (F->ReturnType) ? FF_VOID_RETURN : FF_NONE;
+    F->Flags      = IsTypeVoid (F->ReturnType) ? FF_VOID_RETURN : FF_NONE;
 
     /* Return the new structure */
     return F;
@@ -254,14 +254,14 @@ void F_AllocLocalSpace (Function* F)
 {
     if (F->Reserved > 0) {
 
-               /* Create space on the stack */
-               g_space (F->Reserved);
+        /* Create space on the stack */
+        g_space (F->Reserved);
 
-               /* Correct the stack pointer */
-               StackPtr -= F->Reserved;
+        /* Correct the stack pointer */
+        StackPtr -= F->Reserved;
 
-               /* Nothing more reserved */
-               F->Reserved = 0;
+        /* Nothing more reserved */
+        F->Reserved = 0;
     }
 }
 
@@ -276,18 +276,18 @@ int F_AllocRegVar (Function* F, const Type* Type)
     /* Allow register variables only on top level and if enabled */
     if (IS_Get (&EnableRegVars) && GetLexicalLevel () == LEX_LEVEL_FUNCTION) {
 
-       /* Get the size of the variable */
-       unsigned Size = CheckedSizeOf (Type);
-
-       /* Do we have space left? */
-       if (F->RegOffs >= Size) {
-           /* Space left. We allocate the variables from high to low addresses,
-            * so the adressing is compatible with the saved values on stack.
-            * This allows shorter code when saving/restoring the variables.
-            */
-           F->RegOffs -= Size;
-           return F->RegOffs;
-       }
+        /* Get the size of the variable */
+        unsigned Size = CheckedSizeOf (Type);
+
+        /* Do we have space left? */
+        if (F->RegOffs >= Size) {
+            /* Space left. We allocate the variables from high to low addresses,
+             * so the adressing is compatible with the saved values on stack.
+             * This allows shorter code when saving/restoring the variables.
+             */
+            F->RegOffs -= Size;
+            return F->RegOffs;
+        }
     }
 
     /* No space left or no allocation */
@@ -303,12 +303,12 @@ static void F_RestoreRegVars (Function* F)
 
     /* If we don't have register variables in this function, bail out early */
     if (F->RegOffs == RegisterSpace) {
-               return;
+        return;
     }
 
     /* Save the accumulator if needed */
     if (!F_HasVoidReturn (F)) {
-               g_save (CF_CHAR | CF_FORCECHAR);
+        g_save (CF_CHAR | CF_FORCECHAR);
     }
 
     /* Get the first symbol from the function symbol table */
@@ -363,7 +363,7 @@ static void F_RestoreRegVars (Function* F)
 
     /* Restore the accumulator if needed */
     if (!F_HasVoidReturn (F)) {
-       g_restore (CF_CHAR | CF_FORCECHAR);
+        g_restore (CF_CHAR | CF_FORCECHAR);
     }
 }
 
@@ -387,7 +387,7 @@ static void F_EmitDebugInfo (void)
 
 
 /*****************************************************************************/
-/*                                          code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
@@ -420,12 +420,12 @@ void NewFunc (SymEntry* Func)
      */
     AddConstSym ("__fixargs__", type_uint, SC_DEF | SC_CONST, D->ParamSize);
     if (D->Flags & FD_VARIADIC) {
-       /* Variadic function. The variable must be const. */
-       static const Type T[] = { TYPE(T_UCHAR | T_QUAL_CONST), TYPE(T_END) };
-       AddLocalSym ("__argsize__", T, SC_DEF | SC_REF | SC_AUTO, 0);
+        /* Variadic function. The variable must be const. */
+        static const Type T[] = { TYPE(T_UCHAR | T_QUAL_CONST), TYPE(T_END) };
+        AddLocalSym ("__argsize__", T, SC_DEF | SC_REF | SC_AUTO, 0);
     } else {
-       /* Non variadic */
-               AddConstSym ("__argsize__", type_uchar, SC_DEF | SC_CONST, D->ParamSize);
+        /* Non variadic */
+        AddConstSym ("__argsize__", type_uchar, SC_DEF | SC_CONST, D->ParamSize);
     }
 
     /* Function body now defined */
@@ -480,19 +480,19 @@ void NewFunc (SymEntry* Func)
     /* If this is a fastcall function, push the last parameter onto the stack */
     if (IsQualFastcall (Func->Type) && D->ParamCount > 0) {
 
-       unsigned Flags;
+        unsigned Flags;
 
-       /* Fastcall functions may never have an ellipsis or the compiler is buggy */
-       CHECK ((D->Flags & FD_VARIADIC) == 0);
+        /* Fastcall functions may never have an ellipsis or the compiler is buggy */
+        CHECK ((D->Flags & FD_VARIADIC) == 0);
 
-       /* Generate the push */
-       if (IsTypeFunc (D->LastParam->Type)) {
-           /* Pointer to function */
-           Flags = CF_PTR;
-       } else {
-           Flags = TypeOf (D->LastParam->Type) | CF_FORCECHAR;
-       }
-       g_push (Flags, 0);
+        /* Generate the push */
+        if (IsTypeFunc (D->LastParam->Type)) {
+            /* Pointer to function */
+            Flags = CF_PTR;
+        } else {
+            Flags = TypeOf (D->LastParam->Type) | CF_FORCECHAR;
+        }
+        g_push (Flags, 0);
     }
 
     /* Generate function entry code if needed */
@@ -500,7 +500,7 @@ void NewFunc (SymEntry* Func)
 
     /* If stack checking code is requested, emit a call to the helper routine */
     if (IS_Get (&CheckStack)) {
-       g_stackcheck ();
+        g_stackcheck ();
     }
 
     /* Setup the stack */
index 87f61268d7a29a8fd0a8cc6c260210bf2ccf5249..b70389372642a46bbbd9bc09a2c917a6b0d4ccc0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               function.h                                 */
+/*                                function.h                                 */
 /*                                                                           */
-/*                           Function management                            */
+/*                            Function management                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ extern Function* CurrentFunc;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 4884283f393298a2378de82e26a5ddc6f2b7d91d..a6d752b27aeb5029f30666d89db5f995304e7d33 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*                Global variables for the cc65 C compiler                  */
+/*                 Global variables for the cc65 C compiler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-unsigned char AddSource                = 0;    /* Add source lines as comments */
-unsigned char DebugInfo                = 0;    /* Add debug info to the obj */
+unsigned char AddSource         = 0;    /* Add source lines as comments */
+unsigned char DebugInfo         = 0;    /* Add debug info to the obj */
 unsigned char PreprocessOnly    = 0;    /* Just preprocess the input */
 unsigned char DebugOptOutput    = 0;    /* Output debug stuff */
 unsigned      RegisterSpace     = 6;    /* Space available for register vars */
@@ -59,8 +59,8 @@ IntStack RegVarsToCallStack = INTSTACK(0);  /* Save reg variables on call stack
 IntStack StaticLocals       = INTSTACK(0);  /* Make local variables static */
 IntStack SignedChars        = INTSTACK(0);  /* Make characters signed by default */
 IntStack CheckStack         = INTSTACK(0);  /* Generate stack overflow checks */
-IntStack Optimize                  = INTSTACK(0);  /* Optimize flag */
-IntStack CodeSizeFactor            = INTSTACK(100);/* Size factor for generated code */
+IntStack Optimize           = INTSTACK(0);  /* Optimize flag */
+IntStack CodeSizeFactor     = INTSTACK(100);/* Size factor for generated code */
 IntStack DataAlignment      = INTSTACK(1);  /* Alignment for data */
 
 /* File names */
index dc624b0da29662d5fc32c719a1fdbe319ad6f919..b9c15a26ed8fe95764e3afb99d83bdc0aaf77224 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*                Global variables for the cc65 C compiler                  */
+/*                 Global variables for the cc65 C compiler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Options */
-extern unsigned char   AddSource;              /* Add source lines as comments */
-extern unsigned char   DebugInfo;              /* Add debug info to the obj */
+extern unsigned char    AddSource;              /* Add source lines as comments */
+extern unsigned char    DebugInfo;              /* Add debug info to the obj */
 extern unsigned char    PreprocessOnly;         /* Just preprocess the input */
 extern unsigned char    DebugOptOutput;         /* Output debug stuff */
 extern unsigned         RegisterSpace;          /* Space available for register vars */
 
 /* Stackable options */
-extern IntStack         WritableStrings;       /* Literal strings are r/w */
+extern IntStack         WritableStrings;        /* Literal strings are r/w */
 extern IntStack         LocalStrings;           /* Emit string literals immediately */
-extern IntStack         InlineStdFuncs;                /* Inline some known functions */
-extern IntStack         EnableRegVars;         /* Enable register variables */
-extern IntStack         AllowRegVarAddr;       /* Allow taking addresses of register vars */
-extern IntStack         RegVarsToCallStack;    /* Save reg variables on call stack */
-extern IntStack         StaticLocals;          /* Make local variables static */
-extern IntStack         SignedChars;           /* Make characters signed by default */
-extern IntStack         CheckStack;            /* Generate stack overflow checks */
-extern IntStack         Optimize;              /* Optimize flag */
-extern IntStack         CodeSizeFactor;                /* Size factor for generated code */
+extern IntStack         InlineStdFuncs;         /* Inline some known functions */
+extern IntStack         EnableRegVars;          /* Enable register variables */
+extern IntStack         AllowRegVarAddr;        /* Allow taking addresses of register vars */
+extern IntStack         RegVarsToCallStack;     /* Save reg variables on call stack */
+extern IntStack         StaticLocals;           /* Make local variables static */
+extern IntStack         SignedChars;            /* Make characters signed by default */
+extern IntStack         CheckStack;             /* Generate stack overflow checks */
+extern IntStack         Optimize;               /* Optimize flag */
+extern IntStack         CodeSizeFactor;         /* Size factor for generated code */
 extern IntStack         DataAlignment;          /* Alignment for data */
 
 /* File names */
index 33d056f9a1551b70863af7cc976e82c1ddceb92e..6f12c145b5a41617b55765c7b9165a3b1ab8a1b3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 goto.c                                   */
+/*                                  goto.c                                   */
 /*                                                                           */
-/*             Goto and label handling for the cc65 C compiler              */
+/*              Goto and label handling for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -56,15 +56,15 @@ void GotoStatement (void)
     /* Label name must follow */
     if (CurTok.Tok != TOK_IDENT) {
 
-               Error ("Label name expected");
+        Error ("Label name expected");
 
     } else {
 
-       /* Add a new label symbol if we don't have one until now */
-       SymEntry* Entry = AddLabelSym (CurTok.Ident, SC_REF);
+        /* Add a new label symbol if we don't have one until now */
+        SymEntry* Entry = AddLabelSym (CurTok.Ident, SC_REF);
 
-       /* Jump to the label */
-       g_jump (Entry->V.Label);
+        /* Jump to the label */
+        g_jump (Entry->V.Label);
     }
 
     /* Eat the label name */
index 3ec95e5421aa7b78ae1a887e69dd9d53df63e67c..a887b0eaa99037106fa24ccfc84e5080552abe31 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 goto.h                                   */
+/*                                  goto.h                                   */
 /*                                                                           */
-/*             Goto and label handling for the cc65 C compiler              */
+/*              Goto and label handling for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 21c8ef8b8861fe799aefb69d6f170a6eee4d0060..aaedf68ce9eba3ee4b8a7a3d84cf5f168eab944d 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -54,12 +54,12 @@ unsigned HexVal (int C)
  */
 {
     if (!IsXDigit (C)) {
-       Error ("Invalid hexadecimal digit: `%c'", C);
+        Error ("Invalid hexadecimal digit: `%c'", C);
     }
     if (IsDigit (C)) {
-       return C - '0';
+        return C - '0';
     } else {
-               return toupper (C) - 'A' + 10;
+        return toupper (C) - 'A' + 10;
     }
 }
 
index edba95bf4209adfa1abc79117c8bfde1fd6f1954..770ed5ce547dc3a26029d14c05d9ccae3a6950f2 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f29f06a7432ecf31b729720f7c6d3d9d845b9d4f..fac69bd0a40808023adbdf59b5ab7f433705ee46 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 ident.c                                  */
+/*                                  ident.c                                  */
 /*                                                                           */
-/*                Identifier handling for the cc65 compiler                 */
+/*                 Identifier handling for the cc65 compiler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 /* common */
 #include "chartype.h"
-                    
+                     
 /* cc65 */
 #include "ident.h"
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f4db625d7da8300744df032eae6fba175ee995b4..d470e198bb448773bb2ed948b310cea4104104f3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 ident.h                                  */
+/*                                  ident.h                                  */
 /*                                                                           */
-/*                Identifier handling for the cc65 compiler                 */
+/*                 Identifier handling for the cc65 compiler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Maximum length of an identifier and the corresponding char array */
-#define MAX_IDENTLEN   64
-#define        IDENTSIZE       (MAX_IDENTLEN+1)
+#define MAX_IDENTLEN    64
+#define IDENTSIZE       (MAX_IDENTLEN+1)
 
 /* Variable that holds an identifer */
 typedef char ident [IDENTSIZE];
@@ -54,7 +54,7 @@ typedef char ident [IDENTSIZE];
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2a9058ad06f2ce42468a06c262f47b9af8211fe5..7a4b31e941a012af419f490a8892d7f5b337864d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                incpath.c                                 */
+/*                                 incpath.c                                 */
 /*                                                                           */
-/*                     Include path handling for cc65                       */
+/*                      Include path handling for cc65                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ SearchPath*     UsrIncSearchPath;       /* User include path */
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index dc109674dc0c577fc54d34afe160b01ad5458677..ed8ba50ccac84bea29e55617b191646b3acec04a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                incpath.h                                 */
+/*                                 incpath.h                                 */
 /*                                                                           */
-/*                     Include path handling for cc65                       */
+/*                      Include path handling for cc65                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ extern SearchPath*      UsrIncSearchPath;       /* User include path */
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a1ef9ec9839621c94fa8314e0cff74ae2092d008..a98c72e4f2e014a29e8c0e893e1699598d4396ea 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 input.c                                  */
+/*                                  input.c                                  */
 /*                                                                           */
-/*                           Input file handling                            */
+/*                            Input file handling                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -58,7 +58,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -71,24 +71,24 @@ char CurC  = '\0';
 char NextC = '\0';
 
 /* Maximum count of nested includes */
-#define MAX_INC_NESTING        16
+#define MAX_INC_NESTING         16
 
 /* Struct that describes an input file */
 typedef struct IFile IFile;
 struct IFile {
-    unsigned       Index;      /* File index */
-    unsigned       Usage;      /* Usage counter */
+    unsigned        Index;      /* File index */
+    unsigned        Usage;      /* Usage counter */
     unsigned long   Size;       /* File size */
     unsigned long   MTime;      /* Time of last modification */
     InputType       Type;       /* Type of input file */
-    char                   Name[1];    /* Name of file (dynamically allocated) */
+    char            Name[1];    /* Name of file (dynamically allocated) */
 };
 
 /* Struct that describes an active input file */
 typedef struct AFile AFile;
 struct AFile {
-    unsigned   Line;           /* Line number for this file */
-    FILE*      F;              /* Input file stream */
+    unsigned    Line;           /* Line number for this file */
+    FILE*       F;              /* Input file stream */
     IFile*      Input;          /* Points to corresponding IFile */
     int         SearchPath;     /* True if we've added a path for this file */
 };
@@ -105,7 +105,7 @@ static Collection InputStack = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                              struct IFile                                */
+/*                               struct IFile                                */
 /*****************************************************************************/
 
 
@@ -137,7 +137,7 @@ static IFile* NewIFile (const char* Name, InputType Type)
 
 
 /*****************************************************************************/
-/*                              struct AFile                                */
+/*                               struct AFile                                */
 /*****************************************************************************/
 
 
@@ -163,7 +163,7 @@ static AFile* NewAFile (IFile* IF, FILE* F)
      */
     if (IF->Usage++ == 0) {
 
-       /* Get file size and modification time. There a race condition here,
+        /* Get file size and modification time. There a race condition here,
          * since we cannot use fileno() (non standard identifier in standard
          * header file), and therefore not fstat. When using stat with the
          * file name, there's a risk that the file was deleted and recreated
@@ -171,16 +171,16 @@ static AFile* NewAFile (IFile* IF, FILE* F)
          * if a file has changed in the debugger, we will ignore this problem
          * here.
          */
-       struct stat Buf;
-       if (FileStat (IF->Name, &Buf) != 0) {
-           /* Error */
-           Fatal ("Cannot stat `%s': %s", IF->Name, strerror (errno));
-       }
-               IF->Size  = (unsigned long) Buf.st_size;
-       IF->MTime = (unsigned long) Buf.st_mtime;
-
-       /* Set the debug data */
-       g_fileinfo (IF->Name, IF->Size, IF->MTime);
+        struct stat Buf;
+        if (FileStat (IF->Name, &Buf) != 0) {
+            /* Error */
+            Fatal ("Cannot stat `%s': %s", IF->Name, strerror (errno));
+        }
+        IF->Size  = (unsigned long) Buf.st_size;
+        IF->MTime = (unsigned long) Buf.st_mtime;
+
+        /* Set the debug data */
+        g_fileinfo (IF->Name, IF->Size, IF->MTime);
     }
 
     /* Insert the new structure into the AFile collection */
@@ -210,7 +210,7 @@ static void FreeAFile (AFile* AF)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -223,13 +223,13 @@ static IFile* FindFile (const char* Name)
 {
     unsigned I;
     for (I = 0; I < CollCount (&IFiles); ++I) {
-       /* Get the file struct */
-       IFile* IF = (IFile*) CollAt (&IFiles, I);
-       /* Check the name */
-       if (strcmp (Name, IF->Name) == 0) {
-           /* Found, return the struct */
-           return IF;
-               }
+        /* Get the file struct */
+        IFile* IF = (IFile*) CollAt (&IFiles, I);
+        /* Check the name */
+        if (strcmp (Name, IF->Name) == 0) {
+            /* Found, return the struct */
+            return IF;
+        }
     }
 
     /* Not found */
@@ -250,8 +250,8 @@ void OpenMainFile (const char* Name)
     /* Open the file for reading */
     FILE* F = fopen (Name, "r");
     if (F == 0) {
-               /* Cannot open */
-               Fatal ("Cannot open input file `%s': %s", Name, strerror (errno));
+        /* Cannot open */
+        Fatal ("Cannot open input file `%s': %s", Name, strerror (errno));
     }
 
     /* Allocate a new AFile structure for the file */
@@ -277,15 +277,15 @@ void OpenIncludeFile (const char* Name, InputType IT)
 
     /* Check for the maximum include nesting */
     if (CollCount (&AFiles) > MAX_INC_NESTING) {
-       PPError ("Include nesting too deep");
-       return;
+        PPError ("Include nesting too deep");
+        return;
     }
 
     /* Search for the file */
     N = SearchFile ((IT == IT_SYSINC)? SysIncSearchPath : UsrIncSearchPath, Name);
     if (N == 0) {
-       PPError ("Include file `%s' not found", Name);
-       return;
+        PPError ("Include file `%s' not found", Name);
+        return;
     }
 
     /* Search the list of all input files for this file. If we don't find
@@ -293,7 +293,7 @@ void OpenIncludeFile (const char* Name, InputType IT)
      */
     IF = FindFile (N);
     if (IF == 0) {
-       IF = NewIFile (N, IT);
+        IF = NewIFile (N, IT);
     }
 
     /* We don't need N any longer, since we may now use IF->Name */
@@ -302,9 +302,9 @@ void OpenIncludeFile (const char* Name, InputType IT)
     /* Open the file */
     F = fopen (IF->Name, "r");
     if (F == 0) {
-       /* Error opening the file */
-       PPError ("Cannot open include file `%s': %s", IF->Name, strerror (errno));
-       return;
+        /* Error opening the file */
+        PPError ("Cannot open include file `%s': %s", IF->Name, strerror (errno));
+        return;
     }
 
     /* Debugging output */
@@ -438,14 +438,14 @@ StrBuf* InitLine (StrBuf* Buf)
 int NextLine (void)
 /* Get a line from the current input. Returns 0 on end of file. */
 {
-    AFile*             Input;
+    AFile*      Input;
 
     /* Clear the current line */
     ClearLine ();
 
     /* If there is no file open, bail out, otherwise get the current input file */
     if (CollCount (&AFiles) == 0) {
-       return 0;
+        return 0;
     }
     Input = CollLast (&AFiles);
 
@@ -464,8 +464,8 @@ int NextLine (void)
                 break;
             }
 
-           /* Leave the current file */
-           CloseIncludeFile ();
+            /* Leave the current file */
+            CloseIncludeFile ();
 
             /* If there is no file open, bail out, otherwise get the
              * previous input file and start over.
@@ -536,17 +536,17 @@ const char* GetCurrentFile (void)
 {
     unsigned AFileCount = CollCount (&AFiles);
     if (AFileCount > 0) {
-       const AFile* AF = (const AFile*) CollAt (&AFiles, AFileCount-1);
-       return AF->Input->Name;
+        const AFile* AF = (const AFile*) CollAt (&AFiles, AFileCount-1);
+        return AF->Input->Name;
     } else {
-       /* No open file. Use the main file if we have one. */
-       unsigned IFileCount = CollCount (&IFiles);
-       if (IFileCount > 0) {
-           const IFile* IF = (const IFile*) CollAt (&IFiles, 0);
-           return IF->Name;
-       } else {
-           return "(outside file scope)";
-       }
+        /* No open file. Use the main file if we have one. */
+        unsigned IFileCount = CollCount (&IFiles);
+        if (IFileCount > 0) {
+            const IFile* IF = (const IFile*) CollAt (&IFiles, 0);
+            return IF->Name;
+        } else {
+            return "(outside file scope)";
+        }
     }
 }
 
@@ -557,11 +557,11 @@ unsigned GetCurrentLine (void)
 {
     unsigned AFileCount = CollCount (&AFiles);
     if (AFileCount > 0) {
-       const AFile* AF = (const AFile*) CollAt (&AFiles, AFileCount-1);
-       return AF->Line;
+        const AFile* AF = (const AFile*) CollAt (&AFiles, AFileCount-1);
+        return AF->Line;
     } else {
-       /* No open file */
-       return 0;
+        /* No open file */
+        return 0;
     }
 }
 
@@ -591,20 +591,20 @@ static void WriteDep (FILE* F, InputType Types)
     unsigned FileCount = CollCount (&IFiles);
     for (I = 0; I < FileCount; ++I) {
 
-       /* Get the next input file */
-       const IFile* IF = (const IFile*) CollAt (&IFiles, I);
+        /* Get the next input file */
+        const IFile* IF = (const IFile*) CollAt (&IFiles, I);
 
         /* Ignore it if it is not of the correct type */
         if ((IF->Type & Types) == 0) {
             continue;
         }
 
-       /* If this is not the first file, add a space */
-               if (I > 0) {
+        /* If this is not the first file, add a space */
+        if (I > 0) {
             fputc (' ', F);
         }
 
-       /* Print the dependency escaping spaces */
+        /* Print the dependency escaping spaces */
         WriteEscaped (F, IF->Name);
     }
 }
@@ -619,7 +619,7 @@ static void CreateDepFile (const char* Name, InputType Types)
     /* Open the file */
     FILE* F = fopen (Name, "w");
     if (F == 0) {
-               Fatal ("Cannot open dependency file `%s': %s", Name, strerror (errno));
+        Fatal ("Cannot open dependency file `%s': %s", Name, strerror (errno));
     }
 
     /* If a dependency target was given, use it, otherwise use the output
@@ -642,8 +642,8 @@ static void CreateDepFile (const char* Name, InputType Types)
 
     /* Close the file, check for errors */
     if (fclose (F) != 0) {
-       remove (Name);
-       Fatal ("Cannot write to dependeny file (disk full?)");
+        remove (Name);
+        Fatal ("Cannot write to dependeny file (disk full?)");
     }
 }
 
index dfa0ad03b92eaabd56bfa7b863fde985cc1682cc..4d2fd7fb1b157c5752433ed7bcc76e1a63feb8e3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 input.h                                  */
+/*                                  input.h                                  */
 /*                                                                           */
-/*                           Input file handling                            */
+/*                            Input file handling                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
@@ -73,7 +73,7 @@ extern char NextC;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e99d5201f69f6a6856bf14de495f6083982ffbfe..342fce96931d2ba308fbab63fc5309206cd217b2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               lineinfo.c                                 */
+/*                                lineinfo.c                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -59,7 +59,7 @@ static LineInfo* CurLineInfo = 0;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -78,7 +78,7 @@ static LineInfo* NewLineInfo (struct IFile* F, unsigned LineNum, const StrBuf* L
 
     /* Skip leading spaces in Line */
     while (Len > 0 && IsBlank (*S)) {
-               ++S;
+        ++S;
         --Len;
     }
 
@@ -96,13 +96,13 @@ static LineInfo* NewLineInfo (struct IFile* F, unsigned LineNum, const StrBuf* L
      */
     T = LI->Line;
     while (Len--) {
-               if (*S == '\t') {
-                   *T = ' ';
-               } else {
-                   *T = *S;
-               }
-               ++S;
-               ++T;
+        if (*S == '\t') {
+            *T = ' ';
+        } else {
+            *T = *S;
+        }
+        ++S;
+        ++T;
     }
 
     /* Add the terminator */
@@ -139,8 +139,8 @@ void ReleaseLineInfo (LineInfo* LI)
 {
     CHECK (LI && LI->RefCount > 0);
     if (--LI->RefCount == 0) {
-       /* No more references, free it */
-       FreeLineInfo (LI);
+        /* No more references, free it */
+        FreeLineInfo (LI);
     }
 }
 
@@ -161,14 +161,14 @@ void UpdateLineInfo (struct IFile* F, unsigned LineNum, const StrBuf* Line)
 {
     /* If a current line info exists, release it */
     if (CurLineInfo) {
-       ReleaseLineInfo (CurLineInfo);
+        ReleaseLineInfo (CurLineInfo);
     }
 
     /* If we have intermixed assembly switched off, use an empty line instead
      * of the supplied one to save some memory.
      */
     if (!AddSource) {
-       Line = &EmptyStrBuf;
+        Line = &EmptyStrBuf;
     }
 
     /* Create a new line info */
index 6d0f2d05c08cd62a1c1ec5fc2ceaa5da389de821..3ecd0ce84b2de6b4e727237e32ddfe4932c4f59f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               lineinfo.h                                 */
+/*                                lineinfo.h                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ struct IFile;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -65,7 +65,7 @@ struct IFile;
  */
 typedef struct LineInfo LineInfo;
 struct LineInfo {
-    unsigned               RefCount;             /* Reference counter */
+    unsigned        RefCount;             /* Reference counter */
     struct IFile*   InputFile;            /* Input file for this line */
     unsigned        LineNum;              /* Line number */
     char            Line[1];              /* Source code line */
@@ -74,7 +74,7 @@ struct LineInfo {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cf826132037224d32272304cf581077a0382256c..013c6ad4a4f75654ea15b504103ed197d4152a7f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                litpool.c                                 */
+/*                                 litpool.c                                 */
 /*                                                                           */
-/*             Literal string handling for the cc65 C compiler              */
+/*              Literal string handling for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -215,7 +215,7 @@ unsigned GetLiteralSize (const Literal* L)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -347,7 +347,7 @@ static void OutputWritableLiterals (Collection* Literals)
 
     /* If nothing there, exit... */
     if (CollCount (Literals) == 0) {
-       return;
+        return;
     }
 
     /* Switch to the correct segment */
@@ -376,7 +376,7 @@ static void OutputReadOnlyLiterals (Collection* Literals)
 
     /* If nothing there, exit... */
     if (CollCount (Literals) == 0) {
-       return;
+        return;
     }
 
     /* Switch to the correct segment */
index a71c5841447ffe4aa2ce0f1a842e264967ce434d..7a771d5eb252caa34c155a9aa8dd2d84f7285911 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                litpool.h                                 */
+/*                                 litpool.h                                 */
 /*                                                                           */
-/*             Literal string handling for the cc65 C compiler              */
+/*              Literal string handling for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -92,7 +92,7 @@ unsigned GetLiteralSize (const Literal* L);
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 99c5684d16f4242245b53b969377fb915ca31a24..d3c190b13624569579d8000facb0ec58be73177c 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -53,38 +53,38 @@ static void LoadConstant (unsigned Flags, ExprDesc* Expr)
 {
     switch (ED_GetLoc (Expr)) {
 
-               case E_LOC_ABS:
-           /* Number constant */
-                   g_getimmed (Flags | TypeOf (Expr->Type) | CF_CONST, Expr->IVal, 0);
-                   break;
+        case E_LOC_ABS:
+            /* Number constant */
+            g_getimmed (Flags | TypeOf (Expr->Type) | CF_CONST, Expr->IVal, 0);
+            break;
 
         case E_LOC_GLOBAL:
-                   /* Global symbol, load address */
-           g_getimmed ((Flags | CF_EXTERNAL) & ~CF_CONST, Expr->Name, Expr->IVal);
-                   break;
-
-               case E_LOC_STATIC:
-               case E_LOC_LITERAL:
-                   /* Static symbol or literal, load address */
-                   g_getimmed ((Flags | CF_STATIC) & ~CF_CONST, Expr->Name, Expr->IVal);
-                   break;
-
-               case E_LOC_REGISTER:
-           /* Register variable. Taking the address is usually not
-            * allowed.
-            */
-           if (IS_Get (&AllowRegVarAddr) == 0) {
-               Error ("Cannot take the address of a register variable");
-           }
-                   g_getimmed ((Flags | CF_REGVAR) & ~CF_CONST, Expr->Name, Expr->IVal);
-           break;
-
-       case E_LOC_STACK:
-                   g_leasp (Expr->IVal);
-           break;
-
-               default:
-           Internal ("Unknown constant type: %04X", Expr->Flags);
+            /* Global symbol, load address */
+            g_getimmed ((Flags | CF_EXTERNAL) & ~CF_CONST, Expr->Name, Expr->IVal);
+            break;
+
+        case E_LOC_STATIC:
+        case E_LOC_LITERAL:
+            /* Static symbol or literal, load address */
+            g_getimmed ((Flags | CF_STATIC) & ~CF_CONST, Expr->Name, Expr->IVal);
+            break;
+
+        case E_LOC_REGISTER:
+            /* Register variable. Taking the address is usually not
+             * allowed.
+             */
+            if (IS_Get (&AllowRegVarAddr) == 0) {
+                Error ("Cannot take the address of a register variable");
+            }
+            g_getimmed ((Flags | CF_REGVAR) & ~CF_CONST, Expr->Name, Expr->IVal);
+            break;
+
+        case E_LOC_STACK:
+            g_leasp (Expr->IVal);
+            break;
+
+        default:
+            Internal ("Unknown constant type: %04X", Expr->Flags);
     }
 }
 
@@ -95,7 +95,7 @@ void LoadExpr (unsigned Flags, struct ExprDesc* Expr)
 {
     if (ED_IsLVal (Expr)) {
 
-               /* Dereferenced lvalue. If this is a bit field its type is unsigned.
+        /* Dereferenced lvalue. If this is a bit field its type is unsigned.
          * But if the field is completely contained in the lower byte, we will
          * throw away the high byte anyway and may therefore load just the
          * low byte.
@@ -106,9 +106,9 @@ void LoadExpr (unsigned Flags, struct ExprDesc* Expr)
         } else {
             Flags |= TypeOf (Expr->Type);
         }
-       if (ED_NeedsTest (Expr)) {
-           Flags |= CF_TEST;
-       }
+        if (ED_NeedsTest (Expr)) {
+            Flags |= CF_TEST;
+        }
 
         switch (ED_GetLoc (Expr)) {
 
@@ -173,8 +173,8 @@ void LoadExpr (unsigned Flags, struct ExprDesc* Expr)
         ED_TestDone (Expr);
 
     } else {
-       /* An rvalue */
-               if (ED_IsLocExpr (Expr)) {
+        /* An rvalue */
+        if (ED_IsLocExpr (Expr)) {
             if (Expr->IVal != 0) {
                 /* We have an expression in the primary plus a constant
                  * offset. Adjust the value in the primary accordingly.
@@ -182,10 +182,10 @@ void LoadExpr (unsigned Flags, struct ExprDesc* Expr)
                 Flags |= TypeOf (Expr->Type);
                 g_inc (Flags | CF_CONST, Expr->IVal);
             }
-       } else {
-           /* Constant of some sort, load it into the primary */
-           LoadConstant (Flags, Expr);
-       }
+        } else {
+            /* Constant of some sort, load it into the primary */
+            LoadConstant (Flags, Expr);
+        }
 
         /* Are we testing this value? */
         if (ED_NeedsTest (Expr)) {
index 96485a2c785272e0244fb4115c7ccc8b9c08ca80..acd570f1fd682ea8ca25b679f14b5d9fbb65b9d7 100644 (file)
@@ -49,7 +49,7 @@ struct ExprDesc;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 20b6b511eb4ff7fed2782a1fc064c1b9f1b4c5e0..bdc0df9065741296a79fbe09f847a2e4a0a92889 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                locals.c                                  */
+/*                                 locals.c                                  */
 /*                                                                           */
-/*             Local variable handling for the cc65 C compiler              */
+/*              Local variable handling for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -56,7 +56,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -411,7 +411,7 @@ static void ParseStaticDecl (Declaration* Decl)
 static void ParseOneDecl (const DeclSpec* Spec)
 /* Parse one variable declaration */
 {
-    Declaration Decl;          /* Declaration data structure */
+    Declaration Decl;           /* Declaration data structure */
 
 
     /* Read the declaration */
@@ -419,23 +419,23 @@ static void ParseOneDecl (const DeclSpec* Spec)
 
     /* Set the correct storage class for functions */
     if ((Decl.StorageClass & SC_FUNC) == SC_FUNC) {
-       /* Function prototypes are always external */
-               if ((Decl.StorageClass & SC_EXTERN) == 0) {
-                   Warning ("Function must be extern");
-       }
-               Decl.StorageClass |= SC_EXTERN;
+        /* Function prototypes are always external */
+        if ((Decl.StorageClass & SC_EXTERN) == 0) {
+            Warning ("Function must be extern");
+        }
+        Decl.StorageClass |= SC_EXTERN;
     }
 
     /* If we don't have a name, this was flagged as an error earlier.
      * To avoid problems later, use an anonymous name here.
      */
     if (Decl.Ident[0] == '\0') {
-               AnonName (Decl.Ident, "param");
+        AnonName (Decl.Ident, "param");
     }
 
     /* If the symbol is not marked as external, it will be defined now */
     if ((Decl.StorageClass & SC_EXTERN) == 0) {
-               Decl.StorageClass |= SC_DEF;
+        Decl.StorageClass |= SC_DEF;
     }
 
     /* Handle anything that needs storage (no functions, no typdefs) */
@@ -456,7 +456,7 @@ static void ParseOneDecl (const DeclSpec* Spec)
         if ((Decl.StorageClass & SC_REGISTER) == SC_REGISTER) {
             /* Register variable */
             ParseRegisterDecl (&Decl, Reg);
-               } else if ((Decl.StorageClass & SC_AUTO) == SC_AUTO) {
+        } else if ((Decl.StorageClass & SC_AUTO) == SC_AUTO) {
             /* Auto variable */
             ParseAutoDecl (&Decl);
         } else if ((Decl.StorageClass & SC_EXTERN) == SC_EXTERN) {
@@ -466,10 +466,10 @@ static void ParseOneDecl (const DeclSpec* Spec)
             }
             /* Add the external symbol to the symbol table */
             AddLocalSym (Decl.Ident, Decl.Type, Decl.StorageClass, 0);
-               } else if ((Decl.StorageClass & SC_STATIC) == SC_STATIC) {
+        } else if ((Decl.StorageClass & SC_STATIC) == SC_STATIC) {
             /* Static variable */
             ParseStaticDecl (&Decl);
-               } else {
+        } else {
             Internal ("Invalid storage class in ParseOneDecl: %04X", Decl.StorageClass);
         }
 
@@ -492,47 +492,47 @@ void DeclareLocals (void)
     /* Loop until we don't find any more variables */
     while (1) {
 
-       /* Check variable declarations. We need to distinguish between a
-        * default int type and the end of variable declarations. So we
-        * will do the following: If there is no explicit storage class
-        * specifier *and* no explicit type given, *and* no type qualifiers
+        /* Check variable declarations. We need to distinguish between a
+         * default int type and the end of variable declarations. So we
+         * will do the following: If there is no explicit storage class
+         * specifier *and* no explicit type given, *and* no type qualifiers
          * have been read, it is assumed that we have reached the end of
          * declarations.
-        */
-       DeclSpec Spec;
-       ParseDeclSpec (&Spec, SC_AUTO, T_INT);
-               if ((Spec.Flags & DS_DEF_STORAGE) != 0 &&       /* No storage spec */
+         */
+        DeclSpec Spec;
+        ParseDeclSpec (&Spec, SC_AUTO, T_INT);
+        if ((Spec.Flags & DS_DEF_STORAGE) != 0 &&       /* No storage spec */
             (Spec.Flags & DS_DEF_TYPE) != 0    &&       /* No type given */
             GetQualifier (Spec.Type) == T_QUAL_NONE) {  /* No type qualifier */
-           break;
-       }
-
-       /* Accept type only declarations */
-       if (CurTok.Tok == TOK_SEMI) {
-           /* Type declaration only */
-           CheckEmptyDecl (&Spec);
-           NextToken ();
-           continue;
-       }
-
-       /* Parse a comma separated variable list */
-       while (1) {
-
-           /* Parse one declaration */
-           ParseOneDecl (&Spec);
-
-           /* Check if there is more */
-           if (CurTok.Tok == TOK_COMMA) {
-               /* More to come */
-               NextToken ();
-           } else {
-               /* Done */
-               break;
-           }
-               }
-
-       /* A semicolon must follow */
-       ConsumeSemi ();
+            break;
+        }
+
+        /* Accept type only declarations */
+        if (CurTok.Tok == TOK_SEMI) {
+            /* Type declaration only */
+            CheckEmptyDecl (&Spec);
+            NextToken ();
+            continue;
+        }
+
+        /* Parse a comma separated variable list */
+        while (1) {
+
+            /* Parse one declaration */
+            ParseOneDecl (&Spec);
+
+            /* Check if there is more */
+            if (CurTok.Tok == TOK_COMMA) {
+                /* More to come */
+                NextToken ();
+            } else {
+                /* Done */
+                break;
+            }
+        }
+
+        /* A semicolon must follow */
+        ConsumeSemi ();
     }
 
     /* Be sure to allocate any reserved space for locals */
@@ -542,7 +542,7 @@ void DeclareLocals (void)
      * the stack checking routine if stack checks are enabled.
      */
     if (IS_Get (&CheckStack) && InitialStack != StackPtr) {
-               g_cstackcheck ();
+        g_cstackcheck ();
     }
 }
 
index d077e7b261cc82505d9c094b38fda5de24167d74..d47cb6725e57c41374a9af7e294369a75ed3a5bd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                locals.h                                  */
+/*                                 locals.h                                  */
 /*                                                                           */
-/*             Local variable handling for the cc65 C compiler              */
+/*              Local variable handling for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f2925e0cb0614debac98da719cb374b166f6e278..4a3cdd8827a34b3216e11da873f140168189b833 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 loop.c                                   */
+/*                                  loop.c                                   */
 /*                                                                           */
-/*                             Loop management                              */
+/*                              Loop management                              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -56,7 +56,7 @@ static LoopDesc* LoopStack = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -68,9 +68,9 @@ LoopDesc* AddLoop (unsigned BreakLabel, unsigned ContinueLabel)
     LoopDesc* L = xmalloc (sizeof (LoopDesc));
 
     /* Fill in the data */
-    L->StackPtr                = StackPtr;
+    L->StackPtr         = StackPtr;
     L->BreakLabel       = BreakLabel;
-    L->ContinueLabel           = ContinueLabel;
+    L->ContinueLabel    = ContinueLabel;
 
     /* Insert it into the list */
     L->Next = LoopStack;
index c8660fb69997f62ce1ca5e72ef0413c87a440f14..f24a3ef9fe5c47439c40613b4bc939661ccabf54 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 loop.h                                   */
+/*                                  loop.h                                   */
 /*                                                                           */
-/*                             Loop management                              */
+/*                              Loop management                              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
 
 typedef struct LoopDesc LoopDesc;
 struct LoopDesc {
-    LoopDesc*  Next;
-    unsigned   StackPtr;
-    unsigned           BreakLabel;
-    unsigned   ContinueLabel;
+    LoopDesc*   Next;
+    unsigned    StackPtr;
+    unsigned    BreakLabel;
+    unsigned    ContinueLabel;
 };
 
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
index d0b18bdf14060be619f9616ff5f503e3dc9dc381..acb532ac4a887fb5e153625e460e29d9f3e2181f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               macrotab.h                                 */
+/*                                macrotab.h                                 */
 /*                                                                           */
-/*            Preprocessor macro table for the cc65 C compiler              */
+/*             Preprocessor macro table for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
 
 /* The macro hash table */
-#define MACRO_TAB_SIZE 211
+#define MACRO_TAB_SIZE  211
 static Macro* MacroTab[MACRO_TAB_SIZE];
 
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
@@ -76,10 +76,10 @@ Macro* NewMacro (const char* Name)
     Macro* M = (Macro*) xmalloc (sizeof(Macro) + Len);
 
     /* Initialize the data */
-    M->Next       = 0;
+    M->Next        = 0;
     M->Expanding   = 0;
-    M->ArgCount    = -1;       /* Flag: Not a function like macro */
-    M->MaxArgs    = 0;
+    M->ArgCount    = -1;        /* Flag: Not a function like macro */
+    M->MaxArgs     = 0;
     InitCollection (&M->FormalArgs);
     SB_Init (&M->Replacement);
     M->Variadic    = 0;
@@ -99,7 +99,7 @@ void FreeMacro (Macro* M)
     unsigned I;
 
     for (I = 0; I < CollCount (&M->FormalArgs); ++I) {
-       xfree (CollAtUnchecked (&M->FormalArgs, I));
+        xfree (CollAtUnchecked (&M->FormalArgs, I));
     }
     DoneCollection (&M->FormalArgs);
     SB_Done (&M->Replacement);
@@ -163,26 +163,26 @@ int UndefineMacro (const char* Name)
     Macro* L = 0;
     Macro* M = MacroTab[Hash];
     while (M) {
-       if (strcmp (M->Name, Name) == 0) {
-
-           /* Found it */
-           if (L == 0) {
-               /* First in chain */
-               MacroTab[Hash] = M->Next;
-           } else {
-               L->Next = M->Next;
-           }
-
-           /* Delete the macro */
-           FreeMacro (M);
-
-           /* Done */
-           return 1;
-       }
-
-       /* Next macro */
-       L = M;
-       M = M->Next;
+        if (strcmp (M->Name, Name) == 0) {
+
+            /* Found it */
+            if (L == 0) {
+                /* First in chain */
+                MacroTab[Hash] = M->Next;
+            } else {
+                L->Next = M->Next;
+            }
+
+            /* Delete the macro */
+            FreeMacro (M);
+
+            /* Done */
+            return 1;
+        }
+
+        /* Next macro */
+        L = M;
+        M = M->Next;
     }
 
     /* Not found */
@@ -200,13 +200,13 @@ Macro* FindMacro (const char* Name)
     /* Search the hash chain */
     Macro* M = MacroTab[Hash];
     while (M) {
-       if (strcmp (M->Name, Name) == 0) {
-           /* Found it */
-           return M;
-       }
+        if (strcmp (M->Name, Name) == 0) {
+            /* Found it */
+            return M;
+        }
 
-       /* Next macro */
-       M = M->Next;
+        /* Next macro */
+        M = M->Next;
     }
 
     /* Not found */
@@ -222,10 +222,10 @@ int FindMacroArg (Macro* M, const char* Arg)
 {
     unsigned I;
     for (I = 0; I < CollCount (&M->FormalArgs); ++I) {
-               if (strcmp (CollAtUnchecked (&M->FormalArgs, I), Arg) == 0) {
-           /* Found */
-                   return I;
-       }
+        if (strcmp (CollAtUnchecked (&M->FormalArgs, I), Arg) == 0) {
+            /* Found */
+            return I;
+        }
     }
 
     /* Not found */
@@ -243,11 +243,11 @@ void AddMacroArg (Macro* M, const char* Arg)
      */
     unsigned I;
     for (I = 0; I < CollCount (&M->FormalArgs); ++I) {
-               if (strcmp (CollAtUnchecked (&M->FormalArgs, I), Arg) == 0) {
-           /* Found */
-           Error ("Duplicate macro parameter: `%s'", Arg);
-           break;
-       }
+        if (strcmp (CollAtUnchecked (&M->FormalArgs, I), Arg) == 0) {
+            /* Found */
+            Error ("Duplicate macro parameter: `%s'", Arg);
+            break;
+        }
     }
 
     /* Add the new argument */
@@ -264,15 +264,15 @@ int MacroCmp (const Macro* M1, const Macro* M2)
 
     /* Argument count must be identical */
     if (M1->ArgCount != M2->ArgCount) {
-       return 1;
+        return 1;
     }
 
     /* Compare the arguments */
     for (I = 0; I < M1->ArgCount; ++I) {
-               if (strcmp (CollConstAt (&M1->FormalArgs, I),
+        if (strcmp (CollConstAt (&M1->FormalArgs, I),
                     CollConstAt (&M2->FormalArgs, I)) != 0) {
-           return 1;
-       }
+            return 1;
+        }
     }
 
     /* Compare the replacement */
@@ -289,17 +289,17 @@ void PrintMacroStats (FILE* F)
 
     fprintf (F, "\n\nMacro Hash Table Summary\n");
     for (I = 0; I < MACRO_TAB_SIZE; ++I) {
-               fprintf (F, "%3u : ", I);
-       M = MacroTab [I];
-       if (M) {
-           while (M) {
-               fprintf (F, "%s ", M->Name);
-               M = M->Next;
-           }
-           fprintf (F, "\n");
-       } else {
-           fprintf (F, "empty\n");
-       }
+        fprintf (F, "%3u : ", I);
+        M = MacroTab [I];
+        if (M) {
+            while (M) {
+                fprintf (F, "%s ", M->Name);
+                M = M->Next;
+            }
+            fprintf (F, "\n");
+        } else {
+            fprintf (F, "empty\n");
+        }
     }
 }
 
index 91142e8720daa60f9c261a83fd05e7cdd776beeb..c20ab81c469dc5b29d2372560d3b9ec9af98298b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               macrotab.h                                 */
+/*                                macrotab.h                                 */
 /*                                                                           */
-/*            Preprocessor macro table for the cc65 C compiler              */
+/*             Preprocessor macro table for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
 /* Structure describing a macro */
 typedef struct Macro Macro;
 struct Macro {
-    Macro*       Next;         /* Next macro with same hash value */
+    Macro*        Next;         /* Next macro with same hash value */
     int           Expanding;    /* Are we currently expanding this macro? */
-    int                  ArgCount;     /* Number of parameters, -1 = no parens */
-    unsigned     MaxArgs;      /* Size of formal argument list */
-    Collection    FormalArgs;  /* Formal argument list (char*) */
+    int           ArgCount;     /* Number of parameters, -1 = no parens */
+    unsigned      MaxArgs;      /* Size of formal argument list */
+    Collection    FormalArgs;   /* Formal argument list (char*) */
     StrBuf        Replacement;  /* Replacement text */
     unsigned char Variadic;     /* C99 variadic macro */
-    char         Name[1];      /* Name, dynamically allocated */
+    char          Name[1];      /* Name, dynamically allocated */
 };
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 02f3787660bc5742aa43335f358ac3ca3a500f6d..71fbb022ffd3c1ff6542929527ccd35658566357 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
-/*                            cc65 main program                             */
+/*                             cc65 main program                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -71,7 +71,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -153,75 +153,75 @@ static void SetSys (const char* Sys)
 {
     switch (Target = FindTarget (Sys)) {
 
-       case TGT_NONE:
-           break;
+        case TGT_NONE:
+            break;
 
         case TGT_MODULE:
             AbEnd ("Cannot use `module' as a target for the compiler");
             break;
 
-       case TGT_ATARI:
-           DefineNumericMacro ("__ATARI__", 1);
-           break;
+        case TGT_ATARI:
+            DefineNumericMacro ("__ATARI__", 1);
+            break;
 
-       case TGT_C16:
-           cbmsys ("__C16__");
-           break;
+        case TGT_C16:
+            cbmsys ("__C16__");
+            break;
 
-       case TGT_C64:
-           cbmsys ("__C64__");
-           break;
+        case TGT_C64:
+            cbmsys ("__C64__");
+            break;
 
-       case TGT_VIC20:
-           cbmsys ("__VIC20__");
-           break;
+        case TGT_VIC20:
+            cbmsys ("__VIC20__");
+            break;
 
-       case TGT_C128:
-           cbmsys ("__C128__");
-           break;
+        case TGT_C128:
+            cbmsys ("__C128__");
+            break;
 
-       case TGT_PLUS4:
-           cbmsys ("__PLUS4__");
-           break;
+        case TGT_PLUS4:
+            cbmsys ("__PLUS4__");
+            break;
 
-       case TGT_CBM510:
-           cbmsys ("__CBM510__");
-           break;
+        case TGT_CBM510:
+            cbmsys ("__CBM510__");
+            break;
 
-       case TGT_CBM610:
-           cbmsys ("__CBM610__");
-           break;
+        case TGT_CBM610:
+            cbmsys ("__CBM610__");
+            break;
 
-       case TGT_PET:
-           cbmsys ("__PET__");
-           break;
+        case TGT_PET:
+            cbmsys ("__PET__");
+            break;
 
-       case TGT_BBC:
-           DefineNumericMacro ("__BBC__", 1);
-           break;
+        case TGT_BBC:
+            DefineNumericMacro ("__BBC__", 1);
+            break;
 
-       case TGT_APPLE2:
-           DefineNumericMacro ("__APPLE2__", 1);
-           break;
+        case TGT_APPLE2:
+            DefineNumericMacro ("__APPLE2__", 1);
+            break;
 
-       case TGT_APPLE2ENH:
+        case TGT_APPLE2ENH:
             DefineNumericMacro ("__APPLE2ENH__", 1);
-           break;
+            break;
 
-       case TGT_GEOS_CBM:
-           /* Do not handle as a CBM system */
-           DefineNumericMacro ("__GEOS__", 1);
-           DefineNumericMacro ("__GEOS_CBM__", 1);
-           break;
+        case TGT_GEOS_CBM:
+            /* Do not handle as a CBM system */
+            DefineNumericMacro ("__GEOS__", 1);
+            DefineNumericMacro ("__GEOS_CBM__", 1);
+            break;
 
-       case TGT_GEOS_APPLE:
-           DefineNumericMacro ("__GEOS__", 1);
-           DefineNumericMacro ("__GEOS_APPLE__", 1);
-           break;
+        case TGT_GEOS_APPLE:
+            DefineNumericMacro ("__GEOS__", 1);
+            DefineNumericMacro ("__GEOS_APPLE__", 1);
+            break;
 
-       case TGT_LUNIX:
-           DefineNumericMacro ("__LUNIX__", 1);
-           break;
+        case TGT_LUNIX:
+            DefineNumericMacro ("__LUNIX__", 1);
+            break;
 
         case TGT_ATMOS:
             DefineNumericMacro ("__ATMOS__", 1);
@@ -239,8 +239,8 @@ static void SetSys (const char* Sys)
             DefineNumericMacro ("__LYNX__", 1);
             break;
 
-       default:
-                   AbEnd ("Unknown target system type %d", Target);
+        default:
+            AbEnd ("Unknown target system type %d", Target);
     }
 
     /* Initialize the translation tables for the target system */
@@ -270,38 +270,38 @@ static void DefineSym (const char* Def)
 
     /* The symbol must start with a character or underline */
     if (Def [0] != '_' && !IsAlpha (Def [0])) {
-       InvDef (Def);
+        InvDef (Def);
     }
 
     /* Check the symbol name */
     while (IsAlNum (*P) || *P == '_') {
-       ++P;
+        ++P;
     }
 
     /* Do we have a value given? */
     if (*P != '=') {
-       if (*P != '\0') {
-           InvDef (Def);
-       }
-       /* No value given. Define the macro with the value 1 */
-       DefineNumericMacro (Def, 1);
+        if (*P != '\0') {
+            InvDef (Def);
+        }
+        /* No value given. Define the macro with the value 1 */
+        DefineNumericMacro (Def, 1);
     } else {
-       /* We have a value, P points to the '=' character. Since the argument
-        * is const, create a copy and replace the '=' in the copy by a zero
-        * terminator.
-                */
-       char* Q;
-       unsigned Len = strlen (Def)+1;
-       char* S = (char*) xmalloc (Len);
-       memcpy (S, Def, Len);
-       Q = S + (P - Def);
-       *Q++ = '\0';
-
-       /* Define this as a macro */
-       DefineTextMacro (S, Q);
-
-       /* Release the allocated memory */
-       xfree (S);
+        /* We have a value, P points to the '=' character. Since the argument
+         * is const, create a copy and replace the '=' in the copy by a zero
+         * terminator.
+         */
+        char* Q;
+        unsigned Len = strlen (Def)+1;
+        char* S = (char*) xmalloc (Len);
+        memcpy (S, Def, Len);
+        Q = S + (P - Def);
+        *Q++ = '\0';
+
+        /* Define this as a macro */
+        DefineTextMacro (S, Q);
+
+        /* Release the allocated memory */
+        xfree (S);
     }
 }
 
@@ -312,14 +312,14 @@ static void CheckSegName (const char* Seg)
 {
     /* Print an error and abort if the name is not ok */
     if (!ValidSegName (Seg)) {
-       AbEnd ("Segment name `%s' is invalid", Seg);
+        AbEnd ("Segment name `%s' is invalid", Seg);
     }
 }
 
 
 
 static void OptAddSource (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Add source lines as comments in generated assembler file */
 {
     AddSource = 1;
@@ -340,7 +340,7 @@ static void OptBssName (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptCheckStack (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Handle the --check-stack option */
 {
     IS_Set (&CheckStack, 1);
@@ -369,7 +369,7 @@ static void OptCodeSize (const char* Opt, const char* Arg)
     /* Numeric argument expected */
     if (sscanf (Arg, "%u%c", &Factor, &BoundsCheck) != 1 ||
         Factor < 10 || Factor > 1000) {
-       AbEnd ("Argument for %s is invalid", Opt);
+        AbEnd ("Argument for %s is invalid", Opt);
     }
     IS_Set (&CodeSizeFactor, Factor);
 }
@@ -385,7 +385,7 @@ static void OptCreateDep (const char* Opt, const char* Arg)
 
 
 static void OptCreateFullDep (const char* Opt attribute ((unused)),
-                             const char* Arg)
+                              const char* Arg)
 /* Handle the --create-full-dep option */
 {
     FileNameOption (Opt, Arg, &FullDepName);
@@ -400,7 +400,7 @@ static void OptCPU (const char* Opt, const char* Arg)
     CPU = FindCPU (Arg);
     if (CPU != CPU_6502 && CPU != CPU_6502X && CPU != CPU_65SC02 &&
         CPU != CPU_65C02 && CPU != CPU_65816 && CPU != CPU_HUC6280) {
-               AbEnd ("Invalid argument for %s: `%s'", Opt, Arg);
+        AbEnd ("Invalid argument for %s: `%s'", Opt, Arg);
     }
 }
 
@@ -419,7 +419,7 @@ static void OptDataName (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptDebug (const char* Opt attribute ((unused)),
-                     const char* Arg attribute ((unused)))
+                      const char* Arg attribute ((unused)))
 /* Compiler debug mode */
 {
     ++Debug;
@@ -428,7 +428,7 @@ static void OptDebug (const char* Opt attribute ((unused)),
 
 
 static void OptDebugInfo (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Add debug info to the object file */
 {
     DebugInfo = 1;
@@ -445,7 +445,7 @@ static void OptDebugOpt (const char* Opt attribute ((unused)), const char* Arg)
     /* Open the file */
     FILE* F = fopen (Arg, "r");
     if (F == 0) {
-               AbEnd ("Cannot open `%s': %s", Arg, strerror (errno));
+        AbEnd ("Cannot open `%s': %s", Arg, strerror (errno));
     }
 
     /* Read line by line, ignore empty lines and switch optimization
@@ -453,45 +453,45 @@ static void OptDebugOpt (const char* Opt attribute ((unused)), const char* Arg)
      */
     while (fgets (Buf, sizeof (Buf), F) != 0) {
 
-       /* Remove trailing control chars. This will also remove the
-        * trailing newline.
-        */
-       unsigned Len = strlen (Buf);
-       while (Len > 0 && IsControl (Buf[Len-1])) {
-           --Len;
-       }
-       Buf[Len] = '\0';
-
-       /* Get a pointer to the buffer and remove leading white space */
-       Line = Buf;
-       while (IsBlank (*Line)) {
-           ++Line;
-       }
-
-       /* Check the first character and enable/disable the step or
-        * ignore the line
-        */
-       switch (*Line) {
-
-           case '\0':
-           case '#':
-           case ';':
-               /* Empty or comment line */
-               continue;
-
-           case '-':
-               DisableOpt (Line+1);
-               break;
-
-           case '+':
-               ++Line;
-               /* FALLTHROUGH */
-
-           default:
-               EnableOpt (Line);
-               break;
-
-       }
+        /* Remove trailing control chars. This will also remove the
+         * trailing newline.
+         */
+        unsigned Len = strlen (Buf);
+        while (Len > 0 && IsControl (Buf[Len-1])) {
+            --Len;
+        }
+        Buf[Len] = '\0';
+
+        /* Get a pointer to the buffer and remove leading white space */
+        Line = Buf;
+        while (IsBlank (*Line)) {
+            ++Line;
+        }
+
+        /* Check the first character and enable/disable the step or
+         * ignore the line
+         */
+        switch (*Line) {
+
+            case '\0':
+            case '#':
+            case ';':
+                /* Empty or comment line */
+                continue;
+
+            case '-':
+                DisableOpt (Line+1);
+                break;
+
+            case '+':
+                ++Line;
+                /* FALLTHROUGH */
+
+            default:
+                EnableOpt (Line);
+                break;
+
+        }
 
     }
 
@@ -537,7 +537,7 @@ static void OptEnableOpt (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -556,7 +556,7 @@ static void OptIncludeDir (const char* Opt attribute ((unused)), const char* Arg
 
 
 static void OptListOptSteps (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* List all optimizer steps */
 {
     /* List the optimizer steps */
@@ -569,7 +569,7 @@ static void OptListOptSteps (const char* Opt attribute ((unused)),
 
 
 static void OptListWarnings (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* List all warning types */
 {
     /* List the warnings */
@@ -582,7 +582,7 @@ static void OptListWarnings (const char* Opt attribute ((unused)),
 
 
 static void OptLocalStrings (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* Emit string literals immediately */
 {
     IS_Set (&LocalStrings, 1);
@@ -619,7 +619,7 @@ static void OptRegisterSpace (const char* Opt, const char* Arg)
 {
     /* Numeric argument expected */
     if (sscanf (Arg, "%u", &RegisterSpace) != 1 || RegisterSpace > 256) {
-               AbEnd ("Argument for option %s is invalid", Opt);
+        AbEnd ("Argument for option %s is invalid", Opt);
     }
 }
 
@@ -647,7 +647,7 @@ static void OptRodataName (const char* Opt attribute ((unused)), const char* Arg
 
 
 static void OptSignedChars (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Make default characters signed */
 {
     IS_Set (&SignedChars, 1);
@@ -661,7 +661,7 @@ static void OptStandard (const char* Opt, const char* Arg)
     /* Find the standard from the given name */
     standard_t Std = FindStandard (Arg);
     if (Std == STD_UNKNOWN) {
-               AbEnd ("Invalid argument for %s: `%s'", Opt, Arg);
+        AbEnd ("Invalid argument for %s: `%s'", Opt, Arg);
     } else if (IS_Get (&Standard) != STD_UNKNOWN) {
         AbEnd ("Option %s given more than once", Opt);
     } else {
@@ -672,7 +672,7 @@ static void OptStandard (const char* Opt, const char* Arg)
 
 
 static void OptStaticLocals (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* Place local variables in static storage */
 {
     IS_Set (&StaticLocals, 1);
@@ -689,7 +689,7 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase verbosity */
 {
     ++Verbosity;
@@ -698,7 +698,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the compiler version */
 {
     fprintf (stderr, "cc65 V%s\n", GetVersionAsString ());
@@ -754,7 +754,7 @@ static void OptWarning (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptWritableStrings (const char* Opt attribute ((unused)),
-                               const char* Arg attribute ((unused)))
+                                const char* Arg attribute ((unused)))
 /* Make string literals writable */
 {
     IS_Set (&WritableStrings, 1);
@@ -766,38 +766,38 @@ int main (int argc, char* argv[])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-       { "--add-source",       0,      OptAddSource            },
-       { "--bss-name",         1,      OptBssName              },
-               { "--check-stack",      0,      OptCheckStack           },
-       { "--code-name",        1,      OptCodeName             },
-       { "--codesize",         1,      OptCodeSize             },
-        { "--cpu",                     1,      OptCPU                  },
-       { "--create-dep",       1,      OptCreateDep            },
+        { "--add-source",       0,      OptAddSource            },
+        { "--bss-name",         1,      OptBssName              },
+        { "--check-stack",      0,      OptCheckStack           },
+        { "--code-name",        1,      OptCodeName             },
+        { "--codesize",         1,      OptCodeSize             },
+        { "--cpu",              1,      OptCPU                  },
+        { "--create-dep",       1,      OptCreateDep            },
         { "--create-full-dep",  1,      OptCreateFullDep        },
-       { "--data-name",        1,      OptDataName             },
-               { "--debug",            0,      OptDebug                },
-       { "--debug-info",       0,      OptDebugInfo            },
+        { "--data-name",        1,      OptDataName             },
+        { "--debug",            0,      OptDebug                },
+        { "--debug-info",       0,      OptDebugInfo            },
         { "--debug-opt",        1,      OptDebugOpt             },
         { "--debug-opt-output", 0,      OptDebugOptOutput       },
         { "--dep-target",       1,      OptDepTarget            },
-       { "--disable-opt",      1,      OptDisableOpt           },
-       { "--enable-opt",       1,      OptEnableOpt            },
-       { "--help",             0,      OptHelp                 },
-       { "--include-dir",      1,      OptIncludeDir           },
-       { "--list-opt-steps",   0,      OptListOptSteps         },
-               { "--list-warnings",    0,      OptListWarnings         },
+        { "--disable-opt",      1,      OptDisableOpt           },
+        { "--enable-opt",       1,      OptEnableOpt            },
+        { "--help",             0,      OptHelp                 },
+        { "--include-dir",      1,      OptIncludeDir           },
+        { "--list-opt-steps",   0,      OptListOptSteps         },
+        { "--list-warnings",    0,      OptListWarnings         },
         { "--local-strings",    0,      OptLocalStrings         },
         { "--memory-model",     1,      OptMemoryModel          },
         { "--register-space",   1,      OptRegisterSpace        },
         { "--register-vars",    0,      OptRegisterVars         },
-       { "--rodata-name",      1,      OptRodataName           },
-       { "--signed-chars",     0,      OptSignedChars          },
+        { "--rodata-name",      1,      OptRodataName           },
+        { "--signed-chars",     0,      OptSignedChars          },
         { "--standard",         1,      OptStandard             },
-               { "--static-locals",    0,      OptStaticLocals         },
-       { "--target",           1,      OptTarget               },
-       { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
-               { "--writable-strings", 0,      OptWritableStrings      },
+        { "--static-locals",    0,      OptStaticLocals         },
+        { "--target",           1,      OptTarget               },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
+        { "--writable-strings", 0,      OptWritableStrings      },
     };
 
     unsigned I;
@@ -818,132 +818,132 @@ int main (int argc, char* argv[])
     I = 1;
     while (I < ArgCount) {
 
-       const char* P;
+        const char* P;
 
-               /* Get the argument */
-               const char* Arg = ArgVec[I];
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
 
-               /* Check for an option */
-               if (Arg[0] == '-') {
+        /* Check for an option */
+        if (Arg[0] == '-') {
 
-                   switch (Arg[1]) {
+            switch (Arg[1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
-               case 'd':
-                   OptDebug (Arg, 0);
-                   break;
+                case 'd':
+                    OptDebug (Arg, 0);
+                    break;
 
-               case 'h':
-               case '?':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                case '?':
+                    OptHelp (Arg, 0);
+                    break;
 
-               case 'g':
-                   OptDebugInfo (Arg, 0);
-                   break;
+                case 'g':
+                    OptDebugInfo (Arg, 0);
+                    break;
 
-               case 'j':
-                   OptSignedChars (Arg, 0);
-                   break;
+                case 'j':
+                    OptSignedChars (Arg, 0);
+                    break;
 
-               case 'o':
-                   SetOutputName (GetArg (&I, 2));
-                   break;
+                case 'o':
+                    SetOutputName (GetArg (&I, 2));
+                    break;
 
                 case 'r':
                     OptRegisterVars (Arg, 0);
                     break;
 
-               case 't':
-                   OptTarget (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'u':
-                   OptCreateDep (Arg, 0);
-                   break;
-
-               case 'v':
-                   OptVerbose (Arg, 0);
-                   break;
-
-               case 'C':
-                           P = Arg + 2;
-                   while (*P) {
-                       switch (*P++) {
-                           case 'l':
-                               OptStaticLocals (Arg, 0);
-                               break;
-                           default:
-                               UnknownOption (Arg);
-                               break;
-                       }
-                   }
-                   break;
-
-               case 'D':
-                   DefineSym (GetArg (&I, 2));
-                   break;
+                case 't':
+                    OptTarget (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'u':
+                    OptCreateDep (Arg, 0);
+                    break;
+
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
+
+                case 'C':
+                    P = Arg + 2;
+                    while (*P) {
+                        switch (*P++) {
+                            case 'l':
+                                OptStaticLocals (Arg, 0);
+                                break;
+                            default:
+                                UnknownOption (Arg);
+                                break;
+                        }
+                    }
+                    break;
+
+                case 'D':
+                    DefineSym (GetArg (&I, 2));
+                    break;
 
                 case 'E':
                     PreprocessOnly = 1;
                     break;
 
-                       case 'I':
-                   OptIncludeDir (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'O':
-                   IS_Set (&Optimize, 1);
-                   P = Arg + 2;
-                   while (*P) {
-                       switch (*P++) {
-                           case 'i':
-                               IS_Set (&CodeSizeFactor, 200);
-                               break;
-                           case 'r':
-                               IS_Set (&EnableRegVars, 1);
-                               break;
-                           case 's':
-                               IS_Set (&InlineStdFuncs, 1);
-                               break;
-                       }
-                   }
-                   break;
-
-               case 'T':
-                           OptAddSource (Arg, 0);
-                           break;
-
-                       case 'V':
-                           OptVersion (Arg, 0);
-                           break;
-
-                       case 'W':
+                case 'I':
+                    OptIncludeDir (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'O':
+                    IS_Set (&Optimize, 1);
+                    P = Arg + 2;
+                    while (*P) {
+                        switch (*P++) {
+                            case 'i':
+                                IS_Set (&CodeSizeFactor, 200);
+                                break;
+                            case 'r':
+                                IS_Set (&EnableRegVars, 1);
+                                break;
+                            case 's':
+                                IS_Set (&InlineStdFuncs, 1);
+                                break;
+                        }
+                    }
+                    break;
+
+                case 'T':
+                    OptAddSource (Arg, 0);
+                    break;
+
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
+
+                case 'W':
                     OptWarning (Arg, GetArg (&I, 2));
-                           break;
-
-                       default:
-                           UnknownOption (Arg);
-                           break;
-                   }
-               } else {
-                   if (InputFile) {
-                       fprintf (stderr, "additional file specs ignored\n");
-                   } else {
-                       InputFile = Arg;
-           }
-       }
-
-       /* Next argument */
-       ++I;
+                    break;
+
+                default:
+                    UnknownOption (Arg);
+                    break;
+            }
+        } else {
+            if (InputFile) {
+                fprintf (stderr, "additional file specs ignored\n");
+            } else {
+                InputFile = Arg;
+            }
+        }
+
+        /* Next argument */
+        ++I;
     }
 
     /* Did we have a file spec on the command line? */
     if (InputFile == 0) {
-       AbEnd ("No input files");
+        AbEnd ("No input files");
     }
 
     /* Add the default include search paths. */
@@ -980,17 +980,17 @@ int main (int argc, char* argv[])
         /* Emit literals, externals, do cleanup and optimizations */
         FinishCompile ();
 
-       /* Open the file */
+        /* Open the file */
         OpenOutputFile ();
 
-       /* Write the output to the file */
-               WriteAsmOutput ();
-               Print (stdout, 1, "Wrote output to `%s'\n", OutputFilename);
+        /* Write the output to the file */
+        WriteAsmOutput ();
+        Print (stdout, 1, "Wrote output to `%s'\n", OutputFilename);
 
-       /* Close the file, check for errors */
+        /* Close the file, check for errors */
         CloseOutputFile ();
 
-       /* Create dependencies if requested */
+        /* Create dependencies if requested */
         CreateDependencies ();
     }
 
index 2c838a695f6c5038092dad89ccb85d6fc17dfe44..d8a7fcb1f45beb9e7983562c03eabc44f15e81b2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opcodes.c                                 */
+/*                                 opcodes.c                                 */
 /*                                                                           */
-/*                 Opcode and addressing mode definitions                   */
+/*                  Opcode and addressing mode definitions                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 const OPCDesc OPCTable[OP65_COUNT] = {
 
     /* 65XX opcodes */
-    {   OP65_ADC,                                      /* opcode */
-               "adc",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_AND,                                      /* opcode */
-               "and",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_ASL,                                      /* opcode */
-               "asl",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-               OF_SETF | OF_NOIMP                      /* flags */
-    },
-    {   OP65_BCC,                                      /* opcode */
-               "bcc",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA                                 /* flags */
-    },
-    {   OP65_BCS,                                      /* opcode */
-               "bcs",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA                                 /* flags */
-    },
-    {   OP65_BEQ,                                      /* opcode */
-               "beq",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_ZBRA | OF_FBRA             /* flags */
-    },
-    {   OP65_BIT,                                      /* opcode */
-               "bit",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_BMI,                                      /* opcode */
-               "bmi",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_FBRA                       /* flags */
-    },
-    {   OP65_BNE,                                      /* opcode */
-               "bne",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_ZBRA | OF_FBRA             /* flags */
-    },
-    {   OP65_BPL,                                      /* opcode */
-               "bpl",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_FBRA                       /* flags */
-    },
-    {   OP65_BRA,                                      /* opcode */
-               "bra",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_UBRA                                 /* flags */
-    },
-    {   OP65_BRK,                                      /* opcode */
-               "brk",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_BVC,                                      /* opcode */
-               "bvc",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA                                 /* flags */
-    },
-    {   OP65_BVS,                                      /* opcode */
-               "bvs",                                  /* mnemonic */
-               2,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA                                 /* flags */
-    },
-    {   OP65_CLC,                                      /* opcode */
-               "clc",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_CLD,                                      /* opcode */
-               "cld",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_CLI,                                      /* opcode */
-               "cli",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_CLV,                                      /* opcode */
-               "clv",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_CMP,                                      /* opcode */
-               "cmp",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_NONE,                               /* chg */
-               OF_SETF | OF_CMP                        /* flags */
-    },
-    {   OP65_CPX,                                      /* opcode */
-               "cpx",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_X,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF | OF_CMP                        /* flags */
-    },
-    {   OP65_CPY,                                      /* opcode */
-               "cpy",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_Y,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF | OF_CMP                        /* flags */
-    },
-    {   OP65_DEA,                                      /* opcode */
-               "dea",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-               OF_REG_INCDEC | OF_SETF                 /* flags */
-    },
-    {   OP65_DEC,                                      /* opcode */
-               "dec",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-               OF_SETF | OF_NOIMP                      /* flags */
-    },
-    {   OP65_DEX,                                      /* opcode */
-               "dex",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_X,                                  /* use */
-               REG_X,                                  /* chg */
-               OF_REG_INCDEC | OF_SETF                 /* flags */
-    },
-    {   OP65_DEY,                                      /* opcode */
-               "dey",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_Y,                                  /* use */
-               REG_Y,                                  /* chg */
-               OF_REG_INCDEC | OF_SETF                 /* flags */
-    },
-    {   OP65_EOR,                                      /* opcode */
-               "eor",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-               OF_SETF                                 /* flags */
-    },
-    {   OP65_INA,                                      /* opcode */
-               "ina",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-               OF_REG_INCDEC | OF_SETF                 /* flags */
-    },
-    {   OP65_INC,                                      /* opcode */
-               "inc",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF | OF_NOIMP                      /* flags */
-    },
-    {   OP65_INX,                                      /* opcode */
-               "inx",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_X,                                  /* use */
-               REG_X,                                  /* chg */
-               OF_REG_INCDEC | OF_SETF                 /* flags */
-    },
-    {   OP65_INY,                                      /* opcode */
-               "iny",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_Y,                                  /* use */
-               REG_Y,                                  /* chg */
-               OF_REG_INCDEC | OF_SETF                 /* flags */
-    },
-    {   OP65_JCC,                                      /* opcode */
-               "jcc",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA                       /* flags */
-    },
-    {   OP65_JCS,                                      /* opcode */
-               "jcs",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA                       /* flags */
-    },
-    {   OP65_JEQ,                                      /* opcode */
-               "jeq",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA | OF_ZBRA | OF_FBRA   /* flags */
-    },
-    {   OP65_JMI,                                      /* opcode */
-               "jmi",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA | OF_FBRA             /* flags */
-    },
-    {   OP65_JMP,                                      /* opcode */
-               "jmp",                                  /* mnemonic */
-               3,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_UBRA | OF_LBRA                       /* flags */
-    },
-    {   OP65_JNE,                                      /* opcode */
-               "jne",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA | OF_ZBRA | OF_FBRA   /* flags */
-    },
-    {   OP65_JPL,                                      /* opcode */
-               "jpl",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA | OF_FBRA             /* flags */
-    },
-    {   OP65_JSR,                                      /* opcode */
-               "jsr",                                  /* mnemonic */
-               3,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CALL                                 /* flags */
-    },
-    {   OP65_JVC,                                      /* opcode */
-               "jvc",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA                       /* flags */
-    },
-    {   OP65_JVS,                                      /* opcode */
-               "jvs",                                  /* mnemonic */
-               5,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CBRA | OF_LBRA                       /* flags */
-    },
-    {   OP65_LDA,                                      /* opcode */
-               "lda",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_A,                                  /* chg */
-       OF_LOAD | OF_SETF                       /* flags */
-    },
-    {   OP65_LDX,                                      /* opcode */
-               "ldx",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_X,                                  /* chg */
-       OF_LOAD | OF_SETF                       /* flags */
-    },
-    {   OP65_LDY,                                      /* opcode */
-               "ldy",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_Y,                                  /* chg */
-       OF_LOAD | OF_SETF                       /* flags */
-    },
-    {   OP65_LSR,                                      /* opcode */
-               "lsr",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF | OF_NOIMP                      /* flags */
-    },
-    {   OP65_NOP,                                      /* opcode */
-               "nop",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_ORA,                                      /* opcode */
-               "ora",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_PHA,                                      /* opcode */
-               "pha",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_A,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_PHP,                                      /* opcode */
-               "php",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_PHX,                                      /* opcode */
-               "phx",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_X,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_PHY,                                      /* opcode */
-               "phy",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_Y,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_PLA,                                      /* opcode */
-               "pla",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_A,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_PLP,                                      /* opcode */
-               "plp",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_PLX,                                      /* opcode */
-               "plx",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_X,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_PLY,                                      /* opcode */
-               "ply",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_Y,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_ROL,                                      /* opcode */
-               "rol",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF | OF_NOIMP                      /* flags */
-    },
-    {   OP65_ROR,                                      /* opcode */
-               "ror",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF | OF_NOIMP                      /* flags */
+    {   OP65_ADC,                               /* opcode */
+        "adc",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_AND,                               /* opcode */
+        "and",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_ASL,                               /* opcode */
+        "asl",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_NOIMP                      /* flags */
+    },
+    {   OP65_BCC,                               /* opcode */
+        "bcc",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA                                 /* flags */
+    },
+    {   OP65_BCS,                               /* opcode */
+        "bcs",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA                                 /* flags */
+    },
+    {   OP65_BEQ,                               /* opcode */
+        "beq",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_ZBRA | OF_FBRA             /* flags */
+    },
+    {   OP65_BIT,                               /* opcode */
+        "bit",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_BMI,                               /* opcode */
+        "bmi",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_FBRA                       /* flags */
+    },
+    {   OP65_BNE,                               /* opcode */
+        "bne",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_ZBRA | OF_FBRA             /* flags */
+    },
+    {   OP65_BPL,                               /* opcode */
+        "bpl",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_FBRA                       /* flags */
+    },
+    {   OP65_BRA,                               /* opcode */
+        "bra",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_UBRA                                 /* flags */
+    },
+    {   OP65_BRK,                               /* opcode */
+        "brk",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_BVC,                               /* opcode */
+        "bvc",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA                                 /* flags */
+    },
+    {   OP65_BVS,                               /* opcode */
+        "bvs",                                  /* mnemonic */
+        2,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA                                 /* flags */
+    },
+    {   OP65_CLC,                               /* opcode */
+        "clc",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_CLD,                               /* opcode */
+        "cld",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_CLI,                               /* opcode */
+        "cli",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_CLV,                               /* opcode */
+        "clv",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_CMP,                               /* opcode */
+        "cmp",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_CMP                        /* flags */
+    },
+    {   OP65_CPX,                               /* opcode */
+        "cpx",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_X,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_CMP                        /* flags */
+    },
+    {   OP65_CPY,                               /* opcode */
+        "cpy",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_Y,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_CMP                        /* flags */
+    },
+    {   OP65_DEA,                               /* opcode */
+        "dea",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_REG_INCDEC | OF_SETF                 /* flags */
+    },
+    {   OP65_DEC,                               /* opcode */
+        "dec",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_NOIMP                      /* flags */
+    },
+    {   OP65_DEX,                               /* opcode */
+        "dex",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_X,                                  /* use */
+        REG_X,                                  /* chg */
+        OF_REG_INCDEC | OF_SETF                 /* flags */
+    },
+    {   OP65_DEY,                               /* opcode */
+        "dey",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_Y,                                  /* use */
+        REG_Y,                                  /* chg */
+        OF_REG_INCDEC | OF_SETF                 /* flags */
+    },
+    {   OP65_EOR,                               /* opcode */
+        "eor",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_INA,                               /* opcode */
+        "ina",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_REG_INCDEC | OF_SETF                 /* flags */
+    },
+    {   OP65_INC,                               /* opcode */
+        "inc",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_NOIMP                      /* flags */
+    },
+    {   OP65_INX,                               /* opcode */
+        "inx",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_X,                                  /* use */
+        REG_X,                                  /* chg */
+        OF_REG_INCDEC | OF_SETF                 /* flags */
+    },
+    {   OP65_INY,                               /* opcode */
+        "iny",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_Y,                                  /* use */
+        REG_Y,                                  /* chg */
+        OF_REG_INCDEC | OF_SETF                 /* flags */
+    },
+    {   OP65_JCC,                               /* opcode */
+        "jcc",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA                       /* flags */
+    },
+    {   OP65_JCS,                               /* opcode */
+        "jcs",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA                       /* flags */
+    },
+    {   OP65_JEQ,                               /* opcode */
+        "jeq",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA | OF_ZBRA | OF_FBRA   /* flags */
+    },
+    {   OP65_JMI,                               /* opcode */
+        "jmi",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA | OF_FBRA             /* flags */
+    },
+    {   OP65_JMP,                               /* opcode */
+        "jmp",                                  /* mnemonic */
+        3,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_UBRA | OF_LBRA                       /* flags */
+    },
+    {   OP65_JNE,                               /* opcode */
+        "jne",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA | OF_ZBRA | OF_FBRA   /* flags */
+    },
+    {   OP65_JPL,                               /* opcode */
+        "jpl",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA | OF_FBRA             /* flags */
+    },
+    {   OP65_JSR,                               /* opcode */
+        "jsr",                                  /* mnemonic */
+        3,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CALL                                 /* flags */
+    },
+    {   OP65_JVC,                               /* opcode */
+        "jvc",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA                       /* flags */
+    },
+    {   OP65_JVS,                               /* opcode */
+        "jvs",                                  /* mnemonic */
+        5,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_CBRA | OF_LBRA                       /* flags */
+    },
+    {   OP65_LDA,                               /* opcode */
+        "lda",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_A,                                  /* chg */
+        OF_LOAD | OF_SETF                       /* flags */
+    },
+    {   OP65_LDX,                               /* opcode */
+        "ldx",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_X,                                  /* chg */
+        OF_LOAD | OF_SETF                       /* flags */
+    },
+    {   OP65_LDY,                               /* opcode */
+        "ldy",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_Y,                                  /* chg */
+        OF_LOAD | OF_SETF                       /* flags */
+    },
+    {   OP65_LSR,                               /* opcode */
+        "lsr",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_NOIMP                      /* flags */
+    },
+    {   OP65_NOP,                               /* opcode */
+        "nop",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_ORA,                               /* opcode */
+        "ora",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_PHA,                               /* opcode */
+        "pha",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_A,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_PHP,                               /* opcode */
+        "php",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_PHX,                               /* opcode */
+        "phx",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_X,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_PHY,                               /* opcode */
+        "phy",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_Y,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_PLA,                               /* opcode */
+        "pla",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_A,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_PLP,                               /* opcode */
+        "plp",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_PLX,                               /* opcode */
+        "plx",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_X,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_PLY,                               /* opcode */
+        "ply",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_Y,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_ROL,                               /* opcode */
+        "rol",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_NOIMP                      /* flags */
+    },
+    {   OP65_ROR,                               /* opcode */
+        "ror",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF | OF_NOIMP                      /* flags */
     },
     /* Mark RTI as "uses all registers but doesn't change them", so the
      * optimizer won't remove preceeding loads.
      */
-    {   OP65_RTI,                                      /* opcode */
-               "rti",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_AXY,                                /* use */
-               REG_NONE,                               /* chg */
-       OF_RET                                  /* flags */
-    },
-    {   OP65_RTS,                                      /* opcode */
-               "rts",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_RET                                  /* flags */
-    },
-    {   OP65_SBC,                                      /* opcode */
-               "sbc",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_A,                                  /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_SEC,                                      /* opcode */
-               "sec",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_SED,                                      /* opcode */
-               "sed",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_SEI,                                      /* opcode */
-               "sei",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_NONE                                 /* flags */
-    },
-    {   OP65_STA,                                      /* opcode */
-               "sta",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_STORE                                /* flags */
-    },
-    {   OP65_STX,                                      /* opcode */
-               "stx",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_X,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_STORE                                /* flags */
-    },
-    {   OP65_STY,                                      /* opcode */
-               "sty",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_Y,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_STORE                                /* flags */
-    },
-    {   OP65_STZ,                                      /* opcode */
-               "stz",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_STORE                                /* flags */
-    },
-    {   OP65_TAX,                                      /* opcode */
-               "tax",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_A,                                  /* use */
-               REG_X,                                  /* chg */
-       OF_XFR | OF_SETF                        /* flags */
-    },
-    {   OP65_TAY,                                      /* opcode */
-               "tay",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_A,                                  /* use */
-               REG_Y,                                  /* chg */
-       OF_XFR | OF_SETF                        /* flags */
-    },
-    {   OP65_TRB,                                      /* opcode */
-               "trb",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_TSB,                                      /* opcode */
-               "tsb",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_A,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_SETF                                 /* flags */
-    },
-    {   OP65_TSX,                                      /* opcode */
-               "tsx",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_X,                                  /* chg */
-       OF_XFR | OF_SETF                        /* flags */
-    },
-    {   OP65_TXA,                                      /* opcode */
-               "txa",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_X,                                  /* use */
-               REG_A,                                  /* chg */
-       OF_XFR | OF_SETF                        /* flags */
-    },
-    {   OP65_TXS,                                      /* opcode */
-               "txs",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_X,                                  /* use */
-               REG_NONE,                               /* chg */
-       OF_XFR                                  /* flags */
-    },
-    {   OP65_TYA,                                      /* opcode */
-               "tya",                                  /* mnemonic */
-               1,                                      /* size */
-               REG_Y,                                  /* use */
-               REG_A,                                  /* chg */
-       OF_XFR | OF_SETF                        /* flags */
+    {   OP65_RTI,                               /* opcode */
+        "rti",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_AXY,                                /* use */
+        REG_NONE,                               /* chg */
+        OF_RET                                  /* flags */
+    },
+    {   OP65_RTS,                               /* opcode */
+        "rts",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_RET                                  /* flags */
+    },
+    {   OP65_SBC,                               /* opcode */
+        "sbc",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_SEC,                               /* opcode */
+        "sec",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_SED,                               /* opcode */
+        "sed",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_SEI,                               /* opcode */
+        "sei",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_NONE                                 /* flags */
+    },
+    {   OP65_STA,                               /* opcode */
+        "sta",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_STORE                                /* flags */
+    },
+    {   OP65_STX,                               /* opcode */
+        "stx",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_X,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_STORE                                /* flags */
+    },
+    {   OP65_STY,                               /* opcode */
+        "sty",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_Y,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_STORE                                /* flags */
+    },
+    {   OP65_STZ,                               /* opcode */
+        "stz",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_NONE,                               /* chg */
+        OF_STORE                                /* flags */
+    },
+    {   OP65_TAX,                               /* opcode */
+        "tax",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_A,                                  /* use */
+        REG_X,                                  /* chg */
+        OF_XFR | OF_SETF                        /* flags */
+    },
+    {   OP65_TAY,                               /* opcode */
+        "tay",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_A,                                  /* use */
+        REG_Y,                                  /* chg */
+        OF_XFR | OF_SETF                        /* flags */
+    },
+    {   OP65_TRB,                               /* opcode */
+        "trb",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_TSB,                               /* opcode */
+        "tsb",                                  /* mnemonic */
+        0,                                      /* size */
+        REG_A,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_SETF                                 /* flags */
+    },
+    {   OP65_TSX,                               /* opcode */
+        "tsx",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_NONE,                               /* use */
+        REG_X,                                  /* chg */
+        OF_XFR | OF_SETF                        /* flags */
+    },
+    {   OP65_TXA,                               /* opcode */
+        "txa",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_X,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_XFR | OF_SETF                        /* flags */
+    },
+    {   OP65_TXS,                               /* opcode */
+        "txs",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_X,                                  /* use */
+        REG_NONE,                               /* chg */
+        OF_XFR                                  /* flags */
+    },
+    {   OP65_TYA,                               /* opcode */
+        "tya",                                  /* mnemonic */
+        1,                                      /* size */
+        REG_Y,                                  /* use */
+        REG_A,                                  /* chg */
+        OF_XFR | OF_SETF                        /* flags */
     },
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -611,17 +611,17 @@ const OPCDesc* FindOP65 (const char* M)
     char Mnemo[sizeof (OPCTable[0].Mnemo)];
     Len = strlen (M);
     if (Len >= sizeof (OPCTable[0].Mnemo)) {
-       /* Invalid length means invalid opcode */
-       return 0;
+        /* Invalid length means invalid opcode */
+        return 0;
     }
     for (I = 0; I < Len; ++I) {
-       Mnemo[I] = tolower (M[I]);
+        Mnemo[I] = tolower (M[I]);
     }
     Mnemo[I] = '\0';
 
     /* Search for the mnemonic in the table and return the result */
     return bsearch (Mnemo, OPCTable, OP65_COUNT,
-                   sizeof (OPCTable[0]), FindCmp );
+                    sizeof (OPCTable[0]), FindCmp );
 }
 
 
@@ -632,25 +632,25 @@ unsigned GetInsnSize (opc_t OPC, am_t AM)
     /* Get the opcode desc and check the size given there */
     const OPCDesc* D = &OPCTable[OPC];
     if (D->Size != 0) {
-       return D->Size;
+        return D->Size;
     }
 
     /* Check the addressing mode. */
     switch (AM) {
-       case AM65_IMP:     return 1;
-       case AM65_ACC:     return 1;
-       case AM65_IMM:     return 2;
-       case AM65_ZP:      return 2;
-       case AM65_ZPX:     return 2;
-       case AM65_ABS:     return 3;
-       case AM65_ABSX:    return 3;
-       case AM65_ABSY:    return 3;
-       case AM65_ZPX_IND: return 2;
-       case AM65_ZP_INDY: return 2;
-       case AM65_ZP_IND:  return 2;
-       default:
-           Internal ("Invalid addressing mode");
-           return 0;
+        case AM65_IMP:     return 1;
+        case AM65_ACC:     return 1;
+        case AM65_IMM:     return 2;
+        case AM65_ZP:      return 2;
+        case AM65_ZPX:     return 2;
+        case AM65_ABS:     return 3;
+        case AM65_ABSX:    return 3;
+        case AM65_ABSY:    return 3;
+        case AM65_ZPX_IND: return 2;
+        case AM65_ZP_INDY: return 2;
+        case AM65_ZP_IND:  return 2;
+        default:
+            Internal ("Invalid addressing mode");
+            return 0;
     }
 }
 
@@ -663,13 +663,13 @@ unsigned char GetAMUseInfo (am_t AM)
 {
     /* Check the addressing mode. */
     switch (AM) {
-               case AM65_ACC:     return REG_A;
-               case AM65_ZPX:     return REG_X;
-               case AM65_ABSX:    return REG_X;
-               case AM65_ABSY:    return REG_Y;
-               case AM65_ZPX_IND: return REG_X;
-               case AM65_ZP_INDY: return REG_Y;
-               default:           return REG_NONE;
+        case AM65_ACC:     return REG_A;
+        case AM65_ZPX:     return REG_X;
+        case AM65_ABSX:    return REG_X;
+        case AM65_ABSY:    return REG_Y;
+        case AM65_ZPX_IND: return REG_X;
+        case AM65_ZP_INDY: return REG_Y;
+        default:           return REG_NONE;
     }
 }
 
@@ -679,25 +679,25 @@ opc_t GetInverseBranch (opc_t OPC)
 /* Return a branch that reverse the condition of the branch given in OPC */
 {
     switch (OPC) {
-       case OP65_BCC:  return OP65_BCS;
-       case OP65_BCS:  return OP65_BCC;
-       case OP65_BEQ:  return OP65_BNE;
-       case OP65_BMI:  return OP65_BPL;
-       case OP65_BNE:  return OP65_BEQ;
-       case OP65_BPL:  return OP65_BMI;
-               case OP65_BVC:  return OP65_BVS;
-       case OP65_BVS:  return OP65_BVC;
-               case OP65_JCC:  return OP65_JCS;
-               case OP65_JCS:  return OP65_JCC;
-               case OP65_JEQ:  return OP65_JNE;
-               case OP65_JMI:  return OP65_JPL;
-               case OP65_JNE:  return OP65_JEQ;
-               case OP65_JPL:  return OP65_JMI;
-               case OP65_JVC:  return OP65_JVS;
-               case OP65_JVS:  return OP65_JVC;
-       default:
-           Internal ("GetInverseBranch: Invalid opcode: %d", OPC);
-           return 0;
+        case OP65_BCC:  return OP65_BCS;
+        case OP65_BCS:  return OP65_BCC;
+        case OP65_BEQ:  return OP65_BNE;
+        case OP65_BMI:  return OP65_BPL;
+        case OP65_BNE:  return OP65_BEQ;
+        case OP65_BPL:  return OP65_BMI;
+        case OP65_BVC:  return OP65_BVS;
+        case OP65_BVS:  return OP65_BVC;
+        case OP65_JCC:  return OP65_JCS;
+        case OP65_JCS:  return OP65_JCC;
+        case OP65_JEQ:  return OP65_JNE;
+        case OP65_JMI:  return OP65_JPL;
+        case OP65_JNE:  return OP65_JEQ;
+        case OP65_JPL:  return OP65_JMI;
+        case OP65_JVC:  return OP65_JVS;
+        case OP65_JVS:  return OP65_JVC;
+        default:
+            Internal ("GetInverseBranch: Invalid opcode: %d", OPC);
+            return 0;
     }
 }
 
@@ -709,27 +709,27 @@ opc_t MakeShortBranch (opc_t OPC)
  */
 {
     switch (OPC) {
-               case OP65_BCC:
-               case OP65_JCC:  return OP65_BCC;
-               case OP65_BCS:
-               case OP65_JCS:  return OP65_BCS;
-               case OP65_BEQ:
-               case OP65_JEQ:  return OP65_BEQ;
-               case OP65_BMI:
-               case OP65_JMI:  return OP65_BMI;
-               case OP65_BNE:
-               case OP65_JNE:  return OP65_BNE;
-               case OP65_BPL:
-               case OP65_JPL:  return OP65_BPL;
-               case OP65_BVC:
-               case OP65_JVC:  return OP65_BVC;
-               case OP65_BVS:
-               case OP65_JVS:  return OP65_BVS;
-               case OP65_BRA:
-       case OP65_JMP:  return (CPUIsets[CPU] & CPU_ISET_65SC02)? OP65_BRA : OP65_JMP;
-               default:
-           Internal ("MakeShortBranch: Invalid opcode: %d", OPC);
-           return 0;
+        case OP65_BCC:
+        case OP65_JCC:  return OP65_BCC;
+        case OP65_BCS:
+        case OP65_JCS:  return OP65_BCS;
+        case OP65_BEQ:
+        case OP65_JEQ:  return OP65_BEQ;
+        case OP65_BMI:
+        case OP65_JMI:  return OP65_BMI;
+        case OP65_BNE:
+        case OP65_JNE:  return OP65_BNE;
+        case OP65_BPL:
+        case OP65_JPL:  return OP65_BPL;
+        case OP65_BVC:
+        case OP65_JVC:  return OP65_BVC;
+        case OP65_BVS:
+        case OP65_JVS:  return OP65_BVS;
+        case OP65_BRA:
+        case OP65_JMP:  return (CPUIsets[CPU] & CPU_ISET_65SC02)? OP65_BRA : OP65_JMP;
+        default:
+            Internal ("MakeShortBranch: Invalid opcode: %d", OPC);
+            return 0;
     }
 }
 
@@ -741,27 +741,27 @@ opc_t MakeLongBranch (opc_t OPC)
  */
 {
     switch (OPC) {
-               case OP65_BCC:
-               case OP65_JCC:  return OP65_JCC;
-               case OP65_BCS:
-               case OP65_JCS:  return OP65_JCS;
-               case OP65_BEQ:
-               case OP65_JEQ:  return OP65_JEQ;
-               case OP65_BMI:
-               case OP65_JMI:  return OP65_JMI;
-               case OP65_BNE:
-               case OP65_JNE:  return OP65_JNE;
-               case OP65_BPL:
-               case OP65_JPL:  return OP65_JPL;
-               case OP65_BVC:
-               case OP65_JVC:  return OP65_JVC;
-               case OP65_BVS:
-               case OP65_JVS:  return OP65_JVS;
-       case OP65_BRA:
-       case OP65_JMP:  return OP65_JMP;
-               default:
-           Internal ("MakeLongBranch: Invalid opcode: %d", OPC);
-           return 0;
+        case OP65_BCC:
+        case OP65_JCC:  return OP65_JCC;
+        case OP65_BCS:
+        case OP65_JCS:  return OP65_JCS;
+        case OP65_BEQ:
+        case OP65_JEQ:  return OP65_JEQ;
+        case OP65_BMI:
+        case OP65_JMI:  return OP65_JMI;
+        case OP65_BNE:
+        case OP65_JNE:  return OP65_JNE;
+        case OP65_BPL:
+        case OP65_JPL:  return OP65_JPL;
+        case OP65_BVC:
+        case OP65_JVC:  return OP65_JVC;
+        case OP65_BVS:
+        case OP65_JVS:  return OP65_JVS;
+        case OP65_BRA:
+        case OP65_JMP:  return OP65_JMP;
+        default:
+            Internal ("MakeLongBranch: Invalid opcode: %d", OPC);
+            return 0;
     }
 }
 
@@ -771,25 +771,25 @@ bc_t GetBranchCond (opc_t OPC)
 /* Get the condition for the conditional branch in OPC */
 {
     switch (OPC) {
-               case OP65_BCC:  return BC_CC;
-               case OP65_BCS:  return BC_CS;
-               case OP65_BEQ:  return BC_EQ;
-               case OP65_BMI:  return BC_MI;
-               case OP65_BNE:  return BC_NE;
-               case OP65_BPL:  return BC_PL;
-               case OP65_BVC:  return BC_VC;
-               case OP65_BVS:  return BC_VS;
-               case OP65_JCC:  return BC_CC;
-               case OP65_JCS:  return BC_CS;
-               case OP65_JEQ:  return BC_EQ;
-               case OP65_JMI:  return BC_MI;
-               case OP65_JNE:  return BC_NE;
-               case OP65_JPL:  return BC_PL;
-               case OP65_JVC:  return BC_VC;
-               case OP65_JVS:  return BC_VS;
-       default:
-           Internal ("GetBranchCond: Invalid opcode: %d", OPC);
-           return 0;
+        case OP65_BCC:  return BC_CC;
+        case OP65_BCS:  return BC_CS;
+        case OP65_BEQ:  return BC_EQ;
+        case OP65_BMI:  return BC_MI;
+        case OP65_BNE:  return BC_NE;
+        case OP65_BPL:  return BC_PL;
+        case OP65_BVC:  return BC_VC;
+        case OP65_BVS:  return BC_VS;
+        case OP65_JCC:  return BC_CC;
+        case OP65_JCS:  return BC_CS;
+        case OP65_JEQ:  return BC_EQ;
+        case OP65_JMI:  return BC_MI;
+        case OP65_JNE:  return BC_NE;
+        case OP65_JPL:  return BC_PL;
+        case OP65_JVC:  return BC_VC;
+        case OP65_JVS:  return BC_VS;
+        default:
+            Internal ("GetBranchCond: Invalid opcode: %d", OPC);
+            return 0;
     }
 }
 
@@ -799,17 +799,17 @@ bc_t GetInverseCond (bc_t BC)
 /* Return the inverse condition of the given one */
 {
     switch (BC) {
-               case BC_CC:     return BC_CS;
-               case BC_CS:     return BC_CC;
-               case BC_EQ:     return BC_NE;
-               case BC_MI:     return BC_PL;
-               case BC_NE:     return BC_EQ;
-               case BC_PL:     return BC_MI;
-               case BC_VC:     return BC_VS;
-               case BC_VS:     return BC_VC;
-               default:
-                   Internal ("GetInverseCond: Invalid condition: %d", BC);
-                   return 0;
+        case BC_CC:     return BC_CS;
+        case BC_CS:     return BC_CC;
+        case BC_EQ:     return BC_NE;
+        case BC_MI:     return BC_PL;
+        case BC_NE:     return BC_EQ;
+        case BC_PL:     return BC_MI;
+        case BC_VC:     return BC_VS;
+        case BC_VS:     return BC_VC;
+        default:
+            Internal ("GetInverseCond: Invalid condition: %d", BC);
+            return 0;
     }
 }
 
index fb9e3e53e32244b00e593cadb43e60b441c37a7a..7dc5262c88f362280e8e921a34cf4723b6209f23 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opcodes.h                                 */
+/*                                 opcodes.h                                 */
 /*                                                                           */
-/*                 Opcode and addressing mode definitions                   */
+/*                  Opcode and addressing mode definitions                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -132,18 +132,18 @@ typedef enum {
 
 /* 65XX addressing modes */
 typedef enum {
-    AM65_IMP,                  /* implicit */
-    AM65_ACC,                  /* accumulator */
-    AM65_IMM,                  /* immidiate */
-    AM65_ZP,                   /* zeropage */
-    AM65_ZPX,                  /* zeropage,X */
+    AM65_IMP,                   /* implicit */
+    AM65_ACC,                   /* accumulator */
+    AM65_IMM,                   /* immidiate */
+    AM65_ZP,                    /* zeropage */
+    AM65_ZPX,                   /* zeropage,X */
     AM65_ZPY,                   /* zeropage,Y */
-    AM65_ABS,                  /* absolute */
-    AM65_ABSX,                 /* absolute,X */
-    AM65_ABSY,                 /* absolute,Y */
-    AM65_ZPX_IND,                      /* (zeropage,x) */
-    AM65_ZP_INDY,                      /* (zeropage),y */
-    AM65_ZP_IND,               /* (zeropage) */
+    AM65_ABS,                   /* absolute */
+    AM65_ABSX,                  /* absolute,X */
+    AM65_ABSY,                  /* absolute,Y */
+    AM65_ZPX_IND,               /* (zeropage,x) */
+    AM65_ZP_INDY,               /* (zeropage),y */
+    AM65_ZP_IND,                /* (zeropage) */
     AM65_BRA                    /* branch */
 } am_t;
 
@@ -160,14 +160,14 @@ typedef enum {
 } bc_t;
 
 /* Opcode info */
-#define OF_NONE                0x0000U /* No additional information */
-#define OF_UBRA                0x0001U /* Unconditional branch */
-#define OF_CBRA                0x0002U /* Conditional branch */
-#define OF_ZBRA         0x0004U        /* Branch on zero flag condition */
+#define OF_NONE         0x0000U /* No additional information */
+#define OF_UBRA         0x0001U /* Unconditional branch */
+#define OF_CBRA         0x0002U /* Conditional branch */
+#define OF_ZBRA         0x0004U /* Branch on zero flag condition */
 #define OF_FBRA         0x0008U /* Branch on cond set by a load */
-#define OF_LBRA         0x0010U        /* Jump/branch is long */
-#define OF_RET                 0x0020U /* Return from function */
-#define OF_LOAD         0x0040U        /* Register load */
+#define OF_LBRA         0x0010U /* Jump/branch is long */
+#define OF_RET          0x0020U /* Return from function */
+#define OF_LOAD         0x0040U /* Register load */
 #define OF_STORE        0x0080U /* Register store */
 #define OF_XFR          0x0100U /* Transfer instruction */
 #define OF_CALL         0x0200U /* A subroutine call */
@@ -177,17 +177,17 @@ typedef enum {
 #define OF_NOIMP        0x2000U /* Implicit addressing mode is actually A */
 
 /* Combined infos */
-#define OF_BRA         (OF_UBRA | OF_CBRA)     /* Operation is a jump/branch */
-#define OF_DEAD        (OF_UBRA | OF_RET)      /* Dead end - no exec behind this point */
+#define OF_BRA  (OF_UBRA | OF_CBRA)     /* Operation is a jump/branch */
+#define OF_DEAD (OF_UBRA | OF_RET)      /* Dead end - no exec behind this point */
 
 /* Opcode description */
 typedef struct {
-    opc_t                  OPC;                /* Opcode */
-    char                   Mnemo[9];           /* Mnemonic */
-    unsigned char   Size;                      /* Size, 0 = check addressing mode */
-    unsigned short  Use;                       /* Registers used by this insn */
-    unsigned short  Chg;                       /* Registers changed by this insn */
-    unsigned short  Info;                      /* Additional information */
+    opc_t           OPC;                /* Opcode */
+    char            Mnemo[9];           /* Mnemonic */
+    unsigned char   Size;               /* Size, 0 = check addressing mode */
+    unsigned short  Use;                /* Registers used by this insn */
+    unsigned short  Chg;                /* Registers changed by this insn */
+    unsigned short  Info;               /* Additional information */
 } OPCDesc;
 
 /* Opcode description table */
@@ -196,7 +196,7 @@ extern const OPCDesc OPCTable[OP65_COUNT];
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -217,7 +217,7 @@ INLINE const OPCDesc* GetOPCDesc (opc_t OPC)
     return &OPCTable [OPC];
 }
 #else
-#  define GetOPCDesc(OPC)      (&OPCTable [(OPC)])
+#  define GetOPCDesc(OPC)       (&OPCTable [(OPC)])
 #endif
 
 #if defined(HAVE_INLINE)
@@ -228,7 +228,7 @@ INLINE unsigned GetOPCInfo (opc_t OPC)
     return OPCTable[OPC].Info;
 }
 #else
-#  define GetOPCInfo(OPC)      (OPCTable[(OPC)].Info)
+#  define GetOPCInfo(OPC)       (OPCTable[(OPC)].Info)
 #endif
 
 unsigned char GetAMUseInfo (am_t AM);
index 5db77d0c42045d5f90bc7d9f81ce55652c702f10..92a66108e47769ba0e78a306bf30272c4556ebc9 100644 (file)
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -66,7 +66,7 @@ FILE* OutputFile = 0;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 485e20a463247cad00dbbf449e94d357372ccd6e..bcabba7a9e837e3dca69444d782f0e0d94e93fa6 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,7 +60,7 @@ extern FILE* OutputFile;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 08d62ae20c7a2cb73efe11c6be563f4b567b7bfd..980d46a20796de73bb6b76d1560f1a50306b58b9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                pragma.c                                  */
+/*                                 pragma.c                                  */
 /*                                                                           */
-/*                 Pragma handling for the cc65 C compiler                  */
+/*                  Pragma handling for the cc65 C compiler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -55,7 +55,7 @@
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
@@ -93,34 +93,34 @@ typedef enum {
 
 /* Pragma table */
 static const struct Pragma {
-    const char*        Key;            /* Keyword */
-    pragma_t           Tok;            /* Token */
+    const char* Key;            /* Keyword */
+    pragma_t    Tok;            /* Token */
 } Pragmas[PRAGMA_COUNT] = {
     { "align",                  PRAGMA_ALIGN            },
     { "bss-name",               PRAGMA_BSS_NAME         },
     { "bssseg",                 PRAGMA_BSSSEG           },      /* obsolete */
     { "charmap",                PRAGMA_CHARMAP          },
     { "check-stack",            PRAGMA_CHECK_STACK      },
-    { "checkstack",             PRAGMA_CHECKSTACK      },      /* obsolete */
+    { "checkstack",             PRAGMA_CHECKSTACK       },      /* obsolete */
     { "code-name",              PRAGMA_CODE_NAME        },
-    { "codeseg",                PRAGMA_CODESEG         },      /* obsolete */
+    { "codeseg",                PRAGMA_CODESEG          },      /* obsolete */
     { "codesize",               PRAGMA_CODESIZE         },
     { "data-name",              PRAGMA_DATA_NAME        },
-    { "dataseg",                PRAGMA_DATASEG         },      /* obsolete */
+    { "dataseg",                PRAGMA_DATASEG          },      /* obsolete */
     { "local-strings",          PRAGMA_LOCAL_STRINGS    },
     { "optimize",               PRAGMA_OPTIMIZE         },
     { "register-vars",          PRAGMA_REGISTER_VARS    },
-    { "regvaraddr",             PRAGMA_REGVARADDR      },
+    { "regvaraddr",             PRAGMA_REGVARADDR       },
     { "regvars",                PRAGMA_REGVARS          },      /* obsolete */
     { "rodata-name",            PRAGMA_RODATA_NAME      },
-    { "rodataseg",              PRAGMA_RODATASEG       },      /* obsolete */
+    { "rodataseg",              PRAGMA_RODATASEG        },      /* obsolete */
     { "signed-chars",           PRAGMA_SIGNED_CHARS     },
-    { "signedchars",            PRAGMA_SIGNEDCHARS     },      /* obsolete */
+    { "signedchars",            PRAGMA_SIGNEDCHARS      },      /* obsolete */
     { "static-locals",          PRAGMA_STATIC_LOCALS    },
-    { "staticlocals",           PRAGMA_STATICLOCALS    },      /* obsolete */
+    { "staticlocals",           PRAGMA_STATICLOCALS     },      /* obsolete */
     { "warn",                   PRAGMA_WARN             },
     { "writable-strings",       PRAGMA_WRITABLE_STRINGS },
-    { "zpsym",                  PRAGMA_ZPSYM           },
+    { "zpsym",                  PRAGMA_ZPSYM            },
 };
 
 /* Result of ParsePushPop */
@@ -192,7 +192,7 @@ static int GetString (StrBuf* B, StrBuf* S)
  */
 {
     if (!SB_GetString (B, S)) {
-       Error ("String literal expected");
+        Error ("String literal expected");
         return 0;
     }
     return 1;
@@ -206,7 +206,7 @@ static int GetNumber (StrBuf* B, long* Val)
  */
 {
     if (!SB_GetNumber (B, Val)) {
-       Error ("Constant integer expected");
+        Error ("Constant integer expected");
         return 0;
     }
     return 1;
@@ -366,8 +366,8 @@ static void StringPragma (StrBuf* B, void (*Func) (const char*))
 
     /* We expect a string here */
     if (GetString (B, &S)) {
-               /* Call the given function with the string argument */
-       Func (SB_GetConstBuf (&S));
+        /* Call the given function with the string argument */
+        Func (SB_GetConstBuf (&S));
     }
 
     /* Call the string buf destructor */
@@ -459,7 +459,7 @@ static void CharMapPragma (StrBuf* B)
         } else {
             Error ("Character index out of range");
         }
-       return;
+        return;
     }
 
     /* Comma follows */
@@ -478,7 +478,7 @@ static void CharMapPragma (StrBuf* B)
         } else {
             Error ("Character code out of range");
         }
-       return;
+        return;
     }
 
     /* Remap the character */
@@ -675,13 +675,13 @@ static void ParsePragma (void)
 
     /* Do we know this pragma? */
     if (Pragma == PRAGMA_ILLEGAL) {
-               /* According to the ANSI standard, we're not allowed to generate errors
-                * for unknown pragmas, but warn about them if enabled (the default).
-                */
+        /* According to the ANSI standard, we're not allowed to generate errors
+         * for unknown pragmas, but warn about them if enabled (the default).
+         */
         if (IS_Get (&WarnUnknownPragma)) {
-                   Warning ("Unknown pragma `%s'", SB_GetConstBuf (&Ident));
+            Warning ("Unknown pragma `%s'", SB_GetConstBuf (&Ident));
         }
-               goto ExitPoint;
+        goto ExitPoint;
     }
 
     /* Check for an open paren */
@@ -701,41 +701,41 @@ static void ParsePragma (void)
             IntPragma (&B, &DataAlignment, 1, 4096);
             break;
 
-       case PRAGMA_BSSSEG:
+        case PRAGMA_BSSSEG:
             Warning ("#pragma bssseg is obsolete, please use #pragma bss-name instead");
             /* FALLTHROUGH */
         case PRAGMA_BSS_NAME:
-           SegNamePragma (&B, SEG_BSS);
-           break;
+            SegNamePragma (&B, SEG_BSS);
+            break;
 
-       case PRAGMA_CHARMAP:
-           CharMapPragma (&B);
-           break;
+        case PRAGMA_CHARMAP:
+            CharMapPragma (&B);
+            break;
 
-       case PRAGMA_CHECKSTACK:
+        case PRAGMA_CHECKSTACK:
             Warning ("#pragma checkstack is obsolete, please use #pragma check-stack instead");
             /* FALLTHROUGH */
         case PRAGMA_CHECK_STACK:
-           FlagPragma (&B, &CheckStack);
-           break;
+            FlagPragma (&B, &CheckStack);
+            break;
 
-       case PRAGMA_CODESEG:
+        case PRAGMA_CODESEG:
             Warning ("#pragma codeseg is obsolete, please use #pragma code-name instead");
             /* FALLTHROUGH */
         case PRAGMA_CODE_NAME:
-           SegNamePragma (&B, SEG_CODE);
-           break;
+            SegNamePragma (&B, SEG_CODE);
+            break;
 
-       case PRAGMA_CODESIZE:
-           IntPragma (&B, &CodeSizeFactor, 10, 1000);
-           break;
+        case PRAGMA_CODESIZE:
+            IntPragma (&B, &CodeSizeFactor, 10, 1000);
+            break;
 
-       case PRAGMA_DATASEG:
+        case PRAGMA_DATASEG:
             Warning ("#pragma dataseg is obsolete, please use #pragma data-name instead");
             /* FALLTHROUGH */
         case PRAGMA_DATA_NAME:
-           SegNamePragma (&B, SEG_DATA);
-           break;
+            SegNamePragma (&B, SEG_DATA);
+            break;
 
         case PRAGMA_LOCAL_STRINGS:
             FlagPragma (&B, &LocalStrings);
@@ -745,37 +745,37 @@ static void ParsePragma (void)
             FlagPragma (&B, &Optimize);
             break;
 
-       case PRAGMA_REGVARADDR:
-                   FlagPragma (&B, &AllowRegVarAddr);
-           break;
+        case PRAGMA_REGVARADDR:
+            FlagPragma (&B, &AllowRegVarAddr);
+            break;
 
-       case PRAGMA_REGVARS:
+        case PRAGMA_REGVARS:
             Warning ("#pragma regvars is obsolete, please use #pragma register-vars instead");
             /* FALLTHROUGH */
         case PRAGMA_REGISTER_VARS:
-                   FlagPragma (&B, &EnableRegVars);
-           break;
+            FlagPragma (&B, &EnableRegVars);
+            break;
 
-       case PRAGMA_RODATASEG:
+        case PRAGMA_RODATASEG:
             Warning ("#pragma rodataseg is obsolete, please use #pragma rodata-name instead");
             /* FALLTHROUGH */
         case PRAGMA_RODATA_NAME:
-           SegNamePragma (&B, SEG_RODATA);
-           break;
+            SegNamePragma (&B, SEG_RODATA);
+            break;
 
-       case PRAGMA_SIGNEDCHARS:
+        case PRAGMA_SIGNEDCHARS:
             Warning ("#pragma signedchars is obsolete, please use #pragma signed-chars instead");
             /* FALLTHROUGH */
         case PRAGMA_SIGNED_CHARS:
-                   FlagPragma (&B, &SignedChars);
-           break;
+            FlagPragma (&B, &SignedChars);
+            break;
 
-       case PRAGMA_STATICLOCALS:
+        case PRAGMA_STATICLOCALS:
             Warning ("#pragma staticlocals is obsolete, please use #pragma static-locals instead");
             /* FALLTHROUGH */
         case PRAGMA_STATIC_LOCALS:
-           FlagPragma (&B, &StaticLocals);
-           break;
+            FlagPragma (&B, &StaticLocals);
+            break;
 
         case PRAGMA_WARN:
             WarnPragma (&B);
@@ -785,12 +785,12 @@ static void ParsePragma (void)
             FlagPragma (&B, &WritableStrings);
             break;
 
-       case PRAGMA_ZPSYM:
-           StringPragma (&B, MakeZPSym);
-           break;
+        case PRAGMA_ZPSYM:
+            StringPragma (&B, MakeZPSym);
+            break;
 
-       default:
-                   Internal ("Invalid pragma");
+        default:
+            Internal ("Invalid pragma");
     }
 
     /* Closing paren expected */
@@ -828,24 +828,24 @@ void DoPragma (void)
 
     /* We expect an opening paren */
     if (!ConsumeLParen ()) {
-       return;
+        return;
     }
 
     /* String literal */
     if (CurTok.Tok != TOK_SCONST) {
 
-       /* Print a diagnostic */
-       Error ("String literal expected");
+        /* Print a diagnostic */
+        Error ("String literal expected");
 
-       /* Try some smart error recovery: Skip tokens until we reach the
-        * enclosing paren, or a semicolon.
-        */
-               PragmaErrorSkip ();
+        /* Try some smart error recovery: Skip tokens until we reach the
+         * enclosing paren, or a semicolon.
+         */
+        PragmaErrorSkip ();
 
     } else {
 
-       /* Parse the _Pragma statement */
-       ParsePragma ();
+        /* Parse the _Pragma statement */
+        ParsePragma ();
     }
 
     /* Closing paren needed */
index 86ef28697bbcac8993128e5157e9235b26f6a7d9..d75273fa6b02f016e28cba99a9c92dff05e4dc3e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                pragma.h                                  */
+/*                                 pragma.h                                  */
 /*                                                                           */
-/*                 Pragma handling for the cc65 C compiler                  */
+/*                  Pragma handling for the cc65 C compiler                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8edeacdd79bb20ab8761b88f402feb3445358986..199388deb2a16c2d52185e11ed8345ee1459a67f 100644 (file)
@@ -62,7 +62,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -93,7 +93,7 @@ struct MacroExp {
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -109,7 +109,7 @@ static void MacroReplacement (StrBuf* Source, StrBuf* Target);
 
 
 /*****************************************************************************/
-/*                  Low level preprocessor token handling                   */
+/*                   Low level preprocessor token handling                   */
 /*****************************************************************************/
 
 
@@ -136,26 +136,26 @@ typedef enum {
 
 /* Preprocessor keyword to token mapping table */
 static const struct PPToken {
-    const char*        Key;            /* Keyword */
-    pptoken_t          Tok;            /* Token */
+    const char* Key;            /* Keyword */
+    pptoken_t   Tok;            /* Token */
 } PPTokens[] = {
-    {          "define",       PP_DEFINE       },
+    {   "define",       PP_DEFINE       },
     {   "elif",         PP_ELIF         },
-    {          "else",         PP_ELSE         },
-    {          "endif",        PP_ENDIF        },
-    {          "error",        PP_ERROR        },
-    {          "if",           PP_IF           },
-    {          "ifdef",        PP_IFDEF        },
-    {          "ifndef",       PP_IFNDEF       },
-    {          "include",      PP_INCLUDE      },
-    {   "line",                PP_LINE         },
-    {          "pragma",       PP_PRAGMA       },
-    {          "undef",        PP_UNDEF        },
-    {          "warning",      PP_WARNING      },
+    {   "else",         PP_ELSE         },
+    {   "endif",        PP_ENDIF        },
+    {   "error",        PP_ERROR        },
+    {   "if",           PP_IF           },
+    {   "ifdef",        PP_IFDEF        },
+    {   "ifndef",       PP_IFNDEF       },
+    {   "include",      PP_INCLUDE      },
+    {   "line",         PP_LINE         },
+    {   "pragma",       PP_PRAGMA       },
+    {   "undef",        PP_UNDEF        },
+    {   "warning",      PP_WARNING      },
 };
 
 /* Number of preprocessor tokens */
-#define PPTOKEN_COUNT          (sizeof(PPTokens) / sizeof(PPTokens[0]))
+#define PPTOKEN_COUNT   (sizeof(PPTokens) / sizeof(PPTokens[0]))
 
 
 
@@ -246,7 +246,7 @@ static int ME_ArgIsVariadic (const MacroExp* E)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -296,18 +296,18 @@ static void OldStyleComment (void)
 
     /* Skip the comment */
     while (CurC != '*' || NextC != '/') {
-       if (CurC == '\0') {
-           if (NextLine () == 0) {
-               PPError ("End-of-file reached in comment starting at line %u",
-                        StartingLine);
-               return;
-           }
-       } else {
-           if (CurC == '/' && NextC == '*') {
-               PPWarning ("`/*' found inside a comment");
-           }
-           NextChar ();
-       }
+        if (CurC == '\0') {
+            if (NextLine () == 0) {
+                PPError ("End-of-file reached in comment starting at line %u",
+                         StartingLine);
+                return;
+            }
+        } else {
+            if (CurC == '/' && NextC == '*') {
+                PPWarning ("`/*' found inside a comment");
+            }
+            NextChar ();
+        }
     }
 
     /* Skip the end of comment chars */
@@ -326,10 +326,10 @@ static void NewStyleComment (void)
      * source line is denoted by a lf (\n) character.
      */
     do {
-       NextChar ();
+        NextChar ();
     } while (CurC != '\n' && CurC != '\0');
     if (CurC == '\n') {
-       NextChar ();
+        NextChar ();
     }
 }
 
@@ -374,27 +374,27 @@ static void CopyQuotedString (StrBuf* Target)
 
     /* Copy the characters inside the string */
     while (CurC != '\0' && CurC != Quote) {
-               /* Keep an escaped char */
-       if (CurC == '\\') {
-           SB_AppendChar (Target, CurC);
-           NextChar ();
-       }
-       /* Copy the character */
-               SB_AppendChar (Target, CurC);
-       NextChar ();
+        /* Keep an escaped char */
+        if (CurC == '\\') {
+            SB_AppendChar (Target, CurC);
+            NextChar ();
+        }
+        /* Copy the character */
+        SB_AppendChar (Target, CurC);
+        NextChar ();
     }
 
     /* If we had a terminating quote, copy it */
     if (CurC != '\0') {
-       SB_AppendChar (Target, CurC);
-       NextChar ();
+        SB_AppendChar (Target, CurC);
+        NextChar ();
     }
 }
 
 
 
 /*****************************************************************************/
-/*                               Macro stuff                                */
+/*                                Macro stuff                                */
 /*****************************************************************************/
 
 
@@ -405,11 +405,11 @@ static int MacName (char* Ident)
  */
 {
     if (IsSym (Ident) == 0) {
-       PPError ("Identifier expected");
-       ClearLine ();
-       return 0;
+        PPError ("Identifier expected");
+        ClearLine ();
+        return 0;
     } else {
-       return 1;
+        return 1;
     }
 }
 
@@ -418,41 +418,41 @@ static int MacName (char* Ident)
 static void ReadMacroArgs (MacroExp* E)
 /* Identify the arguments to a macro call */
 {
-    unsigned   Parens;         /* Number of open parenthesis */
+    unsigned    Parens;         /* Number of open parenthesis */
     StrBuf      Arg = STATIC_STRBUF_INITIALIZER;
 
     /* Read the actual macro arguments */
     Parens = 0;
     while (1) {
-               if (CurC == '(') {
+        if (CurC == '(') {
 
-           /* Nested parenthesis */
-                   SB_AppendChar (&Arg, CurC);
-           NextChar ();
-           ++Parens;
+            /* Nested parenthesis */
+            SB_AppendChar (&Arg, CurC);
+            NextChar ();
+            ++Parens;
 
-       } else if (IsQuote (CurC)) {
+        } else if (IsQuote (CurC)) {
 
             /* Quoted string - just copy */
-                   CopyQuotedString (&Arg);
+            CopyQuotedString (&Arg);
 
-       } else if (CurC == ',' || CurC == ')') {
+        } else if (CurC == ',' || CurC == ')') {
 
-           if (Parens) {
-               /* Comma or right paren inside nested parenthesis */
-               if (CurC == ')') {
-                   --Parens;
-               }
-                       SB_AppendChar (&Arg, CurC);
-               NextChar ();
+            if (Parens) {
+                /* Comma or right paren inside nested parenthesis */
+                if (CurC == ')') {
+                    --Parens;
+                }
+                SB_AppendChar (&Arg, CurC);
+                NextChar ();
             } else if (CurC == ',' && ME_ArgIsVariadic (E)) {
                 /* It's a comma, but we're inside a variadic macro argument, so
                  * just copy it and proceed.
                  */
                 SB_AppendChar (&Arg, CurC);
                 NextChar ();
-           } else {
-               /* End of actual argument. Remove whitespace from the end. */
+            } else {
+                /* End of actual argument. Remove whitespace from the end. */
                 while (IsSpace (SB_LookAtLast (&Arg))) {
                     SB_Drop (&Arg, 1);
                 }
@@ -462,44 +462,44 @@ static void ReadMacroArgs (MacroExp* E)
                  */
                 if (CurC != ')' || SB_NotEmpty (&Arg) || E->M->ArgCount > 0) {
                     ME_AppendActual (E, &Arg);
-               }
+                }
 
-               /* Check for end of macro param list */
-               if (CurC == ')') {
-                   NextChar ();
-                   break;
-               }
+                /* Check for end of macro param list */
+                if (CurC == ')') {
+                    NextChar ();
+                    break;
+                }
 
-                       /* Start the next param */
-               NextChar ();
+                /* Start the next param */
+                NextChar ();
                 SB_Clear (&Arg);
-           }
-       } else if (SkipWhitespace (1)) {
-           /* Squeeze runs of blanks within an arg */
+            }
+        } else if (SkipWhitespace (1)) {
+            /* Squeeze runs of blanks within an arg */
             if (SB_NotEmpty (&Arg)) {
                 SB_AppendChar (&Arg, ' ');
             }
-       } else if (CurC == '/' && NextC == '*') {
+        } else if (CurC == '/' && NextC == '*') {
             if (SB_NotEmpty (&Arg)) {
                 SB_AppendChar (&Arg, ' ');
             }
-           OldStyleComment ();
-       } else if (IS_Get (&Standard) >= STD_C99 && CurC == '/' && NextC == '/') {
+            OldStyleComment ();
+        } else if (IS_Get (&Standard) >= STD_C99 && CurC == '/' && NextC == '/') {
             if (SB_NotEmpty (&Arg)) {
                 SB_AppendChar (&Arg, ' ');
             }
-           NewStyleComment ();
-       } else if (CurC == '\0') {
-           /* End of input inside macro argument list */
+            NewStyleComment ();
+        } else if (CurC == '\0') {
+            /* End of input inside macro argument list */
             PPError ("Unterminated argument list invoking macro `%s'", E->M->Name);
 
             ClearLine ();
             break;
-       } else {
-           /* Just copy the character */
-                   SB_AppendChar (&Arg, CurC);
-           NextChar ();
-       }
+        } else {
+            /* Just copy the character */
+            SB_AppendChar (&Arg, CurC);
+            NextChar ();
+        }
     }
 
     /* Deallocate string buf resources */
@@ -511,7 +511,7 @@ static void ReadMacroArgs (MacroExp* E)
 static void MacroArgSubst (MacroExp* E)
 /* Argument substitution according to ISO/IEC 9899:1999 (E), 6.10.3.1ff */
 {
-    ident      Ident;
+    ident       Ident;
     int         ArgIdx;
     StrBuf*     OldSource;
     StrBuf*     Arg;
@@ -526,8 +526,8 @@ static void MacroArgSubst (MacroExp* E)
     /* Argument handling loop */
     while (CurC != '\0') {
 
-       /* If we have an identifier, check if it's a macro */
-       if (IsSym (Ident)) {
+        /* If we have an identifier, check if it's a macro */
+        if (IsSym (Ident)) {
 
             /* Check if it's a macro argument */
             if ((ArgIdx = FindMacroArg (E->M, Ident)) >= 0) {
@@ -564,9 +564,9 @@ static void MacroArgSubst (MacroExp* E)
             } else {
 
                 /* An identifier, keep it */
-               SB_AppendStr (&E->Replacement, Ident);
+                SB_AppendStr (&E->Replacement, Ident);
 
-           }
+            }
 
         } else if (CurC == '#' && NextC == '#') {
 
@@ -619,12 +619,12 @@ static void MacroArgSubst (MacroExp* E)
                 Stringize (Arg, &E->Replacement);
             }
 
-       } else if (IsQuote (CurC)) {
-           CopyQuotedString (&E->Replacement);
-       } else {
-           SB_AppendChar (&E->Replacement, CurC);
-           NextChar ();
-       }
+        } else if (IsQuote (CurC)) {
+            CopyQuotedString (&E->Replacement);
+        } else {
+            SB_AppendChar (&E->Replacement, CurC);
+            NextChar ();
+        }
     }
 
 #if 0
@@ -661,12 +661,12 @@ static void MacroCall (StrBuf* Target, Macro* M)
         StrBuf Arg = STATIC_STRBUF_INITIALIZER;
 
         /* Argument count mismatch */
-       PPError ("Macro argument count mismatch");
+        PPError ("Macro argument count mismatch");
 
-       /* Be sure to make enough empty arguments available */
-               while (CollCount (&E.ActualArgs) < (unsigned) M->ArgCount) {
+        /* Be sure to make enough empty arguments available */
+        while (CollCount (&E.ActualArgs) < (unsigned) M->ArgCount) {
             ME_AppendActual (&E, &Arg);
-       }
+        }
     }
 
     /* Replace macro arguments handling the # and ## operators */
@@ -737,15 +737,15 @@ static void ExpandMacro (StrBuf* Target, Macro* M)
 static void DefineMacro (void)
 /* Handle a macro definition. */
 {
-    ident      Ident;
-    Macro*     M;
-    Macro*     Existing;
+    ident       Ident;
+    Macro*      M;
+    Macro*      Existing;
     int         C89;
 
     /* Read the macro name */
     SkipWhitespace (0);
     if (!MacName (Ident)) {
-       return;
+        return;
     }
 
     /* Remember if we're in C89 mode */
@@ -760,19 +760,19 @@ static void DefineMacro (void)
     /* Check if this is a function like macro */
     if (CurC == '(') {
 
-       /* Skip the left paren */
-       NextChar ();
+        /* Skip the left paren */
+        NextChar ();
 
-               /* Set the marker that this is a function like macro */
-       M->ArgCount = 0;
+        /* Set the marker that this is a function like macro */
+        M->ArgCount = 0;
 
-       /* Read the formal parameter list */
-       while (1) {
+        /* Read the formal parameter list */
+        while (1) {
 
             /* Skip white space and check for end of parameter list */
-           SkipWhitespace (0);
-           if (CurC == ')') {
-               break;
+            SkipWhitespace (0);
+            if (CurC == ')') {
+                break;
             }
 
             /* The next token must be either an identifier, or - if not in
@@ -808,26 +808,26 @@ static void DefineMacro (void)
                 }
 
                 /* Add the macro argument */
-               AddMacroArg (M, Ident);
+                AddMacroArg (M, Ident);
             }
 
             /* If we had an ellipsis, or the next char is not a comma, we've
              * reached the end of the macro argument list.
              */
-           SkipWhitespace (0);
-                   if (M->Variadic || CurC != ',') {
-               break;
+            SkipWhitespace (0);
+            if (M->Variadic || CurC != ',') {
+                break;
             }
-           NextChar ();
-       }
-
-       /* Check for a right paren and eat it if we find one */
-       if (CurC != ')') {
-                   PPError ("`)' expected");
-           ClearLine ();
-           return;
-       }
-       NextChar ();
+            NextChar ();
+        }
+
+        /* Check for a right paren and eat it if we find one */
+        if (CurC != ')') {
+            PPError ("`)' expected");
+            ClearLine ();
+            return;
+        }
+        NextChar ();
     }
 
     /* Skip whitespace before the macro replacement */
@@ -860,7 +860,7 @@ static void DefineMacro (void)
 
 
 /*****************************************************************************/
-/*                              Preprocessing                               */
+/*                               Preprocessing                               */
 /*****************************************************************************/
 
 
@@ -871,8 +871,8 @@ static unsigned Pass1 (StrBuf* Source, StrBuf* Target)
  */
 {
     unsigned    IdentCount;
-    ident      Ident;
-    int        HaveParen;
+    ident       Ident;
+    int         HaveParen;
 
     /* Switch to the new input source */
     StrBuf* OldSource = InitLine (Source);
@@ -880,55 +880,55 @@ static unsigned Pass1 (StrBuf* Source, StrBuf* Target)
     /* Loop removing ws and comments */
     IdentCount = 0;
     while (CurC != '\0') {
-               if (SkipWhitespace (0)) {
+        if (SkipWhitespace (0)) {
             /* Squeeze runs of blanks */
             if (!IsSpace (SB_LookAtLast (Target))) {
                 SB_AppendChar (Target, ' ');
             }
-               } else if (IsSym (Ident)) {
-           if (Preprocessing && strcmp (Ident, "defined") == 0) {
-               /* Handle the "defined" operator */
-               SkipWhitespace (0);
-               HaveParen = 0;
-               if (CurC == '(') {
-                   HaveParen = 1;
-                   NextChar ();
-                   SkipWhitespace (0);
-               }
-               if (IsSym (Ident)) {
-                   SB_AppendChar (Target, IsMacro (Ident)? '1' : '0');
-                   if (HaveParen) {
-                       SkipWhitespace (0);
-                       if (CurC != ')') {
-                           PPError ("`)' expected");
-                       } else {
-                           NextChar ();
-                       }
-                   }
-               } else {
-                   PPError ("Identifier expected");
-                   SB_AppendChar (Target, '0');
-               }
-           } else {
-               ++IdentCount;
-               SB_AppendStr (Target, Ident);
-           }
-       } else if (IsQuote (CurC)) {
-           CopyQuotedString (Target);
-       } else if (CurC == '/' && NextC == '*') {
+        } else if (IsSym (Ident)) {
+            if (Preprocessing && strcmp (Ident, "defined") == 0) {
+                /* Handle the "defined" operator */
+                SkipWhitespace (0);
+                HaveParen = 0;
+                if (CurC == '(') {
+                    HaveParen = 1;
+                    NextChar ();
+                    SkipWhitespace (0);
+                }
+                if (IsSym (Ident)) {
+                    SB_AppendChar (Target, IsMacro (Ident)? '1' : '0');
+                    if (HaveParen) {
+                        SkipWhitespace (0);
+                        if (CurC != ')') {
+                            PPError ("`)' expected");
+                        } else {
+                            NextChar ();
+                        }
+                    }
+                } else {
+                    PPError ("Identifier expected");
+                    SB_AppendChar (Target, '0');
+                }
+            } else {
+                ++IdentCount;
+                SB_AppendStr (Target, Ident);
+            }
+        } else if (IsQuote (CurC)) {
+            CopyQuotedString (Target);
+        } else if (CurC == '/' && NextC == '*') {
             if (!IsSpace (SB_LookAtLast (Target))) {
                 SB_AppendChar (Target, ' ');
             }
-           OldStyleComment ();
-       } else if (IS_Get (&Standard) >= STD_C99 && CurC == '/' && NextC == '/') {
+            OldStyleComment ();
+        } else if (IS_Get (&Standard) >= STD_C99 && CurC == '/' && NextC == '/') {
             if (!IsSpace (SB_LookAtLast (Target))) {
                 SB_AppendChar (Target, ' ');
             }
-           NewStyleComment ();
-       } else {
-           SB_AppendChar (Target, CurC);
-           NextChar ();
-       }
+            NewStyleComment ();
+        } else {
+            SB_AppendChar (Target, CurC);
+            NextChar ();
+        }
     }
 
     /* Switch back to the old source */
@@ -943,35 +943,35 @@ static unsigned Pass1 (StrBuf* Source, StrBuf* Target)
 static void MacroReplacement (StrBuf* Source, StrBuf* Target)
 /* Perform macro replacement. */
 {
-    ident      Ident;
-    Macro*     M;
+    ident       Ident;
+    Macro*      M;
 
     /* Remember the current input and switch to Source */
     StrBuf* OldSource = InitLine (Source);
 
     /* Loop substituting macros */
     while (CurC != '\0') {
-       /* If we have an identifier, check if it's a macro */
-       if (IsSym (Ident)) {
+        /* If we have an identifier, check if it's a macro */
+        if (IsSym (Ident)) {
             /* Check if it's a macro */
             if ((M = FindMacro (Ident)) != 0 && !M->Expanding) {
                 /* It's a macro, expand it */
                 ExpandMacro (Target, M);
             } else {
                 /* An identifier, keep it */
-               SB_AppendStr (Target, Ident);
-           }
-       } else if (IsQuote (CurC)) {
-           CopyQuotedString (Target);
-       } else if (IsSpace (CurC)) {
+                SB_AppendStr (Target, Ident);
+            }
+        } else if (IsQuote (CurC)) {
+            CopyQuotedString (Target);
+        } else if (IsSpace (CurC)) {
             if (!IsSpace (SB_LookAtLast (Target))) {
                 SB_AppendChar (Target, CurC);
             }
             NextChar ();
         } else {
-           SB_AppendChar (Target, CurC);
-           NextChar ();
-       }
+            SB_AppendChar (Target, CurC);
+            NextChar ();
+        }
     }
 
     /* Switch back the input */
@@ -1006,18 +1006,18 @@ static int PushIf (int Skip, int Invert, int Cond)
 {
     /* Check for an overflow of the if stack */
     if (IfIndex >= MAX_IFS-1) {
-       PPError ("Too many nested #if clauses");
-       return 1;
+        PPError ("Too many nested #if clauses");
+        return 1;
     }
 
     /* Push the #if condition */
     ++IfIndex;
     if (Skip) {
-       IfStack[IfIndex] = IFCOND_SKIP | IFCOND_NEEDTERM;
-       return 1;
+        IfStack[IfIndex] = IFCOND_SKIP | IFCOND_NEEDTERM;
+        return 1;
     } else {
-       IfStack[IfIndex] = IFCOND_NONE | IFCOND_NEEDTERM;
-       return (Invert ^ Cond);
+        IfStack[IfIndex] = IFCOND_NONE | IFCOND_NEEDTERM;
+        return (Invert ^ Cond);
     }
 }
 
@@ -1028,7 +1028,7 @@ static void DoError (void)
 {
     SkipWhitespace (0);
     if (CurC == '\0') {
-       PPError ("Invalid #error directive");
+        PPError ("Invalid #error directive");
     } else {
         PPError ("#error: %s", SB_GetConstBuf (Line) + SB_GetIndex (Line));
     }
@@ -1054,10 +1054,10 @@ static int DoIf (int Skip)
 
     /* Make sure the line infos for the tokens won't get removed */
     if (SavedCurTok.LI) {
-       UseLineInfo (SavedCurTok.LI);
+        UseLineInfo (SavedCurTok.LI);
     }
     if (SavedNextTok.LI) {
-       UseLineInfo (SavedNextTok.LI);
+        UseLineInfo (SavedNextTok.LI);
     }
 
     /* Switch into special preprocessing mode */
@@ -1100,9 +1100,9 @@ static int DoIfDef (int skip, int flag)
 
     SkipWhitespace (0);
     if (MacName (Ident) == 0) {
-               return 0;
+        return 0;
     } else {
-       return PushIf (skip, flag, IsMacro(Ident));
+        return PushIf (skip, flag, IsMacro(Ident));
     }
 }
 
@@ -1111,7 +1111,7 @@ static int DoIfDef (int skip, int flag)
 static void DoInclude (void)
 /* Open an include file. */
 {
-    char       RTerm;
+    char        RTerm;
     InputType   IT;
     StrBuf      Filename = STATIC_STRBUF_INITIALIZER;
 
@@ -1127,26 +1127,26 @@ static void DoInclude (void)
      */
     switch (CurC) {
 
-               case '\"':
-                   RTerm   = '\"';
-                   IT = IT_USRINC;
-                   break;
+        case '\"':
+            RTerm   = '\"';
+            IT = IT_USRINC;
+            break;
 
-               case '<':
-                   RTerm   = '>';
-                   IT = IT_SYSINC;
-                   break;
+        case '<':
+            RTerm   = '>';
+            IT = IT_SYSINC;
+            break;
 
-               default:
-                   PPError ("`\"' or `<' expected");
-                   goto Done;
+        default:
+            PPError ("`\"' or `<' expected");
+            goto Done;
     }
     NextChar ();
 
     /* Get a copy of the filename */
     while (CurC != '\0' && CurC != RTerm) {
-               SB_AppendChar (&Filename, CurC);
-       NextChar ();
+        SB_AppendChar (&Filename, CurC);
+        NextChar ();
     }
     SB_Terminate (&Filename);
 
@@ -1155,8 +1155,8 @@ static void DoInclude (void)
         /* Open the include file */
         OpenIncludeFile (SB_GetConstBuf (&Filename), IT);
     } else if (CurC == '\0') {
-               /* No terminator found */
-               PPError ("#include expects \"FILENAME\" or <FILENAME>");
+        /* No terminator found */
+        PPError ("#include expects \"FILENAME\" or <FILENAME>");
     }
 
 Done:
@@ -1203,7 +1203,7 @@ static void DoUndef (void)
 
     SkipWhitespace (0);
     if (MacName (Ident)) {
-       UndefineMacro (Ident);
+        UndefineMacro (Ident);
     }
 }
 
@@ -1214,7 +1214,7 @@ static void DoWarning (void)
 {
     SkipWhitespace (0);
     if (CurC == '\0') {
-       PPError ("Invalid #warning directive");
+        PPError ("Invalid #warning directive");
     } else {
         PPWarning ("#warning: %s", SB_GetConstBuf (Line) + SB_GetIndex (Line));
     }
@@ -1228,8 +1228,8 @@ static void DoWarning (void)
 void Preprocess (void)
 /* Preprocess a line */
 {
-    int        Skip;
-    ident      Directive;
+    int         Skip;
+    ident       Directive;
 
     /* Create the output buffer if we don't already have one */
     if (MLine == 0) {
@@ -1243,124 +1243,124 @@ void Preprocess (void)
     Skip = 0;
     while (CurC == '\0' || CurC == '#' || Skip) {
 
-               /* Check for preprocessor lines lines */
-               if (CurC == '#') {
-                   NextChar ();
-                   SkipWhitespace (0);
-                   if (CurC == '\0') {
-                       /* Ignore the empty preprocessor directive */
-                       continue;
-                   }
-                   if (!IsSym (Directive)) {
-                       PPError ("Preprocessor directive expected");
-                       ClearLine ();
-                   } else {
-                       switch (FindPPToken (Directive)) {
-
-                           case PP_DEFINE:
-                               if (!Skip) {
-                                   DefineMacro ();
-                               }
-                               break;
-
-                   case PP_ELIF:
-                       if (IfIndex >= 0) {
-                           if ((IfStack[IfIndex] & IFCOND_ELSE) == 0) {
-
-                               /* Handle as #else/#if combination */
-                               if ((IfStack[IfIndex] & IFCOND_SKIP) == 0) {
-                                   Skip = !Skip;
-                               }
-                               IfStack[IfIndex] |= IFCOND_ELSE;
-                               Skip = DoIf (Skip);
-
-                               /* #elif doesn't need a terminator */
-                               IfStack[IfIndex] &= ~IFCOND_NEEDTERM;
-                           } else {
-                               PPError ("Duplicate #else/#elif");
-                           }
-                       } else {
-                           PPError ("Unexpected #elif");
-                       }
-                       break;
-
-                           case PP_ELSE:
-                               if (IfIndex >= 0) {
-                           if ((IfStack[IfIndex] & IFCOND_ELSE) == 0) {
-                               if ((IfStack[IfIndex] & IFCOND_SKIP) == 0) {
-                                   Skip = !Skip;
-                               }
-                               IfStack[IfIndex] |= IFCOND_ELSE;
-                           } else {
-                               PPError ("Duplicate #else");
-                           }
-                               } else {
-                                   PPError ("Unexpected `#else'");
-                               }
-                               break;
-
-                           case PP_ENDIF:
-                               if (IfIndex >= 0) {
-                           /* Remove any clauses on top of stack that do not
-                            * need a terminating #endif.
-                            */
-                           while (IfIndex >= 0 && (IfStack[IfIndex] & IFCOND_NEEDTERM) == 0) {
-                               --IfIndex;
-                           }
-
-                           /* Stack may not be empty here or something is wrong */
-                           CHECK (IfIndex >= 0);
-
-                           /* Remove the clause that needs a terminator */
-                           Skip = (IfStack[IfIndex--] & IFCOND_SKIP) != 0;
-                               } else {
-                                   PPError ("Unexpected `#endif'");
-                               }
-                               break;
-
-                           case PP_ERROR:
-                               if (!Skip) {
-                                   DoError ();
-                       }
-                       break;
-
-                           case PP_IF:
-                       Skip = DoIf (Skip);
-                       break;
-
-                           case PP_IFDEF:
-                       Skip = DoIfDef (Skip, 1);
-                       break;
-
-                           case PP_IFNDEF:
-                       Skip = DoIfDef (Skip, 0);
-                       break;
-
-                           case PP_INCLUDE:
-                       if (!Skip) {
-                           DoInclude ();
-                       }
-                       break;
-
-                           case PP_LINE:
-                       /* Should do something in C99 at least, but we ignore it */
-                       if (!Skip) {
-                           ClearLine ();
-                       }
-                       break;
-
-                           case PP_PRAGMA:
-                       if (!Skip) {
+        /* Check for preprocessor lines lines */
+        if (CurC == '#') {
+            NextChar ();
+            SkipWhitespace (0);
+            if (CurC == '\0') {
+                /* Ignore the empty preprocessor directive */
+                continue;
+            }
+            if (!IsSym (Directive)) {
+                PPError ("Preprocessor directive expected");
+                ClearLine ();
+            } else {
+                switch (FindPPToken (Directive)) {
+
+                    case PP_DEFINE:
+                        if (!Skip) {
+                            DefineMacro ();
+                        }
+                        break;
+
+                    case PP_ELIF:
+                        if (IfIndex >= 0) {
+                            if ((IfStack[IfIndex] & IFCOND_ELSE) == 0) {
+
+                                /* Handle as #else/#if combination */
+                                if ((IfStack[IfIndex] & IFCOND_SKIP) == 0) {
+                                    Skip = !Skip;
+                                }
+                                IfStack[IfIndex] |= IFCOND_ELSE;
+                                Skip = DoIf (Skip);
+
+                                /* #elif doesn't need a terminator */
+                                IfStack[IfIndex] &= ~IFCOND_NEEDTERM;
+                            } else {
+                                PPError ("Duplicate #else/#elif");
+                            }
+                        } else {
+                            PPError ("Unexpected #elif");
+                        }
+                        break;
+
+                    case PP_ELSE:
+                        if (IfIndex >= 0) {
+                            if ((IfStack[IfIndex] & IFCOND_ELSE) == 0) {
+                                if ((IfStack[IfIndex] & IFCOND_SKIP) == 0) {
+                                    Skip = !Skip;
+                                }
+                                IfStack[IfIndex] |= IFCOND_ELSE;
+                            } else {
+                                PPError ("Duplicate #else");
+                            }
+                        } else {
+                            PPError ("Unexpected `#else'");
+                        }
+                        break;
+
+                    case PP_ENDIF:
+                        if (IfIndex >= 0) {
+                            /* Remove any clauses on top of stack that do not
+                             * need a terminating #endif.
+                             */
+                            while (IfIndex >= 0 && (IfStack[IfIndex] & IFCOND_NEEDTERM) == 0) {
+                                --IfIndex;
+                            }
+
+                            /* Stack may not be empty here or something is wrong */
+                            CHECK (IfIndex >= 0);
+
+                            /* Remove the clause that needs a terminator */
+                            Skip = (IfStack[IfIndex--] & IFCOND_SKIP) != 0;
+                        } else {
+                            PPError ("Unexpected `#endif'");
+                        }
+                        break;
+
+                    case PP_ERROR:
+                        if (!Skip) {
+                            DoError ();
+                        }
+                        break;
+
+                    case PP_IF:
+                        Skip = DoIf (Skip);
+                        break;
+
+                    case PP_IFDEF:
+                        Skip = DoIfDef (Skip, 1);
+                        break;
+
+                    case PP_IFNDEF:
+                        Skip = DoIfDef (Skip, 0);
+                        break;
+
+                    case PP_INCLUDE:
+                        if (!Skip) {
+                            DoInclude ();
+                        }
+                        break;
+
+                    case PP_LINE:
+                        /* Should do something in C99 at least, but we ignore it */
+                        if (!Skip) {
+                            ClearLine ();
+                        }
+                        break;
+
+                    case PP_PRAGMA:
+                        if (!Skip) {
                             DoPragma ();
                             goto Done;
-                       }
-                       break;
+                        }
+                        break;
 
-                           case PP_UNDEF:
-                       if (!Skip) {
-                           DoUndef ();
-                       }
-                       break;
+                    case PP_UNDEF:
+                        if (!Skip) {
+                            DoUndef ();
+                        }
+                        break;
 
                     case PP_WARNING:
                         /* #warning is a non standard extension */
@@ -1376,22 +1376,22 @@ void Preprocess (void)
                         }
                         break;
 
-                   default:
+                    default:
                         if (!Skip) {
-                           PPError ("Preprocessor directive expected");
+                            PPError ("Preprocessor directive expected");
                         }
-                       ClearLine ();
-               }
-           }
-
-       }
-       if (NextLine () == 0) {
-           if (IfIndex >= 0) {
-               PPError ("`#endif' expected");
-           }
-           return;
-       }
-       SkipWhitespace (0);
+                        ClearLine ();
+                }
+            }
+
+        }
+        if (NextLine () == 0) {
+            if (IfIndex >= 0) {
+                PPError ("`#endif' expected");
+            }
+            return;
+        }
+        SkipWhitespace (0);
     }
 
     PreprocessLine ();
index 286d309d1ba138d0a505eadb4dfe0e0c3ed32ddd..3b27225671387176365e4dd363a99200497ed1ba 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ extern unsigned char Preprocessing;
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
index 00590e6f8b6838fbd6850a70dede21d8e010f960..65c0734202aa9224023d4a1ac9649da229d82476 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                reginfo.c                                 */
+/*                                 reginfo.c                                 */
 /*                                                                           */
-/*                       6502 register tracking info                        */
+/*                        6502 register tracking info                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -113,13 +113,13 @@ RegInfo* NewRegInfo (const RegContents* RC)
 
     /* Initialize the registers */
     if (RC) {
-       RI->In   = *RC;
-       RI->Out  = *RC;
-       RI->Out2 = *RC;
+        RI->In   = *RC;
+        RI->Out  = *RC;
+        RI->Out2 = *RC;
     } else {
-       RC_Invalidate (&RI->In);
-       RC_Invalidate (&RI->Out);
-       RC_Invalidate (&RI->Out2);
+        RC_Invalidate (&RI->In);
+        RC_Invalidate (&RI->Out);
+        RC_Invalidate (&RI->Out2);
     }
 
     /* Return the new struct */
index 52cb40d711321275d857ccf4cff8aef7a5d324dd..31281675ca5b2ac31bcbf35f5e6f2fa617f31c2b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                reginfo.h                                 */
+/*                                 reginfo.h                                 */
 /*                                                                           */
-/*                       6502 register tracking info                        */
+/*                        6502 register tracking info                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Register contents */
 typedef struct RegContents RegContents;
 struct RegContents {
-    short              RegA;
+    short       RegA;
     short       RegX;
     short       RegY;
     short       SRegLo;
     short       SRegHi;
     short       Ptr1Lo;
     short       Ptr1Hi;
-    short      Tmp1;
+    short       Tmp1;
 };
 
 /* Register change info */
 typedef struct RegInfo RegInfo;
 struct RegInfo {
-    RegContents        In;             /* Incoming register values */
+    RegContents In;             /* Incoming register values */
     RegContents Out;            /* Outgoing register values */
-    RegContents Out2;          /* Alternative outgoing reg values for branches */
+    RegContents Out2;           /* Alternative outgoing reg values for branches */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3a1a40b84a0c016f3374e2fe356a301eda5da10d..9d6553ae004bbc5e7ce4c23fa1ff3804a5975a36 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.c                                 */
+/*                                 scanner.c                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  data                                    */
+/*                                   data                                    */
 /*****************************************************************************/
 
 
 
-Token CurTok;          /* The current token */
-Token NextTok;         /* The next token */
+Token CurTok;           /* The current token */
+Token NextTok;          /* The next token */
 
 
 
@@ -81,77 +81,77 @@ enum {
 
 /* Token table */
 static const struct Keyword {
-    char*          Key;        /* Keyword name */
-    unsigned char   Tok;       /* The token */
+    char*           Key;        /* Keyword name */
+    unsigned char   Tok;        /* The token */
     unsigned char   Std;        /* Token supported in which standards? */
 } Keywords [] = {
     { "_Pragma",        TOK_PRAGMA,     TT_C89 | TT_C99 | TT_CC65  },   /* !! */
-    { "__AX__",                TOK_AX,         TT_C89 | TT_C99 | TT_CC65  },
-    { "__A__",                 TOK_A,          TT_C89 | TT_C99 | TT_CC65  },
-    { "__EAX__",               TOK_EAX,        TT_C89 | TT_C99 | TT_CC65  },
-    { "__X__",                 TOK_X,          TT_C89 | TT_C99 | TT_CC65  },
-    { "__Y__",                 TOK_Y,          TT_C89 | TT_C99 | TT_CC65  },
-    { "__asm__",               TOK_ASM,        TT_C89 | TT_C99 | TT_CC65  },
-    { "__attribute__",         TOK_ATTRIBUTE,  TT_C89 | TT_C99 | TT_CC65  },
-    { "__cdecl__",             TOK_CDECL,      TT_C89 | TT_C99 | TT_CC65  },
-    { "__far__",               TOK_FAR,        TT_C89 | TT_C99 | TT_CC65  },
-    { "__fastcall__",          TOK_FASTCALL,   TT_C89 | TT_C99 | TT_CC65  },
-    { "__inline__",     TOK_INLINE,            TT_C89 | TT_C99 | TT_CC65  },
-    { "__near__",              TOK_NEAR,       TT_C89 | TT_C99 | TT_CC65  },
-    { "asm",                   TOK_ASM,                          TT_CC65  },
-    { "auto",                  TOK_AUTO,       TT_C89 | TT_C99 | TT_CC65  },
-    { "break",                 TOK_BREAK,      TT_C89 | TT_C99 | TT_CC65  },
-    { "case",                  TOK_CASE,       TT_C89 | TT_C99 | TT_CC65  },
-    { "cdecl",                 TOK_CDECL,                        TT_CC65  },
-    { "char",                  TOK_CHAR,       TT_C89 | TT_C99 | TT_CC65  },
-    { "const",                 TOK_CONST,      TT_C89 | TT_C99 | TT_CC65  },
-    { "continue",              TOK_CONTINUE,   TT_C89 | TT_C99 | TT_CC65  },
-    { "default",               TOK_DEFAULT,    TT_C89 | TT_C99 | TT_CC65  },
-    { "do",                    TOK_DO,         TT_C89 | TT_C99 | TT_CC65  },
-    { "double",                TOK_DOUBLE,     TT_C89 | TT_C99 | TT_CC65  },
-    { "else",                  TOK_ELSE,       TT_C89 | TT_C99 | TT_CC65  },
-    { "enum",                  TOK_ENUM,       TT_C89 | TT_C99 | TT_CC65  },
-    { "extern",                TOK_EXTERN,     TT_C89 | TT_C99 | TT_CC65  },
-    { "far",           TOK_FAR,                          TT_CC65  },
-    { "fastcall",              TOK_FASTCALL,                     TT_CC65  },
-    { "float",                 TOK_FLOAT,      TT_C89 | TT_C99 | TT_CC65  },
-    { "for",                   TOK_FOR,        TT_C89 | TT_C99 | TT_CC65  },
-    { "goto",                  TOK_GOTO,       TT_C89 | TT_C99 | TT_CC65  },
-    { "if",                    TOK_IF,         TT_C89 | TT_C99 | TT_CC65  },
+    { "__AX__",         TOK_AX,         TT_C89 | TT_C99 | TT_CC65  },
+    { "__A__",          TOK_A,          TT_C89 | TT_C99 | TT_CC65  },
+    { "__EAX__",        TOK_EAX,        TT_C89 | TT_C99 | TT_CC65  },
+    { "__X__",          TOK_X,          TT_C89 | TT_C99 | TT_CC65  },
+    { "__Y__",          TOK_Y,          TT_C89 | TT_C99 | TT_CC65  },
+    { "__asm__",        TOK_ASM,        TT_C89 | TT_C99 | TT_CC65  },
+    { "__attribute__",  TOK_ATTRIBUTE,  TT_C89 | TT_C99 | TT_CC65  },
+    { "__cdecl__",      TOK_CDECL,      TT_C89 | TT_C99 | TT_CC65  },
+    { "__far__",        TOK_FAR,        TT_C89 | TT_C99 | TT_CC65  },
+    { "__fastcall__",   TOK_FASTCALL,   TT_C89 | TT_C99 | TT_CC65  },
+    { "__inline__",     TOK_INLINE,     TT_C89 | TT_C99 | TT_CC65  },
+    { "__near__",       TOK_NEAR,       TT_C89 | TT_C99 | TT_CC65  },
+    { "asm",            TOK_ASM,                          TT_CC65  },
+    { "auto",           TOK_AUTO,       TT_C89 | TT_C99 | TT_CC65  },
+    { "break",          TOK_BREAK,      TT_C89 | TT_C99 | TT_CC65  },
+    { "case",           TOK_CASE,       TT_C89 | TT_C99 | TT_CC65  },
+    { "cdecl",          TOK_CDECL,                        TT_CC65  },
+    { "char",           TOK_CHAR,       TT_C89 | TT_C99 | TT_CC65  },
+    { "const",          TOK_CONST,      TT_C89 | TT_C99 | TT_CC65  },
+    { "continue",       TOK_CONTINUE,   TT_C89 | TT_C99 | TT_CC65  },
+    { "default",        TOK_DEFAULT,    TT_C89 | TT_C99 | TT_CC65  },
+    { "do",             TOK_DO,         TT_C89 | TT_C99 | TT_CC65  },
+    { "double",         TOK_DOUBLE,     TT_C89 | TT_C99 | TT_CC65  },
+    { "else",           TOK_ELSE,       TT_C89 | TT_C99 | TT_CC65  },
+    { "enum",           TOK_ENUM,       TT_C89 | TT_C99 | TT_CC65  },
+    { "extern",         TOK_EXTERN,     TT_C89 | TT_C99 | TT_CC65  },
+    { "far",            TOK_FAR,                          TT_CC65  },
+    { "fastcall",       TOK_FASTCALL,                     TT_CC65  },
+    { "float",          TOK_FLOAT,      TT_C89 | TT_C99 | TT_CC65  },
+    { "for",            TOK_FOR,        TT_C89 | TT_C99 | TT_CC65  },
+    { "goto",           TOK_GOTO,       TT_C89 | TT_C99 | TT_CC65  },
+    { "if",             TOK_IF,         TT_C89 | TT_C99 | TT_CC65  },
     { "inline",         TOK_INLINE,              TT_C99 | TT_CC65  },
-    { "int",                   TOK_INT,        TT_C89 | TT_C99 | TT_CC65  },
-    { "long",                  TOK_LONG,       TT_C89 | TT_C99 | TT_CC65  },
-    { "near",                  TOK_NEAR,                         TT_CC65  },
-    { "register",              TOK_REGISTER,   TT_C89 | TT_C99 | TT_CC65  },
-    { "restrict",              TOK_RESTRICT,            TT_C99 | TT_CC65  },
-    { "return",                TOK_RETURN,     TT_C89 | TT_C99 | TT_CC65  },
-    { "short",                 TOK_SHORT,      TT_C89 | TT_C99 | TT_CC65  },
-    { "signed",                TOK_SIGNED,     TT_C89 | TT_C99 | TT_CC65  },
-    { "sizeof",                TOK_SIZEOF,     TT_C89 | TT_C99 | TT_CC65  },
-    { "static",                TOK_STATIC,     TT_C89 | TT_C99 | TT_CC65  },
-    { "struct",                TOK_STRUCT,     TT_C89 | TT_C99 | TT_CC65  },
-    { "switch",                TOK_SWITCH,     TT_C89 | TT_C99 | TT_CC65  },
-    { "typedef",               TOK_TYPEDEF,    TT_C89 | TT_C99 | TT_CC65  },
-    { "union",                 TOK_UNION,      TT_C89 | TT_C99 | TT_CC65  },
-    { "unsigned",              TOK_UNSIGNED,   TT_C89 | TT_C99 | TT_CC65  },
-    { "void",                  TOK_VOID,       TT_C89 | TT_C99 | TT_CC65  },
-    { "volatile",              TOK_VOLATILE,   TT_C89 | TT_C99 | TT_CC65  },
-    { "while",                 TOK_WHILE,      TT_C89 | TT_C99 | TT_CC65  },
+    { "int",            TOK_INT,        TT_C89 | TT_C99 | TT_CC65  },
+    { "long",           TOK_LONG,       TT_C89 | TT_C99 | TT_CC65  },
+    { "near",           TOK_NEAR,                         TT_CC65  },
+    { "register",       TOK_REGISTER,   TT_C89 | TT_C99 | TT_CC65  },
+    { "restrict",       TOK_RESTRICT,            TT_C99 | TT_CC65  },
+    { "return",         TOK_RETURN,     TT_C89 | TT_C99 | TT_CC65  },
+    { "short",          TOK_SHORT,      TT_C89 | TT_C99 | TT_CC65  },
+    { "signed",         TOK_SIGNED,     TT_C89 | TT_C99 | TT_CC65  },
+    { "sizeof",         TOK_SIZEOF,     TT_C89 | TT_C99 | TT_CC65  },
+    { "static",         TOK_STATIC,     TT_C89 | TT_C99 | TT_CC65  },
+    { "struct",         TOK_STRUCT,     TT_C89 | TT_C99 | TT_CC65  },
+    { "switch",         TOK_SWITCH,     TT_C89 | TT_C99 | TT_CC65  },
+    { "typedef",        TOK_TYPEDEF,    TT_C89 | TT_C99 | TT_CC65  },
+    { "union",          TOK_UNION,      TT_C89 | TT_C99 | TT_CC65  },
+    { "unsigned",       TOK_UNSIGNED,   TT_C89 | TT_C99 | TT_CC65  },
+    { "void",           TOK_VOID,       TT_C89 | TT_C99 | TT_CC65  },
+    { "volatile",       TOK_VOLATILE,   TT_C89 | TT_C99 | TT_CC65  },
+    { "while",          TOK_WHILE,      TT_C89 | TT_C99 | TT_CC65  },
 };
-#define KEY_COUNT      (sizeof (Keywords) / sizeof (Keywords [0]))
+#define KEY_COUNT       (sizeof (Keywords) / sizeof (Keywords [0]))
 
 
 
 /* Stuff for determining the type of an integer constant */
-#define IT_INT         0x01
-#define IT_UINT                0x02
-#define IT_LONG                0x04
-#define IT_ULONG       0x08
+#define IT_INT          0x01
+#define IT_UINT         0x02
+#define IT_LONG         0x04
+#define IT_ULONG        0x08
 
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
@@ -172,9 +172,9 @@ static token_t FindKey (const char* Key)
     struct Keyword* K;
     K = bsearch (Key, Keywords, KEY_COUNT, sizeof (Keywords [0]), CmpKey);
     if (K && (K->Std & (0x01 << IS_Get (&Standard))) != 0) {
-       return K->Tok;
+        return K->Tok;
     } else {
-       return TOK_IDENT;
+        return TOK_IDENT;
     }
 }
 
@@ -186,17 +186,17 @@ static int SkipWhite (void)
  */
 {
     while (1) {
-               while (CurC == '\0') {
-           if (NextLine () == 0) {
-               return 0;
-           }
-           Preprocess ();
-       }
-       if (IsSpace (CurC)) {
-           NextChar ();
-       } else {
-           return 1;
-       }
+        while (CurC == '\0') {
+            if (NextLine () == 0) {
+                return 0;
+            }
+            Preprocess ();
+        }
+        if (IsSpace (CurC)) {
+            NextChar ();
+        } else {
+            return 1;
+        }
     }
 }
 
@@ -220,11 +220,11 @@ void SymName (char* S)
 {
     unsigned Len = 0;
     do {
-               if (Len < MAX_IDENTLEN) {
-                   ++Len;
-                   *S++ = CurC;
-       }
-               NextChar ();
+        if (Len < MAX_IDENTLEN) {
+            ++Len;
+            *S++ = CurC;
+        }
+        NextChar ();
     } while (IsIdent (CurC) || IsDigit (CurC));
     *S = '\0';
 }
@@ -235,10 +235,10 @@ int IsSym (char* S)
 /* If a symbol follows, read it and return 1, otherwise return 0 */
 {
     if (IsIdent (CurC)) {
-       SymName (S);
-       return 1;
+        SymName (S);
+        return 1;
     } else {
-       return 0;
+        return 0;
     }
 }
 
@@ -248,7 +248,7 @@ static void UnknownChar (char C)
 /* Error message for unknown character */
 {
     Error ("Invalid input character with code %02X", C & 0xFF);
-    NextChar ();                       /* Skip */
+    NextChar ();                        /* Skip */
 }
 
 
@@ -270,44 +270,44 @@ static int ParseChar (void)
 
     /* Check for escape chars */
     if (CurC == '\\') {
-       NextChar ();
-       switch (CurC) {
-           case '?':
-               C = '\?';
-               break;
-           case 'a':
-               C = '\a';
-               break;
-           case 'b':
-               C = '\b';
-               break;
-           case 'f':
-               C = '\f';
-               break;
-           case 'r':
-               C = '\r';
-               break;
-           case 'n':
-               C = '\n';
-               break;
-           case 't':
-               C = '\t';
-               break;
+        NextChar ();
+        switch (CurC) {
+            case '?':
+                C = '\?';
+                break;
+            case 'a':
+                C = '\a';
+                break;
+            case 'b':
+                C = '\b';
+                break;
+            case 'f':
+                C = '\f';
+                break;
+            case 'r':
+                C = '\r';
+                break;
+            case 'n':
+                C = '\n';
+                break;
+            case 't':
+                C = '\t';
+                break;
             case 'v':
                 C = '\v';
                 break;
-           case '\"':
-               C = '\"';
-               break;
-           case '\'':
-               C = '\'';
-               break;
-           case '\\':
-               C = '\\';
-               break;
-           case 'x':
-           case 'X':
-               /* Hex character constant */
+            case '\"':
+                C = '\"';
+                break;
+            case '\'':
+                C = '\'';
+                break;
+            case '\\':
+                C = '\\';
+                break;
+            case 'x':
+            case 'X':
+                /* Hex character constant */
                 if (!IsXDigit (NextC)) {
                     Error ("\\x used with no following hex digits");
                     C = ' ';
@@ -326,19 +326,19 @@ static int ParseChar (void)
                         NextChar ();
                     }
                 }
-               break;
-           case '0':
-           case '1':
-           case '2':
-           case '3':
-           case '4':
-           case '5':
-           case '6':
-           case '7':
-               /* Octal constant */
+                break;
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+                /* Octal constant */
                 HadError = 0;
-                       C = HexVal (CurC);
-                       while (IsODigit (NextC)) {
+                C = HexVal (CurC);
+                while (IsODigit (NextC)) {
                     if ((C << 3) >= 256) {
                         if (!HadError) {
                             Error ("Octal character constant out of range");
@@ -347,12 +347,12 @@ static int ParseChar (void)
                     } else {
                         C = (C << 3) | HexVal (NextC);
                     }
-                   NextChar ();
-               }
-               break;
-           default:
-               Error ("Illegal character constant");
-               C = ' ';
+                    NextChar ();
+                }
+                break;
+            default:
+                Error ("Illegal character constant");
+                C = ' ';
                 /* Try to do error recovery, otherwise the compiler will spit
                  * out thousands of errors in this place and abort.
                  */
@@ -361,10 +361,10 @@ static int ParseChar (void)
                         NextChar ();
                     }
                 }
-               break;
-       }
+                break;
+        }
     } else {
-       C = CurC;
+        C = CurC;
     }
 
     /* Skip the character read */
@@ -389,10 +389,10 @@ static void CharConst (void)
 
     /* Check for closing quote */
     if (CurC != '\'') {
-               Error ("`\'' expected");
+        Error ("`\'' expected");
     } else {
-       /* Skip the quote */
-       NextChar ();
+        /* Skip the quote */
+        NextChar ();
     }
 
     /* Setup values and attributes */
@@ -430,26 +430,26 @@ static void StringConst (void)
             NextChar ();
         } else if (CurC == '\"') {
             /* Skip the quote char */
-           NextChar ();
+            NextChar ();
         } else {
             /* No string */
             break;
         }
 
         /* Read until end of string */
-       while (CurC != '\"') {
-           if (CurC == '\0') {
-               Error ("Unexpected newline");
-               break;
-           }
-                   SB_AppendChar (&S, ParseChar ());
-       }
+        while (CurC != '\"') {
+            if (CurC == '\0') {
+                Error ("Unexpected newline");
+                break;
+            }
+            SB_AppendChar (&S, ParseChar ());
+        }
 
-       /* Skip closing quote char if there was one */
-       NextChar ();
+        /* Skip closing quote char if there was one */
+        NextChar ();
 
-       /* Skip white space, read new input */
-       SkipWhite ();
+        /* Skip white space, read new input */
+        SkipWhite ();
 
     }
 
@@ -484,7 +484,7 @@ static void NumericConst (void)
         NextChar ();
         if (toupper (CurC) == 'X') {
             Base = Prefix = 16;
-            NextChar ();       /* gobble "x" */
+            NextChar ();        /* gobble "x" */
         } else {
             Base = 10;          /* Assume 10 for now - see below */
             Prefix = 8;         /* Actual prefix says octal */
@@ -713,7 +713,7 @@ void NextToken (void)
 
     /* Current token is the lookahead token */
     if (CurTok.LI) {
-       ReleaseLineInfo (CurTok.LI);
+        ReleaseLineInfo (CurTok.LI);
     }
     CurTok = NextTok;
 
@@ -722,7 +722,7 @@ void NextToken (void)
      * the token is used for error messages, we must make it valid.
      */
     if (CurTok.LI == 0) {
-       CurTok.LI = UseLineInfo (GetCurLineInfo ());
+        CurTok.LI = UseLineInfo (GetCurLineInfo ());
     }
 
     /* Remember the starting position of the next token */
@@ -730,16 +730,16 @@ void NextToken (void)
 
     /* Now handle end of input. */
     if (GotEOF) {
-       /* End of file reached */
-       NextTok.Tok = TOK_CEOF;
-       return;
+        /* End of file reached */
+        NextTok.Tok = TOK_CEOF;
+        return;
     }
 
     /* Determine the next token from the lookahead */
     if (IsDigit (CurC) || (CurC == '.' && IsDigit (NextC))) {
-       /* A number */
+        /* A number */
         NumericConst ();
-       return;
+        return;
     }
 
     /* Check for wide character literals */
@@ -751,135 +751,135 @@ void NextToken (void)
     /* Check for keywords and identifiers */
     if (IsSym (token)) {
 
-       /* Check for a keyword */
-       if ((NextTok.Tok = FindKey (token)) != TOK_IDENT) {
-           /* Reserved word found */
-           return;
-       }
-       /* No reserved word, check for special symbols */
-       if (token[0] == '_' && token[1] == '_') {
-           /* Special symbols */
+        /* Check for a keyword */
+        if ((NextTok.Tok = FindKey (token)) != TOK_IDENT) {
+            /* Reserved word found */
+            return;
+        }
+        /* No reserved word, check for special symbols */
+        if (token[0] == '_' && token[1] == '_') {
+            /* Special symbols */
             if (strcmp (token+2, "FILE__") == 0) {
-               NextTok.SVal = AddLiteral (GetCurrentFile());
-               NextTok.Tok  = TOK_SCONST;
-               return;
-           } else if (strcmp (token+2, "LINE__") == 0) {
-               NextTok.Tok  = TOK_ICONST;
-               NextTok.IVal = GetCurrentLine();
-               NextTok.Type = type_int;
-               return;
-                   } else if (strcmp (token+2, "func__") == 0) {
-               /* __func__ is only defined in functions */
-               if (CurrentFunc) {
-                   NextTok.SVal = AddLiteral (F_GetFuncName (CurrentFunc));
-                   NextTok.Tok  = TOK_SCONST;
-                   return;
-               }
-           }
-       }
-
-               /* No reserved word but identifier */
-       strcpy (NextTok.Ident, token);
-       NextTok.Tok = TOK_IDENT;
-       return;
+                NextTok.SVal = AddLiteral (GetCurrentFile());
+                NextTok.Tok  = TOK_SCONST;
+                return;
+            } else if (strcmp (token+2, "LINE__") == 0) {
+                NextTok.Tok  = TOK_ICONST;
+                NextTok.IVal = GetCurrentLine();
+                NextTok.Type = type_int;
+                return;
+            } else if (strcmp (token+2, "func__") == 0) {
+                /* __func__ is only defined in functions */
+                if (CurrentFunc) {
+                    NextTok.SVal = AddLiteral (F_GetFuncName (CurrentFunc));
+                    NextTok.Tok  = TOK_SCONST;
+                    return;
+                }
+            }
+        }
+
+        /* No reserved word but identifier */
+        strcpy (NextTok.Ident, token);
+        NextTok.Tok = TOK_IDENT;
+        return;
     }
 
     /* Monstrous switch statement ahead... */
     switch (CurC) {
 
-       case '!':
-           NextChar ();
-           if (CurC == '=') {
-               SetTok (TOK_NE);
-           } else {
-               NextTok.Tok = TOK_BOOL_NOT;
-           }
-           break;
-
-       case '\"':
-                   StringConst ();
-           break;
-
-       case '%':
-           NextChar ();
-           if (CurC == '=') {
-               SetTok (TOK_MOD_ASSIGN);
-           } else {
-               NextTok.Tok = TOK_MOD;
-           }
-           break;
-
-       case '&':
-           NextChar ();
-           switch (CurC) {
-               case '&':
-                   SetTok (TOK_BOOL_AND);
-                   break;
-               case '=':
-                   SetTok (TOK_AND_ASSIGN);
-                   break;
-               default:
-                   NextTok.Tok = TOK_AND;
-           }
-           break;
-
-       case '\'':
-           CharConst ();
-           break;
-
-       case '(':
-           SetTok (TOK_LPAREN);
-           break;
-
-       case ')':
-           SetTok (TOK_RPAREN);
-           break;
-
-       case '*':
-           NextChar ();
-           if (CurC == '=') {
-               SetTok (TOK_MUL_ASSIGN);
-           } else {
-               NextTok.Tok = TOK_STAR;
-           }
-           break;
-
-       case '+':
-           NextChar ();
-           switch (CurC) {
-               case '+':
-                   SetTok (TOK_INC);
-                   break;
-               case '=':
-                   SetTok (TOK_PLUS_ASSIGN);
-                   break;
-               default:
-                   NextTok.Tok = TOK_PLUS;
-           }
-           break;
-
-       case ',':
-           SetTok (TOK_COMMA);
-           break;
-
-       case '-':
-           NextChar ();
-           switch (CurC) {
-               case '-':
-                   SetTok (TOK_DEC);
-                   break;
-               case '=':
-                   SetTok (TOK_MINUS_ASSIGN);
-                   break;
-               case '>':
-                   SetTok (TOK_PTR_REF);
-                   break;
-               default:
-                   NextTok.Tok = TOK_MINUS;
-           }
-           break;
-
-       case '.':
+        case '!':
+            NextChar ();
+            if (CurC == '=') {
+                SetTok (TOK_NE);
+            } else {
+                NextTok.Tok = TOK_BOOL_NOT;
+            }
+            break;
+
+        case '\"':
+            StringConst ();
+            break;
+
+        case '%':
+            NextChar ();
+            if (CurC == '=') {
+                SetTok (TOK_MOD_ASSIGN);
+            } else {
+                NextTok.Tok = TOK_MOD;
+            }
+            break;
+
+        case '&':
+            NextChar ();
+            switch (CurC) {
+                case '&':
+                    SetTok (TOK_BOOL_AND);
+                    break;
+                case '=':
+                    SetTok (TOK_AND_ASSIGN);
+                    break;
+                default:
+                    NextTok.Tok = TOK_AND;
+            }
+            break;
+
+        case '\'':
+            CharConst ();
+            break;
+
+        case '(':
+            SetTok (TOK_LPAREN);
+            break;
+
+        case ')':
+            SetTok (TOK_RPAREN);
+            break;
+
+        case '*':
+            NextChar ();
+            if (CurC == '=') {
+                SetTok (TOK_MUL_ASSIGN);
+            } else {
+                NextTok.Tok = TOK_STAR;
+            }
+            break;
+
+        case '+':
+            NextChar ();
+            switch (CurC) {
+                case '+':
+                    SetTok (TOK_INC);
+                    break;
+                case '=':
+                    SetTok (TOK_PLUS_ASSIGN);
+                    break;
+                default:
+                    NextTok.Tok = TOK_PLUS;
+            }
+            break;
+
+        case ',':
+            SetTok (TOK_COMMA);
+            break;
+
+        case '-':
+            NextChar ();
+            switch (CurC) {
+                case '-':
+                    SetTok (TOK_DEC);
+                    break;
+                case '=':
+                    SetTok (TOK_MINUS_ASSIGN);
+                    break;
+                case '>':
+                    SetTok (TOK_PTR_REF);
+                    break;
+                default:
+                    NextTok.Tok = TOK_MINUS;
+            }
+            break;
+
+        case '.':
             NextChar ();
             if (CurC == '.') {
                 NextChar ();
@@ -891,121 +891,121 @@ void NextToken (void)
             } else {
                 NextTok.Tok = TOK_DOT;
             }
-           break;
-
-       case '/':
-           NextChar ();
-           if (CurC == '=') {
-               SetTok (TOK_DIV_ASSIGN);
-           } else {
-               NextTok.Tok = TOK_DIV;
-           }
-           break;
-
-       case ':':
-           SetTok (TOK_COLON);
-           break;
-
-       case ';':
-           SetTok (TOK_SEMI);
-           break;
-
-       case '<':
-           NextChar ();
-           switch (CurC) {
-               case '=':
-                   SetTok (TOK_LE);
-                   break;
-               case '<':
-                   NextChar ();
-                   if (CurC == '=') {
-                       SetTok (TOK_SHL_ASSIGN);
-                   } else {
-                       NextTok.Tok = TOK_SHL;
-                   }
-                   break;
-               default:
-                   NextTok.Tok = TOK_LT;
-           }
-           break;
-
-       case '=':
-           NextChar ();
-                   if (CurC == '=') {
-               SetTok (TOK_EQ);
-           } else {
-               NextTok.Tok = TOK_ASSIGN;
-           }
-           break;
-
-       case '>':
-           NextChar ();
-           switch (CurC) {
-               case '=':
-                   SetTok (TOK_GE);
-                   break;
-               case '>':
-                   NextChar ();
-                   if (CurC == '=') {
-                       SetTok (TOK_SHR_ASSIGN);
-                   } else {
-                       NextTok.Tok = TOK_SHR;
-                   }
-                   break;
-               default:
-                   NextTok.Tok = TOK_GT;
-           }
-           break;
-
-       case '?':
-           SetTok (TOK_QUEST);
-           break;
-
-       case '[':
-           SetTok (TOK_LBRACK);
-           break;
-
-       case ']':
-           SetTok (TOK_RBRACK);
-           break;
-
-       case '^':
-           NextChar ();
-           if (CurC == '=') {
-               SetTok (TOK_XOR_ASSIGN);
-           } else {
-               NextTok.Tok = TOK_XOR;
-           }
-           break;
-
-       case '{':
-           SetTok (TOK_LCURLY);
-           break;
+            break;
+
+        case '/':
+            NextChar ();
+            if (CurC == '=') {
+                SetTok (TOK_DIV_ASSIGN);
+            } else {
+                NextTok.Tok = TOK_DIV;
+            }
+            break;
+
+        case ':':
+            SetTok (TOK_COLON);
+            break;
+
+        case ';':
+            SetTok (TOK_SEMI);
+            break;
+
+        case '<':
+            NextChar ();
+            switch (CurC) {
+                case '=':
+                    SetTok (TOK_LE);
+                    break;
+                case '<':
+                    NextChar ();
+                    if (CurC == '=') {
+                        SetTok (TOK_SHL_ASSIGN);
+                    } else {
+                        NextTok.Tok = TOK_SHL;
+                    }
+                    break;
+                default:
+                    NextTok.Tok = TOK_LT;
+            }
+            break;
+
+        case '=':
+            NextChar ();
+            if (CurC == '=') {
+                SetTok (TOK_EQ);
+            } else {
+                NextTok.Tok = TOK_ASSIGN;
+            }
+            break;
+
+        case '>':
+            NextChar ();
+            switch (CurC) {
+                case '=':
+                    SetTok (TOK_GE);
+                    break;
+                case '>':
+                    NextChar ();
+                    if (CurC == '=') {
+                        SetTok (TOK_SHR_ASSIGN);
+                    } else {
+                        NextTok.Tok = TOK_SHR;
+                    }
+                    break;
+                default:
+                    NextTok.Tok = TOK_GT;
+            }
+            break;
+
+        case '?':
+            SetTok (TOK_QUEST);
+            break;
+
+        case '[':
+            SetTok (TOK_LBRACK);
+            break;
+
+        case ']':
+            SetTok (TOK_RBRACK);
+            break;
+
+        case '^':
+            NextChar ();
+            if (CurC == '=') {
+                SetTok (TOK_XOR_ASSIGN);
+            } else {
+                NextTok.Tok = TOK_XOR;
+            }
+            break;
+
+        case '{':
+            SetTok (TOK_LCURLY);
+            break;
 
         case '|':
-           NextChar ();
-           switch (CurC) {
-               case '|':
-                   SetTok (TOK_BOOL_OR);
-                   break;
-               case '=':
-                   SetTok (TOK_OR_ASSIGN);
-                   break;
-               default:
-                   NextTok.Tok = TOK_OR;
-           }
-           break;
-
-       case '}':
-           SetTok (TOK_RCURLY);
-           break;
-
-       case '~':
-           SetTok (TOK_COMP);
-           break;
-
-       default:
-                   UnknownChar (CurC);
+            NextChar ();
+            switch (CurC) {
+                case '|':
+                    SetTok (TOK_BOOL_OR);
+                    break;
+                case '=':
+                    SetTok (TOK_OR_ASSIGN);
+                    break;
+                default:
+                    NextTok.Tok = TOK_OR;
+            }
+            break;
+
+        case '}':
+            SetTok (TOK_RCURLY);
+            break;
+
+        case '~':
+            SetTok (TOK_COMP);
+            break;
+
+        default:
+            UnknownChar (CurC);
 
     }
 
@@ -1020,17 +1020,17 @@ void SkipTokens (const token_t* TokenList, unsigned TokenCount)
 {
     while (CurTok.Tok != TOK_CEOF) {
 
-       /* Check if the current token is in the token list */
-       unsigned I;
-       for (I = 0; I < TokenCount; ++I) {
-           if (CurTok.Tok == TokenList[I]) {
-               /* Found a token in the list */
-               return;
-           }
-       }
+        /* Check if the current token is in the token list */
+        unsigned I;
+        for (I = 0; I < TokenCount; ++I) {
+            if (CurTok.Tok == TokenList[I]) {
+                /* Found a token in the list */
+                return;
+            }
+        }
 
-       /* Not in the list: Skip it */
-       NextToken ();
+        /* Not in the list: Skip it */
+        NextToken ();
 
     }
 }
@@ -1043,10 +1043,10 @@ int Consume (token_t Token, const char* ErrorMsg)
  */
 {
     if (CurTok.Tok == Token) {
-       NextToken ();
+        NextToken ();
         return 1;
     } else {
-               Error ("%s", ErrorMsg);
+        Error ("%s", ErrorMsg);
         return 0;
     }
 }
@@ -1066,13 +1066,13 @@ int ConsumeSemi (void)
 {
     /* Try do be smart about typos... */
     if (CurTok.Tok == TOK_SEMI) {
-       NextToken ();
+        NextToken ();
         return 1;
     } else {
-       Error ("`;' expected");
-       if (CurTok.Tok == TOK_COLON || CurTok.Tok == TOK_COMMA) {
-           NextToken ();
-       }
+        Error ("`;' expected");
+        if (CurTok.Tok == TOK_COLON || CurTok.Tok == TOK_COMMA) {
+            NextToken ();
+        }
         return 0;
     }
 }
@@ -1084,13 +1084,13 @@ int ConsumeComma (void)
 {
     /* Try do be smart about typos... */
     if (CurTok.Tok == TOK_COMMA) {
-       NextToken ();
+        NextToken ();
         return 1;
     } else {
-       Error ("`,' expected");
-       if (CurTok.Tok == TOK_SEMI) {
-           NextToken ();
-       }
+        Error ("`,' expected");
+        if (CurTok.Tok == TOK_SEMI) {
+            NextToken ();
+        }
         return 0;
     }
 }
index 1a97692a654c146d19b4fd3959f6a9c6f706e6a5..77f2028b9e7b28535fa06a06cad23506e16a7f6b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.h                                 */
+/*                                 scanner.h                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                            Token definitions                             */
+/*                             Token definitions                             */
 /*****************************************************************************/
 
 
@@ -81,7 +81,7 @@ typedef enum token_t {
 
     /* Tokens denoting types */
     TOK_FIRST_TYPE,
-    TOK_ENUM           = TOK_FIRST_TYPE,
+    TOK_ENUM            = TOK_FIRST_TYPE,
     TOK_CHAR,
     TOK_INT,
     TOK_DOUBLE,
@@ -135,7 +135,7 @@ typedef enum token_t {
     TOK_MINUS,
     TOK_MUL_ASSIGN,
     TOK_STAR,
-    TOK_MUL = TOK_STAR,                /* Alias */
+    TOK_MUL = TOK_STAR,         /* Alias */
     TOK_DIV_ASSIGN,
     TOK_DIV,
     TOK_BOOL_AND,
@@ -187,7 +187,7 @@ typedef enum token_t {
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -198,22 +198,22 @@ struct Literal;
 /* Token stuff */
 typedef struct Token Token;
 struct Token {
-    token_t                Tok;        /* The token itself */
-    long           IVal;       /* The integer attribute */
-    Double          FVal;      /* The float attribute */
+    token_t         Tok;        /* The token itself */
+    long            IVal;       /* The integer attribute */
+    Double          FVal;       /* The float attribute */
     struct Literal* SVal;       /* String literal is any */
-    ident          Ident;      /* Identifier if IDENT */
-    LineInfo*       LI;        /* Source line where the token comes from */
-    Type*                  Type;       /* Type if integer or float constant */
+    ident           Ident;      /* Identifier if IDENT */
+    LineInfo*       LI;         /* Source line where the token comes from */
+    Type*           Type;       /* Type if integer or float constant */
 };
 
-extern Token CurTok;           /* The current token */
-extern Token NextTok;          /* The next token */
+extern Token CurTok;            /* The current token */
+extern Token NextTok;           /* The next token */
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f55f52a6454d791172b6d6f68a8a3b1c6b588ff6..abddf06db0b0bdaf2ca632f1c7cac3c11ed73851 100644 (file)
@@ -61,60 +61,60 @@ static int ParseChar (StrBuf* B)
 
     /* Check for escape chars */
     if ((C = SB_Get (B)) == '\\') {
-               switch (SB_Peek (B)) {
-                   case '?':
-               C = '?';
+        switch (SB_Peek (B)) {
+            case '?':
+                C = '?';
                 SB_Skip (B);
-               break;
-           case 'a':
-               C = '\a';
+                break;
+            case 'a':
+                C = '\a';
                 SB_Skip (B);
-               break;
-           case 'b':
-               C = '\b';
+                break;
+            case 'b':
+                C = '\b';
                 SB_Skip (B);
-               break;
-           case 'f':
-               C = '\f';
+                break;
+            case 'f':
+                C = '\f';
                 SB_Skip (B);
-               break;
-           case 'r':
-               C = '\r';
+                break;
+            case 'r':
+                C = '\r';
                 SB_Skip (B);
-               break;
-           case 'n':
-               C = '\n';
+                break;
+            case 'n':
+                C = '\n';
                 SB_Skip (B);
-               break;
-           case 't':
-               C = '\t';
+                break;
+            case 't':
+                C = '\t';
                 SB_Skip (B);
-               break;
-           case 'v':
-               C = '\v';
+                break;
+            case 'v':
+                C = '\v';
                 SB_Skip (B);
-               break;
-           case '\"':
-               C = '\"';
+                break;
+            case '\"':
+                C = '\"';
                 SB_Skip (B);
-               break;
-           case '\'':
-               C = '\'';
+                break;
+            case '\'':
+                C = '\'';
                 SB_Skip (B);
-               break;
-           case '\\':
-               C = '\\';
+                break;
+            case '\\':
+                C = '\\';
                 SB_Skip (B);
-               break;
-           case 'x':
-           case 'X':
-               /* Hex character constant */
+                break;
+            case 'x':
+            case 'X':
+                /* Hex character constant */
                 SB_Skip (B);
-                       C = HexVal (SB_Get (B)) << 4;
-                       C |= HexVal (SB_Get (B));
-               break;
-           case '0':
-           case '1':
+                C = HexVal (SB_Get (B)) << 4;
+                C |= HexVal (SB_Get (B));
+                break;
+            case '0':
+            case '1':
             case '2':
             case '3':
             case '4':
@@ -124,20 +124,20 @@ static int ParseChar (StrBuf* B)
                 /* Octal constant */
                 I = 0;
                 Val = SB_Get (B) - '0';
-                       while (SB_Peek (B) >= '0' && SB_Peek (B) <= '7' && ++I <= 3) {
+                while (SB_Peek (B) >= '0' && SB_Peek (B) <= '7' && ++I <= 3) {
                     Val = (Val << 3) | (SB_Get (B) - '0');
-               }
+                }
                 C = (int) Val;
                 if (Val > 256) {
                     Error ("Character constant out of range");
                     C = ' ';
                 }
-               break;
-           default:
-               Error ("Illegal character constant 0x%02X", SB_Get (B));
-               C = ' ';
-               break;
-       }
+                break;
+            default:
+                Error ("Illegal character constant 0x%02X", SB_Get (B));
+                C = ' ';
+                break;
+        }
     }
 
     /* Return the character */
@@ -147,7 +147,7 @@ static int ParseChar (StrBuf* B)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -188,9 +188,9 @@ int SB_GetSym (StrBuf* B, StrBuf* Ident, const char* SpecialChars)
         } while (IsIdent (C) || IsDigit (C) || 
                  (C != '\0' && strchr (SpecialChars, C) != 0));
         SB_Terminate (Ident);
-       return 1;
+        return 1;
     } else {
-       return 0;
+        return 0;
     }
 }
 
index a49a5f03541400ea08f2e16c42b14792d28b3246..a84bbd27627a2ceb4c271fef12e9ec9a5f77fcfa 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7fbaa34a64239ad943c66b0ed10bc519feda2f41..cdbd05e39b7a804290ba7b4a66a3108766c47f30 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               segments.c                                 */
+/*                                segments.c                                 */
 /*                                                                           */
-/*                  Lightweight segment management stuff                    */
+/*                   Lightweight segment management stuff                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -56,7 +56,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -80,7 +80,7 @@ static Collection SegmentStack = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -143,12 +143,12 @@ static Segments* NewSegments (SymEntry* Func)
     Segments* S = xmalloc (sizeof (Segments));
 
     /* Initialize the fields */
-    S->Text    = NewTextSeg (Func);
-    S->Code            = NewCodeSeg (GetSegName (SEG_CODE), Func);
-    S->Data            = NewDataSeg (GetSegName (SEG_DATA), Func);
-    S->ROData          = NewDataSeg (GetSegName (SEG_RODATA), Func);
-    S->BSS             = NewDataSeg (GetSegName (SEG_BSS), Func);
-    S->CurDSeg         = SEG_DATA;
+    S->Text     = NewTextSeg (Func);
+    S->Code     = NewCodeSeg (GetSegName (SEG_CODE), Func);
+    S->Data     = NewDataSeg (GetSegName (SEG_DATA), Func);
+    S->ROData   = NewDataSeg (GetSegName (SEG_RODATA), Func);
+    S->BSS      = NewDataSeg (GetSegName (SEG_BSS), Func);
+    S->CurDSeg  = SEG_DATA;
 
     /* Return the new struct */
     return S;
@@ -208,12 +208,12 @@ struct DataSeg* GetDataSeg (void)
 {
     PRECONDITION (CS != 0);
     switch (CS->CurDSeg) {
-       case SEG_BSS:     return CS->BSS;
-       case SEG_DATA:    return CS->Data;
-       case SEG_RODATA:  return CS->ROData;
-       default:
-           FAIL ("Invalid data segment");
-           return 0;
+        case SEG_BSS:     return CS->BSS;
+        case SEG_DATA:    return CS->Data;
+        case SEG_RODATA:  return CS->ROData;
+        default:
+            FAIL ("Invalid data segment");
+            return 0;
     }
 }
 
index 11c8fb2bcf39bd7390b3330b3bfdeed0cfe46480..cf6c72fba4b455e8b5d952e397e422d43df558e6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               segments.h                                 */
+/*                                segments.h                                 */
 /*                                                                           */
-/*                           Segment management                             */
+/*                            Segment management                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -63,7 +63,7 @@ struct SymEntry;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -80,12 +80,12 @@ typedef enum segment_t {
 /* A list of all segments used when generating code */
 typedef struct Segments Segments;
 struct Segments {
-    struct TextSeg*    Text;           /* Text segment */
-    struct CodeSeg*    Code;           /* Code segment */
-    struct DataSeg*    Data;           /* Data segment */
-    struct DataSeg*    ROData;         /* Readonly data segment */
-    struct DataSeg*    BSS;            /* Segment for uninitialized data */
-    segment_t                  CurDSeg;        /* Current data segment */
+    struct TextSeg*     Text;           /* Text segment */
+    struct CodeSeg*     Code;           /* Code segment */
+    struct DataSeg*     Data;           /* Data segment */
+    struct DataSeg*     ROData;         /* Readonly data segment */
+    struct DataSeg*     BSS;            /* Segment for uninitialized data */
+    segment_t           CurDSeg;        /* Current data segment */
 };
 
 /* Pointer to the current segment list. Output goes here. */
@@ -97,7 +97,7 @@ extern Segments* GS;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6920590e8660e6e5ec8b08882f7a887862a3803e..44a42f304cf0772f05248b70ed20ac42f635298a 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -64,13 +64,13 @@ void ShiftExpr (struct ExprDesc* Expr)
     ExprDesc Expr2;
     CodeMark Mark1;
     CodeMark Mark2;
-    token_t Tok;                               /* The operator token */
+    token_t Tok;                        /* The operator token */
     Type* EffType;                      /* Effective lhs type */
     Type* ResultType;                   /* Type of the result */
     unsigned ExprBits;                  /* Bits of the lhs operand */
     unsigned GenFlags;                  /* Generator flags */
     unsigned ltype;
-    int rconst;                                /* Operand is a constant */
+    int rconst;                         /* Operand is a constant */
 
 
     /* Evaluate the lhs */
@@ -78,15 +78,15 @@ void ShiftExpr (struct ExprDesc* Expr)
 
     while (CurTok.Tok == TOK_SHL || CurTok.Tok == TOK_SHR) {
 
-       /* All operators that call this function expect an int on the lhs */
-       if (!IsClassInt (Expr->Type)) {
-           Error ("Integer expression expected");
+        /* All operators that call this function expect an int on the lhs */
+        if (!IsClassInt (Expr->Type)) {
+            Error ("Integer expression expected");
             ED_MakeConstAbsInt (Expr, 1);
-       }
+        }
 
-       /* Remember the operator token, then skip it */
-               Tok = CurTok.Tok;
-       NextToken ();
+        /* Remember the operator token, then skip it */
+        Tok = CurTok.Tok;
+        NextToken ();
 
         /* Get the type of the result */
         ResultType = EffType = IntPromotion (Expr->Type);
@@ -97,28 +97,28 @@ void ShiftExpr (struct ExprDesc* Expr)
         /* Calculate the number of bits the lhs operand has */
         ExprBits = SizeOf (ResultType) * 8;
 
-       /* Get the lhs on stack */
-               GetCodePos (&Mark1);
-               ltype = TypeOf (Expr->Type);
-               if (ED_IsConstAbs (Expr)) {
-           /* Constant value */
-           GetCodePos (&Mark2);
-                   g_push (ltype | CF_CONST, Expr->IVal);
-       } else {
-           /* Value not constant */
-           LoadExpr (CF_NONE, Expr);
-           GetCodePos (&Mark2);
-           g_push (ltype, 0);
-       }
-
-       /* Get the right hand side */
+        /* Get the lhs on stack */
+        GetCodePos (&Mark1);
+        ltype = TypeOf (Expr->Type);
+        if (ED_IsConstAbs (Expr)) {
+            /* Constant value */
+            GetCodePos (&Mark2);
+            g_push (ltype | CF_CONST, Expr->IVal);
+        } else {
+            /* Value not constant */
+            LoadExpr (CF_NONE, Expr);
+            GetCodePos (&Mark2);
+            g_push (ltype, 0);
+        }
+
+        /* Get the right hand side */
         ExprWithCheck (hie8, &Expr2);
 
-       /* Check the type of the rhs */
-       if (!IsClassInt (Expr2.Type)) {
-           Error ("Integer expression expected");
+        /* Check the type of the rhs */
+        if (!IsClassInt (Expr2.Type)) {
+            Error ("Integer expression expected");
             ED_MakeConstAbsInt (&Expr2, 1);
-       }
+        }
 
         /* Check for a constant right side expression */
         rconst = ED_IsConstAbs (&Expr2);
@@ -232,7 +232,7 @@ MakeRVal:
 
 Next:
         /* Set the type of the result */
-               Expr->Type = ResultType;
+        Expr->Type = ResultType;
     }
 }
 
index d5f670699dca6dba6e15c4884a58fe87fd09ddf8..b4c50d44b4481955cf3eb97ba71ee2d12571ba03 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ struct ExprDesc;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9313db366816ec7b20295dc375e78a759774e950..26669fa5750bae6deff76ca268169c9ccc28a5a5 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ int StackPtr = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 51d6e878a3811717c9b7177f52421099d043732d..4232c0a46f0637c482b89fbcef084f9a304d1ef3 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ extern int StackPtr;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a7073f8cecd7f459bd414c41bde08920f68b4a78..e6a842d2c28b177743959cc79d81ec6e7e044472 100644 (file)
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@ static const char* StdNames[STD_COUNT] = {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -71,9 +71,9 @@ standard_t FindStandard (const char* Name)
 
     /* Check for a standard string */
     for (I = 0; I < STD_COUNT; ++I) {
-       if (strcmp (StdNames [I], Name) == 0) {
-           return (standard_t)I;
-       }
+        if (strcmp (StdNames [I], Name) == 0) {
+            return (standard_t)I;
+        }
     }
 
     /* Not found */
index 6cfd23e5956b437e76a004f8b79e82d4815206ea..bebc154eeca70ee4b8abb66313b702602173a24f 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -67,7 +67,7 @@ extern IntStack         Standard;               /* Language standard */
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d1db93b15a8da61eddad0bd4d59b83961a0ec03a..1c3c89483a740da75b27e4de9288f753ff3c9d72 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                stdfunc.c                                 */
+/*                                 stdfunc.c                                 */
 /*                                                                           */
-/*        Handle inlining of known functions for the cc65 compiler          */
+/*         Handle inlining of known functions for the cc65 compiler          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -58,7 +58,7 @@
 
 
 /*****************************************************************************/
-/*                            Function forwards                             */
+/*                             Function forwards                             */
 /*****************************************************************************/
 
 
@@ -72,7 +72,7 @@ static void StdFunc_strlen (FuncDesc*, ExprDesc*);
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -81,17 +81,17 @@ static void StdFunc_strlen (FuncDesc*, ExprDesc*);
  * alphabetically!
  */
 static struct StdFuncDesc {
-    const char*                Name;
-    void               (*Handler) (FuncDesc*, ExprDesc*);
+    const char*         Name;
+    void                (*Handler) (FuncDesc*, ExprDesc*);
 } StdFuncs[] = {
-    {          "memcpy",       StdFunc_memcpy          },
-    {          "memset",       StdFunc_memset          },
-    {          "strcmp",       StdFunc_strcmp          },
-    {          "strcpy",       StdFunc_strcpy          },
-    {          "strlen",       StdFunc_strlen          },
+    {   "memcpy",       StdFunc_memcpy          },
+    {   "memset",       StdFunc_memset          },
+    {   "strcmp",       StdFunc_strcmp          },
+    {   "strcpy",       StdFunc_strcpy          },
+    {   "strlen",       StdFunc_strlen          },
 
 };
-#define FUNC_COUNT     (sizeof (StdFuncs) / sizeof (StdFuncs[0]))
+#define FUNC_COUNT      (sizeof (StdFuncs) / sizeof (StdFuncs[0]))
 
 typedef struct ArgDesc ArgDesc;
 struct ArgDesc {
@@ -107,7 +107,7 @@ struct ArgDesc {
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -1290,7 +1290,7 @@ static void StdFunc_strlen (FuncDesc* F attribute ((unused)), ExprDesc* Expr)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 33094eceeb8d370574a53eddd02def9ad941075c..9716d2b3ee588f59c4cc98721dbf91ca15bc6420 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                stdfunc.h                                 */
+/*                                 stdfunc.h                                 */
 /*                                                                           */
-/*        Handle inlining of known functions for the cc65 compiler          */
+/*         Handle inlining of known functions for the cc65 compiler          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b56678b9ff5f0f71834f73c993bd09db713569a4..aa58e3be43c5cbf50b048886a13e04feac583627 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 1df8337a7862f712ee1f39bdbd5a8259c4871918..d60de04a2f8763c194d4e8368bc84c145947b3d3 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 74fbf6ea9fc545fea4c70762e45732d535c5cf94..34a3148631681c011f9687b11db373e48273d85a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 stmt.c                                   */
+/*                                  stmt.c                                   */
 /*                                                                           */
-/*                            Parse a statement                             */
+/*                             Parse a statement                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -66,7 +66,7 @@
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -94,11 +94,11 @@ static void CheckTok (token_t Tok, const char* Msg, int* PendingToken)
  */
 {
     if (CurTok.Tok != Tok) {
-       Error ("%s", Msg);
+        Error ("%s", Msg);
     } else if (PendingToken) {
-       *PendingToken = 1;
+        *PendingToken = 1;
     } else {
-       NextToken ();
+        NextToken ();
     }
 }
 
@@ -115,7 +115,7 @@ static void CheckSemi (int* PendingToken)
 {
     int HaveToken = (CurTok.Tok == TOK_SEMI);
     if (!HaveToken) {
-       Error ("`;' expected");
+        Error ("`;' expected");
         /* Try to be smart about errors */
         if (CurTok.Tok == TOK_COLON || CurTok.Tok == TOK_COMMA) {
             HaveToken = 1;
@@ -136,14 +136,14 @@ static void SkipPending (int PendingToken)
 /* Skip the pending token if we have one */
 {
     if (PendingToken) {
-       NextToken ();
+        NextToken ();
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -168,21 +168,21 @@ static int IfStatement (void)
     /* Else clause present? */
     if (CurTok.Tok != TOK_ELSE) {
 
-       g_defcodelabel (Label1);
+        g_defcodelabel (Label1);
 
-       /* Since there's no else clause, we're not sure, if the a break
-        * statement is really executed.
-        */
-       return 0;
+        /* Since there's no else clause, we're not sure, if the a break
+         * statement is really executed.
+         */
+        return 0;
 
     } else {
 
-       /* Generate a jump around the else branch */
-       unsigned Label2 = GetLocalLabel ();
-       g_jump (Label2);
+        /* Generate a jump around the else branch */
+        unsigned Label2 = GetLocalLabel ();
+        g_jump (Label2);
 
-       /* Skip the else */
-       NextToken ();
+        /* Skip the else */
+        NextToken ();
 
         /* If the if expression was always true, the code in the else branch
          * is never executed. Output a warning if this is the case.
@@ -191,17 +191,17 @@ static int IfStatement (void)
             Warning ("Unreachable code");
         }
 
-       /* Define the target for the first test */
-       g_defcodelabel (Label1);
+        /* Define the target for the first test */
+        g_defcodelabel (Label1);
 
-       /* Total break only if both branches had a break. */
-       GotBreak &= Statement (0);
+        /* Total break only if both branches had a break. */
+        GotBreak &= Statement (0);
 
-       /* Generate the label for the else clause */
-       g_defcodelabel (Label2);
+        /* Generate the label for the else clause */
+        g_defcodelabel (Label2);
 
-       /* Done */
-       return GotBreak;
+        /* Done */
+        return GotBreak;
     }
 }
 
@@ -314,25 +314,25 @@ static void ReturnStatement (void)
     NextToken ();
     if (CurTok.Tok != TOK_SEMI) {
 
-       /* Evaluate the return expression */
-       hie0 (&Expr);
+        /* Evaluate the return expression */
+        hie0 (&Expr);
 
         /* If we return something in a void function, print an error and
          * ignore the value. Otherwise convert the value to the type of the
          * return.
          */
-               if (F_HasVoidReturn (CurrentFunc)) {
-                   Error ("Returning a value in function with return type void");
-               } else {
-           /* Convert the return value to the type of the function result */
-           TypeConversion (&Expr, F_GetReturnType (CurrentFunc));
+        if (F_HasVoidReturn (CurrentFunc)) {
+            Error ("Returning a value in function with return type void");
+        } else {
+            /* Convert the return value to the type of the function result */
+            TypeConversion (&Expr, F_GetReturnType (CurrentFunc));
 
-           /* Load the value into the primary */
-           LoadExpr (CF_NONE, &Expr);
-       }
+            /* Load the value into the primary */
+            LoadExpr (CF_NONE, &Expr);
+        }
 
     } else if (!F_HasVoidReturn (CurrentFunc) && !F_HasOldStyleIntRet (CurrentFunc)) {
-       Error ("Function `%s' must return a value", F_GetFuncName (CurrentFunc));
+        Error ("Function `%s' must return a value", F_GetFuncName (CurrentFunc));
     }
 
     /* Mark the function as having a return statement */
@@ -360,9 +360,9 @@ static void BreakStatement (void)
 
     /* Check if we are inside a loop */
     if (L == 0) {
-       /* Error: No current loop */
-       Error ("`break' statement not within loop or switch");
-       return;
+        /* Error: No current loop */
+        Error ("`break' statement not within loop or switch");
+        return;
     }
 
     /* Correct the stack pointer if needed */
@@ -385,19 +385,19 @@ static void ContinueStatement (void)
     /* Get the current loop descriptor */
     L = CurrentLoop ();
     if (L) {
-       /* Search for a loop that has a continue label. */
-       do {
-           if (L->ContinueLabel) {
-               break;
-           }
-           L = L->Next;
-       } while (L);
+        /* Search for a loop that has a continue label. */
+        do {
+            if (L->ContinueLabel) {
+                break;
+            }
+            L = L->Next;
+        } while (L);
     }
 
     /* Did we find it? */
     if (L == 0) {
-       Error ("`continue' statement not within a loop");
-       return;
+        Error ("`continue' statement not within a loop");
+        return;
     }
 
     /* Correct the stackpointer if needed */
@@ -438,7 +438,7 @@ static void ForStatement (void)
 
     /* Parse the initializer expression */
     if (CurTok.Tok != TOK_SEMI) {
-       Expression0 (&lval1);
+        Expression0 (&lval1);
     }
     ConsumeSemi ();
 
@@ -448,9 +448,9 @@ static void ForStatement (void)
     /* Parse the test expression */
     if (CurTok.Tok != TOK_SEMI) {
         Test (BodyLabel, 1);
-       g_jump (BreakLabel);
+        g_jump (BreakLabel);
     } else {
-       g_jump (BodyLabel);
+        g_jump (BodyLabel);
     }
     ConsumeSemi ();
 
@@ -463,7 +463,7 @@ static void ForStatement (void)
     /* Parse the increment expression */
     HaveIncExpr = (CurTok.Tok != TOK_RPAREN);
     if (HaveIncExpr) {
-       Expression0 (&lval3);
+        Expression0 (&lval3);
     }
 
     /* Jump to the test */
@@ -486,10 +486,10 @@ static void ForStatement (void)
     if (HaveIncExpr) {
         CodeMark Here;
         GetCodePos (&Here);
-               MoveCode (&IncExprStart, &IncExprEnd, &Here);
+        MoveCode (&IncExprStart, &IncExprEnd, &Here);
     } else {
-       /* Jump back to the increment expression */
-       g_jump (IncLabel);
+        /* Jump back to the increment expression */
+        g_jump (IncLabel);
     }
 
     /* Skip a pending token if we have one */
@@ -523,16 +523,16 @@ static int CompoundStatement (void)
     /* Now process statements in this block */
     GotBreak = 0;
     while (CurTok.Tok != TOK_RCURLY) {
-       if (CurTok.Tok != TOK_CEOF) {
-           GotBreak = Statement (0);
-       } else {
-           break;
-       }
+        if (CurTok.Tok != TOK_CEOF) {
+            GotBreak = Statement (0);
+        } else {
+            break;
+        }
     }
 
     /* Clean up the stack. */
     if (!GotBreak) {
-       g_space (StackPtr - OldStack);
+        g_space (StackPtr - OldStack);
     }
     StackPtr = OldStack;
 
@@ -563,15 +563,15 @@ int Statement (int* PendingToken)
 
     /* Assume no pending token */
     if (PendingToken) {
-       *PendingToken = 0;
+        *PendingToken = 0;
     }
 
     /* Check for a label. A label is always part of a statement, it does not
      * replace one.
      */
     while (CurTok.Tok == TOK_IDENT && NextTok.Tok == TOK_COLON) {
-       /* Handle the label */
-       DoLabel ();
+        /* Handle the label */
+        DoLabel ();
         if (CheckLabelWithoutStatement ()) {
             return 0;
         }
index 8a1d2a94107a67341a810ba9be3c6c0bf955b743..4a9a72e421e876f3021ac486c775242f100916e2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 stmt.h                                   */
+/*                                  stmt.h                                   */
 /*                                                                           */
-/*                            Parse a statement                             */
+/*                             Parse a statement                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2823ae118b1bd1691db6cb5ade62b1e4ad2791f2..7e48b58d2cf0daf5677f3f3283a3407c3e479b38 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                swstmt.c                                  */
+/*                                 swstmt.c                                  */
 /*                                                                           */
-/*                       Parse the switch statement                         */
+/*                        Parse the switch statement                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -56,7 +56,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -78,7 +78,7 @@ static SwitchCtrl* Switch = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -90,7 +90,7 @@ void SwitchStatement (void)
     CodeMark    CaseCodeStart;  /* Start of code marker */
     CodeMark    SwitchCodeStart;/* Start of switch code */
     CodeMark    SwitchCodeEnd;  /* End of switch code */
-    unsigned    ExitLabel;     /* Exit label */
+    unsigned    ExitLabel;      /* Exit label */
     unsigned    SwitchCodeLabel;/* Label for the switch code */
     int         HaveBreak = 0;  /* True if the last statement had a break */
     int         RCurlyBrace;    /* True if last token is right curly brace */
@@ -108,8 +108,8 @@ void SwitchStatement (void)
     Expression0 (&SwitchExpr);
     if (!IsClassInt (SwitchExpr.Type))  {
         Error ("Switch quantity is not an integer");
-       /* To avoid any compiler errors, make the expression a valid int */
-       ED_MakeConstAbsInt (&SwitchExpr, 1);
+        /* To avoid any compiler errors, make the expression a valid int */
+        ED_MakeConstAbsInt (&SwitchExpr, 1);
     }
     ConsumeRParen ();
 
@@ -156,7 +156,7 @@ void SwitchStatement (void)
 
     /* Check if we had any labels */
     if (CollCount (SwitchData.Nodes) == 0 && SwitchData.DefaultLabel == 0) {
-       Warning ("No case labels");
+        Warning ("No case labels");
     }
 
     /* If the last statement did not have a break, we may have an open
index 7af232f85509a9bb32e6078a32355b83f739d217..1523217f1b63cce9e27388a44c5fb0f22117df62 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                swstmt.h                                  */
+/*                                 swstmt.h                                  */
 /*                                                                           */
-/*                       Parse the switch statement                         */
+/*                        Parse the switch statement                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 67654a9f007d4e26219d8d2a7412c1bb3ada07fd..41e14e673291021018ee9e478cecfa44c9ba344a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               symentry.c                                 */
+/*                                symentry.c                                 */
 /*                                                                           */
-/*              Symbol table entries for the cc65 C compiler                */
+/*               Symbol table entries for the cc65 C compiler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -62,13 +62,13 @@ SymEntry* NewSymEntry (const char* Name, unsigned Flags)
     SymEntry* E = xmalloc (sizeof (SymEntry) + Len);
 
     /* Initialize the entry */
-    E->NextHash        = 0;
-    E->PrevSym = 0;
-    E->NextSym = 0;
-    E->Link    = 0;
-    E->Owner   = 0;
-    E->Flags   = Flags;
-    E->Type    = 0;
+    E->NextHash = 0;
+    E->PrevSym  = 0;
+    E->NextSym  = 0;
+    E->Link     = 0;
+    E->Owner    = 0;
+    E->Flags    = Flags;
+    E->Type     = 0;
     E->Attr     = 0;
     E->AsmName  = 0;
     memcpy (E->Name, Name, Len+1);
@@ -93,28 +93,28 @@ void DumpSymEntry (FILE* F, const SymEntry* E)
 /* Dump the given symbol table entry to the file in readable form */
 {
     static const struct {
-       const char*         Name;
-       unsigned            Val;
+        const char*         Name;
+        unsigned            Val;
     } Flags [] = {
-       /* Beware: Order is important! */
-       { "SC_TYPEDEF",     SC_TYPEDEF          },
+        /* Beware: Order is important! */
+        { "SC_TYPEDEF",     SC_TYPEDEF          },
         { "SC_BITFIELD",    SC_BITFIELD         },
-               { "SC_STRUCTFIELD", SC_STRUCTFIELD      },
+        { "SC_STRUCTFIELD", SC_STRUCTFIELD      },
         { "SC_UNION",       SC_UNION            },
-       { "SC_STRUCT",      SC_STRUCT           },
-       { "SC_AUTO",        SC_AUTO             },
-       { "SC_REGISTER",    SC_REGISTER         },
-       { "SC_STATIC",      SC_STATIC           },
-       { "SC_EXTERN",      SC_EXTERN           },
-       { "SC_ENUM",        SC_ENUM             },
-       { "SC_CONST",       SC_CONST            },
-       { "SC_LABEL",       SC_LABEL            },
-       { "SC_PARAM",       SC_PARAM            },
-       { "SC_FUNC",        SC_FUNC             },
-       { "SC_STORAGE",     SC_STORAGE          },
-       { "SC_DEF",         SC_DEF              },
-       { "SC_REF",         SC_REF              },
-       { "SC_ZEROPAGE",    SC_ZEROPAGE         },
+        { "SC_STRUCT",      SC_STRUCT           },
+        { "SC_AUTO",        SC_AUTO             },
+        { "SC_REGISTER",    SC_REGISTER         },
+        { "SC_STATIC",      SC_STATIC           },
+        { "SC_EXTERN",      SC_EXTERN           },
+        { "SC_ENUM",        SC_ENUM             },
+        { "SC_CONST",       SC_CONST            },
+        { "SC_LABEL",       SC_LABEL            },
+        { "SC_PARAM",       SC_PARAM            },
+        { "SC_FUNC",        SC_FUNC             },
+        { "SC_STORAGE",     SC_STORAGE          },
+        { "SC_DEF",         SC_DEF              },
+        { "SC_REF",         SC_REF              },
+        { "SC_ZEROPAGE",    SC_ZEROPAGE         },
     };
 
     unsigned I;
@@ -132,22 +132,22 @@ void DumpSymEntry (FILE* F, const SymEntry* E)
     SymFlags = E->Flags;
     fprintf (F, "    Flags: ");
     for (I = 0; I < sizeof (Flags) / sizeof (Flags[0]) && SymFlags != 0; ++I) {
-       if ((SymFlags & Flags[I].Val) == Flags[I].Val) {
-           SymFlags &= ~Flags[I].Val;
-           fprintf (F, "%s ", Flags[I].Name);
-       }
+        if ((SymFlags & Flags[I].Val) == Flags[I].Val) {
+            SymFlags &= ~Flags[I].Val;
+            fprintf (F, "%s ", Flags[I].Name);
+        }
     }
     if (SymFlags != 0) {
-       fprintf (F, "%04X", SymFlags);
+        fprintf (F, "%04X", SymFlags);
     }
     fprintf (F, "\n");
 
     /* Print the type */
     fprintf (F, "    Type:  ");
     if (E->Type) {
-       PrintType (F, E->Type);
+        PrintType (F, E->Type);
     } else {
-       fprintf (F, "(none)");
+        fprintf (F, "(none)");
     }
     fprintf (F, "\n");
 }
index 54a7d32ad3e9685742bc2f53e4f101fe2c9a42f7..14d786995feead848711f1cb0507c0f3ac353c7c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               symentry.h                                 */
+/*                                symentry.h                                 */
 /*                                                                           */
-/*              Symbol table entries for the cc65 C compiler                */
+/*               Symbol table entries for the cc65 C compiler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                 Forwards                                 */
+/*                                  Forwards                                 */
 /*****************************************************************************/
 
 
@@ -62,39 +62,39 @@ struct LiteralPool;
 
 
 /*****************************************************************************/
-/*                             struct SymEntry                              */
+/*                              struct SymEntry                              */
 /*****************************************************************************/
 
 
 
 /* Storage classes and flags */
-#define SC_AUTO        0x0001U         /* Auto variable */
-#define SC_REGISTER            0x0002U         /* Register variable */
-#define SC_STATIC      0x0004U         /* Static */
-#define SC_EXTERN      0x0008U         /* Extern linkage */
+#define SC_AUTO         0x0001U         /* Auto variable */
+#define SC_REGISTER     0x0002U         /* Register variable */
+#define SC_STATIC       0x0004U         /* Static */
+#define SC_EXTERN       0x0008U         /* Extern linkage */
 
-#define SC_ENUM                0x0030U         /* An enum */
-#define SC_CONST       0x0020U         /* A numeric constant with a type */
-#define SC_LABEL               0x0040U         /* A goto label */
-#define SC_PARAM               0x0080U         /* A function parameter */
-#define SC_FUNC                0x0100U         /* A function */
+#define SC_ENUM         0x0030U         /* An enum */
+#define SC_CONST        0x0020U         /* A numeric constant with a type */
+#define SC_LABEL        0x0040U         /* A goto label */
+#define SC_PARAM        0x0080U         /* A function parameter */
+#define SC_FUNC         0x0100U         /* A function */
 
 #define SC_DEFTYPE      0x0200U         /* Parameter has default type (=int, old style) */
-#define SC_STORAGE             0x0400U         /* Symbol with associated storage */
-#define SC_DEFAULT             0x0800U         /* Flag: default storage class was used */
+#define SC_STORAGE      0x0400U         /* Symbol with associated storage */
+#define SC_DEFAULT      0x0800U         /* Flag: default storage class was used */
 
-#define SC_DEF         0x1000U         /* Symbol is defined */
-#define SC_REF                 0x2000U         /* Symbol is referenced */
+#define SC_DEF          0x1000U         /* Symbol is defined */
+#define SC_REF          0x2000U         /* Symbol is referenced */
 
-#define SC_TYPE                0x4000U         /* This is a type, struct, typedef, etc. */
-#define SC_STRUCT              0x4001U         /* Struct */
+#define SC_TYPE         0x4000U         /* This is a type, struct, typedef, etc. */
+#define SC_STRUCT       0x4001U         /* Struct */
 #define SC_UNION        0x4002U         /* Union */
-#define SC_STRUCTFIELD  0x4003U                /* Struct or union field */
+#define SC_STRUCTFIELD  0x4003U         /* Struct or union field */
 #define SC_BITFIELD     0x4004U         /* A bit-field inside a struct or union */
-#define SC_TYPEDEF             0x4005U         /* A typedef */
+#define SC_TYPEDEF      0x4005U         /* A typedef */
 #define SC_TYPEMASK     0x400FU         /* Mask for above types */
 
-#define SC_ZEROPAGE    0x8000U         /* Symbol marked as zeropage */
+#define SC_ZEROPAGE     0x8000U         /* Symbol marked as zeropage */
 
 #define SC_HAVEATTR     0x10000U        /* Symbol has attributes */
 
@@ -103,24 +103,24 @@ struct LiteralPool;
 /* Symbol table entry */
 typedef struct SymEntry SymEntry;
 struct SymEntry {
-    SymEntry*                          NextHash; /* Next entry in hash list */
-    SymEntry*                          PrevSym;  /* Previous symbol in dl list */
-    SymEntry*                          NextSym;  /* Next symbol double linked list */
-    SymEntry*                          Link;     /* General purpose single linked list */
-    struct SymTable*           Owner;    /* Symbol table the symbol is in */
-    unsigned                           Flags;    /* Symbol flags */
-    Type*                              Type;     /* Symbol type */
+    SymEntry*                   NextHash; /* Next entry in hash list */
+    SymEntry*                   PrevSym;  /* Previous symbol in dl list */
+    SymEntry*                   NextSym;  /* Next symbol double linked list */
+    SymEntry*                   Link;     /* General purpose single linked list */
+    struct SymTable*            Owner;    /* Symbol table the symbol is in */
+    unsigned                    Flags;    /* Symbol flags */
+    Type*                       Type;     /* Symbol type */
     Collection*                 Attr;     /* Attribute list if any */
     char*                       AsmName;  /* Assembler name if any */
 
     /* Data that differs for the different symbol types */
     union {
 
-               /* Offset for locals or struct members */
-               int                     Offs;
+        /* Offset for locals or struct members */
+        int                     Offs;
 
-               /* Label name for static symbols */
-               unsigned                Label;
+        /* Label name for static symbols */
+        unsigned                Label;
 
         /* Register bank offset and offset of the saved copy on stack for
          * register variables.
@@ -130,14 +130,14 @@ struct SymEntry {
             int                 SaveOffs;
         } R;
 
-               /* Value for constants (including enums) */
-               long                    ConstVal;
+        /* Value for constants (including enums) */
+        long                    ConstVal;
 
-       /* Data for structs/unions */
-       struct {
-           struct SymTable*    SymTab;   /* Member symbol table */
-           unsigned            Size;     /* Size of the union/struct */
-       } S;
+        /* Data for structs/unions */
+        struct {
+            struct SymTable*    SymTab;   /* Member symbol table */
+            unsigned            Size;     /* Size of the union/struct */
+        } S;
 
         /* Data for bit fields */
         struct {
@@ -146,21 +146,21 @@ struct SymEntry {
             unsigned            BitWidth; /* Width in bits */
         } B;
 
-       /* Data for functions */
-       struct {
-           struct FuncDesc*    Func;     /* Function descriptor */
-                   struct Segments*    Seg;      /* Segments for this function */
+        /* Data for functions */
+        struct {
+            struct FuncDesc*    Func;     /* Function descriptor */
+            struct Segments*    Seg;      /* Segments for this function */
             struct LiteralPool* LitPool;  /* Literal pool for this function */
-               } F;
+        } F;
 
     } V;
-    char                              Name[1]; /* Name, dynamically allocated */
+    char                       Name[1]; /* Name, dynamically allocated */
 };
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d7a4b92dcd234476e1a949672d3ed459cce2a69a..4a44c770d5019d3b779912eb67aba07a07e9cef4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                symtab.c                                  */
+/*                                 symtab.c                                  */
 /*                                                                           */
-/*             Symbol table management for the cc65 C compiler              */
+/*              Symbol table management for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* An empty symbol table */
-SymTable       EmptySymTab = {
-    0,                 /* PrevTab */
-    0,         /* SymHead */
-    0,                 /* SymTail */
-    0,         /* SymCount */
-    1,         /* Size */
-    { 0        }       /* Tab[1] */
+SymTable        EmptySymTab = {
+    0,          /* PrevTab */
+    0,          /* SymHead */
+    0,          /* SymTail */
+    0,          /* SymCount */
+    1,          /* Size */
+    { 0 }       /* Tab[1] */
 };
 
 /* Symbol table sizes */
-#define SYMTAB_SIZE_GLOBAL             211U
-#define SYMTAB_SIZE_FUNCTION    29U
-#define SYMTAB_SIZE_BLOCK       13U
-#define SYMTAB_SIZE_STRUCT      19U
-#define SYMTAB_SIZE_LABEL        7U
+#define SYMTAB_SIZE_GLOBAL      211U
+#define SYMTAB_SIZE_FUNCTION     29U
+#define SYMTAB_SIZE_BLOCK        13U
+#define SYMTAB_SIZE_STRUCT       19U
+#define SYMTAB_SIZE_LABEL         7U
 
 /* The current and root symbol tables */
-static unsigned                LexicalLevel    = 0;    /* For safety checks */
-static SymTable*       SymTab0         = 0;
-static SymTable*       SymTab          = 0;
-static SymTable*       TagTab0         = 0;
-static SymTable*       TagTab          = 0;
-static SymTable*       LabelTab        = 0;
+static unsigned         LexicalLevel    = 0;    /* For safety checks */
+static SymTable*        SymTab0         = 0;
+static SymTable*        SymTab          = 0;
+static SymTable*        TagTab0         = 0;
+static SymTable*        TagTab          = 0;
+static SymTable*        LabelTab        = 0;
 
 
 
 /*****************************************************************************/
-/*                             struct SymTable                              */
+/*                              struct SymTable                              */
 /*****************************************************************************/
 
 
@@ -108,13 +108,13 @@ static SymTable* NewSymTable (unsigned Size)
     SymTable* S = xmalloc (sizeof (SymTable) + (Size-1) * sizeof (SymEntry*));
 
     /* Initialize the symbol table structure */
-    S->PrevTab = 0;
-    S->SymHead = 0;
-    S->SymTail = 0;
-    S->SymCount        = 0;
-    S->Size    = Size;
+    S->PrevTab  = 0;
+    S->SymHead  = 0;
+    S->SymTail  = 0;
+    S->SymCount = 0;
+    S->Size     = Size;
     for (I = 0; I < Size; ++I) {
-       S->Tab[I] = 0;
+        S->Tab[I] = 0;
     }
 
     /* Return the symbol table */
@@ -129,9 +129,9 @@ static void FreeSymTable (SymTable* S)
     /* Free all symbols */
     SymEntry* Sym = S->SymHead;
     while (Sym) {
-       SymEntry* NextSym = Sym->NextSym;
-       FreeSymEntry (Sym);
-       Sym = NextSym;
+        SymEntry* NextSym = Sym->NextSym;
+        FreeSymEntry (Sym);
+        Sym = NextSym;
     }
 
     /* Free the table itself */
@@ -141,7 +141,7 @@ static void FreeSymTable (SymTable* S)
 
 
 /*****************************************************************************/
-/*                        Check symbols in a table                          */
+/*                         Check symbols in a table                          */
 /*****************************************************************************/
 
 
@@ -152,54 +152,54 @@ static void CheckSymTable (SymTable* Tab)
     SymEntry* Entry = Tab->SymHead;
     while (Entry) {
 
-       /* Get the storage flags for tne entry */
-       unsigned Flags = Entry->Flags;
+        /* Get the storage flags for tne entry */
+        unsigned Flags = Entry->Flags;
 
-       /* Ignore typedef entries */
-       if (!SymIsTypeDef (Entry)) {
+        /* Ignore typedef entries */
+        if (!SymIsTypeDef (Entry)) {
 
-           /* Check if the symbol is one with storage, and it if it was
-            * defined but not used.
-            */
-           if (((Flags & SC_AUTO) || (Flags & SC_STATIC)) && (Flags & SC_EXTERN) == 0) {
-               if (SymIsDef (Entry) && !SymIsRef (Entry) &&
+            /* Check if the symbol is one with storage, and it if it was
+             * defined but not used.
+             */
+            if (((Flags & SC_AUTO) || (Flags & SC_STATIC)) && (Flags & SC_EXTERN) == 0) {
+                if (SymIsDef (Entry) && !SymIsRef (Entry) &&
                     !SymHasAttr (Entry, atUnused)) {
-                   if (Flags & SC_PARAM) {
+                    if (Flags & SC_PARAM) {
                         if (IS_Get (&WarnUnusedParam)) {
-                           Warning ("Parameter `%s' is never used", Entry->Name);
+                            Warning ("Parameter `%s' is never used", Entry->Name);
                         }
-                   } else {
+                    } else {
                         if (IS_Get (&WarnUnusedVar)) {
                             Warning ("`%s' is defined but never used", Entry->Name);
                         }
-                   }
-               }
-           }
-
-           /* If the entry is a label, check if it was defined in the function */
-           if (Flags & SC_LABEL) {
-               if (!SymIsDef (Entry)) {
-                   /* Undefined label */
-                   Error ("Undefined label: `%s'", Entry->Name);
-               } else if (!SymIsRef (Entry)) {
-                   /* Defined but not used */
+                    }
+                }
+            }
+
+            /* If the entry is a label, check if it was defined in the function */
+            if (Flags & SC_LABEL) {
+                if (!SymIsDef (Entry)) {
+                    /* Undefined label */
+                    Error ("Undefined label: `%s'", Entry->Name);
+                } else if (!SymIsRef (Entry)) {
+                    /* Defined but not used */
                     if (IS_Get (&WarnUnusedLabel)) {
-                       Warning ("`%s' is defined but never used", Entry->Name);
+                        Warning ("`%s' is defined but never used", Entry->Name);
                     }
-               }
-           }
+                }
+            }
 
-       }
+        }
 
-       /* Next entry */
-       Entry = Entry->NextSym;
+        /* Next entry */
+        Entry = Entry->NextSym;
     }
 }
 
 
 
 /*****************************************************************************/
-/*                       Handling of lexical levels                         */
+/*                        Handling of lexical levels                         */
 /*****************************************************************************/
 
 
@@ -238,8 +238,8 @@ void LeaveGlobalLevel (void)
 
     /* Dump the tables if requested */
     if (Debug) {
-       PrintSymTable (SymTab0, stdout, "Global symbol table");
-       PrintSymTable (TagTab0, stdout, "Global tag table");
+        PrintSymTable (SymTab0, stdout, "Global symbol table");
+        PrintSymTable (TagTab0, stdout, "Global tag table");
     }
 
     /* Don't delete the symbol and struct tables! */
@@ -321,7 +321,7 @@ void LeaveFunctionLevel (void)
 
     /* Drop the label table if it is empty */
     if (LabelTab->SymCount == 0) {
-       FreeSymTable (LabelTab);
+        FreeSymTable (LabelTab);
     }
 
     /* Don't delete the tables */
@@ -342,8 +342,8 @@ void EnterBlockLevel (void)
 
     /* Get a new symbol table and make it current */
     S = NewSymTable (SYMTAB_SIZE_BLOCK);
-    S->PrevTab         = SymTab;
-    SymTab             = S;
+    S->PrevTab  = SymTab;
+    SymTab      = S;
 
     /* Get a new tag table and make it current */
     S = NewSymTable (SYMTAB_SIZE_BLOCK);
@@ -379,8 +379,8 @@ void EnterStructLevel (void)
      * outside scope. So we will NOT create a new struct or enum table.
      */
     S = NewSymTable (SYMTAB_SIZE_BLOCK);
-    S->PrevTab         = SymTab;
-    SymTab             = S;
+    S->PrevTab  = SymTab;
+    SymTab      = S;
 }
 
 
@@ -395,7 +395,7 @@ void LeaveStructLevel (void)
 
 
 /*****************************************************************************/
-/*                             Find functions                               */
+/*                              Find functions                               */
 /*****************************************************************************/
 
 
@@ -406,13 +406,13 @@ static SymEntry* FindSymInTable (const SymTable* T, const char* Name, unsigned H
     /* Get the start of the hash chain */
     SymEntry* E = T->Tab [Hash % T->Size];
     while (E) {
-       /* Compare the name */
-       if (strcmp (E->Name, Name) == 0) {
-           /* Found */
-           return E;
-       }
-       /* Not found, next entry in hash chain */
-       E = E->NextHash;
+        /* Compare the name */
+        if (strcmp (E->Name, Name) == 0) {
+            /* Found */
+            return E;
+        }
+        /* Not found, next entry in hash chain */
+        E = E->NextHash;
     }
 
     /* Not found */
@@ -429,16 +429,16 @@ static SymEntry* FindSymInTree (const SymTable* Tab, const char* Name)
 
     /* Check all symbol tables for the symbol */
     while (Tab) {
-       /* Try to find the symbol in this table */
-       SymEntry* E = FindSymInTable (Tab, Name, Hash);
+        /* Try to find the symbol in this table */
+        SymEntry* E = FindSymInTable (Tab, Name, Hash);
 
-       /* Bail out if we found it */
-       if (E != 0) {
-           return E;
-       }
+        /* Bail out if we found it */
+        if (E != 0) {
+            return E;
+        }
 
-       /* Repeat the search in the next higher lexical level */
-       Tab = Tab->PrevTab;
+        /* Repeat the search in the next higher lexical level */
+        Tab = Tab->PrevTab;
     }
 
     /* Not found */
@@ -486,22 +486,22 @@ SymEntry* FindStructField (const Type* T, const char* Name)
 
     /* The given type may actually be a pointer to struct */
     if (IsTypePtr (T)) {
-       ++T;
+        ++T;
     }
 
     /* Non-structs do not have any struct fields... */
     if (IsClassStruct (T)) {
 
-       /* Get a pointer to the struct/union type */
-       const SymEntry* Struct = GetSymEntry (T);
-       CHECK (Struct != 0);
+        /* Get a pointer to the struct/union type */
+        const SymEntry* Struct = GetSymEntry (T);
+        CHECK (Struct != 0);
 
-       /* Now search in the struct symbol table. Beware: The table may not
+        /* Now search in the struct symbol table. Beware: The table may not
          * exist.
-        */
-       if (Struct->V.S.SymTab) {
-                   Field = FindSymInTable (Struct->V.S.SymTab, Name, HashStr (Name));
-       }
+         */
+        if (Struct->V.S.SymTab) {
+            Field = FindSymInTable (Struct->V.S.SymTab, Name, HashStr (Name));
+        }
     }
 
     return Field;
@@ -510,7 +510,7 @@ SymEntry* FindStructField (const Type* T, const char* Name)
 
 
 /*****************************************************************************/
-/*                      Add stuff to the symbol table                       */
+/*                       Add stuff to the symbol table                       */
 /*****************************************************************************/
 
 
@@ -523,13 +523,13 @@ static void AddSymEntry (SymTable* T, SymEntry* S)
 
     /* Insert the symbol into the list of all symbols in this level */
     if (T->SymTail) {
-               T->SymTail->NextSym = S;
+        T->SymTail->NextSym = S;
     }
     S->PrevSym = T->SymTail;
     T->SymTail = S;
     if (T->SymHead == 0) {
-       /* First symbol */
-       T->SymHead = S;
+        /* First symbol */
+        T->SymHead = S;
     }
     ++T->SymCount;
 
@@ -555,32 +555,32 @@ SymEntry* AddStructSym (const char* Name, unsigned Type, unsigned Size, SymTable
     Entry = FindSymInTable (TagTab, Name, HashStr (Name));
     if (Entry) {
 
-       /* We do have an entry. This may be a forward, so check it. */
-       if ((Entry->Flags & SC_TYPEMASK) != Type) {
-           /* Existing symbol is not a struct */
-           Error ("Symbol `%s' is already different kind", Name);
-       } else if (Size > 0 && Entry->V.S.Size > 0) {
-           /* Both structs are definitions. */
-           Error ("Multiple definition for `%s'", Name);
-       } else {
-           /* Define the struct size if it is given */
-           if (Size > 0) {
-               Entry->V.S.SymTab = Tab;
-               Entry->V.S.Size   = Size;
-           }
-       }
+        /* We do have an entry. This may be a forward, so check it. */
+        if ((Entry->Flags & SC_TYPEMASK) != Type) {
+            /* Existing symbol is not a struct */
+            Error ("Symbol `%s' is already different kind", Name);
+        } else if (Size > 0 && Entry->V.S.Size > 0) {
+            /* Both structs are definitions. */
+            Error ("Multiple definition for `%s'", Name);
+        } else {
+            /* Define the struct size if it is given */
+            if (Size > 0) {
+                Entry->V.S.SymTab = Tab;
+                Entry->V.S.Size   = Size;
+            }
+        }
 
     } else {
 
-       /* Create a new entry */
-       Entry = NewSymEntry (Name, Type);
+        /* Create a new entry */
+        Entry = NewSymEntry (Name, Type);
 
-       /* Set the struct data */
-       Entry->V.S.SymTab = Tab;
-       Entry->V.S.Size   = Size;
+        /* Set the struct data */
+        Entry->V.S.SymTab = Tab;
+        Entry->V.S.Size   = Size;
 
-       /* Add it to the current table */
-       AddSymEntry (TagTab, Entry);
+        /* Add it to the current table */
+        AddSymEntry (TagTab, Entry);
     }
 
     /* Return the entry */
@@ -596,22 +596,22 @@ SymEntry* AddBitField (const char* Name, unsigned Offs, unsigned BitOffs, unsign
     SymEntry* Entry = FindSymInTable (SymTab, Name, HashStr (Name));
     if (Entry) {
 
-       /* We have a symbol with this name already */
-       Error ("Multiple definition for `%s'", Name);
+        /* We have a symbol with this name already */
+        Error ("Multiple definition for `%s'", Name);
 
     } else {
 
-       /* Create a new entry */
-       Entry = NewSymEntry (Name, SC_BITFIELD);
+        /* Create a new entry */
+        Entry = NewSymEntry (Name, SC_BITFIELD);
 
-       /* Set the symbol attributes. Bit-fields are always of type unsigned */
-       Entry->Type         = type_uint;
+        /* Set the symbol attributes. Bit-fields are always of type unsigned */
+        Entry->Type         = type_uint;
         Entry->V.B.Offs     = Offs;
         Entry->V.B.BitOffs  = BitOffs;
         Entry->V.B.BitWidth = Width;
 
-       /* Add the entry to the symbol table */
-       AddSymEntry (SymTab, Entry);
+        /* Add the entry to the symbol table */
+        AddSymEntry (SymTab, Entry);
 
     }
 
@@ -630,19 +630,19 @@ SymEntry* AddConstSym (const char* Name, const Type* T, unsigned Flags, long Val
     /* Do we have an entry with this name already? */
     SymEntry* Entry = FindSymInTable (Tab, Name, HashStr (Name));
     if (Entry) {
-       if ((Entry->Flags & SC_CONST) != SC_CONST) {
-           Error ("Symbol `%s' is already different kind", Name);
-       } else {
-           Error ("Multiple definition for `%s'", Name);
-       }
-       return Entry;
+        if ((Entry->Flags & SC_CONST) != SC_CONST) {
+            Error ("Symbol `%s' is already different kind", Name);
+        } else {
+            Error ("Multiple definition for `%s'", Name);
+        }
+        return Entry;
     }
 
     /* Create a new entry */
     Entry = NewSymEntry (Name, Flags);
 
     /* Enum values are ints */
-    Entry->Type        = TypeDup (T);
+    Entry->Type = TypeDup (T);
 
     /* Set the enum data */
     Entry->V.ConstVal = Val;
@@ -663,25 +663,25 @@ SymEntry* AddLabelSym (const char* Name, unsigned Flags)
     SymEntry* Entry = FindSymInTable (LabelTab, Name, HashStr (Name));
     if (Entry) {
 
-       if (SymIsDef (Entry) && (Flags & SC_DEF) != 0) {
-           /* Trying to define the label more than once */
-                   Error ("Label `%s' is defined more than once", Name);
-       }
-       Entry->Flags |= Flags;
+        if (SymIsDef (Entry) && (Flags & SC_DEF) != 0) {
+            /* Trying to define the label more than once */
+            Error ("Label `%s' is defined more than once", Name);
+        }
+        Entry->Flags |= Flags;
 
     } else {
 
-       /* Create a new entry */
-       Entry = NewSymEntry (Name, SC_LABEL | Flags);
+        /* Create a new entry */
+        Entry = NewSymEntry (Name, SC_LABEL | Flags);
 
-       /* Set a new label number */
-       Entry->V.Label = GetLocalLabel ();
+        /* Set a new label number */
+        Entry->V.Label = GetLocalLabel ();
 
         /* Generate the assembler name of the label */
         Entry->AsmName = xstrdup (LocalLabelName (Entry->V.Label));
 
-       /* Add the entry to the label table */
-       AddSymEntry (LabelTab, Entry);
+        /* Add the entry to the label table */
+        AddSymEntry (LabelTab, Entry);
 
     }
 
@@ -698,16 +698,16 @@ SymEntry* AddLocalSym (const char* Name, const Type* T, unsigned Flags, int Offs
     SymEntry* Entry = FindSymInTable (SymTab, Name, HashStr (Name));
     if (Entry) {
 
-       /* We have a symbol with this name already */
-       Error ("Multiple definition for `%s'", Name);
+        /* We have a symbol with this name already */
+        Error ("Multiple definition for `%s'", Name);
 
     } else {
 
-       /* Create a new entry */
-       Entry = NewSymEntry (Name, Flags);
+        /* Create a new entry */
+        Entry = NewSymEntry (Name, Flags);
 
-       /* Set the symbol attributes */
-       Entry->Type = TypeDup (T);
+        /* Set the symbol attributes */
+        Entry->Type = TypeDup (T);
         if ((Flags & SC_AUTO) == SC_AUTO) {
             Entry->V.Offs = Offs;
         } else if ((Flags & SC_REGISTER) == SC_REGISTER) {
@@ -726,8 +726,8 @@ SymEntry* AddLocalSym (const char* Name, const Type* T, unsigned Flags, int Offs
             Internal ("Invalid flags in AddLocalSym: %04X", Flags);
         }
 
-       /* Add the entry to the symbol table */
-       AddSymEntry (SymTab, Entry);
+        /* Add the entry to the symbol table */
+        AddSymEntry (SymTab, Entry);
 
     }
 
@@ -750,90 +750,90 @@ SymEntry* AddGlobalSym (const char* Name, const Type* T, unsigned Flags)
     SymEntry* Entry = FindSymInTable (Tab, Name, HashStr (Name));
     if (Entry) {
 
-       Type* EType;
-
-       /* We have a symbol with this name already */
-       if (Entry->Flags & SC_TYPE) {
-           Error ("Multiple definition for `%s'", Name);
-           return Entry;
-       }
-
-       /* Get the type string of the existing symbol */
-       EType = Entry->Type;
-
-       /* If we are handling arrays, the old entry or the new entry may be an
-        * incomplete declaration. Accept this, and if the exsting entry is
-        * incomplete, complete it.
-        */
-       if (IsTypeArray (T) && IsTypeArray (EType)) {
-
-           /* Get the array sizes */
-           long Size  = GetElementCount (T);
-           long ESize = GetElementCount (EType);
-
-                   if ((Size != UNSPECIFIED && ESize != UNSPECIFIED && Size != ESize) ||
-               TypeCmp (T + 1, EType + 1) < TC_EQUAL) {
-               /* Types not identical: Conflicting types */
-               Error ("Conflicting types for `%s'", Name);
-               return Entry;
-           } else {
-               /* Check if we have a size in the existing definition */
-               if (ESize == UNSPECIFIED) {
-                   /* Existing, size not given, use size from new def */
-                   SetElementCount (EType, Size);
-               }
-           }
-
-               } else {
-           /* New type must be identical */
-           if (TypeCmp (EType, T) < TC_EQUAL) {
-               Error ("Conflicting types for `%s'", Name);
-               return Entry;
-           }
-
-           /* In case of a function, use the new type descriptor, since it
-            * contains pointers to the new symbol tables that are needed if
-            * an actual function definition follows. Be sure not to use the
+        Type* EType;
+
+        /* We have a symbol with this name already */
+        if (Entry->Flags & SC_TYPE) {
+            Error ("Multiple definition for `%s'", Name);
+            return Entry;
+        }
+
+        /* Get the type string of the existing symbol */
+        EType = Entry->Type;
+
+        /* If we are handling arrays, the old entry or the new entry may be an
+         * incomplete declaration. Accept this, and if the exsting entry is
+         * incomplete, complete it.
+         */
+        if (IsTypeArray (T) && IsTypeArray (EType)) {
+
+            /* Get the array sizes */
+            long Size  = GetElementCount (T);
+            long ESize = GetElementCount (EType);
+
+            if ((Size != UNSPECIFIED && ESize != UNSPECIFIED && Size != ESize) ||
+                TypeCmp (T + 1, EType + 1) < TC_EQUAL) {
+                /* Types not identical: Conflicting types */
+                Error ("Conflicting types for `%s'", Name);
+                return Entry;
+            } else {
+                /* Check if we have a size in the existing definition */
+                if (ESize == UNSPECIFIED) {
+                    /* Existing, size not given, use size from new def */
+                    SetElementCount (EType, Size);
+                }
+            }
+
+        } else {
+            /* New type must be identical */
+            if (TypeCmp (EType, T) < TC_EQUAL) {
+                Error ("Conflicting types for `%s'", Name);
+                return Entry;
+            }
+
+            /* In case of a function, use the new type descriptor, since it
+             * contains pointers to the new symbol tables that are needed if
+             * an actual function definition follows. Be sure not to use the
              * new descriptor if it contains a function declaration with an
              * empty parameter list.
-            */
-           if (IsFunc) {
-               /* Get the function descriptor from the new type */
-               FuncDesc* F = GetFuncDesc (T);
-               /* Use this new function descriptor if it doesn't contain
+             */
+            if (IsFunc) {
+                /* Get the function descriptor from the new type */
+                FuncDesc* F = GetFuncDesc (T);
+                /* Use this new function descriptor if it doesn't contain
                  * an empty parameter list.
                  */
                 if ((F->Flags & FD_EMPTY) == 0) {
                     Entry->V.F.Func = F;
                     SetFuncDesc (EType, F);
                 }
-           }
-       }
+            }
+        }
 
-       /* Add the new flags */
-       Entry->Flags |= Flags;
+        /* Add the new flags */
+        Entry->Flags |= Flags;
 
     } else {
 
-       /* Create a new entry */
-       Entry = NewSymEntry (Name, Flags);
+        /* Create a new entry */
+        Entry = NewSymEntry (Name, Flags);
 
-       /* Set the symbol attributes */
-       Entry->Type = TypeDup (T);
+        /* Set the symbol attributes */
+        Entry->Type = TypeDup (T);
 
-       /* If this is a function, set the function descriptor and clear
-        * additional fields.
-        */
-       if (IsFunc) {
-           Entry->V.F.Func = GetFuncDesc (Entry->Type);
-           Entry->V.F.Seg  = 0;
-       }
+        /* If this is a function, set the function descriptor and clear
+         * additional fields.
+         */
+        if (IsFunc) {
+            Entry->V.F.Func = GetFuncDesc (Entry->Type);
+            Entry->V.F.Seg  = 0;
+        }
 
         /* Add the assembler name of the symbol */
         SymSetAsmName (Entry);
 
-       /* Add the entry to the symbol table */
-       AddSymEntry (Tab, Entry);
+        /* Add the entry to the symbol table */
+        AddSymEntry (Tab, Entry);
     }
 
     /* Return the entry */
@@ -843,7 +843,7 @@ SymEntry* AddGlobalSym (const char* Name, const Type* T, unsigned Flags)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -880,9 +880,9 @@ void MakeZPSym (const char* Name)
 
     /* Mark the symbol as zeropage */
     if (Entry) {
-       Entry->Flags |= SC_ZEROPAGE;
+        Entry->Flags |= SC_ZEROPAGE;
     } else {
-       Error ("Undefined symbol: `%s'", Name);
+        Error ("Undefined symbol: `%s'", Name);
     }
 }
 
@@ -904,19 +904,19 @@ void PrintSymTable (const SymTable* Tab, FILE* F, const char* Header, ...)
 
     /* Underline the header */
     while (Len--) {
-       fputc ('=', F);
+        fputc ('=', F);
     }
     fputc ('\n', F);
 
     /* Dump the table */
     Entry = Tab->SymHead;
     if (Entry == 0) {
-       fprintf (F, "(empty)\n");
+        fprintf (F, "(empty)\n");
     } else {
-       while (Entry) {
-           DumpSymEntry (F, Entry);
-           Entry = Entry->NextSym;
-       }
+        while (Entry) {
+            DumpSymEntry (F, Entry);
+            Entry = Entry->NextSym;
+        }
     }
     fprintf (F, "\n\n\n");
 }
@@ -930,18 +930,18 @@ void EmitExternals (void)
 
     Entry = SymTab->SymHead;
     while (Entry) {
-       unsigned Flags = Entry->Flags;
-               if (Flags & SC_EXTERN) {
-           /* Only defined or referenced externs */
-           if (SymIsRef (Entry) && !SymIsDef (Entry)) {
-               /* An import */
-               g_defimport (Entry->Name, Flags & SC_ZEROPAGE);
-           } else if (SymIsDef (Entry)) {
-               /* An export */
-               g_defexport (Entry->Name, Flags & SC_ZEROPAGE);
-           }
-       }
-       Entry = Entry->NextSym;
+        unsigned Flags = Entry->Flags;
+        if (Flags & SC_EXTERN) {
+            /* Only defined or referenced externs */
+            if (SymIsRef (Entry) && !SymIsDef (Entry)) {
+                /* An import */
+                g_defimport (Entry->Name, Flags & SC_ZEROPAGE);
+            } else if (SymIsDef (Entry)) {
+                /* An export */
+                g_defexport (Entry->Name, Flags & SC_ZEROPAGE);
+            }
+        }
+        Entry = Entry->NextSym;
     }
 }
 
index 66216313cc005e7d56b3cd9de12d4e77c9b8c087..154dce55aa5be028bf2d50d9c0545c54e031fdd2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                symtab.h                                  */
+/*                                 symtab.h                                  */
 /*                                                                           */
-/*             Symbol table management for the cc65 C compiler              */
+/*              Symbol table management for the cc65 C compiler              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Symbol table */
 typedef struct SymTable SymTable;
 struct SymTable {
-    SymTable*                  PrevTab;        /* Pointer to higher level symbol table */
-    SymEntry*                  SymHead;        /* Double linked list of symbols */
-    SymEntry*                  SymTail;        /* Double linked list of symbols */
-    unsigned                   SymCount;       /* Count of symbols in this table */
-    unsigned                   Size;           /* Size of table */
-    SymEntry*                  Tab[1];         /* Actual table, dynamically allocated */
+    SymTable*           PrevTab;        /* Pointer to higher level symbol table */
+    SymEntry*           SymHead;        /* Double linked list of symbols */
+    SymEntry*           SymTail;        /* Double linked list of symbols */
+    unsigned            SymCount;       /* Count of symbols in this table */
+    unsigned            Size;           /* Size of table */
+    SymEntry*           Tab[1];         /* Actual table, dynamically allocated */
 };
 
 /* An empty symbol table */
-extern SymTable                EmptySymTab;
+extern SymTable         EmptySymTab;
 
 /* Forwards */
 struct FuncDesc;
 
 /* Predefined lexical levels */
-#define LEX_LEVEL_GLOBAL       1U
+#define LEX_LEVEL_GLOBAL        1U
 #define LEX_LEVEL_FUNCTION      2U
 
 
 
 /*****************************************************************************/
-/*                       Handling of lexical levels                         */
+/*                        Handling of lexical levels                         */
 /*****************************************************************************/
 
 
@@ -116,7 +116,7 @@ void LeaveStructLevel (void);
 
 
 /*****************************************************************************/
-/*                             Find functions                               */
+/*                              Find functions                               */
 /*****************************************************************************/
 
 
@@ -139,7 +139,7 @@ SymEntry* FindStructField (const Type* TypeArray, const char* Name);
 
 
 /*****************************************************************************/
-/*                      Add stuff to the symbol table                       */
+/*                       Add stuff to the symbol table                       */
 /*****************************************************************************/
 
 
@@ -165,7 +165,7 @@ SymEntry* AddGlobalSym (const char* Name, const Type* T, unsigned Flags);
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5b2ae3d02dbddaec1e0b282c2e0d2396ea0bca1e..f95c94dd80449f1ddc7fd1b04920a84607eb3fb9 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -67,13 +67,13 @@ unsigned Test (unsigned Label, int Invert)
         /* Result is constant, so we know the outcome */
         Result = (Expr.IVal != 0);
 
-       /* Constant rvalue */
-               if (!Invert && Expr.IVal == 0) {
-           g_jump (Label);
-           Warning ("Unreachable code");
-       } else if (Invert && Expr.IVal != 0) {
-           g_jump (Label);
-       }
+        /* Constant rvalue */
+        if (!Invert && Expr.IVal == 0) {
+            g_jump (Label);
+            Warning ("Unreachable code");
+        } else if (Invert && Expr.IVal != 0) {
+            g_jump (Label);
+        }
 
     } else {
 
index 20585417a30657b3234e0de68dec79b0de5cef5b..bfc03318565d80e93aae6e1128bd72138b6f9981 100644 (file)
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 172a1c45023e9cde67007aa358b8eeab3af8f10a..2275261e026b4d8719f1aaed6b4d0d8acf1c1f21 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                textseg.c                                 */
+/*                                 textseg.c                                 */
 /*                                                                           */
-/*                         Text segment structure                           */
+/*                          Text segment structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -59,10 +59,10 @@ TextSeg* NewTextSeg (SymEntry* Func)
 /* Create a new text segment, initialize and return it */
 {
     /* Allocate memory for the structure */
-    TextSeg* S         = xmalloc (sizeof (TextSeg));
+    TextSeg* S  = xmalloc (sizeof (TextSeg));
 
     /* Initialize the fields */
-    S->Func    = Func;
+    S->Func     = Func;
     InitCollection (&S->Lines);
 
     /* Return the new struct */
@@ -105,7 +105,7 @@ void TS_Output (const TextSeg* S)
 
     /* If the segment is actually empty, bail out */
     if (Count == 0) {
-       return;
+        return;
     }
 
     /* Output all entries */
index 7aa53a3e0aa5b4f4d665a87e89baf0a77ad1e489..1c3aba53b01c3639dc6137d8ac26c4e2e976e80f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                textseg.h                                 */
+/*                                 textseg.h                                 */
 /*                                                                           */
-/*                         Text segment structure                           */
+/*                          Text segment structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 typedef struct TextSeg TextSeg;
 struct TextSeg {
-    SymEntry*          Func;           /* Owner function */
-    Collection                 Lines;          /* List of text lines */
+    SymEntry*           Func;           /* Owner function */
+    Collection          Lines;          /* List of text lines */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6afc6698f3a7255457f6803c51ff189f241ad4f2..139b3b3ffeea2ff65afc5878358dcf3fc72118d7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                typecmp.c                                 */
+/*                                 typecmp.c                                 */
 /*                                                                           */
-/*              Type compare function for the cc65 C compiler               */
+/*               Type compare function for the cc65 C compiler               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ static void SetResult (typecmp_t* Result, typecmp_t Val)
 {
     if (Val < *Result) {
         /* printf ("SetResult = %d\n", Val); */
-       *Result = Val;
+        *Result = Val;
     }
 }
 
@@ -83,8 +83,8 @@ static int ParamsHaveDefaultPromotions (const FuncDesc* F)
             }
         }
 
-       /* Get the pointer to the next param */
-       Sym = Sym->NextSym;
+        /* Get the pointer to the next param */
+        Sym = Sym->NextSym;
     }
 
     /* No default promotions in the parameter list */
@@ -127,22 +127,22 @@ static int EqualFuncParams (const FuncDesc* F1, const FuncDesc* F2)
             }
         }
 
-       /* Compare this field */
-               if (TypeCmp (Type1, Type2) < TC_EQUAL) {
-           /* Field types not equal */
-           return 0;
-       }
+        /* Compare this field */
+        if (TypeCmp (Type1, Type2) < TC_EQUAL) {
+            /* Field types not equal */
+            return 0;
+        }
 
-       /* Get the pointers to the next fields */
-       Sym1 = Sym1->NextSym;
-       Sym2 = Sym2->NextSym;
+        /* Get the pointers to the next fields */
+        Sym1 = Sym1->NextSym;
+        Sym2 = Sym2->NextSym;
     }
 
     /* Check both pointers against NULL or a non parameter to compare the
      * field count
      */
     return (Sym1 == 0 || (Sym1->Flags & SC_PARAM) == 0) &&
-          (Sym2 == 0 || (Sym2->Flags & SC_PARAM) == 0);
+           (Sym2 == 0 || (Sym2->Flags & SC_PARAM) == 0);
 }
 
 
@@ -157,7 +157,7 @@ static int EqualSymTables (SymTable* Tab1, SymTable* Tab2)
     /* Compare the fields */
     while (Sym1 && Sym2) {
 
-       /* Compare the names of this field */
+        /* Compare the names of this field */
         if (!HasAnonName (Sym1) || !HasAnonName (Sym2)) {
             if (strcmp (Sym1->Name, Sym2->Name) != 0) {
                 /* Names are not identical */
@@ -166,14 +166,14 @@ static int EqualSymTables (SymTable* Tab1, SymTable* Tab2)
         }
 
         /* Compare the types of this field */
-               if (TypeCmp (Sym1->Type, Sym2->Type) < TC_EQUAL) {
-           /* Field types not equal */
-           return 0;
-       }
-
-       /* Get the pointers to the next fields */
-       Sym1 = Sym1->NextSym;
-       Sym2 = Sym2->NextSym;
+        if (TypeCmp (Sym1->Type, Sym2->Type) < TC_EQUAL) {
+            /* Field types not equal */
+            return 0;
+        }
+
+        /* Get the pointers to the next fields */
+        Sym1 = Sym1->NextSym;
+        Sym2 = Sym2->NextSym;
     }
 
     /* Check both pointers against NULL to compare the field count */
@@ -185,14 +185,14 @@ static int EqualSymTables (SymTable* Tab1, SymTable* Tab2)
 static void DoCompare (const Type* lhs, const Type* rhs, typecmp_t* Result)
 /* Recursively compare two types. */
 {
-    unsigned   Indirections;
-    unsigned   ElementCount;
-    SymEntry*  Sym1;
-    SymEntry*  Sym2;
-    SymTable*  Tab1;
-    SymTable*  Tab2;
-    FuncDesc*  F1;
-    FuncDesc*  F2;
+    unsigned    Indirections;
+    unsigned    ElementCount;
+    SymEntry*   Sym1;
+    SymEntry*   Sym2;
+    SymTable*   Tab1;
+    SymTable*   Tab2;
+    FuncDesc*   F1;
+    FuncDesc*   F2;
 
 
     /* Initialize stuff */
@@ -202,93 +202,93 @@ static void DoCompare (const Type* lhs, const Type* rhs, typecmp_t* Result)
     /* Compare two types. Determine, where they differ */
     while (lhs->C != T_END) {
 
-               TypeCode LeftType, RightType;
-       TypeCode LeftSign, RightSign;
-       TypeCode LeftQual, RightQual;
-       long LeftCount, RightCount;
-
-               /* Check if the end of the type string is reached */
-               if (rhs->C == T_END) {
-                   /* End of comparison reached */
-                   return;
-               }
-
-       /* Get the raw left and right types, signs and qualifiers */
-       LeftType  = GetType (lhs);
-       RightType = GetType (rhs);
-       LeftSign  = GetSignedness (lhs);
-       RightSign = GetSignedness (rhs);
-       LeftQual  = GetQualifier (lhs);
-       RightQual = GetQualifier (rhs);
-
-       /* If the left type is a pointer and the right is an array, both
-        * are compatible.
-        */
-       if (LeftType == T_TYPE_PTR && RightType == T_TYPE_ARRAY) {
-           RightType = T_TYPE_PTR;
-       }
-
-       /* If the raw types are not identical, the types are incompatible */
-       if (LeftType != RightType) {
-           SetResult (Result, TC_INCOMPATIBLE);
-           return;
-       }
-
-       /* On indirection level zero, a qualifier or sign difference is
-        * accepted. The types are no longer equal, but compatible.
-        */
-       if (LeftSign != RightSign) {
-                   if (ElementCount == 0) {
-                       SetResult (Result, TC_SIGN_DIFF);
-                   } else {
-                       SetResult (Result, TC_INCOMPATIBLE);
-                       return;
-                   }
-               }
-               if (LeftQual != RightQual) {
-           /* On the first indirection level, different qualifiers mean
-            * that the types are still compatible. On the second level,
-            * this is a (maybe minor) error, so we create a special
-            * return code, since a qualifier is dropped from a pointer.
-            * Starting from the next level, the types are incompatible
-            * if the qualifiers differ.
-            */
+        TypeCode LeftType, RightType;
+        TypeCode LeftSign, RightSign;
+        TypeCode LeftQual, RightQual;
+        long LeftCount, RightCount;
+
+        /* Check if the end of the type string is reached */
+        if (rhs->C == T_END) {
+            /* End of comparison reached */
+            return;
+        }
+
+        /* Get the raw left and right types, signs and qualifiers */
+        LeftType  = GetType (lhs);
+        RightType = GetType (rhs);
+        LeftSign  = GetSignedness (lhs);
+        RightSign = GetSignedness (rhs);
+        LeftQual  = GetQualifier (lhs);
+        RightQual = GetQualifier (rhs);
+
+        /* If the left type is a pointer and the right is an array, both
+         * are compatible.
+         */
+        if (LeftType == T_TYPE_PTR && RightType == T_TYPE_ARRAY) {
+            RightType = T_TYPE_PTR;
+        }
+
+        /* If the raw types are not identical, the types are incompatible */
+        if (LeftType != RightType) {
+            SetResult (Result, TC_INCOMPATIBLE);
+            return;
+        }
+
+        /* On indirection level zero, a qualifier or sign difference is
+         * accepted. The types are no longer equal, but compatible.
+         */
+        if (LeftSign != RightSign) {
+            if (ElementCount == 0) {
+                SetResult (Result, TC_SIGN_DIFF);
+            } else {
+                SetResult (Result, TC_INCOMPATIBLE);
+                return;
+            }
+        }
+        if (LeftQual != RightQual) {
+            /* On the first indirection level, different qualifiers mean
+             * that the types are still compatible. On the second level,
+             * this is a (maybe minor) error, so we create a special
+             * return code, since a qualifier is dropped from a pointer.
+             * Starting from the next level, the types are incompatible
+             * if the qualifiers differ.
+             */
             /* printf ("Ind = %d    %06X != %06X\n", Indirections, LeftQual, RightQual); */
-           switch (Indirections) {
-
-               case 0:
-                   SetResult (Result, TC_STRICT_COMPATIBLE);
-                   break;
-
-               case 1:
-                   /* A non const value on the right is compatible to a
-                    * const one to the left, same for volatile.
-                    */
-                   if ((LeftQual & T_QUAL_CONST) < (RightQual & T_QUAL_CONST) ||
-                       (LeftQual & T_QUAL_VOLATILE) < (RightQual & T_QUAL_VOLATILE)) {
-                       SetResult (Result, TC_QUAL_DIFF);
-                   } else {
-                       SetResult (Result, TC_STRICT_COMPATIBLE);
-                   }
-                   break;
-
-               default:
-                   SetResult (Result, TC_INCOMPATIBLE);
-                   return;
-           }
-               }
-
-               /* Check for special type elements */
-               switch (LeftType) {
-
-           case T_TYPE_PTR:
-               ++Indirections;
-               break;
-
-                   case T_TYPE_FUNC:
-                       /* Compare the function descriptors */
-                       F1 = GetFuncDesc (lhs);
-                       F2 = GetFuncDesc (rhs);
+            switch (Indirections) {
+
+                case 0:
+                    SetResult (Result, TC_STRICT_COMPATIBLE);
+                    break;
+
+                case 1:
+                    /* A non const value on the right is compatible to a
+                     * const one to the left, same for volatile.
+                     */
+                    if ((LeftQual & T_QUAL_CONST) < (RightQual & T_QUAL_CONST) ||
+                        (LeftQual & T_QUAL_VOLATILE) < (RightQual & T_QUAL_VOLATILE)) {
+                        SetResult (Result, TC_QUAL_DIFF);
+                    } else {
+                        SetResult (Result, TC_STRICT_COMPATIBLE);
+                    }
+                    break;
+
+                default:
+                    SetResult (Result, TC_INCOMPATIBLE);
+                    return;
+            }
+        }
+
+        /* Check for special type elements */
+        switch (LeftType) {
+
+            case T_TYPE_PTR:
+                ++Indirections;
+                break;
+
+            case T_TYPE_FUNC:
+                /* Compare the function descriptors */
+                F1 = GetFuncDesc (lhs);
+                F2 = GetFuncDesc (rhs);
 
                 /* If one of both functions has an empty parameter list (which
                  * does also mean, it is not a function definition, because the
@@ -314,44 +314,44 @@ static void DoCompare (const Type* lhs, const Type* rhs, typecmp_t* Result)
                     }
                 } else {
 
-                           /* Check the remaining flags */
-                           if ((F1->Flags & ~FD_IGNORE) != (F2->Flags & ~FD_IGNORE)) {
-                               /* Flags differ */
-                       SetResult (Result, TC_INCOMPATIBLE);
-                               return;
-                           }
-
-                           /* Compare the parameter lists */
-                           if (EqualFuncParams (F1, F2) == 0) {
-                               /* Parameter list is not identical */
-                       SetResult (Result, TC_INCOMPATIBLE);
-                               return;
-                           }
-               }
-
-               /* Keep on and compare the return type */
-               break;
-
-           case T_TYPE_ARRAY:
-               /* Check member count */
-               LeftCount  = GetElementCount (lhs);
-               RightCount = GetElementCount (rhs);
-                       if (LeftCount  != UNSPECIFIED &&
+                    /* Check the remaining flags */
+                    if ((F1->Flags & ~FD_IGNORE) != (F2->Flags & ~FD_IGNORE)) {
+                        /* Flags differ */
+                        SetResult (Result, TC_INCOMPATIBLE);
+                        return;
+                    }
+
+                    /* Compare the parameter lists */
+                    if (EqualFuncParams (F1, F2) == 0) {
+                        /* Parameter list is not identical */
+                        SetResult (Result, TC_INCOMPATIBLE);
+                        return;
+                    }
+                }
+
+                /* Keep on and compare the return type */
+                break;
+
+            case T_TYPE_ARRAY:
+                /* Check member count */
+                LeftCount  = GetElementCount (lhs);
+                RightCount = GetElementCount (rhs);
+                if (LeftCount  != UNSPECIFIED &&
                     RightCount != UNSPECIFIED &&
                     LeftCount  != RightCount) {
-                   /* Member count given but different */
-                   SetResult (Result, TC_INCOMPATIBLE);
-                   return;
-               }
-               break;
-
-           case T_TYPE_STRUCT:
-           case T_TYPE_UNION:
-                       /* Compare the fields recursively. To do that, we fetch the
-                * pointer to the struct definition from the type, and compare
-                * the fields.
-                */
-               Sym1 = GetSymEntry (lhs);
+                    /* Member count given but different */
+                    SetResult (Result, TC_INCOMPATIBLE);
+                    return;
+                }
+                break;
+
+            case T_TYPE_STRUCT:
+            case T_TYPE_UNION:
+                /* Compare the fields recursively. To do that, we fetch the
+                 * pointer to the struct definition from the type, and compare
+                 * the fields.
+                 */
+                Sym1 = GetSymEntry (lhs);
                 Sym2 = GetSymEntry (rhs);
 
                 /* If one symbol has a name, the names must be identical */
@@ -363,39 +363,39 @@ static void DoCompare (const Type* lhs, const Type* rhs, typecmp_t* Result)
                     }
                 }
 
-               /* Get the field tables from the struct entry */
-               Tab1 = Sym1->V.S.SymTab;
-               Tab2 = Sym2->V.S.SymTab;
+                /* Get the field tables from the struct entry */
+                Tab1 = Sym1->V.S.SymTab;
+                Tab2 = Sym2->V.S.SymTab;
 
-               /* One or both structs may be forward definitions. In this case,
-                * the symbol tables are both non existant. Assume that the
-                * structs are equal in this case.
-                */
-               if (Tab1 != 0 && Tab2 != 0) {
+                /* One or both structs may be forward definitions. In this case,
+                 * the symbol tables are both non existant. Assume that the
+                 * structs are equal in this case.
+                 */
+                if (Tab1 != 0 && Tab2 != 0) {
 
-                   if (EqualSymTables (Tab1, Tab2) == 0) {
-                       /* Field lists are not equal */
-                       SetResult (Result, TC_INCOMPATIBLE);
-                       return;
-                   }
+                    if (EqualSymTables (Tab1, Tab2) == 0) {
+                        /* Field lists are not equal */
+                        SetResult (Result, TC_INCOMPATIBLE);
+                        return;
+                    }
 
-               }
+                }
 
-               /* Structs are equal */
-               break;
-       }
+                /* Structs are equal */
+                break;
+        }
 
-       /* Next type string element */
-       ++lhs;
-               ++rhs;
-       ++ElementCount;
+        /* Next type string element */
+        ++lhs;
+        ++rhs;
+        ++ElementCount;
     }
 
     /* Check if end of rhs reached */
     if (rhs->C == T_END) {
-       SetResult (Result, TC_EQUAL);
+        SetResult (Result, TC_EQUAL);
     } else {
-       SetResult (Result, TC_INCOMPATIBLE);
+        SetResult (Result, TC_INCOMPATIBLE);
     }
 }
 
@@ -405,7 +405,7 @@ typecmp_t TypeCmp (const Type* lhs, const Type* rhs)
 /* Compare two types and return the result */
 {
     /* Assume the types are identical */
-    typecmp_t  Result = TC_IDENTICAL;
+    typecmp_t   Result = TC_IDENTICAL;
 
 #if 0
     printf ("Left : "); PrintRawType (stdout, lhs);
@@ -414,7 +414,7 @@ typecmp_t TypeCmp (const Type* lhs, const Type* rhs)
 
     /* Recursively compare the types if they aren't identical */
     if (rhs != lhs) {
-       DoCompare (lhs, rhs, &Result);
+        DoCompare (lhs, rhs, &Result);
     }
 
     /* Return the result */
index 6ccaa33713fe9a8c1dfc8d7716b78767afa987b0..65258573804d74a1019ed91cc202705d05a305e4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                typecmp.h                                 */
+/*                                 typecmp.h                                 */
 /*                                                                           */
-/*              Type compare function for the cc65 C compiler               */
+/*               Type compare function for the cc65 C compiler               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Degree of type compatibility. Must be in ascending order */
 typedef enum {
-    TC_INCOMPATIBLE,             /* Distinct types */
-    TC_SIGN_DIFF,                /* Signedness differs */
+    TC_INCOMPATIBLE,              /* Distinct types */
+    TC_SIGN_DIFF,                 /* Signedness differs */
     TC_COMPATIBLE = TC_SIGN_DIFF, /* Compatible types */
-    TC_QUAL_DIFF,                /* Types differ in qualifier of pointer */
-    TC_STRICT_COMPATIBLE,                /* Strict compatibility */
-    TC_EQUAL,                    /* Types are equal */
-    TC_IDENTICAL                 /* Types are identical */
+    TC_QUAL_DIFF,                 /* Types differ in qualifier of pointer */
+    TC_STRICT_COMPATIBLE,         /* Strict compatibility */
+    TC_EQUAL,                     /* Types are equal */
+    TC_IDENTICAL                  /* Types are identical */
 } typecmp_t;
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index ecde7349fbaac217d810ac5094d9f50f434dbb99..6d50aa5c66af9d7c582176eef5bc93b26ac3ff6f 100644 (file)
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -180,10 +180,10 @@ void TypeConversion (ExprDesc* Expr, Type* NewType)
 
     /* First, do some type checking */
     if (IsTypeVoid (NewType) || IsTypeVoid (Expr->Type)) {
-       /* If one of the sides are of type void, output a more apropriate
-        * error message.
-        */
-               Error ("Illegal type");
+        /* If one of the sides are of type void, output a more apropriate
+         * error message.
+         */
+        Error ("Illegal type");
     }
 
     /* If Expr is a function, convert it to pointer to function */
@@ -201,15 +201,15 @@ void TypeConversion (ExprDesc* Expr, Type* NewType)
     if (IsClassInt (NewType)) {
 
         /* Handle conversions to int type */
-               if (IsClassPtr (Expr->Type)) {
-           /* Pointer -> int conversion. Convert array to pointer */
+        if (IsClassPtr (Expr->Type)) {
+            /* Pointer -> int conversion. Convert array to pointer */
             if (IsTypeArray (Expr->Type)) {
                 Expr->Type = ArrayToPtr (Expr->Type);
             }
-           Warning ("Converting pointer to integer without a cast");
-               } else if (!IsClassInt (Expr->Type) && !IsClassFloat (Expr->Type)) {
-           Error ("Incompatible types");
-               }
+            Warning ("Converting pointer to integer without a cast");
+        } else if (!IsClassInt (Expr->Type) && !IsClassFloat (Expr->Type)) {
+            Error ("Incompatible types");
+        }
 
     } else if (IsClassFloat (NewType)) {
 
@@ -220,44 +220,44 @@ void TypeConversion (ExprDesc* Expr, Type* NewType)
     } else if (IsClassPtr (NewType)) {
 
         /* Handle conversions to pointer type */
-               if (IsClassPtr (Expr->Type)) {
+        if (IsClassPtr (Expr->Type)) {
 
             /* Convert array to pointer */
             if (IsTypeArray (Expr->Type)) {
                 Expr->Type = ArrayToPtr (Expr->Type);
             }
 
-           /* Pointer to pointer assignment is valid, if:
-            *   - both point to the same types, or
-            *   - the rhs pointer is a void pointer, or
-            *   - the lhs pointer is a void pointer.
-            */
-           if (!IsTypeVoid (Indirect (NewType)) && !IsTypeVoid (Indirect (Expr->Type))) {
-               /* Compare the types */
+            /* Pointer to pointer assignment is valid, if:
+             *   - both point to the same types, or
+             *   - the rhs pointer is a void pointer, or
+             *   - the lhs pointer is a void pointer.
+             */
+            if (!IsTypeVoid (Indirect (NewType)) && !IsTypeVoid (Indirect (Expr->Type))) {
+                /* Compare the types */
                 switch (TypeCmp (NewType, Expr->Type)) {
 
-                   case TC_INCOMPATIBLE:
-                       Error ("Incompatible pointer types");
-                       break;
-
-                   case TC_QUAL_DIFF:
-                       Error ("Pointer types differ in type qualifiers");
-                       break;
-
-                   default:
-                       /* Ok */
-                       break;
-               }
-           }
-
-       } else if (IsClassInt (Expr->Type)) {
-           /* Int to pointer assignment is valid only for constant zero */
-           if (!ED_IsConstAbsInt (Expr) || Expr->IVal != 0) {
-               Warning ("Converting integer to pointer without a cast");
-           }
-       } else {
-           Error ("Incompatible types");
-       }
+                    case TC_INCOMPATIBLE:
+                        Error ("Incompatible pointer types");
+                        break;
+
+                    case TC_QUAL_DIFF:
+                        Error ("Pointer types differ in type qualifiers");
+                        break;
+
+                    default:
+                        /* Ok */
+                        break;
+                }
+            }
+
+        } else if (IsClassInt (Expr->Type)) {
+            /* Int to pointer assignment is valid only for constant zero */
+            if (!ED_IsConstAbsInt (Expr) || Expr->IVal != 0) {
+                Warning ("Converting integer to pointer without a cast");
+            }
+        } else {
+            Error ("Incompatible types");
+        }
 
     } else {
 
index cab6fc0ec5518247620483baf279c9fdca93f9d8..2407862e1c14cc3cd1de96f0156adb66ce45c5bd 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 07586ccf15c5f1f7631ff8ca6c19a6327f6dccce..db26dd7d2198280baae2275e4dbea6661ca1bf14 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 util.c                                   */
+/*                                  util.c                                   */
 /*                                                                           */
-/*                Utility functions for the cc65 C compiler                 */
+/*                 Utility functions for the cc65 C compiler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -38,7 +38,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -52,10 +52,10 @@ int PowerOf2 (unsigned long Val)
     unsigned long Mask = 0x0001;
 
     for (I = 0; I < 32; ++I) {
-       if (Val == Mask) {
-           return I;
-       }
-       Mask <<= 1;
+        if (Val == Mask) {
+            return I;
+        }
+        Mask <<= 1;
     }
     return -1;
 }
index 8cb516a8f4c73670347f715e9085f580559791f5..9fc7173396177bb9031f3ab19cfce37aee61c2a8 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 util.h                                   */
+/*                                  util.h                                   */
 /*                                                                           */
-/*                Utility functions for the cc65 C compiler                 */
+/*                 Utility functions for the cc65 C compiler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 310688f078ac0513c76b8c58d1f7a0c6846d6e39..424080d83e2734198f85bb5120383190ee9e6720 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.c                                   */
+/*                                 error.c                                   */
 /*                                                                           */
 /*            Error handling for the chrcvt vector font converter            */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index de1390bfccf5491693404f99f3a11269b56edf49..93f59ccfdb62f93a6b476d4b47a190ce5d913583 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.h                                   */
+/*                                 error.h                                   */
 /*                                                                           */
 /*            Error handling for the chrcvt vector font converter            */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8cc32cc88f908d4a53d8b087c70cf7a0aa653c62..bec905142cf75ca154d4d7283687f8190bd13664 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
 /*             Main program of the chrcvt vector font converter              */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -171,7 +171,7 @@ static unsigned FilesProcessed = 0;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -180,23 +180,23 @@ static void Usage (void)
 /* Print usage information and exit */
 {
     fprintf (stderr,
-            "Usage: %s [options] file [options] [file]\n"
-            "Short options:\n"
-                    "  -h\t\t\tHelp (this text)\n"
+             "Usage: %s [options] file [options] [file]\n"
+             "Short options:\n"
+             "  -h\t\t\tHelp (this text)\n"
              "  -v\t\t\tBe more verbose\n"
-                    "  -V\t\t\tPrint the version number and exit\n"
-            "\n"
-            "Long options:\n"
-            "  --help\t\tHelp (this text)\n"
+             "  -V\t\t\tPrint the version number and exit\n"
+             "\n"
+             "Long options:\n"
+             "  --help\t\tHelp (this text)\n"
              "  --verbose\t\tBe more verbose\n"
-                    "  --version\t\tPrint the version number and exit\n",
-            ProgName);
+             "  --version\t\tPrint the version number and exit\n",
+             ProgName);
 }
 
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -206,7 +206,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase verbosity */
 {
     ++Verbosity;
@@ -215,12 +215,12 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr,
-                    "%s V%s - (C) Copyright 2009, Ullrich von Bassewitz\n",
-                    ProgName, GetVersionAsString ());
+             "%s V%s - (C) Copyright 2009, Ullrich von Bassewitz\n",
+             ProgName, GetVersionAsString ());
 }
 
 
@@ -324,7 +324,7 @@ static void ConvertFile (const char* Input, const char* Output)
     /* Try to open the file for reading */
     FILE* F = fopen (Input, "rb");
     if (F == 0) {
-       Error ("Cannot open input file `%s': %s", Input, strerror (errno));
+        Error ("Cannot open input file `%s': %s", Input, strerror (errno));
     }
 
     /* Seek to the end and determine the size */
@@ -434,7 +434,7 @@ static void ConvertFile (const char* Input, const char* Output)
     /* Open the output file */
     F = fopen (Output, "wb");
     if (F == 0) {
-               Error ("Cannot open output file `%s': %s", Output, strerror (errno));
+        Error ("Cannot open output file `%s': %s", Output, strerror (errno));
     }
 
     /* Write the header to the output file */
@@ -473,9 +473,9 @@ int main (int argc, char* argv [])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-       { "--help",             0,      OptHelp                 },
-               { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
+        { "--help",             0,      OptHelp                 },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
     };
 
     unsigned I;
@@ -487,47 +487,47 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec[I];
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
 
-               /* Check for an option */
-               if (Arg [0] == '-') {
-                   switch (Arg [1]) {
+        /* Check for an option */
+        if (Arg [0] == '-') {
+            switch (Arg [1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
-               case 'h':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                    OptHelp (Arg, 0);
+                    break;
 
-               case 'v':
-                   OptVerbose (Arg, 0);
-                   break;
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
 
-                       case 'V':
-                   OptVersion (Arg, 0);
-                           break;
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
 
-                       default:
-                           UnknownOption (Arg);
-                   break;
+                default:
+                    UnknownOption (Arg);
+                    break;
 
-           }
-               } else {
-           /* Filename. Dump it. */
-           ConvertFile (Arg, 0);
-           ++FilesProcessed;
-       }
+            }
+        } else {
+            /* Filename. Dump it. */
+            ConvertFile (Arg, 0);
+            ++FilesProcessed;
+        }
 
-       /* Next argument */
-       ++I;
+        /* Next argument */
+        ++I;
     }
 
     /* Print a message if we did not process any files */
     if (FilesProcessed == 0) {
-       fprintf (stderr, "%s: No input files\n", ProgName);
+        fprintf (stderr, "%s: No input files\n", ProgName);
     }
 
     /* Success */
index 0372d50a08f035b05fafc3a7b9ff3a0ea435a382..c68b7fe642d83d58706169baeaecf6270e76fe5d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*        Error handling for the cl65 compile and link utility              */
+/*         Error handling for the cl65 compile and link utility              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 /* common */
 #include "cmdline.h"
-         
+          
 /* cl65 */
 #include "global.h"
 #include "error.h"
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5517d91f212fc54dbdc428e8adbae47d3167ee76..38999faec3eb8b6066a3f9f5644715a3ce92e65e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*        Error handling for the cl65 compile and link utility              */
+/*         Error handling for the cl65 compile and link utility              */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9962c9c7e91ac86a062d41de2cc939669065d12b..31802041579d93b4c125384e6c69fb25800e000a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*         Global variables for the cl65 compile and link utility           */
+/*          Global variables for the cl65 compile and link utility           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-unsigned char Debug    = 0;            /* Debug mode enabled? */
+unsigned char Debug     = 0;            /* Debug mode enabled? */
 
 
 
index 011c8d0b1699cfcf60f98497a59472c046b8df35..fd85dc2d593e05c0d5fdd142c4d841ef2cc4d572 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*         Global variables for the cl65 compile and link utility           */
+/*          Global variables for the cl65 compile and link utility           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-extern unsigned char Debug;            /* Debug mode enabled? */
+extern unsigned char Debug;             /* Debug mode enabled? */
 
 
 
index 4c3c40b1fec90e8e439066ada8a63601820017b3..e704d985c16d78296248e8a61d185a48796eb4b5 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                 main.c                                   */
-/*                                                                          */
-/*            Main module for the cl65 compile-and-link utility             */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                  main.c                                   */
+/*                                                                           */
+/*             Main module for the cl65 compile-and-link utility             */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1999-2013, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -73,7 +73,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Struct that describes a command */
 typedef struct CmdDesc CmdDesc;
 struct CmdDesc {
-    char*      Name;           /* The command name */
+    char*       Name;           /* The command name */
 
-    unsigned   ArgCount;       /* Count of arguments */
-    unsigned   ArgMax;         /* Maximum count of arguments */
-    char**     Args;           /* The arguments */
+    unsigned    ArgCount;       /* Count of arguments */
+    unsigned    ArgMax;         /* Maximum count of arguments */
+    char**      Args;           /* The arguments */
 
-    unsigned   FileCount;      /* Count of files to translate */
-    unsigned   FileMax;        /* Maximum count of files */
-    char**     Files;          /* The files */
+    unsigned    FileCount;      /* Count of files to translate */
+    unsigned    FileMax;        /* Maximum count of files */
+    char**      Files;          /* The files */
 };
 
 /* Command descriptors for the different programs */
@@ -125,7 +125,7 @@ static int Module = 0;
 #define MODULE_EXT      ".o65"
 
 /* Name of the target specific runtime library */
-static char* TargetLib = 0;
+static char* TargetLib  = 0;
 
 
 
@@ -146,7 +146,7 @@ static char* TargetLib      = 0;
 
 
 /*****************************************************************************/
-/*                       Command structure handling                         */
+/*                        Command structure handling                         */
 /*****************************************************************************/
 
 
@@ -155,7 +155,7 @@ static void CmdExpand (CmdDesc* Cmd)
 /* Expand the argument vector */
 {
     unsigned NewMax  = Cmd->ArgMax + 10;
-    char**      NewArgs = xmalloc (NewMax * sizeof (char*));
+    char**       NewArgs = xmalloc (NewMax * sizeof (char*));
     memcpy (NewArgs, Cmd->Args, Cmd->ArgMax * sizeof (char*));
     xfree (Cmd->Args);
     Cmd->Args   = NewArgs;
@@ -174,9 +174,9 @@ static void CmdAddArg (CmdDesc* Cmd, const char* Arg)
 
     /* Add a copy of the new argument, allow a NULL pointer */
     if (Arg) {
-       Cmd->Args[Cmd->ArgCount++] = xstrdup (Arg);
+        Cmd->Args[Cmd->ArgCount++] = xstrdup (Arg);
     } else {
-       Cmd->Args[Cmd->ArgCount++] = 0;
+        Cmd->Args[Cmd->ArgCount++] = 0;
     }
 }
 
@@ -236,9 +236,9 @@ static void CmdDelArgs (CmdDesc* Cmd, unsigned LastValid)
 /* Remove all arguments with an index greater than LastValid */
 {
     while (Cmd->ArgCount > LastValid) {
-       Cmd->ArgCount--;
-       xfree (Cmd->Args [Cmd->ArgCount]);
-       Cmd->Args [Cmd->ArgCount] = 0;
+        Cmd->ArgCount--;
+        xfree (Cmd->Args [Cmd->ArgCount]);
+        Cmd->Args [Cmd->ArgCount] = 0;
     }
 }
 
@@ -249,12 +249,12 @@ static void CmdAddFile (CmdDesc* Cmd, const char* File)
 {
     /* Expand the file vector if needed */
     if (Cmd->FileCount == Cmd->FileMax) {
-       unsigned NewMax   = Cmd->FileMax + 10;
-       char**   NewFiles = xmalloc (NewMax * sizeof (char*));
-       memcpy (NewFiles, Cmd->Files, Cmd->FileMax * sizeof (char*));
-       xfree (Cmd->Files);
-       Cmd->Files   = NewFiles;
-       Cmd->FileMax = NewMax;
+        unsigned NewMax   = Cmd->FileMax + 10;
+        char**   NewFiles = xmalloc (NewMax * sizeof (char*));
+        memcpy (NewFiles, Cmd->Files, Cmd->FileMax * sizeof (char*));
+        xfree (Cmd->Files);
+        Cmd->Files   = NewFiles;
+        Cmd->FileMax = NewMax;
     }
 
     /* If the file name is not NULL (which is legal and is used to terminate
@@ -263,21 +263,21 @@ static void CmdAddFile (CmdDesc* Cmd, const char* File)
      * the file.
      */
     if (File) {
-       unsigned I;
-       for (I = 0; I < Cmd->FileCount; ++I) {
-           if (strcmp (Cmd->Files[I], File) == 0) {
-               /* Duplicate file */
-               Warning ("Duplicate file in argument list: `%s'", File);
-               /* No need to search further */
-               break;
-           }
-       }
-
-       /* Add the file */
-       Cmd->Files [Cmd->FileCount++] = xstrdup (File);
+        unsigned I;
+        for (I = 0; I < Cmd->FileCount; ++I) {
+            if (strcmp (Cmd->Files[I], File) == 0) {
+                /* Duplicate file */
+                Warning ("Duplicate file in argument list: `%s'", File);
+                /* No need to search further */
+                break;
+            }
+        }
+
+        /* Add the file */
+        Cmd->Files [Cmd->FileCount++] = xstrdup (File);
     } else {
-       /* Add a NULL pointer */
-       Cmd->Files [Cmd->FileCount++] = 0;
+        /* Add a NULL pointer */
+        Cmd->Files [Cmd->FileCount++] = 0;
     }
 }
 
@@ -324,14 +324,14 @@ static void CmdPrint (CmdDesc* Cmd, FILE* F)
 {
     unsigned I;
     for (I = 0; I < Cmd->ArgCount && Cmd->Args[I] != 0; ++I) {
-       fprintf (F, "%s ", Cmd->Args[I]);
+        fprintf (F, "%s ", Cmd->Args[I]);
     }
 }
 
 
 
 /*****************************************************************************/
-/*                             Target handling                              */
+/*                              Target handling                              */
 /*****************************************************************************/
 
 
@@ -342,14 +342,14 @@ static void SetTargetFiles (void)
     /* Determine the names of the target specific library file */
     if (Target != TGT_NONE) {
 
-       /* Get a pointer to the system name and its length */
-       const char* TargetName = GetTargetName (Target);
-       unsigned    TargetNameLen = strlen (TargetName);
+        /* Get a pointer to the system name and its length */
+        const char* TargetName = GetTargetName (Target);
+        unsigned    TargetNameLen = strlen (TargetName);
 
-       /* Set the library file */
-       TargetLib = xmalloc (TargetNameLen + 4 + 1);
-       memcpy (TargetLib, TargetName, TargetNameLen);
-       strcpy (TargetLib + TargetNameLen, ".lib");
+        /* Set the library file */
+        TargetLib = xmalloc (TargetNameLen + 4 + 1);
+        memcpy (TargetLib, TargetName, TargetNameLen);
+        strcpy (TargetLib + TargetNameLen, ".lib");
 
     }
 }
@@ -357,7 +357,7 @@ static void SetTargetFiles (void)
 
 
 /*****************************************************************************/
-/*                              Subprocesses                                */
+/*                               Subprocesses                                */
 /*****************************************************************************/
 
 
@@ -369,9 +369,9 @@ static void ExecProgram (CmdDesc* Cmd)
 
     /* If in debug mode, output the command line we will execute */
     if (Debug) {
-       printf ("Executing: ");
-               CmdPrint (Cmd, stdout);
-       printf ("\n");
+        printf ("Executing: ");
+        CmdPrint (Cmd, stdout);
+        printf ("\n");
     }
 
     /* Call the program */
@@ -379,11 +379,11 @@ static void ExecProgram (CmdDesc* Cmd)
 
     /* Check the result code */
     if (Status < 0) {
-       /* Error executing the program */
-       Error ("Cannot execute `%s': %s", Cmd->Name, strerror (errno));
+        /* Error executing the program */
+        Error ("Cannot execute `%s': %s", Cmd->Name, strerror (errno));
     } else if (Status != 0) {
-       /* Called program had an error */
-       exit (Status);
+        /* Called program had an error */
+        exit (Status);
     }
 }
 
@@ -400,14 +400,14 @@ static void Link (void)
      */
     if (OutputName) {
 
-       CmdSetOutput (&LD65, OutputName);
+        CmdSetOutput (&LD65, OutputName);
 
     } else if (FirstInput && FindExt (FirstInput)) {  /* Only if ext present! */
 
         const char* Extension = Module? MODULE_EXT : "";
-       char* Output = MakeFilename (FirstInput, Extension);
-       CmdSetOutput (&LD65, Output);
-       xfree (Output);
+        char* Output = MakeFilename (FirstInput, Extension);
+        CmdSetOutput (&LD65, Output);
+        xfree (Output);
 
     }
 
@@ -418,11 +418,11 @@ static void Link (void)
         if (Module) {
             Error ("Cannot use -C and --module together");
         }
-               CmdAddArg2 (&LD65, "-C", LinkerConfig);
+        CmdAddArg2 (&LD65, "-C", LinkerConfig);
     } else if (Module) {
         CmdSetTarget (&LD65, TGT_MODULE);
     } else {
-       CmdSetTarget (&LD65, Target);
+        CmdSetTarget (&LD65, Target);
     }
 
     /* Determine which target libraries are needed */
@@ -430,12 +430,12 @@ static void Link (void)
 
     /* Add all object files as parameters */
     for (I = 0; I < LD65.FileCount; ++I) {
-       CmdAddArg (&LD65, LD65.Files [I]);
+        CmdAddArg (&LD65, LD65.Files [I]);
     }
 
     /* Add the system runtime library */
     if (TargetLib) {
-       CmdAddArg (&LD65, TargetLib);
+        CmdAddArg (&LD65, TargetLib);
     }
 
     /* Terminate the argument list with a NULL pointer */
@@ -462,9 +462,9 @@ static void AssembleFile (const char* File, unsigned ArgCount)
          * the the file list of the linker. The name of the output
          * file is that of the input file with ".s" replaced by ".o".
          */
-       char* ObjName = MakeFilename (File, ".o");
-       CmdAddFile (&LD65, ObjName);
-       xfree (ObjName);
+        char* ObjName = MakeFilename (File, ".o");
+        CmdAddFile (&LD65, ObjName);
+        xfree (ObjName);
     } else {
         /* This is the final step. If an output name is given, set it */
         if (OutputName) {
@@ -590,7 +590,7 @@ static void Compile (const char* File)
      */
     if (DoAssemble) {
         /* Assemble the intermediate file and remove it */
-       AssembleIntermediate (File);
+        AssembleIntermediate (File);
     }
 }
 
@@ -624,7 +624,7 @@ static void CompileRes (const char* File)
      */
     if (DoAssemble) {
         /* Assemble the intermediate file and remove it */
-       AssembleIntermediate (File);
+        AssembleIntermediate (File);
     }
 }
 
@@ -640,7 +640,7 @@ static void ConvertO65 (const char* File)
      * output name.
      */
     if (!DoAssemble && OutputName) {
-               CmdSetOutput (&CO65, OutputName);
+        CmdSetOutput (&CO65, OutputName);
     }
 
     /* Add the file as argument for the object file converter */
@@ -660,14 +660,14 @@ static void ConvertO65 (const char* File)
      */
     if (DoAssemble) {
         /* Assemble the intermediate file and remove it */
-       AssembleIntermediate (File);
+        AssembleIntermediate (File);
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -765,7 +765,7 @@ static void Usage (void)
 
 
 static void OptAddSource (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Strict source code as comments to the generated asm code */
 {
     CmdAddArg (&CC65, "-T");
@@ -839,7 +839,7 @@ static void OptCfgPath (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptCheckStack (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Handle the --check-stack option */
 {
     CmdAddArg (&CC65, "--check-stack");
@@ -935,7 +935,7 @@ static void OptDataName (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptDebug (const char* Opt attribute ((unused)),
-                     const char* Arg attribute ((unused)))
+                      const char* Arg attribute ((unused)))
 /* Debug mode (compiler and cl65 utility) */
 {
     CmdAddArg (&CC65, "-d");
@@ -946,7 +946,7 @@ static void OptDebug (const char* Opt attribute ((unused)),
 
 
 static void OptDebugInfo (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Debug Info - add to compiler and assembler */
 {
     CmdAddArg (&CC65, "-g");
@@ -973,7 +973,7 @@ static void OptForceImport (const char* Opt attribute ((unused)), const char* Ar
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print help - cl65 */
 {
     Usage ();
@@ -1031,14 +1031,14 @@ static void OptListing (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptListTargets (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* List all targets */
 {
     target_t T;
 
     /* List the targets */
     for (T = TGT_NONE; T < TGT_COUNT; ++T) {
-       printf ("%s\n", GetTargetName (T));
+        printf ("%s\n", GetTargetName (T));
     }
 
     /* Terminate */
@@ -1140,7 +1140,7 @@ static void OptRodataName (const char* Opt attribute ((unused)), const char* Arg
 
 
 static void OptSignedChars (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Make default characters signed */
 {
     CmdAddArg (&CC65, "-j");
@@ -1165,7 +1165,7 @@ static void OptStartAddr (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptStaticLocals (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* Place local variables in static storage */
 {
     CmdAddArg (&CC65, "-Cl");
@@ -1187,7 +1187,7 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Verbose mode (compiler, assembler, linker) */
 {
     CmdAddArg (&CC65, "-v");
@@ -1199,7 +1199,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print version number */
 {
     fprintf (stderr, "cl65 V%s\n", GetVersionAsString ());
@@ -1228,56 +1228,56 @@ int main (int argc, char* argv [])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-       { "--add-source",       0,      OptAddSource            },
+        { "--add-source",       0,      OptAddSource            },
         { "--asm-args",         1,      OptAsmArgs              },
-               { "--asm-define",       1,      OptAsmDefine            },
-       { "--asm-include-dir",  1,      OptAsmIncludeDir        },
+        { "--asm-define",       1,      OptAsmDefine            },
+        { "--asm-include-dir",  1,      OptAsmIncludeDir        },
         { "--bin-include-dir",  1,      OptBinIncludeDir        },
-               { "--bss-label",        1,      OptBssLabel             },
-       { "--bss-name",         1,      OptBssName              },
+        { "--bss-label",        1,      OptBssLabel             },
+        { "--bss-name",         1,      OptBssName              },
         { "--cc-args",          1,      OptCCArgs               },
-               { "--cfg-path",         1,      OptCfgPath              },
-               { "--check-stack",      0,      OptCheckStack           },
-               { "--code-label",       1,      OptCodeLabel            },
-       { "--code-name",        1,      OptCodeName             },
-       { "--codesize",         1,      OptCodeSize             },
+        { "--cfg-path",         1,      OptCfgPath              },
+        { "--check-stack",      0,      OptCheckStack           },
+        { "--code-label",       1,      OptCodeLabel            },
+        { "--code-name",        1,      OptCodeName             },
+        { "--codesize",         1,      OptCodeSize             },
         { "--config",           1,      OptConfig               },
-        { "--cpu",                     1,      OptCPU                  },
-       { "--create-dep",       1,      OptCreateDep            },
-       { "--create-full-dep",  1,      OptCreateFullDep        },
-               { "--data-label",       1,      OptDataLabel            },
-       { "--data-name",        1,      OptDataName             },
-       { "--debug",            0,      OptDebug                },
-       { "--debug-info",       0,      OptDebugInfo            },
-       { "--feature",          1,      OptFeature              },
+        { "--cpu",              1,      OptCPU                  },
+        { "--create-dep",       1,      OptCreateDep            },
+        { "--create-full-dep",  1,      OptCreateFullDep        },
+        { "--data-label",       1,      OptDataLabel            },
+        { "--data-name",        1,      OptDataName             },
+        { "--debug",            0,      OptDebug                },
+        { "--debug-info",       0,      OptDebugInfo            },
+        { "--feature",          1,      OptFeature              },
         { "--force-import",     1,      OptForceImport          },
-       { "--help",             0,      OptHelp                 },
-       { "--include-dir",      1,      OptIncludeDir           },
+        { "--help",             0,      OptHelp                 },
+        { "--include-dir",      1,      OptIncludeDir           },
         { "--ld-args",          1,      OptLdArgs               },
-               { "--lib",              1,      OptLib                  },
-               { "--lib-path",         1,      OptLibPath              },
-       { "--list-targets",     0,      OptListTargets          },
-       { "--listing",          1,      OptListing              },
+        { "--lib",              1,      OptLib                  },
+        { "--lib-path",         1,      OptLibPath              },
+        { "--list-targets",     0,      OptListTargets          },
+        { "--listing",          1,      OptListing              },
         { "--list-bytes",       1,      OptListBytes            },
-       { "--mapfile",          1,      OptMapFile              },
+        { "--mapfile",          1,      OptMapFile              },
         { "--memory-model",     1,      OptMemoryModel          },
         { "--module",           0,      OptModule               },
         { "--module-id",        1,      OptModuleId             },
         { "--o65-model",        1,      OptO65Model             },
-               { "--obj",              1,      OptObj                  },
-               { "--obj-path",         1,      OptObjPath              },
+        { "--obj",              1,      OptObj                  },
+        { "--obj-path",         1,      OptObjPath              },
         { "--register-space",   1,      OptRegisterSpace        },
         { "--register-vars",    0,      OptRegisterVars         },
-       { "--rodata-name",      1,      OptRodataName           },
-       { "--signed-chars",     0,      OptSignedChars          },
+        { "--rodata-name",      1,      OptRodataName           },
+        { "--signed-chars",     0,      OptSignedChars          },
         { "--standard",         1,      OptStandard             },
-       { "--start-addr",       1,      OptStartAddr            },
-               { "--static-locals",    0,      OptStaticLocals         },
-       { "--target",           1,      OptTarget               },
-       { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
-               { "--zeropage-label",   1,      OptZeropageLabel        },
-       { "--zeropage-name",    1,      OptZeropageName         },
+        { "--start-addr",       1,      OptStartAddr            },
+        { "--static-locals",    0,      OptStaticLocals         },
+        { "--target",           1,      OptTarget               },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
+        { "--zeropage-label",   1,      OptZeropageLabel        },
+        { "--zeropage-name",    1,      OptZeropageName         },
     };
 
     char* CmdPath;
@@ -1316,211 +1316,211 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-       /* Get the argument */
-       const char* Arg = ArgVec[I];
-
-       /* Check for an option */
-       if (Arg [0] == '-') {
-
-           switch (Arg [1]) {
-
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
-
-               case 'C':
-                   if (Arg[2] == 'l' && Arg[3] == '\0') {
-                       /* Make local variables static */
-                       OptStaticLocals (Arg, 0);
-                   } else {
-                       /* Specify linker config file */
-                       OptConfig (Arg, GetArg (&I, 2));
-                   }
-                   break;
-
-               case 'D':
-                   /* Define a preprocessor symbol (compiler) */
-                   CmdAddArg2 (&CC65, "-D", GetArg (&I, 2));
-                   break;
-
-               case 'I':
-                   /* Include directory (compiler) */
-                   OptIncludeDir (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'L':
-                   if (Arg[2] == 'n' && Arg[3] == '\0') {
-                       /* VICE label file (linker) */
-                       CmdAddArg2 (&LD65, "-Ln", GetArg (&I, 3));
-                   } else {
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
+
+        /* Check for an option */
+        if (Arg [0] == '-') {
+
+            switch (Arg [1]) {
+
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
+
+                case 'C':
+                    if (Arg[2] == 'l' && Arg[3] == '\0') {
+                        /* Make local variables static */
+                        OptStaticLocals (Arg, 0);
+                    } else {
+                        /* Specify linker config file */
+                        OptConfig (Arg, GetArg (&I, 2));
+                    }
+                    break;
+
+                case 'D':
+                    /* Define a preprocessor symbol (compiler) */
+                    CmdAddArg2 (&CC65, "-D", GetArg (&I, 2));
+                    break;
+
+                case 'I':
+                    /* Include directory (compiler) */
+                    OptIncludeDir (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'L':
+                    if (Arg[2] == 'n' && Arg[3] == '\0') {
+                        /* VICE label file (linker) */
+                        CmdAddArg2 (&LD65, "-Ln", GetArg (&I, 3));
+                    } else {
                         /* Library search path (linker) */
                         OptLibPath (Arg, GetArg (&I, 2));
-                   }
-                   break;
+                    }
+                    break;
 
-               case 'O':
-                   /* Optimize code (compiler, also covers -Oi and others) */
-                   CmdAddArg (&CC65, Arg);
-                   break;
+                case 'O':
+                    /* Optimize code (compiler, also covers -Oi and others) */
+                    CmdAddArg (&CC65, Arg);
+                    break;
 
-               case 'S':
-                   /* Dont assemble and link the created files */
+                case 'S':
+                    /* Dont assemble and link the created files */
                     DoAssemble = 0;
-                   DoLink     = 0;
-                   break;
-
-               case 'T':
-                   /* Include source as comment (compiler) */
-                   OptAddSource (Arg, 0);
-                   break;
-
-               case 'V':
-                   /* Print version number */
-                   OptVersion (Arg, 0);
-                   break;
-
-               case 'W':
-                   if (Arg[2] == 'a' && Arg[3] == '\0') {
-                       /* -Wa: Pass options to assembler */
-                       OptAsmArgs (Arg, GetArg (&I, 3));
-                   } else if (Arg[2] == 'c' && Arg[3] == '\0') {
-                       /* -Wc: Pass options to compiler */
-                       OptCCArgs (Arg, GetArg (&I, 3));
-                   } else if (Arg[2] == 'l' && Arg[3] == '\0') {
-                       /* -Wl: Pass options to linker */
-                       OptLdArgs (Arg, GetArg (&I, 3));
-                   } else {
-                       /* Anything else: Suppress warnings (compiler) */
-                       CmdAddArg2 (&CC65, "-W", GetArg (&I, 2));
-                   }
-                   break;
-
-               case 'c':
-                   /* Don't link the resulting files */
-                   DoLink = 0;
-                   break;
-
-               case 'd':
-                   /* Debug mode (compiler) */
-                   OptDebug (Arg, 0);
-                   break;
-
-               case 'g':
-                   /* Debugging - add to compiler and assembler */
-                   OptDebugInfo (Arg, 0);
-                   break;
-
-               case 'h':
-               case '?':
-                   /* Print help - cl65 */
-                   OptHelp (Arg, 0);
-                   break;
-
-               case 'j':
-                   /* Default characters are signed */
-                   OptSignedChars (Arg, 0);
-                   break;
-
-               case 'l':
-                   /* Create an assembler listing */
-                   OptListing (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'm':
-                   /* Create a map file (linker) */
-                   OptMapFile (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'o':
-                   /* Name the output file */
-                   OutputName = GetArg (&I, 2);
-                   break;
-
-               case 'r':
-                   /* Enable register variables */
-                   OptRegisterVars (Arg, 0);
-                   break;
-
-               case 't':
-                   /* Set target system - compiler, assembler and linker */
-                   OptTarget (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'u':
-                   /* Force an import (linker) */
-                   OptForceImport (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'v':
-                   if (Arg [2] == 'm') {
-                       /* Verbose map file (linker) */
-                       CmdAddArg (&LD65, "-vm");
-                   } else {
-                       /* Verbose mode (compiler, assembler, linker) */
-                       OptVerbose (Arg, 0);
-                   }
-                   break;
-
-               default:
-                   UnknownOption (Arg);
-           }
-       } else {
-
-           /* Remember the first file name */
-           if (FirstInput == 0) {
-               FirstInput = Arg;
-           }
-
-           /* Determine the file type by the extension */
-           switch (GetFileType (Arg)) {
-
-               case FILETYPE_C:
-                   /* Compile the file */
-                   Compile (Arg);
-                   break;
-
-               case FILETYPE_ASM:
-                   /* Assemble the file */
-                   if (DoAssemble) {
-                       Assemble (Arg);
-                   }
-                   break;
-
-               case FILETYPE_OBJ:
-               case FILETYPE_LIB:
-                   /* Add to the linker files */
-                   CmdAddFile (&LD65, Arg);
-                   break;
-
-               case FILETYPE_GR:
-                   /* Add to the resource compiler files */
-                   CompileRes (Arg);
-                   break;
+                    DoLink     = 0;
+                    break;
+
+                case 'T':
+                    /* Include source as comment (compiler) */
+                    OptAddSource (Arg, 0);
+                    break;
+
+                case 'V':
+                    /* Print version number */
+                    OptVersion (Arg, 0);
+                    break;
+
+                case 'W':
+                    if (Arg[2] == 'a' && Arg[3] == '\0') {
+                        /* -Wa: Pass options to assembler */
+                        OptAsmArgs (Arg, GetArg (&I, 3));
+                    } else if (Arg[2] == 'c' && Arg[3] == '\0') {
+                        /* -Wc: Pass options to compiler */
+                        OptCCArgs (Arg, GetArg (&I, 3));
+                    } else if (Arg[2] == 'l' && Arg[3] == '\0') {
+                        /* -Wl: Pass options to linker */
+                        OptLdArgs (Arg, GetArg (&I, 3));
+                    } else {
+                        /* Anything else: Suppress warnings (compiler) */
+                        CmdAddArg2 (&CC65, "-W", GetArg (&I, 2));
+                    }
+                    break;
+
+                case 'c':
+                    /* Don't link the resulting files */
+                    DoLink = 0;
+                    break;
+
+                case 'd':
+                    /* Debug mode (compiler) */
+                    OptDebug (Arg, 0);
+                    break;
+
+                case 'g':
+                    /* Debugging - add to compiler and assembler */
+                    OptDebugInfo (Arg, 0);
+                    break;
+
+                case 'h':
+                case '?':
+                    /* Print help - cl65 */
+                    OptHelp (Arg, 0);
+                    break;
+
+                case 'j':
+                    /* Default characters are signed */
+                    OptSignedChars (Arg, 0);
+                    break;
+
+                case 'l':
+                    /* Create an assembler listing */
+                    OptListing (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'm':
+                    /* Create a map file (linker) */
+                    OptMapFile (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'o':
+                    /* Name the output file */
+                    OutputName = GetArg (&I, 2);
+                    break;
+
+                case 'r':
+                    /* Enable register variables */
+                    OptRegisterVars (Arg, 0);
+                    break;
+
+                case 't':
+                    /* Set target system - compiler, assembler and linker */
+                    OptTarget (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'u':
+                    /* Force an import (linker) */
+                    OptForceImport (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'v':
+                    if (Arg [2] == 'm') {
+                        /* Verbose map file (linker) */
+                        CmdAddArg (&LD65, "-vm");
+                    } else {
+                        /* Verbose mode (compiler, assembler, linker) */
+                        OptVerbose (Arg, 0);
+                    }
+                    break;
+
+                default:
+                    UnknownOption (Arg);
+            }
+        } else {
+
+            /* Remember the first file name */
+            if (FirstInput == 0) {
+                FirstInput = Arg;
+            }
+
+            /* Determine the file type by the extension */
+            switch (GetFileType (Arg)) {
+
+                case FILETYPE_C:
+                    /* Compile the file */
+                    Compile (Arg);
+                    break;
+
+                case FILETYPE_ASM:
+                    /* Assemble the file */
+                    if (DoAssemble) {
+                        Assemble (Arg);
+                    }
+                    break;
+
+                case FILETYPE_OBJ:
+                case FILETYPE_LIB:
+                    /* Add to the linker files */
+                    CmdAddFile (&LD65, Arg);
+                    break;
+
+                case FILETYPE_GR:
+                    /* Add to the resource compiler files */
+                    CompileRes (Arg);
+                    break;
 
                 case FILETYPE_O65:
                     /* Add the the object file converter files */
                     ConvertO65 (Arg);
                     break;
 
-               default:
-                   Error ("Don't know what to do with `%s'", Arg);
+                default:
+                    Error ("Don't know what to do with `%s'", Arg);
 
-           }
+            }
 
-       }
+        }
 
-       /* Next argument */
-       ++I;
+        /* Next argument */
+        ++I;
     }
 
     /* Check if we had any input files */
     if (FirstInput == 0) {
-       Warning ("No input files");
+        Warning ("No input files");
     }
 
     /* Link the given files if requested and if we have any */
     if (DoLink && LD65.FileCount > 0) {
-       Link ();
+        Link ();
     }
 
     /* Return an apropriate exit code */
index 41fa3895e82aeabdb25dce7ad5497cb02c98e4d1..4a0278cfacbe72fe0c70932d97c26f2a634f9a9c 100644 (file)
@@ -32,7 +32,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
  * provided for DOS/Windows compatibility.
  */
 #ifndef P_WAIT
-#define P_WAIT 0
+#define P_WAIT  0
 #endif
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d64d85d5b9c90260c9d40132899fcea84b6ee6ed..a0334b8dbc0930640431365a71652ab268b9ebb7 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
  * provided for DOS/Windows compatibility.
  */
 #ifndef P_WAIT
-#define P_WAIT 0
+#define P_WAIT  0
 #endif
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -75,27 +75,27 @@ int spawnvp (int Mode attribute ((unused)), const char* File, char* const argv [
     int pid = fork ();
     if (pid < 0) {
 
-       /* Error forking */
-       Error ("Cannot fork: %s", strerror (errno));
+        /* Error forking */
+        Error ("Cannot fork: %s", strerror (errno));
 
     } else if (pid == 0) {
 
-               /* The son - exec the program */
-       if (execvp (File, argv) < 0) {
-           Error ("Cannot exec `%s': %s", File, strerror (errno));
-       }
+        /* The son - exec the program */
+        if (execvp (File, argv) < 0) {
+            Error ("Cannot exec `%s': %s", File, strerror (errno));
+        }
 
     } else {
 
-       /* The father: Wait for the subprocess to terminate */
-       if (waitpid (pid, &Status, 0) < 0) {
-           Error ("Failure waiting for subprocess: %s", strerror (errno));
-       }
+        /* The father: Wait for the subprocess to terminate */
+        if (waitpid (pid, &Status, 0) < 0) {
+            Error ("Failure waiting for subprocess: %s", strerror (errno));
+        }
 
-       /* Examine the child status */
-       if (!WIFEXITED (Status)) {
-           Error ("Subprocess `%s' aborted by signal %d", File, WTERMSIG (Status));
-       }
+        /* Examine the child status */
+        if (!WIFEXITED (Status)) {
+            Error ("Subprocess `%s' aborted by signal %d", File, WTERMSIG (Status));
+        }
     }
 
     /* Only the father goes here, we place a return here regardless of that
index 86f50654aab63394affb425ee5a79beec45d3d08..6e75f555d57ee3488e484c0dca191f286396b5b0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               spawn.h                                    */
+/*                                spawn.h                                    */
 /*                                                                           */
-/*                   Execute other external programs                        */
+/*                    Execute other external programs                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
  * provided for DOS/Windows compatibility.
  */
 #ifndef P_WAIT
-#define P_WAIT 0
+#define P_WAIT  0
 #endif
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 42b2df1b4653276b43b8cf6907a027b580f4ec51..6ae0510911f8ffc7e47eefb5948cb186c3af22db 100644 (file)
@@ -54,7 +54,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -459,7 +459,7 @@ void Convert (const O65Data* D)
 
     /* Select the CPU */
     if ((D->Header.mode & O65_CPU_MASK) == O65_CPU_65816) {
-       fprintf (F, ".p816\n");
+        fprintf (F, ".p816\n");
     }
 
     /* Object file options */
index b7512d3b043ec40eb5535854153eab8816eab475..f000f55c48b77e00104ce9aea30781d0a5a8a4b4 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ struct O65Data;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index da0f8adad5f4cfe60008c8bcead0315732838b87..5ee75661b6128788663c184d310f1ad33fc3929d 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.c                                   */
+/*                                 error.c                                   */
 /*                                                                           */
 /*             Error handling for the co65 object file converter             */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 48ba30caf30e97a92285fee3a5c739aff15b2ae4..1b3060a8426bc93e5ca8bea0143fda9644b9b251 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.h                                   */
+/*                                 error.h                                   */
 /*                                                                           */
 /*             Error handling for the co65 object file converter             */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 1b0d58c464e1cf19212bb20d7a1e4422bcf1ac19..4846add3f58c11cfb61e4d0d7ae173f4ceb77cfc 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.c                                  */
+/*                                 fileio.c                                  */
 /*                                                                           */
 /*              Binary file I/O for the co65 object file converter           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ unsigned Read8 (FILE* F)
 {
     int C = getc (F);
     if (C == EOF) {
-       Error ("Read error (file corrupt?)");
+        Error ("Read error (file corrupt?)");
     }
     return C;
 }
@@ -97,9 +97,9 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
 {
     /* Explicitly allow reading zero bytes */
     if (Size > 0) {
-       if (fread (Data, 1, Size, F) != Size) {
-           Error ("Read error (file corrupt?)");
-       }
+        if (fread (Data, 1, Size, F) != Size) {
+            Error ("Read error (file corrupt?)");
+        }
     }
     return Data;
 }
index aedfddbc7d54bd68174a4f47545511ef3996aeaa..ccae880207f09de6e54a38c17a5cb8c25d74cf67 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.h                                  */
+/*                                 fileio.h                                  */
 /*                                                                           */
 /*              Binary file I/O for the co65 object file converter           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8bce9aec3801fca1cbf7192ab3552941a4003d3d..38748cc0e0ec784bfcc1107f4f3f8b896369e45b 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
 /*            Global variables for the co65 object file converter            */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 8825b1072f96c99baf7fe1e174527ec8f02cd06d..247b9de45c800a4c2daa211f75e0c40a496f8bf9 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
 /*            Global variables for the co65 object file converter            */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* File names */
-extern const char*             InputName;          /* Name of input file */
-extern const char*             OutputName;         /* Name of output file */
+extern const char*      InputName;          /* Name of input file */
+extern const char*      OutputName;         /* Name of output file */
 
 /* Default extensions */
-extern const char              AsmExt[];           /* Default assembler extension */
+extern const char       AsmExt[];           /* Default assembler extension */
 
 /* Segment names */
 extern const char*      CodeSeg;            /* Name of the code segment */
index 1d9773143ddcb3b9c64a5424944f6c15736cc841..79aca87fa794860868982b1acb456674c3db02bf 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
 /*              Main program for the co65 object file converter              */
 /*                                                                           */
@@ -60,7 +60,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -123,7 +123,7 @@ static void CheckSegName (const char* Seg)
 {
     /* Print an error and abort if the name is not ok */
     if (!ValidSegName (Seg)) {
-       Error ("Segment name `%s' is invalid", Seg);
+        Error ("Segment name `%s' is invalid", Seg);
     }
 }
 
@@ -202,7 +202,7 @@ static void OptDataName (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptDebug (const char* Opt attribute ((unused)),
-                     const char* Arg attribute ((unused)))
+                      const char* Arg attribute ((unused)))
 /* Enable debugging code */
 {
     ++Debug;
@@ -211,7 +211,7 @@ static void OptDebug (const char* Opt attribute ((unused)),
 
 
 static void OptDebugInfo (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Add debug info to the object file */
 {
     DebugInfo = 1;
@@ -220,7 +220,7 @@ static void OptDebugInfo (const char* Opt attribute ((unused)),
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -230,7 +230,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptNoOutput (const char* Opt attribute ((unused)),
-                        const char* Arg attribute ((unused)))
+                         const char* Arg attribute ((unused)))
 /* Handle the --no-output option */
 {
     NoOutput = 1;
@@ -251,7 +251,7 @@ static void OptO65Model (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase verbosity */
 {
     ++Verbosity;
@@ -260,7 +260,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr, "co65 V%s\n", GetVersionAsString ());
@@ -313,21 +313,21 @@ int main (int argc, char* argv [])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-               { "--bss-label",        1,      OptBssLabel             },
-       { "--bss-name",         1,      OptBssName              },
-               { "--code-label",       1,      OptCodeLabel            },
-       { "--code-name",        1,      OptCodeName             },
-               { "--data-label",       1,      OptDataLabel            },
-       { "--data-name",        1,      OptDataName             },
-               { "--debug",            0,      OptDebug                },
-       { "--debug-info",       0,      OptDebugInfo            },
-       { "--help",             0,      OptHelp                 },
-               { "--no-output",        0,      OptNoOutput             },
+        { "--bss-label",        1,      OptBssLabel             },
+        { "--bss-name",         1,      OptBssName              },
+        { "--code-label",       1,      OptCodeLabel            },
+        { "--code-name",        1,      OptCodeName             },
+        { "--data-label",       1,      OptDataLabel            },
+        { "--data-name",        1,      OptDataName             },
+        { "--debug",            0,      OptDebug                },
+        { "--debug-info",       0,      OptDebugInfo            },
+        { "--help",             0,      OptHelp                 },
+        { "--no-output",        0,      OptNoOutput             },
         { "--o65-model",        1,      OptO65Model             },
-       { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
-               { "--zeropage-label",   1,      OptZeropageLabel        },
-               { "--zeropage-name",    1,      OptZeropageName         },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
+        { "--zeropage-label",   1,      OptZeropageLabel        },
+        { "--zeropage-name",    1,      OptZeropageName         },
     };
 
     unsigned I;
@@ -339,24 +339,24 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec [I];
+        /* Get the argument */
+        const char* Arg = ArgVec [I];
 
-               /* Check for an option */
-               if (Arg [0] == '-') {
-                   switch (Arg [1]) {
+        /* Check for an option */
+        if (Arg [0] == '-') {
+            switch (Arg [1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
-               case 'g':
-                   OptDebugInfo (Arg, 0);
-                   break;
+                case 'g':
+                    OptDebugInfo (Arg, 0);
+                    break;
 
-               case 'h':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                    OptHelp (Arg, 0);
+                    break;
 
                 case 'm':
                     OptO65Model (Arg, GetArg (&I, 2));
@@ -366,39 +366,39 @@ int main (int argc, char* argv [])
                     OptNoOutput (Arg, 0);
                     break;
 
-                       case 'o':
-                           OutputName = GetArg (&I, 2);
-                           break;
-
-                       case 'v':
-                   OptVerbose (Arg, 0);
-                           break;
-
-                       case 'V':
-                   OptVersion (Arg, 0);
-                           break;
-
-                       default:
-                           UnknownOption (Arg);
-                   break;
-
-           }
-               } else {
-           /* Filename. Check if we already had one */
-           if (InputName) {
-               Error ("Don't know what to do with `%s'", Arg);
-           } else {
-               InputName = Arg;
-           }
-       }
-
-       /* Next argument */
-       ++I;
+                case 'o':
+                    OutputName = GetArg (&I, 2);
+                    break;
+
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
+
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
+
+                default:
+                    UnknownOption (Arg);
+                    break;
+
+            }
+        } else {
+            /* Filename. Check if we already had one */
+            if (InputName) {
+                Error ("Don't know what to do with `%s'", Arg);
+            } else {
+                InputName = Arg;
+            }
+        }
+
+        /* Next argument */
+        ++I;
     }
 
     /* Do we have an input file? */
     if (InputName == 0) {
-               Error ("No input file");
+        Error ("No input file");
     }
 
     /* Generate the name of the output file if none was specified */
index f708876d57c5311dc3e6a1a37e1a02ba0e91e8b9..365eed49d4c38e7d8b23eadeb1a8e4899c0bcbbf 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -62,7 +62,7 @@ static const char* NameTable[O65_MODEL_COUNT] = {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e9c3fc5724c84dc1225a82b9e262ab6e721d9ea4..1f44b89b4bca9b1f4adf6f7e4e151e170798fa3e 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -63,7 +63,7 @@ extern O65Model Model;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a30b18d00f9989406d6f82e31b6d5f8e81b0ffdf..187e4fc387595afd4c107c47b41423d976b6e4c6 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  o65.h                                   */
+/*                                   o65.h                                   */
 /*                                                                           */
 /*               Definitions and code for the o65 file format                */
 /*                                                                           */
@@ -76,7 +76,7 @@ static O65Data* NewO65Data (void)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9c88c2ffc461c1c7358404fa4ca1791f730a1b09..6fb8433c535b973ec7bfc3fd5bdee98c480d40bb 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  o65.h                                   */
+/*                                   o65.h                                   */
 /*                                                                           */
 /*               Definitions and code for the o65 file format                */
 /*                                                                           */
@@ -64,7 +64,7 @@ typedef struct O65Header O65Header;
 struct O65Header {
     char            marker[2];  /* Non-C64 marker */
     char            magic[3];   /* o65 magic */
-    char            version;   /* Version number */
+    char            version;    /* Version number */
     unsigned        mode;       /* Mode word */
     unsigned long   tbase;      /* Original text (code) segment address */
     unsigned long   tlen;       /* Size of text (code) segment */
@@ -133,7 +133,7 @@ struct O65Data {
 #define O65_VERSION             0x00
 
 /* Defines for the mode word */
-#define O65_CPU_65816           0x8000         /* Executable is for 65816 */
+#define O65_CPU_65816           0x8000  /* Executable is for 65816 */
 #define O65_CPU_6502            0x0000  /* Executable is for the 6502 */
 #define O65_CPU_MASK            0x8000  /* Mask to extract CPU type */
 
@@ -141,7 +141,7 @@ struct O65Data {
 #define O65_RELOC_BYTE          0x0000  /* Byte wise relocation */
 #define O65_RELOC_MASK          0x4000  /* Mask to extract relocation type */
 
-#define O65_SIZE_32BIT          0x2000         /* All size words are 32bit */
+#define O65_SIZE_32BIT          0x2000  /* All size words are 32bit */
 #define O65_SIZE_16BIT          0x0000  /* All size words are 16bit */
 #define O65_SIZE_MASK           0x2000  /* Mask to extract size */
 
@@ -168,9 +168,9 @@ struct O65Data {
                                  O65_ALIGN_1)
 
 /* The four o65 segment types. */
-#define O65_SEGID_UNDEF                0x00
+#define O65_SEGID_UNDEF         0x00
 #define O65_SEGID_ABS           0x01
-#define O65_SEGID_TEXT                 0x02
+#define O65_SEGID_TEXT          0x02
 #define O65_SEGID_DATA          0x03
 #define O65_SEGID_BSS           0x04
 #define O65_SEGID_ZP            0x05
@@ -195,20 +195,20 @@ struct O65Data {
 
 /* Option tags */
 #define O65_OPT_FILENAME        0
-#define O65_OPT_OS                     1
-#define O65_OPT_ASM            2
-#define O65_OPT_AUTHOR         3
-#define O65_OPT_TIMESTAMP      4
+#define O65_OPT_OS              1
+#define O65_OPT_ASM             2
+#define O65_OPT_AUTHOR          3
+#define O65_OPT_TIMESTAMP       4
 
 /* Operating system codes for O65_OPT_OS */
-#define O65_OS_OSA65           1
-#define O65_OS_LUNIX           2
+#define O65_OS_OSA65            1
+#define O65_OS_LUNIX            2
 #define O65_OS_CC65_MODULE      3
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 741badd9aa22e303662294b55370d37371c7c82b..0213bdde7ca13313445b451cb40872d9ff03e6cd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 abend.c                                  */
+/*                                  abend.c                                  */
 /*                                                                           */
-/*                          Abnormal program end                            */
+/*                           Abnormal program end                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7b5fefaf04e1439f988178d0d07504dd64a9c1ae..f32a3381dc61117dd992c833bb22b0cbbeff3473 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 abend.h                                  */
+/*                                  abend.h                                  */
 /*                                                                           */
-/*                          Abnormal program end                            */
+/*                           Abnormal program end                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 82dc14d0073c73d6fd1cd56c58cb161c8c25702e..ad54618e6408a35ee70c2e145854125c5cfaa1d6 100644 (file)
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9d11ce44cda0e5e4fc4608a211b3ec4e86b413a3..d2c871e3faa30a080f6ce1da3fbd7df460085d91 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -54,7 +54,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b2f2aa72bc08a053c330cc920cfcb8e1f8f5fbc9..ff963f9c594c2699fb1ab3b07631a84498284647 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                 attrib.h                                  */
 /*                                                                           */
-/*                          Handle gcc attributes                           */
+/*                           Handle gcc attributes                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 #if defined(__GNUC__)
-#  define attribute(a) __attribute__(a)
+#  define attribute(a)  __attribute__(a)
 #else
 #  define attribute(a)
 #endif
index 071b7102c9f95d7e094601e5eab2809d48d1c5ee..86633604b44f75509b65d4aabfdb5177ef8f2d44 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                        bitops.c                                  */
-/*                                                                          */
-/*                          Single bit operations                           */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
-/* (C) 1998    Ullrich von Bassewitz                                        */
-/*             Wacholderweg 14                                              */
-/*             D-70597 Stuttgart                                            */
-/* EMail:      uz@musoftware.de                                             */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                 bitops.c                                  */
+/*                                                                           */
+/*                           Single bit operations                           */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
+/* (C) 1998     Ullrich von Bassewitz                                        */
+/*              Wacholderweg 14                                              */
+/*              D-70597 Stuttgart                                            */
+/* EMail:       uz@musoftware.de                                             */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -38,7 +38,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -53,11 +53,11 @@ unsigned BitFind (unsigned long Val)
     Mask = 1;
     Bit  = 0;
     while (1) {
-       if (Val & Mask) {
-           return Bit;
-       }
-       Mask <<= 1;
-       ++Bit;
+        if (Val & Mask) {
+            return Bit;
+        }
+        Mask <<= 1;
+        ++Bit;
     }
 }
 
@@ -115,12 +115,12 @@ void BitMerge (void* Target, const void* Source, unsigned Size)
 /* Merge the bits of two char arrays (that is, do an or for the full array) */
 {
     /* Make char arrays */
-    unsigned char*      T = Target;
+    unsigned char*       T = Target;
     const unsigned char* S = Source;
 
     /* Merge the arrays */
     while (Size--) {
-       *T++ |= *S++;
+        *T++ |= *S++;
     }
 }
 
index af39a2e0fa1a878ecf92dbad2b849c2111963233..ade1d1e4eb2211d86d80bac88007a7981d3f5f84 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                bitops.h                                  */
+/*                                 bitops.h                                  */
 /*                                                                           */
-/*                          Single bit operations                           */
+/*                           Single bit operations                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 4b2c97be739e706dda6351c5b190e0c25124a787..7b3dc5b9923d8fc0ad5b97cd2337b5afa3d70b7e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cddefs.h                                  */
+/*                                 cddefs.h                                  */
 /*                                                                           */
-/*             Definitions for module constructor/destructors               */
+/*              Definitions for module constructor/destructors               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* ConDes types. Count is only 7 because we want to encode 0..count in 3 bits */
-#define        CD_TYPE_COUNT   7               /* Number of table types */
-#define CD_TYPE_MIN            0               /* Minimum numeric type value */
-#define CD_TYPE_MAX            6               /* Maximum numeric type value */
+#define CD_TYPE_COUNT   7               /* Number of table types */
+#define CD_TYPE_MIN     0               /* Minimum numeric type value */
+#define CD_TYPE_MAX     6               /* Maximum numeric type value */
 
 /* ConDes priorities, zero is no valid priority and used to mark an empty
  * (missing) decl for this type throughout the code.
  */
-#define CD_PRIO_NONE   0               /* No priority (no decl) */
-#define CD_PRIO_MIN            1               /* Lowest priority */
-#define CD_PRIO_DEF    7               /* Default priority */
-#define CD_PRIO_MAX    32              /* Highest priority */
+#define CD_PRIO_NONE    0               /* No priority (no decl) */
+#define CD_PRIO_MIN     1               /* Lowest priority */
+#define CD_PRIO_DEF     7               /* Default priority */
+#define CD_PRIO_MAX     32              /* Highest priority */
 
 /* Predefined types */
-#define CD_TYPE_CON    0               /* Constructor */
-#define CD_TYPE_DES    1               /* Destructor */
+#define CD_TYPE_CON     0               /* Constructor */
+#define CD_TYPE_DES     1               /* Destructor */
 #define CD_TYPE_INT     2               /* Interruptor */
 
 /* When part of an export in an object file, type and priority are encoded in
  * one byte. In this case, the following macros access the fields:
  */
-#define CD_GET_TYPE(v)                 (((v) >> 5) & 0x07)
-#define CD_GET_PRIO(v)         (((v) & 0x1F) + 1)
+#define CD_GET_TYPE(v)          (((v) >> 5) & 0x07)
+#define CD_GET_PRIO(v)          (((v) & 0x1F) + 1)
 
 /* Macro to build the byte value: */
-#define CD_BUILD(type,prio)            ((((type) & 0x07) << 5) | (((prio) - 1) & 0x1F))
+#define CD_BUILD(type,prio)     ((((type) & 0x07) << 5) | (((prio) - 1) & 0x1F))
 
 
 
index a48688e774460963f68cd083a691e674d487a478..4b8fa9e3d0719f239017e928120c6473ec796556 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               chartype.c                                 */
+/*                                chartype.c                                 */
 /*                                                                           */
-/*                   Character classification functions                     */
+/*                    Character classification functions                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 4c0c9ffd41e40005e6899821130286af9b7ec963..6c38d98c8f0ac0cf48ddf113600badd474aacb71 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               chartype.h                                 */
+/*                                chartype.h                                 */
 /*                                                                           */
-/*                   Character classification functions                     */
+/*                    Character classification functions                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -56,7 +56,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -80,7 +80,7 @@ INLINE int IsControl (char C)
     return iscntrl ((unsigned char) C);
 }
 #else
-#  define IsControl(C)                 iscntrl (C)
+#  define IsControl(C)          iscntrl (C)
 #endif
 
 int IsSpace (char C);
index d96d94a35839c49ea1f2123f9b60442d74e88ad0..cb4589bf99c2a9f7bd0cc8c901c92da8334f1254 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 check.c                                  */
+/*                                  check.c                                  */
 /*                                                                           */
-/*                           Assert like macros                             */
+/*                            Assert like macros                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Predefined messages */
-const char* MsgInternalError   = "Internal error: ";
-const char* MsgPrecondition    = "Precondition violated: ";
-const char* MsgCheckFailed     = "Check failed: ";
-const char* MsgProgramAborted  = "Program aborted: ";
+const char* MsgInternalError    = "Internal error: ";
+const char* MsgPrecondition     = "Precondition violated: ";
+const char* MsgCheckFailed      = "Check failed: ";
+const char* MsgProgramAborted   = "Program aborted: ";
 
 
 
 static void DefaultCheckFailed (const char* msg, const char* cond,
-                               const char* file, unsigned line)
-                               attribute ((noreturn));
+                                const char* file, unsigned line)
+                                attribute ((noreturn));
 
 void (*CheckFailed) (const char* Msg, const char* Cond,
-                            const char* File, unsigned Line) attribute ((noreturn))
-               = DefaultCheckFailed;
+                     const char* File, unsigned Line) attribute ((noreturn))
+                = DefaultCheckFailed;
 /* Function pointer that is called from check if the condition code is true. */
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 static void DefaultCheckFailed (const char* Msg, const char* Cond,
-                               const char* File, unsigned Line)
+                                const char* File, unsigned Line)
 {
     /* Output a diagnostic and abort */
     AbEnd ("%s%s, file `%s', line %u", Msg, Cond, File, Line);
index 5f8b31784be2b34393718efd2f2bc1ce5078e420..3f26be79c85321662a5845f1f7a590e2dd8545db 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 check.h                                  */
+/*                                  check.h                                  */
 /*                                                                           */
-/*                           Assert like macros                             */
+/*                            Assert like macros                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 
-extern const char* MsgInternalError;           /* "Internal error: "        */
-extern const char* MsgPrecondition;            /* "Precondition violated: " */
-extern const char* MsgCheckFailed;             /* "Check failed: "          */
-extern const char* MsgProgramAborted;          /* "Program aborted: "       */
+extern const char* MsgInternalError;            /* "Internal error: "        */
+extern const char* MsgPrecondition;             /* "Precondition violated: " */
+extern const char* MsgCheckFailed;              /* "Check failed: "          */
+extern const char* MsgProgramAborted;           /* "Program aborted: "       */
 
 
 
 extern void (*CheckFailed) (const char* Msg, const char* Cond,
-                                   const char* File, unsigned Line)
-                           attribute ((noreturn));
+                            const char* File, unsigned Line)
+                            attribute ((noreturn));
 /* Function pointer that is called from check if the condition code is true. */
 
 
@@ -80,7 +80,7 @@ extern void (*CheckFailed) (const char* Msg, const char* Cond,
 #define PRECONDITION(c) \
     ((void) ((c)? 0 : (CheckFailed (MsgPrecondition, #c, __FILE__, __LINE__), 0)))
 
-#define CHECK(c)       \
+#define CHECK(c)        \
     ((void) ((c)? 0 : (CheckFailed (MsgCheckFailed, #c, __FILE__, __LINE__), 0)))
 
 
index 8ed149247028c1d6e9da27e53f061332cbe074bd..13a9da061eec6af01222f737b2fc3061d2981f49 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cmdline.c                                 */
+/*                                 cmdline.c                                 */
 /*                                                                           */
-/*                Helper functions for command line parsing                 */
+/*                 Helper functions for command line parsing                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -62,14 +62,14 @@ unsigned ArgCount = 0;
 /* Struct to pass the command line */
 typedef struct {
     char**      Vec;            /* The argument vector */
-    unsigned           Count;          /* Actual number of arguments */
-    unsigned           Size;           /* Number of argument allocated */
+    unsigned    Count;          /* Actual number of arguments */
+    unsigned    Size;           /* Number of argument allocated */
 } CmdLine;
 
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -89,13 +89,13 @@ static void AddArg (CmdLine* L, char* Arg)
 /* Add one argument to the list */
 {
     if (L->Size <= L->Count) {
-       /* No space left, reallocate */
-       unsigned NewSize = L->Size * 2;
-       char**   NewVec  = xmalloc (NewSize * sizeof (L->Vec[0]));
-       memcpy (NewVec, L->Vec, L->Count * sizeof (L->Vec[0]));
-       xfree (L->Vec);
-       L->Vec  = NewVec;
-       L->Size = NewSize;
+        /* No space left, reallocate */
+        unsigned NewSize = L->Size * 2;
+        char**   NewVec  = xmalloc (NewSize * sizeof (L->Vec[0]));
+        memcpy (NewVec, L->Vec, L->Count * sizeof (L->Vec[0]));
+        xfree (L->Vec);
+        L->Vec  = NewVec;
+        L->Size = NewSize;
     }
 
     /* We have space left, add a copy of the argument */
@@ -114,36 +114,36 @@ static void ExpandFile (CmdLine* L, const char* Name)
     /* Try to open the file for reading */
     FILE* F = fopen (Name, "r");
     if (F == 0) {
-       AbEnd ("Cannot open \"%s\": %s", Name, strerror (errno));
+        AbEnd ("Cannot open \"%s\": %s", Name, strerror (errno));
     }
 
     /* File is open, read all lines */
     while (fgets (Buf, sizeof (Buf), F) != 0) {
 
-       /* Get a pointer to the buffer */
-       const char* B = Buf;
+        /* Get a pointer to the buffer */
+        const char* B = Buf;
 
-       /* Skip trailing whitespace (this will also kill the newline that is
-        * appended by fgets().
-        */
-       unsigned Len = strlen (Buf);
-       while (Len > 0 && IsSpace (Buf [Len-1])) {
-           --Len;
-       }
-       Buf [Len] = '\0';
+        /* Skip trailing whitespace (this will also kill the newline that is
+         * appended by fgets().
+         */
+        unsigned Len = strlen (Buf);
+        while (Len > 0 && IsSpace (Buf [Len-1])) {
+            --Len;
+        }
+        Buf [Len] = '\0';
 
-       /* Skip leading spaces */
-       while (IsSpace (*B)) {
-           ++B;
-       }
+        /* Skip leading spaces */
+        while (IsSpace (*B)) {
+            ++B;
+        }
 
-       /* Skip empty lines to work around problems with some editors */
-       if (*B == '\0') {
-           continue;
-       }
+        /* Skip empty lines to work around problems with some editors */
+        if (*B == '\0') {
+            continue;
+        }
 
-       /* Add anything not empty to the command line */
-       AddArg (L, xstrdup (B));
+        /* Add anything not empty to the command line */
+        AddArg (L, xstrdup (B));
 
     }
 
@@ -156,7 +156,7 @@ static void ExpandFile (CmdLine* L, const char* Name)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -167,20 +167,20 @@ void InitCmdLine (int* aArgCount, char** aArgVec[], const char* aProgName)
  * array. Both arguments are remembered in static storage.
  */
 {
-    CmdLine    L;
+    CmdLine     L;
     int         I;
 
     /* Get the program name from argv[0] but strip a path */
     if (*(aArgVec)[0] == 0) {
-       /* Use the default name given */
-       ProgName = aProgName;
+        /* Use the default name given */
+        ProgName = aProgName;
     } else {
-       /* Strip a path */
-               ProgName = FindName ((*aArgVec)[0]);
-       if (ProgName[0] == '\0') {
-           /* Use the default */
-           ProgName = aProgName;
-       }
+        /* Strip a path */
+        ProgName = FindName ((*aArgVec)[0]);
+        if (ProgName[0] == '\0') {
+            /* Use the default */
+            ProgName = aProgName;
+        }
     }
 
     /* Make a CmdLine struct */
@@ -192,21 +192,21 @@ void InitCmdLine (int* aArgCount, char** aArgVec[], const char* aProgName)
      */
     for (I = 0; I < *aArgCount; ++I) {
 
-       /* Get the next argument */
-       char* Arg = (*aArgVec)[I];
+        /* Get the next argument */
+        char* Arg = (*aArgVec)[I];
 
-       /* Is this a file argument? */
-       if (Arg && Arg[0] == '@') {
+        /* Is this a file argument? */
+        if (Arg && Arg[0] == '@') {
 
-           /* Expand the file */
-           ExpandFile (&L, Arg+1);
+            /* Expand the file */
+            ExpandFile (&L, Arg+1);
 
-       } else {
+        } else {
 
-           /* No file, just add a copy */
-           AddArg (&L, Arg);
+            /* No file, just add a copy */
+            AddArg (&L, Arg);
 
-       }
+        }
     }
 
     /* Store the new argument list in a safe place... */
@@ -259,17 +259,17 @@ const char* GetArg (unsigned* ArgNum, unsigned Len)
 {
     const char* Arg = ArgVec[*ArgNum];
     if (Arg[Len] != '\0') {
-       /* Argument appended */
-       return Arg + Len;
+        /* Argument appended */
+        return Arg + Len;
     } else {
-       /* Separate argument */
-       Arg = ArgVec[*ArgNum + 1];
-       if (Arg == 0) {
-           /* End of arguments */
-           NeedArg (ArgVec[*ArgNum]);
-       }
-       ++(*ArgNum);
-       return Arg;
+        /* Separate argument */
+        Arg = ArgVec[*ArgNum + 1];
+        if (Arg == 0) {
+            /* End of arguments */
+            NeedArg (ArgVec[*ArgNum]);
+        }
+        ++(*ArgNum);
+        return Arg;
     }
 }
 
@@ -283,25 +283,25 @@ void LongOption (unsigned* ArgNum, const LongOpt* OptTab, unsigned OptCount)
 
     /* Search the table for a match */
     while (OptCount) {
-       if (strcmp (Opt, OptTab->Option) == 0) {
-           /* Found, call the function */
-           if (OptTab->ArgCount > 0) {
-               /* We need an argument, check if we have one */
-               const char* Arg = ArgVec[++(*ArgNum)];
-               if (Arg == 0) {
-                   NeedArg (Opt);
-               }
-               OptTab->Func (Opt, Arg);
-           } else {
-               OptTab->Func (Opt, 0);
-           }
-           /* Done */
-           return;
-       }
-
-       /* Next table entry */
-       --OptCount;
-       ++OptTab;
+        if (strcmp (Opt, OptTab->Option) == 0) {
+            /* Found, call the function */
+            if (OptTab->ArgCount > 0) {
+                /* We need an argument, check if we have one */
+                const char* Arg = ArgVec[++(*ArgNum)];
+                if (Arg == 0) {
+                    NeedArg (Opt);
+                }
+                OptTab->Func (Opt, Arg);
+            } else {
+                OptTab->Func (Opt, 0);
+            }
+            /* Done */
+            return;
+        }
+
+        /* Next table entry */
+        --OptCount;
+        ++OptTab;
     }
 
     /* Invalid option */
index f2af3ef18f87688ebf1fb8852f75356fd7e13e6d..b3a483b6b61d92d6bffb20e102b80f72b2f7739d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cmdline.h                                 */
+/*                                 cmdline.h                                 */
 /*                                                                           */
-/*                Helper functions for command line parsing                 */
+/*                 Helper functions for command line parsing                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -56,17 +56,17 @@ extern char** ArgVec;
 extern unsigned ArgCount;
 
 /* Structure defining a long option */
-typedef struct LongOpt LongOpt;
+typedef struct LongOpt  LongOpt;
 struct LongOpt {
-    const char*        Option;
-    unsigned   ArgCount;
-    void       (*Func) (const char* Opt, const char* Arg);
+    const char* Option;
+    unsigned    ArgCount;
+    void        (*Func) (const char* Opt, const char* Arg);
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0fa0d152e717683134d015f89c9c41097b5dcdcf..5112157aa8ee0b3127db49c493df2b61f56a9a24 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 coll.c                                   */
+/*                                  coll.c                                   */
 /*                                                                           */
-/*                       Collection (dynamic array)                         */
+/*                        Collection (dynamic array)                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@ const Collection EmptyCollection = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -139,13 +139,13 @@ void CollInsert (Collection* C, void* Item, unsigned Index)
 
     /* Grow the array if necessary */
     if (C->Count >= C->Size) {
-       /* Must grow */
+        /* Must grow */
         CollGrow (C, (C->Size == 0)? 4 : C->Size * 2);
     }
 
     /* Move the existing elements if needed */
     if (C->Count != Index) {
-       memmove (C->Items+Index+1, C->Items+Index, (C->Count-Index) * sizeof (void*));
+        memmove (C->Items+Index+1, C->Items+Index, (C->Count-Index) * sizeof (void*));
     }
     ++C->Count;
 
@@ -246,10 +246,10 @@ int CollIndex (Collection* C, const void* Item)
     /* Linear search */
     unsigned I;
     for (I = 0; I < C->Count; ++I) {
-       if (Item == C->Items[I]) {
-           /* Found */
-           return (int)I;
-       }
+        if (Item == C->Items[I]) {
+            /* Found */
+            return (int)I;
+        }
     }
 
     /* Not found */
@@ -352,8 +352,8 @@ void CollMove (Collection* C, unsigned OldIndex, unsigned NewIndex)
 
     /* Correct NewIndex if needed */
     if (NewIndex >= OldIndex) {
-       /* Position has changed with removal */
-       --NewIndex;
+        /* Position has changed with removal */
+        --NewIndex;
     }
 
     /* Now insert it at the new position */
@@ -378,7 +378,7 @@ void CollMoveMultiple (Collection* C, unsigned Start, unsigned Count, unsigned T
 
     /* Check for trivial parameters */
     if (Count == 0 || Start == Target) {
-       return;
+        return;
     }
 
     /* Calculate the raw memory space used by the items to move */
@@ -396,24 +396,24 @@ void CollMoveMultiple (Collection* C, unsigned Start, unsigned Count, unsigned T
      */
     if (Target < Start) {
 
-       /* Move downwards */
-       unsigned BytesToMove = (Start - Target) * sizeof (void*);
-               memmove (C->Items+Target+Count, C->Items+Target, BytesToMove);
+        /* Move downwards */
+        unsigned BytesToMove = (Start - Target) * sizeof (void*);
+        memmove (C->Items+Target+Count, C->Items+Target, BytesToMove);
 
     } else if (Target < Start + Count) {
 
-       /* Target is inside range */
-       FAIL ("Not supported");
+        /* Target is inside range */
+        FAIL ("Not supported");
 
     } else {
 
-       /* Move upwards */
-       unsigned ItemsToMove = (Target - Start - Count);
-               unsigned BytesToMove = ItemsToMove * sizeof (void*);
-       memmove (C->Items+Start, C->Items+Target-ItemsToMove, BytesToMove);
+        /* Move upwards */
+        unsigned ItemsToMove = (Target - Start - Count);
+        unsigned BytesToMove = ItemsToMove * sizeof (void*);
+        memmove (C->Items+Start, C->Items+Target-ItemsToMove, BytesToMove);
 
-       /* Adjust the target index */
-       Target -= Count;
+        /* Adjust the target index */
+        Target -= Count;
     }
 
     /* Move the old items to their final location */
@@ -426,8 +426,8 @@ void CollMoveMultiple (Collection* C, unsigned Start, unsigned Count, unsigned T
 
 
 static void QuickSort (Collection* C, int Lo, int Hi,
-                      int (*Compare) (void*, const void*, const void*),
-                      void* Data)
+                       int (*Compare) (void*, const void*, const void*),
+                       void* Data)
 /* Internal recursive sort function. */
 {
     /* Get a pointer to the items */
@@ -435,37 +435,37 @@ static void QuickSort (Collection* C, int Lo, int Hi,
 
     /* Quicksort */
     while (Hi > Lo) {
-       int I = Lo + 1;
-       int J = Hi;
-       while (I <= J) {
-           while (I <= J && Compare (Data, Items[Lo], Items[I]) >= 0) {
-               ++I;
-           }
-           while (I <= J && Compare (Data, Items[Lo], Items[J]) < 0) {
-               --J;
-           }
-           if (I <= J) {
-               /* Swap I and J */
-               void* Tmp = Items[I];
-               Items[I]  = Items[J];
-               Items[J]  = Tmp;
-               ++I;
-               --J;
-           }
-       }
-       if (J != Lo) {
-           /* Swap J and Lo */
-           void* Tmp = Items[J];
-           Items[J]  = Items[Lo];
-           Items[Lo] = Tmp;
-       }
-       if (J > (Hi + Lo) / 2) {
-           QuickSort (C, J + 1, Hi, Compare, Data);
-           Hi = J - 1;
-       } else {
-           QuickSort (C, Lo, J - 1, Compare, Data);
-           Lo = J + 1;
-       }
+        int I = Lo + 1;
+        int J = Hi;
+        while (I <= J) {
+            while (I <= J && Compare (Data, Items[Lo], Items[I]) >= 0) {
+                ++I;
+            }
+            while (I <= J && Compare (Data, Items[Lo], Items[J]) < 0) {
+                --J;
+            }
+            if (I <= J) {
+                /* Swap I and J */
+                void* Tmp = Items[I];
+                Items[I]  = Items[J];
+                Items[J]  = Tmp;
+                ++I;
+                --J;
+            }
+        }
+        if (J != Lo) {
+            /* Swap J and Lo */
+            void* Tmp = Items[J];
+            Items[J]  = Items[Lo];
+            Items[Lo] = Tmp;
+        }
+        if (J > (Hi + Lo) / 2) {
+            QuickSort (C, J + 1, Hi, Compare, Data);
+            Hi = J - 1;
+        } else {
+            QuickSort (C, Lo, J - 1, Compare, Data);
+            Lo = J + 1;
+        }
     }
 }
 
@@ -492,8 +492,8 @@ void CollTransfer (Collection* Dest, const Collection* Source)
 
 
 void CollSort (Collection* C,
-              int (*Compare) (void*, const void*, const void*),
-              void* Data)
+               int (*Compare) (void*, const void*, const void*),
+               void* Data)
 /* Sort the collection using the given compare function. The data pointer is
  * passed as *first* element to the compare function, it's not used by the
  * sort function itself. The other two pointer passed to the Compare function
@@ -501,7 +501,7 @@ void CollSort (Collection* C,
  */
 {
     if (C->Count > 1) {
-       QuickSort (C, 0, C->Count-1, Compare, Data);
+        QuickSort (C, 0, C->Count-1, Compare, Data);
     }
 }
 
index db2b5e8f09eac0bc1a98a4ba219ee381c15180c1..eacfac24838fe9b10ac140158cef9419ea87d83f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 coll.h                                   */
+/*                                  coll.h                                   */
 /*                                                                           */
-/*                       Collection (dynamic array)                         */
+/*                        Collection (dynamic array)                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* An array of pointers that grows if needed */
 typedef struct Collection Collection;
 struct Collection {
-    unsigned                   Count;          /* Number of items in the list */
-    unsigned                   Size;           /* Size of allocated array */
-    void**             Items;          /* Array with dynamic size */
+    unsigned            Count;          /* Number of items in the list */
+    unsigned            Size;           /* Size of allocated array */
+    void**              Items;          /* Array with dynamic size */
 };
 
 /* An empty collection */
 extern const Collection EmptyCollection;
 
 /* Initializer for static collections */
-#define STATIC_COLLECTION_INITIALIZER  { 0, 0, 0 }
+#define STATIC_COLLECTION_INITIALIZER   { 0, 0, 0 }
 
 /* Initializer for auto collections */
 #define AUTO_COLLECTION_INITIALIZER     EmptyCollection
@@ -71,7 +71,7 @@ extern const Collection EmptyCollection;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -103,7 +103,7 @@ INLINE unsigned CollCount (const Collection* C)
     return C->Count;
 }
 #else
-#  define CollCount(C) (C)->Count
+#  define CollCount(C)  (C)->Count
 #endif
 
 void CollInsert (Collection* C, void* Item, unsigned Index);
@@ -144,7 +144,7 @@ INLINE void* CollAtUnchecked (const Collection* C, unsigned Index)
     return C->Items[Index];
 }
 #else
-#  define CollAtUnchecked(C, Index)    ((C)->Items[(Index)])
+#  define CollAtUnchecked(C, Index)     ((C)->Items[(Index)])
 #endif
 
 #if defined(HAVE_INLINE)
@@ -237,7 +237,7 @@ INLINE void CollDeleteAll (Collection* C)
     C->Count = 0;
 }
 #else
-#  define CollDeleteAll(C)     ((C)->Count = 0)
+#  define CollDeleteAll(C)      ((C)->Count = 0)
 #endif
 
 #if defined(HAVE_INLINE)
@@ -288,8 +288,8 @@ void CollTransfer (Collection* Dest, const Collection* Source);
  */
 
 void CollSort (Collection* C,
-              int (*Compare) (void*, const void*, const void*),
-              void* Data);
+               int (*Compare) (void*, const void*, const void*),
+               void* Data);
 /* Sort the collection using the given compare function. The data pointer is
  * passed as *first* element to the compare function, it's not used by the
  * sort function itself. The other two pointer passed to the Compare function
index 3ac1108a5a48bf817ed0e3b9611d525110eb1ab5..59353a6a164758ff44ebfa32af5c5ab0530a4922 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -81,7 +81,7 @@ const unsigned CPUIsets[CPU_COUNT] = {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -128,9 +128,9 @@ cpu_t FindCPU (const char* Name)
 
     /* Check all CPU names */
     for (I = 0; I < CPU_COUNT; ++I) {
-       if (StrCaseCmp (CPUNames [I], Name) == 0) {
-           return (cpu_t)I;
-       }
+        if (StrCaseCmp (CPUNames [I], Name) == 0) {
+            return (cpu_t)I;
+        }
     }
 
     /* Not found */
index 64f2974b66f4a1226651c21d80fe162b42682124..424053cf96abb68e78757d016d02553c5081d01d 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,11 +53,11 @@ typedef enum {
     CPU_65SC02,
     CPU_65C02,
     CPU_65816,
-    CPU_SUNPLUS,               /* Not in the freeware version - sorry */
+    CPU_SUNPLUS,                /* Not in the freeware version - sorry */
     CPU_SWEET16,
     CPU_HUC6280,                /* Used in PC engine */
     CPU_M740,                   /* Mitsubishi 740 series MCUs */
-    CPU_COUNT                          /* Number of different CPUs */
+    CPU_COUNT                   /* Number of different CPUs */
 } cpu_t;
 
 /* CPU instruction sets */
@@ -86,7 +86,7 @@ extern const unsigned CPUIsets[CPU_COUNT];
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 991f42b3a0d019a8c1ea35bc953642bb47bf5bf5..d660018b598e950849a7daad4447a7f097700267 100644 (file)
@@ -44,7 +44,7 @@
 
 
 
-unsigned char Debug            = 0;    /* Debug mode */
+unsigned char Debug             = 0;    /* Debug mode */
 
 
 
index e443b6029d08c1ad9625528dda291018ce3892da..f62e60e82f9294e030f08ab4dca6370f096f4577 100644 (file)
@@ -44,7 +44,7 @@
 
 
 
-extern unsigned char   Debug;                  /* Debug mode */
+extern unsigned char    Debug;                  /* Debug mode */
 
 
 
index 4fd117dc9b4449ebde725f84efd1dc42c0a0c547..69eda4c4dd4fe55d07c718ce1439abf531e0db6b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                       exprdefs.c                                 */
+/*                                exprdefs.c                                 */
 /*                                                                           */
-/*                       Expression tree definitions                        */
+/*                        Expression tree definitions                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -50,113 +50,113 @@ static void InternalDumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym
 /* Dump an expression in RPN to stdout */
 {
     if (Expr == 0) {
-       return;
+        return;
     }
     InternalDumpExpr (Expr->Left, ResolveSym);
     InternalDumpExpr (Expr->Right, ResolveSym);
 
     switch (Expr->Op) {
 
-       case EXPR_LITERAL:
-       case EXPR_ULABEL:
-                   printf (" $%04lX", Expr->V.IVal);
-           break;
+        case EXPR_LITERAL:
+        case EXPR_ULABEL:
+            printf (" $%04lX", Expr->V.IVal);
+            break;
 
-       case EXPR_SYMBOL:
+        case EXPR_SYMBOL:
             printf (" SYM(");
             if (ResolveSym && (Expr = ResolveSym (Expr->V.Sym)) != 0) {
                 InternalDumpExpr (Expr, ResolveSym);
             }
             printf (") ");
-           break;
+            break;
 
-       case EXPR_SECTION:
-           printf (" SEC");
-           break;
+        case EXPR_SECTION:
+            printf (" SEC");
+            break;
 
-       case EXPR_SEGMENT:
-           printf (" SEG");
-           break;
+        case EXPR_SEGMENT:
+            printf (" SEG");
+            break;
 
         case EXPR_MEMAREA:
             printf (" MEM");
             break;
 
-               case EXPR_PLUS:
-           printf (" +");
-           break;
+        case EXPR_PLUS:
+            printf (" +");
+            break;
 
-               case EXPR_MINUS:
-           printf (" -");
-           break;
+        case EXPR_MINUS:
+            printf (" -");
+            break;
 
-               case EXPR_MUL:
-           printf (" *");
-           break;
+        case EXPR_MUL:
+            printf (" *");
+            break;
 
-               case EXPR_DIV:
-           printf (" /");
-           break;
+        case EXPR_DIV:
+            printf (" /");
+            break;
 
-               case EXPR_MOD:
-           printf (" MOD");
-           break;
+        case EXPR_MOD:
+            printf (" MOD");
+            break;
 
-       case EXPR_OR:
-           printf (" OR");
-           break;
+        case EXPR_OR:
+            printf (" OR");
+            break;
 
-       case EXPR_XOR:
-           printf (" XOR");
-           break;
+        case EXPR_XOR:
+            printf (" XOR");
+            break;
 
-       case EXPR_AND:
-           printf (" AND");
-           break;
+        case EXPR_AND:
+            printf (" AND");
+            break;
 
-       case EXPR_SHL:
-           printf (" SHL");
-           break;
+        case EXPR_SHL:
+            printf (" SHL");
+            break;
 
-       case EXPR_SHR:
-           printf (" SHR");
-           break;
+        case EXPR_SHR:
+            printf (" SHR");
+            break;
 
-               case EXPR_EQ:
-           printf (" =");
-           break;
+        case EXPR_EQ:
+            printf (" =");
+            break;
 
-               case EXPR_NE:
-           printf ("<>");
-           break;
+        case EXPR_NE:
+            printf ("<>");
+            break;
 
-               case EXPR_LT:
-           printf (" <");
-           break;
+        case EXPR_LT:
+            printf (" <");
+            break;
 
-               case EXPR_GT:
-           printf (" >");
-           break;
+        case EXPR_GT:
+            printf (" >");
+            break;
 
-               case EXPR_LE:
-           printf (" <=");
-           break;
+        case EXPR_LE:
+            printf (" <=");
+            break;
 
-               case EXPR_GE:
-           printf (" >=");
-           break;
+        case EXPR_GE:
+            printf (" >=");
+            break;
 
-       case EXPR_BOOLAND:
-           printf (" BOOL_AND");
-           break;
+        case EXPR_BOOLAND:
+            printf (" BOOL_AND");
+            break;
 
-       case EXPR_BOOLOR:
-           printf (" BOOL_OR");
-           break;
+        case EXPR_BOOLOR:
+            printf (" BOOL_OR");
+            break;
 
-       case EXPR_BOOLXOR:
-           printf (" BOOL_XOR");
-           break;
+        case EXPR_BOOLXOR:
+            printf (" BOOL_XOR");
+            break;
 
         case EXPR_MAX:
             printf (" MAX");
@@ -166,60 +166,60 @@ static void InternalDumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym
             printf (" MIN");
             break;
 
-               case EXPR_UNARY_MINUS:
-           printf (" NEG");
-           break;
+        case EXPR_UNARY_MINUS:
+            printf (" NEG");
+            break;
 
-               case EXPR_NOT:
-           printf (" ~");
-           break;
+        case EXPR_NOT:
+            printf (" ~");
+            break;
 
-               case EXPR_SWAP:
-           printf (" SWAP");
-           break;
+        case EXPR_SWAP:
+            printf (" SWAP");
+            break;
 
-       case EXPR_BOOLNOT:
-           printf (" BOOL_NOT");
-           break;
+        case EXPR_BOOLNOT:
+            printf (" BOOL_NOT");
+            break;
 
         case EXPR_BANK:
             printf (" BANK");
             break;
 
-               case EXPR_BYTE0:
-           printf (" BYTE0");
-           break;
+        case EXPR_BYTE0:
+            printf (" BYTE0");
+            break;
 
-               case EXPR_BYTE1:
-           printf (" BYTE1");
-           break;
+        case EXPR_BYTE1:
+            printf (" BYTE1");
+            break;
 
-               case EXPR_BYTE2:
-           printf (" BYTE2");
-           break;
+        case EXPR_BYTE2:
+            printf (" BYTE2");
+            break;
 
-               case EXPR_BYTE3:
-           printf (" BYTE3");
-           break;
+        case EXPR_BYTE3:
+            printf (" BYTE3");
+            break;
 
-               case EXPR_WORD0:
-           printf (" WORD0");
-           break;
+        case EXPR_WORD0:
+            printf (" WORD0");
+            break;
 
-               case EXPR_WORD1:
-           printf (" WORD1");
-           break;
+        case EXPR_WORD1:
+            printf (" WORD1");
+            break;
 
-               case EXPR_FARADDR:
-           printf (" FARADDR");
-           break;
+        case EXPR_FARADDR:
+            printf (" FARADDR");
+            break;
 
-               case EXPR_DWORD:
-           printf (" DWORD");
-           break;
+        case EXPR_DWORD:
+            printf (" DWORD");
+            break;
 
         default:
-                   AbEnd ("Unknown Op type: %u", Expr->Op);
+            AbEnd ("Unknown Op type: %u", Expr->Op);
 
     }
 }
index fd899d9003f458093bd5bc2d726060d31fcbbe0f..933677fa33b92ef37e8870489435fb3b5f0af2a6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                       exprdefs.h                                 */
+/*                                exprdefs.h                                 */
 /*                                                                           */
-/*                       Expression tree definitions                        */
+/*                        Expression tree definitions                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Expression type masks */
-#define EXPR_TYPEMASK          0xC0
-#define EXPR_BINARYNODE                0x00
-#define EXPR_UNARYNODE         0x40
-#define EXPR_LEAFNODE                  0x80
+#define EXPR_TYPEMASK           0xC0
+#define EXPR_BINARYNODE         0x00
+#define EXPR_UNARYNODE          0x40
+#define EXPR_LEAFNODE           0x80
 
 /* Type of expression nodes */
-#define EXPR_NULL              0x00    /* Internal error or NULL node */
+#define EXPR_NULL               0x00    /* Internal error or NULL node */
 
 /* Leaf node codes */
-#define EXPR_LITERAL                   (EXPR_LEAFNODE | 0x01)
-#define EXPR_SYMBOL                    (EXPR_LEAFNODE | 0x02)
+#define EXPR_LITERAL            (EXPR_LEAFNODE | 0x01)
+#define EXPR_SYMBOL             (EXPR_LEAFNODE | 0x02)
 #define EXPR_SECTION            (EXPR_LEAFNODE | 0x03)
-#define EXPR_SEGMENT                   (EXPR_LEAFNODE | 0x04)  /* Linker only */
-#define EXPR_MEMAREA                   (EXPR_LEAFNODE | 0x05)  /* Linker only */
-#define EXPR_ULABEL            (EXPR_LEAFNODE | 0x06)  /* Assembler only */
+#define EXPR_SEGMENT            (EXPR_LEAFNODE | 0x04)  /* Linker only */
+#define EXPR_MEMAREA            (EXPR_LEAFNODE | 0x05)  /* Linker only */
+#define EXPR_ULABEL             (EXPR_LEAFNODE | 0x06)  /* Assembler only */
 
 /* Binary operations, left and right hand sides are valid */
-#define EXPR_PLUS                      (EXPR_BINARYNODE | 0x01)
-#define EXPR_MINUS                     (EXPR_BINARYNODE | 0x02)
-#define EXPR_MUL                       (EXPR_BINARYNODE | 0x03)
-#define EXPR_DIV                       (EXPR_BINARYNODE | 0x04)
-#define EXPR_MOD                       (EXPR_BINARYNODE | 0x05)
-#define EXPR_OR                        (EXPR_BINARYNODE | 0x06)
-#define EXPR_XOR                       (EXPR_BINARYNODE | 0x07)
-#define EXPR_AND                       (EXPR_BINARYNODE | 0x08)
-#define EXPR_SHL                       (EXPR_BINARYNODE | 0x09)
-#define EXPR_SHR                       (EXPR_BINARYNODE | 0x0A)
-#define EXPR_EQ                        (EXPR_BINARYNODE | 0x0B)
-#define EXPR_NE                        (EXPR_BINARYNODE | 0x0C)
-#define EXPR_LT                        (EXPR_BINARYNODE | 0x0D)
-#define EXPR_GT                        (EXPR_BINARYNODE | 0x0E)
-#define EXPR_LE                        (EXPR_BINARYNODE | 0x0F)
-#define EXPR_GE                        (EXPR_BINARYNODE | 0x10)
-#define EXPR_BOOLAND           (EXPR_BINARYNODE | 0x11)
-#define EXPR_BOOLOR            (EXPR_BINARYNODE | 0x12)
-#define EXPR_BOOLXOR           (EXPR_BINARYNODE | 0x13)
+#define EXPR_PLUS               (EXPR_BINARYNODE | 0x01)
+#define EXPR_MINUS              (EXPR_BINARYNODE | 0x02)
+#define EXPR_MUL                (EXPR_BINARYNODE | 0x03)
+#define EXPR_DIV                (EXPR_BINARYNODE | 0x04)
+#define EXPR_MOD                (EXPR_BINARYNODE | 0x05)
+#define EXPR_OR                 (EXPR_BINARYNODE | 0x06)
+#define EXPR_XOR                (EXPR_BINARYNODE | 0x07)
+#define EXPR_AND                (EXPR_BINARYNODE | 0x08)
+#define EXPR_SHL                (EXPR_BINARYNODE | 0x09)
+#define EXPR_SHR                (EXPR_BINARYNODE | 0x0A)
+#define EXPR_EQ                 (EXPR_BINARYNODE | 0x0B)
+#define EXPR_NE                 (EXPR_BINARYNODE | 0x0C)
+#define EXPR_LT                 (EXPR_BINARYNODE | 0x0D)
+#define EXPR_GT                 (EXPR_BINARYNODE | 0x0E)
+#define EXPR_LE                 (EXPR_BINARYNODE | 0x0F)
+#define EXPR_GE                 (EXPR_BINARYNODE | 0x10)
+#define EXPR_BOOLAND            (EXPR_BINARYNODE | 0x11)
+#define EXPR_BOOLOR             (EXPR_BINARYNODE | 0x12)
+#define EXPR_BOOLXOR            (EXPR_BINARYNODE | 0x13)
 #define EXPR_MAX                (EXPR_BINARYNODE | 0x14)
 #define EXPR_MIN                (EXPR_BINARYNODE | 0x15)
 
 /* Unary operations, right hand side is empty */
-#define EXPR_UNARY_MINUS               (EXPR_UNARYNODE | 0x01)
-#define EXPR_NOT                       (EXPR_UNARYNODE | 0x02)
-#define EXPR_SWAP                      (EXPR_UNARYNODE | 0x03)
-#define EXPR_BOOLNOT           (EXPR_UNARYNODE | 0x04)
+#define EXPR_UNARY_MINUS        (EXPR_UNARYNODE | 0x01)
+#define EXPR_NOT                (EXPR_UNARYNODE | 0x02)
+#define EXPR_SWAP               (EXPR_UNARYNODE | 0x03)
+#define EXPR_BOOLNOT            (EXPR_UNARYNODE | 0x04)
 #define EXPR_BANK               (EXPR_UNARYNODE | 0x05)
 
-#define EXPR_BYTE0             (EXPR_UNARYNODE | 0x08)
-#define EXPR_BYTE1             (EXPR_UNARYNODE | 0x09)
-#define EXPR_BYTE2             (EXPR_UNARYNODE | 0x0A)
-#define EXPR_BYTE3             (EXPR_UNARYNODE | 0x0B)
-#define EXPR_WORD0             (EXPR_UNARYNODE | 0x0C)
-#define EXPR_WORD1             (EXPR_UNARYNODE | 0x0D)
+#define EXPR_BYTE0              (EXPR_UNARYNODE | 0x08)
+#define EXPR_BYTE1              (EXPR_UNARYNODE | 0x09)
+#define EXPR_BYTE2              (EXPR_UNARYNODE | 0x0A)
+#define EXPR_BYTE3              (EXPR_UNARYNODE | 0x0B)
+#define EXPR_WORD0              (EXPR_UNARYNODE | 0x0C)
+#define EXPR_WORD1              (EXPR_UNARYNODE | 0x0D)
 #define EXPR_FARADDR            (EXPR_UNARYNODE | 0x0E)
 #define EXPR_DWORD              (EXPR_UNARYNODE | 0x0F)
 
 /* The expression node itself */
 typedef struct ExprNode ExprNode;
 struct ExprNode {
-    unsigned char          Op;         /* Operand/Type */
-    ExprNode*                      Left;       /* Left leaf */
-    ExprNode*                      Right;      /* Right leaf */
-    struct ObjData*        Obj;        /* Object file reference (linker) */
+    unsigned char           Op;         /* Operand/Type */
+    ExprNode*               Left;       /* Left leaf */
+    ExprNode*               Right;      /* Right leaf */
+    struct ObjData*         Obj;        /* Object file reference (linker) */
     union {
-               long                IVal;       /* If this is a int value */
-               struct SymEntry*    Sym;        /* If this is a symbol */
-       unsigned            SecNum;     /* If this is a section and Obj != 0 */
+        long                IVal;       /* If this is a int value */
+        struct SymEntry*    Sym;        /* If this is a symbol */
+        unsigned            SecNum;     /* If this is a section and Obj != 0 */
         unsigned            ImpNum;     /* If this is an import and Obj != 0 */
-               struct Import*      Imp;        /* If this is an import and Obj == 0 */
+        struct Import*      Imp;        /* If this is an import and Obj == 0 */
         struct MemoryArea*  Mem;        /* If this is a memory area */
-       struct Segment*     Seg;        /* If this is a segment */
-       struct Section*     Sec;        /* If this is a section and Obj == 0 */
+        struct Segment*     Seg;        /* If this is a segment */
+        struct Section*     Sec;        /* If this is a section and Obj == 0 */
     } V;
 };
 
@@ -125,14 +125,14 @@ struct ExprNode {
 
 /* Macros to determine the expression type */
 #define EXPR_NODETYPE(Op)       ((Op) & EXPR_TYPEMASK)
-#define EXPR_IS_LEAF(Op)               (EXPR_NODETYPE (Op) == EXPR_LEAFNODE)
-#define EXPR_IS_UNARY(Op)      (EXPR_NODETYPE (Op) == EXPR_UNARYNODE)
-#define EXPR_IS_BINARY(OP)     (EXPR_NODETYPE (Op) == EXPR_BINARYNODE)
+#define EXPR_IS_LEAF(Op)        (EXPR_NODETYPE (Op) == EXPR_LEAFNODE)
+#define EXPR_IS_UNARY(Op)       (EXPR_NODETYPE (Op) == EXPR_UNARYNODE)
+#define EXPR_IS_BINARY(OP)      (EXPR_NODETYPE (Op) == EXPR_BINARYNODE)
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d7a1fcdc8c7706bafb0f776de3df311badd83ee5..fe26aff791c840367f0714aac84ca364142a336d 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ const FileId* GetFileId (const char* Name, const FileId* Table, unsigned Count)
 
     /* Do we have an extension? */
     if (Ext == 0) {
-       return 0;
+        return 0;
     }
 
     /* Search for a table entry and return it */
index 649c84844c444d2ba5b7a1e535f60d21fad81a75..751c4ca173547729178f4b5ae921740c45959063 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
  */
 typedef struct FileId FileId;
 struct FileId {
-    const char         Ext[4];
+    const char  Ext[4];
     int         Id;
 };
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6613f8b3d3fa0b6c4146459d7ff944ce383894b4..bf688849507979ecf119af938785c79f30609b82 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                filepos.c                                 */
+/*                                 filepos.c                                 */
 /*                                                                           */
-/*                      File position data structure                        */
+/*                       File position data structure                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 73179ccd52441230a5c7ebe7ad52cb65c91f9663..21ef2e7b0c570ba26f6526775bacdce76649b04c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 filepos.h                                */
+/*                                 filepos.h                                 */
 /*                                                                           */
-/*                       File position data structure                       */
+/*                       File position data structure                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ struct FilePos {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 27a966fa10e39bb2549cdfe490f37e39313c5e98..0f5f5cd11b3a2284eee74756c057db3963b2c43f 100644 (file)
@@ -58,7 +58,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9f19188f2cbe1a65d69c6f08fdb150acf5a8e3cb..50b7685efe39408965dcfad22fb57e84b3fb69df 100644 (file)
@@ -55,7 +55,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b621b9e57df14a0c637f78319a51f66162277ca9..0253807591cd6142d3a25b0892ee88c0a0438800 100644 (file)
@@ -51,7 +51,7 @@
 /* The Windows compilers have the file in the wrong directory */
 #  include <sys/utime.h>
 #else
-#  include <sys/types.h>               /* FreeBSD needs this */
+#  include <sys/types.h>                /* FreeBSD needs this */
 #  include <utime.h>
 #endif
 #endif
@@ -63,7 +63,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3b525b734f5a5c53d1e31a53a868e6cd9c2ad9b9..8a27712d90b62a9231448eb97aa0b3509a78cf63 100644 (file)
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index abd66911fa7f8c3d3b40622d88215a24ab90ddd7..3e5779eb8f8c04c4dd82ad67ea5e4e05f508819e 100644 (file)
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 static const FileId TypeTable[] = {
     /* Upper case stuff for obsolete operating systems */
-    {   "A",   FILETYPE_LIB    },
-    {   "A65", FILETYPE_ASM    },
-    {   "ASM", FILETYPE_ASM    },
-    {   "C",   FILETYPE_C      },
+    {   "A",    FILETYPE_LIB    },
+    {   "A65",  FILETYPE_ASM    },
+    {   "ASM",  FILETYPE_ASM    },
+    {   "C",    FILETYPE_C      },
     {   "EMD",  FILETYPE_O65    },
-    {   "GRC", FILETYPE_GR     },
+    {   "GRC",  FILETYPE_GR     },
     {   "JOY",  FILETYPE_O65    },
-    {   "LIB", FILETYPE_LIB    },
+    {   "LIB",  FILETYPE_LIB    },
     {   "MOU",  FILETYPE_O65    },
-    {   "O",   FILETYPE_OBJ    },
+    {   "O",    FILETYPE_OBJ    },
     {   "O65",  FILETYPE_O65    },
-    {   "OBJ", FILETYPE_OBJ    },
-    {   "S",   FILETYPE_ASM    },
+    {   "OBJ",  FILETYPE_OBJ    },
+    {   "S",    FILETYPE_ASM    },
     {   "SER",  FILETYPE_O65    },
     {   "TGI",  FILETYPE_O65    },
 
-    {   "a",   FILETYPE_LIB    },
-    {   "a65", FILETYPE_ASM    },
-    {   "asm", FILETYPE_ASM    },
-    {   "c",   FILETYPE_C      },
+    {   "a",    FILETYPE_LIB    },
+    {   "a65",  FILETYPE_ASM    },
+    {   "asm",  FILETYPE_ASM    },
+    {   "c",    FILETYPE_C      },
     {   "emd",  FILETYPE_O65    },
-    {   "grc", FILETYPE_GR     },
+    {   "grc",  FILETYPE_GR     },
     {   "joy",  FILETYPE_O65    },
-    {   "lib", FILETYPE_LIB    },
+    {   "lib",  FILETYPE_LIB    },
     {   "mou",  FILETYPE_O65    },
-    {   "o",   FILETYPE_OBJ    },
+    {   "o",    FILETYPE_OBJ    },
     {   "o65",  FILETYPE_O65    },
-    {   "obj", FILETYPE_OBJ    },
-    {   "s",   FILETYPE_ASM    },
+    {   "obj",  FILETYPE_OBJ    },
+    {   "s",    FILETYPE_ASM    },
     {   "ser",  FILETYPE_O65    },
     {   "tgi",  FILETYPE_O65    },
 };
@@ -88,7 +88,7 @@ static const FileId TypeTable[] = {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9923742cfe96c629ebafc7ec690ba854a372c0a3..c1294d5f4a882510703ea8bec4b5ecdab0a5dcaf 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -51,14 +51,14 @@ typedef enum {
     FILETYPE_ASM,               /* Assembler file */
     FILETYPE_OBJ,               /* Object file */
     FILETYPE_LIB,               /* Library file */
-    FILETYPE_GR,               /* GEOS resource file */
+    FILETYPE_GR,                /* GEOS resource file */
     FILETYPE_O65                /* O65 object file */
 } FILETYPE;
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 444d4c7b1443cde0c1d9ca559582098021872248..5fd56338d43662a1b66fcf944abc123500cd50b5 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 fname.c                                  */
+/*                                  fname.c                                  */
 /*                                                                           */
-/*                      File name handling utilities                        */
+/*                       File name handling utilities                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -54,7 +54,7 @@ const char* FindExt (const char* Name)
     /* Get the length of the name */
     unsigned Len = strlen (Name);
     if (Len < 2) {
-       return 0;
+        return 0;
     }
 
     /* Get a pointer to the last character */
@@ -62,14 +62,14 @@ const char* FindExt (const char* Name)
 
     /* Search for the dot, beware of subdirectories */
     while (S >= Name && *S != '.' && *S != '\\' && *S != '/') {
-       --S;
+        --S;
     }
 
     /* Did we find an extension? */
     if (*S == '.') {
-       return S;
+        return S;
     } else {
-       return 0;
+        return 0;
     }
 }
 
@@ -85,7 +85,7 @@ const char* FindName (const char* Path)
 
     /* Search for the path separator */
     while (Len > 0 && Path[Len-1] != '\\' && Path[Len-1] != '/') {
-       --Len;
+        --Len;
     }
 
     /* Return the name or path */
@@ -104,14 +104,14 @@ char* MakeFilename (const char* Origin, const char* Ext)
     char* Out;
     const char* P = FindExt (Origin);
     if (P == 0) {
-       /* No dot, add the extension */
-       Out = xmalloc (strlen (Origin) + strlen (Ext) + 1);
-       strcpy (Out, Origin);
-       strcat (Out, Ext);
+        /* No dot, add the extension */
+        Out = xmalloc (strlen (Origin) + strlen (Ext) + 1);
+        strcpy (Out, Origin);
+        strcat (Out, Ext);
     } else {
-       Out = xmalloc (P - Origin + strlen (Ext) + 1);
-       memcpy (Out, Origin, P - Origin);
-       strcpy (Out + (P - Origin), Ext);
+        Out = xmalloc (P - Origin + strlen (Ext) + 1);
+        memcpy (Out, Origin, P - Origin);
+        strcpy (Out + (P - Origin), Ext);
     }
     return Out;
 }
index 4d493d78a355269451915d26d6e31b03cd51491a..c9c3848f78a140fdb494aad82f5ad1f8026eabd3 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 fname.h                                  */
+/*                                  fname.h                                  */
 /*                                                                           */
-/*                      File name handling utilities                        */
+/*                       File name handling utilities                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d2c5f5218ba08d30169dd658be7055ac313421e9..cfec86e42226ccc8b771027476c85f4519111134 100644 (file)
@@ -64,7 +64,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6886d51ac010003380fc3584e726204e88904cfd..8544c453f292c6d9cfa46c283f37de3a4df155df 100644 (file)
@@ -57,7 +57,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -76,7 +76,7 @@ union Double {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2de81967a367e662dc0f6b9c72353d0d2c027d51..c0a37ffcd156a610b599582ad46287e2e6a417e7 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fragdefs.h                                */
+/*                                 fragdefs.h                                */
 /*                                                                           */
 /*              Fragment definitions for the bin65 binary utils              */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Masks for the fragment type byte */
-#define FRAG_TYPEMASK   0x38                   /* Mask the type of the fragment */
-#define FRAG_BYTEMASK   0x07                   /* Mask for byte count */
+#define FRAG_TYPEMASK   0x38            /* Mask the type of the fragment */
+#define FRAG_BYTEMASK   0x07            /* Mask for byte count */
 
 /* Fragment types */
-#define FRAG_LITERAL           0x00            /* Literal data */
+#define FRAG_LITERAL    0x00            /* Literal data */
 
-#define FRAG_EXPR              0x08            /* Expression */
-#define FRAG_EXPR8             (FRAG_EXPR | 1) /* 8 bit expression */
-#define FRAG_EXPR16            (FRAG_EXPR | 2) /* 16 bit expression */
-#define FRAG_EXPR24            (FRAG_EXPR | 3) /* 24 bit expression */
-#define FRAG_EXPR32            (FRAG_EXPR | 4) /* 32 bit expression */
+#define FRAG_EXPR       0x08            /* Expression */
+#define FRAG_EXPR8      (FRAG_EXPR | 1) /* 8 bit expression */
+#define FRAG_EXPR16     (FRAG_EXPR | 2) /* 16 bit expression */
+#define FRAG_EXPR24     (FRAG_EXPR | 3) /* 24 bit expression */
+#define FRAG_EXPR32     (FRAG_EXPR | 4) /* 32 bit expression */
 
-#define FRAG_SEXPR             0x10            /* Signed expression */
-#define FRAG_SEXPR8            (FRAG_SEXPR | 1)/* 8 bit signed expression */
-#define FRAG_SEXPR16           (FRAG_SEXPR | 2)/* 16 bit signed expression */
-#define FRAG_SEXPR24           (FRAG_SEXPR | 3)/* 24 bit signed expression */
-#define FRAG_SEXPR32           (FRAG_SEXPR | 4)/* 32 bit signed expression */
+#define FRAG_SEXPR      0x10            /* Signed expression */
+#define FRAG_SEXPR8     (FRAG_SEXPR | 1)/* 8 bit signed expression */
+#define FRAG_SEXPR16    (FRAG_SEXPR | 2)/* 16 bit signed expression */
+#define FRAG_SEXPR24    (FRAG_SEXPR | 3)/* 24 bit signed expression */
+#define FRAG_SEXPR32    (FRAG_SEXPR | 4)/* 32 bit signed expression */
 
-#define FRAG_FILL              0x20            /* Fill bytes */
+#define FRAG_FILL       0x20            /* Fill bytes */
 
 
 
index 5a32c22689e43523faec8c7ba2283197cb36173c..1a2440f463367b685f3b2d7bde4fa485a6d3f2e2 100644 (file)
@@ -63,7 +63,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index a26d1635bde18c5d2727a71c0a2b95b2efe6eb2e..6774c88fc601e851c99ecf065adada4d4a81f155 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -70,7 +70,7 @@ unsigned HashStr (const char* S)
     /* Do the hash */
     H = L = 0;
     while (*S) {
-       H = ((H << 3) ^ ((unsigned char) *S++)) + L++;
+        H = ((H << 3) ^ ((unsigned char) *S++)) + L++;
     }
     return H;
 }
@@ -85,7 +85,7 @@ unsigned HashBuf (const StrBuf* S)
     /* Do the hash */
     H = L = 0;
     for (I = 0; I < SB_GetLen (S); ++I) {
-       H = ((H << 3) ^ ((unsigned char) SB_AtUnchecked (S, I))) + L++;
+        H = ((H << 3) ^ ((unsigned char) SB_AtUnchecked (S, I))) + L++;
     }
     return H;
 }
index 22bd599fe3da2654ed206c116d5e8adbe5c26dc8..4d8b5ac7b35afc2fccad6abfce0cd024b3bbfe23 100644 (file)
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0543ac087ef9daa085b00d435dce0a1249bf58c5..a8397db4069f5fb2186b2ca8751e45a37cb67a7a 100644 (file)
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index b24c0e94a8987f84b52d480a3615881d4be490e8..c1e6487ce715c321242caaf494e4c92bfb652a66 100644 (file)
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 5c6dedb43a8ca288f3b9fdf4b6d6a3f2b2868559..3857511a1b35845f72e6c0679e399c4f800c9d3e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                inline.h                                  */
+/*                                 inline.h                                  */
 /*                                                                           */
-/*             Definitions to use the inline compiler feature               */
+/*              Definitions to use the inline compiler feature               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                 Defines                                  */
+/*                                  Defines                                  */
 /*****************************************************************************/
 
 
 
 #if defined(__GNUC__) && !defined(DISABLE_INLINE)
-#  define HAVE_INLINE  1
-#  define INLINE       static __inline__
+#  define HAVE_INLINE   1
+#  define INLINE        static __inline__
 #endif
 
 
index 6324ff4fdd5202470e053ad77679e37875a8aab7..19b3a8290d6638022bfa8293856d782392ff87da 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                libdefs.h                                 */
+/*                                 libdefs.h                                 */
 /*                                                                           */
-/*                        Library file definitions                          */
+/*                         Library file definitions                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Defines for magic and version */
-#define LIB_MAGIC      0x7A55616E
-#define LIB_VERSION    0x000D
+#define LIB_MAGIC       0x7A55616E
+#define LIB_VERSION     0x000D
 
 /* Size of an library file header */
-#define        LIB_HDR_SIZE    12
+#define LIB_HDR_SIZE    12
 
 
 
 /* Header structure for the library */
 typedef struct LibHeader LibHeader;
 struct LibHeader {
-    unsigned long      Magic;          /* 32: Magic number */
-    unsigned           Version;        /* 16: Version number */
-    unsigned           Flags;          /* 16: flags */
-    unsigned long              IndexOffs;      /* 32: Offset to directory */
+    unsigned long       Magic;          /* 32: Magic number */
+    unsigned            Version;        /* 16: Version number */
+    unsigned            Flags;          /* 16: flags */
+    unsigned long       IndexOffs;      /* 32: Offset to directory */
 };
 
 
index 1a85dba5d267fc0463310db795d6e299aa7e5217..3c996f710d544ae17d9fe3c33fdf710439d32ff3 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                lidefs.h                                  */
+/*                                 lidefs.h                                  */
 /*                                                                           */
 /*                     Definitions for line information                      */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index c14b95da46f1c8e3075e4da7cacf2a793f847d62..9ea17cdb41c219b5a835d66d8e0cd21f04db79fc 100644 (file)
@@ -76,7 +76,7 @@ typedef unsigned char CharSet[32];      /* 256 bits */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -85,10 +85,10 @@ typedef unsigned char CharSet[32];      /* 256 bits */
 #define ESCAPE_CHAR     '\\'
 
 /* Utility macro used in RecursiveMatch */
-#define IncPattern()   Pattern++;                      \
-                       if (*Pattern == '\0') {         \
-                           return 0;                   \
-                       }
+#define IncPattern()    Pattern++;                      \
+                        if (*Pattern == '\0') {         \
+                            return 0;                   \
+                        }
 
 
 
@@ -98,10 +98,10 @@ static int RealChar (const unsigned char* Pattern)
  */
 {
     if (*Pattern == ESCAPE_CHAR) {
-       Pattern++;
-       return (*Pattern == '\0') ? -1 : *Pattern;
+        Pattern++;
+        return (*Pattern == '\0') ? -1 : *Pattern;
     } else {
-       return *Pattern;
+        return *Pattern;
     }
 }
 
@@ -115,107 +115,107 @@ static int RecursiveMatch (const unsigned char* Source, const unsigned char* Pat
 
     while (1) {
 
-       if (*Pattern == '\0') {
+        if (*Pattern == '\0') {
 
-           /* Reached the end of Pattern, what about Source? */
-           return (*Source == '\0') ? 1 : 0;
+            /* Reached the end of Pattern, what about Source? */
+            return (*Source == '\0') ? 1 : 0;
 
-       } else if (*Pattern == '*') {
+        } else if (*Pattern == '*') {
 
-           if (*++Pattern == '\0') {
-               /* A trailing '*' is always a match */
-               return 1;
-           }
+            if (*++Pattern == '\0') {
+                /* A trailing '*' is always a match */
+                return 1;
+            }
 
-           /* Check the rest of the string */
-           while (*Source) {
-               if (RecursiveMatch (Source++, Pattern)) {
-                   /* Match! */
-                   return 1;
-               }
-           }
+            /* Check the rest of the string */
+            while (*Source) {
+                if (RecursiveMatch (Source++, Pattern)) {
+                    /* Match! */
+                    return 1;
+                }
+            }
 
-           /* No match... */
-           return 0;
+            /* No match... */
+            return 0;
 
-       } else if (*Source == '\0') {
+        } else if (*Source == '\0') {
 
-           /* End of Source reached, no match */
-           return 0;
+            /* End of Source reached, no match */
+            return 0;
 
-       } else {
+        } else {
 
-           /* Check a single char. Build a set of all possible characters in
-            * CS, then check if the current char of Source is contained in
-            * there.
+            /* Check a single char. Build a set of all possible characters in
+             * CS, then check if the current char of Source is contained in
+             * there.
              */
-           CS_CLEAR (CS);      /* Clear the character set */
-
-           if (*Pattern == '?') {
-
-               /* All chars are allowed */
-               CS_SETALL (CS);
-               ++Pattern;                      /* Skip '?' */
-
-           } else if (*Pattern == ESCAPE_CHAR) {
-
-               /* Use the next char as is */
-               IncPattern ();
-               CS_ADD (CS, *Pattern);
-               ++Pattern;                      /* Skip the character */
-
-           } else if (*Pattern == '[') {
-
-               /* A set follows */
-               int Invert = 0;
-               IncPattern ();
-               if (*Pattern == '!') {
-                   IncPattern ();
-                   Invert = 1;
-               }
-               while (*Pattern != ']') {
-
-                   int C1;
-                   if ((C1 = RealChar (Pattern)) == -1) {
-                       return 0;
-                   }
-                   IncPattern ();
-                   if (*Pattern != '-') {
-                       CS_ADD (CS, C1);
-                   } else {
-                       int C2;
+            CS_CLEAR (CS);      /* Clear the character set */
+
+            if (*Pattern == '?') {
+
+                /* All chars are allowed */
+                CS_SETALL (CS);
+                ++Pattern;                      /* Skip '?' */
+
+            } else if (*Pattern == ESCAPE_CHAR) {
+
+                /* Use the next char as is */
+                IncPattern ();
+                CS_ADD (CS, *Pattern);
+                ++Pattern;                      /* Skip the character */
+
+            } else if (*Pattern == '[') {
+
+                /* A set follows */
+                int Invert = 0;
+                IncPattern ();
+                if (*Pattern == '!') {
+                    IncPattern ();
+                    Invert = 1;
+                }
+                while (*Pattern != ']') {
+
+                    int C1;
+                    if ((C1 = RealChar (Pattern)) == -1) {
+                        return 0;
+                    }
+                    IncPattern ();
+                    if (*Pattern != '-') {
+                        CS_ADD (CS, C1);
+                    } else {
+                        int C2;
                         unsigned char C;
-                       IncPattern ();
-                       if ((C2 = RealChar (Pattern)) == -1) {
-                           return 0;
-                       }
-                       IncPattern ();
-                       for (C = C1; C <= C2; C++) {
-                           CS_ADD (CS, C);
-                       }
-                   }
-               }
+                        IncPattern ();
+                        if ((C2 = RealChar (Pattern)) == -1) {
+                            return 0;
+                        }
+                        IncPattern ();
+                        for (C = C1; C <= C2; C++) {
+                            CS_ADD (CS, C);
+                        }
+                    }
+                }
                 /* Skip ']' */
-               ++Pattern;
-               if (Invert) {
+                ++Pattern;
+                if (Invert) {
                     /* Reverse all bits in the set */
-                   CS_INVERT (CS);
-               }
+                    CS_INVERT (CS);
+                }
 
-           } else {
+            } else {
 
-               /* Include the char in the charset, then skip it */
-               CS_ADD (CS, *Pattern);
-               ++Pattern;
+                /* Include the char in the charset, then skip it */
+                CS_ADD (CS, *Pattern);
+                ++Pattern;
 
-           }
+            }
 
-                   if (!CS_CONTAINS (CS, *Source)) {
-               /* No match */
-               return 0;
-           }
-           ++Source;
-       }
+            if (!CS_CONTAINS (CS, *Source)) {
+                /* No match */
+                return 0;
+            }
+            ++Source;
+        }
     }
 }
 
@@ -232,7 +232,7 @@ int MatchPattern (const char* Source, const char* Pattern)
 {
     /* Handle the trivial cases */
     if (Pattern == 0 || *Pattern == '\0') {
-       return (Source == 0 || *Source == '\0');
+        return (Source == 0 || *Source == '\0');
     }
 
     /* Do the real thing */
index b712055998cd0963b13c449dc9d648c82776f9d4..ddf431ff9fda398bd0e94732848a9788eae342ad 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 66a93ada97d174e2d724cc33c272807f09baa9fc..7ed0f9b3f3fe1e0f58c231f65465499ef5bf1d5e 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -65,7 +65,7 @@ unsigned char ZpAddrSize   = ADDR_SIZE_ZP;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -77,9 +77,9 @@ mmodel_t FindMemoryModel (const char* Name)
 
     /* Check all CPU names */
     for (I = 0; I < MMODEL_COUNT; ++I) {
-       if (strcmp (MemoryModelNames[I], Name) == 0) {
-           return (mmodel_t)I;
-       }
+        if (strcmp (MemoryModelNames[I], Name) == 0) {
+            return (mmodel_t)I;
+        }
     }
 
     /* Not found */
index 098d03412e7423da2db11dac59505f3440ec3cee..043e930376a2a25cae2f675159d34973a8251dad 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -64,7 +64,7 @@ extern unsigned char ZpAddrSize;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index aa3c4a198041fb1b393cada95494dc2edda0cb5a..608a4dc62fe162b6ac01db9e9f1a39c29addc562 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objdefs.h                                 */
+/*                                 objdefs.h                                 */
 /*                                                                           */
-/*                         Object file definitions                          */
+/*                          Object file definitions                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Defines for magic and version */
-#define OBJ_MAGIC      0x616E7A55
-#define OBJ_VERSION    0x0011
+#define OBJ_MAGIC       0x616E7A55
+#define OBJ_VERSION     0x0011
 
 /* Size of an object file header */
-#define        OBJ_HDR_SIZE    (24*4)
+#define OBJ_HDR_SIZE    (24*4)
 
 /* Flag bits */
-#define OBJ_FLAGS_DBGINFO      0x0001  /* File has debug info */
+#define OBJ_FLAGS_DBGINFO       0x0001  /* File has debug info */
 #define OBJ_HAS_DBGINFO(x)      (((x) & OBJ_FLAGS_DBGINFO) != 0)
 
 
 /* Header structure */
 typedef struct ObjHeader ObjHeader;
 struct ObjHeader {
-    unsigned long      Magic;          /* 32: Magic number */
-    unsigned           Version;        /* 16: Version number */
-    unsigned           Flags;          /* 16: flags */
-    unsigned long              OptionOffs;     /* 32: Offset to option table */
-    unsigned long       OptionSize;    /* 32: Size of options */
-    unsigned long      FileOffs;       /* 32: Offset to file table */
-    unsigned long      FileSize;       /* 32: Size of files */
-    unsigned long      SegOffs;        /* 32: Offset to segment table */
-    unsigned long      SegSize;        /* 32: Size of segment table */
-    unsigned long      ImportOffs;     /* 32: Offset to import list */
-    unsigned long      ImportSize;     /* 32: Size of import list */
-    unsigned long              ExportOffs;     /* 32: Offset to export list */
-    unsigned long      ExportSize;     /* 32: Size of export list */
-    unsigned long       DbgSymOffs;            /* 32: Offset to list of debug symbols */
-    unsigned long      DbgSymSize;     /* 32: Size of debug symbols */
+    unsigned long       Magic;          /* 32: Magic number */
+    unsigned            Version;        /* 16: Version number */
+    unsigned            Flags;          /* 16: flags */
+    unsigned long       OptionOffs;     /* 32: Offset to option table */
+    unsigned long       OptionSize;     /* 32: Size of options */
+    unsigned long       FileOffs;       /* 32: Offset to file table */
+    unsigned long       FileSize;       /* 32: Size of files */
+    unsigned long       SegOffs;        /* 32: Offset to segment table */
+    unsigned long       SegSize;        /* 32: Size of segment table */
+    unsigned long       ImportOffs;     /* 32: Offset to import list */
+    unsigned long       ImportSize;     /* 32: Size of import list */
+    unsigned long       ExportOffs;     /* 32: Offset to export list */
+    unsigned long       ExportSize;     /* 32: Size of export list */
+    unsigned long       DbgSymOffs;     /* 32: Offset to list of debug symbols */
+    unsigned long       DbgSymSize;     /* 32: Size of debug symbols */
     unsigned long       LineInfoOffs;   /* 32: Offset to list of line infos */
     unsigned long       LineInfoSize;   /* 32: Size of line infos */
     unsigned long       StrPoolOffs;    /* 32: Offset to string pool */
index 3fc525cc247329d1914f77e411c31a396b8276ae..55264ca88aeb9043506e742ac0aba49a61ecbbdd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                        optdefs.h                                 */
+/*                                 optdefs.h                                 */
 /*                                                                           */
-/*                   Definitions for object file options                    */
+/*                    Definitions for object file options                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Type of options */
-#define OPT_ARGMASK    0xC0            /* Mask for argument */
-#define OPT_ARGSTR     0x00            /* String argument */
-#define OPT_ARGNUM     0x40            /* Numerical argument */
+#define OPT_ARGMASK     0xC0            /* Mask for argument */
+#define OPT_ARGSTR      0x00            /* String argument */
+#define OPT_ARGNUM      0x40            /* Numerical argument */
 
-#define OPT_COMMENT    (OPT_ARGSTR+0)  /* Generic comment */
-#define OPT_AUTHOR     (OPT_ARGSTR+1)  /* Author specification */
-#define OPT_TRANSLATOR (OPT_ARGSTR+2)  /* Translator specification */
-#define OPT_COMPILER   (OPT_ARGSTR+3)  /* Compiler specification */
-#define OPT_OS         (OPT_ARGSTR+4)  /* Operating system specification */
+#define OPT_COMMENT     (OPT_ARGSTR+0)  /* Generic comment */
+#define OPT_AUTHOR      (OPT_ARGSTR+1)  /* Author specification */
+#define OPT_TRANSLATOR  (OPT_ARGSTR+2)  /* Translator specification */
+#define OPT_COMPILER    (OPT_ARGSTR+3)  /* Compiler specification */
+#define OPT_OS          (OPT_ARGSTR+4)  /* Operating system specification */
 
-#define        OPT_DATETIME    (OPT_ARGNUM+0)  /* Date/time of translation */
+#define OPT_DATETIME    (OPT_ARGNUM+0)  /* Date/time of translation */
 
 
 
 /* Structure to encode options */
 typedef struct Option Option;
 struct Option {
-    Option*            Next;           /* For list of options */
-    unsigned char      Type;           /* Type of option */
-    unsigned long      Val;            /* Value attribute or string index */
+    Option*             Next;           /* For list of options */
+    unsigned char       Type;           /* Type of option */
+    unsigned long       Val;            /* Value attribute or string index */
 };
 
 
index 48004d226c7aceb06c0c34b83dee099cb7b11d01..53b2aa210d16f81ccf297cb4b1aff86c7c8bf743 100644 (file)
@@ -1,12 +1,12 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 print.c                                  */
+/*                                  print.c                                  */
 /*                                                                           */
-/*                             Program output                               */
+/*                              Program output                               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2001     Ullrich von Bassewitz                                       */
+/* (C) 2001      Ullrich von Bassewitz                                       */
 /*               Wacholderweg 14                                             */
 /*               D-70597 Stuttgart                                           */
 /* EMail:        uz@musoftware.de                                            */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-unsigned char Verbosity = 0;           /* Verbose operation flag */
+unsigned char Verbosity = 0;            /* Verbose operation flag */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -63,8 +63,8 @@ void Print (FILE* F, unsigned V, const char* Format, ...)
 
     /* Check the verbosity */
     if (V > Verbosity) {
-               /* Don't output this message */
-               return;
+        /* Don't output this message */
+        return;
     }
 
     /* Output */
index cd5a1d20d49b2033b2fddcbcfcffb593c3198715..92b654910274b6ec26586246362ff5364efffbc6 100644 (file)
@@ -1,12 +1,12 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 print.h                                  */
+/*                                  print.h                                  */
 /*                                                                           */
-/*                             Program output                               */
+/*                              Program output                               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2001     Ullrich von Bassewitz                                       */
+/* (C) 2001      Ullrich von Bassewitz                                       */
 /*               Wacholderweg 14                                             */
 /*               D-70597 Stuttgart                                           */
 /* EMail:        uz@musoftware.de                                            */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-extern unsigned char Verbosity;        /* Verbose operation flag */
+extern unsigned char Verbosity;         /* Verbose operation flag */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 void Print (FILE* F, unsigned V, const char* Format, ...)
-       attribute ((format (printf, 3, 4)));
+        attribute ((format (printf, 3, 4)));
 /* Output according to Verbosity */
 
 
index d1a0cec4693d4ee912c2953e56d0c215e2cf6aee..08a7f5ec8720d2955fb95acca749bbdcfd08e6b7 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                symdefs.h                                 */
+/*                                 symdefs.h                                 */
 /*                                                                           */
 /*               Scope definitions for the bin65 binary utils                */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index bd3a1f60363ef975ec8c7a4af90113eb8a61ddc5..16945f36d4ab344a2a57533286cc6de4561be477 100644 (file)
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -69,7 +69,7 @@ static char* CleanupPath (const char* Path)
 
     /* Check for a trailing path separator and remove it */
     if (Len > 0 && (Path[Len-1] == '\\' || Path[Len-1] == '/')) {
-       --Len;
+        --Len;
     }
 
     /* Allocate memory for the new string */
@@ -130,8 +130,8 @@ void AddSubSearchPathFromEnv (SearchPath* P, const char* EnvVar, const char* Sub
 
     const char* EnvVal = getenv (EnvVar);
     if (EnvVal == 0) {
-       /* Not found */
-       return;
+        /* Not found */
+        return;
     }
 
     /* Copy the environment variable to the buffer */
@@ -139,9 +139,9 @@ void AddSubSearchPathFromEnv (SearchPath* P, const char* EnvVar, const char* Sub
 
     /* Add a path separator if necessary */
     if (SB_NotEmpty (&Dir)) {
-       if (SB_LookAtLast (&Dir) != '\\' && SB_LookAtLast (&Dir) != '/') {
-           SB_AppendChar (&Dir, '/');
-       }
+        if (SB_LookAtLast (&Dir) != '\\' && SB_LookAtLast (&Dir) != '/') {
+            SB_AppendChar (&Dir, '/');
+        }
     }
 
     /* Add the subdirectory and terminate the string */
@@ -252,19 +252,19 @@ char* SearchFile (const SearchPath* P, const char* File)
         /* Copy the next path element into the buffer */
         SB_CopyStr (&PathName, CollConstAt (P, I));
 
-       /* Add a path separator and the filename */
-               if (SB_NotEmpty (&PathName)) {
-           SB_AppendChar (&PathName, '/');
-       }
-       SB_AppendStr (&PathName, File);
-       SB_Terminate (&PathName);
-
-       /* Check if this file exists */
-               if (access (SB_GetBuf (&PathName), 0) == 0) {
-           /* The file exists, we're done */
-           Name = xstrdup (SB_GetBuf (&PathName));
+        /* Add a path separator and the filename */
+        if (SB_NotEmpty (&PathName)) {
+            SB_AppendChar (&PathName, '/');
+        }
+        SB_AppendStr (&PathName, File);
+        SB_Terminate (&PathName);
+
+        /* Check if this file exists */
+        if (access (SB_GetBuf (&PathName), 0) == 0) {
+            /* The file exists, we're done */
+            Name = xstrdup (SB_GetBuf (&PathName));
             break;
-       }
+        }
     }
 
     /* Cleanup and return the result of the search */
index fb5aa092fe9d6d54a2d8e4dd5f01685bc0bca10b..555a0e18e4b0a33dde2e8c0becfeab7c37c5590f 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ typedef struct Collection SearchPath;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 62fb7d557f8cd675196af93dbb971ccd804a57b8..e8f6883f658821afcefb9f685c0ea3a057e23efd 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                segdefs.h                                 */
+/*                                 segdefs.h                                 */
 /*                                                                           */
 /*                     Constants and flags for segments                      */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 78993589c0f6d34c94d311de5919f09dd8118a13..2bed984ed4071dc98d98c747c58e3fe8281ee254 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -52,14 +52,14 @@ int ValidSegName (const char* Name)
 {
     /* Must start with '_' or a letter */
     if ((*Name != '_' && !IsAlpha(*Name)) || strlen(Name) > 80) {
-               return 0;
+        return 0;
     }
 
     /* Can have letters, digits or the underline */
     while (*++Name) {
-               if (*Name != '_' && !IsAlNum(*Name)) {
-                   return 0;
-               }
+        if (*Name != '_' && !IsAlNum(*Name)) {
+            return 0;
+        }
     }
 
     /* Name is ok */
index 3b0e20a572a621f6c0f7de58579cde5d5caf0c3a..071cb387b0372a824ee52951236102548e887ddd 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 176a68c300f7fec6bf73dd3bbee1c67997510360..156dbd22ce37697c01ceac8727f930a062ca432e 100644 (file)
@@ -55,7 +55,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c3f36930d8e04bd7a765671e346e1bd479e1be5e..4bf96e335be9ac2218dcf0a2cfa1c9bec902465a 100644 (file)
@@ -57,7 +57,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 741fc4887f1c23b869c80427046947006b1f3c56..029fe5ad47f0e33be0a7272f810670cc64d0ad9e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                strbuf.c                                  */
+/*                                 strbuf.c                                  */
 /*                                                                           */
-/*                      Variable sized string buffers                       */
+/*                       Variable sized string buffers                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@ const StrBuf EmptyStrBuf = STATIC_STRBUF_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -132,12 +132,12 @@ void SB_Realloc (StrBuf* B, unsigned NewSize)
     /* Get the current size, use a minimum of 8 bytes */
     unsigned NewAllocated = B->Allocated;
     if (NewAllocated == 0) {
-       NewAllocated = 8;
+        NewAllocated = 8;
     }
 
     /* Round up to the next power of two */
     while (NewAllocated < NewSize) {
-       NewAllocated *= 2;
+        NewAllocated *= 2;
     }
 
     /* Reallocate the buffer. Beware: The allocated size may be zero while the
@@ -167,12 +167,12 @@ static void SB_CheapRealloc (StrBuf* B, unsigned NewSize)
     /* Get the current size, use a minimum of 8 bytes */
     unsigned NewAllocated = B->Allocated;
     if (NewAllocated == 0) {
-       NewAllocated = 8;
+        NewAllocated = 8;
     }
 
     /* Round up to the next power of two */
     while (NewAllocated < NewSize) {
-       NewAllocated *= 2;
+        NewAllocated *= 2;
     }
 
     /* Free the old buffer if there is one */
@@ -219,7 +219,7 @@ void SB_Terminate (StrBuf* B)
 {
     unsigned NewLen = B->Len + 1;
     if (NewLen > B->Allocated) {
-       SB_Realloc (B, NewLen);
+        SB_Realloc (B, NewLen);
     }
     B->Buf[B->Len] = '\0';
 }
@@ -266,7 +266,7 @@ void SB_AppendChar (StrBuf* B, int C)
 {
     unsigned NewLen = B->Len + 1;
     if (NewLen > B->Allocated) {
-       SB_Realloc (B, NewLen);
+        SB_Realloc (B, NewLen);
     }
     B->Buf[B->Len] = (char) C;
     B->Len = NewLen;
@@ -279,7 +279,7 @@ void SB_AppendBuf (StrBuf* B, const char* S, unsigned Size)
 {
     unsigned NewLen = B->Len + Size;
     if (NewLen > B->Allocated) {
-       SB_Realloc (B, NewLen);
+        SB_Realloc (B, NewLen);
     }
     memcpy (B->Buf + B->Len, S, Size);
     B->Len = NewLen;
@@ -314,7 +314,7 @@ void SB_Cut (StrBuf* B, unsigned Len)
  */
 {
     if (Len < B->Len) {
-               B->Len = Len;
+        B->Len = Len;
     }
 }
 #endif
@@ -330,17 +330,17 @@ void SB_Slice (StrBuf* Target, const StrBuf* Source, unsigned Start, unsigned Le
 {
     /* Calculate the length of the resulting buffer */
     if (Start >= Source->Len) {
-               /* Target will be empty */
-       SB_Clear (Target);
-       return;
+        /* Target will be empty */
+        SB_Clear (Target);
+        return;
     }
     if (Start + Len > Source->Len) {
-               Len = Source->Len - Start;
+        Len = Source->Len - Start;
     }
 
     /* Make sure we have enough room in the target string buffer */
     if (Len > Target->Allocated) {
-       SB_Realloc (Target, Len);
+        SB_Realloc (Target, Len);
     }
 
     /* Copy the slice */
index 0bd0a7f7e1e9f3d621b7d56d8b16fb0733560bbd..4d90637d5aa7b1bd8e7e545065ec91a46fc926ca 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                strbuf.h                                  */
+/*                                 strbuf.h                                  */
 /*                                                                           */
-/*                      Variable sized string buffers                       */
+/*                       Variable sized string buffers                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -66,7 +66,7 @@ struct StrBuf {
 extern const StrBuf EmptyStrBuf;
 
 /* Initializer for static string bufs */
-#define STATIC_STRBUF_INITIALIZER      { 0, 0, 0, 0 }
+#define STATIC_STRBUF_INITIALIZER       { 0, 0, 0, 0 }
 
 /* Initializer for auto string bufs */
 #define AUTO_STRBUF_INITIALIZER         { 0, 0, 0, 0 }
@@ -77,7 +77,7 @@ extern const StrBuf EmptyStrBuf;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -368,7 +368,7 @@ INLINE void SB_Cut (StrBuf* B, unsigned Len)
  */
 {
     if (Len < B->Len) {
-               B->Len = Len;
+        B->Len = Len;
     }
 }
 #else
index b98e911e3bacd0c376ef621d6c3219fcc361a618..1cab51869cafc679d512397e9d7a0fdeedd5c3f4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                strutil.h                                 */
+/*                                 strutil.h                                 */
 /*                                                                           */
-/*                        String utility functions                          */
+/*                         String utility functions                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -56,9 +56,9 @@ char* StrCopy (char* Dest, size_t DestSize, const char* Source)
     size_t Len = strlen (Source);
     if (Len >= DestSize) {
         memcpy (Dest, Source, DestSize-1);
-       Dest[DestSize-1] = '\0';
+        Dest[DestSize-1] = '\0';
     } else {
-       memcpy (Dest, Source, Len+1);
+        memcpy (Dest, Source, Len+1);
     }
     return Dest;
 }
index f32a2bfa4aea827623590ef9f914f51019652f0a..24daa222a60e7ba127e43e4683c3bb6b93ddd329 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                strutil.h                                 */
+/*                                 strutil.h                                 */
 /*                                                                           */
-/*                        String utility functions                          */
+/*                         String utility functions                          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7520af218cf98d0cf58c82ccc77467441e877d3d..fbe0bc168294b1fdec622c7e343eab4c1f0b8f87 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                symdefs.h                                 */
+/*                                 symdefs.h                                 */
 /*                                                                           */
-/*              Symbol definitions for the bin65 binary utils               */
+/*               Symbol definitions for the bin65 binary utils               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Number of module constructor/destructor declarations for an export */
-#define SYM_CONDES_MASK                0x0007U
+#define SYM_CONDES_MASK         0x0007U
 
-#define SYM_IS_CONDES(x)       (((x) & SYM_CONDES_MASK) != 0)
+#define SYM_IS_CONDES(x)        (((x) & SYM_CONDES_MASK) != 0)
 #define SYM_GET_CONDES_COUNT(x) ((x) & SYM_CONDES_MASK)
 #define SYM_INC_CONDES_COUNT(x) ((x)++)
 
 #define SYM_HAS_SIZE(x)         (((x) & SYM_MASK_SIZE) == SYM_SIZE)
 
 /* Symbol value type */
-#define SYM_CONST              0x0000U /* Mask bit for const values */
-#define SYM_EXPR               0x0010U /* Mask bit for expr values */
-#define SYM_MASK_VAL           0x0010U /* Value mask */
+#define SYM_CONST               0x0000U /* Mask bit for const values */
+#define SYM_EXPR                0x0010U /* Mask bit for expr values */
+#define SYM_MASK_VAL            0x0010U /* Value mask */
 
-#define SYM_IS_CONST(x)                (((x) & SYM_MASK_VAL) == SYM_CONST)
-#define SYM_IS_EXPR(x)                 (((x) & SYM_MASK_VAL) == SYM_EXPR)
+#define SYM_IS_CONST(x)         (((x) & SYM_MASK_VAL) == SYM_CONST)
+#define SYM_IS_EXPR(x)          (((x) & SYM_MASK_VAL) == SYM_EXPR)
 
 /* Symbol usage */
 #define SYM_EQUATE              0x0000U /* Mask bit for an equate */
index 79c9f8555b8dc4580388171460b1a0c3645feb54..d42d824295b3508291c8a88a4b0391787c05dc57 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                target.c                                  */
+/*                                 target.c                                  */
 /*                                                                           */
-/*                          Target specification                            */
+/*                           Target specification                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -175,12 +175,12 @@ static const TargetProperties PropertyTable[TGT_COUNT] = {
 };
 
 /* Target system */
-target_t Target        = TGT_NONE;
+target_t Target = TGT_NONE;
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0ac5564e59fc19de1da0b4ba0e9bdd5049a86025..07bc55d49285dfbc13f4400c62e68da01afbe10e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                target.h                                  */
+/*                                 target.h                                  */
 /*                                                                           */
-/*                          Target specification                            */
+/*                           Target specification                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Supported target systems */
 typedef enum {
-    TGT_UNKNOWN = -1,          /* Not specified or invalid target */
+    TGT_UNKNOWN = -1,           /* Not specified or invalid target */
     TGT_NONE,
     TGT_MODULE,
     TGT_ATARI,
@@ -73,7 +73,7 @@ typedef enum {
     TGT_NES,
     TGT_SUPERVISION,
     TGT_LYNX,
-    TGT_COUNT                  /* Number of target systems */
+    TGT_COUNT                   /* Number of target systems */
 } target_t;
 
 /* Collection of target properties */
@@ -86,17 +86,17 @@ struct TargetProperties {
 };
 
 /* Target system */
-extern target_t                Target;
+extern target_t         Target;
 
 /* Types of available output formats */
-#define BINFMT_DEFAULT                 0       /* Default (binary) */
-#define BINFMT_BINARY          1       /* Straight binary format */
-#define BINFMT_O65             2       /* Andre Fachats o65 format */
+#define BINFMT_DEFAULT          0       /* Default (binary) */
+#define BINFMT_BINARY           1       /* Straight binary format */
+#define BINFMT_O65              2       /* Andre Fachats o65 format */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index dff5238e17d2cc01480a29afebbedbd950d1ee7b..a1b61cbd319e98de0bba1171fc91db3605cb9bad 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               tgttrans.c                                 */
+/*                                tgttrans.c                                 */
 /*                                                                           */
-/*                        Character set translation                         */
+/*                         Character set translation                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -71,7 +71,7 @@ static unsigned char Tab[256] = {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -104,8 +104,8 @@ void TgtTranslateBuf (void* Buf, unsigned Len)
     /* Translate */
     unsigned char* B = (unsigned char*)Buf;
     while (Len--) {
-       *B = Tab[*B];
-       ++B;
+        *B = Tab[*B];
+        ++B;
     }
 }
 
index 6a54cfc4a1556eb176bb432a43f0bcf2b5c41cf3..e4f08f71a3bab4463db1ce3977e984a51a2c54a2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               tgttrans.h                                 */
+/*                                tgttrans.h                                 */
 /*                                                                           */
-/*                        Character set translation                         */
+/*                         Character set translation                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3b0cb9b029c67237e36dfd68a2d5bd9438fcb14a..7264e79ef888514c6fb85bed7d931fd33c22b1db 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                version.c                                 */
-/*                                                                          */
-/*            Version information for the cc65 compiler package             */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                 version.c                                 */
+/*                                                                           */
+/*             Version information for the cc65 compiler package             */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2009, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-#define VER_MAJOR      2U
-#define VER_MINOR              13U
+#define VER_MAJOR       2U
+#define VER_MINOR       13U
 #define VER_PATCH       9U
 #define VER_RC          0U
 
index 0039b2a60ec39bad356bd8696b9afcf82ec2c8a6..edf5d2c5688e9304c3d2f1819e273ef4ad7cb622 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                version.h                                 */
-/*                                                                          */
-/*            Version information for the cc65 compiler package             */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                 version.h                                 */
+/*                                                                           */
+/*             Version information for the cc65 compiler package             */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2009, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
index a50ad1653c830108f9daa7b5e471d9832853be87..1a7b915ab475cd270345a21a09072df57fc8dd33 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                xmalloc.c                                 */
 /*                                                                           */
-/*                      Memory allocation subroutines                       */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                 xmalloc.c                                 */
+/*                                                                           */
+/*                       Memory allocation subroutines                       */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 2000-2006 Ullrich von Bassewitz                                       */
 /*               Römerstrasse 52                                             */
 /*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  code                                    */
+/*                                   code                                    */
 /*****************************************************************************/
 
 
@@ -81,7 +81,7 @@ void* xrealloc (void* P, size_t Size)
 
     /* Check for errors */
     if (N == 0 && Size != 0) {
-               AbEnd ("Out of memory in realloc - requested block size = %lu", (unsigned long) Size);
+        AbEnd ("Out of memory in realloc - requested block size = %lu", (unsigned long) Size);
     }
 
     /* Return the pointer to the new block */
@@ -104,16 +104,16 @@ char* xstrdup (const char* S)
     /* Allow dup'ing of NULL strings */
     if (S) {
 
-       /* Get the length of the string */
-       unsigned Len = strlen (S) + 1;
+        /* Get the length of the string */
+        unsigned Len = strlen (S) + 1;
 
-       /* Allocate memory and return a copy */
-       return memcpy (xmalloc (Len), S, Len);
+        /* Allocate memory and return a copy */
+        return memcpy (xmalloc (Len), S, Len);
 
     } else {
 
-       /* Return a NULL pointer */
-       return 0;
+        /* Return a NULL pointer */
+        return 0;
 
     }
 }
index 5482302ed47213ae337c7932df1ab92c589ae94a..3979a96171300d006297b10526dd49daa1941a15 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                xmalloc.h                                 */
+/*                                 xmalloc.h                                 */
 /*                                                                           */
-/*                      Memory allocation subroutines                       */
+/*                       Memory allocation subroutines                       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0a0727e09e32880399f12b36556f9cce053769d9..c33f32b241dda11eb4e4da40b98a0e61c4776799 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               xsprintf.c                                 */
+/*                                xsprintf.c                                 */
 /*                                                                           */
-/*                      Replacement sprintf function                        */
+/*                       Replacement sprintf function                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -649,7 +649,7 @@ int xsnprintf (char* Buf, size_t Size, const char* Format, ...)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cc32d462053b8514300e187b428c6a58b875c0ce..07672c5c457f0b0553b53ffbc7f445174e925e9f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               xsprintf.h                                 */
+/*                                xsprintf.h                                 */
 /*                                                                           */
-/*                      Replacement sprintf function                        */
+/*                       Replacement sprintf function                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 int xvsnprintf (char* Buf, size_t Size, const char* Format, va_list ap)
-       attribute ((format (printf, 3, 0)));
+        attribute ((format (printf, 3, 0)));
 /* A basic vsnprintf implementation. Does currently only support integer
  * formats.
  */
 
 int xsnprintf (char* Buf, size_t Size, const char* Format, ...)
-       attribute ((format (printf, 3, 4)));
+        attribute ((format (printf, 3, 4)));
 /* A basic snprintf implementation. Does currently only support integer
  * formats.
  */
 
 int xsprintf (char* Buf, size_t BufSize, const char* Format, ...)
-       attribute ((format (printf, 3, 4)));
+        attribute ((format (printf, 3, 4)));
 /* Replacement function for sprintf. Will FAIL on errors. */
 
 int xvsprintf (char* Buf, size_t BufSize, const char* Format, va_list ap)
-       attribute ((format (printf, 3, 0)));
+        attribute ((format (printf, 3, 0)));
 /* Replacement function for sprintf. Will FAIL on errors. */
 
 
index 22e1ff3870b9111d723a9ba0b89b7ee9b63a58c4..079b751badc6617c8b92fd59cbd9db46f1e77844 100644 (file)
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -84,7 +84,7 @@ void AsmInc (const char* Filename, char CommentStart, int IgnoreUnknown)
     char*       L;
     const char* Comment;
     unsigned    Line;
-    unsigned   Len;
+    unsigned    Len;
     long        Val;
     unsigned    DVal;
     int         Sign;
@@ -111,12 +111,12 @@ void AsmInc (const char* Filename, char CommentStart, int IgnoreUnknown)
             ++L;
         }
 
-       /* Remove trailing whitespace */
-       Len = strlen (L);
-       while (Len > 0 && IsSpace (L[Len-1])) {
-           --Len;
-       }
-       L[Len] = '\0';
+        /* Remove trailing whitespace */
+        Len = strlen (L);
+        while (Len > 0 && IsSpace (L[Len-1])) {
+            --Len;
+        }
+        L[Len] = '\0';
 
         /* If the line is empty or starts with a comment char, ignore it */
         if (*L == '\0' || *L == CommentStart) {
@@ -147,11 +147,11 @@ void AsmInc (const char* Filename, char CommentStart, int IgnoreUnknown)
         } else if (*L == ':' && *++L == '=') {
             ++L;
         } else {
-           if (!IgnoreUnknown) {
-               Error ("%s(%u): Missing `='", Filename, Line);
-           }
-           continue;
-       }
+            if (!IgnoreUnknown) {
+                Error ("%s(%u): Missing `='", Filename, Line);
+            }
+            continue;
+        }
 
         /* Allow white space once again */
         L = SkipWhitespace (L);
index 7b5c553e83f222b608030a89632e02c0945082ac..8c375b67edd2ac403a0bf5e511f9f36ee20ffcf7 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 61ed6b440fefdf6f129c6bbcd30297bb114518c9..07a47b72e7210d9da194a813e03a3b6a9843d219 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                attrtab.c                                 */
+/*                                 attrtab.c                                 */
 /*                                                                           */
-/*                      Disassembler attribute table                        */
+/*                       Disassembler attribute table                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -51,7 +51,7 @@ static unsigned short AttrTab[0x10000];
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -60,7 +60,7 @@ void AddrCheck (unsigned Addr)
 /* Check if the given address has a valid range */
 {
     if (Addr >= 0x10000) {
-       Error ("Address out of range: %08X", Addr);
+        Error ("Address out of range: %08X", Addr);
     }
 }
 
@@ -95,21 +95,21 @@ unsigned GetGranularity (attr_t Style)
 /* Get the granularity for the given style */
 {
     switch (Style) {
-       case atDefault:  return 1;
-       case atCode:     return 1;
-       case atIllegal:  return 1;
-       case atByteTab:  return 1;
-       case atDByteTab: return 2;
-       case atWordTab:  return 2;
-       case atDWordTab: return 4;
-       case atAddrTab:  return 2;
-       case atRtsTab:   return 2;
-       case atTextTab:  return 1;
-
-       case atSkip:
-       default:
-           Internal ("GetGraularity called for style = %d", Style);
-           return 0;
+        case atDefault:  return 1;
+        case atCode:     return 1;
+        case atIllegal:  return 1;
+        case atByteTab:  return 1;
+        case atDByteTab: return 2;
+        case atWordTab:  return 2;
+        case atDWordTab: return 4;
+        case atAddrTab:  return 2;
+        case atRtsTab:   return 2;
+        case atTextTab:  return 1;
+
+        case atSkip:
+        default:
+            Internal ("GetGraularity called for style = %d", Style);
+            return 0;
     }
 }
 
@@ -120,7 +120,7 @@ void MarkRange (unsigned Start, unsigned End, attr_t Attr)
 {
     /* Do it easy here... */
     while (Start <= End) {
-       MarkAddr (Start++, Attr);
+        MarkAddr (Start++, Attr);
     }
 }
 
@@ -134,9 +134,9 @@ void MarkAddr (unsigned Addr, attr_t Attr)
 
     /* We must not have more than one style bit */
     if (Attr & atStyleMask) {
-       if (AttrTab[Addr] & atStyleMask) {
-           Error ("Duplicate style for address %04X", Addr);
-       }
+        if (AttrTab[Addr] & atStyleMask) {
+            Error ("Duplicate style for address %04X", Addr);
+        }
     }
 
     /* Set the style */
index 40a414c2ee855256d12ce49cd4e3831a0956ec57..b1caf083d164ca7ec861a1ca1c02255a86d55f19 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                        attrtab.h                                 */
+/*                                 attrtab.h                                 */
 /*                                                                           */
-/*                              Disassembler attribute table                        */
+/*                       Disassembler attribute table                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 typedef enum attr_t {
 
     /* Styles */
-    atDefault              = 0x0000,   /* Default style */
-    atCode                 = 0x0001,
-    atIllegal              = 0x0002,
-    atByteTab              = 0x0003,   /* Same as illegal */
+    atDefault       = 0x0000,   /* Default style */
+    atCode          = 0x0001,
+    atIllegal       = 0x0002,
+    atByteTab       = 0x0003,   /* Same as illegal */
     atDByteTab      = 0x0004,
-    atWordTab              = 0x0005,
-    atDWordTab             = 0x0006,
-    atAddrTab              = 0x0007,
-    atRtsTab               = 0x0008,
+    atWordTab       = 0x0005,
+    atDWordTab      = 0x0006,
+    atAddrTab       = 0x0007,
+    atRtsTab        = 0x0008,
     atTextTab       = 0x0009,
     atSkip          = 0x000A,   /* Skip code completely */
 
     /* Label flags */
-    atNoLabel              = 0x0000,   /* No label for this address */
-    atExtLabel             = 0x0010,   /* External label */
-    atIntLabel      = 0x0020,  /* Internally generated label */
-    atDepLabel             = 0x0040,   /* Dependent label */
+    atNoLabel       = 0x0000,   /* No label for this address */
+    atExtLabel      = 0x0010,   /* External label */
+    atIntLabel      = 0x0020,   /* Internally generated label */
+    atDepLabel      = 0x0040,   /* Dependent label */
     atUnnamedLabel  = 0x0080,   /* Unnamed label */
 
     atLabelDefined  = 0x0100,   /* True if we defined the label */
 
-    atStyleMask     = 0x000F,  /* Output style */
+    atStyleMask     = 0x000F,   /* Output style */
     atLabelMask     = 0x00F0,   /* Label information */
 
     /* Segment */
@@ -79,7 +79,7 @@ typedef enum attr_t {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index ceb303fd509b835553fa915a06434266bc2fae66..c94fa24cdc7c3f4f4297ca80c9f639bc6fe23fd0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 code.c                                   */
+/*                                  code.c                                   */
 /*                                                                           */
-/*                         Binary code management                           */
+/*                          Binary code management                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-unsigned char CodeBuf [0x10000];       /* Code buffer */
-unsigned long CodeStart;               /* Start address */
-unsigned long CodeEnd;                 /* End address */
-unsigned long PC;                      /* Current PC */
+unsigned char CodeBuf [0x10000];        /* Code buffer */
+unsigned long CodeStart;                /* Start address */
+unsigned long CodeEnd;                  /* End address */
+unsigned long PC;                       /* Current PC */
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -78,12 +78,12 @@ void LoadCode (void)
     /* Open the file */
     F = fopen (InFile, "rb");
     if (F == 0) {
-       Error ("Cannot open `%s': %s", InFile, strerror (errno));
+        Error ("Cannot open `%s': %s", InFile, strerror (errno));
     }
 
     /* Seek to the end to get the size of the file */
     if (fseek (F, 0, SEEK_END) != 0) {
-       Error ("Cannot seek on file `%s': %s", InFile, strerror (errno));
+        Error ("Cannot seek on file `%s': %s", InFile, strerror (errno));
     }
     Size = ftell (F);
 
@@ -101,7 +101,7 @@ void LoadCode (void)
      * the file.
      */
     if (fseek (F, InputOffs, SEEK_SET) != 0) {
-       Error ("Cannot seek on file `%s': %s", InFile, strerror (errno));
+        Error ("Cannot seek on file `%s': %s", InFile, strerror (errno));
     }
     Size -= InputOffs;
 
@@ -118,11 +118,11 @@ void LoadCode (void)
      * is a ROM that contains the hardware vectors at $FFFA.
      */
     if (StartAddr < 0) {
-       if (Size > 0x10000) {
-           StartAddr = 0;
-       } else {
-           StartAddr = 0x10000 - Size;
-       }
+        if (Size > 0x10000) {
+            StartAddr = 0;
+        } else {
+            StartAddr = 0x10000 - Size;
+        }
     }
 
     /* Calculate the maximum code size */
@@ -130,19 +130,19 @@ void LoadCode (void)
 
     /* Check if the size is larger than what we can read */
     if (Size == 0) {
-               Error ("Nothing to read from input file `%s'", InFile);
+        Error ("Nothing to read from input file `%s'", InFile);
     }
     if (Size > MaxCount) {
-               Warning ("File `%s' is too large, ignoring %ld bytes",
-                        InFile, Size - MaxCount);
+        Warning ("File `%s' is too large, ignoring %ld bytes",
+                 InFile, Size - MaxCount);
     } else if (MaxCount > Size) {
-               MaxCount = (unsigned) Size;
+        MaxCount = (unsigned) Size;
     }
 
     /* Read from the file and remember the number of bytes read */
     Count = fread (CodeBuf + StartAddr, 1, MaxCount, F);
     if (ferror (F) || Count != MaxCount) {
-       Error ("Error reading from `%s': %s", InFile, strerror (errno));
+        Error ("Error reading from `%s': %s", InFile, strerror (errno));
     }
 
     /* Close the file */
@@ -150,7 +150,7 @@ void LoadCode (void)
 
     /* Set the buffer variables */
     CodeStart = PC = StartAddr;
-    CodeEnd = CodeStart + Count - 1;   /* CodeEnd is inclusive */
+    CodeEnd = CodeStart + Count - 1;    /* CodeEnd is inclusive */
 }
 
 
@@ -198,9 +198,9 @@ unsigned GetRemainingBytes (void)
 /* Return the number of remaining code bytes */
 {
     if (CodeEnd >= PC) {
-       return (CodeEnd - PC + 1);
+        return (CodeEnd - PC + 1);
     } else {
-       return 0;
+        return 0;
     }
 }
 
index 59e77db9bfb1b930093ee72a9524b488812e1eba..e4d95a03b74e66162379f923b704538a3f5bb618 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 code.h                                   */
+/*                                  code.h                                   */
 /*                                                                           */
-/*                         Binary code management                           */
+/*                          Binary code management                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-extern unsigned char CodeBuf [0x10000];                /* Code buffer */
-extern unsigned long CodeStart;                        /* Start address */
-extern unsigned long CodeEnd;                  /* End address */
-extern unsigned long PC;                       /* Current PC */
+extern unsigned char CodeBuf [0x10000];         /* Code buffer */
+extern unsigned long CodeStart;                 /* Start address */
+extern unsigned long CodeEnd;                   /* End address */
+extern unsigned long PC;                        /* Current PC */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3cad907e15e78534f0c493554441324e1bf05d66..4702cf9d7d75c02cc2ac4bfd64766f5644f7026f 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ static const char* CommentTab[0x10000];
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7bc2c1c4c85ee66cab28c2aa2d9b781040b7f9d9..0e235d31d1afbe09bb672fd728355d9dc7b167bb 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index bafd14e23e8fa2f0fb96e79780e6a0d440743eb9..0e2f7f27545a1b4a4ed3a17290e342980bbd2922 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 data.c                                   */
+/*                                  data.c                                   */
 /*                                                                           */
-/*                          Data output routines                            */
+/*                           Data output routines                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -63,9 +63,9 @@ static unsigned GetSpan (attr_t Style)
     unsigned Count = 1;
     while (Count < RemainingBytes) {
         attr_t Attr;
-               if (MustDefLabel(PC+Count)) {
-           break;
-       }           
+        if (MustDefLabel(PC+Count)) {
+            break;
+        }           
         Attr = GetAttr (PC+Count);
         if ((Attr & atStyleMask) != Style) {
             break;
@@ -73,7 +73,7 @@ static unsigned GetSpan (attr_t Style)
         if ((Attr & atSegmentChange)) {
             break;
         }
-       ++Count;
+        ++Count;
     }
 
     /* Return the number of bytes */
@@ -95,9 +95,9 @@ static unsigned DoTable (attr_t Style, unsigned MemberSize, void (*TableFunc) (u
      * than BytesPerLine.
      */
     if (Count < MemberSize) {
-       DataByteLine (Count);
+        DataByteLine (Count);
         PC += Count;
-       return Count;
+        return Count;
     }
 
     /* Make Count an even number of multiples of MemberSize */
@@ -107,20 +107,20 @@ static unsigned DoTable (attr_t Style, unsigned MemberSize, void (*TableFunc) (u
     BytesLeft = Count;
     while (BytesLeft > 0) {
 
-       /* Calculate the number of bytes for the next line */
-       unsigned Chunk = (BytesLeft > BytesPerLine)? BytesPerLine : BytesLeft;
+        /* Calculate the number of bytes for the next line */
+        unsigned Chunk = (BytesLeft > BytesPerLine)? BytesPerLine : BytesLeft;
 
-       /* Output a line with these bytes */
-       TableFunc (Chunk);
+        /* Output a line with these bytes */
+        TableFunc (Chunk);
 
-       /* Next line */
-       BytesLeft -= Chunk;
-       PC        += Chunk;
+        /* Next line */
+        BytesLeft -= Chunk;
+        PC        += Chunk;
     }
 
     /* If the next line is not the same style, add a separator */
     if (CodeLeft() && GetStyleAttr (PC) != Style) {
-       SeparatorLine ();
+        SeparatorLine ();
     }
 
     /* Return the number of bytes output */
@@ -191,28 +191,28 @@ unsigned AddrTable (void)
         /* Now get the address from the PC */
         Addr = GetCodeWord (PC);
 
-       /* In pass 1, define a label, in pass 2 output the line */
-       if (Pass == 1) {
-           if (!HaveLabel (Addr)) {
-               AddIntLabel (Addr);
-           }
-       } else {
-           const char* Label = GetLabel (Addr, PC);
-           if (Label == 0) {
-               /* OOPS! Should not happen */
-               Internal ("OOPS - Label for address 0x%06X disappeard!", Addr);
-           }
-           Indent (MCol);
-           Output (".addr");
-           Indent (ACol);
-           Output ("%s", Label);
-           LineComment (PC, 2);
-           LineFeed ();
-       }
-
-       /* Next table entry */
-       PC        += 2;
-               BytesLeft -= 2;
+        /* In pass 1, define a label, in pass 2 output the line */
+        if (Pass == 1) {
+            if (!HaveLabel (Addr)) {
+                AddIntLabel (Addr);
+            }
+        } else {
+            const char* Label = GetLabel (Addr, PC);
+            if (Label == 0) {
+                /* OOPS! Should not happen */
+                Internal ("OOPS - Label for address 0x%06X disappeard!", Addr);
+            }
+            Indent (MCol);
+            Output (".addr");
+            Indent (ACol);
+            Output ("%s", Label);
+            LineComment (PC, 2);
+            LineFeed ();
+        }
+
+        /* Next table entry */
+        PC        += 2;
+        BytesLeft -= 2;
 
         /* If we must define a label here, bail out */
         if (BytesLeft && MustDefLabel (PC)) {
@@ -222,7 +222,7 @@ unsigned AddrTable (void)
 
     /* If the next line is not an address table line, add a separator */
     if (CodeLeft() && GetStyleAttr (PC) != atAddrTab) {
-       SeparatorLine ();
+        SeparatorLine ();
     }
 
     /* Return the number of bytes output */
@@ -255,30 +255,30 @@ unsigned RtsTable (void)
         ForwardLabel (1);
 
         /* Now get the address from the PC */
-       Addr = (GetCodeWord (PC) + 1) & 0xFFFF;
-
-       /* In pass 1, define a label, in pass 2 output the line */
-       if (Pass == 1) {
-           if (!HaveLabel (Addr)) {
-               AddIntLabel (Addr);
-           }
-       } else {
-           const char* Label = GetLabel (Addr, PC);
-           if (Label == 0) {
-               /* OOPS! Should not happen */
-               Internal ("OOPS - Label for address 0x%06X disappeard!", Addr);
-           }
-           Indent (MCol);
-           Output (".word");
-           Indent (ACol);
-           Output ("%s-1", Label);
-           LineComment (PC, 2);
-           LineFeed ();
-       }
-
-       /* Next table entry */
-       PC        += 2;
-               BytesLeft -= 2;
+        Addr = (GetCodeWord (PC) + 1) & 0xFFFF;
+
+        /* In pass 1, define a label, in pass 2 output the line */
+        if (Pass == 1) {
+            if (!HaveLabel (Addr)) {
+                AddIntLabel (Addr);
+            }
+        } else {
+            const char* Label = GetLabel (Addr, PC);
+            if (Label == 0) {
+                /* OOPS! Should not happen */
+                Internal ("OOPS - Label for address 0x%06X disappeard!", Addr);
+            }
+            Indent (MCol);
+            Output (".word");
+            Indent (ACol);
+            Output ("%s-1", Label);
+            LineComment (PC, 2);
+            LineFeed ();
+        }
+
+        /* Next table entry */
+        PC        += 2;
+        BytesLeft -= 2;
 
         /* If we must define a label here, bail out */
         if (BytesLeft && MustDefLabel (PC)) {
@@ -288,7 +288,7 @@ unsigned RtsTable (void)
 
     /* If the next line is not a return address table line, add a separator */
     if (CodeLeft() && GetStyleAttr (PC) != atRtsTab) {
-       SeparatorLine ();
+        SeparatorLine ();
     }
 
     /* Return the number of bytes output */
@@ -307,67 +307,67 @@ unsigned TextTable (void)
     unsigned BytesLeft = ByteCount;
     while (BytesLeft > 0) {
 
-       unsigned I;
-
-       /* Count the number of characters that can be output as such */
-       unsigned Count = 0;
-       while (Count < BytesLeft && Count < BytesPerLine*4-1) {
-           unsigned char C = GetCodeByte (PC + Count);
-           if (C >= 0x20 && C <= 0x7E && C != '\"') {
-               ++Count;
-           } else {
-               break;
-           }
-       }
-
-       /* If we have text, output it */
-       if (Count > 0) {
-           unsigned CBytes;
-           Indent (MCol);
-           Output (".byte");
-           Indent (ACol);
-           Output ("\"");
-           for (I = 0; I < Count; ++I) {
-               Output ("%c", GetCodeByte (PC+I));
-           }
-           Output ("\"");
-           CBytes = Count;
-           while (CBytes > 0) {
-               unsigned Chunk = CBytes;
-               if (Chunk > BytesPerLine) {
-                   Chunk = BytesPerLine;
-               }
-               LineComment (PC, Chunk);
-               LineFeed ();
-               CBytes -= Chunk;
-               PC += Chunk;
-           }
-           BytesLeft -= Count;
-       }
-
-       /* Count the number of bytes that must be output as bytes */
-       Count = 0;
-       while (Count < BytesLeft && Count < BytesPerLine) {
-           unsigned char C = GetCodeByte (PC + Count);
-                   if (C < 0x20 || C > 0x7E || C == '\"') {
-               ++Count;
-           } else {
-               break;
-           }
-       }
-
-       /* If we have raw output bytes, print them */
-       if (Count > 0) {
-           DataByteLine (Count);
-           PC += Count;
-           BytesLeft -= Count;
-       }
+        unsigned I;
+
+        /* Count the number of characters that can be output as such */
+        unsigned Count = 0;
+        while (Count < BytesLeft && Count < BytesPerLine*4-1) {
+            unsigned char C = GetCodeByte (PC + Count);
+            if (C >= 0x20 && C <= 0x7E && C != '\"') {
+                ++Count;
+            } else {
+                break;
+            }
+        }
+
+        /* If we have text, output it */
+        if (Count > 0) {
+            unsigned CBytes;
+            Indent (MCol);
+            Output (".byte");
+            Indent (ACol);
+            Output ("\"");
+            for (I = 0; I < Count; ++I) {
+                Output ("%c", GetCodeByte (PC+I));
+            }
+            Output ("\"");
+            CBytes = Count;
+            while (CBytes > 0) {
+                unsigned Chunk = CBytes;
+                if (Chunk > BytesPerLine) {
+                    Chunk = BytesPerLine;
+                }
+                LineComment (PC, Chunk);
+                LineFeed ();
+                CBytes -= Chunk;
+                PC += Chunk;
+            }
+            BytesLeft -= Count;
+        }
+
+        /* Count the number of bytes that must be output as bytes */
+        Count = 0;
+        while (Count < BytesLeft && Count < BytesPerLine) {
+            unsigned char C = GetCodeByte (PC + Count);
+            if (C < 0x20 || C > 0x7E || C == '\"') {
+                ++Count;
+            } else {
+                break;
+            }
+        }
+
+        /* If we have raw output bytes, print them */
+        if (Count > 0) {
+            DataByteLine (Count);
+            PC += Count;
+            BytesLeft -= Count;
+        }
 
     }
 
     /* If the next line is not a byte table line, add a separator */
     if (CodeLeft() && GetStyleAttr (PC) != atTextTab) {
-       SeparatorLine ();
+        SeparatorLine ();
     }
 
     /* Return the number of bytes output */
index a6603fa03ce3302feabb34610e979ac57a704a79..37c0df04a1375fe2728f672a4ea738d66f2f5567 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 data.h                                   */
+/*                                  data.h                                   */
 /*                                                                           */
-/*                          Data output routines                            */
+/*                           Data output routines                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0b52dee450a5a59e21eabaff12ca53e68df3dd24..e0d96c9fbc0a5fb5cc5bc4bbbfae7cfc64544c69 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.c                                   */
+/*                                 error.c                                   */
 /*                                                                           */
-/*                             Error handling                               */
+/*                              Error handling                               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 17fb87d4675bb695abf50fbcc64af85606a8006d..b8de9728602d890b7401168403c3d721b232a311 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.h                                   */
+/*                                 error.h                                   */
 /*                                                                           */
-/*                             Error handling                               */
+/*                              Error handling                               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f3243f0d8bf9e6f55c294c382786ef0c26ab144b..14f9982d08aab7e55b8d38d0a80971debfb3d847 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*               Global variables for the da65 disassembler                 */
+/*                Global variables for the da65 disassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* File names */
-const char* InFile                   = 0;      /* Name of input file */
-const char* OutFile                  = 0;      /* Name of output file */
+const char* InFile            = 0;      /* Name of input file */
+const char* OutFile           = 0;      /* Name of output file */
 
 /* Default extensions */
-const char OutExt[]          = ".dis"; /* Output file extension */
-const char CfgExt[]                  = ".cfg"; /* Config file extension */
+const char OutExt[]           = ".dis"; /* Output file extension */
+const char CfgExt[]           = ".cfg"; /* Config file extension */
 
 /* Flags and other command line stuff */
 unsigned char DebugInfo       = 0;      /* Add debug info to the object file */
-unsigned char FormFeeds              = 0;      /* Add form feeds to the output? */
+unsigned char FormFeeds       = 0;      /* Add form feeds to the output? */
 unsigned char UseHexOffs      = 0;      /* Use hexadecimal label offsets */
-unsigned char PassCount              = 2;      /* How many passed do we do? */
+unsigned char PassCount       = 2;      /* How many passed do we do? */
 signed char   NewlineAfterJMP = -1;     /* Add a newline after a JMP insn? */
 signed char   NewlineAfterRTS = -1;     /* Add a newline after a RTS insn? */
-long         StartAddr       = -1L;    /* Start/load address of the program */
+long          StartAddr       = -1L;    /* Start/load address of the program */
 long          InputOffs       = -1L;    /* Offset into input file */
 long          InputSize       = -1L;    /* Number of bytes to read from input */
 
 /* Stuff needed by many routines */
-unsigned      Pass           = 0;      /* Disassembler pass */
+unsigned      Pass            = 0;      /* Disassembler pass */
 char          Now[128];                 /* Current time as string */
 
 /* Comments */
 unsigned      Comments        = 0;      /* Add which comments to the output? */
 
 /* Page formatting */
-unsigned PageLength                  = 0;      /* Length of a listing page */
+unsigned PageLength           = 0;      /* Length of a listing page */
 unsigned LBreak               = 7;      /* Linefeed if labels exceed this limit */
-unsigned MCol                = 9;      /* Mnemonic column */
-unsigned ACol                = 17;     /* Argument column */
-unsigned CCol                = 49;     /* Comment column */
-unsigned TCol                = 81;     /* Text bytes column */
-unsigned BytesPerLine        = 8;      /* Max. number of data bytes per line */
+unsigned MCol                 = 9;      /* Mnemonic column */
+unsigned ACol                 = 17;     /* Argument column */
+unsigned CCol                 = 49;     /* Comment column */
+unsigned TCol                 = 81;     /* Text bytes column */
+unsigned BytesPerLine         = 8;      /* Max. number of data bytes per line */
 
 
 
index 78680c93f19ee79f383b06ee034fd2cd3e34d506..b48805157d0fe99369b1255c7367387d8d6c88c2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*               Global variables for the da65 disassembler                 */
+/*                Global variables for the da65 disassembler                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* File stuff */
-extern const char*     InFile;         /* Name of input file */
-extern const char*     OutFile;        /* Name of output file */
+extern const char*      InFile;         /* Name of input file */
+extern const char*      OutFile;        /* Name of output file */
 
 /* Default extensions */
-extern const char      OutExt[];       /* Output file extension */
-extern const char      CfgExt[];       /* Config file extension */
+extern const char       OutExt[];       /* Output file extension */
+extern const char       CfgExt[];       /* Config file extension */
 
 /* Flags and other command line stuff */
 extern unsigned char    DebugInfo;      /* Add debug info to the object file */
-extern unsigned char   FormFeeds;      /* Add form feeds to the output? */
+extern unsigned char    FormFeeds;      /* Add form feeds to the output? */
 extern unsigned char    UseHexOffs;     /* Use hexadecimal label offsets */
-extern unsigned char   PassCount;      /* How many passed do we do? */
+extern unsigned char    PassCount;      /* How many passed do we do? */
 extern signed char      NewlineAfterJMP;/* Add a newline after a JMP insn? */
 extern signed char      NewlineAfterRTS;/* Add a newline after a RTS insn? */
-extern long                    StartAddr;      /* Start/load address of the program */
+extern long             StartAddr;      /* Start/load address of the program */
 extern long             InputOffs;      /* Offset into input file */
 extern long             InputSize;      /* Number of bytes to read from input */
 
 /* Stuff needed by many routines */
-extern unsigned         Pass;          /* Disassembler pass */
+extern unsigned         Pass;           /* Disassembler pass */
 extern char             Now[128];       /* Current time as string */
 
 /* Comments */
@@ -73,9 +73,9 @@ extern char             Now[128];       /* Current time as string */
 extern unsigned         Comments;       /* Add which comments to the output? */
 
 /* Page formatting */
-#define MIN_PAGE_LEN   32
-#define MAX_PAGE_LEN   127
-extern unsigned         PageLength;    /* Length of a listing page */
+#define MIN_PAGE_LEN    32
+#define MAX_PAGE_LEN    127
+extern unsigned         PageLength;     /* Length of a listing page */
 
 /* Linefeed if labels exceed this limit */
 #define MIN_LABELBREAK  1
@@ -85,27 +85,27 @@ extern unsigned         LBreak;
 /* Mnemonic column */
 #define MIN_MCOL        1
 #define MAX_MCOL        127
-extern unsigned                MCol;
+extern unsigned         MCol;
 
 /* Argument column */
 #define MIN_ACOL        1
 #define MAX_ACOL        127
-extern unsigned                ACol;
+extern unsigned         ACol;
 
 /* Comment column */
 #define MIN_CCOL        1
 #define MAX_CCOL        127
-extern unsigned        CCol;
+extern unsigned         CCol;
 
 /* Text bytes column */
 #define MIN_TCOL        1
 #define MAX_TCOL        127
-extern unsigned        TCol;
+extern unsigned         TCol;
 
 /* Max. number of data bytes per line */
 #define MIN_BYTESPERLINE        1
 #define MAX_BYTESPERLINE        127
-extern unsigned                BytesPerLine;
+extern unsigned         BytesPerLine;
 
 
 
index ee27ae857a49cbd593c9b95a4ee9af494906ac37..1b26fca7e3f231c732ed616e0cab1063a9f12284 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                handler.c                                 */
+/*                                 handler.c                                 */
 /*                                                                           */
-/*              Opcode handler functions for the disassembler               */
+/*               Opcode handler functions for the disassembler               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -110,18 +110,18 @@ static const char* GetAddrArg (unsigned Flags, unsigned Addr)
 {
     const char* Label = 0;
     if (Flags & flUseLabel) {
-               Label = GetLabel (Addr, PC);
+        Label = GetLabel (Addr, PC);
     }
     if (Label) {
-               return Label;
+        return Label;
     } else {
-               static char Buf [32];
-               if (Addr < 0x100) {
-                   xsprintf (Buf, sizeof (Buf), "$%02X", Addr);
-               } else {
-                   xsprintf (Buf, sizeof (Buf), "$%04X", Addr);
-               }
-               return Buf;
+        static char Buf [32];
+        if (Addr < 0x100) {
+            xsprintf (Buf, sizeof (Buf), "$%02X", Addr);
+        } else {
+            xsprintf (Buf, sizeof (Buf), "$%04X", Addr);
+        }
+        return Buf;
     }
 }
 
@@ -132,66 +132,66 @@ static void GenerateLabel (unsigned Flags, unsigned Addr)
 {
     /* Generate labels in pass #1, and only if we don't have a label already */
     if (Pass == 1 && !HaveLabel (Addr) &&
-       /* Check if we must create a label */
-               ((Flags & flGenLabel) != 0 ||
-                ((Flags & flUseLabel) != 0 && Addr >= CodeStart && Addr <= CodeEnd))) {
-
-       /* As a special case, handle ranges with tables or similar. Within
-        * such a range with a granularity > 1, do only generate dependent
-        * labels for all addresses but the first one. Be sure to generate
-        * a label for the start of the range, however.
-        */
-       attr_t Style         = GetStyleAttr (Addr);
-       unsigned Granularity = GetGranularity (Style);
-
-       if (Granularity == 1) {
-           /* Just add the label */
-           AddIntLabel (Addr);
-       } else {
+        /* Check if we must create a label */
+        ((Flags & flGenLabel) != 0 ||
+         ((Flags & flUseLabel) != 0 && Addr >= CodeStart && Addr <= CodeEnd))) {
+
+        /* As a special case, handle ranges with tables or similar. Within
+         * such a range with a granularity > 1, do only generate dependent
+         * labels for all addresses but the first one. Be sure to generate
+         * a label for the start of the range, however.
+         */
+        attr_t Style         = GetStyleAttr (Addr);
+        unsigned Granularity = GetGranularity (Style);
+
+        if (Granularity == 1) {
+            /* Just add the label */
+            AddIntLabel (Addr);
+        } else {
 
             /* THIS CODE IS A MESS AND WILL FAIL ON SEVERAL CONDITIONS! ### */
 
 
-           /* Search for the start of the range or the last non dependent
-            * label in the range.
-            */
-           unsigned Offs;
-           attr_t LabelAttr;
-           unsigned LabelAddr = Addr;
-           while (LabelAddr > CodeStart) {
-
-               if (Style != GetStyleAttr (LabelAddr-1)) {
-                   /* End of range reached */
-                   break;
-               }
-               --LabelAddr;
-               LabelAttr = GetLabelAttr (LabelAddr);
-               if ((LabelAttr & (atIntLabel|atExtLabel)) != 0) {
-                   /* The address has an internal or external label */
-                   break;
-               }
-           }
-
-           /* If the proposed label address doesn't have a label, define one */
-           if ((GetLabelAttr (LabelAddr) & (atIntLabel|atExtLabel)) == 0) {
-               AddIntLabel (LabelAddr);
-           }
-
-           /* Create the label */
-           Offs = Addr - LabelAddr;
-           if (Offs == 0) {
-               AddIntLabel (Addr);
-           } else {
-               AddDepLabel (Addr, atIntLabel, GetLabelName (LabelAddr), Offs);
-           }
-       }
+            /* Search for the start of the range or the last non dependent
+             * label in the range.
+             */
+            unsigned Offs;
+            attr_t LabelAttr;
+            unsigned LabelAddr = Addr;
+            while (LabelAddr > CodeStart) {
+
+                if (Style != GetStyleAttr (LabelAddr-1)) {
+                    /* End of range reached */
+                    break;
+                }
+                --LabelAddr;
+                LabelAttr = GetLabelAttr (LabelAddr);
+                if ((LabelAttr & (atIntLabel|atExtLabel)) != 0) {
+                    /* The address has an internal or external label */
+                    break;
+                }
+            }
+
+            /* If the proposed label address doesn't have a label, define one */
+            if ((GetLabelAttr (LabelAddr) & (atIntLabel|atExtLabel)) == 0) {
+                AddIntLabel (LabelAddr);
+            }
+
+            /* Create the label */
+            Offs = Addr - LabelAddr;
+            if (Offs == 0) {
+                AddIntLabel (Addr);
+            } else {
+                AddDepLabel (Addr, atIntLabel, GetLabelName (LabelAddr), Offs);
+            }
+        }
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index affc4cf389728cd01ecfee8afad7864d31791310..fddcfba25ea0283698f71003c2c97aa3e17437bb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                handler.h                                 */
+/*                                 handler.h                                 */
 /*                                                                           */
-/*              Opcode handler functions for the disassembler               */
+/*               Opcode handler functions for the disassembler               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index dba7a64ded5ee98f9c0f9e44308137e415f7655e..4b1857dc51f29c1ef874b3b3820227e6e8ad60ee 100644 (file)
@@ -63,7 +63,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -85,7 +85,7 @@ static void AsmIncSection (void)
 {
     static const IdentTok LabelDefs[] = {
         {   "COMMENTSTART",     INFOTOK_COMMENTSTART    },
-               {   "FILE",             INFOTOK_FILE            },
+        {   "FILE",             INFOTOK_FILE            },
         {   "IGNOREUNKNOWN",    INFOTOK_IGNOREUNKNOWN   },
     };
 
@@ -103,11 +103,11 @@ static void AsmIncSection (void)
     /* Look for section tokens */
     while (InfoTok != INFOTOK_RCURLY) {
 
-       /* Convert to special token */
-               InfoSpecialToken (LabelDefs, ENTRY_COUNT (LabelDefs), "Asminc directive");
+        /* Convert to special token */
+        InfoSpecialToken (LabelDefs, ENTRY_COUNT (LabelDefs), "Asminc directive");
 
-       /* Look at the token */
-       switch (InfoTok) {
+        /* Look at the token */
+        switch (InfoTok) {
 
             case INFOTOK_COMMENTSTART:
                 InfoNextTok ();
@@ -119,18 +119,18 @@ static void AsmIncSection (void)
                 InfoNextTok ();
                 break;
 
-           case INFOTOK_FILE:
-               InfoNextTok ();
-               if (Name) {
-                   InfoError ("File name already given");
-               }
-               InfoAssureStr ();
-               if (InfoSVal[0] == '\0') {
-                   InfoError ("File name may not be empty");
-               }
-               Name = xstrdup (InfoSVal);
-               InfoNextTok ();
-               break;
+            case INFOTOK_FILE:
+                InfoNextTok ();
+                if (Name) {
+                    InfoError ("File name already given");
+                }
+                InfoAssureStr ();
+                if (InfoSVal[0] == '\0') {
+                    InfoError ("File name may not be empty");
+                }
+                Name = xstrdup (InfoSVal);
+                InfoNextTok ();
+                break;
 
             case INFOTOK_IGNOREUNKNOWN:
                 InfoNextTok ();
@@ -144,18 +144,18 @@ static void AsmIncSection (void)
 
             default:
                 Internal ("Unexpected token: %u", InfoTok);
-       }
+        }
 
-       /* Directive is followed by a semicolon */
-       InfoConsumeSemi ();
+        /* Directive is followed by a semicolon */
+        InfoConsumeSemi ();
     }
 
     /* Check for the necessary data and assume defaults */
     if (Name == 0) {
-       InfoError ("File name is missing");
+        InfoError ("File name is missing");
     }
     if (CommentStart == EOF) {
-       CommentStart = ';';
+        CommentStart = ';';
     }
     if (IgnoreUnknown == -1) {
         IgnoreUnknown = 0;
@@ -182,9 +182,9 @@ static void GlobalSection (void)
         {   "COMMENTCOL",       INFOTOK_COMMENT_COLUMN  },
         {   "COMMENTCOLUMN",    INFOTOK_COMMENT_COLUMN  },
         {   "COMMENTS",         INFOTOK_COMMENTS        },
-               {   "CPU",              INFOTOK_CPU             },
+        {   "CPU",              INFOTOK_CPU             },
         {   "HEXOFFS",          INFOTOK_HEXOFFS         },
-               {   "INPUTNAME",        INFOTOK_INPUTNAME       },
+        {   "INPUTNAME",        INFOTOK_INPUTNAME       },
         {   "INPUTOFFS",        INFOTOK_INPUTOFFS       },
         {   "INPUTSIZE",        INFOTOK_INPUTSIZE       },
         {   "LABELBREAK",       INFOTOK_LABELBREAK      },
@@ -192,9 +192,9 @@ static void GlobalSection (void)
         {   "MNEMONICCOLUMN",   INFOTOK_MNEMONIC_COLUMN },
         {   "NEWLINEAFTERJMP",  INFOTOK_NL_AFTER_JMP    },
         {   "NEWLINEAFTERRTS",  INFOTOK_NL_AFTER_RTS    },
-       {   "OUTPUTNAME",       INFOTOK_OUTPUTNAME      },
-       {   "PAGELENGTH",       INFOTOK_PAGELENGTH      },
-       {   "STARTADDR",        INFOTOK_STARTADDR       },
+        {   "OUTPUTNAME",       INFOTOK_OUTPUTNAME      },
+        {   "PAGELENGTH",       INFOTOK_PAGELENGTH      },
+        {   "STARTADDR",        INFOTOK_STARTADDR       },
         {   "TEXTCOL",          INFOTOK_TEXT_COLUMN     },
         {   "TEXTCOLUMN",       INFOTOK_TEXT_COLUMN     },
     };
@@ -208,35 +208,35 @@ static void GlobalSection (void)
     /* Look for section tokens */
     while (InfoTok != INFOTOK_RCURLY) {
 
-       /* Convert to special token */
-               InfoSpecialToken (GlobalDefs, ENTRY_COUNT (GlobalDefs), "Global directive");
+        /* Convert to special token */
+        InfoSpecialToken (GlobalDefs, ENTRY_COUNT (GlobalDefs), "Global directive");
 
-       /* Look at the token */
-       switch (InfoTok) {
+        /* Look at the token */
+        switch (InfoTok) {
 
             case INFOTOK_ARGUMENT_COLUMN:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (MIN_ACOL, MAX_ACOL);
-               ACol = InfoIVal;
-               InfoNextTok ();
-               break;
+                ACol = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_COMMENT_COLUMN:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (MIN_CCOL, MAX_CCOL);
-               CCol = InfoIVal;
-               InfoNextTok ();
-               break;
+                CCol = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_COMMENTS:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (MIN_COMMENTS, MAX_COMMENTS);
-               Comments = InfoIVal;
-               InfoNextTok ();
-               break;
+                Comments = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_CPU:
                 InfoNextTok ();
@@ -259,46 +259,46 @@ static void GlobalSection (void)
                 InfoNextTok ();
                 break;
 
-           case INFOTOK_INPUTNAME:
-               InfoNextTok ();
-               InfoAssureStr ();
-               if (InFile) {
-                   InfoError ("Input file name already given");
-               }
-               InFile = xstrdup (InfoSVal);
-               InfoNextTok ();
-               break;
+            case INFOTOK_INPUTNAME:
+                InfoNextTok ();
+                InfoAssureStr ();
+                if (InFile) {
+                    InfoError ("Input file name already given");
+                }
+                InFile = xstrdup (InfoSVal);
+                InfoNextTok ();
+                break;
 
             case INFOTOK_INPUTOFFS:
-               InfoNextTok ();
-               InfoAssureInt ();
-               InputOffs = InfoIVal;
-               InfoNextTok ();
-               break;
+                InfoNextTok ();
+                InfoAssureInt ();
+                InputOffs = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_INPUTSIZE:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (1, 0x10000);
-               InputSize = InfoIVal;
-               InfoNextTok ();
-               break;
+                InputSize = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_LABELBREAK:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (0, UCHAR_MAX);
-               LBreak = (unsigned char) InfoIVal;
-               InfoNextTok ();
-               break;
+                LBreak = (unsigned char) InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_MNEMONIC_COLUMN:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (MIN_MCOL, MAX_MCOL);
-               MCol = InfoIVal;
-               InfoNextTok ();
-               break;
+                MCol = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_NL_AFTER_JMP:
                 InfoNextTok ();
@@ -320,49 +320,49 @@ static void GlobalSection (void)
                 InfoNextTok ();
                 break;
 
-           case INFOTOK_OUTPUTNAME:
-               InfoNextTok ();
-               InfoAssureStr ();
-               if (OutFile) {
-                   InfoError ("Output file name already given");
-               }
-               OutFile = xstrdup (InfoSVal);
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_PAGELENGTH:
-               InfoNextTok ();
-               InfoAssureInt ();
-               if (InfoIVal != 0) {
-                   InfoRangeCheck (MIN_PAGE_LEN, MAX_PAGE_LEN);
-               }
-               PageLength = InfoIVal;
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_STARTADDR:
-               InfoNextTok ();
-               InfoAssureInt ();
-               InfoRangeCheck (0x0000, 0xFFFF);
-               StartAddr = InfoIVal;
-               InfoNextTok ();
-               break;
+            case INFOTOK_OUTPUTNAME:
+                InfoNextTok ();
+                InfoAssureStr ();
+                if (OutFile) {
+                    InfoError ("Output file name already given");
+                }
+                OutFile = xstrdup (InfoSVal);
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_PAGELENGTH:
+                InfoNextTok ();
+                InfoAssureInt ();
+                if (InfoIVal != 0) {
+                    InfoRangeCheck (MIN_PAGE_LEN, MAX_PAGE_LEN);
+                }
+                PageLength = InfoIVal;
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_STARTADDR:
+                InfoNextTok ();
+                InfoAssureInt ();
+                InfoRangeCheck (0x0000, 0xFFFF);
+                StartAddr = InfoIVal;
+                InfoNextTok ();
+                break;
 
             case INFOTOK_TEXT_COLUMN:
-               InfoNextTok ();
-               InfoAssureInt ();
+                InfoNextTok ();
+                InfoAssureInt ();
                 InfoRangeCheck (MIN_TCOL, MAX_TCOL);
-               TCol = InfoIVal;
-               InfoNextTok ();
-               break;
+                TCol = InfoIVal;
+                InfoNextTok ();
+                break;
 
             default:
                 Internal ("Unexpected token: %u", InfoTok);
 
-       }
+        }
 
-       /* Directive is followed by a semicolon */
-       InfoConsumeSemi ();
+        /* Directive is followed by a semicolon */
+        InfoConsumeSemi ();
 
     }
 
@@ -376,10 +376,10 @@ static void LabelSection (void)
 /* Parse a label section */
 {
     static const IdentTok LabelDefs[] = {
-               {   "COMMENT",  INFOTOK_COMMENT },
-       {   "ADDR",     INFOTOK_ADDR    },
-               {   "NAME",     INFOTOK_NAME    },
-               {   "SIZE",     INFOTOK_SIZE    },
+        {   "COMMENT",  INFOTOK_COMMENT },
+        {   "ADDR",     INFOTOK_ADDR    },
+        {   "NAME",     INFOTOK_NAME    },
+        {   "SIZE",     INFOTOK_SIZE    },
     };
 
     /* Locals - initialize to avoid gcc warnings */
@@ -397,84 +397,84 @@ static void LabelSection (void)
     /* Look for section tokens */
     while (InfoTok != INFOTOK_RCURLY) {
 
-       /* Convert to special token */
-               InfoSpecialToken (LabelDefs, ENTRY_COUNT (LabelDefs), "Label attribute");
-
-       /* Look at the token */
-       switch (InfoTok) {
-
-           case INFOTOK_ADDR:
-               InfoNextTok ();
-               if (Value >= 0) {
-                   InfoError ("Value already given");
-               }
-               InfoAssureInt ();
-               InfoRangeCheck (0, 0xFFFF);
-               Value = InfoIVal;
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_COMMENT:
-               InfoNextTok ();
-               if (Comment) {
-                   InfoError ("Comment already given");
-               }
-               InfoAssureStr ();
-               if (InfoSVal[0] == '\0') {
-                   InfoError ("Comment may not be empty");
-               }
-               Comment = xstrdup (InfoSVal);
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_NAME:
-               InfoNextTok ();
-               if (Name) {
-                   InfoError ("Name already given");
-               }
-               InfoAssureStr ();
-               Name = xstrdup (InfoSVal);
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_SIZE:
-               InfoNextTok ();
-               if (Size >= 0) {
-                   InfoError ("Size already given");
-               }
-               InfoAssureInt ();
-               InfoRangeCheck (1, 0x10000);
-               Size = InfoIVal;
-               InfoNextTok ();
-               break;
+        /* Convert to special token */
+        InfoSpecialToken (LabelDefs, ENTRY_COUNT (LabelDefs), "Label attribute");
+
+        /* Look at the token */
+        switch (InfoTok) {
+
+            case INFOTOK_ADDR:
+                InfoNextTok ();
+                if (Value >= 0) {
+                    InfoError ("Value already given");
+                }
+                InfoAssureInt ();
+                InfoRangeCheck (0, 0xFFFF);
+                Value = InfoIVal;
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_COMMENT:
+                InfoNextTok ();
+                if (Comment) {
+                    InfoError ("Comment already given");
+                }
+                InfoAssureStr ();
+                if (InfoSVal[0] == '\0') {
+                    InfoError ("Comment may not be empty");
+                }
+                Comment = xstrdup (InfoSVal);
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_NAME:
+                InfoNextTok ();
+                if (Name) {
+                    InfoError ("Name already given");
+                }
+                InfoAssureStr ();
+                Name = xstrdup (InfoSVal);
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_SIZE:
+                InfoNextTok ();
+                if (Size >= 0) {
+                    InfoError ("Size already given");
+                }
+                InfoAssureInt ();
+                InfoRangeCheck (1, 0x10000);
+                Size = InfoIVal;
+                InfoNextTok ();
+                break;
 
             default:
                 Internal ("Unexpected token: %u", InfoTok);
-       }
+        }
 
-       /* Directive is followed by a semicolon */
-       InfoConsumeSemi ();
+        /* Directive is followed by a semicolon */
+        InfoConsumeSemi ();
     }
 
     /* Did we get the necessary data */
     if (Name == 0) {
-       InfoError ("Label name is missing");
+        InfoError ("Label name is missing");
     }
     if (Name[0] == '\0' && Size > 1) {
         InfoError ("Unnamed labels must not have a size > 1");
     }
     if (Value < 0) {
-       InfoError ("Label value is missing");
+        InfoError ("Label value is missing");
     }
     if (Size < 0) {
-       /* Use default */
-       Size = 1;
+        /* Use default */
+        Size = 1;
     }
     if (Value + Size > 0x10000) {
-       InfoError ("Invalid size (address out of range)");
+        InfoError ("Invalid size (address out of range)");
     }
     if (HaveLabel ((unsigned) Value)) {
-       InfoError ("Label for address $%04lX already defined", Value);
+        InfoError ("Label for address $%04lX already defined", Value);
     }
 
     /* Define the label(s) */
@@ -505,41 +505,41 @@ static void RangeSection (void)
 {
     static const IdentTok RangeDefs[] = {
         {   "COMMENT",          INFOTOK_COMMENT },
-       {   "END",              INFOTOK_END     },
+        {   "END",              INFOTOK_END     },
         {   "NAME",             INFOTOK_NAME    },
-               {   "START",            INFOTOK_START   },
-       {   "TYPE",             INFOTOK_TYPE    },
+        {   "START",            INFOTOK_START   },
+        {   "TYPE",             INFOTOK_TYPE    },
     };
 
     static const IdentTok TypeDefs[] = {
-       {   "ADDRTABLE",        INFOTOK_ADDRTAB  },
-       {   "BYTETABLE",        INFOTOK_BYTETAB  },
-       {   "CODE",             INFOTOK_CODE     },
+        {   "ADDRTABLE",        INFOTOK_ADDRTAB  },
+        {   "BYTETABLE",        INFOTOK_BYTETAB  },
+        {   "CODE",             INFOTOK_CODE     },
         {   "DBYTETABLE",       INFOTOK_DBYTETAB },
-       {   "DWORDTABLE",       INFOTOK_DWORDTAB },
-       {   "RTSTABLE",         INFOTOK_RTSTAB   },
+        {   "DWORDTABLE",       INFOTOK_DWORDTAB },
+        {   "RTSTABLE",         INFOTOK_RTSTAB   },
         {   "SKIP",             INFOTOK_SKIP     },
-       {   "TEXTTABLE",        INFOTOK_TEXTTAB  },
-       {   "WORDTABLE",        INFOTOK_WORDTAB  },
+        {   "TEXTTABLE",        INFOTOK_TEXTTAB  },
+        {   "WORDTABLE",        INFOTOK_WORDTAB  },
     };
 
 
     /* Which values did we get? */
     enum {
-       tNone   = 0x00,
-       tStart  = 0x01,
-       tEnd    = 0x02,
-       tType   = 0x04,
+        tNone   = 0x00,
+        tStart  = 0x01,
+        tEnd    = 0x02,
+        tType   = 0x04,
         tName   = 0x08,
         tComment= 0x10,
-               tNeeded = (tStart | tEnd | tType)
+        tNeeded = (tStart | tEnd | tType)
     };
     unsigned Attributes = tNone;
 
     /* Locals - initialize to avoid gcc warnings */
-    unsigned Start     = 0;
-    unsigned End       = 0;
-    unsigned char Type = 0;
+    unsigned Start      = 0;
+    unsigned End        = 0;
+    unsigned char Type  = 0;
     char* Name          = 0;
     char* Comment       = 0;
     unsigned MemberSize = 0;
@@ -554,94 +554,94 @@ static void RangeSection (void)
     /* Look for section tokens */
     while (InfoTok != INFOTOK_RCURLY) {
 
-       /* Convert to special token */
-               InfoSpecialToken (RangeDefs, ENTRY_COUNT (RangeDefs), "Range attribute");
+        /* Convert to special token */
+        InfoSpecialToken (RangeDefs, ENTRY_COUNT (RangeDefs), "Range attribute");
 
-       /* Look at the token */
-       switch (InfoTok) {
+        /* Look at the token */
+        switch (InfoTok) {
 
-           case INFOTOK_COMMENT:
+            case INFOTOK_COMMENT:
                 AddAttr ("COMMENT", &Attributes, tComment);
-               InfoNextTok ();
-               InfoAssureStr ();
-               if (InfoSVal[0] == '\0') {
-                   InfoError ("Comment may not be empty");
-               }
-               Comment = xstrdup (InfoSVal);
+                InfoNextTok ();
+                InfoAssureStr ();
+                if (InfoSVal[0] == '\0') {
+                    InfoError ("Comment may not be empty");
+                }
+                Comment = xstrdup (InfoSVal);
                 Attributes |= tComment;
-               InfoNextTok ();
-               break;
+                InfoNextTok ();
+                break;
 
-           case INFOTOK_END:
+            case INFOTOK_END:
                 AddAttr ("END", &Attributes, tEnd);
-               InfoNextTok ();
-               InfoAssureInt ();
-               InfoRangeCheck (0x0000, 0xFFFF);
-               End = InfoIVal;
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_NAME:
+                InfoNextTok ();
+                InfoAssureInt ();
+                InfoRangeCheck (0x0000, 0xFFFF);
+                End = InfoIVal;
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_NAME:
                 AddAttr ("NAME", &Attributes, tName);
-               InfoNextTok ();
-               InfoAssureStr ();
-               if (InfoSVal[0] == '\0') {
-                   InfoError ("Name may not be empty");
-               }
-               Name = xstrdup (InfoSVal);
+                InfoNextTok ();
+                InfoAssureStr ();
+                if (InfoSVal[0] == '\0') {
+                    InfoError ("Name may not be empty");
+                }
+                Name = xstrdup (InfoSVal);
                 Attributes |= tName;
-               InfoNextTok ();
-               break;
+                InfoNextTok ();
+                break;
 
-           case INFOTOK_START:
+            case INFOTOK_START:
                 AddAttr ("START", &Attributes, tStart);
-               InfoNextTok ();
-               InfoAssureInt ();
-               InfoRangeCheck (0x0000, 0xFFFF);
-               Start = InfoIVal;
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_TYPE:
+                InfoNextTok ();
+                InfoAssureInt ();
+                InfoRangeCheck (0x0000, 0xFFFF);
+                Start = InfoIVal;
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_TYPE:
                 AddAttr ("TYPE", &Attributes, tType);
-               InfoNextTok ();
-               InfoSpecialToken (TypeDefs, ENTRY_COUNT (TypeDefs), "TYPE");
-               switch (InfoTok) {
-                   case INFOTOK_ADDRTAB:  Type = atAddrTab;  MemberSize = 2; break;
-                   case INFOTOK_BYTETAB:  Type = atByteTab;  MemberSize = 1; break;
-                   case INFOTOK_CODE:     Type = atCode;     MemberSize = 1; break;
+                InfoNextTok ();
+                InfoSpecialToken (TypeDefs, ENTRY_COUNT (TypeDefs), "TYPE");
+                switch (InfoTok) {
+                    case INFOTOK_ADDRTAB:  Type = atAddrTab;  MemberSize = 2; break;
+                    case INFOTOK_BYTETAB:  Type = atByteTab;  MemberSize = 1; break;
+                    case INFOTOK_CODE:     Type = atCode;     MemberSize = 1; break;
                     case INFOTOK_DBYTETAB: Type = atDByteTab; MemberSize = 2; break;
-                   case INFOTOK_DWORDTAB: Type = atDWordTab; MemberSize = 4; break;
-                           case INFOTOK_RTSTAB:   Type = atRtsTab;   MemberSize = 2; break;
+                    case INFOTOK_DWORDTAB: Type = atDWordTab; MemberSize = 4; break;
+                    case INFOTOK_RTSTAB:   Type = atRtsTab;   MemberSize = 2; break;
                     case INFOTOK_SKIP:     Type = atSkip;     MemberSize = 1; break;
-                   case INFOTOK_TEXTTAB:  Type = atTextTab;  MemberSize = 1; break;
-                   case INFOTOK_WORDTAB:  Type = atWordTab;  MemberSize = 2; break;
-               }
-               InfoNextTok ();
-               break;
+                    case INFOTOK_TEXTTAB:  Type = atTextTab;  MemberSize = 1; break;
+                    case INFOTOK_WORDTAB:  Type = atWordTab;  MemberSize = 2; break;
+                }
+                InfoNextTok ();
+                break;
 
             default:
                 Internal ("Unexpected token: %u", InfoTok);
-       }
+        }
 
-       /* Directive is followed by a semicolon */
-       InfoConsumeSemi ();
+        /* Directive is followed by a semicolon */
+        InfoConsumeSemi ();
 
     }
 
     /* Did we get all required values? */
     if ((Attributes & tNeeded) != tNeeded) {
-       InfoError ("Required values missing from this section");
+        InfoError ("Required values missing from this section");
     }
 
     /* Start must be less than end */
     if (Start > End) {
-       InfoError ("Start value must not be greater than end value");
+        InfoError ("Start value must not be greater than end value");
     }
 
     /* Check the granularity */
     if (((End - Start + 1) % MemberSize) != 0) {
-       InfoError ("Type of range needs a granularity of %u", MemberSize);
+        InfoError ("Type of range needs a granularity of %u", MemberSize);
     }
 
     /* Set the range */
@@ -673,9 +673,9 @@ static void SegmentSection (void)
 /* Parse a segment section */
 {
     static const IdentTok LabelDefs[] = {
-               {   "END",      INFOTOK_END     },
-               {   "NAME",     INFOTOK_NAME    },
-       {   "START",    INFOTOK_START   },
+        {   "END",      INFOTOK_END     },
+        {   "NAME",     INFOTOK_NAME    },
+        {   "START",    INFOTOK_START   },
     };
 
     /* Locals - initialize to avoid gcc warnings */
@@ -692,61 +692,61 @@ static void SegmentSection (void)
     /* Look for section tokens */
     while (InfoTok != INFOTOK_RCURLY) {
 
-       /* Convert to special token */
-               InfoSpecialToken (LabelDefs, ENTRY_COUNT (LabelDefs), "Segment attribute");
-
-       /* Look at the token */
-       switch (InfoTok) {
-
-           case INFOTOK_END:
-               InfoNextTok ();
-               if (End >= 0) {
-                   InfoError ("Value already given");
-               }
-               InfoAssureInt ();
-               InfoRangeCheck (0, 0xFFFF);
-               End = InfoIVal;
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_NAME:
-               InfoNextTok ();
-               if (Name) {
-                   InfoError ("Name already given");
-               }
-               InfoAssureStr ();
-               Name = xstrdup (InfoSVal);
-               InfoNextTok ();
-               break;
-
-           case INFOTOK_START:
-               InfoNextTok ();
-               if (Start >= 0) {
-                   InfoError ("Value already given");
-               }
-               InfoAssureInt ();
-               InfoRangeCheck (0, 0xFFFF);
-               Start = InfoIVal;
-               InfoNextTok ();
-               break;
+        /* Convert to special token */
+        InfoSpecialToken (LabelDefs, ENTRY_COUNT (LabelDefs), "Segment attribute");
+
+        /* Look at the token */
+        switch (InfoTok) {
+
+            case INFOTOK_END:
+                InfoNextTok ();
+                if (End >= 0) {
+                    InfoError ("Value already given");
+                }
+                InfoAssureInt ();
+                InfoRangeCheck (0, 0xFFFF);
+                End = InfoIVal;
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_NAME:
+                InfoNextTok ();
+                if (Name) {
+                    InfoError ("Name already given");
+                }
+                InfoAssureStr ();
+                Name = xstrdup (InfoSVal);
+                InfoNextTok ();
+                break;
+
+            case INFOTOK_START:
+                InfoNextTok ();
+                if (Start >= 0) {
+                    InfoError ("Value already given");
+                }
+                InfoAssureInt ();
+                InfoRangeCheck (0, 0xFFFF);
+                Start = InfoIVal;
+                InfoNextTok ();
+                break;
 
             default:
                 Internal ("Unexpected token: %u", InfoTok);
-       }
+        }
 
-       /* Directive is followed by a semicolon */
-       InfoConsumeSemi ();
+        /* Directive is followed by a semicolon */
+        InfoConsumeSemi ();
     }
 
     /* Did we get the necessary data, and is it correct? */
     if (Name == 0 || Name[0] == '\0') {
-               InfoError ("Segment name is missing");
+        InfoError ("Segment name is missing");
     }
     if (End < 0) {
         InfoError ("End address is missing");
     }
     if (Start < 0) {
-       InfoError ("Start address is missing");
+        InfoError ("Start address is missing");
     }
     if (Start == End) {
         InfoError ("Segment is empty");
@@ -777,35 +777,35 @@ static void InfoParse (void)
 {
     static const IdentTok Globals[] = {
         {   "ASMINC",   INFOTOK_ASMINC  },
-       {   "GLOBAL",   INFOTOK_GLOBAL  },
-       {   "LABEL",    INFOTOK_LABEL   },
-       {   "RANGE",    INFOTOK_RANGE   },
+        {   "GLOBAL",   INFOTOK_GLOBAL  },
+        {   "LABEL",    INFOTOK_LABEL   },
+        {   "RANGE",    INFOTOK_RANGE   },
         {   "SEGMENT",  INFOTOK_SEGMENT },
     };
 
     while (InfoTok != INFOTOK_EOF) {
 
-       /* Convert an identifier into a token */
-       InfoSpecialToken (Globals, ENTRY_COUNT (Globals), "Config directive");
+        /* Convert an identifier into a token */
+        InfoSpecialToken (Globals, ENTRY_COUNT (Globals), "Config directive");
 
-       /* Check the token */
-       switch (InfoTok) {
+        /* Check the token */
+        switch (InfoTok) {
 
             case INFOTOK_ASMINC:
                 AsmIncSection ();
                 break;
 
-           case INFOTOK_GLOBAL:
-               GlobalSection ();
-               break;
+            case INFOTOK_GLOBAL:
+                GlobalSection ();
+                break;
 
-           case INFOTOK_LABEL:
-               LabelSection ();
-               break;
+            case INFOTOK_LABEL:
+                LabelSection ();
+                break;
 
-           case INFOTOK_RANGE:
-               RangeSection ();
-               break;
+            case INFOTOK_RANGE:
+                RangeSection ();
+                break;
 
             case INFOTOK_SEGMENT:
                 SegmentSection ();
@@ -813,10 +813,10 @@ static void InfoParse (void)
 
             default:
                 Internal ("Unexpected token: %u", InfoTok);
-       }
+        }
 
-       /* Semicolon expected */
-       InfoConsumeSemi ();
+        /* Semicolon expected */
+        InfoConsumeSemi ();
     }
 }
 
index a39a02d43fcc1a7e6ab819a2df4c069b7d962e38..0bfeb79b8be81dacfc3dae50568976c016f79ba0 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b9b217a249295ce8a25771592d0b94956db775a8..c837b17a6318631bacbea688ea60a66e96468ff9 100644 (file)
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -63,7 +63,7 @@ static const char* SymTab[0x10000];
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -88,14 +88,14 @@ static void AddLabel (unsigned Addr, attr_t Attr, const char* Name)
 
     /* Must not have two symbols for one address */
     if (ExistingAttr != atNoLabel) {
-               /* Allow redefinition if identical. Beware: Unnamed labels don't
+        /* Allow redefinition if identical. Beware: Unnamed labels don't
          * have a name (you guessed that, didn't you?).
          */
-               if (ExistingAttr == Attr &&
+        if (ExistingAttr == Attr &&
             ((Name == 0 && SymTab[Addr] == 0) || strcmp (SymTab[Addr], Name) == 0)) {
-                   return;
-               }
-               Error ("Duplicate label for address $%04X: %s/%s", Addr, SymTab[Addr], Name);
+            return;
+        }
+        Error ("Duplicate label for address $%04X: %s/%s", Addr, SymTab[Addr], Name);
     }
 
     /* Create a new label (xstrdup will return NULL if input NULL) */
@@ -138,13 +138,13 @@ void AddDepLabel (unsigned Addr, attr_t Attr, const char* BaseName, unsigned Off
 {
     /* Allocate memory for the dependent label name */
     unsigned NameLen = strlen (BaseName);
-    char*    DepName = xmalloc (NameLen + 7);  /* "+$ABCD\0" */
+    char*    DepName = xmalloc (NameLen + 7);   /* "+$ABCD\0" */
 
     /* Create the new name in the buffer */
     if (UseHexOffs) {
-       sprintf (DepName, "%s+$%02X", BaseName, Offs);
+        sprintf (DepName, "%s+$%02X", BaseName, Offs);
     } else {
-       sprintf (DepName, "%s+%u", BaseName, Offs);
+        sprintf (DepName, "%s+%u", BaseName, Offs);
     }
 
     /* Define the labels */
@@ -167,28 +167,28 @@ static void AddLabelRange (unsigned Addr, attr_t Attr,
 
     /* Define dependent labels if necessary */
     if (Count > 1) {
-       unsigned Offs;
+        unsigned Offs;
 
         /* Setup the format string */
         const char* Format = UseHexOffs? "$%02X" : "%u";
 
-       /* Allocate memory for the dependent label names */
-       unsigned NameLen = strlen (Name);
-       char*    DepName = xmalloc (NameLen + 7);       /* "+$ABCD" */
-       char*    DepOffs = DepName + NameLen + 1;
+        /* Allocate memory for the dependent label names */
+        unsigned NameLen = strlen (Name);
+        char*    DepName = xmalloc (NameLen + 7);       /* "+$ABCD" */
+        char*    DepOffs = DepName + NameLen + 1;
 
-       /* Copy the original name into the buffer */
-       memcpy (DepName, Name, NameLen);
-       DepName[NameLen] = '+';
+        /* Copy the original name into the buffer */
+        memcpy (DepName, Name, NameLen);
+        DepName[NameLen] = '+';
 
-       /* Define the labels */
-               for (Offs = 1; Offs < Count; ++Offs) {
-           sprintf (DepOffs, Format, Offs);
-           AddLabel (Addr + Offs, Attr | atDepLabel, DepName);
-       }
+        /* Define the labels */
+        for (Offs = 1; Offs < Count; ++Offs) {
+            sprintf (DepOffs, Format, Offs);
+            AddLabel (Addr + Offs, Attr | atDepLabel, DepName);
+        }
 
-       /* Free the name buffer */
-       xfree (DepName);
+        /* Free the name buffer */
+        xfree (DepName);
     }
 }
 
index 53d46c6c882dd619f389fe6946add2bf8b902b13..34735a54c3b3f671c937c13241695b341fc7ceb8 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cbc6bb19e70f12e53ddfeb90486b49efa1d08b89..a0af3053917cb6dc1154c96821be7c23bfb3dbe9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
-/*                 Main program for the da65 disassembler                   */
+/*                  Main program for the da65 disassembler                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -64,7 +64,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -124,20 +124,20 @@ static unsigned long CvtNumber (const char* Arg, const char* Number)
  */
 {
     unsigned long Val;
-    int          Converted;
+    int           Converted;
     char          BoundsCheck;
 
     /* Convert */
     if (*Number == '$') {
-       ++Number;
-       Converted = sscanf (Number, "%lx%c", &Val, &BoundsCheck);
+        ++Number;
+        Converted = sscanf (Number, "%lx%c", &Val, &BoundsCheck);
     } else {
-       Converted = sscanf (Number, "%li%c", (long*)&Val, &BoundsCheck);
+        Converted = sscanf (Number, "%li%c", (long*)&Val, &BoundsCheck);
     }
 
     /* Check if we do really have a number */
     if (Converted != 1) {
-               Error ("Invalid number given in argument: %s\n", Arg);
+        Error ("Invalid number given in argument: %s\n", Arg);
     }
 
     /* Return the result */
@@ -217,7 +217,7 @@ static void OptCPU (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptDebugInfo (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Add debug info to the object file */
 {
     DebugInfo = 1;
@@ -226,7 +226,7 @@ static void OptDebugInfo (const char* Opt attribute ((unused)),
 
 
 static void OptFormFeeds (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Add form feeds to the output */
 {
     FormFeeds = 1;
@@ -235,7 +235,7 @@ static void OptFormFeeds (const char* Opt attribute ((unused)),
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -245,7 +245,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptHexOffs (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Handle the --hexoffs option */
 {
     UseHexOffs = 1;
@@ -327,7 +327,7 @@ static void OptTextColumn (const char* Opt, const char* Arg)
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase verbosity */
 {
     ++Verbosity;
@@ -336,7 +336,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the disassembler version */
 {
     fprintf (stderr, "da65 V%s\n", GetVersionAsString ());
@@ -364,7 +364,7 @@ static void OneOpcode (unsigned RemainingBytes)
         if (Comment) {
             UserComment (Comment);
         }
-       DefLabel (GetLabelName (PC));
+        DefLabel (GetLabelName (PC));
     }
 
     /* Check...
@@ -374,33 +374,33 @@ static void OneOpcode (unsigned RemainingBytes)
      * If any of these conditions is false, switch to data mode.
      */
     if (Style == atDefault) {
-       if (D->Size > RemainingBytes) {
-           Style = atIllegal;
-           MarkAddr (PC, Style);
-               } else if (D->Flags & flIllegal) {
-           Style = atIllegal;
-           MarkAddr (PC, Style);
-       } else {
-           unsigned I;
-           for (I = 1; I < D->Size; ++I) {
-               if (HaveLabel (PC+I) || HaveSegmentChange (PC+I)) {
-                   Style = atIllegal;
-                   MarkAddr (PC, Style);
-                   break;
-               }
-           }
-       }
+        if (D->Size > RemainingBytes) {
+            Style = atIllegal;
+            MarkAddr (PC, Style);
+        } else if (D->Flags & flIllegal) {
+            Style = atIllegal;
+            MarkAddr (PC, Style);
+        } else {
+            unsigned I;
+            for (I = 1; I < D->Size; ++I) {
+                if (HaveLabel (PC+I) || HaveSegmentChange (PC+I)) {
+                    Style = atIllegal;
+                    MarkAddr (PC, Style);
+                    break;
+                }
+            }
+        }
     }
 
     /* Disassemble the line */
     switch (Style) {
 
-       case atDefault:
-           D->Handler (D);
-           PC += D->Size;
-           break;
+        case atDefault:
+            D->Handler (D);
+            PC += D->Size;
+            break;
 
-       case atCode:
+        case atCode:
             /* Beware: If we don't have enough bytes left to disassemble the
              * following insn, fall through to byte mode.
              */
@@ -417,42 +417,42 @@ static void OneOpcode (unsigned RemainingBytes)
             }
             /* FALLTHROUGH */
 
-       case atByteTab:
-           ByteTable ();
-           break;
+        case atByteTab:
+            ByteTable ();
+            break;
 
         case atDByteTab:
             DByteTable ();
             break;
 
-       case atWordTab:
-           WordTable ();
-           break;
+        case atWordTab:
+            WordTable ();
+            break;
 
-       case atDWordTab:
-           DWordTable ();
-           break;
+        case atDWordTab:
+            DWordTable ();
+            break;
 
-       case atAddrTab:
-           AddrTable ();
-           break;
+        case atAddrTab:
+            AddrTable ();
+            break;
 
-       case atRtsTab:
-           RtsTable ();
-           break;
+        case atRtsTab:
+            RtsTable ();
+            break;
 
-       case atTextTab:
-           TextTable ();
-           break;
+        case atTextTab:
+            TextTable ();
+            break;
 
         case atSkip:
             ++PC;
             break;
 
-       default:
-           DataByteLine (1);
-           ++PC;
-           break;
+        default:
+            DataByteLine (1);
+            ++PC;
+            break;
 
     }
 }
@@ -466,7 +466,7 @@ static void OnePass (void)
 
     /* Disassemble until nothing left */
     while ((Count = GetRemainingBytes()) > 0) {
-       OneOpcode (Count);
+        OneOpcode (Count);
     }
 }
 
@@ -501,19 +501,19 @@ int main (int argc, char* argv [])
         { "--bytes-per-line",   1,      OptBytesPerLine         },
         { "--comment-column",   1,      OptCommentColumn        },
         { "--comments",         1,      OptComments             },
-        { "--cpu",                     1,      OptCPU                  },
-               { "--debug-info",       0,      OptDebugInfo            },
-       { "--formfeeds",        0,      OptFormFeeds            },
-       { "--help",             0,      OptHelp                 },
-               { "--hexoffs",          0,      OptHexOffs              },
-               { "--info",             1,      OptInfo                 },
+        { "--cpu",              1,      OptCPU                  },
+        { "--debug-info",       0,      OptDebugInfo            },
+        { "--formfeeds",        0,      OptFormFeeds            },
+        { "--help",             0,      OptHelp                 },
+        { "--hexoffs",          0,      OptHexOffs              },
+        { "--info",             1,      OptInfo                 },
         { "--label-break",      1,      OptLabelBreak           },
         { "--mnemonic-column",  1,      OptMnemonicColumn       },
-       { "--pagelength",       1,      OptPageLength           },
-       { "--start-addr",       1,      OptStartAddr            },
+        { "--pagelength",       1,      OptPageLength           },
+        { "--start-addr",       1,      OptStartAddr            },
         { "--text-column",      1,      OptTextColumn           },
-       { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
     };
 
     unsigned I;
@@ -526,63 +526,63 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec[I];
-
-               /* Check for an option */
-               if (Arg [0] == '-') {
-                   switch (Arg [1]) {
-
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
-
-               case 'g':
-                   OptDebugInfo (Arg, 0);
-                   break;
-
-               case 'h':
-                   OptHelp (Arg, 0);
-                   break;
-
-                       case 'i':
-                           OptInfo (Arg, GetArg (&I, 2));
-                           break;
-
-                       case 'o':
-                           OutFile = GetArg (&I, 2);
-                           break;
-
-                       case 'v':
-                   OptVerbose (Arg, 0);
-                           break;
-
-               case 'S':
-                   OptStartAddr (Arg, GetArg (&I, 2));
-                   break;
-
-                       case 'V':
-                   OptVersion (Arg, 0);
-                           break;
-
-                       default:
-                           UnknownOption (Arg);
-                   break;
-
-           }
-               } else {
-           /* Filename. Check if we already had one */
-           if (InFile) {
-               fprintf (stderr, "%s: Don't know what to do with `%s'\n",
-                        ProgName, Arg);
-               exit (EXIT_FAILURE);
-           } else {
-               InFile = Arg;
-           }
-       }
-
-       /* Next argument */
-       ++I;
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
+
+        /* Check for an option */
+        if (Arg [0] == '-') {
+            switch (Arg [1]) {
+
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
+
+                case 'g':
+                    OptDebugInfo (Arg, 0);
+                    break;
+
+                case 'h':
+                    OptHelp (Arg, 0);
+                    break;
+
+                case 'i':
+                    OptInfo (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'o':
+                    OutFile = GetArg (&I, 2);
+                    break;
+
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
+
+                case 'S':
+                    OptStartAddr (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
+
+                default:
+                    UnknownOption (Arg);
+                    break;
+
+            }
+        } else {
+            /* Filename. Check if we already had one */
+            if (InFile) {
+                fprintf (stderr, "%s: Don't know what to do with `%s'\n",
+                         ProgName, Arg);
+                exit (EXIT_FAILURE);
+            } else {
+                InFile = Arg;
+            }
+        }
+
+        /* Next argument */
+        ++I;
     }
 
     /* Try to read the info file */
@@ -590,7 +590,7 @@ int main (int argc, char* argv [])
 
     /* Must have an input file */
     if (InFile == 0) {
-       AbEnd ("No input file");
+        AbEnd ("No input file");
     }
 
     /* Check the formatting options for reasonable values. Note: We will not
index 754d8f14e569163257f8241c15f77824df3285c9..b59db8d57ae7f220c23c030c9d274c26bc5ad4f7 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc6502.c                                 */
+/*                                 opc6502.c                                 */
 /*                                                                           */
 /*                       6502 opcode description table                       */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index c74273bf6d965f9113a6243a389965bf7431364d..26171cf6189e62838486641930f95da94bff7c65 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc6502.h                                 */
+/*                                 opc6502.h                                 */
 /*                                                                           */
 /*                       6502 opcode description table                       */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 7b50801946d525b6bfb46ef6d0344ebf5e16968b..ee2c4e0ec32bc31e3a0b90d1470877855db18996 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc6502.c                                 */
+/*                                 opc6502.c                                 */
 /*                                                                           */
 /*             6502 opcode description table with NMOS illegals              */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 85a420fd07c542cb23c716ba20b982c7049259cd..e086f87ae11093379b5914d527361b7964b4f70c 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc6502.h                                 */
+/*                                 opc6502.h                                 */
 /*                                                                           */
 /*             6502 opcode description table with NMOS illegals              */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index b5afbcacfa20315f3ae062074269f2387d489ace..520aafefbd9e524ef66b5dd9e81f6845c3102b71 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc65816.c                                */
+/*                                 opc65816.c                                */
 /*                                                                           */
 /*                       65816 opcode description table                      */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 4bf5a9c2249a2883a296a812f993ad254e5a1141..4b0ac21f46392590d34f12b3da57c00cc93ee072 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc65816.h                                */
+/*                                 opc65816.h                                */
 /*                                                                           */
 /*                       65816 opcode description table                      */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index a451e5272d195a65f3605c1818c4d67b4ce8f625..5d29a36de60eb75e6a75d8b6cd8dc074c910bac3 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc65c02.c                                */
+/*                                 opc65c02.c                                */
 /*                                                                           */
 /*                       65C02 opcode description table                      */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index e60148e0892dbdcc88a5acde6cf5924643078004..2addf5861695ad58f8fdf1d3c3516f788dfc72b0 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opc65c02.h                                */
+/*                                 opc65c02.h                                */
 /*                                                                           */
 /*                       65C02 opcode description table                      */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 5f447dd3e67b61ea7eef1ec8bdb4b1260526dac8..236a9ee34f27f0861d3ed59b5ca12ae565cae77a 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               opc65sc02.c                                */
+/*                                opc65sc02.c                                */
 /*                                                                           */
 /*                      65SC02 opcode description table                      */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index cd08760eef0edbd5510aa3b2a257c28ead159da2..e9cd30a21c643ac0a0a1d75b0fa7087863e9d52f 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               opc65sc02.h                                */
+/*                                opc65sc02.h                                */
 /*                                                                           */
 /*                      65SC02 opcode description table                      */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 9ff339fa5262d69e16ffa83e29013c86693f632e..093e71c9d337a53d1699a18e04ab1bcc26bffa11 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                opcdesc.h                                 */
+/*                                 opcdesc.h                                 */
 /*                                                                           */
 /*                  Disassembler description for one opcode                  */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Constants for Flags */
 enum {
     flNone          = 0x00,                     /* No flags given */
-    flNoLabel      = 0x00,                     /* Don't use a label */
-    flGenLabel             = 0x01,                     /* Generate a label */
-    flUseLabel     = 0x02,                     /* Use a label if there is one */
-    flLabel                = flUseLabel|flGenLabel,    /* Generate and use a label */
+    flNoLabel       = 0x00,                     /* Don't use a label */
+    flGenLabel      = 0x01,                     /* Generate a label */
+    flUseLabel      = 0x02,                     /* Use a label if there is one */
+    flLabel         = flUseLabel|flGenLabel,    /* Generate and use a label */
     flIllegal       = 0x10,                     /* Illegal instruction */
     flAbsOverride   = 0x20,                     /* Need a: override */
     flFarOverride   = 0x40                      /* Need f: override */
@@ -64,10 +64,10 @@ typedef void (*OpcHandler) (const OpcDesc*);
 
 /* Description for one opcode */
 struct OpcDesc {
-    char                       Mnemo [6];      /* Mnemonic */
-    unsigned char      Size;           /* Size of this command */
-    unsigned char              Flags;          /* Flags */
-    OpcHandler         Handler;        /* Handler routine */
+    char                Mnemo [6];      /* Mnemonic */
+    unsigned char       Size;           /* Size of this command */
+    unsigned char       Flags;          /* Flags */
+    OpcHandler          Handler;        /* Handler routine */
 };
 
 
index de37c41d259dd2b3685c13e8f73a1f410d5f60d4..df6ba587b8eb7e3334948ab69b9961aaed94067c 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               opchuc6280.c                               */
+/*                                opchuc6280.c                               */
 /*                                                                           */
 /*                     HuC6280 opcode description table                      */
 /*                                                                           */
@@ -40,7 +40,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 7bc72156c607a14705049ed5d9aa9a395235ea70..26f5390a8e74a5d8425e835840d704b655487712 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               opchuc6280.h                               */
+/*                                opchuc6280.h                               */
 /*                                                                           */
 /*                     HuC6280 opcode description table                      */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 35940f7b98ac5225639ab83d2f2f412a84ce0562..2a20405152c2742bd7b714046958d5a902313106 100644 (file)
@@ -41,7 +41,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 20d9ee69afd6fd1c794fc5124754cbbdb83e0b12..edfa20c8d9df09376ac3695225001756e0337826 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index e29b66e7ee7194b4f698350b3e034b4bb882b7b7..e44294b1e4295e349fbfd9196e1ef1a25712eacb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               opctable.c                                 */
+/*                                opctable.c                                 */
 /*                                                                           */
-/*                  Disassembler opcode description table                   */
+/*                   Disassembler opcode description table                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ const OpcDesc* OpcTable = OpcTable_6502;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a576865be6bcd854bb5b5969653b52c606e6899b..2835fba015373d6aba4aa1cb67858026c1de315a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               opctable.h                                 */
+/*                                opctable.h                                 */
 /*                                                                           */
-/*                  Disassembler opcode description table                   */
+/*                   Disassembler opcode description table                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ extern const OpcDesc* OpcTable;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 48db5ee20e1379947bc2f4731fca571ab9ee35bb..3bfebc428f202f1dab3c7ae85fed179c5b4e9dfc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                output.c                                  */
+/*                                 output.c                                  */
 /*                                                                           */
-/*                      Disassembler output routines                        */
+/*                       Disassembler output routines                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-static FILE*   F       = 0;            /* Output stream */
-static unsigned        Col     = 1;            /* Current column */
-static unsigned Line           = 0;            /* Current line on page */
-static unsigned Page   = 1;            /* Current output page */
+static FILE*    F       = 0;            /* Output stream */
+static unsigned Col     = 1;            /* Current column */
+static unsigned Line    = 0;            /* Current line on page */
+static unsigned Page    = 1;            /* Current output page */
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -75,14 +75,14 @@ static void PageHeader (void)
 /* Print a page header */
 {
     fprintf (F,
-                    "; da65 V%s\n"
+             "; da65 V%s\n"
              "; Created:    %s\n"
-            "; Input file: %s\n"
-            "; Page:       %u\n\n",
-                    GetVersionAsString (),
+             "; Input file: %s\n"
+             "; Page:       %u\n\n",
+             GetVersionAsString (),
              Now,
-            InFile,
-            Page);
+             InFile,
+             Page);
 }
 
 
@@ -112,7 +112,7 @@ void CloseOutput (void)
 /* Close the output file */
 {
     if (F != stdout && fclose (F) != 0) {
-       Error ("Error closing output file: %s", strerror (errno));
+        Error ("Error closing output file: %s", strerror (errno));
     }
 }
 
@@ -122,10 +122,10 @@ void Output (const char* Format, ...)
 /* Write to the output file */
 {
     if (Pass == PassCount) {
-       va_list ap;
-       va_start (ap, Format);
-       Col += vfprintf (F, Format, ap);
-       va_end (ap);
+        va_list ap;
+        va_start (ap, Format);
+        Col += vfprintf (F, Format, ap);
+        va_end (ap);
     }
 }
 
@@ -135,10 +135,10 @@ void Indent (unsigned N)
 /* Make sure the current line column is at position N (zero based) */
 {
     if (Pass == PassCount) {
-       while (Col < N) {
-           fputc (' ', F);
-           ++Col;
-       }
+        while (Col < N) {
+            fputc (' ', F);
+            ++Col;
+        }
     }
 }
 
@@ -148,16 +148,16 @@ void LineFeed (void)
 /* Add a linefeed to the output file */
 {
     if (Pass == PassCount) {
-       fputc ('\n', F);
-               if (PageLength > 0 && ++Line >= PageLength) {
-           if (FormFeeds) {
-               fputc ('\f', F);
-           }
-           ++Page;
-           PageHeader ();
-           Line = 5;
-       }
-       Col = 1;
+        fputc ('\n', F);
+        if (PageLength > 0 && ++Line >= PageLength) {
+            if (FormFeeds) {
+                fputc ('\f', F);
+            }
+            ++Page;
+            PageHeader ();
+            Line = 5;
+        }
+        Col = 1;
     }
 }
 
@@ -171,7 +171,7 @@ void DefLabel (const char* Name)
      * the opcode column, start a new line.
      */
     if (Col > LBreak+2 || Col > MCol) {
-       LineFeed ();
+        LineFeed ();
     }
 }
 
@@ -249,11 +249,11 @@ void DataByteLine (unsigned ByteCount)
     Output (".byte");
     Indent (ACol);
     for (I = 0; I < ByteCount; ++I) {
-       if (I > 0) {
-           Output (",$%02X", CodeBuf[PC+I]);
-       } else {
-           Output ("$%02X", CodeBuf[PC+I]);
-       }
+        if (I > 0) {
+            Output (",$%02X", CodeBuf[PC+I]);
+        } else {
+            Output ("$%02X", CodeBuf[PC+I]);
+        }
     }
     LineComment (PC, ByteCount);
     LineFeed ();
@@ -270,11 +270,11 @@ void DataDByteLine (unsigned ByteCount)
     Output (".dbyt");
     Indent (ACol);
     for (I = 0; I < ByteCount; I += 2) {
-       if (I > 0) {
-                   Output (",$%04X", GetCodeDByte (PC+I));
-       } else {
-           Output ("$%04X", GetCodeDByte (PC+I));
-       }
+        if (I > 0) {
+            Output (",$%04X", GetCodeDByte (PC+I));
+        } else {
+            Output ("$%04X", GetCodeDByte (PC+I));
+        }
     }
     LineComment (PC, ByteCount);
     LineFeed ();
@@ -291,11 +291,11 @@ void DataWordLine (unsigned ByteCount)
     Output (".word");
     Indent (ACol);
     for (I = 0; I < ByteCount; I += 2) {
-       if (I > 0) {
-           Output (",$%04X", GetCodeWord (PC+I));
-       } else {
-           Output ("$%04X", GetCodeWord (PC+I));
-       }
+        if (I > 0) {
+            Output (",$%04X", GetCodeWord (PC+I));
+        } else {
+            Output ("$%04X", GetCodeWord (PC+I));
+        }
     }
     LineComment (PC, ByteCount);
     LineFeed ();
@@ -312,11 +312,11 @@ void DataDWordLine (unsigned ByteCount)
     Output (".dword");
     Indent (ACol);
     for (I = 0; I < ByteCount; I += 4) {
-       if (I > 0) {
-           Output (",$%08lX", GetCodeDWord (PC+I));
-       } else {
-           Output ("$%08lX", GetCodeDWord (PC+I));
-       }
+        if (I > 0) {
+            Output (",$%08lX", GetCodeDWord (PC+I));
+        } else {
+            Output ("$%08lX", GetCodeDWord (PC+I));
+        }
     }
     LineComment (PC, ByteCount);
     LineFeed ();
@@ -328,8 +328,8 @@ void SeparatorLine (void)
 /* Print a separator line */
 {
     if (Pass == PassCount && Comments >= 1) {
-       Output ("; ----------------------------------------------------------------------------");
-       LineFeed ();
+        Output ("; ----------------------------------------------------------------------------");
+        LineFeed ();
     }
 }
 
@@ -350,23 +350,23 @@ void LineComment (unsigned PC, unsigned Count)
     unsigned I;
 
     if (Pass == PassCount && Comments >= 2) {
-       Indent (CCol);
-       Output ("; %04X", PC);
-       if (Comments >= 3) {
-           for (I = 0; I < Count; ++I) {
-               Output (" %02X", CodeBuf [PC+I]);
-           }
-           if (Comments >= 4) {
-               Indent (TCol);
-               for (I = 0; I < Count; ++I) {
-                   unsigned char C = CodeBuf [PC+I];
-                   if (!isprint (C)) {
-                       C = '.';
-                   }
-                   Output ("%c", C);
-               }
-           }
-       }
+        Indent (CCol);
+        Output ("; %04X", PC);
+        if (Comments >= 3) {
+            for (I = 0; I < Count; ++I) {
+                Output (" %02X", CodeBuf [PC+I]);
+            }
+            if (Comments >= 4) {
+                Indent (TCol);
+                for (I = 0; I < Count; ++I) {
+                    unsigned char C = CodeBuf [PC+I];
+                    if (!isprint (C)) {
+                        C = '.';
+                    }
+                    Output ("%c", C);
+                }
+            }
+        }
     }
 }
 
index 37c0915c8d68ee97196f079aad6d40cfbe0c25dc..16e2ee3be39d5c0ee9337b8db71ea486034f1cb9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                output.h                                  */
+/*                                 output.h                                  */
 /*                                                                           */
-/*                      Disassembler output routines                        */
+/*                       Disassembler output routines                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 176a6869ea3d2d15ac4de38c00521182a2033646..dab5ffe98fd902ae46e9e8c1449b002730c33b9a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.c                                 */
+/*                                 scanner.c                                 */
 /*                                                                           */
-/*          Configuration file scanner for the da65 disassembler            */
+/*           Configuration file scanner for the da65 disassembler            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Current token and attributes */
 unsigned        InfoTok;
-char                   InfoSVal [CFG_MAX_IDENT_LEN+1];
+char            InfoSVal [CFG_MAX_IDENT_LEN+1];
 long            InfoIVal;
 
 /* Error location */
-unsigned               InfoErrorLine;
-unsigned               InfoErrorCol;
+unsigned                InfoErrorLine;
+unsigned                InfoErrorCol;
 
 /* Input sources for the configuration */
-static const char*             InfoFile        = 0;
+static const char*      InfoFile        = 0;
 
 /* Other input stuff */
-static int                     C               = ' ';
-static unsigned                InputLine       = 1;
-static unsigned                InputCol        = 0;
-static FILE*                   InputFile       = 0;
+static int              C               = ' ';
+static unsigned         InputLine       = 1;
+static unsigned         InputCol        = 0;
+static FILE*            InputFile       = 0;
 
 
 
 /*****************************************************************************/
-/*                             Error handling                               */
+/*                              Error handling                               */
 /*****************************************************************************/
 
 
@@ -112,7 +112,7 @@ void InfoError (const char* Format, ...)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -125,13 +125,13 @@ static void NextChar (void)
 
     /* Count columns */
     if (C != EOF) {
-       ++InputCol;
+        ++InputCol;
     }
 
     /* Count lines */
     if (C == '\n') {
-       ++InputLine;
-       InputCol = 0;
+        ++InputLine;
+        InputCol = 0;
     }
 }
 
@@ -141,9 +141,9 @@ static unsigned DigitVal (int C)
 /* Return the value for a numeric digit */
 {
     if (IsDigit (C)) {
-       return C - '0';
+        return C - '0';
     } else {
-       return toupper (C) - 'A' + 10;
+        return toupper (C) - 'A' + 10;
     }
 }
 
@@ -153,12 +153,12 @@ void InfoNextTok (void)
 /* Read the next token from the input stream */
 {
     unsigned I;
-    int             Esc;
+    int      Esc;
 
 Again:
     /* Skip whitespace */
     while (IsSpace (C)) {
-       NextChar ();
+        NextChar ();
     }
 
     /* Remember the current position */
@@ -168,110 +168,110 @@ Again:
     /* Identifier? */
     if (C == '_' || IsAlpha (C)) {
 
-       /* Read the identifier */
-       I = 0;
-       while (C == '_' || IsAlNum (C)) {
-           if (I < CFG_MAX_IDENT_LEN) {
-               InfoSVal [I++] = C;
-           }
-           NextChar ();
-       }
-       InfoSVal [I] = '\0';
-       InfoTok = INFOTOK_IDENT;
-       return;
+        /* Read the identifier */
+        I = 0;
+        while (C == '_' || IsAlNum (C)) {
+            if (I < CFG_MAX_IDENT_LEN) {
+                InfoSVal [I++] = C;
+            }
+            NextChar ();
+        }
+        InfoSVal [I] = '\0';
+        InfoTok = INFOTOK_IDENT;
+        return;
     }
 
     /* Hex number? */
     if (C == '$') {
-       NextChar ();
-       if (!IsXDigit (C)) {
-           InfoError ("Hex digit expected");
-       }
-       InfoIVal = 0;
-       while (IsXDigit (C)) {
-                   InfoIVal = InfoIVal * 16 + DigitVal (C);
-           NextChar ();
-       }
-       InfoTok = INFOTOK_INTCON;
-       return;
+        NextChar ();
+        if (!IsXDigit (C)) {
+            InfoError ("Hex digit expected");
+        }
+        InfoIVal = 0;
+        while (IsXDigit (C)) {
+            InfoIVal = InfoIVal * 16 + DigitVal (C);
+            NextChar ();
+        }
+        InfoTok = INFOTOK_INTCON;
+        return;
     }
 
     /* Decimal number? */
     if (IsDigit (C)) {
-       InfoIVal = 0;
-       while (IsDigit (C)) {
-                   InfoIVal = InfoIVal * 10 + DigitVal (C);
-           NextChar ();
-       }
-       InfoTok = INFOTOK_INTCON;
-       return;
+        InfoIVal = 0;
+        while (IsDigit (C)) {
+            InfoIVal = InfoIVal * 10 + DigitVal (C);
+            NextChar ();
+        }
+        InfoTok = INFOTOK_INTCON;
+        return;
     }
 
     /* Other characters */
     switch (C) {
 
-       case '{':
-           NextChar ();
-           InfoTok = INFOTOK_LCURLY;
-           break;
+        case '{':
+            NextChar ();
+            InfoTok = INFOTOK_LCURLY;
+            break;
 
-       case '}':
-           NextChar ();
-           InfoTok = INFOTOK_RCURLY;
-           break;
+        case '}':
+            NextChar ();
+            InfoTok = INFOTOK_RCURLY;
+            break;
 
-       case ';':
-           NextChar ();
-           InfoTok = INFOTOK_SEMI;
-           break;
+        case ';':
+            NextChar ();
+            InfoTok = INFOTOK_SEMI;
+            break;
 
-       case '.':
-           NextChar ();
-           InfoTok = INFOTOK_DOT;
-           break;
+        case '.':
+            NextChar ();
+            InfoTok = INFOTOK_DOT;
+            break;
 
-       case ',':
-           NextChar ();
-           InfoTok = INFOTOK_COMMA;
-           break;
+        case ',':
+            NextChar ();
+            InfoTok = INFOTOK_COMMA;
+            break;
 
-       case '=':
-           NextChar ();
-           InfoTok = INFOTOK_EQ;
-           break;
+        case '=':
+            NextChar ();
+            InfoTok = INFOTOK_EQ;
+            break;
 
         case ':':
-           NextChar ();
-           InfoTok = INFOTOK_COLON;
-           break;
+            NextChar ();
+            InfoTok = INFOTOK_COLON;
+            break;
 
         case '\"':
-           NextChar ();
-           I = 0;
-           while (C != '\"') {
-               Esc = (C == '\\');
-               if (Esc) {
-                   NextChar ();
-               }
-               if (C == EOF || C == '\n') {
-                   InfoError ("Unterminated string");
-               }
-               if (Esc) {
-                   switch (C) {
-                       case '\"':      C = '\"';       break;
-                       case '\'':      C = '\'';       break;
-                       default:        InfoError ("Invalid escape char: %c", C);
-                   }
-               }
-               if (I < CFG_MAX_IDENT_LEN) {
-                   InfoSVal [I++] = C;
-               }
-               NextChar ();
-           }
-                   NextChar ();
-           InfoSVal [I] = '\0';
-           InfoTok = INFOTOK_STRCON;
-           break;
+            NextChar ();
+            I = 0;
+            while (C != '\"') {
+                Esc = (C == '\\');
+                if (Esc) {
+                    NextChar ();
+                }
+                if (C == EOF || C == '\n') {
+                    InfoError ("Unterminated string");
+                }
+                if (Esc) {
+                    switch (C) {
+                        case '\"':      C = '\"';       break;
+                        case '\'':      C = '\'';       break;
+                        default:        InfoError ("Invalid escape char: %c", C);
+                    }
+                }
+                if (I < CFG_MAX_IDENT_LEN) {
+                    InfoSVal [I++] = C;
+                }
+                NextChar ();
+            }
+            NextChar ();
+            InfoSVal [I] = '\0';
+            InfoTok = INFOTOK_STRCON;
+            break;
 
         case '\'':
             NextChar ();
@@ -288,22 +288,22 @@ Again:
             break;
 
         case '#':
-           /* Comment */
-           while (C != '\n' && C != EOF) {
-               NextChar ();
-           }
-           if (C != EOF) {
-               goto Again;
-           }
-           InfoTok = INFOTOK_EOF;
-           break;
+            /* Comment */
+            while (C != '\n' && C != EOF) {
+                NextChar ();
+            }
+            if (C != EOF) {
+                goto Again;
+            }
+            InfoTok = INFOTOK_EOF;
+            break;
 
         case EOF:
-           InfoTok = INFOTOK_EOF;
-           break;
+            InfoTok = INFOTOK_EOF;
+            break;
 
-       default:
-           InfoError ("Invalid character `%c'", C);
+        default:
+            InfoError ("Invalid character `%c'", C);
 
     }
 }
@@ -314,7 +314,7 @@ void InfoConsume (unsigned T, const char* Msg)
 /* Skip a token, print an error message if not found */
 {
     if (InfoTok != T) {
-               InfoError (Msg);
+        InfoError (Msg);
     }
     InfoNextTok ();
 }
@@ -357,7 +357,7 @@ void InfoOptionalComma (void)
 /* Consume a comma if there is one */
 {
     if (InfoTok == INFOTOK_COMMA) {
-               InfoNextTok ();
+        InfoNextTok ();
     }
 }
 
@@ -367,7 +367,7 @@ void InfoOptionalAssign (void)
 /* Consume an equal sign if there is one */
 {
     if (InfoTok == INFOTOK_EQ) {
-               InfoNextTok ();
+        InfoNextTok ();
     }
 }
 
@@ -377,7 +377,7 @@ void InfoAssureInt (void)
 /* Make sure the next token is an integer */
 {
     if (InfoTok != INFOTOK_INTCON) {
-               InfoError ("Integer constant expected");
+        InfoError ("Integer constant expected");
     }
 }
 
@@ -387,7 +387,7 @@ void InfoAssureStr (void)
 /* Make sure the next token is a string constant */
 {
     if (InfoTok != INFOTOK_STRCON) {
-               InfoError ("String constant expected");
+        InfoError ("String constant expected");
     }
 }
 
@@ -397,7 +397,7 @@ void InfoAssureChar (void)
 /* Make sure the next token is a char constant */
 {
     if (InfoTok != INFOTOK_STRCON) {
-               InfoError ("Character constant expected");
+        InfoError ("Character constant expected");
     }
 }
 
@@ -407,7 +407,7 @@ void InfoAssureIdent (void)
 /* Make sure the next token is an identifier */
 {
     if (InfoTok != INFOTOK_IDENT) {
-               InfoError ("Identifier expected");
+        InfoError ("Identifier expected");
     }
 }
 
@@ -417,7 +417,7 @@ void InfoRangeCheck (long Lo, long Hi)
 /* Check the range of InfoIVal */
 {
     if (InfoIVal < Lo || InfoIVal > Hi) {
-       InfoError ("Range error");
+        InfoError ("Range error");
     }
 }
 
@@ -431,20 +431,20 @@ void InfoSpecialToken (const IdentTok* Table, unsigned Size, const char* Name)
     /* We need an identifier */
     if (InfoTok == INFOTOK_IDENT) {
 
-       /* Make it upper case */
-       I = 0;
-       while (InfoSVal [I]) {
-           InfoSVal [I] = toupper (InfoSVal [I]);
-           ++I;
-       }
-
-               /* Linear search */
-       for (I = 0; I < Size; ++I) {
-           if (strcmp (InfoSVal, Table [I].Ident) == 0) {
-               InfoTok = Table [I].Tok;
-               return;
-           }
-       }
+        /* Make it upper case */
+        I = 0;
+        while (InfoSVal [I]) {
+            InfoSVal [I] = toupper (InfoSVal [I]);
+            ++I;
+        }
+
+        /* Linear search */
+        for (I = 0; I < Size; ++I) {
+            if (strcmp (InfoSVal, Table [I].Ident) == 0) {
+                InfoTok = Table [I].Tok;
+                return;
+            }
+        }
 
     }
 
@@ -458,23 +458,23 @@ void InfoBoolToken (void)
 /* Map an identifier or integer to a boolean token */
 {
     static const IdentTok Booleans [] = {
-               {   "YES",      INFOTOK_TRUE     },
-       {   "NO",       INFOTOK_FALSE    },
+        {   "YES",      INFOTOK_TRUE     },
+        {   "NO",       INFOTOK_FALSE    },
         {   "TRUE",     INFOTOK_TRUE     },
         {   "FALSE",    INFOTOK_FALSE    },
-               {   "ON",       INFOTOK_TRUE     },
-       {   "OFF",      INFOTOK_FALSE    },
+        {   "ON",       INFOTOK_TRUE     },
+        {   "OFF",      INFOTOK_FALSE    },
     };
 
     /* If we have an identifier, map it to a boolean token */
     if (InfoTok == INFOTOK_IDENT) {
-       InfoSpecialToken (Booleans, ENTRY_COUNT (Booleans), "Boolean");
+        InfoSpecialToken (Booleans, ENTRY_COUNT (Booleans), "Boolean");
     } else {
-       /* We expected an integer here */
-       if (InfoTok != INFOTOK_INTCON) {
-           InfoError ("Boolean value expected");
-       }
-       InfoTok = (InfoIVal == 0)? INFOTOK_FALSE : INFOTOK_TRUE;
+        /* We expected an integer here */
+        if (InfoTok != INFOTOK_INTCON) {
+            InfoError ("Boolean value expected");
+        }
+        InfoTok = (InfoIVal == 0)? INFOTOK_FALSE : INFOTOK_TRUE;
     }
 }
 
@@ -530,7 +530,7 @@ void InfoCloseInput (void)
     /* Close the input file if we had one */
     if (InputFile) {
         (void) fclose (InputFile);
-       InputFile = 0;
+        InputFile = 0;
     }
 }
 
index d1eeec0241fb586d75d5bbfc602a840b5a6b2b3c..46b9d29fcb54d133dfc92615132f3926010da242 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.h                                 */
+/*                                 scanner.h                                 */
 /*                                                                           */
-/*          Configuration file scanner for the da65 disassembler            */
+/*           Configuration file scanner for the da65 disassembler            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -120,27 +120,27 @@ typedef enum token_t {
 /* Mapping table entry, special identifier --> token */
 typedef struct IdentTok IdentTok;
 struct IdentTok {
-    const char*                Ident;          /* Identifier */
-    token_t            Tok;            /* Token for identifier */
+    const char*         Ident;          /* Identifier */
+    token_t             Tok;            /* Token for identifier */
 };
-#define ENTRY_COUNT(s)         (sizeof (s) / sizeof (s [0]))
+#define ENTRY_COUNT(s)  (sizeof (s) / sizeof (s [0]))
 
 
 
 /* Current token and attributes */
 #define CFG_MAX_IDENT_LEN  255
-extern unsigned                InfoTok;
-extern char                    InfoSVal[CFG_MAX_IDENT_LEN+1];
-extern long            InfoIVal;
+extern unsigned         InfoTok;
+extern char             InfoSVal[CFG_MAX_IDENT_LEN+1];
+extern long             InfoIVal;
 
 /* Error location */
-extern unsigned                InfoErrorLine;
-extern unsigned                InfoErrorCol;
+extern unsigned         InfoErrorLine;
+extern unsigned         InfoErrorCol;
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 1098efdc4d5ed81c78fbd50b69e3d35806c0a63e..479f8f973f7ed762ac8308138cb7a94a62170c93 100644 (file)
@@ -74,7 +74,7 @@ static Segment* EndTab[HASH_SIZE];      /* Table containing segment ends */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a27720beec40a47beceff5212345077fb10f13c7..b2dc264881a400699f43bb04fa71a3d4dffaf481 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f7d517c360eea2af7f3f4cb49d304a7eee463812..16bc9d9de44eef177bb3316cb7acf0d82ca31975 100644 (file)
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -84,8 +84,8 @@ union CollEntry {
 
 typedef struct Collection Collection;
 struct Collection {
-    unsigned                   Count;          /* Number of items in the list */
-    unsigned                   Size;           /* Size of allocated array */
+    unsigned            Count;          /* Number of items in the list */
+    unsigned            Size;           /* Size of allocated array */
     CollEntry*          Items;          /* Array with dynamic size */
 };
 
@@ -161,7 +161,7 @@ typedef enum {
     TOK_SCOPE,                          /* SCOPE keyword */
     TOK_SEGMENT,                        /* SEGMENT keyword */
     TOK_SIZE,                           /* SIZE keyword */
-    TOK_SPAN,                          /* SPAN keyword */
+    TOK_SPAN,                           /* SPAN keyword */
     TOK_START,                          /* START keyword */
     TOK_STATIC,                         /* STATIC keyword */
     TOK_STRUCT,                         /* STRUCT keyword */
@@ -194,14 +194,14 @@ struct DbgInfo {
     Collection          ModInfoById;    /* Module infos sorted by id */
     Collection          ScopeInfoById;  /* Scope infos sorted by id */
     Collection          SegInfoById;    /* Segment infos sorted by id */
-    Collection         SpanInfoById;   /* Span infos sorted by id */
+    Collection          SpanInfoById;   /* Span infos sorted by id */
     Collection          SymInfoById;    /* Symbol infos sorted by id */
     Collection          TypeInfoById;   /* Type infos sorted by id */
 
     /* Collections with other sort criteria */
     Collection          CSymFuncByName; /* C functions sorted by name */
     Collection          FileInfoByName; /* File infos sorted by name */
-    Collection         ModInfoByName;  /* Module info sorted by name */
+    Collection          ModInfoByName;  /* Module info sorted by name */
     Collection          ScopeInfoByName;/* Scope infos sorted by name */
     Collection          SegInfoByName;  /* Segment infos sorted by name */
     Collection          SymInfoByName;  /* Symbol infos sorted by name */
@@ -333,7 +333,7 @@ struct ScopeInfo {
         SymInfo*        Info;           /* Pointer to label symbol */
     } Label;
     CSymInfo*           CSymFunc;       /* C function for this scope */
-    Collection         SpanInfoList;   /* List of spans for this scope */
+    Collection          SpanInfoList;   /* List of spans for this scope */
     Collection          SymInfoByName;  /* Symbols in this scope */
     Collection*         CSymInfoByName; /* C symbols for this scope */
     Collection*         ChildScopeList; /* Child scopes of this scope */
@@ -356,14 +356,14 @@ struct SpanInfo {
     cc65_addr           Start;          /* Start of span */
     cc65_addr           End;            /* End of span */
     union {
-       unsigned        Id;             /* Id of segment */
-       SegInfo*        Info;           /* Pointer to segment */
+        unsigned        Id;             /* Id of segment */
+        SegInfo*        Info;           /* Pointer to segment */
     } Seg;
     union {
         unsigned        Id;             /* Id of type */
         TypeInfo*       Info;           /* Pointer to type */
     } Type;
-    Collection*                ScopeInfoList;  /* Scopes for this span */
+    Collection*         ScopeInfoList;  /* Scopes for this span */
     Collection*         LineInfoList;   /* Lines for this span */
 };
 
@@ -504,12 +504,12 @@ static void SB_Realloc (StrBuf* B, unsigned NewSize)
     /* Get the current size, use a minimum of 8 bytes */
     unsigned NewAllocated = B->Allocated;
     if (NewAllocated == 0) {
-               NewAllocated = 8;
+        NewAllocated = 8;
     }
 
     /* Round up to the next power of two */
     while (NewAllocated < NewSize) {
-               NewAllocated *= 2;
+        NewAllocated *= 2;
     }
 
     /* Reallocate the buffer. Beware: The allocated size may be zero while the
@@ -539,12 +539,12 @@ static void SB_CheapRealloc (StrBuf* B, unsigned NewSize)
     /* Get the current size, use a minimum of 8 bytes */
     unsigned NewAllocated = B->Allocated;
     if (NewAllocated == 0) {
-               NewAllocated = 8;
+        NewAllocated = 8;
     }
 
     /* Round up to the next power of two */
     while (NewAllocated < NewSize) {
-               NewAllocated *= 2;
+        NewAllocated *= 2;
     }
 
     /* Free the old buffer if there is one */
@@ -601,7 +601,7 @@ static void SB_Terminate (StrBuf* B)
 {
     unsigned NewLen = B->Len + 1;
     if (NewLen > B->Allocated) {
-               SB_Realloc (B, NewLen);
+        SB_Realloc (B, NewLen);
     }
     B->Buf[B->Len] = '\0';
 }
@@ -643,7 +643,7 @@ static void SB_AppendChar (StrBuf* B, int C)
 {
     unsigned NewLen = B->Len + 1;
     if (NewLen > B->Allocated) {
-               SB_Realloc (B, NewLen);
+        SB_Realloc (B, NewLen);
     }
     B->Buf[B->Len] = (char) C;
     B->Len = NewLen;
@@ -722,8 +722,8 @@ static void CollFree (Collection* C)
 {
     /* Accept NULL pointers */
     if (C) {
-               xfree (C->Items);
-       xfree (C);
+        xfree (C->Items);
+        xfree (C);
     }
 }
 
@@ -788,13 +788,13 @@ static void CollPrepareInsert (Collection* C, unsigned Index)
 
     /* Grow the array if necessary */
     if (C->Count >= C->Size) {
-               /* Must grow */
+        /* Must grow */
         CollGrow (C, (C->Size == 0)? 1 : C->Size * 2);
     }
 
     /* Move the existing elements if needed */
     if (C->Count != Index) {
-               memmove (C->Items+Index+1, C->Items+Index, (C->Count-Index) * sizeof (void*));
+        memmove (C->Items+Index+1, C->Items+Index, (C->Count-Index) * sizeof (void*));
     }
     ++C->Count;
 }
@@ -913,7 +913,7 @@ static unsigned CollIdAt (const Collection* C, unsigned Index)
 
 
 static void CollQuickSort (Collection* C, int Lo, int Hi,
-                                  int (*Compare) (const void*, const void*))
+                           int (*Compare) (const void*, const void*))
 /* Internal recursive sort function. */
 {
     /* Get a pointer to the items */
@@ -921,37 +921,37 @@ static void CollQuickSort (Collection* C, int Lo, int Hi,
 
     /* Quicksort */
     while (Hi > Lo) {
-               int I = Lo + 1;
-               int J = Hi;
-               while (I <= J) {
-                   while (I <= J && Compare (Items[Lo].Ptr, Items[I].Ptr) >= 0) {
-                       ++I;
-                   }
-                   while (I <= J && Compare (Items[Lo].Ptr, Items[J].Ptr) < 0) {
-                       --J;
-                   }
-                   if (I <= J) {
-                       /* Swap I and J */
-                       CollEntry Tmp = Items[I];
-                       Items[I]  = Items[J];
-                       Items[J]  = Tmp;
-                       ++I;
-                       --J;
-                   }
-               }
-               if (J != Lo) {
-                   /* Swap J and Lo */
-                   CollEntry Tmp = Items[J];
-                   Items[J]  = Items[Lo];
-                   Items[Lo] = Tmp;
-               }
-               if (J > (Hi + Lo) / 2) {
-                   CollQuickSort (C, J + 1, Hi, Compare);
-                   Hi = J - 1;
-               } else {
-                   CollQuickSort (C, Lo, J - 1, Compare);
-                   Lo = J + 1;
-               }
+        int I = Lo + 1;
+        int J = Hi;
+        while (I <= J) {
+            while (I <= J && Compare (Items[Lo].Ptr, Items[I].Ptr) >= 0) {
+                ++I;
+            }
+            while (I <= J && Compare (Items[Lo].Ptr, Items[J].Ptr) < 0) {
+                --J;
+            }
+            if (I <= J) {
+                /* Swap I and J */
+                CollEntry Tmp = Items[I];
+                Items[I]  = Items[J];
+                Items[J]  = Tmp;
+                ++I;
+                --J;
+            }
+        }
+        if (J != Lo) {
+            /* Swap J and Lo */
+            CollEntry Tmp = Items[J];
+            Items[J]  = Items[Lo];
+            Items[Lo] = Tmp;
+        }
+        if (J > (Hi + Lo) / 2) {
+            CollQuickSort (C, J + 1, Hi, Compare);
+            Hi = J - 1;
+        } else {
+            CollQuickSort (C, Lo, J - 1, Compare);
+            Lo = J + 1;
+        }
     }
 }
 
@@ -2492,9 +2492,9 @@ static int DigitVal (int C)
 /* Return the value for a numeric digit. Return -1 if C is invalid */
 {
     if (isdigit (C)) {
-       return C - '0';
+        return C - '0';
     } else if (isxdigit (C)) {
-       return toupper (C) - 'A' + 10;
+        return toupper (C) - 'A' + 10;
     } else {
         return -1;
     }
@@ -2562,7 +2562,7 @@ static void NextToken (InputData* D)
         { "scope",      TOK_SCOPE       },
         { "seg",        TOK_SEGMENT     },
         { "size",       TOK_SIZE        },
-               { "span",       TOK_SPAN        },
+        { "span",       TOK_SPAN        },
         { "start",      TOK_START       },
         { "static",     TOK_STATIC      },
         { "struct",     TOK_STRUCT      },
@@ -2577,7 +2577,7 @@ static void NextToken (InputData* D)
 
     /* Skip whitespace */
     while (D->C == ' ' || D->C == '\t' || D->C == '\r') {
-       NextChar (D);
+        NextChar (D);
     }
 
     /* Remember the current position as start of the next token */
@@ -2589,13 +2589,13 @@ static void NextToken (InputData* D)
 
         const struct KeywordEntry* Entry;
 
-       /* Read the identifier */
+        /* Read the identifier */
         SB_Clear (&D->SVal);
-       while (D->C == '_' || isalnum (D->C)) {
+        while (D->C == '_' || isalnum (D->C)) {
             SB_AppendChar (&D->SVal, D->C);
-           NextChar (D);
-       }
-               SB_Terminate (&D->SVal);
+            NextChar (D);
+        }
+        SB_Terminate (&D->SVal);
 
         /* Search the identifier in the keyword table */
         Entry = bsearch (SB_GetConstBuf (&D->SVal),
@@ -2608,7 +2608,7 @@ static void NextToken (InputData* D)
         } else {
             D->Tok = Entry->Tok;
         }
-       return;
+        return;
     }
 
     /* Number? */
@@ -2626,13 +2626,13 @@ static void NextToken (InputData* D)
         } else {
             Base = 10;
         }
-               D->IVal = 0;
+        D->IVal = 0;
         while ((Val = DigitVal (D->C)) >= 0 && Val < Base) {
-                   D->IVal = D->IVal * Base + Val;
-           NextChar (D);
-               }
-       D->Tok = TOK_INTCON;
-       return;
+            D->IVal = D->IVal * Base + Val;
+            NextChar (D);
+        }
+        D->Tok = TOK_INTCON;
+        return;
     }
 
     /* Other characters */
@@ -2648,15 +2648,15 @@ static void NextToken (InputData* D)
             D->Tok = TOK_PLUS;
             break;
 
-       case ',':
-           NextChar (D);
-           D->Tok = TOK_COMMA;
-           break;
+        case ',':
+            NextChar (D);
+            D->Tok = TOK_COMMA;
+            break;
 
-       case '=':
-           NextChar (D);
-           D->Tok = TOK_EQUAL;
-           break;
+        case '=':
+            NextChar (D);
+            D->Tok = TOK_EQUAL;
+            break;
 
         case '\"':
             SB_Clear (&D->SVal);
@@ -2675,7 +2675,7 @@ static void NextToken (InputData* D)
             }
             SB_Terminate (&D->SVal);
             D->Tok = TOK_STRCON;
-                   break;
+            break;
 
         case '\n':
             NextChar (D);
@@ -2683,11 +2683,11 @@ static void NextToken (InputData* D)
             break;
 
         case EOF:
-                   D->Tok = TOK_EOF;
-           break;
+            D->Tok = TOK_EOF;
+            break;
 
-       default:
-                   ParseError (D, CC65_ERROR, "Invalid input character `%c'", D->C);
+        default:
+            ParseError (D, CC65_ERROR, "Invalid input character `%c'", D->C);
 
     }
 }
@@ -3157,7 +3157,7 @@ static void ParseInfo (InputData* D)
 
             case TOK_FILE:
                 CollGrow (&D->Info->FileInfoById,   D->IVal);
-               CollGrow (&D->Info->FileInfoByName, D->IVal);
+                CollGrow (&D->Info->FileInfoByName, D->IVal);
                 break;
 
             case TOK_LIBRARY:
@@ -3170,7 +3170,7 @@ static void ParseInfo (InputData* D)
 
             case TOK_MODULE:
                 CollGrow (&D->Info->ModInfoById,   D->IVal);
-               CollGrow (&D->Info->ModInfoByName, D->IVal);
+                CollGrow (&D->Info->ModInfoByName, D->IVal);
                 break;
 
             case TOK_SCOPE:
@@ -3180,7 +3180,7 @@ static void ParseInfo (InputData* D)
 
             case TOK_SEGMENT:
                 CollGrow (&D->Info->SegInfoById,   D->IVal);
-               CollGrow (&D->Info->SegInfoByName, D->IVal);
+                CollGrow (&D->Info->SegInfoByName, D->IVal);
                 break;
 
             case TOK_SPAN:
@@ -3190,7 +3190,7 @@ static void ParseInfo (InputData* D)
             case TOK_SYM:
                 CollGrow (&D->Info->SymInfoById,   D->IVal);
                 CollGrow (&D->Info->SymInfoByName, D->IVal);
-               CollGrow (&D->Info->SymInfoByVal,  D->IVal);
+                CollGrow (&D->Info->SymInfoByVal,  D->IVal);
                 break;
 
             case TOK_TYPE:
@@ -3414,7 +3414,7 @@ static void ParseLine (InputData* D)
                 InfoBits |= ibLine;
                 break;
 
-           case TOK_SPAN:
+            case TOK_SPAN:
                 while (1) {
                     if (!IntConstFollows (D)) {
                         goto ErrorExit;
@@ -3640,7 +3640,7 @@ static void ParseScope (InputData* D)
     StrBuf              Name = STRBUF_INITIALIZER;
     unsigned            ModId = CC65_INV_ID;
     unsigned            ParentId = CC65_INV_ID;
-    Collection         SpanIds = COLLECTION_INITIALIZER;
+    Collection          SpanIds = COLLECTION_INITIALIZER;
     unsigned            SymId = CC65_INV_ID;
     ScopeInfo*          S;
     enum {
@@ -3651,7 +3651,7 @@ static void ParseScope (InputData* D)
         ibName          = 0x004,
         ibParentId      = 0x008,
         ibSize          = 0x010,
-       ibSpanId        = 0x020,
+        ibSpanId        = 0x020,
         ibSymId         = 0x040,
         ibType          = 0x080,
 
@@ -3669,8 +3669,8 @@ static void ParseScope (InputData* D)
         /* Something we know? */
         if (D->Tok != TOK_ID            && D->Tok != TOK_MODULE         &&
             D->Tok != TOK_NAME          && D->Tok != TOK_PARENT         &&
-            D->Tok != TOK_SIZE          && D->Tok != TOK_SPAN          &&
-           D->Tok != TOK_SYM           && D->Tok != TOK_TYPE) {
+            D->Tok != TOK_SIZE          && D->Tok != TOK_SPAN           &&
+            D->Tok != TOK_SYM           && D->Tok != TOK_TYPE) {
 
             /* Try smart error recovery */
             if (D->Tok == TOK_IDENT || TokenIsKeyword (D->Tok)) {
@@ -3738,7 +3738,7 @@ static void ParseScope (InputData* D)
                 NextToken (D);
                 break;
 
-           case TOK_SPAN:
+            case TOK_SPAN:
                 while (1) {
                     if (!IntConstFollows (D)) {
                         goto ErrorExit;
@@ -4011,14 +4011,14 @@ static void ParseSpan (InputData* D)
     unsigned        Id = 0;
     cc65_addr       Start = 0;
     cc65_addr       Size = 0;
-    unsigned       SegId = CC65_INV_ID;
+    unsigned        SegId = CC65_INV_ID;
     unsigned        TypeId = CC65_INV_ID;
     SpanInfo*       S;
     enum {
         ibNone      = 0x000,
 
         ibId        = 0x01,
-       ibSegId     = 0x02,
+        ibSegId     = 0x02,
         ibSize      = 0x04,
         ibStart     = 0x08,
         ibType      = 0x10,
@@ -4035,8 +4035,8 @@ static void ParseSpan (InputData* D)
         Token Tok;
 
         /* Something we know? */
-        if (D->Tok != TOK_ID    && D->Tok != TOK_SEGMENT       &&
-            D->Tok != TOK_SIZE         && D->Tok != TOK_START          &&
+        if (D->Tok != TOK_ID    && D->Tok != TOK_SEGMENT        &&
+            D->Tok != TOK_SIZE  && D->Tok != TOK_START          &&
             D->Tok != TOK_TYPE) {
 
             /* Try smart error recovery */
@@ -5128,7 +5128,7 @@ static void ProcessLineInfo (InputData* D)
             CollAppend (&L->File.Info->LineInfoByLine, L);
         }
 
-       /* Resolve the spans ids */
+        /* Resolve the spans ids */
         for (J = 0; J < CollCount (&L->SpanInfoList); ++J) {
 
             /* Get the id of this span */
@@ -5148,9 +5148,9 @@ static void ProcessLineInfo (InputData* D)
                 CollReplace (&L->SpanInfoList, SP, J);
 
                 /* Insert a backpointer into the span */
-               if (SP->LineInfoList == 0) {
-                   SP->LineInfoList = CollNew ();
-               }
+                if (SP->LineInfoList == 0) {
+                    SP->LineInfoList = CollNew ();
+                }
                 CollAppend (SP->LineInfoList, L);
             }
         }
@@ -5194,7 +5194,7 @@ static void ProcessModInfo (InputData* D)
         }
 
         /* Resolve the library */
-       if (M->Lib.Id == CC65_INV_ID) {
+        if (M->Lib.Id == CC65_INV_ID) {
             M->Lib.Info = 0;
         } else if (M->Lib.Id >= CollCount (&D->Info->LibInfoById)) {
             ParseError (D,
@@ -5287,7 +5287,7 @@ static void ProcessScopeInfo (InputData* D)
             S->Label.Info = CollAt (&D->Info->SymInfoById, S->Label.Id);
         }
 
-       /* Resolve the spans ids */
+        /* Resolve the spans ids */
         for (J = 0; J < CollCount (&S->SpanInfoList); ++J) {
 
             /* Get the id of this span */
@@ -5307,9 +5307,9 @@ static void ProcessScopeInfo (InputData* D)
                 CollReplace (&S->SpanInfoList, SP, J);
 
                 /* Insert a backpointer into the span */
-               if (SP->ScopeInfoList == 0) {
-                   SP->ScopeInfoList = CollNew ();
-               }
+                if (SP->ScopeInfoList == 0) {
+                    SP->ScopeInfoList = CollNew ();
+                }
                 CollAppend (SP->ScopeInfoList, S);
             }
         }
@@ -5713,9 +5713,9 @@ cc65_dbginfo cc65_read_dbginfo (const char* FileName, cc65_errorfunc ErrFunc)
                 ParseSegment (&D);
                 break;
 
-           case TOK_SPAN:
-               ParseSpan (&D);
-               break;
+            case TOK_SPAN:
+                ParseSpan (&D);
+                break;
 
             case TOK_SYM:
                 ParseSym (&D);
index c444a5168e3a81cdaae336d984188eab0a452f79..7cb7271b2fde29ebbcafe1e5bb906507862ce6af 100644 (file)
@@ -46,7 +46,7 @@ extern "C" {
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
index 650fd07458d18fb735b28eb72444f3349c5961e2..f84bdf3f48b71ce0c0bd07af509c8caab828370c 100644 (file)
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -70,7 +70,7 @@ static Collection Assertions = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cc4b7cde43be7abee8775fb12e125c28b86c1529..94125294d0ece69e8581d4398c494d40262815d4 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,7 +60,7 @@ struct ObjData;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 1a2ef4e82082b270507a29e9a43616c7d2483b6d..e864112414ea301b43e0bf92a469539682bd9e49 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  bin.c                                   */
+/*                                   bin.c                                   */
 /*                                                                           */
-/*                 Module to handle the raw binary format                   */
+/*                  Module to handle the raw binary format                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 struct BinDesc {
-    unsigned   Undef;          /* Count of undefined externals */
-    FILE*              F;              /* Output file */
+    unsigned    Undef;          /* Count of undefined externals */
+    FILE*       F;              /* Output file */
     const char* Filename;       /* Name of output file */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -84,8 +84,8 @@ BinDesc* NewBinDesc (void)
     BinDesc* D = xmalloc (sizeof (BinDesc));
 
     /* Initialize the fields */
-    D->Undef   = 0;
-    D->F       = 0;
+    D->Undef    = 0;
+    D->F        = 0;
     D->Filename = 0;
 
     /* Return the created struct */
@@ -103,8 +103,8 @@ void FreeBinDesc (BinDesc* D)
 
 
 static unsigned BinWriteExpr (ExprNode* E, int Signed, unsigned Size,
-                             unsigned long Offs attribute ((unused)),
-                             void* Data)
+                              unsigned long Offs attribute ((unused)),
+                              void* Data)
 /* Called from SegWrite for an expression. Evaluate the expression, check the
  * range and write the expression value to the file.
  */
@@ -148,20 +148,20 @@ static void BinWriteMem (BinDesc* D, MemoryArea* M)
     /* Walk over all segments in this memory area */
     for (I = 0; I < CollCount (&M->SegList); ++I) {
 
-       int DoWrite;
+        int DoWrite;
 
-       /* Get the segment */
-       SegDesc* S = CollAtUnchecked (&M->SegList, I);
+        /* Get the segment */
+        SegDesc* S = CollAtUnchecked (&M->SegList, I);
 
-       /* Keep the user happy */
-               Print (stdout, 1, "    Writing `%s'\n", GetString (S->Name));
+        /* Keep the user happy */
+        Print (stdout, 1, "    Writing `%s'\n", GetString (S->Name));
 
-       /* Writes do only occur in the load area and not for BSS segments */
-               DoWrite = (S->Flags & SF_BSS) == 0      &&      /* No BSS segment */
-                  S->Load == M                 &&      /* LOAD segment */
-                  S->Seg->Dumped == 0;                 /* Not already written */
+        /* Writes do only occur in the load area and not for BSS segments */
+        DoWrite = (S->Flags & SF_BSS) == 0      &&      /* No BSS segment */
+                   S->Load == M                 &&      /* LOAD segment */
+                   S->Seg->Dumped == 0;                 /* Not already written */
 
-       /* Output debugging stuff */
+        /* Output debugging stuff */
         PrintBoolVal ("bss", S->Flags & SF_BSS);
         PrintBoolVal ("LoadArea", S->Load == M);
         PrintBoolVal ("Dumped", S->Seg->Dumped);
@@ -169,17 +169,17 @@ static void BinWriteMem (BinDesc* D, MemoryArea* M)
         PrintNumVal  ("Address", Addr);
         PrintNumVal  ("FileOffs", (unsigned long) ftell (D->F));
 
-               /* Check if the alignment for the segment from the linker config is
+        /* Check if the alignment for the segment from the linker config is
          * a multiple for that of the segment.
          */
         if ((S->RunAlignment % S->Seg->Alignment) != 0) {
-                   /* Segment requires another alignment than configured
-            * in the linker.
-            */
-           Warning ("Segment `%s' is not aligned properly. Resulting "
+            /* Segment requires another alignment than configured
+             * in the linker.
+             */
+            Warning ("Segment `%s' is not aligned properly. Resulting "
                      "executable may not be functional.",
-                    GetString (S->Name));
-       }
+                     GetString (S->Name));
+        }
 
         /* If this is the run memory area, we must apply run alignment. If
          * this is not the run memory area but the load memory area (which
@@ -226,31 +226,31 @@ static void BinWriteMem (BinDesc* D, MemoryArea* M)
 
         }
 
-       /* Now write the segment to disk if it is not a BSS type segment and
-        * if the memory area is the load area.
-        */
-               if (DoWrite) {
+        /* Now write the segment to disk if it is not a BSS type segment and
+         * if the memory area is the load area.
+         */
+        if (DoWrite) {
             unsigned long P = ftell (D->F);
-           SegWrite (D->Filename, D->F, S->Seg, BinWriteExpr, D);
+            SegWrite (D->Filename, D->F, S->Seg, BinWriteExpr, D);
             PrintNumVal ("Wrote", (unsigned long) (ftell (D->F) - P));
-               } else if (M->Flags & MF_FILL) {
-           WriteMult (D->F, S->Seg->FillVal, S->Seg->Size);
+        } else if (M->Flags & MF_FILL) {
+            WriteMult (D->F, S->Seg->FillVal, S->Seg->Size);
             PrintNumVal ("Filled", (unsigned long) S->Seg->Size);
-       }
+        }
 
-       /* If this was the load memory area, mark the segment as dumped */
-       if (S->Load == M) {
-           S->Seg->Dumped = 1;
-               }
+        /* If this was the load memory area, mark the segment as dumped */
+        if (S->Load == M) {
+            S->Seg->Dumped = 1;
+        }
 
-       /* Calculate the new address */
-       Addr += S->Seg->Size;
+        /* Calculate the new address */
+        Addr += S->Seg->Size;
     }
 
     /* If a fill was requested, fill the remaining space */
     if ((M->Flags & MF_FILL) != 0 && M->FillLevel < M->Size) {
         unsigned long ToFill = M->Size - M->FillLevel;
-               Print (stdout, 2, "    Filling 0x%lx bytes with 0x%02x\n",
+        Print (stdout, 2, "    Filling 0x%lx bytes with 0x%02x\n",
                ToFill, M->FillVal);
         WriteMult (D->F, M->FillVal, ToFill);
         M->FillLevel = M->Size;
@@ -283,17 +283,17 @@ void BinWriteTarget (BinDesc* D, struct File* F)
     /* Check for unresolved symbols. The function BinUnresolved is called
      * if we get an unresolved symbol.
      */
-    D->Undef = 0;              /* Reset the counter */
+    D->Undef = 0;               /* Reset the counter */
     CheckUnresolvedImports (BinUnresolved, D);
     if (D->Undef > 0) {
-       /* We had unresolved symbols, cannot create output file */
-               Error ("%u unresolved external(s) found - cannot create output file", D->Undef);
+        /* We had unresolved symbols, cannot create output file */
+        Error ("%u unresolved external(s) found - cannot create output file", D->Undef);
     }
 
     /* Open the file */
     D->F = fopen (D->Filename, "wb");
     if (D->F == 0) {
-       Error ("Cannot open `%s': %s", D->Filename, strerror (errno));
+        Error ("Cannot open `%s': %s", D->Filename, strerror (errno));
     }
 
     /* Keep the user happy */
@@ -303,13 +303,13 @@ void BinWriteTarget (BinDesc* D, struct File* F)
     for (I = 0; I < CollCount (&F->MemoryAreas); ++I) {
         /* Get this entry */
         MemoryArea* M = CollAtUnchecked (&F->MemoryAreas, I);
-       Print (stdout, 1, "  Dumping `%s'\n", GetString (M->Name));
-       BinWriteMem (D, M);
+        Print (stdout, 1, "  Dumping `%s'\n", GetString (M->Name));
+        BinWriteMem (D, M);
     }
 
     /* Close the file */
     if (fclose (D->F) != 0) {
-       Error ("Cannot write to `%s': %s", D->Filename, strerror (errno));
+        Error ("Cannot write to `%s': %s", D->Filename, strerror (errno));
     }
 
     /* Reset the file and filename */
index 753f16dd4e85fa6bb0fafe6b8a7742eba9a66240..9cb5e7dd9c666853b6778c0c3668cf2b2b11432d 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  bin.h                                   */
+/*                                   bin.h                                   */
 /*                                                                           */
-/*                 Module to handle the raw binary format                   */
+/*                  Module to handle the raw binary format                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -54,7 +54,7 @@ typedef struct BinDesc BinDesc;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3419cd063c4c5cfca5a156cf3f55527f81eb083f..39a7ae3e2c0b4fd7a7b73ad498261c280446ab47 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                binfmt.c                                  */
+/*                                 binfmt.c                                  */
 /*                                                                           */
-/*              Binary format definitions for the ld65 linker               */
+/*               Binary format definitions for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Default format (depends on target system) */
-unsigned char DefaultBinFmt    = BINFMT_BINARY;
+unsigned char DefaultBinFmt     = BINFMT_BINARY;
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -66,22 +66,22 @@ int RelocatableBinFmt (unsigned Format)
 
     /* Resolve the default format */
     if (Format == BINFMT_DEFAULT) {
-       Format = DefaultBinFmt;
+        Format = DefaultBinFmt;
     }
 
     /* Check the type */
     switch (Format) {
 
-       case BINFMT_BINARY:
-           Reloc = 0;
-           break;
+        case BINFMT_BINARY:
+            Reloc = 0;
+            break;
 
-       case BINFMT_O65:
-           Reloc = 1;
-           break;
+        case BINFMT_O65:
+            Reloc = 1;
+            break;
 
-       default:
-           Internal ("Invalid format specifier: %u", Format);
+        default:
+            Internal ("Invalid format specifier: %u", Format);
 
     }
 
index 493bd7feafbdac402eb473c79ec0e8aaa25086ad..5c4bf5778072ea5a3d241a054d1c6a907a12001c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                binfmt.h                                  */
+/*                                 binfmt.h                                  */
 /*                                                                           */
-/*              Binary format definitions for the ld65 linker               */
+/*               Binary format definitions for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -50,7 +50,7 @@ extern unsigned char DefaultBinFmt;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 17f9cb57d1dbb5ae109f80a2daf30d683382e2b2..65ff3dd67777007e1d81706a0a2f547f425a47f4 100644 (file)
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -64,7 +64,7 @@ static ExprNode* Factor (void)
 
     switch (CfgTok) {
 
-       case CFGTOK_IDENT:
+        case CFGTOK_IDENT:
             /* Get the name as an id */
             Name = GetStrBufId (&CfgSVal);
 
@@ -82,11 +82,11 @@ static ExprNode* Factor (void)
             CfgNextTok ();
             break;
 
-       case CFGTOK_INTCON:
+        case CFGTOK_INTCON:
             /* An integer constant */
             N = LiteralExpr (CfgIVal, 0);
-           CfgNextTok ();
-                   break;
+            CfgNextTok ();
+            break;
 
         case CFGTOK_PLUS:
             /* Unary plus */
@@ -101,16 +101,16 @@ static ExprNode* Factor (void)
             N->Left = Factor ();
             break;
 
-               case CFGTOK_LPAR:
+        case CFGTOK_LPAR:
             /* Left parenthesis */
-                   CfgNextTok ();
-                   N = CfgExpr ();
-                   CfgConsume (CFGTOK_RPAR, "')' expected");
-                   break;
-
-               default:
-                   CfgError (&CfgErrorPos, "Invalid expression: %d", CfgTok);
-                   break;
+            CfgNextTok ();
+            N = CfgExpr ();
+            CfgConsume (CFGTOK_RPAR, "')' expected");
+            break;
+
+        default:
+            CfgError (&CfgErrorPos, "Invalid expression: %d", CfgTok);
+            break;
     }
 
     /* Return the new expression node */
@@ -238,7 +238,7 @@ long CfgCheckedConstExpr (long Min, long Max)
 
     /* Check the range */
     if (Val < Min || Val > Max) {
-       CfgError (&CfgErrorPos, "Range error");
+        CfgError (&CfgErrorPos, "Range error");
     }
 
     /* Return the value */
index 68247ca08ee8eeb4d2ab5dc35f86b80692d7a9a8..8a6e18c672132b6292b3ac5c0700018fe9c7baab 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index ebf1bdecb8162fdaa6de2c81a0d5b204f190e100..dc8383767fa54b8e0d1a005c7d28a4dbef19c470 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                condes.c                                  */
+/*                                 condes.c                                  */
 /*                                                                           */
-/*                  Module constructor/destructor support                   */
+/*                   Module constructor/destructor support                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Struct describing one condes type */
 typedef struct ConDesDesc ConDesDesc;
 struct ConDesDesc {
-    Collection         ExpList;        /* List of exported symbols */
-    unsigned            SegName;       /* Name of segment the table is in */
-    unsigned            Label;                 /* Name of table label */
-    unsigned            CountSym;      /* Name of symbol for entry count */
-    unsigned char      Order;          /* Table order (increasing/decreasing) */
+    Collection          ExpList;        /* List of exported symbols */
+    unsigned            SegName;        /* Name of segment the table is in */
+    unsigned            Label;          /* Name of table label */
+    unsigned            CountSym;       /* Name of symbol for entry count */
+    unsigned char       Order;          /* Table order (increasing/decreasing) */
     ConDesImport        Import;         /* Forced import if any */
 };
 
@@ -126,7 +126,7 @@ static ConDesDesc ConDes[CD_TYPE_COUNT] = {
 
 
 /*****************************************************************************/
-/*          Internally used function to create the condes tables            */
+/*           Internally used function to create the condes tables            */
 /*****************************************************************************/
 
 
@@ -151,19 +151,19 @@ static int ConDesCompare (void* Data, const void* E1, const void* E2)
 
     /* Compare the priorities for this condes type */
     if (Prio1 < Prio2) {
-               Cmp = -1;
+        Cmp = -1;
     } else if (Prio1 > Prio2) {
-       Cmp = 1;
+        Cmp = 1;
     } else {
-       /* Use the name in this case */
-               Cmp = SB_Compare (GetStrBuf (Exp1->Name), GetStrBuf (Exp2->Name));
+        /* Use the name in this case */
+        Cmp = SB_Compare (GetStrBuf (Exp1->Name), GetStrBuf (Exp2->Name));
     }
 
     /* Reverse the result for decreasing order */
     if (CD->Order == cdIncreasing) {
-       return Cmp;
+        return Cmp;
     } else {
-       return -Cmp;
+        return -Cmp;
     }
 }
 
@@ -172,16 +172,16 @@ static int ConDesCompare (void* Data, const void* E1, const void* E2)
 static void ConDesCreateOne (ConDesDesc* CD)
 /* Create one table if requested */
 {
-    Segment*   Seg;            /* Segment for table */
-    Section*   Sec;            /* Section for table */
-    unsigned   Count;          /* Number of exports */
-    unsigned   I;
+    Segment*    Seg;            /* Segment for table */
+    Section*    Sec;            /* Section for table */
+    unsigned    Count;          /* Number of exports */
+    unsigned    I;
 
     /* Check if this table has a segment and table label defined. If not,
      * creation was not requested in the config file - ignore it.
      */
     if (CD->SegName == INVALID_STRING_ID || CD->Label == INVALID_STRING_ID) {
-       return;
+        return;
     }
 
     /* Check if there is an import for the table label. If not, there is no
@@ -189,7 +189,7 @@ static void ConDesCreateOne (ConDesDesc* CD)
      * table.
      */
     if (!IsUnresolved (CD->Label)) {
-       return;
+        return;
     }
 
     /* Sort the collection of exports according to priority */
@@ -209,14 +209,14 @@ static void ConDesCreateOne (ConDesDesc* CD)
     Count = CollCount (&CD->ExpList);
     for (I = 0; I < Count; ++I) {
 
-       /* Get the export */
-       Export* E = CollAt (&CD->ExpList, I);
+        /* Get the export */
+        Export* E = CollAt (&CD->ExpList, I);
 
-       /* Create the fragment */
-       Fragment* F = NewFragment (FRAG_EXPR, 2, Sec);
+        /* Create the fragment */
+        Fragment* F = NewFragment (FRAG_EXPR, 2, Sec);
 
-       /* Set the expression pointer */
-       F->Expr = E->Expr;
+        /* Set the expression pointer */
+        F->Expr = E->Expr;
     }
 
     /* Define the table start as an export, offset into section is zero
@@ -228,14 +228,14 @@ static void ConDesCreateOne (ConDesDesc* CD)
      * with the number of elements in the table.
      */
     if (CD->CountSym) {
-       CreateConstExport (CD->CountSym, Count);
+        CreateConstExport (CD->CountSym, Count);
     }
 }
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -247,10 +247,10 @@ void ConDesAddExport (struct Export* E)
 
     /* Insert the export into all tables for which declarations exist */
     for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
-       unsigned Prio = E->ConDes[Type];
-       if (Prio != CD_PRIO_NONE) {
-                   CollAppend (&ConDes[Type].ExpList, E);
-       }
+        unsigned Prio = E->ConDes[Type];
+        if (Prio != CD_PRIO_NONE) {
+            CollAppend (&ConDes[Type].ExpList, E);
+        }
     }
 }
 
@@ -374,7 +374,7 @@ void ConDesCreate (void)
 
     /* Walk over the descriptor array and create a table for each entry */
     for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
-       ConDesCreateOne (ConDes + Type);
+        ConDesCreateOne (ConDes + Type);
     }
 }
 
@@ -385,8 +385,8 @@ void ConDesDump (void)
 {
     unsigned Type;
     for (Type = 0; Type < CD_TYPE_COUNT; ++Type) {
-               Collection* ExpList = &ConDes[Type].ExpList;
-       printf ("CONDES(%u): %u symbols\n", Type, CollCount (ExpList));
+        Collection* ExpList = &ConDes[Type].ExpList;
+        printf ("CONDES(%u): %u symbols\n", Type, CollCount (ExpList));
     }
 }
 
index 8ff2687f34509266b86e7b954ff36b23197cbecb..3cec6bda9254feb61c2bd4f192f8015c6189f97a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                condes.h                                  */
+/*                                 condes.h                                  */
 /*                                                                           */
-/*                  Module constructor/destructor support                   */
+/*                   Module constructor/destructor support                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -54,15 +54,15 @@ struct Export;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Order of the tables */
 typedef enum {
-    cdIncreasing,              /* Increasing priority - default */
-    cdDecreasing               /* Decreasing priority */
+    cdIncreasing,               /* Increasing priority - default */
+    cdDecreasing                /* Decreasing priority */
 } ConDesOrder;
 
 /* Data for a forced condes import */
@@ -76,7 +76,7 @@ struct ConDesImport {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 70fa63b545f064c329c7fcda08283f495c9eaedb..76518cafdf5957a6205f80116dfa95d2bf4d9fcb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                config.c                                  */
+/*                                 config.c                                  */
 /*                                                                           */
-/*              Target configuration file for the ld65 linker               */
+/*               Target configuration file for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -72,7 +72,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -97,27 +97,27 @@ static Collection       FileList = STATIC_COLLECTION_INITIALIZER;
 static Collection       MemoryAreas = STATIC_COLLECTION_INITIALIZER;
 
 /* Memory attributes */
-#define MA_START               0x0001
-#define MA_SIZE                0x0002
-#define MA_TYPE                0x0004
-#define MA_FILE                0x0008
-#define MA_DEFINE              0x0010
-#define MA_FILL                0x0020
-#define MA_FILLVAL             0x0040
+#define MA_START        0x0001
+#define MA_SIZE         0x0002
+#define MA_TYPE         0x0004
+#define MA_FILE         0x0008
+#define MA_DEFINE       0x0010
+#define MA_FILL         0x0020
+#define MA_FILLVAL      0x0040
 #define MA_BANK         0x0080
 
 /* Segment list */
 static Collection       SegDescList = STATIC_COLLECTION_INITIALIZER;
 
 /* Segment attributes */
-#define SA_TYPE                0x0001
-#define SA_LOAD                0x0002
-#define SA_RUN         0x0004
-#define SA_ALIGN       0x0008
+#define SA_TYPE         0x0001
+#define SA_LOAD         0x0002
+#define SA_RUN          0x0004
+#define SA_ALIGN        0x0008
 #define SA_ALIGN_LOAD   0x0010
-#define SA_DEFINE      0x0020
-#define SA_OFFSET      0x0040
-#define SA_START       0x0080
+#define SA_DEFINE       0x0020
+#define SA_OFFSET       0x0040
+#define SA_START        0x0080
 #define SA_OPTIONAL     0x0100
 #define SA_FILLVAL      0x0200
 
@@ -147,13 +147,13 @@ struct CfgSymbol {
 static Collection       CfgSymbols = STATIC_COLLECTION_INITIALIZER;
 
 /* Descriptor holding information about the binary formats */
-static BinDesc*        BinFmtDesc      = 0;
-static O65Desc* O65FmtDesc     = 0;
+static BinDesc* BinFmtDesc      = 0;
+static O65Desc* O65FmtDesc      = 0;
 
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -164,7 +164,7 @@ static File* NewFile (unsigned Name);
 
 
 /*****************************************************************************/
-/*                             List management                              */
+/*                              List management                              */
 /*****************************************************************************/
 
 
@@ -175,9 +175,9 @@ static File* FindFile (unsigned Name)
     unsigned I;
     for (I = 0; I < CollCount (&FileList); ++I) {
         File* F = CollAtUnchecked (&FileList, I);
-               if (F->Name == Name) {
-                   return F;
-               }
+        if (F->Name == Name) {
+            return F;
+        }
     }
     return 0;
 }
@@ -189,8 +189,8 @@ static File* GetFile (unsigned Name)
 {
     File* F = FindFile (Name);
     if (F == 0) {
-       /* Create a new one */
-       F = NewFile (Name);
+        /* Create a new one */
+        F = NewFile (Name);
     }
     return F;
 }
@@ -212,9 +212,9 @@ static MemoryArea* CfgFindMemory (unsigned Name)
     unsigned I;
     for (I = 0; I < CollCount (&MemoryAreas); ++I) {
         MemoryArea* M = CollAtUnchecked (&MemoryAreas, I);
-               if (M->Name == Name) {
-                   return M;
-               }
+        if (M->Name == Name) {
+            return M;
+        }
     }
     return 0;
 }
@@ -226,7 +226,7 @@ static MemoryArea* CfgGetMemory (unsigned Name)
 {
     MemoryArea* M = CfgFindMemory (Name);
     if (M == 0) {
-       CfgError (&CfgErrorPos, "Invalid memory area `%s'", GetString (Name));
+        CfgError (&CfgErrorPos, "Invalid memory area `%s'", GetString (Name));
     }
     return M;
 }
@@ -239,10 +239,10 @@ static SegDesc* CfgFindSegDesc (unsigned Name)
     unsigned I;
     for (I = 0; I < CollCount (&SegDescList); ++I) {
         SegDesc* S = CollAtUnchecked (&SegDescList, I);
-               if (S->Name == Name) {
-           /* Found */
-           return S;
-               }
+        if (S->Name == Name) {
+            /* Found */
+            return S;
+        }
     }
 
     /* Not found */
@@ -261,7 +261,7 @@ static void MemoryInsert (MemoryArea* M, SegDesc* S)
 
 
 /*****************************************************************************/
-/*                        Constructors/Destructors                          */
+/*                         Constructors/Destructors                          */
 /*****************************************************************************/
 
 
@@ -319,7 +319,7 @@ static MemoryArea* CreateMemoryArea (const FilePos* Pos, unsigned Name)
     /* Check for duplicate names */
     MemoryArea* M = CfgFindMemory (Name);
     if (M) {
-       CfgError (&CfgErrorPos,
+        CfgError (&CfgErrorPos,
                   "Memory area `%s' defined twice",
                   GetString (Name));
     }
@@ -343,7 +343,7 @@ static SegDesc* NewSegDesc (unsigned Name)
     /* Check for duplicate names */
     SegDesc* S = CfgFindSegDesc (Name);
     if (S) {
-       CfgError (&CfgErrorPos, "Segment `%s' defined twice", GetString (Name));
+        CfgError (&CfgErrorPos, "Segment `%s' defined twice", GetString (Name));
     }
 
     /* Allocate memory */
@@ -389,7 +389,7 @@ static void FlagAttr (unsigned* Flags, unsigned Mask, const char* Name)
  */
 {
     if (*Flags & Mask) {
-       CfgError (&CfgErrorPos, "%s is already defined", Name);
+        CfgError (&CfgErrorPos, "%s is already defined", Name);
     }
     *Flags |= Mask;
 }
@@ -400,7 +400,7 @@ static void AttrCheck (unsigned Attr, unsigned Mask, const char* Name)
 /* Check that a mandatory attribute was given */
 {
     if ((Attr & Mask) == 0) {
-       CfgError (&CfgErrorPos, "%s attribute is missing", Name);
+        CfgError (&CfgErrorPos, "%s attribute is missing", Name);
     }
 }
 
@@ -413,121 +413,121 @@ static void ParseMemory (void)
         {   "BANK",     CFGTOK_BANK     },
         {   "DEFINE",   CFGTOK_DEFINE   },
         {   "FILE",     CFGTOK_FILE     },
-       {   "FILL",     CFGTOK_FILL     },
-               {   "FILLVAL",  CFGTOK_FILLVAL  },
-       {   "SIZE",     CFGTOK_SIZE     },
-               {   "START",    CFGTOK_START    },
+        {   "FILL",     CFGTOK_FILL     },
+        {   "FILLVAL",  CFGTOK_FILLVAL  },
+        {   "SIZE",     CFGTOK_SIZE     },
+        {   "START",    CFGTOK_START    },
         {   "TYPE",     CFGTOK_TYPE     },
     };
     static const IdentTok Types [] = {
-               {   "RO",       CFGTOK_RO       },
-               {   "RW",       CFGTOK_RW       },
+        {   "RO",       CFGTOK_RO       },
+        {   "RW",       CFGTOK_RW       },
     };
 
     while (CfgTok == CFGTOK_IDENT) {
 
-       /* Create a new entry on the heap */
-               MemoryArea* M = CreateMemoryArea (&CfgErrorPos, GetStrBufId (&CfgSVal));
+        /* Create a new entry on the heap */
+        MemoryArea* M = CreateMemoryArea (&CfgErrorPos, GetStrBufId (&CfgSVal));
 
-       /* Skip the name and the following colon */
-       CfgNextTok ();
-       CfgConsumeColon ();
+        /* Skip the name and the following colon */
+        CfgNextTok ();
+        CfgConsumeColon ();
 
-               /* Read the attributes */
-       while (CfgTok == CFGTOK_IDENT) {
+        /* Read the attributes */
+        while (CfgTok == CFGTOK_IDENT) {
 
-           /* Map the identifier to a token */
-           cfgtok_t AttrTok;
-           CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
-           AttrTok = CfgTok;
+            /* Map the identifier to a token */
+            cfgtok_t AttrTok;
+            CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
+            AttrTok = CfgTok;
 
-           /* An optional assignment follows */
-           CfgNextTok ();
-           CfgOptionalAssign ();
+            /* An optional assignment follows */
+            CfgNextTok ();
+            CfgOptionalAssign ();
 
-           /* Check which attribute was given */
-           switch (AttrTok) {
+            /* Check which attribute was given */
+            switch (AttrTok) {
 
-               case CFGTOK_BANK:
-                   FlagAttr (&M->Attr, MA_BANK, "BANK");
-                   M->BankExpr = CfgExpr ();
-                   break;
+                case CFGTOK_BANK:
+                    FlagAttr (&M->Attr, MA_BANK, "BANK");
+                    M->BankExpr = CfgExpr ();
+                    break;
 
-               case CFGTOK_DEFINE:
-                   FlagAttr (&M->Attr, MA_DEFINE, "DEFINE");
-                   /* Map the token to a boolean */
-                   CfgBoolToken ();
-                   if (CfgTok == CFGTOK_TRUE) {
-                       M->Flags |= MF_DEFINE;
-                   }
+                case CFGTOK_DEFINE:
+                    FlagAttr (&M->Attr, MA_DEFINE, "DEFINE");
+                    /* Map the token to a boolean */
+                    CfgBoolToken ();
+                    if (CfgTok == CFGTOK_TRUE) {
+                        M->Flags |= MF_DEFINE;
+                    }
                     CfgNextTok ();
-                   break;
+                    break;
 
-               case CFGTOK_FILE:
-                   FlagAttr (&M->Attr, MA_FILE, "FILE");
-                   CfgAssureStr ();
-                           /* Get the file entry and insert the memory area */
-                   FileInsert (GetFile (GetStrBufId (&CfgSVal)), M);
+                case CFGTOK_FILE:
+                    FlagAttr (&M->Attr, MA_FILE, "FILE");
+                    CfgAssureStr ();
+                    /* Get the file entry and insert the memory area */
+                    FileInsert (GetFile (GetStrBufId (&CfgSVal)), M);
                     CfgNextTok ();
-                   break;
-
-               case CFGTOK_FILL:
-                   FlagAttr (&M->Attr, MA_FILL, "FILL");
-                   /* Map the token to a boolean */
-                   CfgBoolToken ();
-                   if (CfgTok == CFGTOK_TRUE) {
-                       M->Flags |= MF_FILL;
-                   }
+                    break;
+
+                case CFGTOK_FILL:
+                    FlagAttr (&M->Attr, MA_FILL, "FILL");
+                    /* Map the token to a boolean */
+                    CfgBoolToken ();
+                    if (CfgTok == CFGTOK_TRUE) {
+                        M->Flags |= MF_FILL;
+                    }
                     CfgNextTok ();
-                   break;
+                    break;
 
-               case CFGTOK_FILLVAL:
-                   FlagAttr (&M->Attr, MA_FILLVAL, "FILLVAL");
-                   M->FillVal = (unsigned char) CfgCheckedConstExpr (0, 0xFF);
-                   break;
+                case CFGTOK_FILLVAL:
+                    FlagAttr (&M->Attr, MA_FILLVAL, "FILLVAL");
+                    M->FillVal = (unsigned char) CfgCheckedConstExpr (0, 0xFF);
+                    break;
 
-               case CFGTOK_SIZE:
-                   FlagAttr (&M->Attr, MA_SIZE, "SIZE");
-                   M->SizeExpr = CfgExpr ();
-                   break;
+                case CFGTOK_SIZE:
+                    FlagAttr (&M->Attr, MA_SIZE, "SIZE");
+                    M->SizeExpr = CfgExpr ();
+                    break;
 
-               case CFGTOK_START:
-                   FlagAttr (&M->Attr, MA_START, "START");
+                case CFGTOK_START:
+                    FlagAttr (&M->Attr, MA_START, "START");
                     M->StartExpr = CfgExpr ();
-                   break;
-
-               case CFGTOK_TYPE:
-                   FlagAttr (&M->Attr, MA_TYPE, "TYPE");
-                   CfgSpecialToken (Types, ENTRY_COUNT (Types), "TYPE");
-                   if (CfgTok == CFGTOK_RO) {
-                       M->Flags |= MF_RO;
-                   }
+                    break;
+
+                case CFGTOK_TYPE:
+                    FlagAttr (&M->Attr, MA_TYPE, "TYPE");
+                    CfgSpecialToken (Types, ENTRY_COUNT (Types), "TYPE");
+                    if (CfgTok == CFGTOK_RO) {
+                        M->Flags |= MF_RO;
+                    }
                     CfgNextTok ();
-                   break;
+                    break;
 
-               default:
-                   FAIL ("Unexpected attribute token");
+                default:
+                    FAIL ("Unexpected attribute token");
 
-           }
+            }
 
-           /* Skip an optional comma */
-           CfgOptionalComma ();
-       }
+            /* Skip an optional comma */
+            CfgOptionalComma ();
+        }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
 
-       /* Check for mandatory parameters */
-               AttrCheck (M->Attr, MA_START, "START");
-       AttrCheck (M->Attr, MA_SIZE, "SIZE");
+        /* Check for mandatory parameters */
+        AttrCheck (M->Attr, MA_START, "START");
+        AttrCheck (M->Attr, MA_SIZE, "SIZE");
 
-       /* If we don't have a file name for output given, use the default
-        * file name.
-        */
-       if ((M->Attr & MA_FILE) == 0) {
-           FileInsert (GetFile (GetStringId (OutputName)), M);
-           OutputNameUsed = 1;
-       }
+        /* If we don't have a file name for output given, use the default
+         * file name.
+         */
+        if ((M->Attr & MA_FILE) == 0) {
+            FileInsert (GetFile (GetStringId (OutputName)), M);
+            OutputNameUsed = 1;
+        }
     }
 
     /* Remember we had this section */
@@ -540,12 +540,12 @@ static void ParseFiles (void)
 /* Parse a FILES section */
 {
     static const IdentTok Attributes [] = {
-               {   "FORMAT",   CFGTOK_FORMAT   },
+        {   "FORMAT",   CFGTOK_FORMAT   },
     };
     static const IdentTok Formats [] = {
-               {   "O65",      CFGTOK_O65      },
-               {   "BIN",      CFGTOK_BIN      },
-               {   "BINARY",   CFGTOK_BIN      },
+        {   "O65",      CFGTOK_O65      },
+        {   "BIN",      CFGTOK_BIN      },
+        {   "BINARY",   CFGTOK_BIN      },
     };
 
 
@@ -557,73 +557,73 @@ static void ParseFiles (void)
     /* Parse all files */
     while (CfgTok != CFGTOK_RCURLY) {
 
-       File* F;
+        File* F;
 
-       /* We expect a string value here */
-       CfgAssureStr ();
+        /* We expect a string value here */
+        CfgAssureStr ();
 
-       /* Search for the file, it must exist */
-               F = FindFile (GetStrBufId (&CfgSVal));
-       if (F == 0) {
-                   CfgError (&CfgErrorPos,
+        /* Search for the file, it must exist */
+        F = FindFile (GetStrBufId (&CfgSVal));
+        if (F == 0) {
+            CfgError (&CfgErrorPos,
                       "File `%s' not found in MEMORY section",
                       SB_GetConstBuf (&CfgSVal));
-       }
+        }
 
-       /* Skip the token and the following colon */
-       CfgNextTok ();
-       CfgConsumeColon ();
+        /* Skip the token and the following colon */
+        CfgNextTok ();
+        CfgConsumeColon ();
 
-       /* Read the attributes */
-       while (CfgTok == CFGTOK_IDENT) {
+        /* Read the attributes */
+        while (CfgTok == CFGTOK_IDENT) {
 
-           /* Map the identifier to a token */
-           cfgtok_t AttrTok;
-           CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
-           AttrTok = CfgTok;
+            /* Map the identifier to a token */
+            cfgtok_t AttrTok;
+            CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
+            AttrTok = CfgTok;
 
-           /* An optional assignment follows */
-           CfgNextTok ();
-           CfgOptionalAssign ();
+            /* An optional assignment follows */
+            CfgNextTok ();
+            CfgOptionalAssign ();
 
-           /* Check which attribute was given */
-           switch (AttrTok) {
+            /* Check which attribute was given */
+            switch (AttrTok) {
 
-               case CFGTOK_FORMAT:
-                   if (F->Format != BINFMT_DEFAULT) {
-                       /* We've set the format already! */
-                       CfgError (&CfgErrorPos,
+                case CFGTOK_FORMAT:
+                    if (F->Format != BINFMT_DEFAULT) {
+                        /* We've set the format already! */
+                        CfgError (&CfgErrorPos,
                                   "Cannot set a file format twice");
-                   }
-                   /* Read the format token */
-                   CfgSpecialToken (Formats, ENTRY_COUNT (Formats), "Format");
-                   switch (CfgTok) {
+                    }
+                    /* Read the format token */
+                    CfgSpecialToken (Formats, ENTRY_COUNT (Formats), "Format");
+                    switch (CfgTok) {
 
-                       case CFGTOK_BIN:
-                           F->Format = BINFMT_BINARY;
-                           break;
+                        case CFGTOK_BIN:
+                            F->Format = BINFMT_BINARY;
+                            break;
 
-                       case CFGTOK_O65:
-                           F->Format = BINFMT_O65;
-                           break;
+                        case CFGTOK_O65:
+                            F->Format = BINFMT_O65;
+                            break;
 
-                       default:
-                           Error ("Unexpected format token");
-                   }
-                   break;
+                        default:
+                            Error ("Unexpected format token");
+                    }
+                    break;
 
-               default:
-                   FAIL ("Unexpected attribute token");
+                default:
+                    FAIL ("Unexpected attribute token");
 
-           }
+            }
 
-           /* Skip the attribute value and an optional comma */
-           CfgNextTok ();
-           CfgOptionalComma ();
-       }
+            /* Skip the attribute value and an optional comma */
+            CfgNextTok ();
+            CfgOptionalComma ();
+        }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
 
     }
 
@@ -641,18 +641,18 @@ static void ParseSegments (void)
         {   "ALIGN_LOAD",       CFGTOK_ALIGN_LOAD       },
         {   "DEFINE",           CFGTOK_DEFINE           },
         {   "FILLVAL",          CFGTOK_FILLVAL          },
-               {   "LOAD",             CFGTOK_LOAD             },
-       {   "OFFSET",           CFGTOK_OFFSET           },
+        {   "LOAD",             CFGTOK_LOAD             },
+        {   "OFFSET",           CFGTOK_OFFSET           },
         {   "OPTIONAL",         CFGTOK_OPTIONAL         },
-       {   "RUN",              CFGTOK_RUN              },
-       {   "START",            CFGTOK_START            },
+        {   "RUN",              CFGTOK_RUN              },
+        {   "START",            CFGTOK_START            },
         {   "TYPE",             CFGTOK_TYPE             },
     };
     static const IdentTok Types [] = {
-               {   "RO",               CFGTOK_RO               },
-               {   "RW",               CFGTOK_RW               },
-               {   "BSS",              CFGTOK_BSS              },
-       {   "ZP",               CFGTOK_ZP               },
+        {   "RO",               CFGTOK_RO               },
+        {   "RW",               CFGTOK_RW               },
+        {   "BSS",              CFGTOK_BSS              },
+        {   "ZP",               CFGTOK_ZP               },
     };
 
     unsigned Count;
@@ -664,127 +664,127 @@ static void ParseSegments (void)
 
     while (CfgTok == CFGTOK_IDENT) {
 
-       SegDesc* S;
+        SegDesc* S;
 
-       /* Create a new entry on the heap */
-               S = NewSegDesc (GetStrBufId (&CfgSVal));
+        /* Create a new entry on the heap */
+        S = NewSegDesc (GetStrBufId (&CfgSVal));
 
-       /* Skip the name and the following colon */
-       CfgNextTok ();
-       CfgConsumeColon ();
+        /* Skip the name and the following colon */
+        CfgNextTok ();
+        CfgConsumeColon ();
 
-               /* Read the attributes */
-       while (CfgTok == CFGTOK_IDENT) {
+        /* Read the attributes */
+        while (CfgTok == CFGTOK_IDENT) {
 
-           /* Map the identifier to a token */
-           cfgtok_t AttrTok;
-           CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
-           AttrTok = CfgTok;
+            /* Map the identifier to a token */
+            cfgtok_t AttrTok;
+            CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
+            AttrTok = CfgTok;
 
-           /* An optional assignment follows */
-           CfgNextTok ();
-           CfgOptionalAssign ();
+            /* An optional assignment follows */
+            CfgNextTok ();
+            CfgOptionalAssign ();
 
-           /* Check which attribute was given */
-           switch (AttrTok) {
+            /* Check which attribute was given */
+            switch (AttrTok) {
 
-               case CFGTOK_ALIGN:
-                   FlagAttr (&S->Attr, SA_ALIGN, "ALIGN");
-                   S->RunAlignment = (unsigned) CfgCheckedConstExpr (1, MAX_ALIGNMENT);
-                   S->Flags |= SF_ALIGN;
-                   break;
+                case CFGTOK_ALIGN:
+                    FlagAttr (&S->Attr, SA_ALIGN, "ALIGN");
+                    S->RunAlignment = (unsigned) CfgCheckedConstExpr (1, MAX_ALIGNMENT);
+                    S->Flags |= SF_ALIGN;
+                    break;
 
                 case CFGTOK_ALIGN_LOAD:
-                   FlagAttr (&S->Attr, SA_ALIGN_LOAD, "ALIGN_LOAD");
-                   S->LoadAlignment = (unsigned) CfgCheckedConstExpr (1, MAX_ALIGNMENT);
-                   S->Flags |= SF_ALIGN_LOAD;
-                   break;
-
-               case CFGTOK_DEFINE:
-                   FlagAttr (&S->Attr, SA_DEFINE, "DEFINE");
-                   /* Map the token to a boolean */
-                   CfgBoolToken ();
-                   if (CfgTok == CFGTOK_TRUE) {
-                       S->Flags |= SF_DEFINE;
-                   }
+                    FlagAttr (&S->Attr, SA_ALIGN_LOAD, "ALIGN_LOAD");
+                    S->LoadAlignment = (unsigned) CfgCheckedConstExpr (1, MAX_ALIGNMENT);
+                    S->Flags |= SF_ALIGN_LOAD;
+                    break;
+
+                case CFGTOK_DEFINE:
+                    FlagAttr (&S->Attr, SA_DEFINE, "DEFINE");
+                    /* Map the token to a boolean */
+                    CfgBoolToken ();
+                    if (CfgTok == CFGTOK_TRUE) {
+                        S->Flags |= SF_DEFINE;
+                    }
                     CfgNextTok ();
-                   break;
+                    break;
 
                 case CFGTOK_FILLVAL:
-                   FlagAttr (&S->Attr, SA_FILLVAL, "FILLVAL");
-                   S->FillVal = (unsigned char) CfgCheckedConstExpr (0, 0xFF);
+                    FlagAttr (&S->Attr, SA_FILLVAL, "FILLVAL");
+                    S->FillVal = (unsigned char) CfgCheckedConstExpr (0, 0xFF);
                     S->Flags |= SF_FILLVAL;
-                   break;
+                    break;
 
-               case CFGTOK_LOAD:
-                   FlagAttr (&S->Attr, SA_LOAD, "LOAD");
-                   S->Load = CfgGetMemory (GetStrBufId (&CfgSVal));
+                case CFGTOK_LOAD:
+                    FlagAttr (&S->Attr, SA_LOAD, "LOAD");
+                    S->Load = CfgGetMemory (GetStrBufId (&CfgSVal));
                     CfgNextTok ();
-                   break;
-
-               case CFGTOK_OFFSET:
-                   FlagAttr (&S->Attr, SA_OFFSET, "OFFSET");
-                   S->Addr   = CfgCheckedConstExpr (1, 0x1000000);
-                   S->Flags |= SF_OFFSET;
-                   break;
-
-               case CFGTOK_OPTIONAL:
-                   FlagAttr (&S->Attr, SA_OPTIONAL, "OPTIONAL");
-                   CfgBoolToken ();
-                   if (CfgTok == CFGTOK_TRUE) {
-                       S->Flags |= SF_OPTIONAL;
-                   }
+                    break;
+
+                case CFGTOK_OFFSET:
+                    FlagAttr (&S->Attr, SA_OFFSET, "OFFSET");
+                    S->Addr   = CfgCheckedConstExpr (1, 0x1000000);
+                    S->Flags |= SF_OFFSET;
+                    break;
+
+                case CFGTOK_OPTIONAL:
+                    FlagAttr (&S->Attr, SA_OPTIONAL, "OPTIONAL");
+                    CfgBoolToken ();
+                    if (CfgTok == CFGTOK_TRUE) {
+                        S->Flags |= SF_OPTIONAL;
+                    }
                     CfgNextTok ();
-                   break;
+                    break;
 
-               case CFGTOK_RUN:
-                   FlagAttr (&S->Attr, SA_RUN, "RUN");
-                   S->Run = CfgGetMemory (GetStrBufId (&CfgSVal));
+                case CFGTOK_RUN:
+                    FlagAttr (&S->Attr, SA_RUN, "RUN");
+                    S->Run = CfgGetMemory (GetStrBufId (&CfgSVal));
                     CfgNextTok ();
-                   break;
-
-               case CFGTOK_START:
-                   FlagAttr (&S->Attr, SA_START, "START");
-                   S->Addr   = CfgCheckedConstExpr (1, 0x1000000);
-                   S->Flags |= SF_START;
-                   break;
-
-               case CFGTOK_TYPE:
-                   FlagAttr (&S->Attr, SA_TYPE, "TYPE");
-                           CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
-                   switch (CfgTok) {
-                               case CFGTOK_RO:    S->Flags |= SF_RO;               break;
-                       case CFGTOK_RW:    /* Default */                    break;
-                       case CFGTOK_BSS:   S->Flags |= SF_BSS;              break;
-                       case CFGTOK_ZP:    S->Flags |= (SF_BSS | SF_ZP);    break;
-                       default:           Internal ("Unexpected token: %d", CfgTok);
-                   }
+                    break;
+
+                case CFGTOK_START:
+                    FlagAttr (&S->Attr, SA_START, "START");
+                    S->Addr   = CfgCheckedConstExpr (1, 0x1000000);
+                    S->Flags |= SF_START;
+                    break;
+
+                case CFGTOK_TYPE:
+                    FlagAttr (&S->Attr, SA_TYPE, "TYPE");
+                    CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
+                    switch (CfgTok) {
+                        case CFGTOK_RO:    S->Flags |= SF_RO;               break;
+                        case CFGTOK_RW:    /* Default */                    break;
+                        case CFGTOK_BSS:   S->Flags |= SF_BSS;              break;
+                        case CFGTOK_ZP:    S->Flags |= (SF_BSS | SF_ZP);    break;
+                        default:           Internal ("Unexpected token: %d", CfgTok);
+                    }
                     CfgNextTok ();
-                   break;
+                    break;
 
-               default:
-                           FAIL ("Unexpected attribute token");
+                default:
+                    FAIL ("Unexpected attribute token");
 
-           }
+            }
 
-           /* Skip an optional comma */
-           CfgOptionalComma ();
-       }
+            /* Skip an optional comma */
+            CfgOptionalComma ();
+        }
 
-       /* Check for mandatory parameters */
-       AttrCheck (S->Attr, SA_LOAD, "LOAD");
+        /* Check for mandatory parameters */
+        AttrCheck (S->Attr, SA_LOAD, "LOAD");
 
-       /* Set defaults for stuff not given */
-       if ((S->Attr & SA_RUN) == 0) {
-           S->Attr |= SA_RUN;
-           S->Run = S->Load;
-       }
+        /* Set defaults for stuff not given */
+        if ((S->Attr & SA_RUN) == 0) {
+            S->Attr |= SA_RUN;
+            S->Run = S->Load;
+        }
 
         /* An attribute of ALIGN_LOAD doesn't make sense if there are no
          * separate run and load memory areas.
          */
         if ((S->Flags & SF_ALIGN_LOAD) != 0 && (S->Load == S->Run)) {
-                   CfgWarning (&CfgErrorPos,
+            CfgWarning (&CfgErrorPos,
                         "ALIGN_LOAD attribute specified, but no separate "
                         "LOAD and RUN memory areas assigned");
             /* Remove the flag */
@@ -795,31 +795,31 @@ static void ParseSegments (void)
          * load and run memory areas, because it's is never written to disk.
          */
         if ((S->Flags & SF_BSS) != 0 && (S->Load != S->Run)) {
-                   CfgWarning (&CfgErrorPos,
+            CfgWarning (&CfgErrorPos,
                         "Segment with type `bss' has both LOAD and RUN "
                         "memory areas assigned");
         }
 
-       /* Don't allow read/write data to be put into a readonly area */
-       if ((S->Flags & SF_RO) == 0) {
-                   if (S->Run->Flags & MF_RO) {
-               CfgError (&CfgErrorPos,
+        /* Don't allow read/write data to be put into a readonly area */
+        if ((S->Flags & SF_RO) == 0) {
+            if (S->Run->Flags & MF_RO) {
+                CfgError (&CfgErrorPos,
                           "Cannot put r/w segment `%s' in r/o memory area `%s'",
-                         GetString (S->Name), GetString (S->Run->Name));
-           }
-       }
-
-       /* Only one of ALIGN, START and OFFSET may be used */
-               Count = ((S->Flags & SF_ALIGN)  != 0) +
-               ((S->Flags & SF_OFFSET) != 0) +
-               ((S->Flags & SF_START)  != 0);
-       if (Count > 1) {
-                   CfgError (&CfgErrorPos,
+                          GetString (S->Name), GetString (S->Run->Name));
+            }
+        }
+
+        /* Only one of ALIGN, START and OFFSET may be used */
+        Count = ((S->Flags & SF_ALIGN)  != 0) +
+                ((S->Flags & SF_OFFSET) != 0) +
+                ((S->Flags & SF_START)  != 0);
+        if (Count > 1) {
+            CfgError (&CfgErrorPos,
                       "Only one of ALIGN, START, OFFSET may be used");
-       }
+        }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
     }
 
     /* Remember we had this section */
@@ -832,32 +832,32 @@ static void ParseO65 (void)
 /* Parse the o65 format section */
 {
     static const IdentTok Attributes [] = {
-               {   "EXPORT",   CFGTOK_EXPORT           },
-       {   "IMPORT",   CFGTOK_IMPORT           },
-        {   "TYPE",     CFGTOK_TYPE            },
-               {   "OS",       CFGTOK_OS               },
-               {   "ID",       CFGTOK_ID               },
-               {   "VERSION",  CFGTOK_VERSION          },
+        {   "EXPORT",   CFGTOK_EXPORT           },
+        {   "IMPORT",   CFGTOK_IMPORT           },
+        {   "TYPE",     CFGTOK_TYPE             },
+        {   "OS",       CFGTOK_OS               },
+        {   "ID",       CFGTOK_ID               },
+        {   "VERSION",  CFGTOK_VERSION          },
     };
     static const IdentTok Types [] = {
-               {   "SMALL",    CFGTOK_SMALL            },
-               {   "LARGE",    CFGTOK_LARGE            },
+        {   "SMALL",    CFGTOK_SMALL            },
+        {   "LARGE",    CFGTOK_LARGE            },
     };
     static const IdentTok OperatingSystems [] = {
-               {   "LUNIX",    CFGTOK_LUNIX            },
-               {   "OSA65",    CFGTOK_OSA65            },
+        {   "LUNIX",    CFGTOK_LUNIX            },
+        {   "OSA65",    CFGTOK_OSA65            },
         {   "CC65",     CFGTOK_CC65             },
         {   "OPENCBM",  CFGTOK_OPENCBM          },
     };
 
     /* Bitmask to remember the attributes we got already */
     enum {
-               atNone          = 0x0000,
-       atOS            = 0x0001,
+        atNone          = 0x0000,
+        atOS            = 0x0001,
         atOSVersion     = 0x0002,
-       atType          = 0x0004,
-       atImport        = 0x0008,
-       atExport        = 0x0010,
+        atType          = 0x0004,
+        atImport        = 0x0008,
+        atExport        = 0x0010,
         atID            = 0x0020,
         atVersion       = 0x0040
     };
@@ -870,72 +870,72 @@ static void ParseO65 (void)
     /* Read the attributes */
     while (CfgTok == CFGTOK_IDENT) {
 
-       /* Map the identifier to a token */
-       cfgtok_t AttrTok;
-               CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
-       AttrTok = CfgTok;
+        /* Map the identifier to a token */
+        cfgtok_t AttrTok;
+        CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
+        AttrTok = CfgTok;
 
-       /* An optional assignment follows */
-       CfgNextTok ();
-       CfgOptionalAssign ();
+        /* An optional assignment follows */
+        CfgNextTok ();
+        CfgOptionalAssign ();
 
-       /* Check which attribute was given */
-       switch (AttrTok) {
+        /* Check which attribute was given */
+        switch (AttrTok) {
 
-           case CFGTOK_EXPORT:
+            case CFGTOK_EXPORT:
                 /* Remember we had this token (maybe more than once) */
                 AttrFlags |= atExport;
-               /* We expect an identifier */
-               CfgAssureIdent ();
+                /* We expect an identifier */
+                CfgAssureIdent ();
                 /* Remember it as an export for later */
                 NewCfgSymbol (CfgSymO65Export, GetStrBufId (&CfgSVal));
                 /* Eat the identifier token */
                 CfgNextTok ();
-               break;
+                break;
 
-           case CFGTOK_IMPORT:
+            case CFGTOK_IMPORT:
                 /* Remember we had this token (maybe more than once) */
                 AttrFlags |= atImport;
-               /* We expect an identifier */
-               CfgAssureIdent ();
+                /* We expect an identifier */
+                CfgAssureIdent ();
                 /* Remember it as an import for later */
                 NewCfgSymbol (CfgSymO65Import, GetStrBufId (&CfgSVal));
                 /* Eat the identifier token */
                 CfgNextTok ();
-               break;
-
-           case CFGTOK_TYPE:
-               /* Cannot have this attribute twice */
-               FlagAttr (&AttrFlags, atType, "TYPE");
-               /* Get the type of the executable */
-               CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
-               switch (CfgTok) {
-
-                   case CFGTOK_SMALL:
-                       O65SetSmallModel (O65FmtDesc);
-                       break;
-
-                   case CFGTOK_LARGE:
-                       O65SetLargeModel (O65FmtDesc);
-                       break;
-
-                   default:
-                       CfgError (&CfgErrorPos, "Unexpected type token");
-               }
+                break;
+
+            case CFGTOK_TYPE:
+                /* Cannot have this attribute twice */
+                FlagAttr (&AttrFlags, atType, "TYPE");
+                /* Get the type of the executable */
+                CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
+                switch (CfgTok) {
+
+                    case CFGTOK_SMALL:
+                        O65SetSmallModel (O65FmtDesc);
+                        break;
+
+                    case CFGTOK_LARGE:
+                        O65SetLargeModel (O65FmtDesc);
+                        break;
+
+                    default:
+                        CfgError (&CfgErrorPos, "Unexpected type token");
+                }
                 /* Eat the attribute token */
                 CfgNextTok ();
-               break;
+                break;
 
-           case CFGTOK_OS:
-               /* Cannot use this attribute twice */
-               FlagAttr (&AttrFlags, atOS, "OS");
-               /* Get the operating system. It may be specified as name or
+            case CFGTOK_OS:
+                /* Cannot use this attribute twice */
+                FlagAttr (&AttrFlags, atOS, "OS");
+                /* Get the operating system. It may be specified as name or
                  * as a number in the range 1..255.
                  */
-               if (CfgTok == CFGTOK_INTCON) {
-                   CfgRangeCheck (O65OS_MIN, O65OS_MAX);
-                   OS = (unsigned) CfgIVal;
-               } else {
+                if (CfgTok == CFGTOK_INTCON) {
+                    CfgRangeCheck (O65OS_MIN, O65OS_MAX);
+                    OS = (unsigned) CfgIVal;
+                } else {
                     CfgSpecialToken (OperatingSystems, ENTRY_COUNT (OperatingSystems), "OS type");
                     switch (CfgTok) {
                         case CFGTOK_LUNIX:    OS = O65OS_LUNIX;     break;
@@ -946,7 +946,7 @@ static void ParseO65 (void)
                     }
                 }
                 CfgNextTok ();
-               break;
+                break;
 
             case CFGTOK_ID:
                 /* Cannot have this attribute twice */
@@ -962,13 +962,13 @@ static void ParseO65 (void)
                 Version = (unsigned) CfgCheckedConstExpr (0, 0xFF);
                 break;
 
-           default:
-               FAIL ("Unexpected attribute token");
+            default:
+                FAIL ("Unexpected attribute token");
 
-       }
+        }
 
-       /* Skip an optional comma */
-       CfgOptionalComma ();
+        /* Skip an optional comma */
+        CfgOptionalComma ();
     }
 
     /* Check if we have all mandatory attributes */
@@ -997,39 +997,39 @@ static void ParseFormats (void)
 /* Parse a target format section */
 {
     static const IdentTok Formats [] = {
-               {   "O65",      CFGTOK_O65      },
-               {   "BIN",      CFGTOK_BIN      },
-               {   "BINARY",   CFGTOK_BIN      },
+        {   "O65",      CFGTOK_O65      },
+        {   "BIN",      CFGTOK_BIN      },
+        {   "BINARY",   CFGTOK_BIN      },
     };
 
     while (CfgTok == CFGTOK_IDENT) {
 
-       /* Map the identifier to a token */
-       cfgtok_t FormatTok;
-               CfgSpecialToken (Formats, ENTRY_COUNT (Formats), "Format");
-       FormatTok = CfgTok;
+        /* Map the identifier to a token */
+        cfgtok_t FormatTok;
+        CfgSpecialToken (Formats, ENTRY_COUNT (Formats), "Format");
+        FormatTok = CfgTok;
 
-       /* Skip the name and the following colon */
-       CfgNextTok ();
-       CfgConsumeColon ();
+        /* Skip the name and the following colon */
+        CfgNextTok ();
+        CfgConsumeColon ();
 
-       /* Parse the format options */
-       switch (FormatTok) {
+        /* Parse the format options */
+        switch (FormatTok) {
 
-           case CFGTOK_O65:
-               ParseO65 ();
-               break;
+            case CFGTOK_O65:
+                ParseO65 ();
+                break;
 
-           case CFGTOK_BIN:
-               /* No attribibutes available */
-               break;
+            case CFGTOK_BIN:
+                /* No attribibutes available */
+                break;
 
-           default:
-               Error ("Unexpected format token");
-       }
+            default:
+                Error ("Unexpected format token");
+        }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
     }
 
 
@@ -1043,23 +1043,23 @@ static void ParseConDes (void)
 /* Parse the CONDES feature */
 {
     static const IdentTok Attributes [] = {
-       {   "COUNT",            CFGTOK_COUNT            },
+        {   "COUNT",            CFGTOK_COUNT            },
         {   "IMPORT",           CFGTOK_IMPORT           },
-       {   "LABEL",            CFGTOK_LABEL            },
-       {   "ORDER",            CFGTOK_ORDER            },
-               {   "SEGMENT",          CFGTOK_SEGMENT          },
-       {   "TYPE",             CFGTOK_TYPE             },
+        {   "LABEL",            CFGTOK_LABEL            },
+        {   "ORDER",            CFGTOK_ORDER            },
+        {   "SEGMENT",          CFGTOK_SEGMENT          },
+        {   "TYPE",             CFGTOK_TYPE             },
     };
 
     static const IdentTok Types [] = {
-               {   "CONSTRUCTOR",      CFGTOK_CONSTRUCTOR      },
-       {   "DESTRUCTOR",       CFGTOK_DESTRUCTOR       },
+        {   "CONSTRUCTOR",      CFGTOK_CONSTRUCTOR      },
+        {   "DESTRUCTOR",       CFGTOK_DESTRUCTOR       },
         {   "INTERRUPTOR",      CFGTOK_INTERRUPTOR      },
     };
 
     static const IdentTok Orders [] = {
-       {   "DECREASING",       CFGTOK_DECREASING       },
-               {   "INCREASING",       CFGTOK_INCREASING       },
+        {   "DECREASING",       CFGTOK_DECREASING       },
+        {   "INCREASING",       CFGTOK_INCREASING       },
     };
 
     /* Attribute values. */
@@ -1073,112 +1073,112 @@ static void ParseConDes (void)
 
     /* Bitmask to remember the attributes we got already */
     enum {
-       atNone          = 0x0000,
-       atCount         = 0x0001,
+        atNone          = 0x0000,
+        atCount         = 0x0001,
         atImport        = 0x0002,
-       atLabel         = 0x0004,
-       atOrder         = 0x0008,
-       atSegName       = 0x0010,
-       atType          = 0x0020,
+        atLabel         = 0x0004,
+        atOrder         = 0x0008,
+        atSegName       = 0x0010,
+        atType          = 0x0020,
     };
     unsigned AttrFlags = atNone;
 
     /* Parse the attributes */
     while (1) {
 
-       /* Map the identifier to a token */
-       cfgtok_t AttrTok;
-               CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
-       AttrTok = CfgTok;
-
-       /* An optional assignment follows */
-       CfgNextTok ();
-       CfgOptionalAssign ();
-
-       /* Check which attribute was given */
-       switch (AttrTok) {
-
-           case CFGTOK_COUNT:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atCount, "COUNT");
-               /* We expect an identifier */
-               CfgAssureIdent ();
-               /* Remember the value for later */
-               Count = GetStrBufId (&CfgSVal);
-               break;
-
-           case CFGTOK_IMPORT:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atImport, "IMPORT");
-               /* We expect an identifier */
-               CfgAssureIdent ();
-               /* Remember value and position for later */
-                       Import.Name = GetStrBufId (&CfgSVal);
+        /* Map the identifier to a token */
+        cfgtok_t AttrTok;
+        CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
+        AttrTok = CfgTok;
+
+        /* An optional assignment follows */
+        CfgNextTok ();
+        CfgOptionalAssign ();
+
+        /* Check which attribute was given */
+        switch (AttrTok) {
+
+            case CFGTOK_COUNT:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atCount, "COUNT");
+                /* We expect an identifier */
+                CfgAssureIdent ();
+                /* Remember the value for later */
+                Count = GetStrBufId (&CfgSVal);
+                break;
+
+            case CFGTOK_IMPORT:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atImport, "IMPORT");
+                /* We expect an identifier */
+                CfgAssureIdent ();
+                /* Remember value and position for later */
+                Import.Name = GetStrBufId (&CfgSVal);
                 Import.Pos = CfgErrorPos;
                 Import.AddrSize = ADDR_SIZE_ABS;
-               break;
-
-           case CFGTOK_LABEL:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atLabel, "LABEL");
-               /* We expect an identifier */
-               CfgAssureIdent ();
-               /* Remember the value for later */
-               Label = GetStrBufId (&CfgSVal);
-               break;
-
-           case CFGTOK_ORDER:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atOrder, "ORDER");
-               CfgSpecialToken (Orders, ENTRY_COUNT (Orders), "Order");
-               switch (CfgTok) {
-                   case CFGTOK_DECREASING: Order = cdDecreasing;       break;
-                   case CFGTOK_INCREASING: Order = cdIncreasing;       break;
-                   default: FAIL ("Unexpected order token");
-               }
-               break;
-
-           case CFGTOK_SEGMENT:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atSegName, "SEGMENT");
-               /* We expect an identifier */
-               CfgAssureIdent ();
-               /* Remember the value for later */
-               SegName = GetStrBufId (&CfgSVal);
-               break;
-
-           case CFGTOK_TYPE:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atType, "TYPE");
-               /* The type may be given as id or numerical */
-               if (CfgTok == CFGTOK_INTCON) {
-                   CfgRangeCheck (CD_TYPE_MIN, CD_TYPE_MAX);
-                   Type = (int) CfgIVal;
-               } else {
-                   CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
-                   switch (CfgTok) {
-                       case CFGTOK_CONSTRUCTOR: Type = CD_TYPE_CON;    break;
-                       case CFGTOK_DESTRUCTOR:  Type = CD_TYPE_DES;    break;
+                break;
+
+            case CFGTOK_LABEL:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atLabel, "LABEL");
+                /* We expect an identifier */
+                CfgAssureIdent ();
+                /* Remember the value for later */
+                Label = GetStrBufId (&CfgSVal);
+                break;
+
+            case CFGTOK_ORDER:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atOrder, "ORDER");
+                CfgSpecialToken (Orders, ENTRY_COUNT (Orders), "Order");
+                switch (CfgTok) {
+                    case CFGTOK_DECREASING: Order = cdDecreasing;       break;
+                    case CFGTOK_INCREASING: Order = cdIncreasing;       break;
+                    default: FAIL ("Unexpected order token");
+                }
+                break;
+
+            case CFGTOK_SEGMENT:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atSegName, "SEGMENT");
+                /* We expect an identifier */
+                CfgAssureIdent ();
+                /* Remember the value for later */
+                SegName = GetStrBufId (&CfgSVal);
+                break;
+
+            case CFGTOK_TYPE:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atType, "TYPE");
+                /* The type may be given as id or numerical */
+                if (CfgTok == CFGTOK_INTCON) {
+                    CfgRangeCheck (CD_TYPE_MIN, CD_TYPE_MAX);
+                    Type = (int) CfgIVal;
+                } else {
+                    CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
+                    switch (CfgTok) {
+                        case CFGTOK_CONSTRUCTOR: Type = CD_TYPE_CON;    break;
+                        case CFGTOK_DESTRUCTOR:  Type = CD_TYPE_DES;    break;
                         case CFGTOK_INTERRUPTOR: Type = CD_TYPE_INT;    break;
-                       default: FAIL ("Unexpected type token");
-                   }
-               }
-               break;
+                        default: FAIL ("Unexpected type token");
+                    }
+                }
+                break;
 
-           default:
-               FAIL ("Unexpected attribute token");
+            default:
+                FAIL ("Unexpected attribute token");
 
-       }
+        }
 
-               /* Skip the attribute value */
-       CfgNextTok ();
+        /* Skip the attribute value */
+        CfgNextTok ();
 
-       /* Semicolon ends the ConDes decl, otherwise accept an optional comma */
-       if (CfgTok == CFGTOK_SEMI) {
-           break;
-       } else if (CfgTok == CFGTOK_COMMA) {
-           CfgNextTok ();
-       }
+        /* Semicolon ends the ConDes decl, otherwise accept an optional comma */
+        if (CfgTok == CFGTOK_SEMI) {
+            break;
+        } else if (CfgTok == CFGTOK_COMMA) {
+            CfgNextTok ();
+        }
     }
 
     /* Check if we have all mandatory attributes */
@@ -1188,7 +1188,7 @@ static void ParseConDes (void)
 
     /* Check if the condes has already attributes defined */
     if (ConDesHasSegName(Type) || ConDesHasLabel(Type)) {
-       CfgError (&CfgErrorPos,
+        CfgError (&CfgErrorPos,
                   "CONDES attributes for type %d are already defined",
                   Type);
     }
@@ -1197,13 +1197,13 @@ static void ParseConDes (void)
     ConDesSetSegName (Type, SegName);
     ConDesSetLabel (Type, Label);
     if (AttrFlags & atCount) {
-       ConDesSetCountSym (Type, Count);
+        ConDesSetCountSym (Type, Count);
     }
     if (AttrFlags & atImport) {
-       ConDesSetImport (Type, &Import);
+        ConDesSetImport (Type, &Import);
     }
     if (AttrFlags & atOrder) {
-       ConDesSetOrder (Type, Order);
+        ConDesSetOrder (Type, Order);
     }
 }
 
@@ -1213,7 +1213,7 @@ static void ParseStartAddress (void)
 /* Parse the STARTADDRESS feature */
 {
     static const IdentTok Attributes [] = {
-               {   "DEFAULT",  CFGTOK_DEFAULT },
+        {   "DEFAULT",  CFGTOK_DEFAULT },
     };
 
 
@@ -1222,44 +1222,44 @@ static void ParseStartAddress (void)
 
     /* Bitmask to remember the attributes we got already */
     enum {
-       atNone          = 0x0000,
-               atDefault       = 0x0001
+        atNone          = 0x0000,
+        atDefault       = 0x0001
     };
     unsigned AttrFlags = atNone;
 
     /* Parse the attributes */
     while (1) {
 
-       /* Map the identifier to a token */
-       cfgtok_t AttrTok;
-               CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
-       AttrTok = CfgTok;
+        /* Map the identifier to a token */
+        cfgtok_t AttrTok;
+        CfgSpecialToken (Attributes, ENTRY_COUNT (Attributes), "Attribute");
+        AttrTok = CfgTok;
 
-       /* An optional assignment follows */
-       CfgNextTok ();
-       CfgOptionalAssign ();
+        /* An optional assignment follows */
+        CfgNextTok ();
+        CfgOptionalAssign ();
 
-       /* Check which attribute was given */
-       switch (AttrTok) {
+        /* Check which attribute was given */
+        switch (AttrTok) {
 
-           case CFGTOK_DEFAULT:
-               /* Don't allow this twice */
-               FlagAttr (&AttrFlags, atDefault, "DEFAULT");
-               /* We expect a numeric expression */
+            case CFGTOK_DEFAULT:
+                /* Don't allow this twice */
+                FlagAttr (&AttrFlags, atDefault, "DEFAULT");
+                /* We expect a numeric expression */
                 DefStartAddr = CfgCheckedConstExpr (0, 0xFFFFFF);
-               break;
+                break;
 
-           default:
-               FAIL ("Unexpected attribute token");
+            default:
+                FAIL ("Unexpected attribute token");
 
-       }
+        }
 
-       /* Semicolon ends the ConDes decl, otherwise accept an optional comma */
-       if (CfgTok == CFGTOK_SEMI) {
-           break;
-       } else if (CfgTok == CFGTOK_COMMA) {
-           CfgNextTok ();
-       }
+        /* Semicolon ends the ConDes decl, otherwise accept an optional comma */
+        if (CfgTok == CFGTOK_SEMI) {
+            break;
+        } else if (CfgTok == CFGTOK_COMMA) {
+            CfgNextTok ();
+        }
     }
 
     /* Check if we have all mandatory attributes */
@@ -1279,39 +1279,39 @@ static void ParseFeatures (void)
 /* Parse a features section */
 {
     static const IdentTok Features [] = {
-               {   "CONDES",       CFGTOK_CONDES       },
+        {   "CONDES",       CFGTOK_CONDES       },
         {   "STARTADDRESS", CFGTOK_STARTADDRESS },
     };
 
     while (CfgTok == CFGTOK_IDENT) {
 
-       /* Map the identifier to a token */
-       cfgtok_t FeatureTok;
-               CfgSpecialToken (Features, ENTRY_COUNT (Features), "Feature");
-               FeatureTok = CfgTok;
+        /* Map the identifier to a token */
+        cfgtok_t FeatureTok;
+        CfgSpecialToken (Features, ENTRY_COUNT (Features), "Feature");
+        FeatureTok = CfgTok;
 
-       /* Skip the name and the following colon */
-       CfgNextTok ();
-       CfgConsumeColon ();
+        /* Skip the name and the following colon */
+        CfgNextTok ();
+        CfgConsumeColon ();
 
-       /* Parse the format options */
-       switch (FeatureTok) {
+        /* Parse the format options */
+        switch (FeatureTok) {
 
-           case CFGTOK_CONDES:
-               ParseConDes ();
-               break;
+            case CFGTOK_CONDES:
+                ParseConDes ();
+                break;
 
             case CFGTOK_STARTADDRESS:
                 ParseStartAddress ();
                 break;
 
 
-           default:
-                       FAIL ("Unexpected feature token");
-       }
+            default:
+                FAIL ("Unexpected feature token");
+        }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
     }
 
     /* Remember we had this section */
@@ -1326,48 +1326,48 @@ static void ParseSymbols (void)
     static const IdentTok Attributes[] = {
         {   "ADDRSIZE", CFGTOK_ADDRSIZE },
         {   "TYPE",     CFGTOK_TYPE     },
-               {   "VALUE",    CFGTOK_VALUE    },
+        {   "VALUE",    CFGTOK_VALUE    },
     };
 
     static const IdentTok AddrSizes [] = {
-               {   "ABS",      CFGTOK_ABS      },
-               {   "ABSOLUTE", CFGTOK_ABS      },
-               {   "DIRECT",   CFGTOK_ZP       },
-               {   "DWORD",    CFGTOK_LONG     },
-               {   "FAR",      CFGTOK_FAR      },
-               {   "LONG",     CFGTOK_LONG     },
-               {   "NEAR",     CFGTOK_ABS      },
-               {   "ZEROPAGE", CFGTOK_ZP       },
-               {   "ZP",       CFGTOK_ZP       },
+        {   "ABS",      CFGTOK_ABS      },
+        {   "ABSOLUTE", CFGTOK_ABS      },
+        {   "DIRECT",   CFGTOK_ZP       },
+        {   "DWORD",    CFGTOK_LONG     },
+        {   "FAR",      CFGTOK_FAR      },
+        {   "LONG",     CFGTOK_LONG     },
+        {   "NEAR",     CFGTOK_ABS      },
+        {   "ZEROPAGE", CFGTOK_ZP       },
+        {   "ZP",       CFGTOK_ZP       },
     };
 
     static const IdentTok Types [] = {
-               {   "EXPORT",   CFGTOK_EXPORT   },
-               {   "IMPORT",   CFGTOK_IMPORT   },
-               {   "WEAK",     CFGTOK_WEAK     },
+        {   "EXPORT",   CFGTOK_EXPORT   },
+        {   "IMPORT",   CFGTOK_IMPORT   },
+        {   "WEAK",     CFGTOK_WEAK     },
     };
 
     while (CfgTok == CFGTOK_IDENT) {
 
         /* Bitmask to remember the attributes we got already */
         enum {
-            atNone             = 0x0000,
+            atNone      = 0x0000,
             atAddrSize  = 0x0001,
             atType      = 0x0002,
             atValue     = 0x0004,
         };
         unsigned AttrFlags = atNone;
 
-               ExprNode* Value = 0;
+        ExprNode* Value = 0;
         CfgSymType Type = CfgSymExport;
         unsigned char AddrSize = ADDR_SIZE_ABS;
         Import* Imp;
         Export* Exp;
         CfgSymbol* Sym;
 
-       /* Remember the name */
-       unsigned Name = GetStrBufId (&CfgSVal);
-       CfgNextTok ();
+        /* Remember the name */
+        unsigned Name = GetStrBufId (&CfgSVal);
+        CfgNextTok ();
 
         /* New syntax - skip the colon */
         CfgNextTok ();
@@ -1389,36 +1389,36 @@ static void ParseSymbols (void)
             /* Check which attribute was given */
             switch (AttrTok) {
 
-               case CFGTOK_ADDRSIZE:
+                case CFGTOK_ADDRSIZE:
                     /* Don't allow this twice */
                     FlagAttr (&AttrFlags, atAddrSize, "ADDRSIZE");
                     /* Map the type to a token */
-                   CfgSpecialToken (AddrSizes, ENTRY_COUNT (AddrSizes), "AddrSize");
+                    CfgSpecialToken (AddrSizes, ENTRY_COUNT (AddrSizes), "AddrSize");
                     switch (CfgTok) {
                         case CFGTOK_ABS:    AddrSize = ADDR_SIZE_ABS;   break;
                         case CFGTOK_FAR:    AddrSize = ADDR_SIZE_FAR;   break;
                         case CFGTOK_LONG:   AddrSize = ADDR_SIZE_LONG;  break;
                         case CFGTOK_ZP:     AddrSize = ADDR_SIZE_ZP;    break;
-                               default:
+                        default:
                             Internal ("Unexpected token: %d", CfgTok);
                     }
                     CfgNextTok ();
-                   break;
+                    break;
 
-               case CFGTOK_TYPE:
+                case CFGTOK_TYPE:
                     /* Don't allow this twice */
                     FlagAttr (&AttrFlags, atType, "TYPE");
                     /* Map the type to a token */
-                   CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
+                    CfgSpecialToken (Types, ENTRY_COUNT (Types), "Type");
                     switch (CfgTok) {
                         case CFGTOK_EXPORT:     Type = CfgSymExport;    break;
                         case CFGTOK_IMPORT:     Type = CfgSymImport;    break;
                         case CFGTOK_WEAK:       Type = CfgSymWeak;      break;
-                               default:
+                        default:
                             Internal ("Unexpected token: %d", CfgTok);
                     }
                     CfgNextTok ();
-                   break;
+                    break;
 
                 case CFGTOK_VALUE:
                     /* Don't allow this twice */
@@ -1478,8 +1478,8 @@ static void ParseSymbols (void)
                 Internal ("Unexpected symbol type %d", Type);
         }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
     }
 
     /* Remember we had this section */
@@ -1492,59 +1492,59 @@ static void ParseConfig (void)
 /* Parse the config file */
 {
     static const IdentTok BlockNames [] = {
-       {   "MEMORY",   CFGTOK_MEMORY   },
-       {   "FILES",    CFGTOK_FILES    },
+        {   "MEMORY",   CFGTOK_MEMORY   },
+        {   "FILES",    CFGTOK_FILES    },
         {   "SEGMENTS", CFGTOK_SEGMENTS },
-       {   "FORMATS",  CFGTOK_FORMATS  },
-       {   "FEATURES", CFGTOK_FEATURES },
-       {   "SYMBOLS",  CFGTOK_SYMBOLS  },
+        {   "FORMATS",  CFGTOK_FORMATS  },
+        {   "FEATURES", CFGTOK_FEATURES },
+        {   "SYMBOLS",  CFGTOK_SYMBOLS  },
     };
     cfgtok_t BlockTok;
 
     do {
 
-       /* Read the block ident */
-               CfgSpecialToken (BlockNames, ENTRY_COUNT (BlockNames), "Block identifier");
-       BlockTok = CfgTok;
-       CfgNextTok ();
+        /* Read the block ident */
+        CfgSpecialToken (BlockNames, ENTRY_COUNT (BlockNames), "Block identifier");
+        BlockTok = CfgTok;
+        CfgNextTok ();
 
-       /* Expected a curly brace */
-       CfgConsume (CFGTOK_LCURLY, "`{' expected");
+        /* Expected a curly brace */
+        CfgConsume (CFGTOK_LCURLY, "`{' expected");
 
-       /* Read the block */
-       switch (BlockTok) {
+        /* Read the block */
+        switch (BlockTok) {
 
-           case CFGTOK_MEMORY:
-               ParseMemory ();
-               break;
+            case CFGTOK_MEMORY:
+                ParseMemory ();
+                break;
 
-           case CFGTOK_FILES:
-               ParseFiles ();
-               break;
+            case CFGTOK_FILES:
+                ParseFiles ();
+                break;
 
-           case CFGTOK_SEGMENTS:
-               ParseSegments ();
-               break;
+            case CFGTOK_SEGMENTS:
+                ParseSegments ();
+                break;
 
-           case CFGTOK_FORMATS:
-               ParseFormats ();
-               break;
+            case CFGTOK_FORMATS:
+                ParseFormats ();
+                break;
 
-           case CFGTOK_FEATURES:
-               ParseFeatures ();
-               break;
+            case CFGTOK_FEATURES:
+                ParseFeatures ();
+                break;
 
-           case CFGTOK_SYMBOLS:
-               ParseSymbols ();
-               break;
+            case CFGTOK_SYMBOLS:
+                ParseSymbols ();
+                break;
 
-           default:
-               FAIL ("Unexpected block token");
+            default:
+                FAIL ("Unexpected block token");
 
-       }
+        }
 
-       /* Skip closing brace */
-       CfgConsume (CFGTOK_RCURLY, "`}' expected");
+        /* Skip closing brace */
+        CfgConsume (CFGTOK_RCURLY, "`}' expected");
 
     } while (CfgTok != CFGTOK_EOF);
 }
@@ -1588,36 +1588,36 @@ static void ProcessSegments (void)
     while (I < CollCount (&SegDescList)) {
 
         /* Get the next segment descriptor */
-       SegDesc* S = CollAtUnchecked (&SegDescList, I);
+        SegDesc* S = CollAtUnchecked (&SegDescList, I);
 
         /* Search for the actual segment in the input files. The function may
          * return NULL (no such segment), this is checked later.
          */
         S->Seg = SegFind (S->Name);
 
-       /* If the segment is marked as BSS style, and if the segment exists
+        /* If the segment is marked as BSS style, and if the segment exists
          * in any of the object file, check that there's no initialized data
          * in the segment.
-        */
-       if ((S->Flags & SF_BSS) != 0 && S->Seg != 0 && !IsBSSType (S->Seg)) {
-                   CfgWarning (GetSourcePos (S->LI),
+         */
+        if ((S->Flags & SF_BSS) != 0 && S->Seg != 0 && !IsBSSType (S->Seg)) {
+            CfgWarning (GetSourcePos (S->LI),
                         "Segment `%s' with type `bss' contains initialized data",
-                       GetString (S->Name));
-       }
+                        GetString (S->Name));
+        }
 
-       /* If this segment does exist in any of the object files, insert the
-                * segment into the load/run memory areas. Otherwise print a warning
+        /* If this segment does exist in any of the object files, insert the
+         * segment into the load/run memory areas. Otherwise print a warning
          * and discard it, because the segment pointer in the descriptor is
          * invalid.
-        */
-       if (S->Seg != 0) {
+         */
+        if (S->Seg != 0) {
 
-           /* Insert the segment into the memory area list */
-           MemoryInsert (S->Run, S);
-           if (S->Load != S->Run) {
-               /* We have separate RUN and LOAD areas */
-               MemoryInsert (S->Load, S);
-           }
+            /* Insert the segment into the memory area list */
+            MemoryInsert (S->Run, S);
+            if (S->Load != S->Run) {
+                /* We have separate RUN and LOAD areas */
+                MemoryInsert (S->Load, S);
+            }
 
             /* Use the fill value from the config */
             S->Seg->FillVal = S->FillVal;
@@ -1625,7 +1625,7 @@ static void ProcessSegments (void)
             /* Process the next segment descriptor in the next run */
             ++I;
 
-       } else {
+        } else {
 
             /* Print a warning if the segment is not optional */
             if ((S->Flags & SF_OPTIONAL) == 0) {
@@ -1634,10 +1634,10 @@ static void ProcessSegments (void)
                             GetString (S->Name));
             }
 
-           /* Discard the descriptor and remove it from the collection */
-           FreeSegDesc (S);
+            /* Discard the descriptor and remove it from the collection */
+            FreeSegDesc (S);
             CollDelete (&SegDescList, I);
-       }
+        }
     }
 }
 
@@ -1821,13 +1821,13 @@ unsigned CfgProcess (void)
          * Doing it here means that the expression for the size of the area
          * may reference this symbol.
          */
-       if (M->Flags & MF_DEFINE) {
+        if (M->Flags & MF_DEFINE) {
             Export* E;
-           StrBuf Buf = STATIC_STRBUF_INITIALIZER;
+            StrBuf Buf = STATIC_STRBUF_INITIALIZER;
 
             /* Define the start of the memory area */
-           SB_Printf (&Buf, "__%s_START__", GetString (M->Name));
-           E = CreateMemoryExport (GetStrBufId (&Buf), M, 0);
+            SB_Printf (&Buf, "__%s_START__", GetString (M->Name));
+            E = CreateMemoryExport (GetStrBufId (&Buf), M, 0);
             CollAppend (&E->DefLines, M->LI);
 
             SB_Done (&Buf);
@@ -1841,11 +1841,11 @@ unsigned CfgProcess (void)
         }
         M->Size = GetExprVal (M->SizeExpr);
 
-       /* Walk through the segments in this memory area */
+        /* Walk through the segments in this memory area */
         for (J = 0; J < CollCount (&M->SegList); ++J) {
 
-           /* Get the segment */
-           SegDesc* S = CollAtUnchecked (&M->SegList, J);
+            /* Get the segment */
+            SegDesc* S = CollAtUnchecked (&M->SegList, J);
 
             /* Remember the start address before handling this segment */
             unsigned long StartAddr = Addr;
@@ -1931,56 +1931,56 @@ unsigned CfgProcess (void)
                 S->Seg->FillVal = M->FillVal;
             }
 
-           /* Increment the fill level of the memory area and check for an
-            * overflow.
-            */
-           M->FillLevel = Addr + S->Seg->Size - M->Start;
-                   if (M->FillLevel > M->Size && (M->Flags & MF_OVERFLOW) == 0) {
+            /* Increment the fill level of the memory area and check for an
+             * overflow.
+             */
+            M->FillLevel = Addr + S->Seg->Size - M->Start;
+            if (M->FillLevel > M->Size && (M->Flags & MF_OVERFLOW) == 0) {
                 ++Overflows;
                 M->Flags |= MF_OVERFLOW;
                 CfgWarning (GetSourcePos (M->LI),
                             "Memory area overflow in `%s', segment `%s' (%lu bytes)",
                              GetString (M->Name), GetString (S->Name),
                              M->FillLevel - M->Size);
-           }
+            }
 
-           /* If requested, define symbols for the start and size of the
-            * segment.
-            */
-           if (S->Flags & SF_DEFINE) {
+            /* If requested, define symbols for the start and size of the
+             * segment.
+             */
+            if (S->Flags & SF_DEFINE) {
                 if (S->Run == M && (S->Flags & SF_RUN_DEF) == 0) {
                     CreateRunDefines (S, Addr);
                 }
                 if (S->Load == M && (S->Flags & SF_LOAD_DEF) == 0) {
                     CreateLoadDefines (S, Addr);
                 }
-           }
+            }
 
-           /* Calculate the new address */
-           Addr += S->Seg->Size;
+            /* Calculate the new address */
+            Addr += S->Seg->Size;
 
             /* If this segment goes out to the file, increase the file size */
             if ((S->Flags & SF_BSS) == 0 && S->Load == M) {
                 M->F->Size += Addr - StartAddr;
             }
 
-       }
+        }
 
-       /* If requested, define symbols for start, size and offset of the
+        /* If requested, define symbols for start, size and offset of the
          * memory area
          */
-       if (M->Flags & MF_DEFINE) {
+        if (M->Flags & MF_DEFINE) {
             Export* E;
-           StrBuf Buf = STATIC_STRBUF_INITIALIZER;
+            StrBuf Buf = STATIC_STRBUF_INITIALIZER;
 
             /* Define the size of the memory area */
-           SB_Printf (&Buf, "__%s_SIZE__", GetString (M->Name));
-           E = CreateConstExport (GetStrBufId (&Buf), M->Size);
+            SB_Printf (&Buf, "__%s_SIZE__", GetString (M->Name));
+            E = CreateConstExport (GetStrBufId (&Buf), M->Size);
             CollAppend (&E->DefLines, M->LI);
 
             /* Define the fill level of the memory area */
-           SB_Printf (&Buf, "__%s_LAST__", GetString (M->Name));
-           E = CreateMemoryExport (GetStrBufId (&Buf), M, M->FillLevel);
+            SB_Printf (&Buf, "__%s_LAST__", GetString (M->Name));
+            E = CreateMemoryExport (GetStrBufId (&Buf), M, M->FillLevel);
             CollAppend (&E->DefLines, M->LI);
 
             /* Define the file offset of the memory area. This isn't of much
@@ -1994,7 +1994,7 @@ unsigned CfgProcess (void)
 
             /* Throw away the string buffer */
             SB_Done (&Buf);
-       }
+        }
 
         /* If we didn't have an overflow and are requested to fill the memory
          * area, acount for that in the file size.
@@ -2021,60 +2021,60 @@ void CfgWriteTarget (void)
         /* Get this entry */
         File* F = CollAtUnchecked (&FileList, I);
 
-       /* We don't need to look at files with no memory areas */
-       if (CollCount (&F->MemoryAreas) > 0) {
+        /* We don't need to look at files with no memory areas */
+        if (CollCount (&F->MemoryAreas) > 0) {
 
-           /* Is there an output file? */
-           if (SB_GetLen (GetStrBuf (F->Name)) > 0) {
+            /* Is there an output file? */
+            if (SB_GetLen (GetStrBuf (F->Name)) > 0) {
 
-               /* Assign a proper binary format */
-               if (F->Format == BINFMT_DEFAULT) {
-                   F->Format = DefaultBinFmt;
-               }
+                /* Assign a proper binary format */
+                if (F->Format == BINFMT_DEFAULT) {
+                    F->Format = DefaultBinFmt;
+                }
 
-               /* Call the apropriate routine for the binary format */
-               switch (F->Format) {
+                /* Call the apropriate routine for the binary format */
+                switch (F->Format) {
 
-                   case BINFMT_BINARY:
-                       BinWriteTarget (BinFmtDesc, F);
-                       break;
+                    case BINFMT_BINARY:
+                        BinWriteTarget (BinFmtDesc, F);
+                        break;
 
-                   case BINFMT_O65:
-                       O65WriteTarget (O65FmtDesc, F);
-                       break;
+                    case BINFMT_O65:
+                        O65WriteTarget (O65FmtDesc, F);
+                        break;
 
-                   default:
-                       Internal ("Invalid binary format: %u", F->Format);
+                    default:
+                        Internal ("Invalid binary format: %u", F->Format);
 
-               }
+                }
 
-           } else {
+            } else {
 
-               /* No output file. Walk through the list and mark all segments
-                        * loading into these memory areas in this file as dumped.
-                */
+                /* No output file. Walk through the list and mark all segments
+                 * loading into these memory areas in this file as dumped.
+                 */
                 unsigned J;
                 for (J = 0; J < CollCount (&F->MemoryAreas); ++J) {
 
                     unsigned K;
 
                     /* Get this entry */
-                   MemoryArea* M = CollAtUnchecked (&F->MemoryAreas, J);
+                    MemoryArea* M = CollAtUnchecked (&F->MemoryAreas, J);
 
-                   /* Debugging */
-                           Print (stdout, 2, "Skipping `%s'...\n", GetString (M->Name));
+                    /* Debugging */
+                    Print (stdout, 2, "Skipping `%s'...\n", GetString (M->Name));
 
-                   /* Walk throught the segments */
+                    /* Walk throught the segments */
                     for (K = 0; K < CollCount (&M->SegList); ++K) {
                         SegDesc* S = CollAtUnchecked (&M->SegList, K);
-                       if (S->Load == M) {
-                           /* Load area - mark the segment as dumped */
-                           S->Seg->Dumped = 1;
-                       }
-                   }
-               }
-           }
-       }
+                        if (S->Load == M) {
+                            /* Load area - mark the segment as dumped */
+                            S->Seg->Dumped = 1;
+                        }
+                    }
+                }
+            }
+        }
     }
 }
 
index da3a6478d43733080f362589320fea796cbf3ffa..76104d2d8798cc97bdaf015f1678e98e5804347b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                config.h                                  */
+/*                                 config.h                                  */
 /*                                                                           */
-/*              Target configuration file for the ld65 linker               */
+/*               Target configuration file for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,8 +61,8 @@ struct MemoryArea;
 typedef struct File File;
 struct File {
     unsigned            Name;           /* Name index of the file */
-    unsigned           Flags;
-    unsigned           Format;         /* Output format */
+    unsigned            Flags;
+    unsigned            Format;         /* Output format */
     unsigned long       Size;           /* Size of the generated file */
     Collection          MemoryAreas;    /* List of memory areas in this file */
 };
@@ -72,35 +72,35 @@ typedef struct SegDesc SegDesc;
 struct SegDesc {
     unsigned            Name;           /* Index of the name */
     LineInfo*           LI;             /* Position of definition */
-    Segment*                   Seg;            /* Pointer to segment structure */
-    unsigned                   Attr;           /* Attributes for segment */
-    unsigned                   Flags;          /* Set of bitmapped flags */
+    Segment*            Seg;            /* Pointer to segment structure */
+    unsigned            Attr;           /* Attributes for segment */
+    unsigned            Flags;          /* Set of bitmapped flags */
     unsigned char       FillVal;        /* Fill value for this segment */
     struct MemoryArea*  Load;           /* Load memory section */
     struct MemoryArea*  Run;            /* Run memory section */
-    unsigned long              Addr;           /* Start address or offset into segment */
+    unsigned long       Addr;           /* Start address or offset into segment */
     unsigned long       RunAlignment;   /* Run area alignment if given */
     unsigned long       LoadAlignment;  /* Load area alignment if given */
 };
 
 /* Segment flags */
-#define SF_RO                  0x0001          /* Read only segment */
-#define SF_BSS                 0x0002          /* Segment is BSS style segment */
-#define SF_ZP                  0x0004          /* Zeropage segment (o65 only) */
-#define SF_DEFINE              0x0008          /* Define start and size */
-#define SF_ALIGN       0x0010          /* Align segment in run area */
+#define SF_RO           0x0001          /* Read only segment */
+#define SF_BSS          0x0002          /* Segment is BSS style segment */
+#define SF_ZP           0x0004          /* Zeropage segment (o65 only) */
+#define SF_DEFINE       0x0008          /* Define start and size */
+#define SF_ALIGN        0x0010          /* Align segment in run area */
 #define SF_ALIGN_LOAD   0x0020          /* Align segment in load area */
-#define SF_OFFSET              0x0040          /* Segment has offset in memory */
-#define SF_START       0x0080          /* Segment has fixed start address */
+#define SF_OFFSET       0x0040          /* Segment has offset in memory */
+#define SF_START        0x0080          /* Segment has fixed start address */
 #define SF_OPTIONAL     0x0100          /* Segment is optional (must not exist) */
-#define SF_RUN_DEF             0x0200          /* RUN symbols already defined */
-#define SF_LOAD_DEF    0x0400          /* LOAD symbols already defined */
+#define SF_RUN_DEF      0x0200          /* RUN symbols already defined */
+#define SF_LOAD_DEF     0x0400          /* LOAD symbols already defined */
 #define SF_FILLVAL      0x0800          /* Segment has separate fill value */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f2d40a7f710e58c951a9f2881432b0d8a4f5b660..aec560212b30a4d549187291f9a92d97c5652b14 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dbgfile.c                                 */
+/*                                 dbgfile.c                                 */
 /*                                                                           */
 /*                  Debug file creation for the ld65 linker                  */
 /*                                                                           */
@@ -53,7 +53,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -107,7 +107,7 @@ void CreateDbgFile (void)
     /* Open the debug info file */
     FILE* F = fopen (DbgFileName, "w");
     if (F == 0) {
-               Error ("Cannot create debug file `%s': %s", DbgFileName, strerror (errno));
+        Error ("Cannot create debug file `%s': %s", DbgFileName, strerror (errno));
     }
 
     /* Output version information */
@@ -166,7 +166,7 @@ void CreateDbgFile (void)
 
     /* Close the file */
     if (fclose (F) != 0) {
-       Error ("Error closing debug file `%s': %s", DbgFileName, strerror (errno));
+        Error ("Error closing debug file `%s': %s", DbgFileName, strerror (errno));
     }
 }
 
index ad660daaaf15186d9ccbbcfafcc52e5251f5f8f4..a5020101e138019f8c70ec0fb065c90f342e7280 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dbgfile.h                                 */
+/*                                 dbgfile.h                                 */
 /*                                                                           */
 /*                  Debug file creation for the ld65 linker                  */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 090e0cdf8f75da3cb1d257d5e31b40efd49c462d..808f04c44362975db691f5d3212ef82779965415 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dbgsyms.c                                 */
+/*                                 dbgsyms.c                                 */
 /*                                                                           */
-/*                Debug symbol handling for the ld65 linker                 */
+/*                 Debug symbol handling for the ld65 linker                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -58,7 +58,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Definition of the debug symbol structure */
 struct DbgSym {
     unsigned            Id;             /* Id of debug symbol */
-    DbgSym*                    Next;           /* Pool linear list link */
-    ObjData*                   Obj;            /* Object file that exports the name */
+    DbgSym*             Next;           /* Pool linear list link */
+    ObjData*            Obj;            /* Object file that exports the name */
     Collection          DefLines;       /* Line infos for definition */
     Collection          RefLines;       /* Line infos for references */
-    ExprNode*                  Expr;           /* Expression (0 if not def'd) */
+    ExprNode*           Expr;           /* Expression (0 if not def'd) */
     unsigned            Size;           /* Symbol size if any */
     unsigned            OwnerId;        /* Id of parent/owner */
     unsigned            ImportId;       /* Id of import if this is one */
-    unsigned            Name;                  /* Name */
-    unsigned short      Type;          /* Type of symbol */
+    unsigned            Name;           /* Name */
+    unsigned short      Type;           /* Type of symbol */
     unsigned short      AddrSize;       /* Address size of symbol */
 };
 
@@ -93,12 +93,12 @@ struct HLLDbgSym {
 /* We will collect all debug symbols in the following array and remove
  * duplicates before outputing them into a label file.
  */
-static DbgSym* DbgSymPool[256];
+static DbgSym*  DbgSymPool[256];
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -116,12 +116,12 @@ static DbgSym* NewDbgSym (unsigned Id, unsigned Type, unsigned char AddrSize,
     D->Obj        = O;
     D->DefLines   = EmptyCollection;
     D->RefLines   = EmptyCollection;
-    D->Expr              = 0;
+    D->Expr       = 0;
     D->Size       = 0;
     D->OwnerId    = ~0U;
     D->ImportId   = ~0U;
-    D->Name      = 0;
-    D->Type              = Type;
+    D->Name       = 0;
+    D->Type       = Type;
     D->AddrSize   = AddrSize;
 
     /* Return the new entry */
@@ -146,21 +146,21 @@ static DbgSym* GetDbgSym (DbgSym* D, long Val)
 {
     /* Create the hash. We hash over the symbol value */
     unsigned Hash = ((Val >> 24) & 0xFF) ^
-                   ((Val >> 16) & 0xFF) ^
-                   ((Val >>  8) & 0xFF) ^
-                   ((Val >>  0) & 0xFF);
+                    ((Val >> 16) & 0xFF) ^
+                    ((Val >>  8) & 0xFF) ^
+                    ((Val >>  0) & 0xFF);
 
     /* Check for this symbol */
     DbgSym* Sym = DbgSymPool[Hash];
     while (Sym) {
-       /* Is this symbol identical? */
-       if (Sym->Name == D->Name && EqualExpr (Sym->Expr, D->Expr)) {
-           /* Found */
-           return Sym;
-       }
-
-       /* Next symbol */
-       Sym = Sym->Next;
+        /* Is this symbol identical? */
+        if (Sym->Name == D->Name && EqualExpr (Sym->Expr, D->Expr)) {
+            /* Found */
+            return Sym;
+        }
+
+        /* Next symbol */
+        Sym = Sym->Next;
     }
 
     /* This is the first symbol of it's kind */
@@ -174,9 +174,9 @@ static void InsertDbgSym (DbgSym* D, long Val)
 {
     /* Create the hash. We hash over the symbol value */
     unsigned Hash = ((Val >> 24) & 0xFF) ^
-                   ((Val >> 16) & 0xFF) ^
-                   ((Val >>  8) & 0xFF) ^
-                   ((Val >>  0) & 0xFF);
+                    ((Val >> 16) & 0xFF) ^
+                    ((Val >>  8) & 0xFF) ^
+                    ((Val >>  0) & 0xFF);
 
     /* Insert the symbol */
     D->Next = DbgSymPool [Hash];
@@ -203,9 +203,9 @@ DbgSym* ReadDbgSym (FILE* F, ObjData* O, unsigned Id)
 
     /* Read the value */
     if (SYM_IS_EXPR (D->Type)) {
-               D->Expr = ReadExpr (F, O);
+        D->Expr = ReadExpr (F, O);
     } else {
-       D->Expr = LiteralExpr (Read32 (F), O);
+        D->Expr = LiteralExpr (Read32 (F), O);
     }
 
     /* Read the size */
index 53031a82cd63a9b6922a5d59b40aa325c37895b4..3d58579f6738b5d782261575da2ea894b93f1b9f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                dbgsyms.h                                 */
+/*                                 dbgsyms.h                                 */
 /*                                                                           */
-/*                Debug symbol handling for the ld65 linker                 */
+/*                 Debug symbol handling for the ld65 linker                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -65,7 +65,7 @@ typedef struct DbgSym DbgSym;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3fea97fdcf05520ad77a48aa383e6b825e2dcff6..bfd7e067108a04f2a3fd4f7ccdbda5c9b291c0dc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.c                                   */
+/*                                 error.c                                   */
 /*                                                                           */
-/*                   Error handling for the ld65 linker                     */
+/*                    Error handling for the ld65 linker                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b3d8ecfbcb20467a9e748c5be5fdd8a87b28df5c..e144bb4fdee78a1f9c6de188ffcde24ddbf60ab6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.h                                   */
+/*                                 error.h                                   */
 /*                                                                           */
-/*                   Error handling for the ld65 linker                     */
+/*                    Error handling for the ld65 linker                     */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8009056e697b0257c2141519a825f8af8b723d51..c5533d3185a5e61382c38ba8bdae960b5bb9f543 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                exports.c                                 */
+/*                                 exports.c                                 */
 /*                                                                           */
-/*                  Exports handling for the ld65 linker                    */
+/*                   Exports handling for the ld65 linker                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Hash table */
 #define HASHTAB_MASK    0x0FFFU
-#define HASHTAB_SIZE           (HASHTAB_MASK + 1)
-static Export*                 HashTab[HASHTAB_SIZE];
+#define HASHTAB_SIZE    (HASHTAB_MASK + 1)
+static Export*          HashTab[HASHTAB_SIZE];
 
 /* Import management variables */
-static unsigned                ImpCount = 0;           /* Import count */
-static unsigned                ImpOpen  = 0;           /* Count of open imports */
+static unsigned         ImpCount = 0;           /* Import count */
+static unsigned         ImpOpen  = 0;           /* Count of open imports */
 
 /* Export management variables */
-static unsigned                ExpCount = 0;           /* Export count */
-static Export**                ExpPool  = 0;           /* Exports array */
+static unsigned         ExpCount = 0;           /* Export count */
+static Export**         ExpPool  = 0;           /* Exports array */
 
 /* Defines for the flags in Import */
 #define IMP_INLIST      0x0001U                 /* Import is in exports list */
 
 /* Defines for the flags in Export */
 #define EXP_INLIST      0x0001U                 /* Export is in exports list */
-#define EXP_USERMARK           0x0002U                 /* User setable flag */
+#define EXP_USERMARK    0x0002U                 /* User setable flag */
 
 
 
 /*****************************************************************************/
-/*                             Import handling                              */
+/*                              Import handling                              */
 /*****************************************************************************/
 
 
@@ -106,8 +106,8 @@ static Import* NewImport (unsigned char AddrSize, ObjData* Obj)
     Import* I    = xmalloc (sizeof (Import));
 
     /* Initialize the fields */
-    I->Next             = 0;
-    I->Obj              = Obj;
+    I->Next      = 0;
+    I->Obj       = Obj;
     I->DefLines  = EmptyCollection;
     I->RefLines  = EmptyCollection;
     I->Exp       = 0;
@@ -223,26 +223,26 @@ Import* InsertImport (Import* I)
 
     /* Search through the list in that slot for a symbol with that name */
     if (HashTab[Hash] == 0) {
-       /* The slot is empty, we need to insert a dummy export */
-               E = HashTab[Hash] = NewExport (0, ADDR_SIZE_DEFAULT, Name, 0);
-               ++ExpCount;
+        /* The slot is empty, we need to insert a dummy export */
+        E = HashTab[Hash] = NewExport (0, ADDR_SIZE_DEFAULT, Name, 0);
+        ++ExpCount;
     } else {
-       E = HashTab [Hash];
-       while (1) {
-           if (E->Name == Name) {
-               /* We have an entry, L points to it */
-                       break;
-           }
-           if (E->Next == 0) {
-               /* End of list an entry not found, insert a dummy */
-               E->Next = NewExport (0, ADDR_SIZE_DEFAULT, Name, 0);
-               E = E->Next;            /* Point to dummy */
-               ++ExpCount;             /* One export more */
-                       break;
-           } else {
-               E = E->Next;
-           }
-       }
+        E = HashTab [Hash];
+        while (1) {
+            if (E->Name == Name) {
+                /* We have an entry, L points to it */
+                break;
+            }
+            if (E->Next == 0) {
+                /* End of list an entry not found, insert a dummy */
+                E->Next = NewExport (0, ADDR_SIZE_DEFAULT, Name, 0);
+                E = E->Next;            /* Point to dummy */
+                ++ExpCount;             /* One export more */
+                break;
+            } else {
+                E = E->Next;
+            }
+        }
     }
 
     /* Ok, E now points to a valid exports entry for the given import. Insert
@@ -252,10 +252,10 @@ Import* InsertImport (Import* I)
     I->Next    = E->ImpList;
     E->ImpList = I;
     E->ImpCount++;
-    ++ImpCount;                        /* Total import count */
+    ++ImpCount;                 /* Total import count */
     if (E->Expr == 0) {
-               /* This is a dummy export */
-       ++ImpOpen;
+        /* This is a dummy export */
+        ++ImpOpen;
     }
 
     /* Mark the import so we know it's in the list */
@@ -281,7 +281,7 @@ const LineInfo* GetImportPos (const Import* Imp)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -298,16 +298,16 @@ static Export* NewExport (unsigned Type, unsigned char AddrSize,
     /* Initialize the fields */
     E->Name      = Name;
     E->Next      = 0;
-    E->Flags            = 0;
+    E->Flags     = 0;
     E->Obj       = Obj;
     E->ImpCount  = 0;
     E->ImpList   = 0;
-    E->Expr             = 0;
+    E->Expr      = 0;
     E->Size      = 0;
     E->DefLines  = EmptyCollection;
     E->RefLines  = EmptyCollection;
     E->DbgSymId  = ~0U;
-    E->Type             = Type | SYM_EXPORT;
+    E->Type      = Type | SYM_EXPORT;
     E->AddrSize  = AddrSize;
     for (I = 0; I < sizeof (E->ConDes) / sizeof (E->ConDes[0]); ++I) {
         E->ConDes[I] = CD_PRIO_NONE;
@@ -361,18 +361,18 @@ Export* ReadExport (FILE* F, ObjData* O)
     ConDesCount = SYM_GET_CONDES_COUNT (Type);
     if (ConDesCount > 0) {
 
-               unsigned char ConDes[CD_TYPE_COUNT];
+        unsigned char ConDes[CD_TYPE_COUNT];
 
-               /* Read the data into temp storage */
-               ReadData (F, ConDes, ConDesCount);
+        /* Read the data into temp storage */
+        ReadData (F, ConDes, ConDesCount);
 
-               /* Re-order the data. In the file, each decl is encoded into a byte
-                * which contains the type and the priority. In memory, we will use
-                * an array of types which contain the priority.
-                */
-               for (I = 0; I < ConDesCount; ++I) {
-                   E->ConDes[CD_GET_TYPE (ConDes[I])] = CD_GET_PRIO (ConDes[I]);
-               }
+        /* Re-order the data. In the file, each decl is encoded into a byte
+         * which contains the type and the priority. In memory, we will use
+         * an array of types which contain the priority.
+         */
+        for (I = 0; I < ConDesCount; ++I) {
+            E->ConDes[CD_GET_TYPE (ConDes[I])] = CD_GET_PRIO (ConDes[I]);
+        }
     }
 
     /* Read the name */
@@ -380,9 +380,9 @@ Export* ReadExport (FILE* F, ObjData* O)
 
     /* Read the value */
     if (SYM_IS_EXPR (Type)) {
-               E->Expr = ReadExpr (F, O);
+        E->Expr = ReadExpr (F, O);
     } else {
-               E->Expr = LiteralExpr (Read32 (F), O);
+        E->Expr = LiteralExpr (Read32 (F), O);
     }
 
     /* Read the size */
@@ -440,7 +440,7 @@ void InsertExport (Export* E)
 
     /* Insert the export into any condes tables if needed */
     if (SYM_IS_CONDES (E->Type)) {
-               ConDesAddExport (E);
+        ConDesAddExport (E);
     }
 
     /* Create a hash value for the given name */
@@ -448,54 +448,54 @@ void InsertExport (Export* E)
 
     /* Search through the list in that slot */
     if (HashTab[Hash] == 0) {
-       /* The slot is empty */
-       HashTab[Hash] = E;
-       ++ExpCount;
+        /* The slot is empty */
+        HashTab[Hash] = E;
+        ++ExpCount;
     } else {
 
-       Last = 0;
-       L = HashTab[Hash];
-       do {
-                   if (L->Name == E->Name) {
-               /* This may be an unresolved external */
-               if (L->Expr == 0) {
+        Last = 0;
+        L = HashTab[Hash];
+        do {
+            if (L->Name == E->Name) {
+                /* This may be an unresolved external */
+                if (L->Expr == 0) {
 
-                   /* This *is* an unresolved external. Use the actual export
+                    /* This *is* an unresolved external. Use the actual export
                      * in E instead of the dummy one in L.
                      */
-                   E->Next     = L->Next;
-                   E->ImpCount = L->ImpCount;
-                   E->ImpList  = L->ImpList;
-                   if (Last) {
-                       Last->Next = E;
-                   } else {
-                       HashTab[Hash] = E;
-                   }
-                           ImpOpen -= E->ImpCount;     /* Decrease open imports now */
-                   xfree (L);
-                   /* We must run through the import list and change the
-                    * export pointer now.
-                    */
-                   Imp = E->ImpList;
-                   while (Imp) {
-                       Imp->Exp = E;
-                       Imp = Imp->Next;
-                   }
-               } else {
-                   /* Duplicate entry, ignore it */
-                           Warning ("Duplicate external identifier: `%s'",
+                    E->Next     = L->Next;
+                    E->ImpCount = L->ImpCount;
+                    E->ImpList  = L->ImpList;
+                    if (Last) {
+                        Last->Next = E;
+                    } else {
+                        HashTab[Hash] = E;
+                    }
+                    ImpOpen -= E->ImpCount;     /* Decrease open imports now */
+                    xfree (L);
+                    /* We must run through the import list and change the
+                     * export pointer now.
+                     */
+                    Imp = E->ImpList;
+                    while (Imp) {
+                        Imp->Exp = E;
+                        Imp = Imp->Next;
+                    }
+                } else {
+                    /* Duplicate entry, ignore it */
+                    Warning ("Duplicate external identifier: `%s'",
                              GetString (L->Name));
-               }
-               return;
-           }
-           Last = L;
-           L = L->Next;
+                }
+                return;
+            }
+            Last = L;
+            L = L->Next;
 
-       } while (L);
+        } while (L);
 
-       /* Insert export at end of queue */
-       Last->Next = E;
-       ++ExpCount;
+        /* Insert export at end of queue */
+        Last->Next = E;
+        ++ExpCount;
     }
 }
 
@@ -613,11 +613,11 @@ Export* FindExport (unsigned Name)
     Export* L = HashTab[Name & HASHTAB_MASK];
     while (L) {
         /* Search through the list in that slot */
-               if (L->Name == Name) {
-           /* Entry found */
-           return L;
-       }
-       L = L->Next;
+        if (L->Name == Name) {
+            /* Entry found */
+            return L;
+        }
+        L = L->Next;
     }
 
     /* Not found */
@@ -648,8 +648,8 @@ int IsConstExport (const Export* E)
 /* Return true if the expression associated with this export is const */
 {
     if (E->Expr == 0) {
-       /* External symbols cannot be const */
-       return 0;
+        /* External symbols cannot be const */
+        return 0;
     } else {
         return IsConstExpr (E->Expr);
     }
@@ -661,8 +661,8 @@ long GetExportVal (const Export* E)
 /* Get the value of this export */
 {
     if (E->Expr == 0) {
-       /* OOPS */
-               Internal ("`%s' is an undefined external", GetString (E->Name));
+        /* OOPS */
+        Internal ("`%s' is an undefined external", GetString (E->Name));
     }
     return GetExprVal (E->Expr);
 }
@@ -675,8 +675,8 @@ static void CheckSymType (const Export* E)
     /* External with matching imports */
     Import* I = E->ImpList;
     while (I) {
-               if (E->AddrSize != I->AddrSize) {
-                   /* Export and import address sizes do not match */
+        if (E->AddrSize != I->AddrSize) {
+            /* Export and import address sizes do not match */
             StrBuf ExportLoc = STATIC_STRBUF_INITIALIZER;
             StrBuf ImportLoc = STATIC_STRBUF_INITIALIZER;
             const char* ExpAddrSize = AddrSizeToStr ((unsigned char) E->AddrSize);
@@ -732,8 +732,8 @@ static void CheckSymType (const Export* E)
             /* Free the temporary strings */
             SB_Done (&ExportLoc);
             SB_Done (&ImportLoc);
-       }
-               I = I->Next;
+        }
+        I = I->Next;
     }
 }
 
@@ -746,11 +746,11 @@ static void CheckSymTypes (void)
 
     /* Print all open imports */
     for (I = 0; I < ExpCount; ++I) {
-       const Export* E = ExpPool [I];
-       if (E->Expr != 0 && E->ImpCount > 0) {
-           /* External with matching imports */
-           CheckSymType (E);
-       }
+        const Export* E = ExpPool [I];
+        if (E->Expr != 0 && E->ImpCount > 0) {
+            /* External with matching imports */
+            CheckSymType (E);
+        }
     }
 }
 
@@ -765,14 +765,14 @@ static void PrintUnresolved (ExpCheckFunc F, void* Data)
 
     /* Print all open imports */
     for (I = 0; I < ExpCount; ++I) {
-       Export* E = ExpPool [I];
-       if (E->Expr == 0 && E->ImpCount > 0 && F (E->Name, Data) == 0) {
-           /* Unresolved external */
-           Import* Imp = E->ImpList;
-           fprintf (stderr,
-                    "Unresolved external `%s' referenced in:\n",
-                    GetString (E->Name));
-           while (Imp) {
+        Export* E = ExpPool [I];
+        if (E->Expr == 0 && E->ImpCount > 0 && F (E->Name, Data) == 0) {
+            /* Unresolved external */
+            Import* Imp = E->ImpList;
+            fprintf (stderr,
+                     "Unresolved external `%s' referenced in:\n",
+                     GetString (E->Name));
+            while (Imp) {
                 unsigned J;
                 for (J = 0; J < CollCount (&Imp->RefLines); ++J) {
                     const LineInfo* LI = CollConstAt (&Imp->RefLines, J);
@@ -781,9 +781,9 @@ static void PrintUnresolved (ExpCheckFunc F, void* Data)
                          GetSourceName (LI),
                          GetSourceLine (LI));
                 }
-               Imp = Imp->Next;
-           }
-       }
+                Imp = Imp->Next;
+            }
+        }
     }
 }
 
@@ -805,18 +805,18 @@ static void CreateExportPool (void)
 
     /* Allocate memory */
     if (ExpPool) {
-       xfree (ExpPool);
+        xfree (ExpPool);
     }
     ExpPool = xmalloc (ExpCount * sizeof (Export*));
 
     /* Walk through the list and insert the exports */
     for (I = 0, J = 0; I < sizeof (HashTab) / sizeof (HashTab [0]); ++I) {
-       Export* E = HashTab[I];
-       while (E) {
-           CHECK (J < ExpCount);
-                   ExpPool[J++] = E;
-           E = E->Next;
-       }
+        Export* E = HashTab[I];
+        while (E) {
+            CHECK (J < ExpCount);
+            ExpPool[J++] = E;
+            E = E->Next;
+        }
     }
 
     /* Sort them by name */
@@ -846,8 +846,8 @@ void CheckUnresolvedImports (ExpCheckFunc F, void* Data)
 {
     /* Check for unresolved externals */
     if (ImpOpen != 0) {
-               /* Print all open imports */
-       PrintUnresolved (F, Data);
+        /* Print all open imports */
+        PrintUnresolved (F, Data);
     }
 }
 
@@ -863,8 +863,8 @@ static char GetAddrSizeCode (unsigned char AddrSize)
         case ADDR_SIZE_LONG:    return 'L';
         default:
             Internal ("Invalid address size: %u", AddrSize);
-           /* NOTREACHED */
-           return '-';
+            /* NOTREACHED */
+            return '-';
     }
 }
 
@@ -879,23 +879,23 @@ void PrintExportMap (FILE* F)
     /* Print all exports */
     Count = 0;
     for (I = 0; I < ExpCount; ++I) {
-       const Export* E = ExpPool [I];
-
-       /* Print unreferenced symbols only if explictly requested */
-       if (VerboseMap || E->ImpCount > 0 || SYM_IS_CONDES (E->Type)) {
-           fprintf (F,
-                    "%-25s %06lX %c%c%c%c   ",
-                    GetString (E->Name),
-                    GetExportVal (E),
-                    E->ImpCount? 'R' : ' ',
-                    SYM_IS_LABEL (E->Type)? 'L' : 'E',
-                            GetAddrSizeCode ((unsigned char) E->AddrSize),
-                    SYM_IS_CONDES (E->Type)? 'I' : ' ');
-           if (++Count == 2) {
-               Count = 0;
-               fprintf (F, "\n");
-           }
-       }
+        const Export* E = ExpPool [I];
+
+        /* Print unreferenced symbols only if explictly requested */
+        if (VerboseMap || E->ImpCount > 0 || SYM_IS_CONDES (E->Type)) {
+            fprintf (F,
+                     "%-25s %06lX %c%c%c%c   ",
+                     GetString (E->Name),
+                     GetExportVal (E),
+                     E->ImpCount? 'R' : ' ',
+                     SYM_IS_LABEL (E->Type)? 'L' : 'E',
+                     GetAddrSizeCode ((unsigned char) E->AddrSize),
+                     SYM_IS_CONDES (E->Type)? 'I' : ' ');
+            if (++Count == 2) {
+                Count = 0;
+                fprintf (F, "\n");
+            }
+        }
     }
     fprintf (F, "\n");
 }
@@ -911,25 +911,25 @@ void PrintImportMap (FILE* F)
     /* Loop over all exports */
     for (I = 0; I < ExpCount; ++I) {
 
-       /* Get the export */
-       const Export* Exp = ExpPool [I];
+        /* Get the export */
+        const Export* Exp = ExpPool [I];
 
-       /* Print the symbol only if there are imports, or if a verbose map
-        * file is requested.
-        */
-       if (VerboseMap || Exp->ImpCount > 0) {
+        /* Print the symbol only if there are imports, or if a verbose map
+         * file is requested.
+         */
+        if (VerboseMap || Exp->ImpCount > 0) {
 
-           /* Print the export */
-           fprintf (F,
-                    "%s (%s):\n",
-                    GetString (Exp->Name),
-                    GetObjFileName (Exp->Obj));
+            /* Print the export */
+            fprintf (F,
+                     "%s (%s):\n",
+                     GetString (Exp->Name),
+                     GetObjFileName (Exp->Obj));
 
-           /* Print all imports for this symbol */
-           Imp = Exp->ImpList;
-           while (Imp) {
+            /* Print all imports for this symbol */
+            Imp = Exp->ImpList;
+            while (Imp) {
 
-               /* Print the import. Beware: The import might be linker
+                /* Print the import. Beware: The import might be linker
                  * generated, in which case there is no object file and
                  * sometimes no line information.
                  */
@@ -946,10 +946,10 @@ void PrintImportMap (FILE* F)
                              GetObjFileName (Imp->Obj));
                 }
 
-               /* Next import */
-               Imp = Imp->Next;
-           }
-       }
+                /* Next import */
+                Imp = Imp->Next;
+            }
+        }
     }
     fprintf (F, "\n");
 }
@@ -963,8 +963,8 @@ void PrintExportLabels (FILE* F)
 
     /* Print all exports */
     for (I = 0; I < ExpCount; ++I) {
-       const Export* E = ExpPool [I];
-               fprintf (F, "al %06lX .%s\n", GetExportVal (E), GetString (E->Name));
+        const Export* E = ExpPool [I];
+        fprintf (F, "al %06lX .%s\n", GetExportVal (E), GetString (E->Name));
     }
 }
 
@@ -999,7 +999,7 @@ void CircularRefError (const Export* E)
 {
     const LineInfo* LI = GetExportPos (E);
     Error ("Circular reference for symbol `%s', %s(%u)",
-          GetString (E->Name),
+           GetString (E->Name),
            GetSourceName (LI),
            GetSourceLine (LI));
 }
index 97315686595aaf47ab35821a1b2fcddd09a0dfa0..0d53377850f818266fdca7a4662dd4380a5516be 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                exports.h                                 */
+/*                                 exports.h                                 */
 /*                                                                           */
-/*                   Exports handing for the ld65 linker                    */
+/*                    Exports handing for the ld65 linker                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -54,7 +54,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 /* Import symbol structure */
 typedef struct Import Import;
 struct Import {
-    Import*            Next;           /* Single linked list */
-    ObjData*           Obj;            /* Object file that imports the name */
+    Import*             Next;           /* Single linked list */
+    ObjData*            Obj;            /* Object file that imports the name */
     Collection          DefLines;       /* Line infos of definition */
     Collection          RefLines;       /* Line infos of reference */
-    struct Export*     Exp;            /* Matching export for this import */
-    unsigned            Name;          /* Name if not in table */
+    struct Export*      Exp;            /* Matching export for this import */
+    unsigned            Name;           /* Name if not in table */
     unsigned short      Flags;          /* Generic flags */
     unsigned short      AddrSize;       /* Address size of import */
 };
@@ -77,20 +77,20 @@ struct Import {
 /* Export symbol structure */
 typedef struct Export Export;
 struct Export {
-    unsigned            Name;                  /* Name */
-    Export*                    Next;           /* Hash table link */
-    unsigned           Flags;          /* Generic flags */
-    ObjData*           Obj;            /* Object file that exports the name */
-    unsigned           ImpCount;       /* How many imports for this symbol? */
-    Import*            ImpList;        /* List of imports for this symbol */
-    ExprNode*                  Expr;           /* Expression (0 if not def'd) */
+    unsigned            Name;           /* Name */
+    Export*             Next;           /* Hash table link */
+    unsigned            Flags;          /* Generic flags */
+    ObjData*            Obj;            /* Object file that exports the name */
+    unsigned            ImpCount;       /* How many imports for this symbol? */
+    Import*             ImpList;        /* List of imports for this symbol */
+    ExprNode*           Expr;           /* Expression (0 if not def'd) */
     unsigned            Size;           /* Size of the symbol if any */
     Collection          DefLines;       /* Line infos of definition */
     Collection          RefLines;       /* Line infos of reference */
     unsigned            DbgSymId;       /* Id of debug symbol for this export */
-    unsigned short      Type;          /* Type of export */
+    unsigned short      Type;           /* Type of export */
     unsigned short      AddrSize;       /* Address size of export */
-    unsigned char      ConDes[CD_TYPE_COUNT];  /* Constructor/destructor decls */
+    unsigned char       ConDes[CD_TYPE_COUNT];  /* Constructor/destructor decls */
 };
 
 
@@ -106,7 +106,7 @@ typedef int (*ExpCheckFunc) (unsigned Name, void* Data);
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index bfcb852ea6c0212f059f5edb183fd70891ed1b8b..c5cfe9abd8f04ba432fefeea3df7ac80add0872e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 expr.c                                   */
+/*                                  expr.c                                   */
 /*                                                                           */
-/*                Expression evaluation for the ld65 linker                 */
+/*                 Expression evaluation for the ld65 linker                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -59,11 +59,11 @@ ExprNode* NewExprNode (ObjData* O, unsigned char Op)
 {
     /* Allocate fresh memory */
     ExprNode* N = xmalloc (sizeof (ExprNode));
-    N->Op      = Op;
-    N->Left    = 0;
-    N->Right   = 0;
-    N->Obj     = O;
-    N->V.IVal  = 0;
+    N->Op       = Op;
+    N->Left     = 0;
+    N->Right    = 0;
+    N->Obj      = O;
+    N->V.IVal   = 0;
 
     return N;
 }
@@ -83,9 +83,9 @@ void FreeExpr (ExprNode* Root)
 /* Free the expression, Root is pointing to. */
 {
     if (Root) {
-       FreeExpr (Root->Left);
-       FreeExpr (Root->Right);
-       FreeExprNode (Root);
+        FreeExpr (Root->Left);
+        FreeExpr (Root->Right);
+        FreeExprNode (Root);
     }
 }
 
@@ -102,27 +102,27 @@ int IsConstExpr (ExprNode* Root)
     MemoryArea* M;
 
     if (EXPR_IS_LEAF (Root->Op)) {
-       switch (Root->Op) {
-
-           case EXPR_LITERAL:
-               return 1;
-
-           case EXPR_SYMBOL:
-               /* Get the referenced export */
-                       E = GetExprExport (Root);
-               /* If this export has a mark set, we've already encountered it.
-                * This means that the export is used to define it's own value,
-                * which in turn means, that we have a circular reference.
-                */
-               if (ExportHasMark (E)) {
+        switch (Root->Op) {
+
+            case EXPR_LITERAL:
+                return 1;
+
+            case EXPR_SYMBOL:
+                /* Get the referenced export */
+                E = GetExprExport (Root);
+                /* If this export has a mark set, we've already encountered it.
+                 * This means that the export is used to define it's own value,
+                 * which in turn means, that we have a circular reference.
+                 */
+                if (ExportHasMark (E)) {
                     CircularRefError (E);
-                   Const = 0;
-               } else {
-                   MarkExport (E);
-                   Const = IsConstExport (E);
-                   UnmarkExport (E);
-               }
-               return Const;
+                    Const = 0;
+                } else {
+                    MarkExport (E);
+                    Const = IsConstExport (E);
+                    UnmarkExport (E);
+                }
+                return Const;
 
             case EXPR_SECTION:
                 /* A section expression is const if the segment it is in is
@@ -142,11 +142,11 @@ int IsConstExpr (ExprNode* Root)
                 return !Root->V.Mem->Relocatable &&
                        (Root->V.Mem->Flags & MF_PLACED);
 
-           default:
+            default:
                 /* Anything else is not const */
-               return 0;
+                return 0;
 
-       }
+        }
 
     } else if (EXPR_IS_UNARY (Root->Op)) {
 
@@ -177,41 +177,41 @@ int IsConstExpr (ExprNode* Root)
 
     } else {
 
-       /* We must handle shortcut boolean expressions here */
-       switch (Root->Op) {
-
-           case EXPR_BOOLAND:
-               if (IsConstExpr (Root->Left)) {
-                   /* lhs is const, if it is zero, don't eval right */
-                   if (GetExprVal (Root->Left) == 0) {
-                       return 1;
-                   } else {
-                       return IsConstExpr (Root->Right);
-                   }
-               } else {
-                   /* lhs not const --> tree not const */
-                   return 0;
-               }
-               break;
-
-           case EXPR_BOOLOR:
-               if (IsConstExpr (Root->Left)) {
-                   /* lhs is const, if it is not zero, don't eval right */
-                   if (GetExprVal (Root->Left) != 0) {
-                       return 1;
-                   } else {
-                       return IsConstExpr (Root->Right);
-                   }
-               } else {
-                   /* lhs not const --> tree not const */
-                   return 0;
-               }
-               break;
-
-           default:
-               /* All others are handled normal */
-               return IsConstExpr (Root->Left) && IsConstExpr (Root->Right);
-       }
+        /* We must handle shortcut boolean expressions here */
+        switch (Root->Op) {
+
+            case EXPR_BOOLAND:
+                if (IsConstExpr (Root->Left)) {
+                    /* lhs is const, if it is zero, don't eval right */
+                    if (GetExprVal (Root->Left) == 0) {
+                        return 1;
+                    } else {
+                        return IsConstExpr (Root->Right);
+                    }
+                } else {
+                    /* lhs not const --> tree not const */
+                    return 0;
+                }
+                break;
+
+            case EXPR_BOOLOR:
+                if (IsConstExpr (Root->Left)) {
+                    /* lhs is const, if it is not zero, don't eval right */
+                    if (GetExprVal (Root->Left) != 0) {
+                        return 1;
+                    } else {
+                        return IsConstExpr (Root->Right);
+                    }
+                } else {
+                    /* lhs not const --> tree not const */
+                    return 0;
+                }
+                break;
+
+            default:
+                /* All others are handled normal */
+                return IsConstExpr (Root->Left) && IsConstExpr (Root->Right);
+        }
     }
 }
 
@@ -228,10 +228,10 @@ Import* GetExprImport (ExprNode* Expr)
      * import pointer.
      */
     if (Expr->Obj) {
-       /* Return the Import */
-               return GetObjImport (Expr->Obj, Expr->V.ImpNum);
+        /* Return the Import */
+        return GetObjImport (Expr->Obj, Expr->V.ImpNum);
     } else {
-       return Expr->V.Imp;
+        return Expr->V.Imp;
     }
 }
 
@@ -260,10 +260,10 @@ Section* GetExprSection (ExprNode* Expr)
      * section pointer.
      */
     if (Expr->Obj) {
-       /* Return the export */
-               return CollAt (&Expr->Obj->Sections, Expr->V.SecNum);
+        /* Return the export */
+        return CollAt (&Expr->Obj->Sections, Expr->V.SecNum);
     } else {
-       return Expr->V.Sec;
+        return Expr->V.Sec;
     }
 }
 
@@ -281,102 +281,102 @@ long GetExprVal (ExprNode* Expr)
 
     switch (Expr->Op) {
 
-               case EXPR_LITERAL:
-           return Expr->V.IVal;
-
-               case EXPR_SYMBOL:
-           /* Get the referenced export */
-                   E = GetExprExport (Expr);
-           /* If this export has a mark set, we've already encountered it.
-            * This means that the export is used to define it's own value,
-            * which in turn means, that we have a circular reference.
-            */
-           if (ExportHasMark (E)) {
-               CircularRefError (E);
-               Val = 0;
-           } else {
-               MarkExport (E);
-               Val = GetExportVal (E);
-               UnmarkExport (E);
-           }
-           return Val;
+        case EXPR_LITERAL:
+            return Expr->V.IVal;
+
+        case EXPR_SYMBOL:
+            /* Get the referenced export */
+            E = GetExprExport (Expr);
+            /* If this export has a mark set, we've already encountered it.
+             * This means that the export is used to define it's own value,
+             * which in turn means, that we have a circular reference.
+             */
+            if (ExportHasMark (E)) {
+                CircularRefError (E);
+                Val = 0;
+            } else {
+                MarkExport (E);
+                Val = GetExportVal (E);
+                UnmarkExport (E);
+            }
+            return Val;
 
         case EXPR_SECTION:
-                   S = GetExprSection (Expr);
-           return S->Offs + S->Seg->PC;
+            S = GetExprSection (Expr);
+            return S->Offs + S->Seg->PC;
 
-       case EXPR_SEGMENT:
-                   return Expr->V.Seg->PC;
+        case EXPR_SEGMENT:
+            return Expr->V.Seg->PC;
 
         case EXPR_MEMAREA:
             return Expr->V.Mem->Start;
 
-               case EXPR_PLUS:
-           return GetExprVal (Expr->Left) + GetExprVal (Expr->Right);
+        case EXPR_PLUS:
+            return GetExprVal (Expr->Left) + GetExprVal (Expr->Right);
 
-               case EXPR_MINUS:
-           return GetExprVal (Expr->Left) - GetExprVal (Expr->Right);
+        case EXPR_MINUS:
+            return GetExprVal (Expr->Left) - GetExprVal (Expr->Right);
 
-               case EXPR_MUL:
-           return GetExprVal (Expr->Left) * GetExprVal (Expr->Right);
+        case EXPR_MUL:
+            return GetExprVal (Expr->Left) * GetExprVal (Expr->Right);
 
-               case EXPR_DIV:
-           Left  = GetExprVal (Expr->Left);
-           Right = GetExprVal (Expr->Right);
-           if (Right == 0) {
-               Error ("Division by zero");
-           }
-           return Left / Right;
+        case EXPR_DIV:
+            Left  = GetExprVal (Expr->Left);
+            Right = GetExprVal (Expr->Right);
+            if (Right == 0) {
+                Error ("Division by zero");
+            }
+            return Left / Right;
 
-               case EXPR_MOD:
-           Left  = GetExprVal (Expr->Left);
-           Right = GetExprVal (Expr->Right);
-           if (Right == 0) {
-               Error ("Modulo operation with zero");
-           }
-           return Left % Right;
+        case EXPR_MOD:
+            Left  = GetExprVal (Expr->Left);
+            Right = GetExprVal (Expr->Right);
+            if (Right == 0) {
+                Error ("Modulo operation with zero");
+            }
+            return Left % Right;
 
-               case EXPR_OR:
-                   return GetExprVal (Expr->Left) | GetExprVal (Expr->Right);
+        case EXPR_OR:
+            return GetExprVal (Expr->Left) | GetExprVal (Expr->Right);
 
-               case EXPR_XOR:
-                   return GetExprVal (Expr->Left) ^ GetExprVal (Expr->Right);
+        case EXPR_XOR:
+            return GetExprVal (Expr->Left) ^ GetExprVal (Expr->Right);
 
-               case EXPR_AND:
-                   return GetExprVal (Expr->Left) & GetExprVal (Expr->Right);
+        case EXPR_AND:
+            return GetExprVal (Expr->Left) & GetExprVal (Expr->Right);
 
-               case EXPR_SHL:
-                   return GetExprVal (Expr->Left) << GetExprVal (Expr->Right);
+        case EXPR_SHL:
+            return GetExprVal (Expr->Left) << GetExprVal (Expr->Right);
 
-               case EXPR_SHR:
-                   return GetExprVal (Expr->Left) >> GetExprVal (Expr->Right);
+        case EXPR_SHR:
+            return GetExprVal (Expr->Left) >> GetExprVal (Expr->Right);
 
-               case EXPR_EQ:
-                   return (GetExprVal (Expr->Left) == GetExprVal (Expr->Right));
+        case EXPR_EQ:
+            return (GetExprVal (Expr->Left) == GetExprVal (Expr->Right));
 
-               case EXPR_NE:
-                   return (GetExprVal (Expr->Left) != GetExprVal (Expr->Right));
+        case EXPR_NE:
+            return (GetExprVal (Expr->Left) != GetExprVal (Expr->Right));
 
-               case EXPR_LT:
-           return (GetExprVal (Expr->Left) < GetExprVal (Expr->Right));
+        case EXPR_LT:
+            return (GetExprVal (Expr->Left) < GetExprVal (Expr->Right));
 
-               case EXPR_GT:
-           return (GetExprVal (Expr->Left) > GetExprVal (Expr->Right));
+        case EXPR_GT:
+            return (GetExprVal (Expr->Left) > GetExprVal (Expr->Right));
 
-               case EXPR_LE:
-           return (GetExprVal (Expr->Left) <= GetExprVal (Expr->Right));
+        case EXPR_LE:
+            return (GetExprVal (Expr->Left) <= GetExprVal (Expr->Right));
 
-               case EXPR_GE:
-           return (GetExprVal (Expr->Left) >= GetExprVal (Expr->Right));
+        case EXPR_GE:
+            return (GetExprVal (Expr->Left) >= GetExprVal (Expr->Right));
 
-       case EXPR_BOOLAND:
-           return GetExprVal (Expr->Left) && GetExprVal (Expr->Right);
+        case EXPR_BOOLAND:
+            return GetExprVal (Expr->Left) && GetExprVal (Expr->Right);
 
-       case EXPR_BOOLOR:
-           return GetExprVal (Expr->Left) || GetExprVal (Expr->Right);
+        case EXPR_BOOLOR:
+            return GetExprVal (Expr->Left) || GetExprVal (Expr->Right);
 
-       case EXPR_BOOLXOR:
-           return (GetExprVal (Expr->Left) != 0) ^ (GetExprVal (Expr->Right) != 0);
+        case EXPR_BOOLXOR:
+            return (GetExprVal (Expr->Left) != 0) ^ (GetExprVal (Expr->Right) != 0);
 
         case EXPR_MAX:
             Left = GetExprVal (Expr->Left);
@@ -388,18 +388,18 @@ long GetExprVal (ExprNode* Expr)
             Right = GetExprVal (Expr->Right);
             return (Left < Right)? Left : Right;
 
-               case EXPR_UNARY_MINUS:
-           return -GetExprVal (Expr->Left);
+        case EXPR_UNARY_MINUS:
+            return -GetExprVal (Expr->Left);
 
-               case EXPR_NOT:
-           return ~GetExprVal (Expr->Left);
+        case EXPR_NOT:
+            return ~GetExprVal (Expr->Left);
 
         case EXPR_SWAP:
-           Left = GetExprVal (Expr->Left);
-           return ((Left >> 8) & 0x00FF) | ((Left << 8) & 0xFF00);
+            Left = GetExprVal (Expr->Left);
+            return ((Left >> 8) & 0x00FF) | ((Left << 8) & 0xFF00);
 
-       case EXPR_BOOLNOT:
-                   return !GetExprVal (Expr->Left);
+        case EXPR_BOOLNOT:
+            return !GetExprVal (Expr->Left);
 
         case EXPR_BANK:
             GetSegExprVal (Expr->Left, &D);
@@ -418,23 +418,23 @@ long GetExprVal (ExprNode* Expr)
             }
             return GetExprVal (D.Seg->MemArea->BankExpr);
 
-               case EXPR_BYTE0:
-           return GetExprVal (Expr->Left) & 0xFF;
+        case EXPR_BYTE0:
+            return GetExprVal (Expr->Left) & 0xFF;
 
-               case EXPR_BYTE1:
-           return (GetExprVal (Expr->Left) >> 8) & 0xFF;
+        case EXPR_BYTE1:
+            return (GetExprVal (Expr->Left) >> 8) & 0xFF;
 
-               case EXPR_BYTE2:
-           return (GetExprVal (Expr->Left) >> 16) & 0xFF;
+        case EXPR_BYTE2:
+            return (GetExprVal (Expr->Left) >> 16) & 0xFF;
 
-               case EXPR_BYTE3:
-           return (GetExprVal (Expr->Left) >> 24) & 0xFF;
+        case EXPR_BYTE3:
+            return (GetExprVal (Expr->Left) >> 24) & 0xFF;
 
-               case EXPR_WORD0:
-           return GetExprVal (Expr->Left) & 0xFFFF;
+        case EXPR_WORD0:
+            return GetExprVal (Expr->Left) & 0xFFFF;
 
-               case EXPR_WORD1:
-           return (GetExprVal (Expr->Left) >> 16) & 0xFFFF;
+        case EXPR_WORD1:
+            return (GetExprVal (Expr->Left) >> 16) & 0xFFFF;
 
         case EXPR_FARADDR:
             return GetExprVal (Expr->Left) & 0xFFFFFF;
@@ -443,9 +443,9 @@ long GetExprVal (ExprNode* Expr)
             return GetExprVal (Expr->Left) & 0xFFFFFFFF;
 
         default:
-                   Internal ("Unknown expression Op type: %u", Expr->Op);
-           /* NOTREACHED */
-           return 0;
+            Internal ("Unknown expression Op type: %u", Expr->Op);
+            /* NOTREACHED */
+            return 0;
     }
 }
 
@@ -462,66 +462,66 @@ static void GetSegExprValInternal (ExprNode* Expr, SegExprDesc* D, int Sign)
 
     switch (Expr->Op) {
 
-       case EXPR_LITERAL:
+        case EXPR_LITERAL:
             D->Val += (Sign * Expr->V.IVal);
-           break;
-
-       case EXPR_SYMBOL:
-           /* Get the referenced export */
-                   E = GetExprExport (Expr);
-           /* If this export has a mark set, we've already encountered it.
-            * This means that the export is used to define it's own value,
-            * which in turn means, that we have a circular reference.
-            */
-           if (ExportHasMark (E)) {
-               CircularRefError (E);
-                   } else {
-               MarkExport (E);
-                       GetSegExprValInternal (E->Expr, D, Sign);
-               UnmarkExport (E);
-           }
-           break;
-
-       case EXPR_SECTION:
-           if (D->Seg) {
-               /* We cannot handle more than one segment reference in o65 */
-               D->TooComplex = 1;
-           } else {
+            break;
+
+        case EXPR_SYMBOL:
+            /* Get the referenced export */
+            E = GetExprExport (Expr);
+            /* If this export has a mark set, we've already encountered it.
+             * This means that the export is used to define it's own value,
+             * which in turn means, that we have a circular reference.
+             */
+            if (ExportHasMark (E)) {
+                CircularRefError (E);
+            } else {
+                MarkExport (E);
+                GetSegExprValInternal (E->Expr, D, Sign);
+                UnmarkExport (E);
+            }
+            break;
+
+        case EXPR_SECTION:
+            if (D->Seg) {
+                /* We cannot handle more than one segment reference in o65 */
+                D->TooComplex = 1;
+            } else {
                 /* Get the section from the expression */
                 Section* S = GetExprSection (Expr);
-               /* Remember the segment reference */
-               D->Seg = S->Seg;
+                /* Remember the segment reference */
+                D->Seg = S->Seg;
                 /* Add the offset of the section to the constant value */
                 D->Val += Sign * (S->Offs + D->Seg->PC);
-           }
-           break;
+            }
+            break;
 
         case EXPR_SEGMENT:
-           if (D->Seg) {
-               /* We cannot handle more than one segment reference in o65 */
-               D->TooComplex = 1;
-           } else {
-                       /* Remember the segment reference */
-                       D->Seg = Expr->V.Seg;
+            if (D->Seg) {
+                /* We cannot handle more than one segment reference in o65 */
+                D->TooComplex = 1;
+            } else {
+                /* Remember the segment reference */
+                D->Seg = Expr->V.Seg;
                 /* Add the offset of the segment to the constant value */
                 D->Val += (Sign * D->Seg->PC);
-           }
-           break;
+            }
+            break;
 
-       case EXPR_PLUS:
-           GetSegExprValInternal (Expr->Left, D, Sign);
-           GetSegExprValInternal (Expr->Right, D, Sign);
-                   break;
+        case EXPR_PLUS:
+            GetSegExprValInternal (Expr->Left, D, Sign);
+            GetSegExprValInternal (Expr->Right, D, Sign);
+            break;
 
-       case EXPR_MINUS:
-           GetSegExprValInternal (Expr->Left, D, Sign);
-           GetSegExprValInternal (Expr->Right, D, -Sign);
-           break;
+        case EXPR_MINUS:
+            GetSegExprValInternal (Expr->Left, D, Sign);
+            GetSegExprValInternal (Expr->Right, D, -Sign);
+            break;
 
-       default:
-           /* Expression contains illegal operators */
-           D->TooComplex = 1;
-           break;
+        default:
+            /* Expression contains illegal operators */
+            D->TooComplex = 1;
+            break;
 
     }
 }
@@ -626,7 +626,7 @@ ExprNode* ReadExpr (FILE* F, ObjData* O)
     /* Read the node tag and handle NULL nodes */
     unsigned char Op = Read8 (F);
     if (Op == EXPR_NULL) {
-       return 0;
+        return 0;
     }
 
     /* Create a new node */
@@ -634,32 +634,32 @@ ExprNode* ReadExpr (FILE* F, ObjData* O)
 
     /* Check the tag and handle the different expression types */
     if (EXPR_IS_LEAF (Op)) {
-       switch (Op) {
+        switch (Op) {
 
-           case EXPR_LITERAL:
-               Expr->V.IVal = Read32Signed (F);
-               break;
+            case EXPR_LITERAL:
+                Expr->V.IVal = Read32Signed (F);
+                break;
 
-           case EXPR_SYMBOL:
-               /* Read the import number */
-               Expr->V.ImpNum = ReadVar (F);
-               break;
+            case EXPR_SYMBOL:
+                /* Read the import number */
+                Expr->V.ImpNum = ReadVar (F);
+                break;
 
-           case EXPR_SECTION:
-               /* Read the section number */
-               Expr->V.SecNum = ReadVar (F);
-               break;
+            case EXPR_SECTION:
+                /* Read the section number */
+                Expr->V.SecNum = ReadVar (F);
+                break;
 
-           default:
-               Error ("Invalid expression op: %02X", Op);
+            default:
+                Error ("Invalid expression op: %02X", Op);
 
-       }
+        }
 
     } else {
 
-       /* Not a leaf node */
-       Expr->Left = ReadExpr (F, O);
-       Expr->Right = ReadExpr (F, O);
+        /* Not a leaf node */
+        Expr->Left = ReadExpr (F, O);
+        Expr->Right = ReadExpr (F, O);
 
     }
 
@@ -674,43 +674,43 @@ int EqualExpr (ExprNode* E1, ExprNode* E2)
 {
     /* If one pointer is NULL, both must be NULL */
     if ((E1 == 0) ^ (E2 == 0)) {
-       return 0;
+        return 0;
     }
     if (E1 == 0) {
-       return 1;
+        return 1;
     }
 
     /* Both pointers not NULL, check OP */
     if (E1->Op != E2->Op) {
-       return 0;
+        return 0;
     }
 
     /* OPs are identical, check data for leafs, or subtrees */
     switch (E1->Op) {
 
-       case EXPR_LITERAL:
-           /* Value must be identical */
-           return (E1->V.IVal == E2->V.IVal);
+        case EXPR_LITERAL:
+            /* Value must be identical */
+            return (E1->V.IVal == E2->V.IVal);
 
-       case EXPR_SYMBOL:
-           /* Import must be identical */
-                   return (GetExprImport (E1) == GetExprImport (E2));
+        case EXPR_SYMBOL:
+            /* Import must be identical */
+            return (GetExprImport (E1) == GetExprImport (E2));
 
-       case EXPR_SECTION:
-                   /* Section must be identical */
-                   return (GetExprSection (E1) == GetExprSection (E2));
+        case EXPR_SECTION:
+            /* Section must be identical */
+            return (GetExprSection (E1) == GetExprSection (E2));
 
-       case EXPR_SEGMENT:
-                   /* Segment must be identical */
-                   return (E1->V.Seg == E2->V.Seg);
+        case EXPR_SEGMENT:
+            /* Segment must be identical */
+            return (E1->V.Seg == E2->V.Seg);
 
-       case EXPR_MEMAREA:
-                   /* Memory area must be identical */
-                   return (E1->V.Mem == E2->V.Mem);
+        case EXPR_MEMAREA:
+            /* Memory area must be identical */
+            return (E1->V.Mem == E2->V.Mem);
 
-       default:
-           /* Not a leaf node */
-                   return EqualExpr (E1->Left, E2->Left) && EqualExpr (E1->Right, E2->Right);
+        default:
+            /* Not a leaf node */
+            return EqualExpr (E1->Left, E2->Left) && EqualExpr (E1->Right, E2->Right);
     }
 
 }
index e35cfdf136ca67aa3ed9840cb5d4662f29dd150d..bc3e8b216d54062784c3809914c8bdb5f071b4d2 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 expr.h                                   */
+/*                                  expr.h                                   */
 /*                                                                           */
-/*                Expression evaluation for the ld65 linker                 */
+/*                 Expression evaluation for the ld65 linker                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 /* Structure for parsing segment based expression trees */
 typedef struct SegExprDesc SegExprDesc;
 struct SegExprDesc {
-    long                   Val;                /* The offset value */
-    int                    TooComplex;         /* Expression too complex */
+    long            Val;                /* The offset value */
+    int             TooComplex;         /* Expression too complex */
     Segment*        Seg;                /* Segment reference if any */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 261af681c8c5f51a36f973885bc62321f9983ad4..b19c231004104c312427f14f98e456b9d812efca 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                extsyms.c                                 */
+/*                                 extsyms.c                                 */
 /*                                                                           */
-/*     Handle program external symbols for relocatable output formats       */
+/*      Handle program external symbols for relocatable output formats       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Structure holding an external symbol */
 struct ExtSym {
-    unsigned    Name;                  /* Name index */
-    ExtSym*    List;           /* Next entry in list of all symbols */
-    ExtSym*            Next;           /* Next entry in hash list */
-    unsigned           Flags;          /* Generic flags */
-    unsigned   Num;            /* Number of external symbol */
+    unsigned    Name;           /* Name index */
+    ExtSym*     List;           /* Next entry in list of all symbols */
+    ExtSym*     Next;           /* Next entry in hash list */
+    unsigned    Flags;          /* Generic flags */
+    unsigned    Num;            /* Number of external symbol */
 };
 
 /* External symbol table structure */
 #define HASHTAB_MASK    0x3FU
-#define HASHTAB_SIZE           (HASHTAB_MASK + 1)
+#define HASHTAB_SIZE    (HASHTAB_MASK + 1)
 struct ExtSymTab {
-    ExtSym*    Root;           /* List of symbols */
-    ExtSym*    Last;           /* Pointer to last symbol */
-    unsigned   Count;          /* Number of symbols */
-    ExtSym*    HashTab[HASHTAB_SIZE];
+    ExtSym*     Root;           /* List of symbols */
+    ExtSym*     Last;           /* Pointer to last symbol */
+    unsigned    Count;          /* Number of symbols */
+    ExtSym*     HashTab[HASHTAB_SIZE];
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -86,10 +86,10 @@ ExtSym* NewExtSym (ExtSymTab* Tab, unsigned Name)
     unsigned Hash = (Name & HASHTAB_MASK);
 
     /* Check for duplicates */
-    ExtSym* E =        GetExtSym (Tab, Name);
+    ExtSym* E = GetExtSym (Tab, Name);
     if (E != 0) {
-       /* We do already have a symbol with this name */
-       Error ("Duplicate external symbol `%s'", GetString (Name));
+        /* We do already have a symbol with this name */
+        Error ("Duplicate external symbol `%s'", GetString (Name));
     }
 
     /* Allocate memory for the structure */
@@ -103,11 +103,11 @@ ExtSym* NewExtSym (ExtSymTab* Tab, unsigned Name)
 
     /* Insert the entry into the list of all symbols */
     if (Tab->Last == 0) {
-       /* List is empty */
-       Tab->Root = E;
+        /* List is empty */
+        Tab->Root = E;
     } else {
-       /* List not empty */
-               Tab->Last->List = E;
+        /* List not empty */
+        Tab->Last->List = E;
     }
     Tab->Last = E;
     ++Tab->Count;
@@ -141,11 +141,11 @@ ExtSymTab* NewExtSymTab (void)
     ExtSymTab* Tab = xmalloc (sizeof (ExtSymTab));
 
     /* Initialize the fields */
-    Tab->Root  = 0;
+    Tab->Root   = 0;
     Tab->Last   = 0;
     Tab->Count  = 0;
     for (I = 0; I < HASHTAB_SIZE; ++I) {
-       Tab->HashTab [I] = 0;
+        Tab->HashTab [I] = 0;
     }
 
     /* Done, return the hash table */
@@ -159,9 +159,9 @@ void FreeExtSymTab (ExtSymTab* Tab)
 {
     /* Free all entries */
     while (Tab->Root) {
-       ExtSym* E = Tab->Root;
-       Tab->Root = E->Next;
-       FreeExtSym (E);
+        ExtSym* E = Tab->Root;
+        Tab->Root = E->Next;
+        FreeExtSym (E);
     }
 
     /* Free the struct itself */
@@ -181,11 +181,11 @@ ExtSym* GetExtSym (const ExtSymTab* Tab, unsigned Name)
     /* Check the linked list */
     ExtSym* E = Tab->HashTab[Hash];
     while (E) {
-       if (E->Name == Name) {
-           /* Found it */
-           break;
-       }
-       E = E->Next;
+        if (E->Name == Name) {
+            /* Found it */
+            break;
+        }
+        E = E->Next;
     }
 
     /* Return the symbol we found */
index 74801e915daae907503905ee35d3915ae324967a..c3c82b2e2a0f770af1a7b230284b864b74f2246c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                extsyms.h                                 */
+/*                                 extsyms.h                                 */
 /*                                                                           */
-/*     Handle program external symbols for relocatable output formats       */
+/*      Handle program external symbols for relocatable output formats       */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ typedef struct ExtSymTab ExtSymTab;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 6c17fbd4a23b8d722e72b990fe9713c347779f1f..cc0238166c33ad7ddc79c0913338ddef422f06ba 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               fileinfo.c                                 */
+/*                                fileinfo.c                                 */
 /*                                                                           */
-/*                       Source file info structure                         */
+/*                        Source file info structure                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -57,7 +57,7 @@ static Collection FileInfos = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c4efc5a3a9417eb9910a4a0238b4c1f83d3c2e8b..038e2404c012a71fbeedd8273a42b6af7fc0b87b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               fileinfo.h                                 */
+/*                                fileinfo.h                                 */
 /*                                                                           */
-/*                       Source file info structure                         */
+/*                        Source file info structure                         */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@
 typedef struct FileInfo FileInfo;
 struct FileInfo {
     unsigned        Id;                 /* Id of file for debug info */
-    unsigned        Name;                      /* File name index */
+    unsigned        Name;               /* File name index */
     unsigned long   MTime;              /* Time of last modification */
     unsigned long   Size;               /* Size of the file */
     Collection      Modules;            /* Modules that use this file */
@@ -67,7 +67,7 @@ struct FileInfo {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index af00e35672041e39ce9dd1dc4062bb85c391dd63..9edb911ab49c69a0a25f633707f57feed76d1135 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.c                                  */
+/*                                 fileio.c                                  */
 /*                                                                           */
-/*                      File I/O for the ld65 linker                        */
+/*                       File I/O for the ld65 linker                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -56,7 +56,7 @@ void FileSetPos (FILE* F, unsigned long Pos)
 /* Seek to the given absolute position, fail on errors */
 {
     if (fseek (F, Pos, SEEK_SET) != 0) {
-       Error ("Cannot seek: %s", strerror (errno));
+        Error ("Cannot seek: %s", strerror (errno));
     }
 }
 
@@ -67,7 +67,7 @@ unsigned long FileGetPos (FILE* F)
 {
     long Pos = ftell (F);
     if (Pos < 0) {
-               Error ("Error in ftell: %s", strerror (errno));
+        Error ("Error in ftell: %s", strerror (errno));
     }
     return Pos;
 }
@@ -78,7 +78,7 @@ void Write8 (FILE* F, unsigned Val)
 /* Write an 8 bit value to the file */
 {
     if (putc (Val, F) == EOF) {
-       Error ("Write error (disk full?)");
+        Error ("Write error (disk full?)");
     }
 }
 
@@ -119,24 +119,24 @@ void WriteVal (FILE* F, unsigned long Val, unsigned Size)
 {
     switch (Size) {
 
-       case 1:
-           Write8 (F, Val);
-           break;
+        case 1:
+            Write8 (F, Val);
+            break;
 
-       case 2:
-           Write16 (F, Val);
-           break;
+        case 2:
+            Write16 (F, Val);
+            break;
 
-       case 3:
-           Write24 (F, Val);
-           break;
+        case 3:
+            Write24 (F, Val);
+            break;
 
-       case 4:
-           Write32 (F, Val);
-           break;
+        case 4:
+            Write32 (F, Val);
+            break;
 
-       default:
-                   Internal ("WriteVal: Invalid size: %u", Size);
+        default:
+            Internal ("WriteVal: Invalid size: %u", Size);
 
     }
 }
@@ -152,12 +152,12 @@ void WriteVar (FILE* F, unsigned long V)
      * needing 5 bytes if a 32 bit value is written to file.
      */
     do {
-       unsigned char C = (V & 0x7F);
-       V >>= 7;
-       if (V) {
-           C |= 0x80;
-       }
-       Write8 (F, C);
+        unsigned char C = (V & 0x7F);
+        V >>= 7;
+        if (V) {
+            C |= 0x80;
+        }
+        Write8 (F, C);
     } while (V != 0);
 }
 
@@ -177,7 +177,7 @@ void WriteData (FILE* F, const void* Data, unsigned Size)
 /* Write data to the file */
 {
     if (fwrite (Data, 1, Size, F) != Size) {
-       Error ("Write error (disk full?)");
+        Error ("Write error (disk full?)");
     }
 }
 
@@ -187,7 +187,7 @@ void WriteMult (FILE* F, unsigned char Val, unsigned long Count)
 /* Write one byte several times to the file */
 {
     while (Count--) {
-       Write8 (F, Val);
+        Write8 (F, Val);
     }
 }
 
@@ -199,7 +199,7 @@ unsigned Read8 (FILE* F)
     int C = getc (F);
     if (C == EOF) {
         long Pos = ftell (F);
-       Error ("Read error at position %ld (file corrupt?)", Pos);
+        Error ("Read error at position %ld (file corrupt?)", Pos);
     }
     return C;
 }
@@ -244,8 +244,8 @@ long Read32Signed (FILE* F)
 
     /* Sign extend the value */
     if (V & 0x80000000UL) {
-       /* Signed value */
-       V |= ~0xFFFFFFFFUL;
+        /* Signed value */
+        V |= ~0xFFFFFFFFUL;
     }
 
     /* Return it as a long */
@@ -264,12 +264,12 @@ unsigned long ReadVar (FILE* F)
     unsigned long V = 0;
     unsigned Shift = 0;
     do {
-       /* Read one byte */
-       C = Read8 (F);
-       /* Encode it into the target value */
-       V |= ((unsigned long)(C & 0x7F)) << Shift;
-       /* Next value */
-       Shift += 7;
+        /* Read one byte */
+        C = Read8 (F);
+        /* Encode it into the target value */
+        V |= ((unsigned long)(C & 0x7F)) << Shift;
+        /* Next value */
+        Shift += 7;
     } while (C & 0x80);
 
     /* Return the value read */
@@ -312,7 +312,7 @@ FilePos* ReadFilePos (FILE* F, FilePos* Pos)
 /* Read a file position from the file */
 {
     /* Read the data fields */
-    Pos->Line =        ReadVar (F);
+    Pos->Line = ReadVar (F);
     Pos->Col  = ReadVar (F);
     Pos->Name = ReadVar (F);
     return Pos;
@@ -325,10 +325,10 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
 {
     /* Explicitly allow reading zero bytes */
     if (Size > 0) {
-       if (fread (Data, 1, Size, F) != Size) {
+        if (fread (Data, 1, Size, F) != Size) {
             long Pos = ftell (F);
             Error ("Read error at position %ld (file corrupt?)", Pos);
-       }
+        }
     }
     return Data;
 }
index 7bcc96f30aea57133dd4122fcafb4fd2baa49155..f78f4a11bdfaf373dc6c5919da698ad4fe40606e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.h                                  */
+/*                                 fileio.h                                  */
 /*                                                                           */
-/*                      File I/O for the ld65 linker                        */
+/*                       File I/O for the ld65 linker                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 803efbf2dc16a30d476739cbf1547e9017b77e5b..42357bb47d83aa9f335ad375d0d6a3dfad53ed3f 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                filepath.c                                */
+/*                                 filepath.c                                */
 /*                                                                           */
 /*                    File search path handling for ld65                     */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ SearchPath*      CfgDefaultPath;        /* Default Config file path */
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 4d267b1562ef21a6a898f8a1a57615fa21aa29ef..97e77068bb579172ec739bf43b2d0fe9c8a67f65 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                filepath.h                                */
+/*                                 filepath.h                                */
 /*                                                                           */
 /*                    File search path handling for ld65                     */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,7 +60,7 @@ extern SearchPath*      CfgDefaultPath;         /* Default Config file path */
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3a9e13c7365351609f64259f5f58a74b33efb7e3..70ca3d037eabbf56621cf195867f9a2574564461 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               fragment.c                                 */
+/*                                fragment.c                                 */
 /*                                                                           */
-/*                       Code/data fragment routines                        */
+/*                        Code/data fragment routines                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -78,10 +78,10 @@ Fragment* NewFragment (unsigned char Type, unsigned Size, Section* S)
 
     /* Insert the code fragment into the section */
     if (S->FragRoot == 0) {
-       /* First fragment */
-       S->FragRoot = F;
+        /* First fragment */
+        S->FragRoot = F;
     } else {
-       S->FragLast->Next = F;
+        S->FragLast->Next = F;
     }
     S->FragLast = F;
 
index a94aad2c2622e9f8c62658be2ae407def6ebc73c..98f90f5689649a08aed017928e0c47a3431dfbd4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               fragment.h                                 */
+/*                                fragment.h                                 */
 /*                                                                           */
-/*                       Code/data fragment routines                        */
+/*                        Code/data fragment routines                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ struct Section;
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -66,20 +66,20 @@ struct Section;
 /* Fragment structure */
 typedef struct Fragment Fragment;
 struct Fragment {
-    Fragment*          Next;           /* Next fragment in list */
-    struct ObjData*    Obj;            /* Source of fragment */
+    Fragment*           Next;           /* Next fragment in list */
+    struct ObjData*     Obj;            /* Source of fragment */
     struct Section*     Sec;            /* Section for this fragment */
-    unsigned            Size;                  /* Size of data/expression */
-    struct ExprNode*   Expr;           /* Expression if FRAG_EXPR */
+    unsigned            Size;           /* Size of data/expression */
+    struct ExprNode*    Expr;           /* Expression if FRAG_EXPR */
     Collection          LineInfos;      /* Line info for this fragment */
-    unsigned char      Type;           /* Type of fragment */
-    unsigned char              LitBuf [1];     /* Dynamically alloc'ed literal buffer */
+    unsigned char       Type;           /* Type of fragment */
+    unsigned char       LitBuf [1];     /* Dynamically alloc'ed literal buffer */
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 94f378dec5aee7a5dcdfc06ecc43331ad528f390..985a5914fcd19f8c6ccd51bc744fe6870027596e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*                  Global variables for the ld65 linker                    */
+/*                   Global variables for the ld65 linker                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-const char* OutputName     = "a.out";  /* Name of output file */
+const char* OutputName      = "a.out";  /* Name of output file */
 unsigned    OutputNameUsed  = 0;        /* Output name was used by %O */
 
 unsigned ModuleId           = 0;        /* Id for o65 module */
@@ -52,9 +52,9 @@ unsigned ModuleId           = 0;        /* Id for o65 module */
 unsigned char HaveStartAddr = 0;        /* Start address not given */
 unsigned long StartAddr     = 0x200;    /* Start address */
 
-unsigned char VerboseMap    = 0;       /* Verbose map file */
-const char* MapFileName            = 0;        /* Name of the map file */
-const char* LabelFileName   = 0;       /* Name of the label file */
+unsigned char VerboseMap    = 0;        /* Verbose map file */
+const char* MapFileName     = 0;        /* Name of the map file */
+const char* LabelFileName   = 0;        /* Name of the label file */
 const char* DbgFileName     = 0;        /* Name of the debug file */
 
 
index 9ddec43fbcfac212e7dc817d857b2f28cfe4e9a8..957d34041e17c0442ad5ef4c2734c54f7f7b4b8f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*                  Global variables for the ld65 linker                    */
+/*                   Global variables for the ld65 linker                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-extern const char*     OutputName;     /* Name of output file */
+extern const char*      OutputName;     /* Name of output file */
 extern unsigned         OutputNameUsed; /* Output name was used by %O */
 
 extern unsigned         ModuleId;       /* Id for o65 module */
 
 extern unsigned char    HaveStartAddr;  /* True if start address was given */
-extern unsigned long   StartAddr;      /* Start address */
+extern unsigned long    StartAddr;      /* Start address */
 
-extern unsigned char   VerboseMap;     /* Verbose map file */
-extern const char*     MapFileName;    /* Name of the map file */
-extern const char*     LabelFileName;  /* Name of the label file */
+extern unsigned char    VerboseMap;     /* Verbose map file */
+extern const char*      MapFileName;    /* Name of the map file */
+extern const char*      LabelFileName;  /* Name of the label file */
 extern const char*      DbgFileName;    /* Name of the debug file */
 
 
index de7d378e7c36d8155a4eb59eb589ca7609aeeb20..c81ee6f91f8444b7fdc35f11e35c0c17aa010e5d 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                library.c                                 */
-/*                                                                          */
-/*         Library data structures and helpers for the ld65 linker          */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                 library.c                                 */
+/*                                                                           */
+/*          Library data structures and helpers for the ld65 linker          */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2011, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -135,7 +135,7 @@ static void FreeLibrary (Library* L)
 
 
 /*****************************************************************************/
-/*                      Reading file data structures                        */
+/*                       Reading file data structures                        */
 /*****************************************************************************/
 
 
@@ -158,7 +158,7 @@ static void LibReadHeader (Library* L)
     L->Header.Magic   = LIB_MAGIC;
     L->Header.Version = Read16 (L->F);
     if (L->Header.Version != LIB_VERSION) {
-               Error ("Wrong data version in `%s'", GetString (L->Name));
+        Error ("Wrong data version in `%s'", GetString (L->Name));
     }
     L->Header.Flags   = Read16 (L->F);
     L->Header.IndexOffs = Read32 (L->F);
@@ -171,21 +171,21 @@ static void LibReadObjHeader (Library* L, ObjData* O)
 {
     O->Header.Magic = Read32 (L->F);
     if (O->Header.Magic != OBJ_MAGIC) {
-       Error ("Object file `%s' in library `%s' is invalid",
-              GetObjFileName (O), GetString (L->Name));
+        Error ("Object file `%s' in library `%s' is invalid",
+               GetObjFileName (O), GetString (L->Name));
     }
     O->Header.Version = Read16 (L->F);
     if (O->Header.Version != OBJ_VERSION) {
-       Error ("Object file `%s' in library `%s' has wrong version",
-              GetObjFileName (O), GetString (L->Name));
+        Error ("Object file `%s' in library `%s' has wrong version",
+               GetObjFileName (O), GetString (L->Name));
     }
-    O->Header.Flags               = Read16 (L->F);
+    O->Header.Flags        = Read16 (L->F);
     O->Header.OptionOffs   = Read32 (L->F);
     O->Header.OptionSize   = Read32 (L->F);
-    O->Header.FileOffs    = Read32 (L->F);
-    O->Header.FileSize    = Read32 (L->F);
-    O->Header.SegOffs     = Read32 (L->F);
-    O->Header.SegSize     = Read32 (L->F);
+    O->Header.FileOffs     = Read32 (L->F);
+    O->Header.FileSize     = Read32 (L->F);
+    O->Header.SegOffs      = Read32 (L->F);
+    O->Header.SegSize      = Read32 (L->F);
     O->Header.ImportOffs   = Read32 (L->F);
     O->Header.ImportSize   = Read32 (L->F);
     O->Header.ExportOffs   = Read32 (L->F);
@@ -210,7 +210,7 @@ static ObjData* ReadIndexEntry (Library* L)
 /* Read one entry in the index */
 {
     /* Create a new entry and insert it into the list */
-    ObjData* O = NewObjData ();
+    ObjData* O  = NewObjData ();
 
     /* Remember from which library this module is */
     O->Lib = L;
@@ -219,10 +219,10 @@ static ObjData* ReadIndexEntry (Library* L)
     O->Name = ReadStr (L->F);
 
     /* Module flags/MTime/Start/Size */
-    O->Flags   = Read16 (L->F);
+    O->Flags    = Read16 (L->F);
     O->MTime    = Read32 (L->F);
-    O->Start   = Read32 (L->F);
-    Read32 (L->F);                     /* Skip Size */
+    O->Start    = Read32 (L->F);
+    Read32 (L->F);                      /* Skip Size */
 
     /* Done */
     return O;
@@ -271,7 +271,7 @@ static void LibReadIndex (Library* L)
 
     /* Read all entries in the index */
     while (ModuleCount--) {
-               CollAppend (&L->Modules, ReadIndexEntry (L));
+        CollAppend (&L->Modules, ReadIndexEntry (L));
     }
 
     /* Walk over the index and read basic data for all object files in the
@@ -285,7 +285,7 @@ static void LibReadIndex (Library* L)
 
 
 /*****************************************************************************/
-/*                            High level stuff                              */
+/*                             High level stuff                              */
 /*****************************************************************************/
 
 
@@ -300,12 +300,12 @@ static void LibCheckExports (ObjData* O)
     /* Check all exports */
     for (I = 0; I < CollCount (&O->Exports); ++I) {
         const Export* E = CollConstAt (&O->Exports, I);
-       if (IsUnresolved (E->Name)) {
+        if (IsUnresolved (E->Name)) {
            /* We need this module, insert the imports and exports */
-           O->Flags |= OBJ_REF;
+            O->Flags |= OBJ_REF;
             InsertObjGlobals (O);
             break;
-       }
+        }
     }
 }
 
index 425b32181eb7e30b6e5382d854c4972fc5f3678f..19648630c6a6957b5ffdce3ddcfa3f93888914ee 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                library.h                                 */
+/*                                 library.h                                 */
 /*                                                                           */
-/*         Library data structures and helpers for the ld65 linker          */
+/*          Library data structures and helpers for the ld65 linker          */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index 3ff8491c607aaef92a2faec390c01b0a96da1d67..cc54055c36b82f5c358f8d5ea52932c5713c7e8a 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               lineinfo.h                                 */
+/*                                lineinfo.h                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index c965b2d67035548c6b320b6690a3c4f1e8b2f688..5af9e57887dc9a37d54c6ac195009deb15feaef8 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               lineinfo.h                                 */
+/*                                lineinfo.h                                 */
 /*                                                                           */
-/*                     Source file line info structure                      */
+/*                      Source file line info structure                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -51,7 +51,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -62,7 +62,7 @@ struct Segment;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -74,7 +74,7 @@ struct Segment;
 typedef struct LineInfo LineInfo;
 struct LineInfo {
     unsigned            Id;             /* Line info id */
-    struct FileInfo*    File;          /* File struct for this line if any */
+    struct FileInfo*    File;           /* File struct for this line if any */
     unsigned            Type;           /* Type of line info */
     FilePos             Pos;            /* Position in file */
     unsigned*           Spans;          /* Spans for this line */
@@ -83,7 +83,7 @@ struct LineInfo {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 0f7eaa07fcfc827e0cf83abe63b1cede2ccc2177..25a6c76f82f17043f894961fbb5764d2b11a71f7 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                 main.c                                   */
-/*                                                                          */
-/*                    Main program for the ld65 linker                      */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                  main.c                                   */
+/*                                                                           */
+/*                     Main program for the ld65 linker                      */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2013, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-static unsigned                ObjFiles   = 0; /* Count of object files linked */
-static unsigned                LibFiles   = 0; /* Count of library files linked */
+static unsigned         ObjFiles   = 0; /* Count of object files linked */
+static unsigned         LibFiles   = 0; /* Count of library files linked */
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -139,19 +139,19 @@ static unsigned long CvtNumber (const char* Arg, const char* Number)
  */
 {
     unsigned long Val;
-    int          Converted;
+    int           Converted;
 
     /* Convert */
     if (*Number == '$') {
-       ++Number;
-       Converted = sscanf (Number, "%lx", &Val);
+        ++Number;
+        Converted = sscanf (Number, "%lx", &Val);
     } else {
-       Converted = sscanf (Number, "%li", (long*)&Val);
+        Converted = sscanf (Number, "%li", (long*)&Val);
     }
 
     /* Check if we do really have a number */
     if (Converted != 1) {
-               Error ("Invalid number given in argument: %s\n", Arg);
+        Error ("Invalid number given in argument: %s\n", Arg);
     }
 
     /* Return the result */
@@ -217,19 +217,19 @@ static void LinkFile (const char* Name, FILETYPE Type)
      */
     switch (Magic) {
 
-               case OBJ_MAGIC:
-                   ObjAdd (F, PathName);
-                   ++ObjFiles;
-                   break;
+        case OBJ_MAGIC:
+            ObjAdd (F, PathName);
+            ++ObjFiles;
+            break;
 
-               case LIB_MAGIC:
-                   LibAdd (F, PathName);
-                   ++LibFiles;
-                   break;
+        case LIB_MAGIC:
+            LibAdd (F, PathName);
+            ++LibFiles;
+            break;
 
-               default:
-           fclose (F);
-           Error ("File `%s' has unknown type", PathName);
+        default:
+            fclose (F);
+            Error ("File `%s' has unknown type", PathName);
 
     }
 
@@ -249,7 +249,7 @@ static void DefineSymbol (const char* Def)
 
     /* The symbol must start with a character or underline */
     if (Def [0] != '_' && !IsAlpha (Def [0])) {
-       InvDef (Def);
+        InvDef (Def);
     }
     P = Def;
 
@@ -263,18 +263,18 @@ static void DefineSymbol (const char* Def)
     if (*P != '=') {
         InvDef (Def);
     } else {
-       /* We have a value */
-       ++P;
-       if (*P == '$') {
-           ++P;
-           if (sscanf (P, "%lx", &Val) != 1) {
-               InvDef (Def);
-           }
-       } else {
-           if (sscanf (P, "%li", &Val) != 1) {
-               InvDef (Def);
-           }
-               }
+        /* We have a value */
+        ++P;
+        if (*P == '$') {
+            ++P;
+            if (sscanf (P, "%lx", &Val) != 1) {
+                InvDef (Def);
+            }
+        } else {
+            if (sscanf (P, "%li", &Val) != 1) {
+                InvDef (Def);
+            }
+        }
     }
 
     /* Define the new symbol */
@@ -297,7 +297,7 @@ static void OptConfig (const char* Opt attribute ((unused)), const char* Arg)
     char* PathName;
 
     if (CfgAvail ()) {
-       Error ("Cannot use -C/-t twice");
+        Error ("Cannot use -C/-t twice");
     }
     /* Search for the file */
     PathName = SearchFile (CfgSearchPath, Arg);
@@ -332,7 +332,7 @@ static void OptDefine (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptEndGroup (const char* Opt attribute ((unused)),
-                        const char* Arg attribute ((unused)))
+                         const char* Arg attribute ((unused)))
 /* End a library group */
 {
     LibEndGroup ();
@@ -379,7 +379,7 @@ static void OptForceImport (const char* Opt attribute ((unused)), const char* Ar
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -465,7 +465,7 @@ static void OptStartAddr (const char* Opt, const char* Arg)
 
 
 static void OptStartGroup (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Start a library group */
 {
     LibStartGroup ();
@@ -482,7 +482,7 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
     /* Map the target name to a target id */
     Target = FindTarget (Arg);
     if (Target == TGT_UNKNOWN) {
-               Error ("Invalid target name: `%s'", Arg);
+        Error ("Invalid target name: `%s'", Arg);
     }
 
     /* Set the target binary format */
@@ -513,7 +513,7 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr, "ld65 V%s\n", GetVersionAsString ());
@@ -526,23 +526,23 @@ int main (int argc, char* argv [])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-               { "--cfg-path",         1,      OptCfgPath              },
-               { "--config",           1,      OptConfig               },
-       { "--dbgfile",          1,      OptDbgFile              },
+        { "--cfg-path",         1,      OptCfgPath              },
+        { "--config",           1,      OptConfig               },
+        { "--dbgfile",          1,      OptDbgFile              },
         { "--define",           1,      OptDefine               },
         { "--end-group",        0,      OptEndGroup             },
         { "--force-import",     1,      OptForceImport          },
-       { "--help",             0,      OptHelp                 },
+        { "--help",             0,      OptHelp                 },
         { "--lib",              1,      OptLib                  },
-               { "--lib-path",         1,      OptLibPath              },
-       { "--mapfile",          1,      OptMapFile              },
-               { "--module-id",        1,      OptModuleId             },
+        { "--lib-path",         1,      OptLibPath              },
+        { "--mapfile",          1,      OptMapFile              },
+        { "--module-id",        1,      OptModuleId             },
         { "--obj",              1,      OptObj                  },
-               { "--obj-path",         1,      OptObjPath              },
-       { "--start-addr",       1,      OptStartAddr            },
+        { "--obj-path",         1,      OptObjPath              },
+        { "--start-addr",       1,      OptStartAddr            },
         { "--start-group",      0,      OptStartGroup           },
-       { "--target",           1,      OptTarget               },
-       { "--version",          0,      OptVersion              },
+        { "--target",           1,      OptTarget               },
+        { "--version",          0,      OptVersion              },
     };
 
     unsigned I;
@@ -564,18 +564,18 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-       /* Get the argument */
-       const char* Arg = ArgVec[I];
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
 
-       /* Check for an option */
-       if (Arg [0] == '-') {
+        /* Check for an option */
+        if (Arg [0] == '-') {
 
-           /* An option */
-           switch (Arg [1]) {
+            /* An option */
+            switch (Arg [1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
                 case '(':
                     OptStartGroup (Arg, 0);
@@ -585,86 +585,86 @@ int main (int argc, char* argv [])
                     OptEndGroup (Arg, 0);
                     break;
 
-               case 'h':
-               case '?':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                case '?':
+                    OptHelp (Arg, 0);
+                    break;
 
-               case 'm':
-                   OptMapFile (Arg, GetArg (&I, 2));
-                   break;
+                case 'm':
+                    OptMapFile (Arg, GetArg (&I, 2));
+                    break;
 
-               case 'o':
-                   OptOutputName (Arg, GetArg (&I, 2));
-                   break;
+                case 'o':
+                    OptOutputName (Arg, GetArg (&I, 2));
+                    break;
 
-               case 't':
-                   if (CfgAvail ()) {
-                       Error ("Cannot use -C/-t twice");
-                   }
-                   OptTarget (Arg, GetArg (&I, 2));
-                   break;
+                case 't':
+                    if (CfgAvail ()) {
+                        Error ("Cannot use -C/-t twice");
+                    }
+                    OptTarget (Arg, GetArg (&I, 2));
+                    break;
 
                 case 'u':
                     OptForceImport (Arg, GetArg (&I, 2));
                     break;
 
-               case 'v':
-                   switch (Arg [2]) {
-                       case 'm':   VerboseMap = 1;     break;
-                       case '\0':  ++Verbosity;        break;
-                       default:    UnknownOption (Arg);
-                   }
-                   break;
+                case 'v':
+                    switch (Arg [2]) {
+                        case 'm':   VerboseMap = 1;     break;
+                        case '\0':  ++Verbosity;        break;
+                        default:    UnknownOption (Arg);
+                    }
+                    break;
 
-               case 'C':
-                   OptConfig (Arg, GetArg (&I, 2));
-                   break;
+                case 'C':
+                    OptConfig (Arg, GetArg (&I, 2));
+                    break;
 
                 case 'D':
                     OptDefine (Arg, GetArg (&I, 2));
                     break;
 
-               case 'L':
-                   switch (Arg [2]) {
+                case 'L':
+                    switch (Arg [2]) {
                         /* ## The first one is obsolete and will go */
-                       case 'n': LabelFileName = GetArg (&I, 3);   break;
-                       default:  OptLibPath (Arg, GetArg (&I, 2)); break;
-                   }
-                   break;
+                        case 'n': LabelFileName = GetArg (&I, 3);   break;
+                        default:  OptLibPath (Arg, GetArg (&I, 2)); break;
+                    }
+                    break;
 
-               case 'S':
-                   OptStartAddr (Arg, GetArg (&I, 2));
-                   break;
+                case 'S':
+                    OptStartAddr (Arg, GetArg (&I, 2));
+                    break;
 
-               case 'V':
-                   OptVersion (Arg, 0);
-                   break;
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
 
-               default:
-                   UnknownOption (Arg);
-                   break;
-           }
+                default:
+                    UnknownOption (Arg);
+                    break;
+            }
 
-       } else {
+        } else {
 
-           /* A filename */
-           LinkFile (Arg, FILETYPE_UNKNOWN);
+            /* A filename */
+            LinkFile (Arg, FILETYPE_UNKNOWN);
 
-       }
+        }
 
-       /* Next argument */
-       ++I;
+        /* Next argument */
+        ++I;
     }
 
     /* Check if we had any object files */
     if (ObjFiles == 0) {
-       Error ("No object files to link");
+        Error ("No object files to link");
     }
 
     /* Check if we have a valid configuration */
     if (!CfgAvail ()) {
-               Error ("Memory configuration missing");
+        Error ("Memory configuration missing");
     }
 
     /* Check if we have open library groups */
@@ -705,19 +705,19 @@ int main (int argc, char* argv [])
 
     /* If requested, create a map file and a label file for VICE */
     if (MapFileName) {
-       CreateMapFile (LONG_MAPFILE);
+        CreateMapFile (LONG_MAPFILE);
     }
     if (LabelFileName) {
-       CreateLabelFile ();
+        CreateLabelFile ();
     }
     if (DbgFileName) {
-       CreateDbgFile ();
+        CreateDbgFile ();
     }
 
     /* Dump the data for debugging */
     if (Verbosity > 1) {
-       SegDump ();
-       ConDesDump ();
+        SegDump ();
+        ConDesDump ();
     }
 
     /* Return an apropriate exit code */
index 6dc4ffb60cb1663c015a9df7237d8248d899e1f8..fa8d98efcc266b5c7bcffc104fe827f25b2e492b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                mapfile.c                                 */
+/*                                 mapfile.c                                 */
 /*                                                                           */
-/*                  Map file creation for the ld65 linker                   */
+/*                   Map file creation for the ld65 linker                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -67,12 +67,12 @@ void CreateMapFile (int ShortMap)
     /* Open the map file */
     FILE* F = fopen (MapFileName, "w");
     if (F == 0) {
-       Error ("Cannot create map file `%s': %s", MapFileName, strerror (errno));
+        Error ("Cannot create map file `%s': %s", MapFileName, strerror (errno));
     }
 
     /* Write a modules list */
     fprintf (F, "Modules list:\n"
-               "-------------\n");
+                "-------------\n");
     for (I = 0; I < CollCount (&ObjDataList); ++I) {
 
         unsigned J;
@@ -104,8 +104,8 @@ void CreateMapFile (int ShortMap)
 
     /* Write the segment list */
     fprintf (F, "\n\n"
-                       "Segment list:\n"
-               "-------------\n");
+                "Segment list:\n"
+                "-------------\n");
     PrintSegmentMap (F);
 
     /* The remainder is not written for short map files */
@@ -126,7 +126,7 @@ void CreateMapFile (int ShortMap)
 
     /* Close the file */
     if (fclose (F) != 0) {
-       Error ("Error closing map file `%s': %s", MapFileName, strerror (errno));
+        Error ("Error closing map file `%s': %s", MapFileName, strerror (errno));
     }
 }
 
@@ -138,7 +138,7 @@ void CreateLabelFile (void)
     /* Open the label file */
     FILE* F = fopen (LabelFileName, "w");
     if (F == 0) {
-       Error ("Cannot create label file `%s': %s", LabelFileName, strerror (errno));
+        Error ("Cannot create label file `%s': %s", LabelFileName, strerror (errno));
     }
 
     /* Print the labels for the export symbols */
@@ -149,7 +149,7 @@ void CreateLabelFile (void)
 
     /* Close the file */
     if (fclose (F) != 0) {
-               Error ("Error closing label file `%s': %s", LabelFileName, strerror (errno));
+        Error ("Error closing label file `%s': %s", LabelFileName, strerror (errno));
     }
 }
 
index f1016aca73277a46db9ae2c6c2b341d75ad7a54f..c2685e7aad32d3d3c1522df18d36c0072e4912fa 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                mapfile.h                                 */
+/*                                 mapfile.h                                 */
 /*                                                                           */
-/*                  Map file creation for the ld65 linker                   */
+/*                   Map file creation for the ld65 linker                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ enum {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 4dbf8b3f62e3cb7884722194aaa7dd4cb6828bfd..5b562b34a44515d21441c7df17ed7b742dac3059 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 936edc3f77ddc853f4183cdb458d8a015cfa6de1..4e051871c567dfbb43f85935234566b5d0c48420 100644 (file)
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,32 +61,32 @@ typedef struct MemoryArea MemoryArea;
 struct MemoryArea {
     LineInfo*           LI;             /* Where was the area was defined? */
     unsigned            Name;           /* Name index of the memory area */
-    unsigned                   Attr;           /* Which values are valid? */
-    unsigned                   Flags;          /* Set of bitmapped flags */
+    unsigned            Attr;           /* Which values are valid? */
+    unsigned            Flags;          /* Set of bitmapped flags */
     unsigned long       FileOffs;       /* Offset in output file */
     struct ExprNode*    StartExpr;      /* Expression for start address */
-    unsigned long              Start;          /* Start address */
+    unsigned long       Start;          /* Start address */
     struct ExprNode*    SizeExpr;       /* Expression for size */
-    unsigned long              Size;           /* Length of memory section */
+    unsigned long       Size;           /* Length of memory section */
     struct ExprNode*    BankExpr;       /* Expression for bank */
-    unsigned long              FillLevel;      /* Actual fill level of segment */
-    unsigned char      FillVal;        /* Value used to fill rest of seg */
+    unsigned long       FillLevel;      /* Actual fill level of segment */
+    unsigned char       FillVal;        /* Value used to fill rest of seg */
     unsigned char       Relocatable;    /* Memory area is relocatable */
-    Collection          SegList;       /* List of segments for this area */
-    struct File*               F;              /* Output file for this area */
+    Collection          SegList;        /* List of segments for this area */
+    struct File*        F;              /* Output file for this area */
 };
 
 /* Memory flags */
-#define MF_DEFINE              0x0001          /* Define start and size */
-#define MF_FILL                0x0002          /* Fill segment */
-#define MF_RO          0x0004          /* Read only memory area */
+#define MF_DEFINE       0x0001          /* Define start and size */
+#define MF_FILL         0x0002          /* Fill segment */
+#define MF_RO           0x0004          /* Read only memory area */
 #define MF_OVERFLOW     0x0008          /* Memory area overflow */
 #define MF_PLACED       0x0010          /* Memory area was placed */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9bf72294478312c97a67fc66c9247e8aa9e657f4..7373c23c76ac957cc07ebec6f2d8c4b569a6ac6c 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  o65.c                                   */
+/*                                   o65.c                                   */
 /*                                                                           */
-/*                 Module to handle the o65 binary format                   */
+/*                  Module to handle the o65 binary format                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Header mode bits */
-#define MF_CPU_65816    0x8000         /* Executable is for 65816 */
+#define MF_CPU_65816    0x8000          /* Executable is for 65816 */
 #define MF_CPU_6502     0x0000          /* Executable is for the 6502 */
 #define MF_CPU_MASK     0x8000          /* Mask to extract CPU type */
 
@@ -75,7 +75,7 @@
 #define MF_RELOC_BYTE   0x0000          /* Byte wise relocation */
 #define MF_RELOC_MASK   0x4000          /* Mask to extract relocation type */
 
-#define MF_SIZE_32BIT  0x2000          /* All size words are 32bit */
+#define MF_SIZE_32BIT   0x2000          /* All size words are 32bit */
 #define MF_SIZE_16BIT   0x0000          /* All size words are 16bit */
 #define MF_SIZE_MASK    0x2000          /* Mask to extract size */
 
 #define MF_ALIGN_2      0x0001          /* Align words */
 #define MF_ALIGN_4      0x0002          /* Align longwords */
 #define MF_ALIGN_256    0x0003          /* Align pages (256 bytes) */
-#define MF_ALIGN_MASK   0x0003                 /* Mask to extract alignment */
+#define MF_ALIGN_MASK   0x0003          /* Mask to extract alignment */
 
 /* The four o65 segment types. Note: These values are identical to the values
  * needed for the segmentID in the o65 spec.
  */
-#define O65SEG_UNDEF   0x00
-#define O65SEG_ABS     0x01
-#define O65SEG_TEXT    0x02
-#define O65SEG_DATA    0x03
-#define O65SEG_BSS     0x04
-#define O65SEG_ZP      0x05
+#define O65SEG_UNDEF    0x00
+#define O65SEG_ABS      0x01
+#define O65SEG_TEXT     0x02
+#define O65SEG_DATA     0x03
+#define O65SEG_BSS      0x04
+#define O65SEG_ZP       0x05
 
 /* Relocation type codes for the o65 format */
-#define O65RELOC_WORD  0x80
-#define O65RELOC_HIGH  0x40
-#define O65RELOC_LOW   0x20
-#define O65RELOC_SEGADR        0xC0
-#define O65RELOC_SEG   0xA0
+#define O65RELOC_WORD   0x80
+#define O65RELOC_HIGH   0x40
+#define O65RELOC_LOW    0x20
+#define O65RELOC_SEGADR 0xC0
+#define O65RELOC_SEG    0xA0
 #define O65RELOC_MASK   0xE0
 
 /* O65 executable file header */
 typedef struct O65Header O65Header;
 struct O65Header {
-    unsigned       Version;            /* Version number for o65 format */
-    unsigned        Mode;                      /* Mode word */
-    unsigned long   TextBase;          /* Base address of text segment */
-    unsigned long   TextSize;          /* Size of text segment */
-    unsigned long   DataBase;          /* Base of data segment */
-    unsigned long   DataSize;          /* Size of data segment */
-    unsigned long   BssBase;           /* Base of bss segment */
-    unsigned long   BssSize;           /* Size of bss segment */
-    unsigned long   ZPBase;            /* Base of zeropage segment */
-    unsigned long   ZPSize;            /* Size of zeropage segment */
-    unsigned long   StackSize;         /* Requested stack size */
+    unsigned        Version;            /* Version number for o65 format */
+    unsigned        Mode;               /* Mode word */
+    unsigned long   TextBase;           /* Base address of text segment */
+    unsigned long   TextSize;           /* Size of text segment */
+    unsigned long   DataBase;           /* Base of data segment */
+    unsigned long   DataSize;           /* Size of data segment */
+    unsigned long   BssBase;            /* Base of bss segment */
+    unsigned long   BssSize;            /* Size of bss segment */
+    unsigned long   ZPBase;             /* Base of zeropage segment */
+    unsigned long   ZPSize;             /* Size of zeropage segment */
+    unsigned long   StackSize;          /* Requested stack size */
 };
 
 /* An o65 option */
 typedef struct O65Option O65Option;
 struct O65Option {
-    O65Option*     Next;               /* Next in option list */
-    unsigned char   Type;              /* Type of option */
-    unsigned char   Len;               /* Data length */
-    unsigned char   Data [1];          /* Data, dynamically allocated */
+    O65Option*      Next;               /* Next in option list */
+    unsigned char   Type;               /* Type of option */
+    unsigned char   Len;                /* Data length */
+    unsigned char   Data [1];           /* Data, dynamically allocated */
 };
 
 /* A o65 relocation table */
 typedef struct O65RelocTab O65RelocTab;
 struct O65RelocTab {
-    unsigned       Size;               /* Size of the table */
-    unsigned       Fill;               /* Amount used */
-    unsigned char*  Buf;               /* Buffer, dynamically allocated */
+    unsigned        Size;               /* Size of the table */
+    unsigned        Fill;               /* Amount used */
+    unsigned char*  Buf;                /* Buffer, dynamically allocated */
 };
 
 /* Structure describing the format */
 struct O65Desc {
-    O65Header      Header;             /* File header */
-    O65Option*     Options;            /* List of file options */
-    ExtSymTab*     Exports;            /* Table with exported symbols */
-    ExtSymTab*     Imports;            /* Table with imported symbols */
-    unsigned               Undef;              /* Count of undefined symbols */
-    FILE*          F;                  /* The file we're writing to */
-    const char*     Filename;          /* Name of the output file */
-    O65RelocTab*    TextReloc;         /* Relocation table for text segment */
-    O65RelocTab*    DataReloc;         /* Relocation table for data segment */
-
-    unsigned       TextCount;          /* Number of segments assigned to .text */
-    SegDesc**      TextSeg;            /* Array of text segments */
-    unsigned       DataCount;          /* Number of segments assigned to .data */
-    SegDesc**      DataSeg;            /* Array of data segments */
-    unsigned       BssCount;           /* Number of segments assigned to .bss */
-    SegDesc**      BssSeg;             /* Array of bss segments */
-    unsigned       ZPCount;            /* Number of segments assigned to .zp */
-    SegDesc**      ZPSeg;              /* Array of zp segments */
+    O65Header       Header;             /* File header */
+    O65Option*      Options;            /* List of file options */
+    ExtSymTab*      Exports;            /* Table with exported symbols */
+    ExtSymTab*      Imports;            /* Table with imported symbols */
+    unsigned        Undef;              /* Count of undefined symbols */
+    FILE*           F;                  /* The file we're writing to */
+    const char*     Filename;           /* Name of the output file */
+    O65RelocTab*    TextReloc;          /* Relocation table for text segment */
+    O65RelocTab*    DataReloc;          /* Relocation table for data segment */
+
+    unsigned        TextCount;          /* Number of segments assigned to .text */
+    SegDesc**       TextSeg;            /* Array of text segments */
+    unsigned        DataCount;          /* Number of segments assigned to .data */
+    SegDesc**       DataSeg;            /* Array of data segments */
+    unsigned        BssCount;           /* Number of segments assigned to .bss */
+    SegDesc**       BssSeg;             /* Array of bss segments */
+    unsigned        ZPCount;            /* Number of segments assigned to .zp */
+    SegDesc**       ZPSeg;              /* Array of zp segments */
 
     /* Temporary data for writing segments */
     unsigned long   SegSize;
     O65RelocTab*    CurReloc;
-    long           LastOffs;
+    long            LastOffs;
 };
 
 /* Structure for parsing expression trees */
 typedef struct ExprDesc ExprDesc;
 struct ExprDesc {
-    O65Desc*               D;                  /* File format descriptor */
-    long                   Val;                /* The offset value */
-    int                    TooComplex;         /* Expression too complex */
+    O65Desc*        D;                  /* File format descriptor */
+    long            Val;                /* The offset value */
+    int             TooComplex;         /* Expression too complex */
     MemoryArea*     MemRef;             /* Memory reference if any */
     Segment*        SegRef;             /* Segment reference if any */
-    Section*               SecRef;             /* Section reference if any */
-    ExtSym*                ExtRef;             /* External reference if any */
+    Section*        SecRef;             /* Section reference if any */
+    ExtSym*         ExtRef;             /* External reference if any */
 };
 
 
 
 /*****************************************************************************/
-/*                            Helper functions                              */
+/*                             Helper functions                              */
 /*****************************************************************************/
 
 
@@ -194,8 +194,8 @@ struct ExprDesc {
 static ExprDesc* InitExprDesc (ExprDesc* ED, O65Desc* D)
 /* Initialize an ExprDesc structure for use with O65ParseExpr */
 {
-    ED->D         = D;
-    ED->Val       = 0;
+    ED->D          = D;
+    ED->Val        = 0;
     ED->TooComplex = 0;
     ED->MemRef     = 0;
     ED->SegRef     = 0;
@@ -210,9 +210,9 @@ static void WriteSize (const O65Desc* D, unsigned long Val)
 /* Write a "size" word to the file */
 {
     switch (D->Header.Mode & MF_SIZE_MASK) {
-       case MF_SIZE_16BIT:     Write16 (D->F, (unsigned) Val); break;
-       case MF_SIZE_32BIT:     Write32 (D->F, Val);            break;
-       default:                Internal ("Invalid size in header: %04X", D->Header.Mode);
+        case MF_SIZE_16BIT:     Write16 (D->F, (unsigned) Val); break;
+        case MF_SIZE_32BIT:     Write32 (D->F, Val);            break;
+        default:                Internal ("Invalid size in header: %04X", D->Header.Mode);
     }
 }
 
@@ -228,13 +228,13 @@ static unsigned O65SegType (const SegDesc* S)
      * to check SF_ZP first.
      */
     if (S->Flags & SF_RO) {
-       return O65SEG_TEXT;
+        return O65SEG_TEXT;
     } else if (S->Flags & SF_ZP) {
-       return O65SEG_ZP;
+        return O65SEG_ZP;
     } else if (S->Flags & SF_BSS) {
-       return O65SEG_BSS;
+        return O65SEG_BSS;
     } else {
-       return O65SEG_DATA;
+        return O65SEG_DATA;
     }
 }
 
@@ -257,7 +257,7 @@ static void CvtMemoryToSegment (ExprDesc* ED)
     for (I = 0; I < CollCount (&M->SegList); ++I) {
 
         /* Get the segment and check if it's a run segment */
-       SegDesc* S = CollAtUnchecked (&M->SegList, I);
+        SegDesc* S = CollAtUnchecked (&M->SegList, I);
         if (S->Run == M) {
 
             unsigned long O;
@@ -297,10 +297,10 @@ static const SegDesc* FindSeg (SegDesc** const List, unsigned Count, const Segme
     unsigned I;
 
     for (I = 0; I < Count; ++I) {
-       if (List[I]->Seg == S) {
-           /* Found */
-           return List[I];
-       }
+        if (List[I]->Seg == S) {
+            /* Found */
+            return List[I];
+        }
     }
 
     /* Not found */
@@ -315,16 +315,16 @@ static const SegDesc* O65FindSeg (const O65Desc* D, const Segment* S)
     const SegDesc* SD;
 
     if ((SD = FindSeg (D->TextSeg, D->TextCount, S)) != 0) {
-       return SD;
+        return SD;
     }
     if ((SD = FindSeg (D->DataSeg, D->DataCount, S)) != 0) {
-       return SD;
+        return SD;
     }
     if ((SD = FindSeg (D->BssSeg, D->BssCount, S)) != 0) {
-       return SD;
+        return SD;
     }
     if ((SD = FindSeg (D->ZPSeg, D->ZPCount, S)) != 0) {
-       return SD;
+        return SD;
     }
 
     /* Not found */
@@ -334,7 +334,7 @@ static const SegDesc* O65FindSeg (const O65Desc* D, const Segment* S)
 
 
 /*****************************************************************************/
-/*                           Expression handling                            */
+/*                            Expression handling                            */
 /*****************************************************************************/
 
 
@@ -349,89 +349,89 @@ static void O65ParseExpr (ExprNode* Expr, ExprDesc* D, int Sign)
 
     switch (Expr->Op) {
 
-       case EXPR_LITERAL:
+        case EXPR_LITERAL:
             D->Val += (Sign * Expr->V.IVal);
-           break;
-
-       case EXPR_SYMBOL:
-           /* Get the referenced Export */
-           E = GetExprExport (Expr);
-           /* If this export has a mark set, we've already encountered it.
-            * This means that the export is used to define it's own value,
-            * which in turn means, that we have a circular reference.
-            */
-           if (ExportHasMark (E)) {
-               CircularRefError (E);
-           } else if (E->Expr == 0) {
-               /* Dummy export, must be an o65 imported symbol */
-               ExtSym* S = O65GetImport (D->D, E->Name);
-               CHECK (S != 0);
-               if (D->ExtRef) {
-                   /* We cannot have more than one external reference in o65 */
-                   D->TooComplex = 1;
-               } else {
-                   /* Remember the external reference */
-                   D->ExtRef = S;
-               }
-           } else {
-               MarkExport (E);
-               O65ParseExpr (E->Expr, D, Sign);
-               UnmarkExport (E);
-           }
-           break;
-
-       case EXPR_SECTION:
-           if (D->SecRef) {
-               /* We cannot handle more than one segment reference in o65 */
-               D->TooComplex = 1;
-           } else {
-               /* Remember the segment reference */
-               D->SecRef = GetExprSection (Expr);
+            break;
+
+        case EXPR_SYMBOL:
+            /* Get the referenced Export */
+            E = GetExprExport (Expr);
+            /* If this export has a mark set, we've already encountered it.
+             * This means that the export is used to define it's own value,
+             * which in turn means, that we have a circular reference.
+             */
+            if (ExportHasMark (E)) {
+                CircularRefError (E);
+            } else if (E->Expr == 0) {
+                /* Dummy export, must be an o65 imported symbol */
+                ExtSym* S = O65GetImport (D->D, E->Name);
+                CHECK (S != 0);
+                if (D->ExtRef) {
+                    /* We cannot have more than one external reference in o65 */
+                    D->TooComplex = 1;
+                } else {
+                    /* Remember the external reference */
+                    D->ExtRef = S;
+                }
+            } else {
+                MarkExport (E);
+                O65ParseExpr (E->Expr, D, Sign);
+                UnmarkExport (E);
+            }
+            break;
+
+        case EXPR_SECTION:
+            if (D->SecRef) {
+                /* We cannot handle more than one segment reference in o65 */
+                D->TooComplex = 1;
+            } else {
+                /* Remember the segment reference */
+                D->SecRef = GetExprSection (Expr);
                 /* Add the offset of the section to the constant value */
                 D->Val += Sign * (D->SecRef->Offs + D->SecRef->Seg->PC);
-           }
-           break;
+            }
+            break;
 
         case EXPR_SEGMENT:
-           if (D->SegRef) {
-               /* We cannot handle more than one segment reference in o65 */
-               D->TooComplex = 1;
-           } else {
-               /* Remember the segment reference */
-                       D->SegRef = Expr->V.Seg;
+            if (D->SegRef) {
+                /* We cannot handle more than one segment reference in o65 */
+                D->TooComplex = 1;
+            } else {
+                /* Remember the segment reference */
+                D->SegRef = Expr->V.Seg;
                 /* Add the offset of the segment to the constant value */
                 D->Val += (Sign * D->SegRef->PC);
-           }
-           break;
+            }
+            break;
 
         case EXPR_MEMAREA:
-           if (D->MemRef) {
-               /* We cannot handle more than one memory reference in o65 */
-               D->TooComplex = 1;
-           } else {
-               /* Remember the memory area reference */
-                       D->MemRef = Expr->V.Mem;
+            if (D->MemRef) {
+                /* We cannot handle more than one memory reference in o65 */
+                D->TooComplex = 1;
+            } else {
+                /* Remember the memory area reference */
+                D->MemRef = Expr->V.Mem;
                 /* Add the start address of the memory area to the constant
                  * value
                  */
                 D->Val += (Sign * D->MemRef->Start);
-           }
-           break;
+            }
+            break;
 
-       case EXPR_PLUS:
-           O65ParseExpr (Expr->Left, D, Sign);
-           O65ParseExpr (Expr->Right, D, Sign);
-           break;
+        case EXPR_PLUS:
+            O65ParseExpr (Expr->Left, D, Sign);
+            O65ParseExpr (Expr->Right, D, Sign);
+            break;
 
-       case EXPR_MINUS:
-           O65ParseExpr (Expr->Left, D, Sign);
-           O65ParseExpr (Expr->Right, D, -Sign);
-           break;
+        case EXPR_MINUS:
+            O65ParseExpr (Expr->Left, D, Sign);
+            O65ParseExpr (Expr->Right, D, -Sign);
+            break;
 
-       default:
-           /* Expression contains illegal operators */
-           D->TooComplex = 1;
-           break;
+        default:
+            /* Expression contains illegal operators */
+            D->TooComplex = 1;
+            break;
 
     }
 }
@@ -439,7 +439,7 @@ static void O65ParseExpr (ExprNode* Expr, ExprDesc* D, int Sign)
 
 
 /*****************************************************************************/
-/*                            Relocation tables                             */
+/*                             Relocation tables                             */
 /*****************************************************************************/
 
 
@@ -475,7 +475,7 @@ static void O65RelocPutByte (O65RelocTab* R, unsigned B)
 {
     /* Do we have enough space in the buffer? */
     if (R->Fill == R->Size) {
-       /* We need to grow the buffer */
+        /* We need to grow the buffer */
         if (R->Size) {
             R->Size *= 2;
         } else {
@@ -508,7 +508,7 @@ static void O65WriteReloc (O65RelocTab* R, FILE* F)
 
 
 /*****************************************************************************/
-/*                             Option handling                              */
+/*                              Option handling                              */
 /*****************************************************************************/
 
 
@@ -525,9 +525,9 @@ static O65Option* NewO65Option (unsigned Type, const void* Data, unsigned DataLe
     O = xmalloc (sizeof (O65Option) - 1 + DataLen);
 
     /* Initialize the structure */
-    O->Next            = 0;
-    O->Type            = Type;
-    O->Len             = DataLen;
+    O->Next     = 0;
+    O->Type     = Type;
+    O->Len      = DataLen;
     memcpy (O->Data, Data, DataLen);
 
     /* Return the created struct */
@@ -537,7 +537,7 @@ static O65Option* NewO65Option (unsigned Type, const void* Data, unsigned DataLe
 
 
 static void FreeO65Option (O65Option* O)
-/* Free        an O65Option struct */
+/* Free an O65Option struct */
 {
     xfree (O);
 }
@@ -545,7 +545,7 @@ static void FreeO65Option (O65Option* O)
 
 
 /*****************************************************************************/
-/*                    Subroutines to write o65 sections                     */
+/*                     Subroutines to write o65 sections                     */
 /*****************************************************************************/
 
 
@@ -554,7 +554,7 @@ static void O65WriteHeader (O65Desc* D)
 /* Write the header of the executable to the given file */
 {
     static unsigned char Trailer [5] = {
-               0x01, 0x00, 0x6F, 0x36, 0x35
+        0x01, 0x00, 0x6F, 0x36, 0x35
     };
 
     O65Option* O;
@@ -576,12 +576,12 @@ static void O65WriteHeader (O65Desc* D)
     /* Write the options */
     O = D->Options;
     while (O) {
-               Write8 (D->F, O->Len + 2);              /* Account for len and type bytes */
-       Write8 (D->F, O->Type);
-       if (O->Len) {
-           WriteData (D->F, O->Data, O->Len);
-       }
-       O = O->Next;
+        Write8 (D->F, O->Len + 2);              /* Account for len and type bytes */
+        Write8 (D->F, O->Type);
+        if (O->Len) {
+            WriteData (D->F, O->Data, O->Len);
+        }
+        O = O->Next;
     }
 
     /* Write the end-of-options byte */
@@ -591,7 +591,7 @@ static void O65WriteHeader (O65Desc* D)
 
 
 static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
-                                     unsigned long Offs, void* Data)
+                              unsigned long Offs, void* Data)
 /* Called from SegWrite for an expression. Evaluate the expression, check the
  * range and write the expression value to the file, update the relocation
  * table.
@@ -609,19 +609,19 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
 
     /* Check for a constant expression */
     if (IsConstExpr (E)) {
-               /* Write out the constant expression */
-               return SegWriteConstExpr (((O65Desc*)Data)->F, E, Signed, Size);
+        /* Write out the constant expression */
+        return SegWriteConstExpr (((O65Desc*)Data)->F, E, Signed, Size);
     }
 
     /* We have a relocatable expression that needs a relocation table entry.
      * Calculate the number of bytes between this entry and the last one, and
      * setup all necessary intermediate bytes in the relocation table.
      */
-    Offs += D->SegSize;                /* Calulate full offset */
+    Offs += D->SegSize;         /* Calulate full offset */
     Diff = ((long) Offs) - D->LastOffs;
     while (Diff > 0xFE) {
-               O65RelocPutByte (D->CurReloc, 0xFF);
-               Diff -= 0xFE;
+        O65RelocPutByte (D->CurReloc, 0xFF);
+        Diff -= 0xFE;
     }
     O65RelocPutByte (D->CurReloc, (unsigned char) Diff);
 
@@ -631,11 +631,11 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
     /* Determine the expression to relocate */
     Expr = E;
     if (E->Op == EXPR_BYTE0   || E->Op == EXPR_BYTE1 ||
-               E->Op == EXPR_BYTE2   || E->Op == EXPR_BYTE3 ||
-               E->Op == EXPR_WORD0   || E->Op == EXPR_WORD1 ||
+        E->Op == EXPR_BYTE2   || E->Op == EXPR_BYTE3 ||
+        E->Op == EXPR_WORD0   || E->Op == EXPR_WORD1 ||
         E->Op == EXPR_FARADDR || E->Op == EXPR_DWORD) {
-               /* Use the real expression */
-               Expr = E->Left;
+        /* Use the real expression */
+        Expr = E->Left;
     }
 
     /* Recursively collect information about this expression */
@@ -645,7 +645,7 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
     RefCount = (ED.MemRef != 0) + (ED.SegRef != 0) +
                (ED.SecRef != 0) + (ED.ExtRef != 0);
     if (RefCount > 1) {
-               ED.TooComplex = 1;
+        ED.TooComplex = 1;
     }
 
     /* If we have a memory area reference, we need to convert it into a
@@ -661,7 +661,7 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
 
     /* Bail out if we cannot handle the expression */
     if (ED.TooComplex) {
-               return SEG_EXPR_TOO_COMPLEX;
+        return SEG_EXPR_TOO_COMPLEX;
     }
 
     /* Safety: Check that we have exactly one reference */
@@ -670,12 +670,12 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
     /* Write out the offset that goes into the segment. */
     BinVal = ED.Val;
     switch (E->Op) {
-               case EXPR_BYTE0:    BinVal &= 0xFF;                     break;
-               case EXPR_BYTE1:    BinVal = (BinVal >>  8) & 0xFF;     break;
-               case EXPR_BYTE2:    BinVal = (BinVal >> 16) & 0xFF;     break;
-               case EXPR_BYTE3:    BinVal = (BinVal >> 24) & 0xFF;     break;
-               case EXPR_WORD0:    BinVal &= 0xFFFF;                   break;
-               case EXPR_WORD1:    BinVal = (BinVal >> 16) & 0xFFFF;   break;
+        case EXPR_BYTE0:    BinVal &= 0xFF;                     break;
+        case EXPR_BYTE1:    BinVal = (BinVal >>  8) & 0xFF;     break;
+        case EXPR_BYTE2:    BinVal = (BinVal >> 16) & 0xFF;     break;
+        case EXPR_BYTE3:    BinVal = (BinVal >> 24) & 0xFF;     break;
+        case EXPR_WORD0:    BinVal &= 0xFFFF;                   break;
+        case EXPR_WORD1:    BinVal = (BinVal >> 16) & 0xFFFF;   break;
         case EXPR_FARADDR:  BinVal &= 0xFFFFFFUL;               break;
         case EXPR_DWORD:    BinVal &= 0xFFFFFFFFUL;             break;
     }
@@ -685,34 +685,34 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
      * information gathered about the expression.
      */
     if (E->Op == EXPR_BYTE0) {
-               RelocType = O65RELOC_LOW;
+        RelocType = O65RELOC_LOW;
     } else if (E->Op == EXPR_BYTE1) {
-               RelocType = O65RELOC_HIGH;
+        RelocType = O65RELOC_HIGH;
     } else if (E->Op == EXPR_BYTE2) {
-               RelocType = O65RELOC_SEG;
+        RelocType = O65RELOC_SEG;
     } else {
-               switch (Size) {
+        switch (Size) {
 
-                   case 1:
-                       RelocType = O65RELOC_LOW;
-                       break;
+            case 1:
+                RelocType = O65RELOC_LOW;
+                break;
 
-                   case 2:
-                       RelocType = O65RELOC_WORD;
-                       break;
+            case 2:
+                RelocType = O65RELOC_WORD;
+                break;
 
-                   case 3:
-                       RelocType = O65RELOC_SEGADR;
-                       break;
+            case 3:
+                RelocType = O65RELOC_SEGADR;
+                break;
 
-                   case 4:
-                       /* 4 byte expression not supported by o65 */
-                       return SEG_EXPR_TOO_COMPLEX;
+            case 4:
+                /* 4 byte expression not supported by o65 */
+                return SEG_EXPR_TOO_COMPLEX;
 
-                   default:
-                       Internal ("O65WriteExpr: Invalid expression size: %u", Size);
-                       RelocType = 0;          /* Avoid gcc warnings */
-               }
+            default:
+                Internal ("O65WriteExpr: Invalid expression size: %u", Size);
+                RelocType = 0;          /* Avoid gcc warnings */
+        }
     }
 
     /* Determine which segment we're referencing */
@@ -726,33 +726,33 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size,
             ED.SegRef = ED.SecRef->Seg;
         }
 
-               /* Search for the segment and map it to it's o65 segmentID */
-               Seg = O65FindSeg (D, ED.SegRef);
-       if (Seg == 0) {
-           /* For some reason, we didn't find this segment in the list of
-            * segments written to the o65 file.
-            */
-           return SEG_EXPR_INVALID;
-       }
-       RelocType |= O65SegType (Seg);
-       O65RelocPutByte (D->CurReloc, RelocType);
-
-       /* Output additional data if needed */
-       switch (RelocType & O65RELOC_MASK) {
-           case O65RELOC_HIGH:
-               O65RelocPutByte (D->CurReloc, ED.Val & 0xFF);
-               break;
-           case O65RELOC_SEG:
-               O65RelocPutWord (D->CurReloc, ED.Val & 0xFFFF);
-               break;
-       }
+        /* Search for the segment and map it to it's o65 segmentID */
+        Seg = O65FindSeg (D, ED.SegRef);
+        if (Seg == 0) {
+            /* For some reason, we didn't find this segment in the list of
+             * segments written to the o65 file.
+             */
+            return SEG_EXPR_INVALID;
+        }
+        RelocType |= O65SegType (Seg);
+        O65RelocPutByte (D->CurReloc, RelocType);
+
+        /* Output additional data if needed */
+        switch (RelocType & O65RELOC_MASK) {
+            case O65RELOC_HIGH:
+                O65RelocPutByte (D->CurReloc, ED.Val & 0xFF);
+                break;
+            case O65RELOC_SEG:
+                O65RelocPutWord (D->CurReloc, ED.Val & 0xFFFF);
+                break;
+        }
 
     } else if (ED.ExtRef) {
-               /* Imported symbol */
-               RelocType |= O65SEG_UNDEF;
-               O65RelocPutByte (D->CurReloc, RelocType);
-               /* Put the number of the imported symbol into the table */
-               O65RelocPutWord (D->CurReloc, ExtSymNum (ED.ExtRef));
+        /* Imported symbol */
+        RelocType |= O65SEG_UNDEF;
+        O65RelocPutByte (D->CurReloc, RelocType);
+        /* Put the number of the imported symbol into the table */
+        O65RelocPutWord (D->CurReloc, ExtSymNum (ED.ExtRef));
 
     } else {
 
@@ -780,22 +780,22 @@ static void O65WriteSeg (O65Desc* D, SegDesc** Seg, unsigned Count, int DoWrite)
     /* Write out all segments */
     for (I = 0; I < Count; ++I) {
 
-       /* Get the segment from the list node */
-               S = Seg [I];
+        /* Get the segment from the list node */
+        S = Seg [I];
 
-       /* Keep the user happy */
-       Print (stdout, 1, "    Writing `%s'\n", GetString (S->Name));
+        /* Keep the user happy */
+        Print (stdout, 1, "    Writing `%s'\n", GetString (S->Name));
 
-       /* Write this segment */
-               if (DoWrite) {
-                   SegWrite (D->Filename, D->F, S->Seg, O65WriteExpr, D);
-               }
+        /* Write this segment */
+        if (DoWrite) {
+            SegWrite (D->Filename, D->F, S->Seg, O65WriteExpr, D);
+        }
 
-               /* Mark the segment as dumped */
-               S->Seg->Dumped = 1;
+        /* Mark the segment as dumped */
+        S->Seg->Dumped = 1;
 
-               /* Calculate the total size */
-               D->SegSize += S->Seg->Size;
+        /* Calculate the total size */
+        D->SegSize += S->Seg->Size;
     }
 
     /* Terminate the relocation table for this segment */
@@ -805,7 +805,7 @@ static void O65WriteSeg (O65Desc* D, SegDesc** Seg, unsigned Count, int DoWrite)
 
     /* Check the size of the segment for overflow */
     if ((D->Header.Mode & MF_SIZE_MASK) == MF_SIZE_16BIT && D->SegSize > 0xFFFF) {
-               Error ("Segment overflow in file `%s'", D->Filename);
+        Error ("Segment overflow in file `%s'", D->Filename);
     }
 
 }
@@ -816,7 +816,7 @@ static void O65WriteTextSeg (O65Desc* D)
 /* Write the code segment to the o65 output file */
 {
     /* Initialize variables */
-    D->CurReloc        = D->TextReloc;
+    D->CurReloc = D->TextReloc;
 
     /* Dump all text segments */
     O65WriteSeg (D, D->TextSeg, D->TextCount, 1);
@@ -831,7 +831,7 @@ static void O65WriteDataSeg (O65Desc* D)
 /* Write the data segment to the o65 output file */
 {
     /* Initialize variables */
-    D->CurReloc        = D->DataReloc;
+    D->CurReloc = D->DataReloc;
 
     /* Dump all data segments */
     O65WriteSeg (D, D->DataSeg, D->DataCount, 1);
@@ -848,7 +848,7 @@ static void O65WriteBssSeg (O65Desc* D)
  */
 {
     /* Initialize variables */
-    D->CurReloc        = 0;
+    D->CurReloc = 0;
 
     /* Dump all bss segments */
     O65WriteSeg (D, D->BssSeg, D->BssCount, 0);
@@ -865,7 +865,7 @@ static void O65WriteZPSeg (O65Desc* D)
  */
 {
     /* Initialize variables */
-    D->CurReloc        = 0;
+    D->CurReloc = 0;
 
     /* Dump all zp segments */
     O65WriteSeg (D, D->ZPSeg, D->ZPCount, 0);
@@ -887,12 +887,12 @@ static void O65WriteImports (O65Desc* D)
     /* Write out the symbol names, zero terminated */
     S = ExtSymList (D->Imports);
     while (S) {
-       /* Get the name */
-       const char* Name = GetString (ExtSymName (S));
-       /* And write it to the output file */
-       WriteData (D->F, Name, strlen (Name) + 1);
-       /* Next symbol */
-       S = ExtSymNext (S);
+        /* Get the name */
+        const char* Name = GetString (ExtSymName (S));
+        /* And write it to the output file */
+        WriteData (D->F, Name, strlen (Name) + 1);
+        /* Next symbol */
+        S = ExtSymNext (S);
     }
 }
 
@@ -926,42 +926,42 @@ static void O65WriteExports (O65Desc* D)
     S = ExtSymList (D->Exports);
     while (S) {
 
-       ExprNode* Expr;
-       unsigned char SegmentID;
-       ExprDesc ED;
+        ExprNode* Expr;
+        unsigned char SegmentID;
+        ExprDesc ED;
 
-       /* Get the name */
-       unsigned NameIdx = ExtSymName (S);
+        /* Get the name */
+        unsigned NameIdx = ExtSymName (S);
         const char* Name = GetString (NameIdx);
 
-       /* Get the export for this symbol. We've checked before that this
-        * export does really exist, so if it is unresolved, or if we don't
-        * find it, there is an error in the linker code.
-        */
-       Export* E = FindExport (NameIdx);
-       if (E == 0 || IsUnresolvedExport (E)) {
-           Internal ("Unresolved export `%s' found in O65WriteExports", Name);
-       }
+        /* Get the export for this symbol. We've checked before that this
+         * export does really exist, so if it is unresolved, or if we don't
+         * find it, there is an error in the linker code.
+         */
+        Export* E = FindExport (NameIdx);
+        if (E == 0 || IsUnresolvedExport (E)) {
+            Internal ("Unresolved export `%s' found in O65WriteExports", Name);
+        }
 
-       /* Get the expression for the symbol */
-       Expr = E->Expr;
+        /* Get the expression for the symbol */
+        Expr = E->Expr;
 
-       /* Recursively collect information about this expression */
-       O65ParseExpr (Expr, InitExprDesc (&ED, D), 1);
+        /* Recursively collect information about this expression */
+        O65ParseExpr (Expr, InitExprDesc (&ED, D), 1);
 
-               /* We cannot handle expressions with imported symbols, or expressions
+        /* We cannot handle expressions with imported symbols, or expressions
          * with more than one segment reference here
          */
-       if (ED.ExtRef != 0 || (ED.SegRef != 0 && ED.SecRef != 0)) {
-           ED.TooComplex = 1;
-       }
+        if (ED.ExtRef != 0 || (ED.SegRef != 0 && ED.SecRef != 0)) {
+            ED.TooComplex = 1;
+        }
 
-       /* Bail out if we cannot handle the expression */
-       if (ED.TooComplex) {
-           Error ("Expression for symbol `%s' is too complex", Name);
-       }
+        /* Bail out if we cannot handle the expression */
+        if (ED.TooComplex) {
+            Error ("Expression for symbol `%s' is too complex", Name);
+        }
 
-       /* Determine the segment id for the expression */
+        /* Determine the segment id for the expression */
         if (ED.SegRef != 0 || ED.SecRef != 0) {
 
             const SegDesc* Seg;
@@ -971,39 +971,39 @@ static void O65WriteExports (O65Desc* D)
                 ED.SegRef = ED.SecRef->Seg;     /* Get segment from section */
             }
 
-                   /* Search for the segment and map it to it's o65 segmentID */
-           Seg = O65FindSeg (D, ED.SegRef);
-           if (Seg == 0) {
-               /* For some reason, we didn't find this segment in the list of
-                * segments written to the o65 file.
-                */
-               Error ("Segment for symbol `%s' is undefined", Name);
-           }
-           SegmentID = O65SegType (Seg);
+            /* Search for the segment and map it to it's o65 segmentID */
+            Seg = O65FindSeg (D, ED.SegRef);
+            if (Seg == 0) {
+                /* For some reason, we didn't find this segment in the list of
+                 * segments written to the o65 file.
+                 */
+                Error ("Segment for symbol `%s' is undefined", Name);
+            }
+            SegmentID = O65SegType (Seg);
 
         } else {
 
-           /* Absolute value */
-           SegmentID = O65SEG_ABS;
+            /* Absolute value */
+            SegmentID = O65SEG_ABS;
 
-       }
+        }
 
-       /* Write the name to the output file */
-       WriteData (D->F, Name, strlen (Name) + 1);
+        /* Write the name to the output file */
+        WriteData (D->F, Name, strlen (Name) + 1);
 
-       /* Output the segment id followed by the literal value */
-               Write8 (D->F, SegmentID);
-       WriteSize (D, ED.Val);
+        /* Output the segment id followed by the literal value */
+        Write8 (D->F, SegmentID);
+        WriteSize (D, ED.Val);
 
-       /* Next symbol */
-       S = ExtSymNext (S);
+        /* Next symbol */
+        S = ExtSymNext (S);
     }
 }
 
 
 
 /*****************************************************************************/
-/*                               Public code                                */
+/*                                Public code                                */
 /*****************************************************************************/
 
 
@@ -1015,9 +1015,9 @@ O65Desc* NewO65Desc (void)
     O65Desc* D = xmalloc (sizeof (O65Desc));
 
     /* Initialize the header */
-    D->Header.Version  = 0;
+    D->Header.Version   = 0;
     D->Header.Mode      = 0;
-    D->Header.TextBase = 0;
+    D->Header.TextBase  = 0;
     D->Header.TextSize  = 0;
     D->Header.DataBase  = 0;
     D->Header.DataSize  = 0;
@@ -1025,25 +1025,25 @@ O65Desc* NewO65Desc (void)
     D->Header.BssSize   = 0;
     D->Header.ZPBase    = 0;
     D->Header.ZPSize    = 0;
-    D->Header.StackSize = 0;           /* Let OS choose a good value */
+    D->Header.StackSize = 0;            /* Let OS choose a good value */
 
     /* Initialize other data */
-    D->Options         = 0;
-    D->Exports         = NewExtSymTab ();
-    D->Imports         = NewExtSymTab ();
-    D->Undef           = 0;
-    D->F               = 0;
-    D->Filename                = 0;
-    D->TextReloc       = NewO65RelocTab ();
-    D->DataReloc       = NewO65RelocTab ();
-    D->TextCount       = 0;
-    D->TextSeg         = 0;
-    D->DataCount       = 0;
-    D->DataSeg         = 0;
-    D->BssCount                = 0;
-    D->BssSeg          = 0;
-    D->ZPCount         = 0;
-    D->ZPSeg           = 0;
+    D->Options          = 0;
+    D->Exports          = NewExtSymTab ();
+    D->Imports          = NewExtSymTab ();
+    D->Undef            = 0;
+    D->F                = 0;
+    D->Filename         = 0;
+    D->TextReloc        = NewO65RelocTab ();
+    D->DataReloc        = NewO65RelocTab ();
+    D->TextCount        = 0;
+    D->TextSeg          = 0;
+    D->DataCount        = 0;
+    D->DataSeg          = 0;
+    D->BssCount         = 0;
+    D->BssSeg           = 0;
+    D->ZPCount          = 0;
+    D->ZPSeg            = 0;
 
     /* Return the created struct */
     return D;
@@ -1067,8 +1067,8 @@ void FreeO65Desc (O65Desc* D)
     /* Free the option list */
     while (D->Options) {
         O65Option* O = D->Options;
-       D->Options = D->Options->Next;
-       FreeO65Option (O);
+        D->Options = D->Options->Next;
+        FreeO65Option (O);
     }
 
     /* Free the external symbol tables */
@@ -1121,9 +1121,9 @@ void O65SetAlignment (O65Desc* D, unsigned Alignment)
 
     /* Set the alignment bits */
     switch (Alignment) {
-       case 1:   D->Header.Mode |= MF_ALIGN_1;   break;
-       case 2:   D->Header.Mode |= MF_ALIGN_2;   break;
-       case 4:   D->Header.Mode |= MF_ALIGN_4;   break;
+        case 1:   D->Header.Mode |= MF_ALIGN_1;   break;
+        case 2:   D->Header.Mode |= MF_ALIGN_2;   break;
+        case 4:   D->Header.Mode |= MF_ALIGN_4;   break;
         case 256: D->Header.Mode |= MF_ALIGN_256; break;
         default:  Error ("Invalid alignment for O65 format: %u", Alignment);
     }
@@ -1155,17 +1155,17 @@ void O65SetOS (O65Desc* D, unsigned OS, unsigned Version, unsigned Id)
     /* Write the correct option length */
     switch (OS) {
 
-       case O65OS_CC65:
+        case O65OS_CC65:
             /* Set the 16 bit id */
             Opt[2] = (unsigned char) Id;
             Opt[3] = (unsigned char) (Id >> 8);
-           O65SetOption (D, O65OPT_OS, Opt, 4);
-           break;
+            O65SetOption (D, O65OPT_OS, Opt, 4);
+            break;
 
-       default:
+        default:
             /* No id for OS/A65, Lunix, and unknown OSes */
-                   O65SetOption (D, O65OPT_OS, Opt, 2);
-           break;
+            O65SetOption (D, O65OPT_OS, Opt, 2);
+            break;
 
     }
 }
@@ -1207,7 +1207,7 @@ void O65SetExport (O65Desc* D, unsigned Ident)
      */
     Export* E = FindExport (Ident);
     if (E == 0 || IsUnresolvedExport (E)) {
-       Error ("Unresolved export: `%s'", GetString (Ident));
+        Error ("Unresolved export: `%s'", GetString (Ident));
     }
 
     /* Insert the entry into the table */
@@ -1245,8 +1245,8 @@ static void O65SetupSegments (O65Desc* D, File* F)
                 case O65SEG_TEXT:   D->TextCount++; break;
                 case O65SEG_DATA:   D->DataCount++; break;
                 case O65SEG_BSS:    D->BssCount++;  break;
-                case O65SEG_ZP:            D->ZPCount++;   break;
-                default:                   Internal ("Invalid return from O65SegType");
+                case O65SEG_ZP:     D->ZPCount++;   break;
+                default:            Internal ("Invalid return from O65SegType");
             }
         }
     }
@@ -1272,11 +1272,11 @@ static void O65SetupSegments (O65Desc* D, File* F)
 
             /* Check the segment type. */
             switch (O65SegType (S)) {
-                case O65SEG_TEXT:   D->TextSeg [TextIdx++] = S;        break;
-                case O65SEG_DATA:   D->DataSeg [DataIdx++] = S;        break;
+                case O65SEG_TEXT:   D->TextSeg [TextIdx++] = S; break;
+                case O65SEG_DATA:   D->DataSeg [DataIdx++] = S; break;
                 case O65SEG_BSS:    D->BssSeg [BssIdx++]   = S; break;
-                case O65SEG_ZP:            D->ZPSeg [ZPIdx++]     = S; break;
-                default:           Internal ("Invalid return from O65SegType");
+                case O65SEG_ZP:     D->ZPSeg [ZPIdx++]     = S; break;
+                default:            Internal ("Invalid return from O65SegType");
             }
         }
     }
@@ -1289,12 +1289,12 @@ static int O65Unresolved (unsigned Name, void* D)
 {
     /* Check if the symbol is an imported o65 symbol */
     if (O65GetImport (D, Name) != 0) {
-       /* This is an external symbol, relax... */
-       return 1;
+        /* This is an external symbol, relax... */
+        return 1;
     } else {
-       /* This is actually an unresolved external. Bump the counter */
-       ((O65Desc*) D)->Undef++;
-       return 0;
+        /* This is actually an unresolved external. Bump the counter */
+        ((O65Desc*) D)->Undef++;
+        return 0;
     }
 }
 
@@ -1335,7 +1335,7 @@ static void O65SetupHeader (O65Desc* D)
 void O65WriteTarget (O65Desc* D, File* F)
 /* Write an o65 output file */
 {
-    char        OptBuf [256];  /* Buffer for option strings */
+    char        OptBuf [256];   /* Buffer for option strings */
     unsigned    OptLen;
     time_t      T;
     const char* Name;
@@ -1346,11 +1346,11 @@ void O65WriteTarget (O65Desc* D, File* F)
     /* Check for unresolved symbols. The function O65Unresolved is called
      * if we get an unresolved symbol.
      */
-    D->Undef = 0;              /* Reset the counter */
+    D->Undef = 0;               /* Reset the counter */
     CheckUnresolvedImports (O65Unresolved, D);
     if (D->Undef > 0) {
-       /* We had unresolved symbols, cannot create output file */
-               Error ("%u unresolved external(s) found - cannot create output file", D->Undef);
+        /* We had unresolved symbols, cannot create output file */
+        Error ("%u unresolved external(s) found - cannot create output file", D->Undef);
     }
 
     /* Setup the segment arrays */
@@ -1362,7 +1362,7 @@ void O65WriteTarget (O65Desc* D, File* F)
     /* Open the file */
     D->F = fopen (D->Filename, "wb");
     if (D->F == 0) {
-       Error ("Cannot open `%s': %s", D->Filename, strerror (errno));
+        Error ("Cannot open `%s': %s", D->Filename, strerror (errno));
     }
 
     /* Keep the user happy */
@@ -1417,7 +1417,7 @@ void O65WriteTarget (O65Desc* D, File* F)
 
     /* Close the file */
     if (fclose (D->F) != 0) {
-       Error ("Cannot write to `%s': %s", D->Filename, strerror (errno));
+        Error ("Cannot write to `%s': %s", D->Filename, strerror (errno));
     }
 
     /* Reset the file and filename */
index aec220a3c204deeec8e7e8ed4794da9ec4ef1cbe..7de0832a815a60cac9a4090de4792c8e31c64439 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  o65.h                                   */
+/*                                   o65.h                                   */
 /*                                                                           */
-/*                 Module to handle the o65 binary format                   */
+/*                  Module to handle the o65 binary format                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 typedef struct O65Desc O65Desc;
 
 /* Option tags */
-#define O65OPT_FILENAME                0
-#define O65OPT_OS              1
-#define O65OPT_ASM             2
-#define O65OPT_AUTHOR          3
-#define O65OPT_TIMESTAMP       4
+#define O65OPT_FILENAME         0
+#define O65OPT_OS               1
+#define O65OPT_ASM              2
+#define O65OPT_AUTHOR           3
+#define O65OPT_TIMESTAMP        4
 
 /* Operating system codes for O65OPT_OS */
 #define O65OS_MIN               1
-#define O65OS_OSA65            1
-#define O65OS_LUNIX            2
+#define O65OS_OSA65             1
+#define O65OS_LUNIX             2
 #define O65OS_CC65              3
 #define O65OS_OPENCBM           4
 #define O65OS_MAX               255
@@ -72,7 +72,7 @@ typedef struct O65Desc O65Desc;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2a7a0ac1d9a9f1161c6fe246da4e2294193c68fc..1bdef6bd7807d9acd49fbe85e371ce1ea4a9e6cd 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objdata.c                                 */
+/*                                 objdata.c                                 */
 /*                                                                           */
-/*              Handling object file data for the ld65 linker               */
+/*               Handling object file data for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,7 +61,7 @@ Collection       ObjDataList = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -73,21 +73,21 @@ ObjData* NewObjData (void)
     ObjData* O = xmalloc (sizeof (ObjData));
 
     /* Initialize the data */
-    O->Next            = 0;
-    O->Name            = INVALID_STRING_ID;
+    O->Next             = 0;
+    O->Name             = INVALID_STRING_ID;
     O->Lib              = 0;
     O->MTime            = 0;
-    O->Start           = 0;
-    O->Flags                   = 0;
+    O->Start            = 0;
+    O->Flags            = 0;
     O->HLLSymBaseId     = 0;
     O->SymBaseId        = 0;
     O->ScopeBaseId      = 0;
     O->SpanBaseId       = 0;
     O->Files            = EmptyCollection;
     O->Sections         = EmptyCollection;
-    O->Exports         = EmptyCollection;
-    O->Imports         = EmptyCollection;
-    O->DbgSyms         = EmptyCollection;
+    O->Exports          = EmptyCollection;
+    O->Imports          = EmptyCollection;
+    O->DbgSyms          = EmptyCollection;
     O->HLLDbgSyms       = EmptyCollection;
     O->LineInfos        = EmptyCollection;
     O->StringCount      = 0;
@@ -184,8 +184,8 @@ unsigned MakeGlobalStringId (const ObjData* O, unsigned Index)
 /* Convert a local string id into a global one and return it. */
 {
     if (Index >= O->StringCount) {
-               Error ("Invalid string index (%u) in module `%s'",
-              Index, GetObjFileName (O));
+        Error ("Invalid string index (%u) in module `%s'",
+               Index, GetObjFileName (O));
     }
     return O->Strings[Index];
 }
index 95f694bbde77e2aee994e36aa916cc07d748b27e..4c477eee0d12a4bdc309dba94eff3be579a94eea 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objdata.h                                 */
+/*                                 objdata.h                                 */
 /*                                                                           */
-/*              Handling object file data for the ld65 linker               */
+/*               Handling object file data for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,30 +60,30 @@ struct Section;
 struct StrBuf;
 
 /* Values for the Flags field */
-#define        OBJ_REF         0x0001          /* We have a reference to this file */
+#define OBJ_REF         0x0001          /* We have a reference to this file */
 
 /* Internal structure holding object file data */
 typedef struct ObjData ObjData;
 struct ObjData {
-    ObjData*           Next;           /* Linked list of all objects */
+    ObjData*            Next;           /* Linked list of all objects */
     unsigned            Id;             /* Id of this module */
-    unsigned            Name;                  /* Module name */
+    unsigned            Name;           /* Module name */
     struct Library*     Lib;            /* Library where module comes from */
     unsigned long       MTime;          /* Time of last modification */
-    ObjHeader                  Header;         /* Header of file */
-    unsigned long      Start;          /* Start offset of data in library */
-    unsigned                   Flags;
+    ObjHeader           Header;         /* Header of file */
+    unsigned long       Start;          /* Start offset of data in library */
+    unsigned            Flags;
 
     unsigned            HLLSymBaseId;   /* Debug info base id for hll symbols */
     unsigned            SymBaseId;      /* Debug info base id for symbols */
     unsigned            ScopeBaseId;    /* Debug info base id for scopes */
     unsigned            SpanBaseId;     /* Debug info base id for spans */
 
-    Collection          Files;         /* List of input files */
-    Collection          Sections;      /* List of all sections */
-    Collection          Exports;               /* List of all exports */
-    Collection          Imports;       /* List of all imports */
-    Collection          DbgSyms;               /* List of debug symbols */
+    Collection          Files;          /* List of input files */
+    Collection          Sections;       /* List of all sections */
+    Collection          Exports;        /* List of all exports */
+    Collection          Imports;        /* List of all imports */
+    Collection          DbgSyms;        /* List of debug symbols */
     Collection          HLLDbgSyms;     /* List of hll debug symbols */
     Collection          LineInfos;      /* List of line infos */
     unsigned            StringCount;    /* Count of strings */
@@ -101,7 +101,7 @@ extern Collection       ObjDataList;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 24a9afda81bb3f64c67623acacb23f9493b49f19..7b8dc4419bf64febd678efea85b5b34e8a2cf6b2 100644 (file)
@@ -1,34 +1,34 @@
 /*****************************************************************************/
-/*                                                                          */
-/*                                objfile.c                                 */
-/*                                                                          */
-/*                Object file handling for the ld65 linker                  */
-/*                                                                          */
-/*                                                                          */
-/*                                                                          */
+/*                                                                           */
+/*                                 objfile.c                                 */
+/*                                                                           */
+/*                 Object file handling for the ld65 linker                  */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
 /* (C) 1998-2012, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
-/*                                                                          */
-/*                                                                          */
-/* This software is provided 'as-is', without any expressed or implied      */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
 /* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                   */
-/*                                                                          */
+/* arising from the use of this software.                                    */
+/*                                                                           */
 /* Permission is granted to anyone to use this software for any purpose,     */
 /* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                           */
-/*                                                                          */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
 /* 1. The origin of this software must not be misrepresented; you must not   */
 /*    claim that you wrote the original software. If you use this software   */
 /*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                      */
+/*    appreciated but is not required.                                       */
 /* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                             */
-/* 3. This notice may not be removed or altered from any source                     */
-/*    distribution.                                                         */
-/*                                                                          */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
 /*****************************************************************************/
 
 
@@ -56,7 +56,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -67,7 +67,7 @@ static unsigned GetModule (const char* Name)
     /* Make a module name from the file name */
     const char* Module = FindName (Name);
     if (*Module == 0) {
-       Error ("Cannot make module name from `%s'", Name);
+        Error ("Cannot make module name from `%s'", Name);
     }
     return GetStringId (Module);
 }
@@ -77,18 +77,18 @@ static unsigned GetModule (const char* Name)
 static void ObjReadHeader (FILE* Obj, ObjHeader* H, const char* Name)
 /* Read the header of the object file checking the signature */
 {
-    H->Version   = Read16 (Obj);
+    H->Version    = Read16 (Obj);
     if (H->Version != OBJ_VERSION) {
-               Error ("Object file `%s' has wrong version, expected %08X, got %08X",
+        Error ("Object file `%s' has wrong version, expected %08X, got %08X",
                Name, OBJ_VERSION, H->Version);
     }
-    H->Flags       = Read16 (Obj);
+    H->Flags        = Read16 (Obj);
     H->OptionOffs   = Read32 (Obj);
     H->OptionSize   = Read32 (Obj);
     H->FileOffs     = Read32 (Obj);
     H->FileSize     = Read32 (Obj);
-    H->SegOffs     = Read32 (Obj);
-    H->SegSize     = Read32 (Obj);
+    H->SegOffs      = Read32 (Obj);
+    H->SegSize      = Read32 (Obj);
     H->ImportOffs   = Read32 (Obj);
     H->ImportSize   = Read32 (Obj);
     H->ExportOffs   = Read32 (Obj);
@@ -122,7 +122,7 @@ void ObjReadFiles (FILE* F, unsigned long Pos, ObjData* O)
     FileCount  = ReadVar (F);
     CollGrow (&O->Files, FileCount);
     for (I = 0; I < FileCount; ++I) {
-               CollAppend (&O->Files, ReadFileInfo (F, O));
+        CollAppend (&O->Files, ReadFileInfo (F, O));
     }
 }
 
@@ -141,7 +141,7 @@ void ObjReadSections (FILE* F, unsigned long Pos, ObjData* O)
     SectionCount = ReadVar (F);
     CollGrow (&O->Sections, SectionCount);
     for (I = 0; I < SectionCount; ++I) {
-               CollAppend (&O->Sections, ReadSection (F, O));
+        CollAppend (&O->Sections, ReadSection (F, O));
     }
 }
 
@@ -160,7 +160,7 @@ void ObjReadImports (FILE* F, unsigned long Pos, ObjData* O)
     ImportCount = ReadVar (F);
     CollGrow (&O->Imports, ImportCount);
     for (I = 0; I < ImportCount; ++I) {
-               CollAppend (&O->Imports, ReadImport (F, O));
+        CollAppend (&O->Imports, ReadImport (F, O));
     }
 }
 
@@ -179,7 +179,7 @@ void ObjReadExports (FILE* F, unsigned long Pos, ObjData* O)
     ExportCount = ReadVar (F);
     CollGrow (&O->Exports, ExportCount);
     for (I = 0; I < ExportCount; ++I) {
-               CollAppend (&O->Exports, ReadExport (F, O));
+        CollAppend (&O->Exports, ReadExport (F, O));
     }
 }
 
@@ -198,14 +198,14 @@ void ObjReadDbgSyms (FILE* F, unsigned long Pos, ObjData* O)
     DbgSymCount = ReadVar (F);
     CollGrow (&O->DbgSyms, DbgSymCount);
     for (I = 0; I < DbgSymCount; ++I) {
-       CollAppend (&O->DbgSyms, ReadDbgSym (F, O, I));
+        CollAppend (&O->DbgSyms, ReadDbgSym (F, O, I));
     }
 
     /* Read the hll debug symbols */
     DbgSymCount = ReadVar (F);
     CollGrow (&O->HLLDbgSyms, DbgSymCount);
     for (I = 0; I < DbgSymCount; ++I) {
-               CollAppend (&O->HLLDbgSyms, ReadHLLDbgSym (F, O, I));
+        CollAppend (&O->HLLDbgSyms, ReadHLLDbgSym (F, O, I));
     }
 }
 
@@ -224,7 +224,7 @@ void ObjReadLineInfos (FILE* F, unsigned long Pos, ObjData* O)
     LineInfoCount = ReadVar (F);
     CollGrow (&O->LineInfos, LineInfoCount);
     for (I = 0; I < LineInfoCount; ++I) {
-               CollAppend (&O->LineInfos, ReadLineInfo (F, O));
+        CollAppend (&O->LineInfos, ReadLineInfo (F, O));
     }
 }
 
index 1b7796625a1556fd8c6d5b4d0469f9722a7d3990..e982f90b5c3af3524245cd030e0dd78a20c31229 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                objfile.h                                 */
+/*                                 objfile.h                                 */
 /*                                                                           */
-/*                Object file handling for the ld65 linker                  */
+/*                 Object file handling for the ld65 linker                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index b60381fb6cb6544ed4bdab5c137046c13fb782ad..b6d45354a7c8b9138d4d05207dd50224c800d4e9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.c                                 */
+/*                                 scanner.c                                 */
 /*                                                                           */
-/*             Configuration file scanner for the ld65 linker               */
+/*              Configuration file scanner for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Current token and attributes */
-cfgtok_t       CfgTok;
+cfgtok_t        CfgTok;
 StrBuf          CfgSVal = STATIC_STRBUF_INITIALIZER;
 unsigned long   CfgIVal;
 
@@ -67,17 +67,17 @@ unsigned long   CfgIVal;
 FilePos                 CfgErrorPos;
 
 /* Input source for the configuration */
-static const char*             CfgName         = 0;
+static const char*      CfgName         = 0;
 
 /* Other input stuff */
-static int                     C               = ' ';
+static int              C               = ' ';
 static FilePos          InputPos;
-static FILE*                   InputFile       = 0;
+static FILE*            InputFile       = 0;
 
 
 
 /*****************************************************************************/
-/*                             Error handling                               */
+/*                              Error handling                               */
 /*****************************************************************************/
 
 
@@ -117,7 +117,7 @@ void CfgError (const FilePos* Pos, const char* Format, ...)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -130,13 +130,13 @@ static void NextChar (void)
 
     /* Count columns */
     if (C != EOF) {
-       ++InputPos.Col;
+        ++InputPos.Col;
     }
 
     /* Count lines */
     if (C == '\n') {
-       ++InputPos.Line;
-       InputPos.Col = 0;
+        ++InputPos.Line;
+        InputPos.Col = 0;
     }
 }
 
@@ -146,9 +146,9 @@ static unsigned DigitVal (int C)
 /* Return the value for a numeric digit */
 {
     if (isdigit (C)) {
-       return C - '0';
+        return C - '0';
     } else {
-       return toupper (C) - 'A' + 10;
+        return toupper (C) - 'A' + 10;
     }
 }
 
@@ -228,7 +228,7 @@ void CfgNextTok (void)
 Again:
     /* Skip whitespace */
     while (isspace (C)) {
-       NextChar ();
+        NextChar ();
     }
 
     /* Remember the current position */
@@ -237,41 +237,41 @@ Again:
     /* Identifier? */
     if (C == '_' || IsAlpha (C)) {
 
-       /* Read the identifier */
-       SB_Clear (&CfgSVal);
-       while (C == '_' || IsAlNum (C)) {
+        /* Read the identifier */
+        SB_Clear (&CfgSVal);
+        while (C == '_' || IsAlNum (C)) {
             SB_AppendChar (&CfgSVal, C);
-           NextChar ();
-       }
-               SB_Terminate (&CfgSVal);
-       CfgTok = CFGTOK_IDENT;
-       return;
+            NextChar ();
+        }
+        SB_Terminate (&CfgSVal);
+        CfgTok = CFGTOK_IDENT;
+        return;
     }
 
     /* Hex number? */
     if (C == '$') {
-       NextChar ();
-       if (!isxdigit (C)) {
-           CfgError (&CfgErrorPos, "Hex digit expected");
-       }
-       CfgIVal = 0;
-       while (isxdigit (C)) {
-                   CfgIVal = CfgIVal * 16 + DigitVal (C);
-           NextChar ();
-       }
-       CfgTok = CFGTOK_INTCON;
-       return;
+        NextChar ();
+        if (!isxdigit (C)) {
+            CfgError (&CfgErrorPos, "Hex digit expected");
+        }
+        CfgIVal = 0;
+        while (isxdigit (C)) {
+            CfgIVal = CfgIVal * 16 + DigitVal (C);
+            NextChar ();
+        }
+        CfgTok = CFGTOK_INTCON;
+        return;
     }
 
     /* Decimal number? */
     if (isdigit (C)) {
-       CfgIVal = 0;
-       while (isdigit (C)) {
-                   CfgIVal = CfgIVal * 10 + DigitVal (C);
-           NextChar ();
-       }
-       CfgTok = CFGTOK_INTCON;
-       return;
+        CfgIVal = 0;
+        while (isdigit (C)) {
+            CfgIVal = CfgIVal * 10 + DigitVal (C);
+            NextChar ();
+        }
+        CfgTok = CFGTOK_INTCON;
+        return;
     }
 
     /* Other characters */
@@ -297,99 +297,99 @@ Again:
             CfgTok = CFGTOK_DIV;
             break;
 
-       case '(':
-           NextChar ();
-           CfgTok = CFGTOK_LPAR;
-           break;
-
-       case ')':
-           NextChar ();
-           CfgTok = CFGTOK_RPAR;
-           break;
-
-       case '{':
-           NextChar ();
-           CfgTok = CFGTOK_LCURLY;
-           break;
-
-       case '}':
-           NextChar ();
-           CfgTok = CFGTOK_RCURLY;
-           break;
-
-       case ';':
-           NextChar ();
-           CfgTok = CFGTOK_SEMI;
-           break;
-
-       case '.':
-           NextChar ();
-           CfgTok = CFGTOK_DOT;
-           break;
-
-       case ',':
-           NextChar ();
-           CfgTok = CFGTOK_COMMA;
-           break;
-
-       case '=':
-           NextChar ();
-           CfgTok = CFGTOK_EQ;
-           break;
+        case '(':
+            NextChar ();
+            CfgTok = CFGTOK_LPAR;
+            break;
+
+        case ')':
+            NextChar ();
+            CfgTok = CFGTOK_RPAR;
+            break;
+
+        case '{':
+            NextChar ();
+            CfgTok = CFGTOK_LCURLY;
+            break;
+
+        case '}':
+            NextChar ();
+            CfgTok = CFGTOK_RCURLY;
+            break;
+
+        case ';':
+            NextChar ();
+            CfgTok = CFGTOK_SEMI;
+            break;
+
+        case '.':
+            NextChar ();
+            CfgTok = CFGTOK_DOT;
+            break;
+
+        case ',':
+            NextChar ();
+            CfgTok = CFGTOK_COMMA;
+            break;
+
+        case '=':
+            NextChar ();
+            CfgTok = CFGTOK_EQ;
+            break;
 
         case ':':
-           NextChar ();
-           CfgTok = CFGTOK_COLON;
-           break;
+            NextChar ();
+            CfgTok = CFGTOK_COLON;
+            break;
 
         case '\"':
             StrVal ();
-           break;
+            break;
 
         case '#':
-           /* Comment */
-           while (C != '\n' && C != EOF) {
-               NextChar ();
-           }
-           if (C != EOF) {
-               goto Again;
-           }
-           CfgTok = CFGTOK_EOF;
-           break;
+            /* Comment */
+            while (C != '\n' && C != EOF) {
+                NextChar ();
+            }
+            if (C != EOF) {
+                goto Again;
+            }
+            CfgTok = CFGTOK_EOF;
+            break;
 
         case '%':
-           NextChar ();
-           switch (C) {
+            NextChar ();
+            switch (C) {
 
-               case 'O':
-                   NextChar ();
-                   if (OutputName) {
+                case 'O':
+                    NextChar ();
+                    if (OutputName) {
                         SB_CopyStr (&CfgSVal, OutputName);
-                   } else {
-                       SB_Clear (&CfgSVal);
-                   }
+                    } else {
+                        SB_Clear (&CfgSVal);
+                    }
                     SB_Terminate (&CfgSVal);
                     OutputNameUsed = 1;
-                   CfgTok = CFGTOK_STRCON;
-                   break;
-
-               case 'S':
-                   NextChar ();
-                   CfgIVal = StartAddr;
-                   CfgTok = CFGTOK_INTCON;
-                   break;
-
-               default:
-                   CfgError (&CfgErrorPos, "Invalid format specification");
-           }
-           break;
+                    CfgTok = CFGTOK_STRCON;
+                    break;
+
+                case 'S':
+                    NextChar ();
+                    CfgIVal = StartAddr;
+                    CfgTok = CFGTOK_INTCON;
+                    break;
+
+                default:
+                    CfgError (&CfgErrorPos, "Invalid format specification");
+            }
+            break;
 
         case EOF:
-           CfgTok = CFGTOK_EOF;
-           break;
+            CfgTok = CFGTOK_EOF;
+            break;
 
-       default:
-           CfgError (&CfgErrorPos, "Invalid character `%c'", C);
+        default:
+            CfgError (&CfgErrorPos, "Invalid character `%c'", C);
 
     }
 }
@@ -400,7 +400,7 @@ void CfgConsume (cfgtok_t T, const char* Msg)
 /* Skip a token, print an error message if not found */
 {
     if (CfgTok != T) {
-               CfgError (&CfgErrorPos, "%s", Msg);
+        CfgError (&CfgErrorPos, "%s", Msg);
     }
     CfgNextTok ();
 }
@@ -427,7 +427,7 @@ void CfgOptionalComma (void)
 /* Consume a comma if there is one */
 {
     if (CfgTok == CFGTOK_COMMA) {
-               CfgNextTok ();
+        CfgNextTok ();
     }
 }
 
@@ -437,7 +437,7 @@ void CfgOptionalAssign (void)
 /* Consume an equal sign if there is one */
 {
     if (CfgTok == CFGTOK_EQ) {
-               CfgNextTok ();
+        CfgNextTok ();
     }
 }
 
@@ -447,7 +447,7 @@ void CfgAssureInt (void)
 /* Make sure the next token is an integer */
 {
     if (CfgTok != CFGTOK_INTCON) {
-               CfgError (&CfgErrorPos, "Integer constant expected");
+        CfgError (&CfgErrorPos, "Integer constant expected");
     }
 }
 
@@ -457,7 +457,7 @@ void CfgAssureStr (void)
 /* Make sure the next token is a string constant */
 {
     if (CfgTok != CFGTOK_STRCON) {
-               CfgError (&CfgErrorPos, "String constant expected");
+        CfgError (&CfgErrorPos, "String constant expected");
     }
 }
 
@@ -467,7 +467,7 @@ void CfgAssureIdent (void)
 /* Make sure the next token is an identifier */
 {
     if (CfgTok != CFGTOK_IDENT) {
-               CfgError (&CfgErrorPos, "Identifier expected");
+        CfgError (&CfgErrorPos, "Identifier expected");
     }
 }
 
@@ -477,7 +477,7 @@ void CfgRangeCheck (unsigned long Lo, unsigned long Hi)
 /* Check the range of CfgIVal */
 {
     if (CfgIVal < Lo || CfgIVal > Hi) {
-       CfgError (&CfgErrorPos, "Range error");
+        CfgError (&CfgErrorPos, "Range error");
     }
 }
 
@@ -491,16 +491,16 @@ void CfgSpecialToken (const IdentTok* Table, unsigned Size, const char* Name)
     /* We need an identifier */
     if (CfgTok == CFGTOK_IDENT) {
 
-       /* Make it upper case */
+        /* Make it upper case */
         SB_ToUpper (&CfgSVal);
 
-               /* Linear search */
-       for (I = 0; I < Size; ++I) {
-                   if (SB_CompareStr (&CfgSVal, Table[I].Ident) == 0) {
-               CfgTok = Table[I].Tok;
-               return;
-           }
-       }
+        /* Linear search */
+        for (I = 0; I < Size; ++I) {
+            if (SB_CompareStr (&CfgSVal, Table[I].Ident) == 0) {
+                CfgTok = Table[I].Tok;
+                return;
+            }
+        }
 
     }
 
@@ -514,21 +514,21 @@ void CfgBoolToken (void)
 /* Map an identifier or integer to a boolean token */
 {
     static const IdentTok Booleans [] = {
-               {   "YES",      CFGTOK_TRUE     },
-       {   "NO",       CFGTOK_FALSE    },
+        {   "YES",      CFGTOK_TRUE     },
+        {   "NO",       CFGTOK_FALSE    },
         {   "TRUE",     CFGTOK_TRUE     },
         {   "FALSE",    CFGTOK_FALSE    },
     };
 
     /* If we have an identifier, map it to a boolean token */
     if (CfgTok == CFGTOK_IDENT) {
-       CfgSpecialToken (Booleans, ENTRY_COUNT (Booleans), "Boolean");
+        CfgSpecialToken (Booleans, ENTRY_COUNT (Booleans), "Boolean");
     } else {
-       /* We expected an integer here */
-       if (CfgTok != CFGTOK_INTCON) {
-           CfgError (&CfgErrorPos, "Boolean value expected");
-       }
-       CfgTok = (CfgIVal == 0)? CFGTOK_FALSE : CFGTOK_TRUE;
+        /* We expected an integer here */
+        if (CfgTok != CFGTOK_INTCON) {
+            CfgError (&CfgErrorPos, "Boolean value expected");
+        }
+        CfgTok = (CfgIVal == 0)? CFGTOK_FALSE : CFGTOK_TRUE;
     }
 }
 
@@ -577,7 +577,7 @@ void CfgCloseInput (void)
     /* Close the input file if we had one */
     if (InputFile) {
         (void) fclose (InputFile);
-       InputFile = 0;
+        InputFile = 0;
     }
 }
 
index cb3914657ea937a861880e8789048dc40e84af78..9e27b6720f93eac7a0bbaa06e24ec0bacd677178 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.h                                 */
+/*                                 scanner.h                                 */
 /*                                                                           */
-/*             Configuration file scanner for the ld65 linker               */
+/*              Configuration file scanner for the ld65 linker               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -153,17 +153,17 @@ typedef enum {
 /* Mapping table entry, special identifier --> token */
 typedef struct IdentTok IdentTok;
 struct IdentTok {
-    const char*        Ident;          /* Identifier */
-    cfgtok_t   Tok;            /* Token for identifier */
+    const char* Ident;          /* Identifier */
+    cfgtok_t    Tok;            /* Token for identifier */
 };
-#define ENTRY_COUNT(s)         (sizeof (s) / sizeof (s [0]))
+#define ENTRY_COUNT(s)  (sizeof (s) / sizeof (s [0]))
 
 
 
 /* Current token and attributes */
-extern cfgtok_t                CfgTok;
+extern cfgtok_t         CfgTok;
 extern StrBuf           CfgSVal;
-extern unsigned long   CfgIVal;
+extern unsigned long    CfgIVal;
 
 /* Error location. PLEASE NOTE: I'm abusing the FilePos structure to some
  * degree. It is used mostly to hold a file position, where the Name member
@@ -177,7 +177,7 @@ extern FilePos          CfgErrorPos;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7243805bfeb81ede055a537f1dbade7bcf143fbf..b3acc0d7d716a37487e5137bf1a8ab4b79daf773 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index bb9fc85e235947eb7cabae459219ea65ffacb82d..142dc16bba375ebbf26b57efa3cd9c11d7eb2d3e 100644 (file)
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -59,7 +59,7 @@
 typedef struct Scope Scope;
 struct Scope {
     unsigned            Id;             /* Id of scope */
-    ObjData*                   Obj;            /* Object file that contains the scope */
+    ObjData*            Obj;            /* Object file that contains the scope */
     unsigned            ParentId;       /* Id of parent scope */
     unsigned            LabelId;        /* Id of the scope label if any */
     unsigned            LexicalLevel;   /* Lexical level */
@@ -73,7 +73,7 @@ struct Scope {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 413c8020dbf52d2f6896071a28eb21a5205250ac..e42a40d225361d8ff8963959241a924b949bad71 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               segments.c                                 */
+/*                                segments.c                                 */
 /*                                                                           */
-/*                  Segment handling for the ld65 linker                    */
+/*                   Segment handling for the ld65 linker                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Hash table */
 #define HASHTAB_MASK    0x3FU
-#define HASHTAB_SIZE   (HASHTAB_MASK + 1)
-static Segment*                HashTab[HASHTAB_SIZE];
+#define HASHTAB_SIZE    (HASHTAB_MASK + 1)
+static Segment*         HashTab[HASHTAB_SIZE];
 
 /* List of all segments */
 static Collection       SegmentList = STATIC_COLLECTION_INITIALIZER;
@@ -78,7 +78,7 @@ static Collection       SegmentList = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -93,16 +93,16 @@ static Segment* NewSegment (unsigned Name, unsigned char AddrSize)
 
     /* Initialize the fields */
     S->Name        = Name;
-    S->Next       = 0;
+    S->Next        = 0;
     S->Flags       = SEG_FLAG_NONE;
     S->Sections    = EmptyCollection;
     S->MemArea     = 0;
-    S->PC         = 0;
-    S->Size               = 0;
+    S->PC          = 0;
+    S->Size        = 0;
     S->OutputName  = 0;
     S->OutputOffs  = 0;
     S->Alignment   = 1;
-    S->FillVal    = 0;
+    S->FillVal     = 0;
     S->AddrSize    = AddrSize;
     S->ReadOnly    = 0;
     S->Dumped      = 0;
@@ -135,18 +135,18 @@ Segment* GetSegment (unsigned Name, unsigned char AddrSize, const char* ObjName)
      * the first section.
      */
     if (S == 0) {
-       /* Create a new segment */
-       S = NewSegment (Name, AddrSize);
+        /* Create a new segment */
+        S = NewSegment (Name, AddrSize);
     } else {
-               /* Check if the existing segment has the requested address size */
-               if (S->AddrSize != AddrSize) {
-           /* Allow an empty object name */
-           if (ObjName == 0) {
-               ObjName = "[linker generated]";
-           }
-           Error ("Module `%s': Type mismatch for segment `%s'", ObjName,
+        /* Check if the existing segment has the requested address size */
+        if (S->AddrSize != AddrSize) {
+            /* Allow an empty object name */
+            if (ObjName == 0) {
+                ObjName = "[linker generated]";
+            }
+            Error ("Module `%s': Type mismatch for segment `%s'", ObjName,
                    GetString (Name));
-       }
+        }
     }
 
     /* Return the segment */
@@ -162,12 +162,12 @@ Section* NewSection (Segment* Seg, unsigned long Alignment, unsigned char AddrSi
     Section* S = xmalloc (sizeof (Section));
 
     /* Initialize the data */
-    S->Next    = 0;
-    S->Seg     = Seg;
+    S->Next     = 0;
+    S->Seg      = Seg;
     S->Obj      = 0;
     S->FragRoot = 0;
     S->FragLast = 0;
-    S->Size    = 0;
+    S->Size     = 0;
     S->Alignment= Alignment;
     S->AddrSize = AddrSize;
 
@@ -176,7 +176,7 @@ Section* NewSection (Segment* Seg, unsigned long Alignment, unsigned char AddrSi
 
     /* Adjust the segment size and set the section offset */
     Seg->Size  += S->Fill;
-    S->Offs    = Seg->Size;    /* Current size is offset */
+    S->Offs     = Seg->Size;    /* Current size is offset */
 
     /* Insert the section into the segment */
     CollAppend (&Seg->Sections, S);
@@ -211,7 +211,7 @@ Section* ReadSection (FILE* F, ObjData* O)
     /* Print some data */
     Print (stdout, 2,
            "Module `%s': Found segment `%s', size = %u, alignment = %lu, type = %u\n",
-          GetObjFileName (O), GetString (Name), Size, Alignment, Type);
+           GetObjFileName (O), GetString (Name), Size, Alignment, Type);
 
     /* Get the segment for this section */
     S = GetSegment (Name, Type, GetObjFileName (O));
@@ -241,46 +241,46 @@ Section* ReadSection (FILE* F, ObjData* O)
     /* Start reading fragments from the file and insert them into the section . */
     while (FragCount--) {
 
-       Fragment* Frag;
+        Fragment* Frag;
 
-       /* Read the fragment type */
-       unsigned char Type = Read8 (F);
+        /* Read the fragment type */
+        unsigned char Type = Read8 (F);
 
         /* Extract the check mask from the type */
         unsigned char Bytes = Type & FRAG_BYTEMASK;
         Type &= FRAG_TYPEMASK;
 
-       /* Handle the different fragment types */
-       switch (Type) {
-
-           case FRAG_LITERAL:
-               Frag = NewFragment (Type, ReadVar (F), Sec);
-               ReadData (F, Frag->LitBuf, Frag->Size);
-               break;
-
-           case FRAG_EXPR:
-           case FRAG_SEXPR:
-                       Frag = NewFragment (Type, Bytes, Sec);
-               Frag->Expr = ReadExpr (F, O);
-               break;
-
-           case FRAG_FILL:
-               /* Will allocate memory, but we don't care... */
-               Frag = NewFragment (Type, ReadVar (F), Sec);
-               break;
-
-           default:
-               Error ("Unknown fragment type in module `%s', segment `%s': %02X",
-                      GetObjFileName (O), GetString (S->Name), Type);
-               /* NOTREACHED */
-               return 0;
-               }
+        /* Handle the different fragment types */
+        switch (Type) {
+
+            case FRAG_LITERAL:
+                Frag = NewFragment (Type, ReadVar (F), Sec);
+                ReadData (F, Frag->LitBuf, Frag->Size);
+                break;
+
+            case FRAG_EXPR:
+            case FRAG_SEXPR:
+                Frag = NewFragment (Type, Bytes, Sec);
+                Frag->Expr = ReadExpr (F, O);
+                break;
+
+            case FRAG_FILL:
+                /* Will allocate memory, but we don't care... */
+                Frag = NewFragment (Type, ReadVar (F), Sec);
+                break;
+
+            default:
+                Error ("Unknown fragment type in module `%s', segment `%s': %02X",
+                       GetObjFileName (O), GetString (S->Name), Type);
+                /* NOTREACHED */
+                return 0;
+        }
 
         /* Read the line infos into the list of the fragment */
         ReadLineInfoList (F, O, &Frag->LineInfos);
 
-       /* Remember the module we had this fragment from */
-       Frag->Obj = O;
+        /* Remember the module we had this fragment from */
+        Frag->Obj = O;
     }
 
     /* Return the section */
@@ -294,11 +294,11 @@ Segment* SegFind (unsigned Name)
 {
     Segment* S = HashTab[Name & HASHTAB_MASK];
     while (S) {
-               if (Name == S->Name) {
-           /* Found */
-           break;
-       }
-       S = S->Next;
+        if (Name == S->Name) {
+            /* Found */
+            break;
+        }
+        S = S->Next;
     }
     /* Not found */
     return S;
@@ -318,24 +318,24 @@ int IsBSSType (Segment* S)
         /* Get the next section */
         Section* Sec = CollAtUnchecked (&S->Sections, I);
 
-       /* Loop over all fragments */
-       Fragment* F = Sec->FragRoot;
-       while (F) {
-           if (F->Type == FRAG_LITERAL) {
-               unsigned char* Data = F->LitBuf;
-               unsigned long Count = F->Size;
-               while (Count--) {
-                   if (*Data++ != 0) {
-                       return 0;
-                   }
-               }
-           } else if (F->Type == FRAG_EXPR || F->Type == FRAG_SEXPR) {
-               if (GetExprVal (F->Expr) != 0) {
-                   return 0;
-               }
-           }
-           F = F->Next;
-       }
+        /* Loop over all fragments */
+        Fragment* F = Sec->FragRoot;
+        while (F) {
+            if (F->Type == FRAG_LITERAL) {
+                unsigned char* Data = F->LitBuf;
+                unsigned long Count = F->Size;
+                while (Count--) {
+                    if (*Data++ != 0) {
+                        return 0;
+                    }
+                }
+            } else if (F->Type == FRAG_EXPR || F->Type == FRAG_SEXPR) {
+                if (GetExprVal (F->Expr) != 0) {
+                    return 0;
+                }
+            }
+            F = F->Next;
+        }
     }
     return 1;
 }
@@ -351,53 +351,53 @@ void SegDump (void)
 
     for (I = 0; I < CollCount (&SegmentList); ++I) {
         Segment* Seg = CollAtUnchecked (&SegmentList, I);
-               printf ("Segment: %s (%lu)\n", GetString (Seg->Name), Seg->Size);
+        printf ("Segment: %s (%lu)\n", GetString (Seg->Name), Seg->Size);
         for (J = 0; J < CollCount (&Seg->Sections); ++J) {
             Section* S = CollAtUnchecked (&Seg->Sections, J);
             unsigned J;
-           Fragment* F = S->FragRoot;
-           printf ("  Section:\n");
-           while (F) {
-               switch (F->Type) {
-
-                   case FRAG_LITERAL:
-                       printf ("    Literal (%u bytes):", F->Size);
-                       Count = F->Size;
-                       Data  = F->LitBuf;
-                       J = 100;
-                       while (Count--) {
-                           if (J > 75) {
-                               printf ("\n   ");
-                               J = 3;
-                           }
-                           printf (" %02X", *Data++);
-                           J += 3;
-                       }
-                       printf ("\n");
-                       break;
-
-                   case FRAG_EXPR:
-                       printf ("    Expression (%u bytes):\n", F->Size);
-                       printf ("    ");
-                       DumpExpr (F->Expr, 0);
-                       break;
-
-                   case FRAG_SEXPR:
-                       printf ("    Signed expression (%u bytes):\n", F->Size);
-                       printf ("      ");
-                       DumpExpr (F->Expr, 0);
-                       break;
-
-                   case FRAG_FILL:
-                       printf ("    Empty space (%u bytes)\n", F->Size);
-                       break;
-
-                   default:
-                       Internal ("Invalid fragment type: %02X", F->Type);
-               }
-               F = F->Next;
-           }
-       }
+            Fragment* F = S->FragRoot;
+            printf ("  Section:\n");
+            while (F) {
+                switch (F->Type) {
+
+                    case FRAG_LITERAL:
+                        printf ("    Literal (%u bytes):", F->Size);
+                        Count = F->Size;
+                        Data  = F->LitBuf;
+                        J = 100;
+                        while (Count--) {
+                            if (J > 75) {
+                                printf ("\n   ");
+                                J = 3;
+                            }
+                            printf (" %02X", *Data++);
+                            J += 3;
+                        }
+                        printf ("\n");
+                        break;
+
+                    case FRAG_EXPR:
+                        printf ("    Expression (%u bytes):\n", F->Size);
+                        printf ("    ");
+                        DumpExpr (F->Expr, 0);
+                        break;
+
+                    case FRAG_SEXPR:
+                        printf ("    Signed expression (%u bytes):\n", F->Size);
+                        printf ("      ");
+                        DumpExpr (F->Expr, 0);
+                        break;
+
+                    case FRAG_FILL:
+                        printf ("    Empty space (%u bytes)\n", F->Size);
+                        break;
+
+                    default:
+                        Internal ("Invalid fragment type: %02X", F->Type);
+                }
+                F = F->Next;
+            }
+        }
     }
 }
 
@@ -409,13 +409,13 @@ unsigned SegWriteConstExpr (FILE* F, ExprNode* E, int Signed, unsigned Size)
  */
 {
     static const unsigned long U_Hi[4] = {
-               0x000000FFUL, 0x0000FFFFUL, 0x00FFFFFFUL, 0xFFFFFFFFUL
+        0x000000FFUL, 0x0000FFFFUL, 0x00FFFFFFUL, 0xFFFFFFFFUL
     };
     static const long S_Hi[4] = {
-               0x0000007FL, 0x00007FFFL, 0x007FFFFFL, 0x7FFFFFFFL
+        0x0000007FL, 0x00007FFFL, 0x007FFFFFL, 0x7FFFFFFFL
     };
     static const long S_Lo[4] = {
-               ~0x0000007FL, ~0x00007FFFL, ~0x007FFFFFL, ~0x7FFFFFFFL
+        ~0x0000007FL, ~0x00007FFFL, ~0x007FFFFFL, ~0x7FFFFFFFL
     };
 
 
@@ -427,15 +427,15 @@ unsigned SegWriteConstExpr (FILE* F, ExprNode* E, int Signed, unsigned Size)
 
     /* Check for a range error */
     if (Signed) {
-       if (Val > S_Hi[Size-1] || Val < S_Lo[Size-1]) {
-           /* Range error */
-           return SEG_EXPR_RANGE_ERROR;
-       }
+        if (Val > S_Hi[Size-1] || Val < S_Lo[Size-1]) {
+            /* Range error */
+            return SEG_EXPR_RANGE_ERROR;
+        }
     } else {
-       if (((unsigned long)Val) > U_Hi[Size-1]) {
-           /* Range error */
-           return SEG_EXPR_RANGE_ERROR;
-       }
+        if (((unsigned long)Val) > U_Hi[Size-1]) {
+            /* Range error */
+            return SEG_EXPR_RANGE_ERROR;
+        }
     }
 
     /* Write the value to the file */
@@ -465,81 +465,81 @@ void SegWrite (const char* TgtName, FILE* Tgt, Segment* S, SegWriteFunc F, void*
     for (I = 0; I < CollCount (&S->Sections); ++I) {
 
         Section*        Sec = CollAtUnchecked (&S->Sections, I);
-       Fragment*       Frag;
+        Fragment*       Frag;
         unsigned char   FillVal;
 
         /* Output were this section is from */
         Print (stdout, 2, "      Section from \"%s\"\n", GetObjFileName (Sec->Obj));
 
-       /* If we have fill bytes, write them now. Beware: If this is the
+        /* If we have fill bytes, write them now. Beware: If this is the
          * first section, the fill value is not considered part of the segment
          * and therefore taken from the memory area.
          */
         FillVal = (I == 0)? S->MemArea->FillVal : S->FillVal;
-               Print (stdout, 2, "        Filling 0x%lx bytes with 0x%02x\n",
+        Print (stdout, 2, "        Filling 0x%lx bytes with 0x%02x\n",
                Sec->Fill, FillVal);
-       WriteMult (Tgt, FillVal, Sec->Fill);
-       Offs += Sec->Fill;
+        WriteMult (Tgt, FillVal, Sec->Fill);
+        Offs += Sec->Fill;
 
-       /* Loop over all fragments in this section */
-       Frag = Sec->FragRoot;
-       while (Frag) {
+        /* Loop over all fragments in this section */
+        Frag = Sec->FragRoot;
+        while (Frag) {
 
             /* Output fragment data */
-           switch (Frag->Type) {
-
-               case FRAG_LITERAL:
-                   WriteData (Tgt, Frag->LitBuf, Frag->Size);
-                   break;
-
-               case FRAG_EXPR:
-               case FRAG_SEXPR:
-                   Sign = (Frag->Type == FRAG_SEXPR);
-                   /* Call the users function and evaluate the result */
-                   switch (F (Frag->Expr, Sign, Frag->Size, Offs, Data)) {
-
-                       case SEG_EXPR_OK:
-                           break;
-
-                       case SEG_EXPR_RANGE_ERROR:
-                           Error ("Range error in module `%s', line %u",
-                                  GetFragmentSourceName (Frag),
-                                  GetFragmentSourceLine (Frag));
-                           break;
-
-                       case SEG_EXPR_TOO_COMPLEX:
-                           Error ("Expression too complex in module `%s', line %u",
-                                  GetFragmentSourceName (Frag),
-                                  GetFragmentSourceLine (Frag));
-                           break;
-
-                       case SEG_EXPR_INVALID:
-                           Error ("Invalid expression in module `%s', line %u",
-                                  GetFragmentSourceName (Frag),
-                                  GetFragmentSourceLine (Frag));
-                           break;
-
-                       default:
-                           Internal ("Invalid return code from SegWriteFunc");
-                   }
-                   break;
-
-               case FRAG_FILL:
-                   WriteMult (Tgt, S->FillVal, Frag->Size);
-                   break;
-
-               default:
-                   Internal ("Invalid fragment type: %02X", Frag->Type);
-           }
-
-           /* Update the offset */
+            switch (Frag->Type) {
+
+                case FRAG_LITERAL:
+                    WriteData (Tgt, Frag->LitBuf, Frag->Size);
+                    break;
+
+                case FRAG_EXPR:
+                case FRAG_SEXPR:
+                    Sign = (Frag->Type == FRAG_SEXPR);
+                    /* Call the users function and evaluate the result */
+                    switch (F (Frag->Expr, Sign, Frag->Size, Offs, Data)) {
+
+                        case SEG_EXPR_OK:
+                            break;
+
+                        case SEG_EXPR_RANGE_ERROR:
+                            Error ("Range error in module `%s', line %u",
+                                   GetFragmentSourceName (Frag),
+                                   GetFragmentSourceLine (Frag));
+                            break;
+
+                        case SEG_EXPR_TOO_COMPLEX:
+                            Error ("Expression too complex in module `%s', line %u",
+                                   GetFragmentSourceName (Frag),
+                                   GetFragmentSourceLine (Frag));
+                            break;
+
+                        case SEG_EXPR_INVALID:
+                            Error ("Invalid expression in module `%s', line %u",
+                                   GetFragmentSourceName (Frag),
+                                   GetFragmentSourceLine (Frag));
+                            break;
+
+                        default:
+                            Internal ("Invalid return code from SegWriteFunc");
+                    }
+                    break;
+
+                case FRAG_FILL:
+                    WriteMult (Tgt, S->FillVal, Frag->Size);
+                    break;
+
+                default:
+                    Internal ("Invalid fragment type: %02X", Frag->Type);
+            }
+
+            /* Update the offset */
             Print (stdout, 2, "        Fragment with 0x%x bytes\n",
                    Frag->Size);
-           Offs += Frag->Size;
+            Offs += Frag->Size;
 
-           /* Next fragment */
-           Frag = Frag->Next;
-       }
+            /* Next fragment */
+            Frag = Frag->Next;
+        }
     }
 }
 
@@ -562,12 +562,12 @@ static int CmpSegStart (const void* K1, const void* K2)
 
     /* Compare the start addresses */
     if (S1->PC > S2->PC) {
-       return 1;
+        return 1;
     } else if (S1->PC < S2->PC) {
-       return -1;
+        return -1;
     } else {
-       /* Sort segments with equal starts by name */
-       return strcmp (GetString (S1->Name), GetString (S2->Name));
+        /* Sort segments with equal starts by name */
+        return strcmp (GetString (S1->Name), GetString (S2->Name));
     }
 }
 
@@ -591,25 +591,25 @@ void PrintSegmentMap (FILE* F)
 
     /* Print a header */
     fprintf (F, "Name                   Start     End    Size  Align\n"
-               "----------------------------------------------------\n");
+                "----------------------------------------------------\n");
 
     /* Print the segments */
     for (I = 0; I < CollCount (&SegmentList); ++I) {
 
-       /* Get a pointer to the segment */
-               Segment* S = SegPool[I];
-
-       /* Print empty segments only if explicitly requested */
-       if (VerboseMap || S->Size > 0) {
-           /* Print the segment data */
-           long End = S->PC + S->Size;
-           if (S->Size > 0) {
-               /* Point to last element addressed */
-               --End;
-           }
-           fprintf (F, "%-20s  %06lX  %06lX  %06lX  %05lX\n",
-                            GetString (S->Name), S->PC, End, S->Size, S->Alignment);
-       }
+        /* Get a pointer to the segment */
+        Segment* S = SegPool[I];
+
+        /* Print empty segments only if explicitly requested */
+        if (VerboseMap || S->Size > 0) {
+            /* Print the segment data */
+            long End = S->PC + S->Size;
+            if (S->Size > 0) {
+                /* Point to last element addressed */
+                --End;
+            }
+            fprintf (F, "%-20s  %06lX  %06lX  %06lX  %05lX\n",
+                     GetString (S->Name), S->PC, End, S->Size, S->Alignment);
+        }
     }
 
     /* Free the segment pool */
@@ -656,10 +656,10 @@ void CheckSegments (void)
         const Segment* S = CollAtUnchecked (&SegmentList, I);
 
         /* Check it */
-       if (S->Size > 0 && S->Dumped == 0) {
-                   Error ("Missing memory area assignment for segment `%s'",
+        if (S->Size > 0 && S->Dumped == 0) {
+            Error ("Missing memory area assignment for segment `%s'",
                    GetString (S->Name));
-       }
+        }
     }
 }
 
index 9810c0f574174a9166b37bffd6265cd22038cfcb..67006bcc10e71928327d9d19e624009c5af0e9bb 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               segments.h                                 */
+/*                                segments.h                                 */
 /*                                                                           */
-/*                  Segment handling for the ld65 linker                    */
+/*                   Segment handling for the ld65 linker                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,7 +47,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,19 +60,19 @@ typedef struct Segment Segment;
 struct Segment {
     unsigned            Name;           /* Name index of the segment */
     unsigned            Id;             /* Segment id for debug info */
-    Segment*           Next;           /* Hash list */
+    Segment*            Next;           /* Hash list */
     unsigned            Flags;          /* Segment flags */
     Collection          Sections;       /* Sections in this segment */
     struct MemoryArea*  MemArea;        /* Run memory area once placed */
-    unsigned long      PC;             /* PC were this segment is located */
-    unsigned long      Size;           /* Size of data so far */
+    unsigned long       PC;             /* PC were this segment is located */
+    unsigned long       Size;           /* Size of data so far */
     const char*         OutputName;     /* Name of output file or NULL */
     unsigned long       OutputOffs;     /* Offset in output file */
     unsigned long       Alignment;      /* Alignment needed */
-    unsigned char      FillVal;        /* Value to use for fill bytes */
-    unsigned char      AddrSize;       /* Address size of segment */
+    unsigned char       FillVal;        /* Value to use for fill bytes */
+    unsigned char       AddrSize;       /* Address size of segment */
     unsigned char       ReadOnly;       /* True for readonly segments (config) */
-    unsigned char              Dumped;         /* Did we dump this segment? */
+    unsigned char       Dumped;         /* Did we dump this segment? */
 };
 
 
@@ -80,16 +80,16 @@ struct Segment {
 /* Section structure (a section is a part of a segment) */
 typedef struct Section Section;
 struct Section {
-    Section*           Next;           /* List of sections in a segment */
-    Segment*           Seg;            /* Segment that contains the section */
+    Section*            Next;           /* List of sections in a segment */
+    Segment*            Seg;            /* Segment that contains the section */
     struct ObjData*     Obj;            /* Object file this section comes from */
-    struct Fragment*   FragRoot;       /* Fragment list */
-    struct Fragment*   FragLast;       /* Pointer to last fragment */
-    unsigned long      Offs;           /* Offset into the segment */
-    unsigned long      Size;           /* Size of the section */
+    struct Fragment*    FragRoot;       /* Fragment list */
+    struct Fragment*    FragLast;       /* Pointer to last fragment */
+    unsigned long       Offs;           /* Offset into the segment */
+    unsigned long       Size;           /* Size of the section */
     unsigned long       Fill;           /* Fill bytes for alignment */
     unsigned long       Alignment;      /* Alignment */
-    unsigned char      AddrSize;       /* Address size of segment */
+    unsigned char       AddrSize;       /* Address size of segment */
 };
 
 
@@ -97,21 +97,21 @@ struct Section {
 /* Prototype for a function that is used to write expressions to the target
  * file (used in SegWrite). It returns one of the following values:
  */
-#define SEG_EXPR_OK            0U      /* Ok */
-#define SEG_EXPR_RANGE_ERROR   1U      /* Range error */
-#define SEG_EXPR_TOO_COMPLEX   2U      /* Expression too complex */
+#define SEG_EXPR_OK             0U      /* Ok */
+#define SEG_EXPR_RANGE_ERROR    1U      /* Range error */
+#define SEG_EXPR_TOO_COMPLEX    2U      /* Expression too complex */
 #define SEG_EXPR_INVALID        3U      /* Expression is invalid (e.g. unmapped segment) */
 
-typedef unsigned (*SegWriteFunc) (ExprNode* E,               /* The expression to write */
-                                 int Signed,         /* Signed expression? */
-                                 unsigned Size,      /* Size (=range) */
-                                 unsigned long Offs, /* File offset */
-                                 void* Data);        /* Callers data */
+typedef unsigned (*SegWriteFunc) (ExprNode* E,        /* The expression to write */
+                                  int Signed,         /* Signed expression? */
+                                  unsigned Size,      /* Size (=range) */
+                                  unsigned long Offs, /* File offset */
+                                  void* Data);        /* Callers data */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 19bf8abe1d86d85675d45880e581266f9ee2023d..1b3f35e06ddbd35e007de5a178aef4659a870371 100644 (file)
@@ -54,7 +54,7 @@
 
 /* Definition of a span */
 struct Span {
-    unsigned           Id;             /* Id of the span */
+    unsigned            Id;             /* Id of the span */
     unsigned            Sec;            /* Section id of this span */
     unsigned long       Offs;           /* Offset of span within segment */
     unsigned long       Size;           /* Size of span */
@@ -64,7 +64,7 @@ struct Span {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d8382a0283249a38d7674de7aa3497b5e589e522..6e549189b933ddc8690e8ccf945cb176ac63d054 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                Forwards                                  */
+/*                                 Forwards                                  */
 /*****************************************************************************/
 
 
@@ -57,7 +57,7 @@ struct Segment;
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -68,7 +68,7 @@ typedef struct Span Span;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d5ce7fe130075c21a71e3b828f11ec36e9d3cee7..b3173eb17b780062c1d7125943cc7a794f88ef15 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -49,7 +49,7 @@ StringPool* StrPool = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 9c84f06b847ee752469e326602074bc8c0b470e4..bd5a7a627dc0cd4e744dd2350bd64a38f78a68f1 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -58,7 +58,7 @@ extern StringPool* StrPool;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 06957cb5ddcb3aa8fb80d91631a99d199d739fd1..f943fa704415815356938d26e19eaed979ddcd34 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ StringPool* TypePool = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 2b1a63dd163b8232c928bb25a6a8d77ef5c5dd68..d2a8510d95f6bd19423c84658cf04caeedcb4dc4 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -60,7 +60,7 @@ extern StringPool* TypePool;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 21a039e7f997c34f005f6b1735fc1547c19596b2..ffca41907b3f63ac2e4e0e11ce661549d7f1ba9e 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 dump.c                                   */
+/*                                  dump.c                                   */
 /*                                                                           */
-/*         Dump subroutines for the od65 object file dump utility           */
+/*          Dump subroutines for the od65 object file dump utility           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -57,7 +57,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -91,8 +91,8 @@ static const char* GetString (const Collection* C, unsigned Index)
 
 
 static void DumpObjHeaderSection (const char* Name,
-                                 unsigned long Offset,
-                                 unsigned long Size)
+                                  unsigned long Offset,
+                                  unsigned long Size)
 /* Dump a header section */
 {
     printf ("    %s:\n", Name);
@@ -112,7 +112,7 @@ static char* TimeToStr (unsigned long Time)
     /* Remove the trailing newline */
     unsigned Len = strlen (S);
     if (Len > 0 && S[Len-1] == '\n') {
-       S[Len-1 ] = '\0';
+        S[Len-1 ] = '\0';
     }
 
     /* Return the time string */
@@ -155,38 +155,38 @@ static void SkipExpr (FILE* F)
     /* Read the node tag and handle NULL nodes */
     unsigned char Op = Read8 (F);
     if (Op == EXPR_NULL) {
-       return;
+        return;
     }
 
     /* Check the tag and handle the different expression types */
     if (EXPR_IS_LEAF (Op)) {
-       switch (Op) {
+        switch (Op) {
 
-           case EXPR_LITERAL:
-               (void) Read32Signed (F);
-               break;
+            case EXPR_LITERAL:
+                (void) Read32Signed (F);
+                break;
 
-           case EXPR_SYMBOL:
-               /* Read the import number */
-               (void) ReadVar (F);
-               break;
+            case EXPR_SYMBOL:
+                /* Read the import number */
+                (void) ReadVar (F);
+                break;
 
-           case EXPR_SECTION:
+            case EXPR_SECTION:
             case EXPR_BANK:
-               /* Read the segment number */
-               (void) ReadVar (F);
-               break;
+                /* Read the segment number */
+                (void) ReadVar (F);
+                break;
 
-           default:
-               Error ("Invalid expression op: %02X", Op);
+            default:
+                Error ("Invalid expression op: %02X", Op);
 
-       }
+        }
 
     } else {
 
-       /* Not a leaf node */
-               SkipExpr (F);
-       SkipExpr (F);
+        /* Not a leaf node */
+        SkipExpr (F);
+        SkipExpr (F);
     }
 }
 
@@ -205,20 +205,20 @@ static const char* GetExportFlags (unsigned Flags, const unsigned char* ConDes)
     /* Symbol type */
     TypeDesc[0] = '\0';
     switch (Flags & SYM_MASK_TYPE) {
-               case SYM_STD:         strcat (TypeDesc, "SYM_STD");         break;
-               case SYM_CHEAP_LOCAL: strcat (TypeDesc, "SYM_CHEAP_LOCAL"); break;
+        case SYM_STD:         strcat (TypeDesc, "SYM_STD");         break;
+        case SYM_CHEAP_LOCAL: strcat (TypeDesc, "SYM_CHEAP_LOCAL"); break;
     }
 
     /* Symbol usage */
     switch (Flags & SYM_MASK_LABEL) {
-               case SYM_EQUATE: strcat (TypeDesc, ",SYM_EQUATE"); break;
-               case SYM_LABEL:  strcat (TypeDesc, ",SYM_LABEL");  break;
+        case SYM_EQUATE: strcat (TypeDesc, ",SYM_EQUATE"); break;
+        case SYM_LABEL:  strcat (TypeDesc, ",SYM_LABEL");  break;
     }
 
     /* Type of expression */
     switch (Flags & SYM_MASK_VAL) {
-               case SYM_CONST: strcat (TypeDesc, ",SYM_CONST"); break;
-               case SYM_EXPR:  strcat (TypeDesc, ",SYM_EXPR");   break;
+        case SYM_CONST: strcat (TypeDesc, ",SYM_CONST"); break;
+        case SYM_EXPR:  strcat (TypeDesc, ",SYM_EXPR");   break;
     }
 
     /* Size available? */
@@ -231,15 +231,15 @@ static const char* GetExportFlags (unsigned Flags, const unsigned char* ConDes)
     T = TypeDesc + strlen (TypeDesc);
     Count = SYM_GET_CONDES_COUNT (Flags);
     if (Count > 0 && ConDes) {
-       T += sprintf (T, ",SYM_CONDES=");
-       for (I = 0; I < Count; ++I) {
-           unsigned Type = CD_GET_TYPE (ConDes[I]);
-           unsigned Prio = CD_GET_PRIO (ConDes[I]);
-           if (I > 0) {
-               *T++ = ',';
-           }
-                   T += sprintf (T, "[%u,%u]", Type, Prio);
-       }
+        T += sprintf (T, ",SYM_CONDES=");
+        for (I = 0; I < Count; ++I) {
+            unsigned Type = CD_GET_TYPE (ConDes[I]);
+            unsigned Prio = CD_GET_PRIO (ConDes[I]);
+            if (I > 0) {
+                *T++ = ',';
+            }
+            T += sprintf (T, "[%u,%u]", Type, Prio);
+        }
     }
 
     /* Return the result */
@@ -289,7 +289,7 @@ void DumpObjHeader (FILE* F, unsigned long Offset)
     /* Flags */
     printf ("    Flags:%21s0x%04X  (", "", H.Flags);
     if (H.Flags & OBJ_FLAGS_DBGINFO) {
-       printf ("OBJ_FLAGS_DBGINFO");
+        printf ("OBJ_FLAGS_DBGINFO");
     }
     printf (")\n");
 
@@ -355,57 +355,57 @@ void DumpObjOptions (FILE* F, unsigned long Offset)
     /* Read and print all options */
     for (I = 0; I < Count; ++I) {
 
-       const char*   ArgStr;
-       unsigned      ArgLen;
+        const char*   ArgStr;
+        unsigned      ArgLen;
 
-       /* Read the type of the option and the value */
-       unsigned char Type = Read8 (F);
+        /* Read the type of the option and the value */
+        unsigned char Type = Read8 (F);
         unsigned long Val  = ReadVar (F);
 
-               /* Get the type of the argument */
-       unsigned char ArgType = Type & OPT_ARGMASK;
-
-       /* Determine which option follows */
-       const char* TypeDesc;
-       switch (Type) {
-                   case OPT_COMMENT:   TypeDesc = "OPT_COMMENT";       break;
-           case OPT_AUTHOR:    TypeDesc = "OPT_AUTHOR";        break;
-           case OPT_TRANSLATOR:TypeDesc = "OPT_TRANSLATOR";    break;
-           case OPT_COMPILER:  TypeDesc = "OPT_COMPILER";      break;
-           case OPT_OS:        TypeDesc = "OPT_OS";            break;
-           case OPT_DATETIME:  TypeDesc = "OPT_DATETIME";      break;
-           default:            TypeDesc = "OPT_UNKNOWN";       break;
-       }
-
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
-
-       /* Print the data */
-       printf ("      Type:%22s0x%02X  (%s)\n", "", Type, TypeDesc);
-       switch (ArgType) {
-
-           case OPT_ARGSTR:
-               ArgStr = GetString (&StrPool, Val);
-               ArgLen = strlen (ArgStr);
-               printf ("      Data:%*s\"%s\"\n", (int)(24-ArgLen), "", ArgStr);
-               break;
-
-           case OPT_ARGNUM:
-               printf ("      Data:%26lu", Val);
-               if (Type == OPT_DATETIME) {
-                   /* Print the time as a string */
-                   printf ("  (%s)", TimeToStr (Val));
-               }
-               printf ("\n");
-               break;
-
-           default:
-               /* Unknown argument type. This means that we cannot determine
-                * the option length, so we cannot proceed.
-                */
-               Error ("Unknown option type: 0x%02X", Type);
-               break;
-       }
+        /* Get the type of the argument */
+        unsigned char ArgType = Type & OPT_ARGMASK;
+
+        /* Determine which option follows */
+        const char* TypeDesc;
+        switch (Type) {
+            case OPT_COMMENT:   TypeDesc = "OPT_COMMENT";       break;
+            case OPT_AUTHOR:    TypeDesc = "OPT_AUTHOR";        break;
+            case OPT_TRANSLATOR:TypeDesc = "OPT_TRANSLATOR";    break;
+            case OPT_COMPILER:  TypeDesc = "OPT_COMPILER";      break;
+            case OPT_OS:        TypeDesc = "OPT_OS";            break;
+            case OPT_DATETIME:  TypeDesc = "OPT_DATETIME";      break;
+            default:            TypeDesc = "OPT_UNKNOWN";       break;
+        }
+
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
+
+        /* Print the data */
+        printf ("      Type:%22s0x%02X  (%s)\n", "", Type, TypeDesc);
+        switch (ArgType) {
+
+            case OPT_ARGSTR:
+                ArgStr = GetString (&StrPool, Val);
+                ArgLen = strlen (ArgStr);
+                printf ("      Data:%*s\"%s\"\n", (int)(24-ArgLen), "", ArgStr);
+                break;
+
+            case OPT_ARGNUM:
+                printf ("      Data:%26lu", Val);
+                if (Type == OPT_DATETIME) {
+                    /* Print the time as a string */
+                    printf ("  (%s)", TimeToStr (Val));
+                }
+                printf ("\n");
+                break;
+
+            default:
+                /* Unknown argument type. This means that we cannot determine
+                 * the option length, so we cannot proceed.
+                 */
+                Error ("Unknown option type: 0x%02X", Type);
+                break;
+        }
     }
 
     /* Destroy the string pool */
@@ -443,19 +443,19 @@ void DumpObjFiles (FILE* F, unsigned long Offset)
     /* Read and print all files */
     for (I = 0; I < Count; ++I) {
 
-       /* Read the data for one file */
-               const char*   Name  = GetString (&StrPool, ReadVar (F));
-       unsigned long MTime = Read32 (F);
-       unsigned long Size  = ReadVar (F);
-       unsigned      Len   = strlen (Name);
+        /* Read the data for one file */
+        const char*   Name  = GetString (&StrPool, ReadVar (F));
+        unsigned long MTime = Read32 (F);
+        unsigned long Size  = ReadVar (F);
+        unsigned      Len   = strlen (Name);
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-       /* Print the data */
-       printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
-               printf ("      Size:%26lu\n", Size);
-       printf ("      Modification time:%13lu  (%s)\n", MTime, TimeToStr (MTime));
+        /* Print the data */
+        printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
+        printf ("      Size:%26lu\n", Size);
+        printf ("      Modification time:%13lu  (%s)\n", MTime, TimeToStr (MTime));
     }
 
     /* Destroy the string pool */
@@ -493,28 +493,28 @@ void DumpObjSegments (FILE* F, unsigned long Offset)
     /* Read and print all segments */
     for (I = 0; I < Count; ++I) {
 
-       /* Read the data for one segments */
+        /* Read the data for one segments */
         unsigned long DataSize  = Read32 (F);
         unsigned long NextSeg   = ftell (F) + DataSize;
-               const char*   Name      = GetString (&StrPool, ReadVar (F));
-       unsigned      Len       = strlen (Name);
+        const char*   Name      = GetString (&StrPool, ReadVar (F));
+        unsigned      Len       = strlen (Name);
         unsigned      Flags     = ReadVar (F);
-       unsigned long Size      = ReadVar (F);
-               unsigned long Align     = ReadVar (F);
-               unsigned char AddrSize  = Read8 (F);
+        unsigned long Size      = ReadVar (F);
+        unsigned long Align     = ReadVar (F);
+        unsigned char AddrSize  = Read8 (F);
         unsigned long FragCount = ReadVar (F);
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-       /* Print the data */
-       printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
+        /* Print the data */
+        printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
         printf ("      Flags:%25u\n", Flags);
-               printf ("      Size:%26lu\n", Size);
-       printf ("      Alignment:%21lu\n", Align);
-       printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
+        printf ("      Size:%26lu\n", Size);
+        printf ("      Alignment:%21lu\n", Align);
+        printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
                 AddrSizeToStr (AddrSize));
-               printf ("      Fragment count:%16lu\n", FragCount);
+        printf ("      Fragment count:%16lu\n", FragCount);
 
         /* Seek to the end of the segment data (start of next) */
         FileSetPos (F, NextSeg);
@@ -555,22 +555,22 @@ void DumpObjImports (FILE* F, unsigned long Offset)
     /* Read and print all imports */
     for (I = 0; I < Count; ++I) {
 
-               /* Read the data for one import */
-               unsigned char AddrSize = Read8 (F);
-               const char*   Name     = GetString (&StrPool, ReadVar (F));
-       unsigned      Len      = strlen (Name);
+        /* Read the data for one import */
+        unsigned char AddrSize = Read8 (F);
+        const char*   Name     = GetString (&StrPool, ReadVar (F));
+        unsigned      Len      = strlen (Name);
 
         /* Skip both line info lists */
         SkipLineInfoList (F);
         SkipLineInfoList (F);
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-       /* Print the data */
-       printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
+        /* Print the data */
+        printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
                 AddrSizeToStr (AddrSize));
-       printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
+        printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
     }
 
     /* Destroy the string pool */
@@ -582,10 +582,10 @@ void DumpObjImports (FILE* F, unsigned long Offset)
 void DumpObjExports (FILE* F, unsigned long Offset)
 /* Dump the exports in the object file */
 {
-    ObjHeader  H;
+    ObjHeader   H;
     Collection  StrPool = AUTO_COLLECTION_INITIALIZER;
-    unsigned           Count;
-    unsigned           I;
+    unsigned    Count;
+    unsigned    I;
 
     /* Seek to the header position and read the header */
     FileSetPos (F, Offset);
@@ -608,24 +608,24 @@ void DumpObjExports (FILE* F, unsigned long Offset)
     /* Read and print all exports */
     for (I = 0; I < Count; ++I) {
 
-       unsigned long   Value = 0;
+        unsigned long   Value = 0;
         unsigned long   Size = 0;
-               unsigned char   ConDes[CD_TYPE_COUNT];
-               const char*     Name;
-       unsigned        Len;
+        unsigned char   ConDes[CD_TYPE_COUNT];
+        const char*     Name;
+        unsigned        Len;
 
 
-               /* Read the data for one export */
-               unsigned Type          = ReadVar (F);
+        /* Read the data for one export */
+        unsigned Type          = ReadVar (F);
         unsigned char AddrSize = Read8 (F);
-       ReadData (F, ConDes, SYM_GET_CONDES_COUNT (Type));
-               Name  = GetString (&StrPool, ReadVar (F));
-       Len   = strlen (Name);
-               if (SYM_IS_CONST (Type)) {
-           Value = Read32 (F);
-       } else {
-                   SkipExpr (F);
-       }
+        ReadData (F, ConDes, SYM_GET_CONDES_COUNT (Type));
+        Name  = GetString (&StrPool, ReadVar (F));
+        Len   = strlen (Name);
+        if (SYM_IS_CONST (Type)) {
+            Value = Read32 (F);
+        } else {
+            SkipExpr (F);
+        }
         if (SYM_HAS_SIZE (Type)) {
             Size = ReadVar (F);
         }
@@ -634,20 +634,20 @@ void DumpObjExports (FILE* F, unsigned long Offset)
         SkipLineInfoList (F);
         SkipLineInfoList (F);
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-       /* Print the data */
-               printf ("      Type:%22s0x%02X  (%s)\n", "", Type, GetExportFlags (Type, ConDes));
-       printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
+        /* Print the data */
+        printf ("      Type:%22s0x%02X  (%s)\n", "", Type, GetExportFlags (Type, ConDes));
+        printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
                 AddrSizeToStr (AddrSize));
-       printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
-       if (SYM_IS_CONST (Type)) {
-           printf ("      Value:%15s0x%08lX  (%lu)\n", "", Value, Value);
-       }
-               if (SYM_HAS_SIZE (Type)) {
-           printf ("      Size:%16s0x%04lX  (%lu)\n", "", Size, Size);
-       }
+        printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
+        if (SYM_IS_CONST (Type)) {
+            printf ("      Value:%15s0x%08lX  (%lu)\n", "", Value, Value);
+        }
+        if (SYM_HAS_SIZE (Type)) {
+            printf ("      Size:%16s0x%04lX  (%lu)\n", "", Size, Size);
+        }
     }
 
     /* Destroy the string pool */
@@ -680,9 +680,9 @@ void DumpObjDbgSyms (FILE* F, unsigned long Offset)
 
     /* Check if the object file was compiled with debug info */
     if ((H.Flags & OBJ_FLAGS_DBGINFO) == 0) {
-       /* Print that there no debug symbols and bail out */
-       printf ("    Count:%27u\n", 0);
-       return;
+        /* Print that there no debug symbols and bail out */
+        printf ("    Count:%27u\n", 0);
+        return;
     }
 
     /* Read the number of exports and print it */
@@ -692,22 +692,22 @@ void DumpObjDbgSyms (FILE* F, unsigned long Offset)
     /* Read and print all debug symbols */
     for (I = 0; I < Count; ++I) {
 
-       unsigned long   Value = 0;
+        unsigned long   Value = 0;
         unsigned long   Size = 0;
         unsigned        ImportId = 0;
         unsigned        ExportId = 0;
 
-               /* Read the data for one symbol */
-               unsigned Type          = ReadVar (F);
+        /* Read the data for one symbol */
+        unsigned Type          = ReadVar (F);
         unsigned char AddrSize = Read8 (F);
         unsigned long Owner    = ReadVar (F);
-               const char*   Name     = GetString (&StrPool, ReadVar (F));
-       unsigned      Len      = strlen (Name);
-       if (SYM_IS_CONST (Type)) {
-           Value = Read32 (F);
-       } else {
-           SkipExpr (F);
-       }
+        const char*   Name     = GetString (&StrPool, ReadVar (F));
+        unsigned      Len      = strlen (Name);
+        if (SYM_IS_CONST (Type)) {
+            Value = Read32 (F);
+        } else {
+            SkipExpr (F);
+        }
         if (SYM_HAS_SIZE (Type)) {
             Size = ReadVar (F);
         }
@@ -722,27 +722,27 @@ void DumpObjDbgSyms (FILE* F, unsigned long Offset)
         SkipLineInfoList (F);
         SkipLineInfoList (F);
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-       /* Print the data */
-               printf ("      Type:%22s0x%02X  (%s)\n", "", Type, GetExportFlags (Type, 0));
-       printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
+        /* Print the data */
+        printf ("      Type:%22s0x%02X  (%s)\n", "", Type, GetExportFlags (Type, 0));
+        printf ("      Address size:%14s0x%02X  (%s)\n", "", AddrSize,
                 AddrSizeToStr (AddrSize));
-               printf ("      Owner:%25lu\n", Owner);
-       printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
-       if (SYM_IS_CONST (Type)) {
-           printf ("      Value:%15s0x%08lX  (%lu)\n", "", Value, Value);
-       }
-               if (SYM_HAS_SIZE (Type)) {
-           printf ("      Size:%20s0x%04lX  (%lu)\n", "", Size, Size);
-       }
-               if (SYM_IS_IMPORT (Type)) {
-           printf ("      Import:%24u\n", ImportId);
-       }
-               if (SYM_IS_EXPORT (Type)) {
-           printf ("      Export:%24u\n", ExportId);
-       }
+        printf ("      Owner:%25lu\n", Owner);
+        printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
+        if (SYM_IS_CONST (Type)) {
+            printf ("      Value:%15s0x%08lX  (%lu)\n", "", Value, Value);
+        }
+        if (SYM_HAS_SIZE (Type)) {
+            printf ("      Size:%20s0x%04lX  (%lu)\n", "", Size, Size);
+        }
+        if (SYM_IS_IMPORT (Type)) {
+            printf ("      Import:%24u\n", ImportId);
+        }
+        if (SYM_IS_EXPORT (Type)) {
+            printf ("      Export:%24u\n", ExportId);
+        }
     }
 
     /* Destroy the string pool */
@@ -775,9 +775,9 @@ void DumpObjLineInfo (FILE* F, unsigned long Offset)
 
     /* Check if the object file was compiled with debug info */
     if ((H.Flags & OBJ_FLAGS_DBGINFO) == 0) {
-       /* Print that there no line infos and bail out */
-       printf ("    Count:%27u\n", 0);
-       return;
+        /* Print that there no line infos and bail out */
+        printf ("    Count:%27u\n", 0);
+        return;
     }
 
     /* Read the number of line infos and print it */
@@ -787,11 +787,11 @@ void DumpObjLineInfo (FILE* F, unsigned long Offset)
     /* Read and print all line infos */
     for (I = 0; I < Count; ++I) {
 
-       FilePos   Pos;
+        FilePos   Pos;
         unsigned  Type;
 
-               /* File position of line info */
-       ReadFilePos (F, &Pos);
+        /* File position of line info */
+        ReadFilePos (F, &Pos);
 
         /* Type of line info */
         Type = ReadVar (F);
@@ -799,15 +799,15 @@ void DumpObjLineInfo (FILE* F, unsigned long Offset)
         /* Skip the spans */
         SkipSpanList (F);
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-       /* Print the data */
+        /* Print the data */
         printf ("      Type:%26u\n", LI_GET_TYPE (Type));
         printf ("      Count:%25u\n", LI_GET_COUNT (Type));
-               printf ("      Line:%26u\n", Pos.Line);
-               printf ("      Col:%27u\n", Pos.Col);
-               printf ("      Name:%26u\n", Pos.Name);
+        printf ("      Line:%26u\n", Pos.Line);
+        printf ("      Col:%27u\n", Pos.Col);
+        printf ("      Name:%26u\n", Pos.Name);
     }
 
     /* Destroy the string pool */
@@ -840,9 +840,9 @@ void DumpObjScopes (FILE* F, unsigned long Offset)
 
     /* Check if the object file was compiled with debug info */
     if ((H.Flags & OBJ_FLAGS_DBGINFO) == 0) {
-       /* Print that there no scopes and bail out */
-       printf ("    Count:%27u\n", 0);
-       return;
+        /* Print that there no scopes and bail out */
+        printf ("    Count:%27u\n", 0);
+        return;
     }
 
     /* Read the number of scopes and print it */
@@ -861,25 +861,25 @@ void DumpObjScopes (FILE* F, unsigned long Offset)
         unsigned        Flags = ReadVar (F);
         const char*     ScopeType = GetScopeType (ReadVar (F));
 
-       /* Print the header */
-       printf ("    Index:%27u\n", I);
+        /* Print the header */
+        printf ("    Index:%27u\n", I);
 
-               /* Print the data */
+        /* Print the data */
         printf ("      Parent id:%21u\n",       ParentId);
         printf ("      Lexical level:%17u\n",   LexicalLevel);
-               printf ("      Flags:%21s0x%02X\n",     "", Flags);
+        printf ("      Flags:%21s0x%02X\n",     "", Flags);
         printf ("      Type:%26s\n",            ScopeType);
 
         /* Resolve and print the name */
-               Name = GetString (&StrPool, ReadVar (F));
-       Len  = strlen (Name);
-       printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
+        Name = GetString (&StrPool, ReadVar (F));
+        Len  = strlen (Name);
+        printf ("      Name:%*s\"%s\"\n", (int)(24-Len), "", Name);
 
         /* Size */
-               if (SCOPE_HAS_SIZE (Flags)) {
+        if (SCOPE_HAS_SIZE (Flags)) {
             unsigned long Size = ReadVar (F);
-           printf ("      Size:%20s0x%04lX  (%lu)\n", "", Size, Size);
-       }
+            printf ("      Size:%20s0x%04lX  (%lu)\n", "", Size, Size);
+        }
 
         /* Label */
         if (SCOPE_HAS_LABEL (Flags)) {
@@ -926,11 +926,11 @@ void DumpObjSegSize (FILE* F, unsigned long Offset)
 
         unsigned long Size;
 
-               /* Read the data for one segment */
+        /* Read the data for one segment */
         unsigned long DataSize = Read32 (F);
         unsigned long NextSeg  = ftell (F) + DataSize;
-       const char*   Name     = GetString (&StrPool, ReadVar (F));
-       unsigned      Len      = strlen (Name);
+        const char*   Name     = GetString (&StrPool, ReadVar (F));
+        unsigned      Len      = strlen (Name);
 
         /* Skip segment flags, read size */
         (void) ReadVar (F);     
@@ -941,8 +941,8 @@ void DumpObjSegSize (FILE* F, unsigned long Offset)
         (void) Read8 (F);
         (void) ReadVar (F);
 
-       /* Print the size for this segment */
-       printf ("    %s:%*s%6lu\n", Name, (int)(24-Len), "", Size);
+        /* Print the size for this segment */
+        printf ("    %s:%*s%6lu\n", Name, (int)(24-Len), "", Size);
 
         /* Seek to the end of the segment data (start of next) */
         FileSetPos (F, NextSeg);
index 23971fe83f1dafa72910f75aaed1aecc3a7af033..eafb86a3c768328c838642eed3ba7d18c5f0c3b6 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 dump.h                                   */
+/*                                  dump.h                                   */
 /*                                                                           */
-/*         Dump subroutines for the od65 object file dump utility           */
+/*          Dump subroutines for the od65 object file dump utility           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 3d934e5c1832c3577086d8e7ab5303ef0158e770..2b5827571f6e7e20e805f8c1ea5c8e021d3756e7 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.c                                   */
+/*                                 error.c                                   */
 /*                                                                           */
-/*          Error handling for the od65 object file dump utility            */
+/*           Error handling for the od65 object file dump utility            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index af5c907fd9e993b190cfc5e46d89ebc1281d4bf7..16eabdb0e0527dfb45a98273c2d63dfc5bc01a46 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*          Error handling for the od65 object file dump utility            */
+/*           Error handling for the od65 object file dump utility            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index a1493500689331bc6b8cde996cd6fb1de88b1722..9ddab17af5a498b9700ac0231a38a56c8ea8b445 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.c                                  */
+/*                                 fileio.c                                  */
 /*                                                                           */
-/*             File I/O for the od65 object file dump utility               */
+/*              File I/O for the od65 object file dump utility               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -55,7 +55,7 @@ void FileSetPos (FILE* F, unsigned long Pos)
 /* Seek to the given absolute position, fail on errors */
 {                 
     if (fseek (F, Pos, SEEK_SET) != 0) {
-       Error ("Cannot seek: %s", strerror (errno));
+        Error ("Cannot seek: %s", strerror (errno));
     }
 }
 
@@ -66,7 +66,7 @@ unsigned long FileGetPos (FILE* F)
 {
     long Pos = ftell (F);
     if (Pos < 0) {
-               Error ("Error in ftell: %s", strerror (errno));
+        Error ("Error in ftell: %s", strerror (errno));
     }
     return Pos;
 }
@@ -78,7 +78,7 @@ unsigned Read8 (FILE* F)
 {
     int C = getc (F);
     if (C == EOF) {
-       Error ("Read error (file corrupt?)");
+        Error ("Read error (file corrupt?)");
     }
     return C;
 }
@@ -123,8 +123,8 @@ long Read32Signed (FILE* F)
 
     /* Sign extend the value */
     if (V & 0x80000000UL) {
-       /* Signed value */
-       V |= ~0xFFFFFFFFUL;
+        /* Signed value */
+        V |= ~0xFFFFFFFFUL;
     }
 
     /* Return it as a long */
@@ -143,12 +143,12 @@ unsigned long ReadVar (FILE* F)
     unsigned long V = 0;
     unsigned Shift = 0;
     do {
-       /* Read one byte */
-       C = Read8 (F);
-       /* Encode it into the target value */
-       V |= ((unsigned long)(C & 0x7F)) << Shift;
-       /* Next value */
-       Shift += 7;
+        /* Read one byte */
+        C = Read8 (F);
+        /* Encode it into the target value */
+        V |= ((unsigned long)(C & 0x7F)) << Shift;
+        /* Next value */
+        Shift += 7;
     } while (C & 0x80);
 
     /* Return the value read */
@@ -180,7 +180,7 @@ FilePos* ReadFilePos (FILE* F, FilePos* Pos)
 /* Read a file position from the file */
 {
     /* Read the data fields */
-    Pos->Line =        ReadVar (F);
+    Pos->Line = ReadVar (F);
     Pos->Col  = ReadVar (F);
     Pos->Name = ReadVar (F);
     return Pos;
@@ -193,9 +193,9 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
 {
     /* Accept zero sized reads */
     if (Size > 0) {
-       if (fread (Data, 1, Size, F) != Size) {
-           Error ("Read error (file corrupt?)");
-       }
+        if (fread (Data, 1, Size, F) != Size) {
+            Error ("Read error (file corrupt?)");
+        }
     }
     return Data;
 }
@@ -206,15 +206,15 @@ void ReadObjHeader (FILE* F, ObjHeader* H)
 /* Read an object file header from the file */
 {
     /* Read all fields */
-    H->Magic       = Read32 (F);
-    H->Version     = Read16 (F);
-    H->Flags       = Read16 (F);
+    H->Magic        = Read32 (F);
+    H->Version      = Read16 (F);
+    H->Flags        = Read16 (F);
     H->OptionOffs   = Read32 (F);
     H->OptionSize   = Read32 (F);
-    H->FileOffs            = Read32 (F);
-    H->FileSize            = Read32 (F);
-    H->SegOffs     = Read32 (F);
-    H->SegSize     = Read32 (F);
+    H->FileOffs     = Read32 (F);
+    H->FileSize     = Read32 (F);
+    H->SegOffs      = Read32 (F);
+    H->SegSize      = Read32 (F);
     H->ImportOffs   = Read32 (F);
     H->ImportSize   = Read32 (F);
     H->ExportOffs   = Read32 (F);
index 1601fbee8803378a22233d1ca68e3e59e1fb8054..cf05a7dad6eabc2490820e2b90a1ae034c4671e0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.h                                  */
+/*                                 fileio.h                                  */
 /*                                                                           */
-/*             File I/O for the od65 object file dump utility               */
+/*              File I/O for the od65 object file dump utility               */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -48,7 +48,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 64e14c272076974ed630443cc16fad49ffdd746d..eb6555154bbbde0f422b631bde7c20c7ca282d96 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*         Global variables for the od65 object file dump utility           */
+/*          Global variables for the od65 object file dump utility           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-unsigned What  = 0;            /* What should get dumped? */
+unsigned What   = 0;            /* What should get dumped? */
 
 
 
index 7cc531f6e044503a826fd3a9f35e256ce4368901..624fe2a8495226c398aedeee8c80e8b1bbe77edc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
-/*         Global variables for the od65 object file dump utility           */
+/*          Global variables for the od65 object file dump utility           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-#define        D_HEADER        0x0001U         /* Dump the header */
-#define D_OPTIONS              0x0002U         /* Dump the options */
-#define D_FILES                0x0004U         /* Dump source file info */
-#define D_SEGMENTS             0x0008U         /* Dump segment info */
-#define D_IMPORTS              0x0010U         /* Dump imported symbols */
-#define D_EXPORTS              0x0020U         /* Dump exported symbols */
-#define D_DBGSYMS              0x0040U         /* Dump debug symbols */
+#define D_HEADER        0x0001U         /* Dump the header */
+#define D_OPTIONS       0x0002U         /* Dump the options */
+#define D_FILES         0x0004U         /* Dump source file info */
+#define D_SEGMENTS      0x0008U         /* Dump segment info */
+#define D_IMPORTS       0x0010U         /* Dump imported symbols */
+#define D_EXPORTS       0x0020U         /* Dump exported symbols */
+#define D_DBGSYMS       0x0040U         /* Dump debug symbols */
 #define D_LINEINFO      0x0080U         /* Dump line infos */
 #define D_SCOPES        0x0100U         /* Dump scopes */
 #define D_SEGSIZE       0x0200U         /* Dump segment sizes */
-#define D_ALL                  0xFFFFU         /* Dump anything */
+#define D_ALL           0xFFFFU         /* Dump anything */
 
 
 
-extern unsigned        What;           /* What should get dumped? */
+extern unsigned         What;           /* What should get dumped? */
 
 
 
index ce1a5453578b14830cad15dd42c197dcf240a845..aa0e6f86d9d0edd7f1f24c8afa08d53c1b19e802 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
-/*            Main program of the od65 object file dump utility             */
+/*             Main program of the od65 object file dump utility             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -52,7 +52,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -62,7 +62,7 @@ static unsigned FilesProcessed = 0;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -71,32 +71,32 @@ static void Usage (void)
 /* Print usage information and exit */
 {
     printf ("Usage: %s [options] file [options] [file]\n"
-           "Short options:\n"
-                   "  -h\t\t\tHelp (this text)\n"
-                   "  -H\t\t\tDump the object file header\n"
-                   "  -S\t\t\tDump segments sizes\n"
-                   "  -V\t\t\tPrint the version number and exit\n"
-           "\n"
-           "Long options:\n"
-           "  --dump-all\t\tDump all object file information\n"
-           "  --dump-dbgsyms\tDump debug symbols\n"
-                   "  --dump-exports\tDump exported symbols\n"
-           "  --dump-files\t\tDump the source files\n"
-           "  --dump-header\t\tDump the object file header\n"
-           "  --dump-imports\tDump imported symbols\n"
-           "  --dump-lineinfo\tDump line information\n"
-           "  --dump-options\tDump object file options\n"
-           "  --dump-segments\tDump the segments in the file\n"
-                   "  --dump-segsize\tDump segments sizes\n"
-           "  --help\t\tHelp (this text)\n"
-                   "  --version\t\tPrint the version number and exit\n",
-           ProgName);
+            "Short options:\n"
+            "  -h\t\t\tHelp (this text)\n"
+            "  -H\t\t\tDump the object file header\n"
+            "  -S\t\t\tDump segments sizes\n"
+            "  -V\t\t\tPrint the version number and exit\n"
+            "\n"
+            "Long options:\n"
+            "  --dump-all\t\tDump all object file information\n"
+            "  --dump-dbgsyms\tDump debug symbols\n"
+            "  --dump-exports\tDump exported symbols\n"
+            "  --dump-files\t\tDump the source files\n"
+            "  --dump-header\t\tDump the object file header\n"
+            "  --dump-imports\tDump imported symbols\n"
+            "  --dump-lineinfo\tDump line information\n"
+            "  --dump-options\tDump object file options\n"
+            "  --dump-segments\tDump the segments in the file\n"
+            "  --dump-segsize\tDump segments sizes\n"
+            "  --help\t\tHelp (this text)\n"
+            "  --version\t\tPrint the version number and exit\n",
+            ProgName);
 }
 
 
 
 static void OptDumpAll (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Dump all object file information */
 {
     What |= D_ALL;
@@ -105,7 +105,7 @@ static void OptDumpAll (const char* Opt attribute ((unused)),
 
 
 static void OptDumpDbgSyms (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Dump debug symbols contained in the object file */
 {
     What |= D_DBGSYMS;
@@ -114,7 +114,7 @@ static void OptDumpDbgSyms (const char* Opt attribute ((unused)),
 
 
 static void OptDumpExports (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Dump the exported symbols */
 {
     What |= D_EXPORTS;
@@ -123,7 +123,7 @@ static void OptDumpExports (const char* Opt attribute ((unused)),
 
 
 static void OptDumpFiles (const char* Opt attribute ((unused)),
-                         const char* Arg attribute ((unused)))
+                          const char* Arg attribute ((unused)))
 /* Dump the source files */
 {
     What |= D_FILES;
@@ -132,7 +132,7 @@ static void OptDumpFiles (const char* Opt attribute ((unused)),
 
 
 static void OptDumpHeader (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Dump the object file header */
 {
     What |= D_HEADER;
@@ -141,7 +141,7 @@ static void OptDumpHeader (const char* Opt attribute ((unused)),
 
 
 static void OptDumpImports (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Dump the imported symbols */
 {
     What |= D_IMPORTS;
@@ -150,7 +150,7 @@ static void OptDumpImports (const char* Opt attribute ((unused)),
 
 
 static void OptDumpLineInfo (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* Dump the line infos */
 {
     What |= D_LINEINFO;
@@ -159,7 +159,7 @@ static void OptDumpLineInfo (const char* Opt attribute ((unused)),
 
 
 static void OptDumpOptions (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Dump the object file options */
 {
     What |= D_OPTIONS;
@@ -168,7 +168,7 @@ static void OptDumpOptions (const char* Opt attribute ((unused)),
 
 
 static void OptDumpScopes (const char* Opt attribute ((unused)),
-                          const char* Arg attribute ((unused)))
+                           const char* Arg attribute ((unused)))
 /* Dump the scopes in the object file */
 {
     What |= D_SCOPES;
@@ -177,7 +177,7 @@ static void OptDumpScopes (const char* Opt attribute ((unused)),
 
 
 static void OptDumpSegments (const char* Opt attribute ((unused)),
-                            const char* Arg attribute ((unused)))
+                             const char* Arg attribute ((unused)))
 /* Dump the segments in the object file */
 {
     What |= D_SEGMENTS;
@@ -186,7 +186,7 @@ static void OptDumpSegments (const char* Opt attribute ((unused)),
 
 
 static void OptDumpSegSize (const char* Opt attribute ((unused)),
-                           const char* Arg attribute ((unused)))
+                            const char* Arg attribute ((unused)))
 /* Dump the segments in the object file */
 {
     What |= D_SEGSIZE;
@@ -195,7 +195,7 @@ static void OptDumpSegSize (const char* Opt attribute ((unused)),
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -205,7 +205,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr, "%s V%s\n", ProgName, GetVersionAsString ());
@@ -221,7 +221,7 @@ static void DumpFile (const char* Name)
     /* Try to open the file */
     FILE* F = fopen (Name, "rb");
     if (F == 0) {
-       Error ("Cannot open `%s': %s", Name, strerror (errno));
+        Error ("Cannot open `%s': %s", Name, strerror (errno));
     }
 
     /* Read the magic word */
@@ -230,50 +230,50 @@ static void DumpFile (const char* Name)
     /* Do we know this type of file? */
     if (Magic != OBJ_MAGIC) {
 
-       /* Unknown format */
-               printf ("%s: (no xo65 object file)\n", Name);
+        /* Unknown format */
+        printf ("%s: (no xo65 object file)\n", Name);
 
     } else if (What == 0) {
 
-       /* Special handling if no info was requested */
-       printf ("%s: (no information requested)\n", Name);
+        /* Special handling if no info was requested */
+        printf ("%s: (no information requested)\n", Name);
 
     } else {
 
-       /* Print the filename */
-       printf ("%s:\n", Name);
-
-       /* Check what to dump */
-       if (What & D_HEADER) {
-           DumpObjHeader (F, 0);
-       }
-       if (What & D_OPTIONS) {
-           DumpObjOptions (F, 0);
-       }
-       if (What & D_FILES) {
-           DumpObjFiles (F, 0);
-       }
-       if (What & D_SEGMENTS) {
-           DumpObjSegments (F, 0);
-       }
-       if (What & D_IMPORTS) {
-           DumpObjImports (F, 0);
-       }
-       if (What & D_EXPORTS) {
-           DumpObjExports (F, 0);
-       }
-       if (What & D_DBGSYMS) {
-           DumpObjDbgSyms (F, 0);
-       }
-       if (What & D_LINEINFO) {
-           DumpObjLineInfo (F, 0);
-       }
-               if (What & D_SCOPES) {
-           DumpObjScopes (F, 0);
-       }
-       if (What & D_SEGSIZE) {
-                   DumpObjSegSize (F, 0);
-       }
+        /* Print the filename */
+        printf ("%s:\n", Name);
+
+        /* Check what to dump */
+        if (What & D_HEADER) {
+            DumpObjHeader (F, 0);
+        }
+        if (What & D_OPTIONS) {
+            DumpObjOptions (F, 0);
+        }
+        if (What & D_FILES) {
+            DumpObjFiles (F, 0);
+        }
+        if (What & D_SEGMENTS) {
+            DumpObjSegments (F, 0);
+        }
+        if (What & D_IMPORTS) {
+            DumpObjImports (F, 0);
+        }
+        if (What & D_EXPORTS) {
+            DumpObjExports (F, 0);
+        }
+        if (What & D_DBGSYMS) {
+            DumpObjDbgSyms (F, 0);
+        }
+        if (What & D_LINEINFO) {
+            DumpObjLineInfo (F, 0);
+        }
+        if (What & D_SCOPES) {
+            DumpObjScopes (F, 0);
+        }
+        if (What & D_SEGSIZE) {
+            DumpObjSegSize (F, 0);
+        }
     }
 
     /* Close the file */
@@ -287,19 +287,19 @@ int main (int argc, char* argv [])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-               { "--dump-all",         0,      OptDumpAll              },
-       { "--dump-dbgsyms",     0,      OptDumpDbgSyms          },
-       { "--dump-exports",     0,      OptDumpExports          },
-       { "--dump-files",       0,      OptDumpFiles            },
-       { "--dump-header",      0,      OptDumpHeader           },
-       { "--dump-imports",     0,      OptDumpImports          },
+        { "--dump-all",         0,      OptDumpAll              },
+        { "--dump-dbgsyms",     0,      OptDumpDbgSyms          },
+        { "--dump-exports",     0,      OptDumpExports          },
+        { "--dump-files",       0,      OptDumpFiles            },
+        { "--dump-header",      0,      OptDumpHeader           },
+        { "--dump-imports",     0,      OptDumpImports          },
         { "--dump-lineinfo",    0,      OptDumpLineInfo         },
-       { "--dump-options",     0,      OptDumpOptions          },
+        { "--dump-options",     0,      OptDumpOptions          },
         { "--dump-scopes",      0,      OptDumpScopes           },
-       { "--dump-segments",    0,      OptDumpSegments         },
-               { "--dump-segsize",     0,      OptDumpSegSize          },
-       { "--help",             0,      OptHelp                 },
-       { "--version",          0,      OptVersion              },
+        { "--dump-segments",    0,      OptDumpSegments         },
+        { "--dump-segsize",     0,      OptDumpSegSize          },
+        { "--help",             0,      OptHelp                 },
+        { "--version",          0,      OptVersion              },
     };
 
     unsigned I;
@@ -311,51 +311,51 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec[I];
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
 
-               /* Check for an option */
-               if (Arg [0] == '-') {
-                   switch (Arg [1]) {
+        /* Check for an option */
+        if (Arg [0] == '-') {
+            switch (Arg [1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
-               case 'h':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                    OptHelp (Arg, 0);
+                    break;
 
-               case 'H':
-                   OptDumpHeader (Arg, 0);
-                   break;
+                case 'H':
+                    OptDumpHeader (Arg, 0);
+                    break;
 
-               case 'S':
-                   OptDumpSegSize (Arg, 0);
-                   break;
+                case 'S':
+                    OptDumpSegSize (Arg, 0);
+                    break;
 
-                       case 'V':
-                   OptVersion (Arg, 0);
-                           break;
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
 
-                       default:
-                           UnknownOption (Arg);
-                   break;
+                default:
+                    UnknownOption (Arg);
+                    break;
 
-           }
-               } else {
-           /* Filename. Dump it. */
-           DumpFile (Arg);
-           ++FilesProcessed;
-       }
+            }
+        } else {
+            /* Filename. Dump it. */
+            DumpFile (Arg);
+            ++FilesProcessed;
+        }
 
-       /* Next argument */
-       ++I;
+        /* Next argument */
+        ++I;
     }
 
     /* Print a message if we did not process any files */
     if (FilesProcessed == 0) {
-       fprintf (stderr, "%s: No input files\n", ProgName);
+        fprintf (stderr, "%s: No input files\n", ProgName);
     }
 
     /* Success */
index 78c069437d15948399d4aabb2802bd140be7e684..8cb663e50ab8ed5f6f95b0b58b104b93d29c7990 100644 (file)
@@ -46,7 +46,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8d50156b4d2ed2e44e1f0e02611a1880d5f02fbb..ae8228fdf8d061bb91d2c9f857607b1c268589ad 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -61,7 +61,7 @@ struct AddressSpace {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 19e1d5f885588f078f1c5f0c20356c92d19ef2e0..8dea9ade7e6df79c69fb3d24e662c87449ad0205 100644 (file)
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -101,17 +101,17 @@ static void RemoveCallback (Callback* C)
     Callback* N;
     Callback** L = &List;
     while ((N = *L) != 0) {
-               if (N == C) {
-                   /* Found, remove it */
-                   if (C->Next) {
-               /* Adjust the counter of the following callback */
-                       C->Next->Ticks += C->Ticks;
-           }
-           *L = C->Next;
-           return;
-       } else {
-           L = &N->Next;
-       }
+        if (N == C) {
+            /* Found, remove it */
+            if (C->Next) {
+                /* Adjust the counter of the following callback */
+                C->Next->Ticks += C->Ticks;
+            }
+            *L = C->Next;
+            return;
+        } else {
+            L = &N->Next;
+        }
     }
 
     /* Callback was not found */
@@ -121,7 +121,7 @@ static void RemoveCallback (Callback* C)
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 637e66c4e77f0afc404fb715c278d52a20ddf555..0797a9604481c4d49aa90ec95018a2a8bbc7be55 100644 (file)
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ typedef struct Callback Callback;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index e1cbf98e95bc882cfa6370bb942765af4d0ac41f..00a9ef7449e4c2e470ad23fbf584ce8e2a29fefc 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cfgdata.c                                 */
+/*                                 cfgdata.c                                 */
 /*                                                                           */
-/*                          Config data structure                           */
+/*                           Config data structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
index f1a278f92cc30ff47d44341be024c6805cf96e9e..1d43d47897c11d6909147f9046ca27784b50a30b 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cfgdata.h                                 */
+/*                                 cfgdata.h                                 */
 /*                                                                           */
-/*                          Config data structure                           */
+/*                           Config data structure                           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -53,17 +53,17 @@ typedef struct CfgData CfgData;
 struct CfgData {
     enum {
         CfgDataInvalid,
-       CfgDataId,
-       CfgDataNumber,
-       CfgDataString
-    }          Type;           /* Type of the value */
+        CfgDataId,
+        CfgDataNumber,
+        CfgDataString
+    }           Type;           /* Type of the value */
     union {
         char*   SVal;           /* String or id value */
-       long    IVal;           /* Integer value */
+        long    IVal;           /* Integer value */
     } V;
     unsigned    Line;           /* Line where the attribute was defined */
     unsigned    Col;            /* Column of attribute definition */
-    char               Attr[1];        /* The attribute name */
+    char        Attr[1];        /* The attribute name */
 };
 
 
index 4a3cc39a18ed2a15132cd667584b302c1c7b3cb0..2b5ae940b603722715de0a4f0f200ab157672b85 100644 (file)
@@ -95,8 +95,8 @@ static Collection ChipLibraries = STATIC_COLLECTION_INITIALIZER;
 
 /* SimData instance */
 static const SimData Sim65Data = {
-    1,                         /* MajorVersion */
-    1,                         /* MinorVersion */
+    1,                  /* MajorVersion */
+    1,                  /* MinorVersion */
     xmalloc,
     xfree,
     Warning,
@@ -158,7 +158,7 @@ static int GetCfgNum (void* CfgInfo, const char* Name, long* Val)
 
 
 static int CmpChips (void* Data attribute ((unused)),
-                    const void* lhs, const void* rhs)
+                     const void* lhs, const void* rhs)
 /* Compare function for CollSort */
 {
     /* Cast the object pointers */
@@ -181,14 +181,14 @@ static Chip* FindChip (const char* Name)
     /* ## We do a linear search for now */
     for (I = 0; I < CollCount (&Chips); ++I) {
 
-               /* Get the chip at this position */
-       Chip* C = CollAt (&Chips, I);
+        /* Get the chip at this position */
+        Chip* C = CollAt (&Chips, I);
 
-       /* Compare the name */
-       if (strcmp (Name, C->Data->ChipName) == 0) {
-           /* Found */
-           return C;
-       }
+        /* Compare the name */
+        if (strcmp (Name, C->Data->ChipName) == 0) {
+            /* Found */
+            return C;
+        }
     }
 
     /* Not found */
@@ -198,7 +198,7 @@ static Chip* FindChip (const char* Name)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -358,7 +358,7 @@ void LoadChipLibrary (const char* LibName)
     /* Check the error message */
     Msg = dlerror ();
     if (Msg) {
-               /* We had an error */
+        /* We had an error */
         Error ("Cannot find export `GetChipData' in `%s': %s", L->LibName, Msg);
         FreeChipLibrary (L);
         return;
@@ -395,8 +395,8 @@ void LoadChipLibrary (const char* LibName)
             continue;
         }
 
-       /* Initialize the chip passing the simulator data */
-       D->InitChip (&Sim65Data);
+        /* Initialize the chip passing the simulator data */
+        D->InitChip (&Sim65Data);
 
         /* Generate a new chip */
         C = NewChip (L, D);
@@ -407,7 +407,7 @@ void LoadChipLibrary (const char* LibName)
         /* Output chip name and version to keep the user happy */
         Print (stdout, 1,
                "  Found %s `%s', version %u.%u in library `%s'\n",
-              (D->Type == CHIPDATA_TYPE_CHIP)? "chip" : "cpu",
+               (D->Type == CHIPDATA_TYPE_CHIP)? "chip" : "cpu",
                D->ChipName,
                D->MajorVersion,
                D->MinorVersion,
index ddfad247597e18d212b1e5869df8d922a484e1d6..d45f8c1f7ad10c4c5f3c92b0d96e1ae28685fd3c 100644 (file)
@@ -87,7 +87,7 @@ struct ChipLibrary {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 98cb08ad3bd71a98d6453bafb49bdcf701061ebf..916a718ff64b109c6ee2239b00201a0ef07ff0b7 100644 (file)
@@ -65,7 +65,7 @@ struct ChipData {
     /* -- Exported functions -- */
     int           (*InitChip) (const struct SimData* Data);
     void*         (*CreateInstance) (unsigned Addr, unsigned Range, void* CfgInfo);
-    void         (*DestroyInstance) (void* Data);
+    void          (*DestroyInstance) (void* Data);
     void          (*WriteCtrl) (void* Data, unsigned Offs, unsigned char Val);
     void          (*Write) (void* Data, unsigned Offs, unsigned char Val);
     unsigned char (*ReadCtrl) (void* Data, unsigned Offs);
index 93133d0ce4298598b65ddb7e709d43ffd5e6eb4b..f5f1ab102cb1db58ba5302f96fd3e6130a6d7ad4 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                chipif.h                                  */
+/*                                 chipif.h                                  */
 /*                                                                           */
 /*         Interface header file for chip plugins - unused by sim65          */
 /*                                                                           */
index d3befeeea1ec503a7bb42e2736b85d95c4b00022..88fc7d5f22f0ec57f0127b82e956a3703ea1195a 100644 (file)
@@ -49,7 +49,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -59,7 +59,7 @@ SearchPath*     ChipSearchPath;         /* Search paths for chip libs */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 1bc864a5a86d6883cf59c05d334c642fe1024f76..be61bb517b8ea066f303a3237e2cb290d8570dcb 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -54,7 +54,7 @@ extern SearchPath*      ChipSearchPath; /* Search paths for chip libs */
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 528925b1466e2d2feacfb651f313f62db5e4f354..526cc04f1c6966723e78fb93dcfc2b76d4a14fed 100644 (file)
@@ -106,7 +106,7 @@ static const struct ChipData CData[] = {
         /* -- Exported functions -- */
         ScreenInitChip,
         ScreenCreateInstance,
-       ScreenDestroyInstance,
+        ScreenDestroyInstance,
         ScreenWrite,
         ScreenWrite,
         ScreenRead,
@@ -624,7 +624,7 @@ static void ScreenEventLoop (void)
         switch (Event.type) {
 
             case Expose:
-               /* Calculate the area to redraw, then update the screen */
+                /* Calculate the area to redraw, then update the screen */
                 X1 = Event.xexpose.x;
                 Y1 = Event.xexpose.y;
                 X2 = Event.xexpose.x + Event.xexpose.width - 1;
index 6ca4b5089de8f8409eedb625fe52ded66b667cbf..61691aaa89943de926fc25569123ced5d61bd2c4 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  ram.c                                   */
+/*                                   ram.c                                   */
 /*                                                                           */
-/*                 RAM plugin for the sim65 6502 simulator                  */
+/*                  RAM plugin for the sim65 6502 simulator                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -87,7 +87,7 @@ static const struct ChipData CData[1] = {
         /* -- Exported functions -- */
         InitChip,
         CreateInstance,
-       DestroyInstance,
+        DestroyInstance,
         WriteCtrl,
         Write,
         ReadCtrl,
@@ -100,7 +100,7 @@ static const SimData* Sim;
 
 /* Possible RAM attributes */
 #define ATTR_INITIALIZED        0x01    /* RAM cell is intialized */
-#define ATTR_WPROT             0x02    /* RAM cell is write protected */
+#define ATTR_WPROT              0x02    /* RAM cell is write protected */
 
 /* Data for one RAM instance */
 typedef struct InstanceData InstanceData;
index ac734b36f91e2abf084ec2f9b62a19dae61fbdc1..fb88b9e5deb50d5104258bc0878db118d597a3d9 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  rom.c                                   */
+/*                                   rom.c                                   */
 /*                                                                           */
-/*                 ROM plugin for the sim65 6502 simulator                  */
+/*                  ROM plugin for the sim65 6502 simulator                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -89,7 +89,7 @@ static const struct ChipData CData[1] = {
         /* -- Exported functions -- */
         InitChip,
         CreateInstance,
-       DestroyInstance,
+        DestroyInstance,
         WriteCtrl,
         Write,
         ReadCtrl,
@@ -224,7 +224,7 @@ static void Write (void* Data, unsigned Offs, unsigned char Val)
 
     /* Print a warning */
     Sim->Break ("Writing to write protected memory at $%04X (value = $%02X)",
-               D->BaseAddr+Offs, Val);
+                D->BaseAddr+Offs, Val);
 }
 
 
index 1e66feb97aa7e51563338b239e69e973c9a3558d..ec3403f989385e5a98ead9a190bb827509d8a897 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 stdio.c                                  */
+/*                                  stdio.c                                  */
 /*                                                                           */
-/*                STDIO plugin for the sim65 6502 simulator                 */
+/*                 STDIO plugin for the sim65 6502 simulator                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -94,7 +94,7 @@ static const struct ChipData CData[1] = {
         /* -- Exported functions -- */
         InitChip,
         CreateInstance,
-       DestroyInstance,
+        DestroyInstance,
         WriteCtrl,
         Write,
         ReadCtrl,
index 616eec97a9a66afe7343cba5966158c580bcbc10..98e9d8df81db04624fbc28b07c62967da332a154 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                  vic2.c                                   */
 /*                                                                           */
-/*                VIC II plugin for the sim65 6502 simulator                */
+/*                 VIC II plugin for the sim65 6502 simulator                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -136,7 +136,7 @@ static const struct ChipData CData[] = {
         /* -- Exported functions -- */
         VicInitChip,
         VicCreateInstance,
-       VicDestroyInstance,
+        VicDestroyInstance,
         VicWrite,
         VicWrite,
         VicRead,
@@ -151,7 +151,7 @@ static const struct ChipData CData[] = {
         /* -- Exported functions -- */
         VRamInitChip,
         VRamCreateInstance,
-       VRamDestroyInstance,
+        VRamDestroyInstance,
         VRamWrite,
         VRamWrite,
         VRamRead,
@@ -166,7 +166,7 @@ static const struct ChipData CData[] = {
         /* -- Exported functions -- */
         CRamInitChip,
         CRamCreateInstance,
-       CRamDestroyInstance,
+        CRamDestroyInstance,
         CRamWrite,
         CRamWrite,
         CRamRead,
@@ -176,8 +176,8 @@ static const struct ChipData CData[] = {
 
 /* Defines for the VIC chip */
 #define VIC_COLOR_COUNT         16
-#define VIC_BLACK              0
-#define VIC_WHITE              1
+#define VIC_BLACK               0
+#define VIC_WHITE               1
 
 /* The application color map. VIC II color values are taken from
  * http://www.pepto.de/projects/colorvic/ (Philip "Pepto" Timmermann)
@@ -774,7 +774,7 @@ static void VRamEventLoop (void)
         switch (Event.type) {
 
             case Expose:
-               /* Calculate the area to redraw, then update the screen */
+                /* Calculate the area to redraw, then update the screen */
                 X1 = Event.xexpose.x;
                 Y1 = Event.xexpose.y;
                 X2 = Event.xexpose.x + Event.xexpose.width - 1;
index 36187224c44d9babc2307939afea491973874bdf..f595361fc8dfb59246385f8b85924e727bb373c9 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                config.c                                  */
+/*                                 config.c                                  */
 /*                                                                           */
 /*            Configuration file parsing for the sim65 6502 simulator        */
 /*                                                                           */
@@ -58,7 +58,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -69,7 +69,7 @@ static void FlagAttr (unsigned* Flags, unsigned Mask, const char* Name)
  */
 {
     if (*Flags & Mask) {
-       CfgError ("%s is already defined", Name);
+        CfgError ("%s is already defined", Name);
     }
     *Flags |= Mask;
 }
@@ -80,7 +80,7 @@ static void AttrCheck (unsigned Attr, unsigned Mask, const char* Name)
 /* Check that a mandatory attribute was given */
 {
     if ((Attr & Mask) == 0) {
-       CfgError ("%s attribute is missing", Name);
+        CfgError ("%s attribute is missing", Name);
     }
 }
 
@@ -195,8 +195,8 @@ static void ParseAddrSpace (void)
             CfgData* D = NewCfgData ();
             CfgNextTok ();
 
-           /* An optional assignment follows */
-           CfgOptionalAssign ();
+            /* An optional assignment follows */
+            CfgOptionalAssign ();
 
             /* Check and assign the attribute value */
             switch (CfgTok) {
@@ -223,13 +223,13 @@ static void ParseAddrSpace (void)
             /* Add the attribute to the location */
             CollAppend (&L->Attributes, D);
 
-           /* Skip the attribute value and an optional comma */
-           CfgNextTok ();
-           CfgOptionalComma ();
-       }
+            /* Skip the attribute value and an optional comma */
+            CfgNextTok ();
+            CfgOptionalComma ();
+        }
 
-       /* Skip the semicolon */
-       CfgConsumeSemi ();
+        /* Skip the semicolon */
+        CfgConsumeSemi ();
     }
 
     /* Sort all memory locations */
@@ -335,23 +335,23 @@ static void ParseConfig (void)
 /* Parse the config file */
 {
     static const IdentTok BlockNames [] = {
-               {   "ADDRSPACE",        CFGTOK_ADDRSPACE        },
-               {   "CPU",              CFGTOK_CPU              },
+        {   "ADDRSPACE",        CFGTOK_ADDRSPACE        },
+        {   "CPU",              CFGTOK_CPU              },
     };
     cfgtok_t BlockTok;
 
     do {
 
-       /* Read the block ident */
-               CfgSpecialToken (BlockNames, ENTRY_COUNT (BlockNames), "Block identifier");
-       BlockTok = CfgTok;
-       CfgNextTok ();
+        /* Read the block ident */
+        CfgSpecialToken (BlockNames, ENTRY_COUNT (BlockNames), "Block identifier");
+        BlockTok = CfgTok;
+        CfgNextTok ();
 
-       /* Expected a curly brace */
-       CfgConsume (CFGTOK_LCURLY, "`{' expected");
+        /* Expected a curly brace */
+        CfgConsume (CFGTOK_LCURLY, "`{' expected");
 
-       /* Read the block */
-       switch (BlockTok) {
+        /* Read the block */
+        switch (BlockTok) {
 
             case CFGTOK_ADDRSPACE:
                 ParseAddrSpace ();
@@ -361,13 +361,13 @@ static void ParseConfig (void)
                 ParseCPU ();
                 break;
 
-           default:
-               FAIL ("Unexpected block token");
+            default:
+                FAIL ("Unexpected block token");
 
-       }
+        }
 
-       /* Skip closing brace */
-               CfgConsumeRCurly ();
+        /* Skip closing brace */
+        CfgConsumeRCurly ();
 
     } while (CfgTok != CFGTOK_EOF);
 }
index 020903e11eacfd4432ec64d16e945d60c8155210..a6446c624dad3cc9375465960f9af255d7d81c50 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                config.h                                  */
+/*                                 config.h                                  */
 /*                                                                           */
 /*            Configuration file parsing for the sim65 6502 simulator        */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index ad0c708979fa65c53d3adaed8e06e612309197b1..87f349ec71229b819593d6515689940e59ee943b 100644 (file)
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index fba8fb835c17eaa21f0b91521a57a579b45c66d6..b312f56e57d642f05b8e4b19eef1bb385db05e9a 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -64,7 +64,7 @@ struct CPUCore {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 69702e919d246c0bb67811bf8205c6ae8952baae..c060fe3f0b7b6f7e61f50f73b22104633bfec0bb 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cpudata.h                                 */
+/*                                 cpudata.h                                 */
 /*                                                                           */
 /*                   CPU data passed from the CPU plugins                    */
 /*                                                                           */
index 932ecc24a1891d6c17e6ec75b67357832ccf517a..5eaeb659c8e8edd623c928f02da449106023d522 100644 (file)
@@ -84,7 +84,7 @@ static unsigned long GetCycles (void* Data);
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -95,23 +95,23 @@ static const SimData* Sim;
 /* 6502 CPU registers */
 typedef struct CPURegs CPURegs;
 struct CPURegs {
-    unsigned    AC;            /* Accumulator */
-    unsigned    XR;            /* X register */
-    unsigned    YR;            /* Y register */
+    unsigned    AC;             /* Accumulator */
+    unsigned    XR;             /* X register */
+    unsigned    YR;             /* Y register */
     unsigned    ZR;             /* Z register */
-    unsigned    SR;            /* Status register */
-    unsigned    SP;            /* Stackpointer */
-    unsigned   PC;             /* Program counter */
+    unsigned    SR;             /* Status register */
+    unsigned    SP;             /* Stackpointer */
+    unsigned    PC;             /* Program counter */
 };
 
 /* Status register bits */
-#define CF     0x01            /* Carry flag */
-#define ZF     0x02            /* Zero flag */
-#define IF     0x04            /* Interrupt flag */
-#define DF     0x08            /* Decimal flag */
-#define BF     0x10            /* Break flag */
-#define OF     0x40            /* Overflow flag */
-#define SF     0x80            /* Sign flag */
+#define CF      0x01            /* Carry flag */
+#define ZF      0x02            /* Zero flag */
+#define IF      0x04            /* Interrupt flag */
+#define DF      0x08            /* Decimal flag */
+#define BF      0x10            /* Break flag */
+#define OF      0x40            /* Overflow flag */
+#define SF      0x80            /* Sign flag */
 
 /* Type of an opcode handler function */
 struct CPUInstance;
@@ -172,7 +172,7 @@ struct CPUInstance {
 
 
 /*****************************************************************************/
-/*                       Helper functions and macros                        */
+/*                        Helper functions and macros                        */
 /*****************************************************************************/
 
 
@@ -205,8 +205,8 @@ struct CPUInstance {
 #define TEST_CF(v)      SET_CF (((v) & 0xFF00) != 0)
 
 /* Program counter halves */
-#define PCL            (D->Regs.PC & 0xFF)
-#define PCH            ((D->Regs.PC >> 8) & 0xFF)
+#define PCL             (D->Regs.PC & 0xFF)
+#define PCH             ((D->Regs.PC >> 8) & 0xFF)
 
 /* Stack operations */
 #define PUSH(Val)       MemWriteByte (D->StackPage + D->Regs.SP--, Val)
@@ -2909,7 +2909,7 @@ static const OPFunc OP65C02Table[256] = {
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5d56557f45da941414292a99f9cdb36d826d51c6..0a06d36d8db3ec1416b43418ab3c4d95fc0aec56 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                   cputype.h                               */
 /*                                                                           */
-/*                          CPU type definitions                            */
+/*                           CPU type definitions                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Current CPU */
-CPUType        CPU = CPU_6502;
+CPUType CPU = CPU_6502;
 
 
 
index b66b060f70b60f4fea101523d858aea2ca19c9dd..88f3d7a14555d4a3f4f00f2023213274a752dfc3 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                   cputype.h                               */
 /*                                                                           */
-/*                          CPU type definitions                            */
+/*                           CPU type definitions                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -51,7 +51,7 @@ typedef enum CPUType {
 } CPUType;
 
 /* Current CPU */
-extern CPUType CPU;
+extern CPUType  CPU;
 
 
 
index d5b9524b830d1f78337b700b1c9a393792492ade..378403e559420f781774f242bcdad32e6222c997 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.c                                   */
+/*                                 error.c                                   */
 /*                                                                           */
 /*                    Error handling for the sim65 simulator                 */
 /*                                                                           */
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 8a50bab07c7676ee1a8b2422e42286146ee17a16..507294b903fa9e78af9494ebc24a40329b768c30 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                error.h                                   */
+/*                                 error.h                                   */
 /*                                                                           */
 /*                    Error handling for the sim65 simulator                 */
 /*                                                                           */
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index d52d506f1e1cea8e5d4393ace36c6c7b0ba9579d..bd3756229ce8825bdbce7d5757ec7f2afa198478 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
 /*                 Global variables for the sim65 6502 simulator             */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-unsigned char Debug            = 0;    /* Debug mode */
+unsigned char Debug             = 0;    /* Debug mode */
 
 
 
index 29c22aa29c36ce04d855e727a89f898ec2ac97f4..a7434e225a2e22db86c6a4e74aee1bfaa888f2b7 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.h                                  */
+/*                                 global.h                                  */
 /*                                                                           */
 /*                 Global variables for the sim65 6502 simulator             */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
-extern unsigned char   Debug;                  /* Debug mode */
+extern unsigned char    Debug;                  /* Debug mode */
 
 
 
index f235bd99d752b44953f6d33364e0a66ce53e6acf..e7985ee342e6b31157fc90c86aa2a5942977b6d3 100644 (file)
@@ -57,7 +57,7 @@ Collection Locations = STATIC_COLLECTION_INITIALIZER;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -82,7 +82,7 @@ Location* NewLocation (unsigned long Start, unsigned long End)
 
 
 static int CmpLocations (void* Data attribute ((unused)),
-                        const void* lhs, const void* rhs)
+                         const void* lhs, const void* rhs)
 /* Compare function for CollSort */
 {
     /* Cast the object pointers */
index a695bf210aa7211ca9e51c782f9e0d22f78e308b..aea46e8c1333ba8ffc8f98c3e1643c5055c39c0a 100644 (file)
@@ -65,7 +65,7 @@ struct Location {
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index f3bb8a112723c2d84a7a19c00d4193f8afe89633..3608be3f7fb5507f5aebe3a4c7ff0454884500be 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
 /*                              sim65 main program                           */
 /*                                                                           */
@@ -62,7 +62,7 @@
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -108,17 +108,17 @@ static void OptChipDir (const char* Opt attribute ((unused)), const char* Arg)
     /* Read in all files and treat them as libraries */
     while ((E = readdir (D)) != 0) {
 
-       char*  Name;
+        char*  Name;
         struct stat S;
 
-       /* ### Ignore anything but *.so files */
-       unsigned NameLen = strlen (E->d_name);
-       if (NameLen <= 3) {
-           continue;
-       }
-       if (strcmp (E->d_name + NameLen - 3, ".so") != 0) {
-           continue;
-       }
+        /* ### Ignore anything but *.so files */
+        unsigned NameLen = strlen (E->d_name);
+        if (NameLen <= 3) {
+            continue;
+        }
+        if (strcmp (E->d_name + NameLen - 3, ".so") != 0) {
+            continue;
+        }
 
         /* Create the full file name */
         Name = xmalloc (DirLen + 1 + NameLen + 1);
@@ -153,11 +153,11 @@ static void OptCPU (const char* Opt, const char* Arg)
 /* Handle the --cpu option */
 {
     if (strcmp (Arg, "6502") == 0) {
-               CPU = CPU_6502;
+        CPU = CPU_6502;
     } else if (strcmp (Arg, "65C02") == 0) {
-       CPU = CPU_65C02;
+        CPU = CPU_65C02;
     } else {
-               AbEnd ("Invalid argument for %s: `%s'", Opt, Arg);
+        AbEnd ("Invalid argument for %s: `%s'", Opt, Arg);
     }
 }
 
@@ -167,7 +167,7 @@ static void OptConfig (const char* Opt attribute ((unused)), const char* Arg)
 /* Define the config file */
 {
     if (CfgAvail ()) {
-       Error ("Cannot use -C twice");
+        Error ("Cannot use -C twice");
     }                             
     CfgSetName (Arg);
 }
@@ -175,7 +175,7 @@ static void OptConfig (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptDebug (const char* Opt attribute ((unused)),
-                     const char* Arg attribute ((unused)))
+                      const char* Arg attribute ((unused)))
 /* Simulator debug mode */
 {
     Debug = 1;
@@ -184,7 +184,7 @@ static void OptDebug (const char* Opt attribute ((unused)),
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -194,7 +194,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase verbosity */
 {
     ++Verbosity;
@@ -203,7 +203,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr, "sim65 V%s\n", GetVersionAsString ());
@@ -215,13 +215,13 @@ int main (int argc, char* argv[])
 {
     /* Program long options */
     static const LongOpt OptTab[] = {
-               { "--chipdir",          1,      OptChipDir              },
-               { "--config",           1,      OptConfig               },
-        { "--cpu",                     1,      OptCPU                  },
-               { "--debug",            0,      OptDebug                },
-       { "--help",             0,      OptHelp                 },
-       { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
+        { "--chipdir",          1,      OptChipDir              },
+        { "--config",           1,      OptConfig               },
+        { "--cpu",              1,      OptCPU                  },
+        { "--debug",            0,      OptDebug                },
+        { "--help",             0,      OptHelp                 },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
     };
 
     unsigned I;
@@ -239,57 +239,57 @@ int main (int argc, char* argv[])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec[I];
-
-               /* Check for an option */
-               if (Arg [0] == '-') {
-
-                   switch (Arg [1]) {
-
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
-
-               case 'd':
-                   OptDebug (Arg, 0);
-                   break;
-
-               case 'h':
-               case '?':
-                   OptHelp (Arg, 0);
-                   break;
-
-               case 'v':
-                   OptVerbose (Arg, 0);
-                   break;
-
-               case 'C':
-                   OptConfig (Arg, GetArg (&I, 2));
-                   break;
-
-               case 'L':
-                   OptChipDir (Arg, GetArg (&I, 2));
-                   break;
-
-                       case 'V':
-                           OptVersion (Arg, 0);
-                           break;
-
-                       default:
-                           UnknownOption (Arg);
-                           break;
-                   }
-               } else {
-                   if (InputFile) {
-                       fprintf (stderr, "additional file specs ignored\n");
-                   } else {
-                       InputFile = Arg;
-           }
-       }
-
-       /* Next argument */
-       ++I;
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
+
+        /* Check for an option */
+        if (Arg [0] == '-') {
+
+            switch (Arg [1]) {
+
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
+
+                case 'd':
+                    OptDebug (Arg, 0);
+                    break;
+
+                case 'h':
+                case '?':
+                    OptHelp (Arg, 0);
+                    break;
+
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
+
+                case 'C':
+                    OptConfig (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'L':
+                    OptChipDir (Arg, GetArg (&I, 2));
+                    break;
+
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
+
+                default:
+                    UnknownOption (Arg);
+                    break;
+            }
+        } else {
+            if (InputFile) {
+                fprintf (stderr, "additional file specs ignored\n");
+            } else {
+                InputFile = Arg;
+            }
+        }
+
+        /* Next argument */
+        ++I;
     }
 
     /* Sort the already loaded chips */
@@ -297,7 +297,7 @@ int main (int argc, char* argv[])
 
     /* Check if we have a valid configuration */
     if (!CfgAvail ()) {
-               Error ("Simulator configuration missing");
+        Error ("Simulator configuration missing");
     }
 
     /* Initialize the simulated CPU memory */
index 90edf46e610ec57f8d6afff9d76ee44275417937..e141fdf7a600575c8eefa07d3c3ba6b9384f7b81 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                memory.h                                  */
+/*                                 memory.h                                  */
 /*                                                                           */
-/*                 Memory subsystem for the 6502 simulator                  */
+/*                  Memory subsystem for the 6502 simulator                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -50,7 +50,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -62,7 +62,7 @@ unsigned MemSize                    = 0;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index cafca005279215847defdf737a2877cb8a6a2ea5..dc20efff7792aad90ce10aa0bf655fddac28b090 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                memory.h                                  */
+/*                                 memory.h                                  */
 /*                                                                           */
-/*                 Memory subsystem for the 6502 simulator                  */
+/*                  Memory subsystem for the 6502 simulator                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                  Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -53,7 +53,7 @@ extern unsigned MemSize;
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 86c88fb6f3a312dc3d3594375a3ff6c085312712..b07c0cc727125896cea5414f85ba76e153522482 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.c                                 */
+/*                                 scanner.c                                 */
 /*                                                                           */
 /*            Configuration file scanner for the sim65 6502 simulator        */
 /*                                                                           */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Current token and attributes */
-cfgtok_t               CfgTok;
-StrBuf                 CfgSVal = STATIC_STRBUF_INITIALIZER;
+cfgtok_t                CfgTok;
+StrBuf                  CfgSVal = STATIC_STRBUF_INITIALIZER;
 unsigned long           CfgIVal;
 
 /* Error location */
-unsigned               CfgErrorLine;
-unsigned               CfgErrorCol;
+unsigned                CfgErrorLine;
+unsigned                CfgErrorCol;
 
 /* Input sources for the configuration */
-static const char*             CfgName         = 0;
-static const char*      CfgBuf                 = 0;
+static const char*      CfgName         = 0;
+static const char*      CfgBuf          = 0;
 
 /* Other input stuff */
-static int                     C               = ' ';
-static unsigned                InputLine       = 1;
-static unsigned                InputCol        = 0;
-static FILE*                   InputFile       = 0;
+static int              C               = ' ';
+static unsigned         InputLine       = 1;
+static unsigned         InputCol        = 0;
+static FILE*            InputFile       = 0;
 
 
 
 /*****************************************************************************/
-/*                             Error handling                               */
+/*                              Error handling                               */
 /*****************************************************************************/
 
 
@@ -113,7 +113,7 @@ void CfgError (const char* Format, ...)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -122,27 +122,27 @@ static void NextChar (void)
 /* Read the next character from the input file */
 {
     if (CfgBuf) {
-       /* Read from buffer */
-       C = (unsigned char)(*CfgBuf);
-       if (C == 0) {
-           C = EOF;
-       } else {
-           ++CfgBuf;
-       }
+        /* Read from buffer */
+        C = (unsigned char)(*CfgBuf);
+        if (C == 0) {
+            C = EOF;
+        } else {
+            ++CfgBuf;
+        }
     } else {
-       /* Read from the file */
-       C = getc (InputFile);
+        /* Read from the file */
+        C = getc (InputFile);
     }
 
     /* Count columns */
     if (C != EOF) {
-       ++InputCol;
+        ++InputCol;
     }
 
     /* Count lines */
     if (C == '\n') {
-       ++InputLine;
-       InputCol = 0;
+        ++InputLine;
+        InputCol = 0;
     }
 }
 
@@ -152,9 +152,9 @@ static unsigned DigitVal (int C)
 /* Return the value for a numeric digit */
 {
     if (isdigit (C)) {
-       return C - '0';
+        return C - '0';
     } else {
-       return toupper (C) - 'A' + 10;
+        return toupper (C) - 'A' + 10;
     }
 }
 
@@ -169,7 +169,7 @@ void CfgNextTok (void)
 Again:
     /* Skip whitespace */
     while (isspace (C)) {
-       NextChar ();
+        NextChar ();
     }
 
     /* Remember the current position */
@@ -179,122 +179,122 @@ Again:
     /* Identifier? */
     if (C == '_' || IsAlpha (C)) {
 
-       /* Read the identifier */
-       I = 0;
-       while (C == '_' || IsAlNum (C)) {
-           if (I < CFG_MAX_IDENT_LEN) {
-               CfgSVal [I++] = C;
-           }
-           NextChar ();
-       }
-       CfgSVal [I] = '\0';
-       CfgTok = CFGTOK_IDENT;
-       return;
+        /* Read the identifier */
+        I = 0;
+        while (C == '_' || IsAlNum (C)) {
+            if (I < CFG_MAX_IDENT_LEN) {
+                CfgSVal [I++] = C;
+            }
+            NextChar ();
+        }
+        CfgSVal [I] = '\0';
+        CfgTok = CFGTOK_IDENT;
+        return;
     }
 
     /* Hex number? */
     if (C == '$') {
-       NextChar ();
-       if (!isxdigit (C)) {
-           Error ("%s(%u): Hex digit expected", CfgName, InputLine);
-       }
-       CfgIVal = 0;
-       while (isxdigit (C)) {
-                   CfgIVal = CfgIVal * 16 + DigitVal (C);
-           NextChar ();
-       }
-       CfgTok = CFGTOK_INTCON;
-       return;
+        NextChar ();
+        if (!isxdigit (C)) {
+            Error ("%s(%u): Hex digit expected", CfgName, InputLine);
+        }
+        CfgIVal = 0;
+        while (isxdigit (C)) {
+            CfgIVal = CfgIVal * 16 + DigitVal (C);
+            NextChar ();
+        }
+        CfgTok = CFGTOK_INTCON;
+        return;
     }
 
     /* Decimal number? */
     if (isdigit (C)) {
-       CfgIVal = 0;
-       while (isdigit (C)) {
-                   CfgIVal = CfgIVal * 10 + DigitVal (C);
-           NextChar ();
-       }
-       CfgTok = CFGTOK_INTCON;
-       return;
+        CfgIVal = 0;
+        while (isdigit (C)) {
+            CfgIVal = CfgIVal * 10 + DigitVal (C);
+            NextChar ();
+        }
+        CfgTok = CFGTOK_INTCON;
+        return;
     }
 
     /* Other characters */
     switch (C) {
 
-       case '{':
-           NextChar ();
-           CfgTok = CFGTOK_LCURLY;
-           break;
+        case '{':
+            NextChar ();
+            CfgTok = CFGTOK_LCURLY;
+            break;
 
-       case '}':
-           NextChar ();
-           CfgTok = CFGTOK_RCURLY;
-           break;
+        case '}':
+            NextChar ();
+            CfgTok = CFGTOK_RCURLY;
+            break;
 
-       case ';':
-           NextChar ();
-           CfgTok = CFGTOK_SEMI;
-           break;
+        case ';':
+            NextChar ();
+            CfgTok = CFGTOK_SEMI;
+            break;
 
-       case '.':
-           NextChar ();
+        case '.':
+            NextChar ();
             if (C == '.') {
                 NextChar ();
                 CfgTok = CFGTOK_DOTDOT;
             } else {
-               CfgTok = CFGTOK_DOT;
+                CfgTok = CFGTOK_DOT;
             }
-           break;
+            break;
 
-       case ',':
-           NextChar ();
-           CfgTok = CFGTOK_COMMA;
-           break;
+        case ',':
+            NextChar ();
+            CfgTok = CFGTOK_COMMA;
+            break;
 
-       case '=':
-           NextChar ();
-           CfgTok = CFGTOK_EQ;
-           break;
+        case '=':
+            NextChar ();
+            CfgTok = CFGTOK_EQ;
+            break;
 
         case ':':
-           NextChar ();
-           CfgTok = CFGTOK_COLON;
-           break;
+            NextChar ();
+            CfgTok = CFGTOK_COLON;
+            break;
 
         case '\"':
-           NextChar ();
-           I = 0;
-           while (C != '\"') {
-               if (C == EOF || C == '\n') {
-                   Error ("%s(%u): Unterminated string", CfgName, InputLine);
-               }
-               if (I < CFG_MAX_IDENT_LEN) {
-                   CfgSVal [I++] = C;
-               }
-               NextChar ();
-           }
-                   NextChar ();
-           CfgSVal [I] = '\0';
-           CfgTok = CFGTOK_STRCON;
-           break;
+            NextChar ();
+            I = 0;
+            while (C != '\"') {
+                if (C == EOF || C == '\n') {
+                    Error ("%s(%u): Unterminated string", CfgName, InputLine);
+                }
+                if (I < CFG_MAX_IDENT_LEN) {
+                    CfgSVal [I++] = C;
+                }
+                NextChar ();
+            }
+            NextChar ();
+            CfgSVal [I] = '\0';
+            CfgTok = CFGTOK_STRCON;
+            break;
 
         case '#':
-           /* Comment */
-           while (C != '\n' && C != EOF) {
-               NextChar ();
-           }
-           if (C != EOF) {
-               goto Again;
-           }
-           CfgTok = CFGTOK_EOF;
-           break;
+            /* Comment */
+            while (C != '\n' && C != EOF) {
+                NextChar ();
+            }
+            if (C != EOF) {
+                goto Again;
+            }
+            CfgTok = CFGTOK_EOF;
+            break;
 
         case EOF:
-           CfgTok = CFGTOK_EOF;
-           break;
+            CfgTok = CFGTOK_EOF;
+            break;
 
-       default:
-           Error ("%s(%u): Invalid character `%c'", CfgName, InputLine, C);
+        default:
+            Error ("%s(%u): Invalid character `%c'", CfgName, InputLine, C);
 
     }
 }
@@ -305,7 +305,7 @@ void CfgConsume (cfgtok_t T, const char* Msg)
 /* Skip a token, print an error message if not found */
 {
     if (CfgTok != T) {
-               CfgError ("%s", Msg);
+        CfgError ("%s", Msg);
     }
     CfgNextTok ();
 }
@@ -340,7 +340,7 @@ void CfgOptionalComma (void)
 /* Consume a comma if there is one */
 {
     if (CfgTok == CFGTOK_COMMA) {
-               CfgNextTok ();
+        CfgNextTok ();
     }
 }
 
@@ -350,7 +350,7 @@ void CfgOptionalAssign (void)
 /* Consume an equal sign if there is one */
 {
     if (CfgTok == CFGTOK_EQ) {
-               CfgNextTok ();
+        CfgNextTok ();
     }
 }
 
@@ -360,7 +360,7 @@ void CfgAssureInt (void)
 /* Make sure the next token is an integer */
 {
     if (CfgTok != CFGTOK_INTCON) {
-               CfgError ("Integer constant expected");
+        CfgError ("Integer constant expected");
     }
 }
 
@@ -370,7 +370,7 @@ void CfgAssureStr (void)
 /* Make sure the next token is a string constant */
 {
     if (CfgTok != CFGTOK_STRCON) {
-               CfgError ("String constant expected");
+        CfgError ("String constant expected");
     }
 }
 
@@ -380,7 +380,7 @@ void CfgAssureIdent (void)
 /* Make sure the next token is an identifier */
 {
     if (CfgTok != CFGTOK_IDENT) {
-               CfgError ("Identifier expected");
+        CfgError ("Identifier expected");
     }
 }
 
@@ -390,7 +390,7 @@ void CfgRangeCheck (unsigned long Lo, unsigned long Hi)
 /* Check the range of CfgIVal */
 {
     if (CfgIVal < Lo || CfgIVal > Hi) {
-       CfgError ("Range error");
+        CfgError ("Range error");
     }
 }
 
@@ -404,20 +404,20 @@ void CfgSpecialToken (const IdentTok* Table, unsigned Size, const char* Name)
     /* We need an identifier */
     if (CfgTok == CFGTOK_IDENT) {
 
-       /* Make it upper case */
-       I = 0;
-       while (CfgSVal [I]) {
-           CfgSVal [I] = toupper (CfgSVal [I]);
-           ++I;
-       }
-
-               /* Linear search */
-       for (I = 0; I < Size; ++I) {
-           if (strcmp (CfgSVal, Table [I].Ident) == 0) {
-               CfgTok = Table [I].Tok;
-               return;
-           }
-       }
+        /* Make it upper case */
+        I = 0;
+        while (CfgSVal [I]) {
+            CfgSVal [I] = toupper (CfgSVal [I]);
+            ++I;
+        }
+
+        /* Linear search */
+        for (I = 0; I < Size; ++I) {
+            if (strcmp (CfgSVal, Table [I].Ident) == 0) {
+                CfgTok = Table [I].Tok;
+                return;
+            }
+        }
 
     }
 
@@ -431,21 +431,21 @@ void CfgBoolToken (void)
 /* Map an identifier or integer to a boolean token */
 {
     static const IdentTok Booleans [] = {
-               {   "YES",      CFGTOK_TRUE     },
-       {   "NO",       CFGTOK_FALSE    },
+        {   "YES",      CFGTOK_TRUE     },
+        {   "NO",       CFGTOK_FALSE    },
         {   "TRUE",     CFGTOK_TRUE     },
         {   "FALSE",    CFGTOK_FALSE    },
     };
 
     /* If we have an identifier, map it to a boolean token */
     if (CfgTok == CFGTOK_IDENT) {
-       CfgSpecialToken (Booleans, ENTRY_COUNT (Booleans), "Boolean");
+        CfgSpecialToken (Booleans, ENTRY_COUNT (Booleans), "Boolean");
     } else {
-       /* We expected an integer here */
-       if (CfgTok != CFGTOK_INTCON) {
-           CfgError ("Boolean value expected");
-       }
-       CfgTok = (CfgIVal == 0)? CFGTOK_FALSE : CFGTOK_TRUE;
+        /* We expected an integer here */
+        if (CfgTok != CFGTOK_INTCON) {
+            CfgError ("Boolean value expected");
+        }
+        CfgTok = (CfgIVal == 0)? CFGTOK_FALSE : CFGTOK_TRUE;
     }
 }
 
@@ -463,11 +463,11 @@ const char* CfgGetName (void)
 /* Get the name of the config file */
 {
     if (CfgName) {
-       return CfgName;
+        return CfgName;
     } else if (CfgBuf) {
-       return "[builtin config]";
+        return "[builtin config]";
     } else {
-       return "";
+        return "";
     }
 }
 
@@ -497,11 +497,11 @@ void CfgOpenInput (void)
      */
     if (!CfgBuf) {
 
-       /* Open the file */
-       InputFile = fopen (CfgName, "r");
-       if (InputFile == 0) {
-           Error ("Cannot open `%s': %s", CfgName, strerror (errno));
-       }
+        /* Open the file */
+        InputFile = fopen (CfgName, "r");
+        if (InputFile == 0) {
+            Error ("Cannot open `%s': %s", CfgName, strerror (errno));
+        }
 
     }
 
@@ -522,7 +522,7 @@ void CfgCloseInput (void)
     /* Close the input file if we had one */
     if (InputFile) {
         (void) fclose (InputFile);
-       InputFile = 0;
+        InputFile = 0;
     }
 }
 
index 5cb2342b202d8d5154b47430268cb73455954db8..bd8bbcfcabd749f3258d090eb0b84d05d84849ea 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                scanner.h                                 */
+/*                                 scanner.h                                 */
 /*                                                                           */
 /*            Configuration file scanner for the sim65 6502 simulator        */
 /*                                                                           */
@@ -45,7 +45,7 @@
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
@@ -84,26 +84,26 @@ typedef enum {
 /* Mapping table entry, special identifier --> token */
 typedef struct IdentTok IdentTok;
 struct IdentTok {
-    const char*        Ident;          /* Identifier */
-    cfgtok_t   Tok;            /* Token for identifier */
+    const char* Ident;          /* Identifier */
+    cfgtok_t    Tok;            /* Token for identifier */
 };
-#define ENTRY_COUNT(s)         (sizeof (s) / sizeof (s [0]))
+#define ENTRY_COUNT(s)  (sizeof (s) / sizeof (s [0]))
 
 
 
 /* Current token and attributes */
-extern cfgtok_t                CfgTok;
-extern StrBuf          CfgSVal;
-extern unsigned long   CfgIVal;
+extern cfgtok_t         CfgTok;
+extern StrBuf           CfgSVal;
+extern unsigned long    CfgIVal;
 
 /* Error location */
-extern unsigned                CfgErrorLine;
-extern unsigned                CfgErrorCol;
+extern unsigned         CfgErrorLine;
+extern unsigned         CfgErrorCol;
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 7eadc6e63a98b98438c180cb0a3b5087cea52b38..d0669ea590718549aaf0740681f3d776449fc395 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                simdata.h                                 */
+/*                                 simdata.h                                 */
 /*                                                                           */
-/*                Simulator data passed to the chip plugins                 */
+/*                 Simulator data passed to the chip plugins                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -47,8 +47,8 @@
 /* SimData structure */
 typedef struct SimData SimData;
 struct SimData {
-    unsigned   MajorVersion;
-    unsigned   MinorVersion;
+    unsigned    MajorVersion;
+    unsigned    MinorVersion;
 
     /* -- Callback functions -- */
 
index d8860a799b731d8fdb753577e716326fb50c31a9..b898e397482216334ff0e183a523223bb38930a6 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 873a3f7b309fe3adc91ba754acae16013344c78a..abe75e178b750290c7886743ae02dec93a747564 100644 (file)
@@ -70,7 +70,7 @@ extern System*  System;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 40e289de462d7cb524a3a1edee6107188f0c7486..70bc5bdb33b177d22ef7402be463c8b5026d3620 100644 (file)
@@ -42,7 +42,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 5c2cfd63720590088d1581b25b15ea6a93b01593..7643cefa9bcbc0b41066c9bfa516448f0115a74e 100644 (file)
@@ -44,7 +44,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index 79552d6c21efa49cce086c19d43925f01899ede9..a43b7eb263073d8a12793371afec970ff1aa7ae5 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.c                                  */
+/*                                 fileio.c                                  */
 /*                                                                           */
 /*              File I/O for the sp65 sprite and bitmap utility              */
 /*                                                                           */
@@ -43,7 +43,7 @@
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -52,7 +52,7 @@ void FileSetPos (FILE* F, unsigned long Pos)
 /* Seek to the given absolute position, fail on errors */
 {
     if (fseek (F, Pos, SEEK_SET) != 0) {
-       Error ("Cannot seek: %s", strerror (errno));
+        Error ("Cannot seek: %s", strerror (errno));
     }
 }
 
@@ -63,7 +63,7 @@ unsigned long FileGetPos (FILE* F)
 {
     long Pos = ftell (F);
     if (Pos < 0) {
-               Error ("Error in ftell: %s", strerror (errno));
+        Error ("Error in ftell: %s", strerror (errno));
     }
     return Pos;
 }
@@ -75,7 +75,7 @@ unsigned Read8 (FILE* F)
 {
     int C = getc (F);
     if (C == EOF) {
-       Error ("Read error (file corrupt?)");
+        Error ("Read error (file corrupt?)");
     }
     return C;
 }
@@ -117,9 +117,9 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
 {
     /* Accept zero sized reads */
     if (Size > 0) {
-       if (fread (Data, 1, Size, F) != Size) {
-           Error ("Read error (file corrupt?)");
-       }
+        if (fread (Data, 1, Size, F) != Size) {
+            Error ("Read error (file corrupt?)");
+        }
     }
     return Data;
 }
index 488dac40a26273564a623f9498065365f26d1d63..de2cdd2cedd01c34cafd7bfdb22befb3d561d731 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                fileio.h                                  */
+/*                                 fileio.h                                  */
 /*                                                                           */
 /*              File I/O for the sp65 sprite and bitmap utility              */
 /*                                                                           */
@@ -41,7 +41,7 @@
 #include <stdio.h>
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
index ec3223c08bea4ba818beed3a77b77c948e589f68..92cd71114f6d194a77294633776db10661c864c1 100644 (file)
@@ -1,6 +1,6 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 main.c                                   */
+/*                                  main.c                                   */
 /*                                                                           */
 /*            Main program of the sp65 sprite and bitmap utility             */
 /*                                                                           */
@@ -71,7 +71,7 @@ static StrBuf* D;
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -80,27 +80,27 @@ static void Usage (void)
 /* Print usage information and exit */
 {
     printf (
-           "Usage: %s [options] file [options] [file]\n"
-           "Short options:\n"
-                   "  -V\t\t\t\tPrint the version number and exit\n"
+            "Usage: %s [options] file [options] [file]\n"
+            "Short options:\n"
+            "  -V\t\t\t\tPrint the version number and exit\n"
             "  -c fmt[,attrlist]\t\tConvert into target format\n"
-                   "  -h\t\t\t\tHelp (this text)\n"
+            "  -h\t\t\t\tHelp (this text)\n"
             "  -lc\t\t\t\tList all possible conversions\n"
             "  -r file[,attrlist]\t\tRead an input file\n"
             "  -v\t\t\t\tIncrease verbosity\n"
             "  -w file[,attrlist]\t\tWrite the output to a file\n"
-           "\n"
-           "Long options:\n"
+            "\n"
+            "Long options:\n"
             "  --convert-to fmt[,attrlist]\tConvert into target format\n"
-           "  --help\t\t\tHelp (this text)\n"
+            "  --help\t\t\tHelp (this text)\n"
             "  --list-conversions\t\tList all possible conversions\n"
             "  --pop\t\t\t\tRestore the original loaded image\n"
             "  --read file[,attrlist]\tRead an input file\n"
             "  --slice x,y,w,h\t\tGenerate a slice from the loaded bitmap\n"
             "  --verbose\t\t\tIncrease verbosity\n"
-                   "  --version\t\t\tPrint the version number and exit\n"
+            "  --version\t\t\tPrint the version number and exit\n"
             "  --write file[,attrlist]\tWrite the output to a file\n",
-           ProgName);
+            ProgName);
 }
 
 
@@ -182,7 +182,7 @@ static void OptDumpPalette (const char* Opt attribute ((unused)),
 
 
 static void OptHelp (const char* Opt attribute ((unused)),
-                    const char* Arg attribute ((unused)))
+                     const char* Arg attribute ((unused)))
 /* Print usage information and exit */
 {
     Usage ();
@@ -192,7 +192,7 @@ static void OptHelp (const char* Opt attribute ((unused)),
 
 
 static void OptListConversions (const char* Opt attribute ((unused)),
-                               const char* Arg attribute ((unused)))
+                                const char* Arg attribute ((unused)))
 /* Print a list of all conversions */
 {
     ListConversionTargets (stdout);
@@ -202,7 +202,7 @@ static void OptListConversions (const char* Opt attribute ((unused)),
 
 
 static void OptPop (const char* Opt attribute ((unused)),
-                   const char* Arg attribute ((unused)))
+                    const char* Arg attribute ((unused)))
 /* Restore the original image */
 {
     /* C and B must differ and we must have an original */
@@ -272,7 +272,7 @@ static void OptSlice (const char* Opt attribute ((unused)), const char* Arg)
 
 
 static void OptVerbose (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Increase versbosity */
 {
     ++Verbosity;
@@ -281,7 +281,7 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 static void OptVersion (const char* Opt attribute ((unused)),
-                       const char* Arg attribute ((unused)))
+                        const char* Arg attribute ((unused)))
 /* Print the assembler version */
 {
     fprintf (stderr, "%s V%s\n", ProgName, GetVersionAsString ());
@@ -321,14 +321,14 @@ int main (int argc, char* argv [])
     static const LongOpt OptTab[] = {
         { "--convert-to",       1,      OptConvertTo            },
         { "--dump-palette",     0,      OptDumpPalette          },
-       { "--help",             0,      OptHelp                 },
+        { "--help",             0,      OptHelp                 },
         { "--list-conversions", 0,      OptListConversions      },
         { "--pop",              0,      OptPop                  },
         { "--read",             1,      OptRead                 },
         { "--slice",            1,      OptSlice                },
-               { "--verbose",          0,      OptVerbose              },
-       { "--version",          0,      OptVersion              },
-               { "--write",            1,      OptWrite                },
+        { "--verbose",          0,      OptVerbose              },
+        { "--version",          0,      OptVersion              },
+        { "--write",            1,      OptWrite                },
     };
 
     unsigned I;
@@ -340,28 +340,28 @@ int main (int argc, char* argv [])
     I = 1;
     while (I < ArgCount) {
 
-               /* Get the argument */
-               const char* Arg = ArgVec[I];
+        /* Get the argument */
+        const char* Arg = ArgVec[I];
 
-               /* Check for an option */
-               if (Arg[0] == '-') {
-                   switch (Arg[1]) {
+        /* Check for an option */
+        if (Arg[0] == '-') {
+            switch (Arg[1]) {
 
-               case '-':
-                   LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
-                   break;
+                case '-':
+                    LongOption (&I, OptTab, sizeof(OptTab)/sizeof(OptTab[0]));
+                    break;
 
-                       case 'V':
-                   OptVersion (Arg, 0);
-                           break;
+                case 'V':
+                    OptVersion (Arg, 0);
+                    break;
 
                 case 'c':
                     OptConvertTo (Arg, GetArg (&I, 2));
                     break;
 
-               case 'h':
-                   OptHelp (Arg, 0);
-                   break;
+                case 'h':
+                    OptHelp (Arg, 0);
+                    break;
 
                 case 'l':
                     if (Arg[2] == 'c') {
@@ -375,26 +375,26 @@ int main (int argc, char* argv [])
                     OptRead (Arg, GetArg (&I, 2));
                     break;
 
-               case 'v':
-                   OptVerbose (Arg, 0);
-                   break;
+                case 'v':
+                    OptVerbose (Arg, 0);
+                    break;
 
                 case 'w':
                     OptWrite (Arg, GetArg (&I, 2));
                     break;
 
-                       default:
-                           UnknownOption (Arg);
-                   break;
+                default:
+                    UnknownOption (Arg);
+                    break;
 
-           }
-               } else {
-           /* We don't accept anything else */
+            }
+        } else {
+            /* We don't accept anything else */
             AbEnd ("Don't know what to do with `%s'", Arg);
-       }
+        }
 
-       /* Next argument */
-       ++I;
+        /* Next argument */
+        ++I;
     }
 
     /* Cleanup data */
index b80c8b7d7f6fa56a3aed7ac242df891cc632b48b..e42135688a2d8428ed8ee0b35a92f2747b56a097 100644 (file)
@@ -1,6 +1,6 @@
-#define hash_hash      # ## #
-#define mkstr(a)       # a
-#define in_between(a)  mkstr(a)
-#define join(c, d)     in_between(c hash_hash d)
+#define hash_hash       # ## #
+#define mkstr(a)        # a
+#define in_between(a)   mkstr(a)
+#define join(c, d)      in_between(c hash_hash d)
 
-char p[] = join(x, y);         // Comment
+char p[] = join(x, y);          // Comment
index 0d613cdc3b4bd21f4407a3448642b43c5f10a124..e127d53fbbd0b9a198d2e0359da6439f1db678be 100644 (file)
@@ -1,17 +1,17 @@
-#define x      3
-#define f(a)   f(x * (a))
-#undef x
-#define x      2
-#define g      f
-#define z      z[0]
-#define h      g(~
-#define m(a)   a(w)
-#define w      0,1
-#define t(a)   a
-#define p()    int
-#define q(x)   x
-#define r(x,y) x ## y
-#define str(x) # x
+#define x       3
+#define f(a)    f(x * (a))
+#undef  x
+#define x       2
+#define g       f
+#define z       z[0]
+#define h       g(~
+#define m(a)    a(w)
+#define w       0,1
+#define t(a)    a
+#define p()     int
+#define q(x)    x
+#define r(x,y)  x ## y
+#define str(x)  # x
 
 f(y+1) + f(f(z)) % t(t(g) (0) + t)(1);
 g(x+(3,4)-w) | h 5) & m(f)^m(m);
index 2c2df87e571baa07c314d295d1ca94ba072472e1..62aa7f705efe9fd985b20efaaf8d48d37df4858c 100644 (file)
@@ -1,16 +1,16 @@
-#define str(s)         # s
-#define xstr(s)                str(s)
-#define debug(s, t)    printf("x" # s "= %d, x" # t "= %s", \
-                              x ## s, x ## t)
-#define INCFILE(n)     vers ## n       // Comment
-#define glue(a,b)      a ## b
-#define xglue(a,b)     glue(a,b)
-#define HIGHLOW                "hello"
-#define LOW            LOW ", world"
+#define str(s)          # s
+#define xstr(s)         str(s)
+#define debug(s, t)     printf("x" # s "= %d, x" # t "= %s", \
+                               x ## s, x ## t)
+#define INCFILE(n)      vers ## n       // Comment
+#define glue(a,b)       a ## b
+#define xglue(a,b)      glue(a,b)
+#define HIGHLOW         "hello"
+#define LOW             LOW ", world"
 
 debug (1, 2);
 fputs (str (strncmp("abc\0d", "abc", '\4') // Comment
-           == 0) str (: @\n), s);
+            == 0) str (: @\n), s);
 glue (HIGH, LOW);
 xglue (HIGH, LOW);
 
index abb0d24b57867a9b36f25a41adfe28f1070276e7..b8540b5c5efd3098d84455165a6ffc7b6d3bf4b3 100644 (file)
@@ -1,3 +1,3 @@
-#define t(x,y,z)       x ## y ## z
+#define t(x,y,z)        x ## y ## z
 int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,), 
-           t(10,,), t(,11,), t(,,12), t(,,) };
+            t(10,,), t(,11,), t(,,12), t(,,) };
index 7dd075e6ebb76274554e12c1ee45612f1f14ca84..1f0bd4328bef593bef9b7e72d6a8cd3a97a7eb4e 100644 (file)
@@ -1,3 +1,3 @@
 #define t(x,y,z) x ## y ## z 
 int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,),
-           t(10,,), t(,11,), t(,,12), t(,,) };
+            t(10,,), t(,11,), t(,,12), t(,,) };
index bdb38b51b98be5c83e7efc754429649ab1f1ce27..2e9a3ffd9ccce6b7deb360134ef696b4933b9866 100644 (file)
@@ -5,74 +5,74 @@
 
     ; include some GEOS defines
 
-           .include "../../libsrc/geos/inc/const.inc"
-           .include "../../libsrc/geos/inc/jumptab.inc"
-           .include "../../libsrc/geos/inc/geossym.inc"
-           .include "../../libsrc/geos/inc/geosmac.inc"
+            .include "../../libsrc/geos/inc/const.inc"
+            .include "../../libsrc/geos/inc/jumptab.inc"
+            .include "../../libsrc/geos/inc/geossym.inc"
+            .include "../../libsrc/geos/inc/geosmac.inc"
 
     ; import load addresses for all VLIR chains
     ; these labels are defined upon linking with ld65
 
-           .import __OVERLAYADDR__
-           .import __OVERLAYSIZE__
+            .import __OVERLAYADDR__
+            .import __OVERLAYSIZE__
 
     ; import names of functions defined (and exported) in each VLIR part
     ; of your application
     ; here I used an OVERLAYx_ prefix to prevent name clashes
 
-           .import OVERLAY1_Function1
-           .import OVERLAY2_Function1
+            .import OVERLAY1_Function1
+            .import OVERLAY2_Function1
 
     ; segments "STARTUP", "CODE", "DATA", "RODATA" and "BSS" all go to VLIR0 chain
 
-           .segment "STARTUP"
-           ; code segment for VLIR 0 chain
+            .segment "STARTUP"
+            ; code segment for VLIR 0 chain
 ProgExec:
-               LoadW r0, paramString           ; show something
-               jsr DoDlgBox
-
-               MoveW dirEntryBuf+OFF_DE_TR_SC, r1
-               LoadW r4, fileHeader
-               jsr GetBlock                    ; load back VLIR t&s table
-               bnex error
-
-               lda #1
-               jsr PointRecord                 ; we want next module (#1)
-               LoadW r2, __OVERLAYSIZE__       ; length - as many bytes as we have room for
-               LoadW r7, __OVERLAYADDR__       ; all VLIR segments have the same load address
-               jsr ReadRecord                  ; load it
-               bnex error
-               jsr OVERLAY1_Function1          ; execute something
-
-               lda #2
-               jsr PointRecord                 ; next module
-               LoadW r2, __OVERLAYSIZE__
-               LoadW r7, __OVERLAYADDR__
-               jsr ReadRecord                  ; load it
-               bnex error
-               jsr OVERLAY2_Function1          ; execute something
-
-error:         jmp EnterDeskTop                ; end of application
-
-           .segment "RODATA"
-           ; read-only data segment
+                LoadW r0, paramString           ; show something
+                jsr DoDlgBox
+
+                MoveW dirEntryBuf+OFF_DE_TR_SC, r1
+                LoadW r4, fileHeader
+                jsr GetBlock                    ; load back VLIR t&s table
+                bnex error
+
+                lda #1
+                jsr PointRecord                 ; we want next module (#1)
+                LoadW r2, __OVERLAYSIZE__       ; length - as many bytes as we have room for
+                LoadW r7, __OVERLAYADDR__       ; all VLIR segments have the same load address
+                jsr ReadRecord                  ; load it
+                bnex error
+                jsr OVERLAY1_Function1          ; execute something
+
+                lda #2
+                jsr PointRecord                 ; next module
+                LoadW r2, __OVERLAYSIZE__
+                LoadW r7, __OVERLAYADDR__
+                jsr ReadRecord                  ; load it
+                bnex error
+                jsr OVERLAY2_Function1          ; execute something
+
+error:          jmp EnterDeskTop                ; end of application
+
+            .segment "RODATA"
+            ; read-only data segment
 paramString:
-           .byte DEF_DB_POS | 1
-           .byte DBTXTSTR, TXT_LN_X, TXT_LN_2_Y
-           .word line1
-           .byte DBTXTSTR, TXT_LN_X, TXT_LN_3_Y
-           .word line2
-           .byte OK, DBI_X_0, DBI_Y_2
-           .byte NULL
-
-line1:     .byte BOLDON, "Hello World!",0
-line2:     .byte OUTLINEON,"Hello",PLAINTEXT," world!",0
-
-           .segment "DATA"
-           ; read/write initialized data segment
+            .byte DEF_DB_POS | 1
+            .byte DBTXTSTR, TXT_LN_X, TXT_LN_2_Y
+            .word line1
+            .byte DBTXTSTR, TXT_LN_X, TXT_LN_3_Y
+            .word line2
+            .byte OK, DBI_X_0, DBI_Y_2
+            .byte NULL
+
+line1:      .byte BOLDON, "Hello World!",0
+line2:      .byte OUTLINEON,"Hello",PLAINTEXT," world!",0
+
+            .segment "DATA"
+            ; read/write initialized data segment
 counter:    .word 0
 
-           .segment "BSS"
-           ; read/write uninitialized data segment
-           ; this space doesn't go into output file, only its size and
-           ; position is remembered
+            .segment "BSS"
+            ; read/write uninitialized data segment
+            ; this space doesn't go into output file, only its size and
+            ; position is remembered
index bebb028b327bc6abcd4bad6e40ffd45ba8526862..eae34565ecb0f85f8badf768ef7904928d53c29a 100644 (file)
@@ -5,41 +5,41 @@
 
     ; include some GEOS defines
 
-           .include "../../libsrc/geos/inc/const.inc"
-           .include "../../libsrc/geos/inc/jumptab.inc"
-           .include "../../libsrc/geos/inc/geossym.inc"
-           .include "../../libsrc/geos/inc/geosmac.inc"
+            .include "../../libsrc/geos/inc/const.inc"
+            .include "../../libsrc/geos/inc/jumptab.inc"
+            .include "../../libsrc/geos/inc/geossym.inc"
+            .include "../../libsrc/geos/inc/geosmac.inc"
 
     ; export names of functions that will be used in the main program
 
-           .export OVERLAY1_Function1
-           .export OVERLAY1_Function2
+            .export OVERLAY1_Function1
+            .export OVERLAY1_Function2
 
 
     ; go into OVERLAY1 segment - everything that is here will go into
     ; VLIR chain #1
 
-               .segment "OVERLAY1"
+                .segment "OVERLAY1"
 
-OVERLAY1_Function1:            jmp Function1   ; jump table, not really necessary
-OVERLAY1_Function2:            jmp Function2
-               ; etc.
+OVERLAY1_Function1:             jmp Function1   ; jump table, not really necessary
+OVERLAY1_Function2:             jmp Function2
+                ; etc.
 
     ; rodata - if this is defined in .segment "RODATA"
     ; it will end up in the VLIR0 part, you don't want that
 paramString:
-               .byte DEF_DB_POS | 1
-               .byte DBTXTSTR, TXT_LN_X, TXT_LN_2_Y
-               .word line1
-               .byte DBTXTSTR, TXT_LN_X, TXT_LN_3_Y
-               .word line2
-               .byte OK, DBI_X_0, DBI_Y_2
-               .byte NULL
+                .byte DEF_DB_POS | 1
+                .byte DBTXTSTR, TXT_LN_X, TXT_LN_2_Y
+                .word line1
+                .byte DBTXTSTR, TXT_LN_X, TXT_LN_3_Y
+                .word line2
+                .byte OK, DBI_X_0, DBI_Y_2
+                .byte NULL
 
-line1:         .byte "This is in module 1",0
-line2:         .byte "This is in module 1",0
+line1:          .byte "This is in module 1",0
+line2:          .byte "This is in module 1",0
 
     ; code
-Function1:     LoadW r0, paramString
-               jsr DoDlgBox
-Function2:     rts
+Function1:      LoadW r0, paramString
+                jsr DoDlgBox
+Function2:      rts
index d376eee1ba153139145bc6267f18d5a9c44a46d5..9d180c847836d367cbfbd2655eb113b50b896956 100644 (file)
@@ -5,32 +5,32 @@
 
 ; similar to vlir1.s except the fact that this is chain #2
 
-           .include "../../libsrc/geos/inc/const.inc"
-           .include "../../libsrc/geos/inc/jumptab.inc"
-           .include "../../libsrc/geos/inc/geossym.inc"
-           .include "../../libsrc/geos/inc/geosmac.inc"
+            .include "../../libsrc/geos/inc/const.inc"
+            .include "../../libsrc/geos/inc/jumptab.inc"
+            .include "../../libsrc/geos/inc/geossym.inc"
+            .include "../../libsrc/geos/inc/geosmac.inc"
 
-           .export OVERLAY2_Function1
-           .export OVERLAY2_Function2
+            .export OVERLAY2_Function1
+            .export OVERLAY2_Function2
 
-               .segment "OVERLAY2"
+                .segment "OVERLAY2"
 
-OVERLAY2_Function1:            jmp Function1
-OVERLAY2_Function2:            jmp Function2
-               ; etc.
+OVERLAY2_Function1:             jmp Function1
+OVERLAY2_Function2:             jmp Function2
+                ; etc.
 
 paramString:
-               .byte DEF_DB_POS | 1
-               .byte DBTXTSTR, TXT_LN_X, TXT_LN_2_Y
-               .word line1
-               .byte DBTXTSTR, TXT_LN_X, TXT_LN_3_Y
-               .word line2
-               .byte OK, DBI_X_0, DBI_Y_2
-               .byte NULL
-
-Function2:     LoadW r0, paramString
-               jsr DoDlgBox
-Function1:     rts
-
-line1:         .byte "This is in module 2",0
-line2:         .byte "This is in module 2",0
+                .byte DEF_DB_POS | 1
+                .byte DBTXTSTR, TXT_LN_X, TXT_LN_2_Y
+                .word line1
+                .byte DBTXTSTR, TXT_LN_X, TXT_LN_3_Y
+                .word line2
+                .byte OK, DBI_X_0, DBI_Y_2
+                .byte NULL
+
+Function2:      LoadW r0, paramString
+                jsr DoDlgBox
+Function1:      rts
+
+line1:          .byte "This is in module 2",0
+line2:          .byte "This is in module 2",0
index 717eaa4f3413218ac2a78ade042fc0d0dd93ced2..aef8400aeaafce311a571f6564d8c328157b0e63 100644 (file)
@@ -12,7 +12,7 @@ extern char _defdev[];
 
 int main(void)
 {
-       printf("default device: %s\n", _defdev);
-       if (_dos_type != SPARTADOS && _dos_type != OSADOS) cgetc();
-       return 0;
+        printf("default device: %s\n", _defdev);
+        if (_dos_type != SPARTADOS && _dos_type != OSADOS) cgetc();
+        return 0;
 }
index 3bdc9b8636c610f3322983230abed946c620b392..cd4290781d7901aa8bd66af33f7fd8038edf6068 100644 (file)
@@ -3,56 +3,56 @@
 ; scrcode macro test
 ;
 ; compile with
-;      ca65 -I../../../asminc -tatari -o scrcode.o scrcode.s
-;      ld65 -tatari -o scrcode.com scrcode.o
+;       ca65 -I../../../asminc -tatari -o scrcode.o scrcode.s
+;       ld65 -tatari -o scrcode.com scrcode.o
 
-.import                __CODE_LOAD__, __BSS_LOAD__
+.import         __CODE_LOAD__, __BSS_LOAD__
 
-.include       "atari.inc"
-.macpack       atari
+.include        "atari.inc"
+.macpack        atari
 
 .code
 
-               rts             ; SpartaDOS workaround
+                rts             ; SpartaDOS workaround
 
 ; entry point
 
-               lda     #0
-               tay
-               tax
+                lda     #0
+                tay
+                tax
 
 ; display dispdata
 
-disp:          lda     dispdata,x
-               sta     (SAVMSC),y
-               inx
-               iny
-               cpx     #disp_len
-               bne     disp
+disp:           lda     dispdata,x
+                sta     (SAVMSC),y
+                inx
+                iny
+                cpx     #disp_len
+                bne     disp
 
 ; wait for key press
 
-key:           lda     CH
-               cmp     #255
-               beq     key
+key:            lda     CH
+                cmp     #255
+                beq     key
 
-               rts
+                rts
 
 .data
 
-dispdata:      scrcode         "fooBa", 'r', $66, 3+4
-disp_len       =       * - dispdata
+dispdata:       scrcode         "fooBa", 'r', $66, 3+4
+disp_len        =       * - dispdata
 
-.segment       "AUTOSTRT"
+.segment        "AUTOSTRT"
 
-               .word   $02E0
-               .word   $02E1
-               .word   __CODE_LOAD__+1
+                .word   $02E0
+                .word   $02E1
+                .word   __CODE_LOAD__+1
 
-.segment       "EXEHDR"
+.segment        "EXEHDR"
 
-               .word   $FFFF
-               .word   __CODE_LOAD__
-               .word   __BSS_LOAD__ - 1
+                .word   $FFFF
+                .word   __CODE_LOAD__
+                .word   __BSS_LOAD__ - 1
 
 .end
index 7f58070f5c7115de9984e398a7290183bf040614..bc8f47af277d8e4dea250efb8960b367f1257358 100644 (file)
 
 int main(void)
 {
-       clrscr();
-       cprintf("12345\n");
-       cprintf("67890\n");
-       gotoxy(0,4);
-       cprintf("12345\r");
-       cprintf("67890\r");
-       printf("\n\n");
-       printf("hit return to exit....\n");
-       fgetc(stdin);
-       return(0);
+        clrscr();
+        cprintf("12345\n");
+        cprintf("67890\n");
+        gotoxy(0,4);
+        cprintf("12345\r");
+        cprintf("67890\r");
+        printf("\n\n");
+        printf("hit return to exit....\n");
+        fgetc(stdin);
+        return(0);
 }
index 2d3504cb4c71482af414315a8cdcc002e9e0d560..a608236cb95aafba261ccfc4447eedef1d1da40b 100644 (file)
 
 int main(void)
 {
-       char c;
+        char c;
         NEWLINE;
 
         cursor (1);
-       PRINTF("enter key (cursor on): ");
-       c = cgetc();
+        PRINTF("enter key (cursor on): ");
+        c = cgetc();
         NEWLINE;
 
         cursor (0);
-       PRINTF("enter key (cursor off): ");
-       c = cgetc();
+        PRINTF("enter key (cursor off): ");
+        c = cgetc();
         NEWLINE;
 
-       PRINTF("enter key (cursor on): ");
+        PRINTF("enter key (cursor on): ");
         cursor (1);
-       c = cgetc();
+        c = cgetc();
         NEWLINE;
 
-       PRINTF("enter key (cursor off): ");
+        PRINTF("enter key (cursor off): ");
         cursor (0);
-       c = cgetc();
+        c = cgetc();
         NEWLINE;
 
         PRINTF("hit any key to exit...");
         c = cgetc();
         NEWLINE;
 
-       return(0);
+        return(0);
 }
index 93fdcb7c419eee5e1a295cc18142c7ad3c41dbcb..9102fc74d0781a9238991dec304228395b5a0aab 100644 (file)
@@ -1,17 +1,17 @@
 
 /*
-       first test for posix directory routines for the c64
-       kludges:
-       -   currently uses cbm_open, which conflicts with standard i/o,
-               which in turn makes it infact kindof unuseable. this can
-               be easily changed however, since the only reason not to use
-               open/read was that it currently appends ,u,r to filenames
-       -   the offset in current dir stream should better be calculated
-               from the values returned by "read".
-       -   the type flag isnt filled in atm.
-       -   scandir/alphasort/versionsort is missing
-       -   some bits are currently untested (ie, unused in the testprogram)
-       27/02/2003 gpz
+        first test for posix directory routines for the c64
+        kludges:
+        -   currently uses cbm_open, which conflicts with standard i/o,
+                which in turn makes it infact kindof unuseable. this can
+                be easily changed however, since the only reason not to use
+                open/read was that it currently appends ,u,r to filenames
+        -   the offset in current dir stream should better be calculated
+                from the values returned by "read".
+        -   the type flag isnt filled in atm.
+        -   scandir/alphasort/versionsort is missing
+        -   some bits are currently untested (ie, unused in the testprogram)
+        27/02/2003 gpz
 */
 
 #include <stdio.h>
index 5b34341f78bed87729380d41a5586606ae5da04e..ce290ad38ed419435507a6a9b94bce7d95aa59e4 100644 (file)
 #include <stdbool.h>
 
 static bool test(int dividend, int divisor) {
-       div_t result;
+        div_t result;
 
-               result = div(dividend, divisor);
-       printf("%+d/%+d= %+d, %+d%%%+d= %+d, div()= %+d, %+d\n",
-               dividend, divisor, dividend / divisor,
-               dividend, divisor, dividend % divisor,
-               result.quot, result.rem);
-       return result.quot * divisor + result.rem != dividend;
-       }
+        result = div(dividend, divisor);
+        printf("%+d/%+d= %+d, %+d%%%+d= %+d, div()= %+d, %+d\n",
+                dividend, divisor, dividend / divisor,
+                dividend, divisor, dividend % divisor,
+                result.quot, result.rem);
+        return result.quot * divisor + result.rem != dividend;
+        }
 
 int main(void) {
-       bool t;
+        bool t;
 
-       printf("\nTest of division and modulus operations:\n\n");
-       t =     test(+40, +3) ||
-               test(+40, -3) ||
-               test(-40, +3) ||
-               test(-40, -3);
-       if (t)
-               printf("\nThe div() function made a wrong result!\n");
+        printf("\nTest of division and modulus operations:\n\n");
+        t =     test(+40, +3) ||
+                test(+40, -3) ||
+                test(-40, +3) ||
+                test(-40, -3);
+        if (t)
+                printf("\nThe div() function made a wrong result!\n");
 #ifdef __ATARI__
-       /* Atari DOS 2 clears the screen after program-termination, so wait. */
-       printf("\nTap a key, to exit. ");
-       getchar();
+        /* Atari DOS 2 clears the screen after program-termination, so wait. */
+        printf("\nTap a key, to exit. ");
+        getchar();
 #endif
-       return (int)t;
-       }
+        return (int)t;
+        }
index d66d346e05ba888a2ec2b37fe73e7202b060dd62..a6feed938795056c225ad4693efb001b8fda1aec 100644 (file)
 #elif defined(__C128__)
 #define DRIVERNAME      "c128-ram.emd"
 #elif defined(__C16__)
-#define DRIVERNAME     "c16-ram.emd"
+#define DRIVERNAME      "c16-ram.emd"
 #elif defined(__CBM510__)
-#define DRIVERNAME     "cbm510-ram.emd"
+#define DRIVERNAME      "cbm510-ram.emd"
 #elif defined(__CBM610__)
-#define DRIVERNAME     "cbm610-ram.emd"
+#define DRIVERNAME      "cbm610-ram.emd"
 #elif defined(__APPLE2__)
-#define DRIVERNAME     "a2.auxmem.emd"
+#define DRIVERNAME      "a2.auxmem.emd"
 #elif defined(__APPLE2ENH__)
-#define DRIVERNAME     "a2e.auxmem.emd"
+#define DRIVERNAME      "a2e.auxmem.emd"
 #else
-#define DRIVERNAME     "unknown"
+#define DRIVERNAME      "unknown"
 #error "Unknown target system"
 #endif
 
@@ -82,9 +82,9 @@ int main (void)
     clrscr ();
     Res = em_load_driver (DRIVERNAME);
     if (Res != EM_ERR_OK) {
-               cprintf ("Error in em_load_driver: %u\r\n", Res);
+        cprintf ("Error in em_load_driver: %u\r\n", Res);
         cprintf ("os: %u, %s\r\n", _oserror, _stroserror (_oserror));
-               exit (EXIT_FAILURE);
+        exit (EXIT_FAILURE);
     }
     atexit (cleanup);
 
index 61ff02420b56675930d96afccdceccb9b54a900f..9f169dc0bd53485a96062c2f2ae9fe955478b631 100644 (file)
@@ -1,12 +1,12 @@
 
-       .export _getsp
-       .importzp       sp
+        .export _getsp
+        .importzp       sp
 
-.proc  _getsp
+.proc   _getsp
 
-       ldx     sp+1
-       lda     sp
-       rts
+        ldx     sp+1
+        lda     sp
+        rts
 
 .endproc
 
index 2058aabb695c4fb825e5dc5b1d1e6990bd778cd2..fb10646cdcdd4e2d5caa30366498f146060338ec 100644 (file)
@@ -23,10 +23,10 @@ static char* Alloc (void)
      * also allow us to retrieve it later.
      */
     if (P) {
-       memset (P, Size, Size);
+        memset (P, Size, Size);
     } else {
-       printf ("Could not allocate %u bytes\n", Size);
-       exit (EXIT_FAILURE);
+        printf ("Could not allocate %u bytes\n", Size);
+        exit (EXIT_FAILURE);
     }
     return P;
 }
@@ -43,11 +43,11 @@ static void Free (unsigned char* P)
 
     /* Scan the block */
     for (I = 1; I < Size; ++I) {
-       if (P[I] != Size) {
-           printf ("Scan failed - expected %02X, got %02X\n",
-                   Size, P[I]);
-           exit (EXIT_FAILURE);
-               }
+        if (P[I] != Size) {
+            printf ("Scan failed - expected %02X, got %02X\n",
+                    Size, P[I]);
+            exit (EXIT_FAILURE);
+        }
     }
 
     /* Free the block */
@@ -61,8 +61,8 @@ static void FillArray (void)
 {
     unsigned char I = 0;
     do {
-       V[I] = Alloc ();
-       ++I;
+        V[I] = Alloc ();
+        ++I;
     } while (I != 0);
 }
 
@@ -75,20 +75,20 @@ static void ShowInfo (void)
     unsigned Count = 0;
     register struct freeblock* P = _heapfirst;
     while (P) {
-       ++Count;
-               P = P->next;
+        ++Count;
+        P = P->next;
     }
     printf ("%04X  %04X  %04X  %04X  %04X %u\n",
-           _heaporg, _heapptr, _heapend, _heapfirst, _heaplast, Count);
+            _heaporg, _heapptr, _heapend, _heapfirst, _heaplast, Count);
 
     if (Count) {
-       P = _heapfirst;
-       while (P) {
-           printf ("%04X  %04X  %04X %04X(%u)\n",
-                   (unsigned) P, P[2], P[1], P[0], P[0]);
-           P = P->next;
-       }
-       getchar ();
+        P = _heapfirst;
+        while (P) {
+            printf ("%04X  %04X  %04X %04X(%u)\n",
+                    (unsigned) P, P[2], P[1], P[0], P[0]);
+            P = P->next;
+        }
+        getchar ();
     }
 }
 
@@ -99,8 +99,8 @@ static void Test1 (void)
     unsigned char I;
     FillArray ();
     for (I = 0; I < 0x80; ++I) {
-       Free (V[0x7F-I]);
-       Free (V[0x80+I]);
+        Free (V[0x7F-I]);
+        Free (V[0x80+I]);
     }
     ShowInfo ();
 }
@@ -113,8 +113,8 @@ static void Test2 (void)
     FillArray ();
     I = 0;
     do {
-               Free (V[I]);
-       ++I;
+        Free (V[I]);
+        ++I;
     } while (I != 0);
     ShowInfo ();
 }
@@ -127,8 +127,8 @@ static void Test3 (void)
     FillArray ();
     I = 0;
     do {
-       --I;
-       Free (V[I]);
+        --I;
+        Free (V[I]);
     } while (I != 0);
     ShowInfo ();
 }
@@ -141,13 +141,13 @@ static void Test4 (void)
     FillArray ();
     I = 0;
     do {
-       Free (V[I]);
-       I += 2;
+        Free (V[I]);
+        I += 2;
     } while (I != 0);
     I = 1;
     do {
-       Free (V[I]);
-       I += 2;
+        Free (V[I]);
+        I += 2;
     } while (I != 1);
     ShowInfo ();
 }
@@ -160,26 +160,26 @@ static void Test5 (void)
     FillArray ();
     I = 0;
     do {
-       Free (V[I]);
-       I += 2;
+        Free (V[I]);
+        I += 2;
     } while (I != 0);
     do {
-               V[I] = Alloc ();
-       I += 2;
+        V[I] = Alloc ();
+        I += 2;
     } while (I != 0);
     I = 1;
     do {
-       Free (V[I]);
-       I += 2;
+        Free (V[I]);
+        I += 2;
     } while (I != 1);
     do {
-               V[I] = Alloc ();
-       I += 2;
+        V[I] = Alloc ();
+        I += 2;
     } while (I != 1);
     I = 0;
     do {
-       Free (V[I]);
-       ++I;
+        Free (V[I]);
+        ++I;
     } while (I != 0);
     ShowInfo ();
 }
@@ -192,16 +192,16 @@ static void Test6 (void)
     FillArray ();
     I = J = 0;
     do {
-       do {
-           Free (V[I]);
-           V[I] = Alloc ();
-           ++I;
-       } while (I != 0);
-       ++J;
+        do {
+            Free (V[I]);
+            V[I] = Alloc ();
+            ++I;
+        } while (I != 0);
+        ++J;
     } while (J < 5);
     do {
-       Free (V[I]);
-       ++I;
+        Free (V[I]);
+        ++I;
     } while (I != 0);
     ShowInfo ();
 }
index e1f44f8e54af5618fd738c4c4f8c461be62bd1b5..c4bda1e53d6f80a2d0e91560152a548294d43489 100644 (file)
@@ -19,27 +19,27 @@ int main (void)
     unsigned char Res = joy_load_driver (joy_stddrv);
 #endif
     if (Res != JOY_ERR_OK) {
-               cprintf ("Error in joy_load_driver: %u\r\n", Res);
+        cprintf ("Error in joy_load_driver: %u\r\n", Res);
         cprintf ("os: %u, %s\r\n", _oserror, _stroserror (_oserror));
-               exit (EXIT_FAILURE);
+        exit (EXIT_FAILURE);
     }
 
     clrscr ();
     count = joy_count ();
     cprintf ("Driver supports %d joystick(s)", count);
     while (1) {
-       for (i = 0; i < count; ++i) {
-           gotoxy (0, i+1);
-           j = joy_read (i);
-           cprintf ("%2d: %-6s%-6s%-6s%-6s%-6s%-6s",
-                    i,
-                            (j & joy_masks[JOY_UP])?    "  up  " : " ---- ",
-                    (j & joy_masks[JOY_DOWN])?  " down " : " ---- ",
-                    (j & joy_masks[JOY_LEFT])?  " left " : " ---- ",
-                    (j & joy_masks[JOY_RIGHT])? "right " : " ---- ",
-                    (j & joy_masks[JOY_FIRE])?  " fire " : " ---- ",
-                    (j & joy_masks[JOY_FIRE2])? "fire2 " : " ---- ");
-       }
+        for (i = 0; i < count; ++i) {
+            gotoxy (0, i+1);
+            j = joy_read (i);
+            cprintf ("%2d: %-6s%-6s%-6s%-6s%-6s%-6s",
+                     i,
+                     (j & joy_masks[JOY_UP])?    "  up  " : " ---- ",
+                     (j & joy_masks[JOY_DOWN])?  " down " : " ---- ",
+                     (j & joy_masks[JOY_LEFT])?  " left " : " ---- ",
+                     (j & joy_masks[JOY_RIGHT])? "right " : " ---- ",
+                     (j & joy_masks[JOY_FIRE])?  " fire " : " ---- ",
+                     (j & joy_masks[JOY_FIRE2])? "fire2 " : " ---- ");
+        }
     }
     return 0;
 }
index ccbacf5237d19f0c4ab563e98b0c833eb47e3a8c..1ce6268947026462b9284ca9804114ede860d46d 100644 (file)
@@ -101,7 +101,7 @@ int main(void)
 ** (And, run emulators at their maximun speed.)\r
 */\r
 #if 0\r
-       continue;\r
+        continue;\r
 #endif\r
 \r
         /* Do one row of tests */\r
@@ -130,9 +130,9 @@ int main(void)
                 }\r
             }\r
 \r
-           if (kbhit () && toupper (cgetc ()) == 'Q') {\r
-               goto Done;\r
-           }\r
+            if (kbhit () && toupper (cgetc ()) == 'Q') {\r
+                goto Done;\r
+            }\r
 \r
             res += lhs;\r
         } while (++rhs != 0);\r
@@ -164,8 +164,8 @@ Done:
 \r
 #ifdef __ATARI__\r
     if (_dos_type != SPARTADOS && _dos_type != OSADOS) {\r
-       cprintf ("\rTap a key, to exit. ");\r
-       cgetc();\r
+        cprintf ("\rTap a key, to exit. ");\r
+        cgetc();\r
     }\r
 #endif\r
     return 0;\r
index 67785258dac40de30770da1974231e0348bd3627..0e9160b9e752113d8c135100cb44f82af2deac8a 100644 (file)
@@ -20,36 +20,36 @@ int main(void)
     /* Generate two temporary file-names that have a random, unused spelling. */
     _randomize();
     for (;;) {
-       r = rand();
-       sprintf(name1, "r%04.4u.1", (unsigned)r);
-       sprintf(name2, "r%04.4u.2", (unsigned)r);
-
-       /* Ensure that neither file-name exists. */
-       errno = 0;
-       file = fopen(name1, "r");
-       if (file != NULL) {
-           fclose(file);
-           continue;                   /* try a different spelling */
-       }
-
-       /* Make sure that fopen() failed for the right reason. */
-       if (errno != ENOENT) {
-           perror("Disk error with first name");
-           return EXIT_FAILURE;
-       }
-
-       errno = 0;
-       file = fopen(name2, "r");
-       if (file != NULL) {
-           fclose(file);
-           continue;
-       }
-       if (errno != ENOENT) {
-           perror("Disk error with second name");
-           return EXIT_FAILURE;
-       }
-
-       break;                          /* neither one exists; do next step */
+        r = rand();
+        sprintf(name1, "r%04.4u.1", (unsigned)r);
+        sprintf(name2, "r%04.4u.2", (unsigned)r);
+
+        /* Ensure that neither file-name exists. */
+        errno = 0;
+        file = fopen(name1, "r");
+        if (file != NULL) {
+            fclose(file);
+            continue;                   /* try a different spelling */
+        }
+
+        /* Make sure that fopen() failed for the right reason. */
+        if (errno != ENOENT) {
+            perror("Disk error with first name");
+            return EXIT_FAILURE;
+        }
+
+        errno = 0;
+        file = fopen(name2, "r");
+        if (file != NULL) {
+            fclose(file);
+            continue;
+        }
+        if (errno != ENOENT) {
+            perror("Disk error with second name");
+            return EXIT_FAILURE;
+        }
+
+        break;                          /* neither one exists; do next step */
     }
 
     /* Create the first file.
@@ -58,16 +58,16 @@ int main(void)
     printf("Creating file: %s\n", name1);
     file = fopen(name1, "w");
     if (file == NULL) {
-       _poserror("Disk error making first file");
-       return EXIT_FAILURE;
+        _poserror("Disk error making first file");
+        return EXIT_FAILURE;
     }
     fclose(file);
 
     /* Verify that the file-name exists now. */
     file = fopen(name1, "r");
     if (file == NULL) {
-       _poserror("Cannot find first name");
-       return EXIT_FAILURE;
+        _poserror("Cannot find first name");
+        return EXIT_FAILURE;
     }
     fclose(file);
 
@@ -78,23 +78,23 @@ int main(void)
     printf("Renaming %s to %s\n", name1, name2);
     r = rename(name1, name2);
     if (r < 0) {
-       _poserror("rename() failed");
-       return EXIT_FAILURE;
+        _poserror("rename() failed");
+        return EXIT_FAILURE;
     }
 
     /* Verify that the first file-name no longer exists. */
     file = fopen(name1, "r");
     if (file != NULL) {
-       fclose(file);
-       _poserror("First name still exists");
-       return EXIT_FAILURE;
+        fclose(file);
+        _poserror("First name still exists");
+        return EXIT_FAILURE;
     }
 
     /* Verify that the second file-name exists now. */
     file = fopen(name2, "r");
     if (file == NULL) {
-       _poserror("Cannot find second name");
-       return EXIT_FAILURE;
+        _poserror("Cannot find second name");
+        return EXIT_FAILURE;
     }
     fclose(file);
 
@@ -104,8 +104,8 @@ int main(void)
     printf("Removing %s\n", name2);
     r = remove(name2);
     if (r < 0) {
-       _poserror("remove() failed");
-       return EXIT_FAILURE;
+        _poserror("remove() failed");
+        return EXIT_FAILURE;
     }
 
     printf("rename() passed the test.\n");
index 1f1da6f9e66379018e41ee4edaaf857e17bdd304..85cfe39a7562e8448a0e7feb13c1a195bc3bbe87 100644 (file)
@@ -209,7 +209,7 @@ int main(void) {
                                        "\tto the first argument.\r\n\n",
                                        t + 1, n1, test_data[t].v1.nvalue);
                         }
-                else {         /* test_data[t].type1 == CHAR */
+                else {          /* test_data[t].type1 == CHAR */
                         if (strcmp(test_data[t].v1.svalue, s1))
                                 PRINTF("Test #%u assigned\r\n\"%s\",\r\n"
                                        "\tinstead of\r\n\"%s\",\r\n"
@@ -223,7 +223,7 @@ int main(void) {
                                        "\tto the second argument.\r\n\n",
                                        t + 1, n2, test_data[t].v2.nvalue);
                         }
-                else {         /* test_data[t].type2 == CHAR */
+                else {          /* test_data[t].type2 == CHAR */
                         if (strcmp(test_data[t].v2.svalue, s2))
                                 PRINTF("Test #%u assigned\r\n\"%s\",\r\n"
                                        "\tinstead of\r\n\"%s\",\r\n"
@@ -249,8 +249,8 @@ int main(void) {
         */
         PRINTF("Testing \"%%p\"...\r\n");
         sprintf(s1, "%p %p %p %p", NULL, NULL,
-                Pause,                 /* static (program) storage */
-                &c);                   /* automatic (stack) storage */
+                Pause,                  /* static (program) storage */
+                &c);                    /* automatic (stack) storage */
         sscanf(s1, "%p%p%p %p", &p1, &p2, &p3, &p4);
         if (p1 != NULL || p2 != NULL ||
             p3 != (void *)Pause || p4 != (void *)&c)
index 0a631d4b0c27569930a80b7fac82b2d20bd8870f..a3f92b633402cb18a3e9f63d9037a1974fa2b4ff 100644 (file)
 #elif defined(__C128__)
 #define DRIVERNAME      "c128-swlink.ser"
 #elif defined(__PLUS4__)
-#define DRIVERNAME     "plus4-stdser.ser"
+#define DRIVERNAME      "plus4-stdser.ser"
 #elif defined(__CBM610__)
-#define DRIVERNAME     "cbm610-std.ser"
+#define DRIVERNAME      "cbm610-std.ser"
 #elif defined(__APPLE2__)
-#define DRIVERNAME     "a2.ssc.ser"
+#define DRIVERNAME      "a2.ssc.ser"
 #elif defined(__APPLE2ENH__)
-#define DRIVERNAME     "a2e.ssc.ser"
+#define DRIVERNAME      "a2e.ssc.ser"
 #else
-#define DRIVERNAME     "unknown"
+#define DRIVERNAME      "unknown"
 #error "Unknown target system"
 #endif
 
index ed5b73f884c3d6d54051f2e49592bcb67e53a377..7aba1de1e2107ce6287de073c68b2d655b50e391 100644 (file)
@@ -3,7 +3,7 @@
 #include <string.h>
 
 
-                                                       
+                                                        
 /* Test string. Must NOT have duplicate characters! */
 static char S[] = "Helo wrd!\n";
 
@@ -26,28 +26,28 @@ int main (void)
     /* Search for all characters in the string, including the terminator */
     for (I = 0; I < Len+1; ++I) {
 
-       /* Search for this char */
-       P = strchr (S, S[I]);
+        /* Search for this char */
+        P = strchr (S, S[I]);
 
-       /* Check if we found it */
-       if (P == 0 || (P - S) != I) {
-           printf ("Failed for code 0x%02X, offset %u!\n", S[I], I);
-           printf ("P = %04X offset = %04X\n", P, P-S);
-           exit (EXIT_FAILURE);
-       }
+        /* Check if we found it */
+        if (P == 0 || (P - S) != I) {
+            printf ("Failed for code 0x%02X, offset %u!\n", S[I], I);
+            printf ("P = %04X offset = %04X\n", P, P-S);
+            exit (EXIT_FAILURE);
+        }
 
-       /* Mark the char as checked */
-       Found[S[I]] = 1;
+        /* Mark the char as checked */
+        Found[S[I]] = 1;
     }
 
     /* Search for all other characters and make sure they aren't found */
     for (I = 0; I < 256; ++I) {
-       if (Found[I] == 0) {
-           if (strchr (S, (char)I) != 0) {
-               printf ("Failed for code 0x%02X\n", I);
-               exit (EXIT_FAILURE);
-           }
-       }
+        if (Found[I] == 0) {
+            if (strchr (S, (char)I) != 0) {
+                printf ("Failed for code 0x%02X\n", I);
+                exit (EXIT_FAILURE);
+            }
+        }
     }
 
     /* Test passed */
index 535ec9caa660fe036140f6e47a019e72f806472e..5514471f935260b07d129fc614de6d19959370b2 100644 (file)
@@ -5,11 +5,11 @@
 
 
 /* From _heap.h */
-extern unsigned        _horg;          /* Bottom of heap */
-extern unsigned _hptr;         /* Current top */
-extern unsigned _hend;         /* Upper limit */
-extern unsigned        _hfirst;        /* First free block in list */
-extern unsigned _hlast;                /* Last free block in list */
+extern unsigned _horg;          /* Bottom of heap */
+extern unsigned _hptr;          /* Current top */
+extern unsigned _hend;          /* Upper limit */
+extern unsigned _hfirst;        /* First free block in list */
+extern unsigned _hlast;         /* Last free block in list */
 
 
 static unsigned char* V[256];
@@ -23,20 +23,20 @@ static void ShowInfo (void)
     unsigned Count = 0;
     unsigned** P = (unsigned**) _hfirst;
     while (P) {
-       ++Count;
-       P = P[1];
+        ++Count;
+        P = P[1];
     }
     printf ("%04X  %04X  %04X  %04X  %04X %u\n",
-           _horg, _hptr, _hend, _hfirst, _hlast, Count);
+            _horg, _hptr, _hend, _hfirst, _hlast, Count);
 
     if (Count) {
-       P = (unsigned**) _hfirst;
-       while (P) {
-           printf ("%04X  %04X  %04X %04X(%u)\n",
-                   (unsigned) P, P[2], P[1], P[0], P[0]);
-           P = P[1];
-       }
-       getchar ();
+        P = (unsigned**) _hfirst;
+        while (P) {
+            printf ("%04X  %04X  %04X %04X(%u)\n",
+                    (unsigned) P, P[2], P[1], P[0], P[0]);
+            P = P[1];
+        }
+        getchar ();
     }
 }
 
@@ -51,10 +51,10 @@ static const char* RandStr (void)
     char C;
 
     for (I = 0; I < Len; ++I) {
-       do {
-           C = rand() & 0xFF;
-       } while (C == 0);
-       S[I] = C;
+        do {
+            C = rand() & 0xFF;
+        } while (C == 0);
+        S[I] = C;
     }
     S[Len] = '\0';
 
@@ -68,8 +68,8 @@ static void FillArray (void)
 {
     unsigned char I = 0;
     do {
-               V[I] = strdup (RandStr ());
-       ++I;
+        V[I] = strdup (RandStr ());
+        ++I;
     } while (I != 0);
 }
 
@@ -80,8 +80,8 @@ static void FreeArray (void)
 {
     unsigned char I = 0;
     do {
-               free (V[I]);
-       ++I;
+        free (V[I]);
+        ++I;
     } while (I != 0);
 }
 
index 453eb88fe0555c45ed0e59d641945a68563f0968..b15565036e78767fcbc2bd80abf7934924d6b03d 100644 (file)
@@ -17,7 +17,7 @@ int main (void)
 {
     char I;
     for (I = 0; I < 20; ++I) {
-       printf ("%02d: %d\n", I, strncmp (S1, S2, I));
+        printf ("%02d: %d\n", I, strncmp (S1, S2, I));
     }
     return 0;
 }
index 35a8ebb5bb42f795ced43f347d0c13d05eb977c8..104d4f6de36cb23e283d74bd65ede71e969004f7 100644 (file)
@@ -4,13 +4,13 @@ int main (void)
 {
     int C;
     while ((C = getchar ()) != EOF) {
-       if (C == 0x9B) {
-           putchar ('\n');
-       } else if (C == 0x7F) {
-           putchar ('\t');
-       } else {  
-           putchar (C);
-       }
+        if (C == 0x9B) {
+            putchar ('\n');
+        } else if (C == 0x7F) {
+            putchar ('\t');
+        } else {  
+            putchar (C);
+        }
     }
     return 0;
 }
index fe5bea71875adfd9dcd9ca0e97b6efc05f51c57f..11c0325e4c0852a91f868f5752f824f0f5e8fec2 100644 (file)
@@ -32,24 +32,24 @@ int main (int argc, char *argv[]) {
     size_t I = 0u;
 
     if (isatty(fileno(stdin))) {
-       fputs("cbmcvt v2.1 -- Conversion Filter (stdin --> stdout)\n"
-             " -p  converts ISO-8859-1 to PetSCII\n"
-             " else, converts in other direction.\n", stderr);
-       return 0;
-       }
+        fputs("cbmcvt v2.1 -- Conversion Filter (stdin --> stdout)\n"
+              " -p  converts ISO-8859-1 to PetSCII\n"
+              " else, converts in other direction.\n", stderr);
+        return 0;
+        }
     if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'p') {
-       while ((C = fgetc (stdin)) != EOF) {
-           fputc (CTPET[C], stdout);
-       }
+        while ((C = fgetc (stdin)) != EOF) {
+            fputc (CTPET[C], stdout);
+        }
     } else {
-       /* Create translation table PetSCII -> ISO-8859-1 */
-       for (; I < sizeof CTPET; ++I) {
-           CTISO[CTPET[I]] = I;
-       }
+        /* Create translation table PetSCII -> ISO-8859-1 */
+        for (; I < sizeof CTPET; ++I) {
+            CTISO[CTPET[I]] = I;
+        }
 
-       while ((C = fgetc (stdin)) != EOF) {
-           fputc (CTISO[C], stdout);
-       }
+        while ((C = fgetc (stdin)) != EOF) {
+            fputc (CTISO[C], stdout);
+        }
     }
     return 0;
 }
index 59ee3f7e5b0c6ef5501331a21e9ed47d30e9119a..34fac2779c89f1bad0a3d8d5e617bd9e8a3314b6 100644 (file)
 
 int main(int argc, char* argv[])
 {
-       FILE* fp;
-       char* inbuf;
-       char* outbuf;
-       size_t inlen;
-       size_t outlen;
-       z_stream stream;
+        FILE* fp;
+        char* inbuf;
+        char* outbuf;
+        size_t inlen;
+        size_t outlen;
+        z_stream stream;
 
-       /* check command line */
-       if (argc != 3) {
-               fprintf(stderr,
-                       "Compresses a file to the DEFLATE format.\n"
-                       "24 Aug 2002, Piotr Fusik <fox@scene.pl>\n"
-                       "Usage: deflater input_file deflated_file\n"
-               );
-               return 3;
-       }
+        /* check command line */
+        if (argc != 3) {
+                fprintf(stderr,
+                        "Compresses a file to the DEFLATE format.\n"
+                        "24 Aug 2002, Piotr Fusik <fox@scene.pl>\n"
+                        "Usage: deflater input_file deflated_file\n"
+                );
+                return 3;
+        }
 
-       /* alloc buffers */
-       inbuf = malloc(IN_SIZE_MAX);
-       outbuf = malloc(OUT_SIZE_MAX);
-       if (inbuf == NULL || outbuf == NULL) {
-               fprintf(stderr, "deflater: Out of memory!\n");
-               return 1;
-       }
+        /* alloc buffers */
+        inbuf = malloc(IN_SIZE_MAX);
+        outbuf = malloc(OUT_SIZE_MAX);
+        if (inbuf == NULL || outbuf == NULL) {
+                fprintf(stderr, "deflater: Out of memory!\n");
+                return 1;
+        }
 
-       /* read input file */
-       fp = fopen(argv[1], "rb");
-       if (fp == NULL) {
-               perror(argv[1]);
-               return 1;
-       }
-       inlen = fread(inbuf, 1, IN_SIZE_MAX, fp);
-       fclose(fp);
+        /* read input file */
+        fp = fopen(argv[1], "rb");
+        if (fp == NULL) {
+                perror(argv[1]);
+                return 1;
+        }
+        inlen = fread(inbuf, 1, IN_SIZE_MAX, fp);
+        fclose(fp);
 
-       /* compress */
-       stream.next_in = inbuf;
-       stream.avail_in = inlen;
-       stream.next_out = outbuf;
-       stream.avail_out = OUT_SIZE_MAX;
-       stream.zalloc = (alloc_func) 0;
-       stream.zfree = (free_func) 0;
-       if (deflateInit2(&stream, Z_BEST_COMPRESSION, Z_DEFLATED,
-               -MAX_WBITS, 9, Z_DEFAULT_STRATEGY) != Z_OK) {
-               fprintf(stderr, "deflater: deflateInit2 failed\n");
-               return 1;
-       }
-       if (deflate(&stream, Z_FINISH) != Z_STREAM_END) {
-               fprintf(stderr, "deflater: deflate failed\n");
-               return 1;
-       }
-       if (deflateEnd(&stream) != Z_OK) {
-               fprintf(stderr, "deflater: deflateEnd failed\n");
-               return 1;
-       }
+        /* compress */
+        stream.next_in = inbuf;
+        stream.avail_in = inlen;
+        stream.next_out = outbuf;
+        stream.avail_out = OUT_SIZE_MAX;
+        stream.zalloc = (alloc_func) 0;
+        stream.zfree = (free_func) 0;
+        if (deflateInit2(&stream, Z_BEST_COMPRESSION, Z_DEFLATED,
+                -MAX_WBITS, 9, Z_DEFAULT_STRATEGY) != Z_OK) {
+                fprintf(stderr, "deflater: deflateInit2 failed\n");
+                return 1;
+        }
+        if (deflate(&stream, Z_FINISH) != Z_STREAM_END) {
+                fprintf(stderr, "deflater: deflate failed\n");
+                return 1;
+        }
+        if (deflateEnd(&stream) != Z_OK) {
+                fprintf(stderr, "deflater: deflateEnd failed\n");
+                return 1;
+        }
 
-       /* write output */
-       fp = fopen(argv[2], "wb");
-       if (fp == NULL) {
-               perror(argv[2]);
-               return 1;
-       }
-       outlen = fwrite(outbuf, 1, stream.total_out, fp);
-       fclose(fp);
-       if (outlen != stream.total_out) {
-               perror(argv[2]);
-               return 1;
-       }
+        /* write output */
+        fp = fopen(argv[2], "wb");
+        if (fp == NULL) {
+                perror(argv[2]);
+                return 1;
+        }
+        outlen = fwrite(outbuf, 1, stream.total_out, fp);
+        fclose(fp);
+        if (outlen != stream.total_out) {
+                perror(argv[2]);
+                return 1;
+        }
 
-       /* display summary */
-       printf("Compressed %s (%d bytes) to %s (%d bytes)\n",
-               argv[1], inlen, argv[2], outlen);
-       return 0;
+        /* display summary */
+        printf("Compressed %s (%d bytes) to %s (%d bytes)\n",
+                argv[1], inlen, argv[2], outlen);
+        return 0;
 }