-
Notifications
You must be signed in to change notification settings - Fork 2
/
MAIN2.X68
115 lines (75 loc) · 3.54 KB
/
MAIN2.X68
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
; =============================================================================
; TITLE : EXAMPLE GAME
; AUTHOR : ANTONI BURGUERA
; CREATION : 22-OCT-2017
; =============================================================================
ORG $1000
; --- CODE INCLUDES -----------------------------------------------------------
INCLUDE "SYSCONST.X68" ; SYSTEM CONSTANTS
INCLUDE "SYSTEM.X68" ; SYSTEM CODE
INCLUDE "CONST.X68" ; USER CONSTANTS
INCLUDE "UTIL.X68" ; UTILITY MACRO AND SUBROUTINES
INCLUDE "PLAYER.X68" ; PLAYER MANAGEMENT
INCLUDE "AGENTLST.X68" ; AGENT LIST MANAGEMENT
INCLUDE "PIPE.X68" ; ASTEROID AGENT MANAGEMENT
INCLUDE "COIN.X68" ; SCORE-EARNING COINS MANAGEMENT
INCLUDE "SPAWNER.X68" ; SPAWNER (CREATES ASTEROIDS)
INCLUDE "STATES.X68" ; GAME STATES MANAGEMENT
INCLUDE "BACKGROUND.X68" ; GAME BACKGROUND MANAGEMENT
INCLUDE "WINUTIL.X68" ;HARDWARE WINDOWS MANAGEMENT
; --- INITIALIZE --------------------------------------------------------------
START MOVEM.L D0-D2/A0-A1,-(A7)
MOVE.L #30,D0
TRAP #15
JSR SYSINIT ; INITIALIZE SYSTEM CODE
JSR STAINIT ; INITIALIZE GAME STATE
JSR SHOWHWIN ; INITIALIZE HARDWARE WINDOW
; --- UPDATE ------------------------------------------------------------------
.LOOP TRAP #KBDTRAP ; READ KEYBOARD
JSR STAUPD ; UPDATE DEPENDING ON THE STATE
; --- WAIT SYNCH --------------------------------------------------------------
.WINT TST.B (SCRINTCT) ; WAIT FOR INTERRUPT
BEQ .WINT
CLR.B (SCRINTCT)
; --- PLOT --------------------------------------------------------------------
JSR STAPLOT ; PLOT DEPENDING ON THE STATE
TRAP #SCRTRAP ; SHOW GRAPHICS
; --- FPSADAPT ----------------------------------------------------------------
MOVE.L #31,D0
TRAP #15
MOVE.L (CYCLEUPD),D2
ADD.L (CYCLEPLT),D2
SUB.L D2,D1
BPL .WAIT
BRA .7SEGD
.WAIT
DBRA D1,.WAIT
; --- 7SEG DISPLAYS TASKS -----------------------------------------------------
.7SEGD LEA .HWADDR,A0
JSR GTHWADDR
MOVE.L (.HWADDR), A0
MOVE.L #32,D0
MOVE.B #3,D1
TRAP #15
MOVE.L D1,A1
BTST.B #7,(A1)
BEQ .HWUPD
.HWDRAW
LEA CYCLEPLT,A1
JSR MWRTSEGM
BRA .LOOP
.HWUPD
LEA CYCLEUPD,A1
JSR MWRTSEGM
MOVEM.L (A7)+,D0-D1
BRA .LOOP
SIMHALT
.HWADDR DS.L 4
; --- VARIABLES ---------------------------------------------------------------
INCLUDE "SYSVAR.X68"
INCLUDE "VAR.X68"
END START
*~Font name~Courier New~
*~Font size~10~
*~Tab type~1~
*~Tab size~4~