+SYMBOLS {
+ __STACKSIZE__: type = weak, value = $0300; # 3 pages stack
+}
MEMORY {
ZP: start = $00, size = $1A, type = rw, define = yes;
#HEADER: load = HEADER, type = wprot;
#aSTARTUP: load = ROM0, type = wprot, define = yes;
- STARTUP: load = ROM0, type = wprot, define = yes;
+ STARTUP: load = ROM0, type = ro, define = yes;
- CODE: load = ROM, type = wprot, define = yes;
- RODATA: load = ROM, type = wprot, define = yes;
+ INIT: load = ROM0, type = ro, define = yes, optional = yes;
+ CODE: load = ROM, type = ro, define = yes;
+ RODATA: load = ROM, type = ro, define = yes;
DATA: load = ROM0, run= RAM, type = rw, define = yes;
# BSS: load = RAM2, type = bss, define = yes;
label=__DESTRUCTOR_TABLE__,
count=__DESTRUCTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__ = $0300; # 3 pages stack
-}
# include <lynx.h>
#elif defined(__NES__)
# include <nes.h>
+#elif defined(__PCE__)
+# include <pce.h>
#endif
--- /dev/null
+#define CH_CROSS 0x10
+
+#define CH_RTEE 0x17
+#define CH_LTEE 0x0f
+
+#define CH_ULCORNER 0x10
+#define CH_URCORNER 0x10
+#define CH_LLCORNER 0x10
+#define CH_LRCORNER 0x10
+
+
+#define TV_NTSC 0
+#define TV_PAL 1
+#define get_tv() 0
+
+#define CLOCKS_PER_SEC 50 // ???
+#define CLK_TCK 50 // ?!?
+
+//#ifndef CH_ENTER
+#define CH_ENTER '\n'
+//#endif
+
+#define CH_STOP 0x08
+
+#define CH_F1 0x14
+#define CH_F3 0x15
+#define CH_F5 0x16
+#define CH_F7 0x17
+
+#define CH_CURS_UP 0x01
+#define CH_CURS_DOWN 0x02
+
+#ifndef CH_CURS_LEFT
+#define CH_CURS_LEFT 0x03
+#endif
+
+#ifndef CH_CURS_RIGHT
+#define CH_CURS_RIGHT 0x04
+#endif
+
+#define CH_ESC 8
+
+#define CH_DEL 20
+
+/* 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 JOY_FIRE_B 5
+#define JOY_START 6
+#define JOY_SELECT 7
+
+/*
+void __fastcall__ waitvblank(void);
+
+unsigned char __fastcall__ cpeekcharxy(unsigned char x,unsigned char y);
+unsigned char __fastcall__ cpeekchar(void);
+unsigned char __fastcall__ cpeekcolxy(unsigned char x,unsigned char y);
+unsigned char __fastcall__ cpeekcol(void);
+*/
;
; clock_t clock (void);
;
-
- .include "pcengine.inc"
- .export _clock
- .importzp sreg
+ .include "pcengine.inc"
+
+ .export _clock
+ .importzp sreg
.proc _clock
- ldy #0 ; Byte 3 is always zero
- sty sreg+1
- sty sreg
+ ldy #0 ; Byte 3 is always zero
+ sty sreg+1
+ sty sreg
- ldx _tickcount+1
- lda _tickcount
- rts
+ ldx _tickcount+1
+ lda _tickcount
+ rts
.endproc
;
.export _exit
+ .export __STARTUP__ : absolute = 1 ; Mark as startup
.import initlib, donelib
.import push0, _main, zerobss
.import initheap
--- /dev/null
+;
+; Ullrich von Bassewitz, 06.08.1998
+;
+; void gotoxy (unsigned char x, unsigned char y);
+;
+
+ .export _gotoxy
+ .import popa, plot
+
+ .include "pcengine.inc"
+
+_gotoxy:
+
+ sta CURS_Y ; Set Y
+ jsr popa ; Get X
+ sta CURS_X ; Set X
+ jmp plot ; Set the cursor position
+
+
+++ /dev/null
-#define CH_CROSS 0x10
-
-#define CH_RTEE 0x17
-#define CH_LTEE 0x0f
-
-#define CH_ULCORNER 0x10
-#define CH_URCORNER 0x10
-#define CH_LLCORNER 0x10
-#define CH_LRCORNER 0x10
-
-
-#define TV_NTSC 0
-#define TV_PAL 1
-#define get_tv() 0
-
-#define CLOCKS_PER_SEC 50 // ???
-#define CLK_TCK 50 // ?!?
-
-//#ifndef CH_ENTER
-#define CH_ENTER '\n'
-//#endif
-
-#define CH_STOP 0x08
-
-#define CH_F1 0x14
-#define CH_F3 0x15
-#define CH_F5 0x16
-#define CH_F7 0x17
-
-#define CH_CURS_UP 0x01
-#define CH_CURS_DOWN 0x02
-
-#ifndef CH_CURS_LEFT
-#define CH_CURS_LEFT 0x03
-#endif
-
-#ifndef CH_CURS_RIGHT
-#define CH_CURS_RIGHT 0x04
-#endif
-
-#define CH_ESC 8
-
-#define CH_DEL 20
-
-/* 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 JOY_FIRE_B 5
-#define JOY_START 6
-#define JOY_SELECT 7
-
-/*
-void __fastcall__ waitvblank(void);
-
-unsigned char __fastcall__ cpeekcharxy(unsigned char x,unsigned char y);
-unsigned char __fastcall__ cpeekchar(void);
-unsigned char __fastcall__ cpeekcolxy(unsigned char x,unsigned char y);
-unsigned char __fastcall__ cpeekcol(void);
-*/
--- /dev/null
+
+#include <conio.h>
+
+void main(void)
+{
+ clrscr();
+// cprintf("hello world");
+ cputs("hello world");
+ for(;;);
+}
\ No newline at end of file