From 62e39780bcb2ac89ba39c3873409d5517cfa75bd Mon Sep 17 00:00:00 2001 From: uz Date: Sun, 14 Nov 2010 11:50:38 +0000 Subject: [PATCH] Added a module that contains a small basic stub (SYS header) that starts machine language code following it. Using this header, machine language programs linked to this stub can be started using RUN. git-svn-id: svn://svn.cc65.org/cc65/trunk@4861 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/cbm/Makefile | 1 + libsrc/cbm/exehdr.s | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 libsrc/cbm/exehdr.s diff --git a/libsrc/cbm/Makefile b/libsrc/cbm/Makefile index a012eb3ee..a650381df 100644 --- a/libsrc/cbm/Makefile +++ b/libsrc/cbm/Makefile @@ -64,6 +64,7 @@ S_OBJS = c_acptr.o \ ctype.o \ cvline.o \ diskcmd.o \ + exehdr.o \ filedes.o \ filename.o \ filevars.o \ diff --git a/libsrc/cbm/exehdr.s b/libsrc/cbm/exehdr.s new file mode 100644 index 000000000..541d2e583 --- /dev/null +++ b/libsrc/cbm/exehdr.s @@ -0,0 +1,27 @@ +; +; Ullrich von Bassewitz, 2010-11-14 +; +; This module supplies a small BASIC stub program that jumps to the machine +; language code that follows it using SYS. +; + + ; The following symbol is used by linker config to force the module + ; to get included into the output file + .export __EXEHDR__: absolute = 1 + +.segment "EXEHDR" + + .addr Next + .word .version ; Line number + .byte $9E ; SYS token + .byte <(((Start / 1000) .mod 10) + '0') + .byte <(((Start / 100) .mod 10) + '0') + .byte <(((Start / 10) .mod 10) + '0') + .byte <(((Start / 1) .mod 10) + '0') + .byte $00 ; End of BASIC line +Next: .word 0 ; BASIC end marker +Start: + + + + -- 2.39.5