2 ; Startup code for geos
4 ; Maciej 'YTM/Elysium' Witkowiak
5 ; 26.10.99, 10.3.2000, 15.8.2001, 23.12.2002
8 .export __STARTUP__ : absolute = 1 ; Mark as startup
9 .import __STACKADDR__, __STACKSIZE__ ; Linker generated
10 .import __BACKBUFSIZE__ ; Linker generated
11 .import initlib, donelib
16 .include "jumptab.inc"
17 .include "geossym.inc"
20 ; ------------------------------------------------------------------------
21 ; Place the startup code in a special segment.
25 ; GEOS 64/128 initializes the screen before starting an application while
26 ; Apple GEOS does not. In order to provide identical startup conditions
27 ; we initialize the screen here on Apple GEOS. For the same reason we set
28 ; the pattern and dispBufferOn even on GEOS 64/128 although we don't use
31 lda #2 ; Checkerboard pattern
33 lda #<(ST_WR_FORE | .MIN (ST_WR_BACK, __BACKBUFSIZE__))
49 lda #<(__STACKADDR__ + __STACKSIZE__)
50 ldx #>(__STACKADDR__ + __STACKSIZE__)
54 ; Call module constructors.
58 ; Push arguments and call main().
63 ; Call module destructors.
67 jmp EnterDeskTop ; Return control to the system