Skip to content

Commit be1d0e5

Browse files
committed
add bottom border removal code.
1 parent aa2f96a commit be1d0e5

File tree

2 files changed

+148
-1
lines changed

2 files changed

+148
-1
lines changed

intro/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
AS=vasmm68k_mot
22
ASFLAGS=-Ftos -m68000 -no-fpu
33

4-
all: hblvbl.tos starf.tos tosfont.tos
4+
all: hblvbl.tos starf.tos tosfont.tos border.tos
55

66
clean:
77
$(RM) *.ttp *.tos

intro/border.s

+147
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
* SOURCE CODE TO REMOVE BOTTOM BORDER, BY POWER MAN OF THE WILD BOYS *
2+
3+
* INTO SUPERVISOR MODE
4+
5+
CLR.L -(A7)
6+
MOVE.W #32,-(A7)
7+
TRAP #1
8+
ADDQ.L #6,A7
9+
MOVE.L D0,STACK
10+
MOVE.L #MY,A7
11+
12+
* SAVE VECTORS AND OTHER SHIT
13+
14+
LEA STORAGE,A0
15+
MOVE.L $70.W,(A0)+
16+
MOVE.L $120.W,(A0)+
17+
MOVE.B $FFFFFA1B.W,(A0)+
18+
MOVE.B $FFFFFA21.W,(A0)+
19+
MOVE.B $FFFFFA07.W,(A0)+
20+
MOVE.B $FFFFFA09.W,(A0)+
21+
MOVE.B $FFFFFA13.W,(A0)+
22+
ADDQ.L #1,A0 MAKE ADDRESS EVEN
23+
MOVE.W $FFFF8240.W,(A0)+
24+
MOVE.W $FFFF8242.W,(A0)+
25+
26+
MOVE.W #2,-(A7)
27+
TRAP #14
28+
ADDQ.L #2,A7
29+
MOVE.L D0,PHYSIC
30+
31+
MOVE.W #3,-(A7)
32+
TRAP #14
33+
ADDQ.L #2,A7
34+
MOVE.L D0,LOGIC
35+
36+
MOVE.W #4,-(A7)
37+
TRAP #14
38+
ADDQ.L #2,A7
39+
MOVE.W D0,RES
40+
41+
* HIDE MOUSE
42+
43+
DC.W $A000
44+
DC.W $A00A
45+
46+
* SET SCREEN ADDRESS, LOW RES
47+
48+
CLR.W -(A7) LOW RES
49+
PEA $70000 PHYSICAL SCREEN ADDRESS
50+
PEA $70000 LOGICAL SCREEN ADDRESS
51+
MOVE.W #5,-(A7)
52+
TRAP #14
53+
LEA 12(A7),A7
54+
55+
* FILL SCREEN WITH COLOUR 1 (VERTICAL LINE PATTERN)
56+
57+
LEA $70000,A0
58+
MOVE.W #64000/8-1,D0 TWO SCREENS LENGTH
59+
FILL MOVE.L #$F0F00000,(A0)+
60+
MOVE.L #0,(A0)+
61+
DBF D0,FILL
62+
CLR.W $FFFF8240.W
63+
MOVE.W #$777,$FFFF8242.W
64+
65+
* SET UP NEW VECTORS
66+
67+
MOVE.W #$2700,SR STOP INTERRUPTS
68+
MOVE.L #VBL,$70.W NEW VBL VECTOR
69+
MOVE.L #TIMER_B,$120.W NEW TIMER B INTERRUPT HANDLER
70+
CLR.B $FFFFFA07.W MFP RESET
71+
CLR.B $FFFFFA09.W
72+
ORI.B #1,$FFFFFA07.W ENABLE TIMER B
73+
ORI.B #1,$FFFFFA13.W
74+
CLR.B $FFFFFA1B.W STOP TIMER B
75+
MOVE.W #$2300,SR ENABLE INTERRUPTS
76+
WAIT CMPI.B #57,$FFFFFC02.W SPACE BAR?
77+
BNE WAIT
78+
79+
* RESTORE VECTORS AND SHIT
80+
81+
MOVE.W #$2700,SR
82+
LEA STORAGE,A0
83+
MOVE.L (A0)+,$70.W
84+
MOVE.L (A0)+,$120.W
85+
MOVE.B (A0)+,$FFFFFA1B.W
86+
MOVE.B (A0)+,$FFFFFA21.W
87+
MOVE.B (A0)+,$FFFFFA07.W
88+
MOVE.B (A0)+,$FFFFFA09.W
89+
MOVE.B (A0)+,$FFFFFA13.W
90+
ADDQ.L #1,A0
91+
MOVE.W (A0)+,$FFFF8240.W
92+
MOVE.W (A0)+,$FFFF8242.W
93+
94+
* SHOW MOUSE
95+
96+
DC.W $A000
97+
DC.W $A009
98+
MOVE.W #$2300,SR
99+
100+
* SET SCREEN ADDRESS, INTO USER MODE AND EXIT
101+
102+
MOVE.W RES,-(A7)
103+
MOVE.L PHYSIC,-(A7)
104+
MOVE.L LOGIC,-(A7)
105+
MOVE.W #5,-(A7)
106+
TRAP #14
107+
LEA 12(A7),A7
108+
109+
MOVE.L STACK,-(A7)
110+
MOVE.W #32,-(A7)
111+
TRAP #1
112+
ADDQ.L #6,A7
113+
CLR.L -(A7)
114+
TRAP #1
115+
116+
* VBL INTERRUPT HANDLER
117+
118+
VBL CLR.B $FFFFFA1B.W STOP TIMER B
119+
MOVE.B #199,$FFFFFA21 OCCUR ON LAST SCANLINE
120+
MOVE.B #8,$FFFFFA1B.W START TIMER B
121+
RTE PISS OFF
122+
123+
TIMER_B CLR.B $FFFFFA1B.W STOP TIMER
124+
MOVEM.L D0/A0,-(A7)
125+
MOVEA.W #$FA21,A0
126+
MOVE.B #200,(A0)
127+
MOVE.B #8,$FFFFFA1B.W START TIMER
128+
MOVE.B (A0),D0
129+
WAIT2 CMP.B (A0),D0
130+
BEQ WAIT2
131+
CLR.B $FFFF820A.W INTO 60 HZ
132+
MOVEQ.L #2,D0
133+
LOOP1 NOP
134+
DBF D0,LOOP1
135+
MOVE.B #2,$FFFF820A.W INTO 50 HZ
136+
MOVEM.L (A7)+,D0/A0
137+
BCLR #0,$FFFFFA0F.W ACKNOWLEDGE
138+
RTE BUGGER OFF
139+
140+
STORAGE DS.B 18
141+
DS.L 63
142+
MY DS.L 1
143+
RES DS.W 1
144+
LOGIC DS.L 1
145+
PHYSIC DS.L 1
146+
STACK DS.L 1
147+

0 commit comments

Comments
 (0)