/[projet1]/public/oric/games/Space 1999/Sources/game source/NOISE/noise-start.s
Defence Force logotype

Contents of /public/oric/games/Space 1999/Sources/game source/NOISE/noise-start.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 76 - (show annotations)
Tue May 26 07:45:25 2009 UTC (10 years, 6 months ago) by Chema
File size: 2311 byte(s)


1
2 #include "noise_defs.h"
3
4 #echo
5 #echo This is NOISE (Novel Oric ISometric Engine).
6 #printdef VERSION
7 #echo
8 #echo José María Enguita
9 #echo 2007
10 #echo
11
12 #define TINYNOISE
13 #define SCRBUFFSAVE
14 #define FASTMULT
15
16 ;#define EIGTHSCANS
17 #ifdef EIGTHSCANS
18 #define SCANSINBUFF 8
19 #define SIZ_BUFF 320
20 #else
21 #define SCANSINBUFF 6
22 #define SIZ_BUFF 240
23 #endif
24
25 __noise_start
26
27 ; Files that make up the engine:
28 ;; groutines isofuncs auxiliar clipping collision occlusions spritemov
29
30
31 ;; Global data:
32 _num_chars .byt 0
33 _chars_in_room .dsb MAX_CHARS
34 _bkg_collision_list .dsb 8*4,0
35 _num_bkg_collisions .byt 0
36 _obj_collision_list .dsb 8*4,0
37 _num_obj_collisions .byt 0
38 _layers .dsb NUM_LAYERS*2,0
39 _clip_rgn .dsb 4,0
40
41 _sizes_i .byt 6,6,4,6,3,5,4,10
42 _sizes_j .byt 6,6,6,4,3,5,4,10
43 _sizes_k .byt 4,6,4,4,3,4,12,12
44
45 _init_when_setting .byt $ff
46
47 ; char_tiles_i|j|k are defined below, but they are global
48
49
50 ;; Library functions (global labels)
51 ;_put_sprite
52 ;_put_sprite2
53 ;_recalc_clip
54 ;_pixel_address
55 ;_clear_clip_rgn
56 ;_ij2xy
57 ;_dodiv6
58 ;_set_doublebuff
59 ;_clear_buff
60 ;_paint_buff
61 ;_draw_room
62 ;_get_tile
63 ;_recalc_clip
64 ;_collision_test
65 ;_move_sprite
66 ;_init_room
67
68 ;; Also some helpers that might be useful (called from ASM)
69 ; ij2xy
70 ; do_div6
71 ; pixel_address
72
73
74 ;#echo Linking with NOISE library 0.1
75 .(
76
77
78 ; Local data
79
80
81
82
83 #ifdef SCRBUFFSAVE
84
85 #ifdef EIGTHSCANS
86 +scr_buffer = $9c00
87 buffer_occ = scr_buffer+SIZ_BUFF
88 sprite_loc = buffer_occ+SIZ_BUFF
89
90 aux_buff_i = sprite_loc + SIZE_GRID*SIZE_GRID
91 aux_buff_j = aux_buff_i + MAX_CHARS
92 aux_buff_k = aux_buff_j + MAX_CHARS
93
94 double_buff= aux_buff_k + MAX_CHARS
95
96 #else
97 .bss
98 *=$200
99 scr_buffer .dsb SIZ_BUFF,$40
100 double_buff .byte $00
101
102 *=$400
103 buffer_occ .dsb SIZ_BUFF,$40
104
105 .text
106 sprite_loc .dsb SIZE_GRID*SIZE_GRID, $00
107
108 aux_buff_i .dsb MAX_CHARS, $ff
109 aux_buff_j .dsb MAX_CHARS, $ff
110 aux_buff_k .dsb MAX_CHARS, $ff
111
112
113 #else
114 +scr_buffer .dsb SIZ_BUFF,$40
115
116 ; .dsb 256-(*&255)
117 buffer_occ .dsb SIZ_BUFF,$40
118 sprite_loc .dsb SIZE_GRID*SIZE_GRID, $00
119
120 aux_buff_i .dsb MAX_CHARS, $ff
121 aux_buff_j .dsb MAX_CHARS, $ff
122 aux_buff_k .dsb MAX_CHARS, $ff
123
124
125 double_buff .byte $00
126
127 #endif
128
129 +_char_tiles_i = aux_buff_i
130 +_char_tiles_j = aux_buff_j
131 +_char_tiles_k = aux_buff_k

  ViewVC Help
Powered by ViewVC 1.1.26