1 ;Dogs
of war demo by OnlyMe
(now called I440r
:)
2 ;-------------------------------------------------------------------------
4 ;Assembles
with A386
.COM
(Registered A86
).
6 ;-------------------------------------------------------------------------
9 MaxPoints equ
125 ;Maximum number
of points
in an object
10 BumpMap equ Bumps
+320 ;Pointer to second scan line
of bump map
11 SpotX equ
160 ;Position
of static bump map spotlight
14 ;-------------------------------------------------------------------------
15 ;A based structure
(See A86 documentation
for explanation
)
17 struc
[bx
] ;Structure does
NOT need a name
18 Counter dw ?
;Countdown to change
19 Reset dw ?
;Counter reset value
20 Position dw ?
;Points to item being modified
21 Delta dw ?
;Speed
of change
(also direction
)
22 Upper dw ?
;Upper limit
for position
23 Lower dw ?
;Lower limit
for position
26 ;-------------------------------------------------------------------------
31 XAngle dw ?
;Angles
of rotation
for each axis
32 YAngle dw ?
; higher numbers rotate faster
35 X dw ?
;Coordinates
of point being calculated
39 XSin dw ?
;Sin
and Cos
for each axis angle
of rotation
46 NumPoints dw ?
;Number
of points
in current object
49 Trail1
: dw
125 dup ?
;Display address
of previous
8 positions
for
50 Trail2
: dw
125 dup ?
; each point being rotated
. We only erase a
51 Trail3
: dw
125 dup ?
; points
8'th previous position
. This makes
52 Trail4
: dw
125 dup ?
; the points leave a trail
7 pixles long
58 CharP dw ?
;Pointer to font def
for scrollie char
59 BumpX dw ?
;Bump map coordinates being calculated
62 ;-------------------------------------------------------------------------
63 ;A copy
of the ROM font moved here so we can reference it using DS
67 ;-------------------------------------------------------------------------
70 ; The following buffer
is the whole
of the bump map
. There
is 1 scan
71 ;line
of ZERO data above
and below the area that will contain the bumps
.
73 ;Therefore the bumpmap
is at Bumps
+320 (See Equates Above
)
75 Bumps
: db
320*18 dup ?
77 ;-------------------------------------------------------------------------
85 ;-------------------------------------------------------------------------
86 ;Pre initialised data
...
88 Shape dw Cube
;Pointer to current object
90 HalfH dw
160 ;Screen coordinates
for centre
of object
93 XOff dw
150 ;Position
of object
in world space
97 DeltaX dw
5 ;Rotational speeds on each axis
101 ;-------------------------------------------------------------------------
102 ;Modifiers
: Tables follows this format
: (as per above based structure
)
104 ; Counter Count down to next speed
/position change
105 ; Retet Value to reset counter to
106 ; Position Pointer to data item to modify
107 ; Delta Ammount to change item
(also direction
)
108 ; Upper Upper limit fot item
109 ; Lower Lower limit
for item
111 W1
: dw
30,30,offset DeltaX
,2,15,2 ;Modifies X Rotational speed
112 W2
: dw
20,20,offset DeltaY
,-2,12,4 ;Modifies Y Rotational speed
113 W3
: dw
40,40,offset DeltaZ
,2,10,7 ;Modifies Z Rotational speed
114 W4
: dw
02,02,offset ZOff
,-3,800,180 ;Zooms object
in and out of screen
116 ;-------------------------------------------------------------------------
117 ;Bump mapped scrollie banner text stuffz
119 Bannerp dw Banner
;Points to next
character
120 CharColumn db
080 ;Mask
for next colunn
of font def
123 db
' *** The Dogs Of WAR demo by OnlyMe! *** '
127 db
'Oh the dogs they had a meeting '
128 db
'They came from near and far '
129 db
'And some dogs came by motor bus '
130 db
'And some by motor car '
136 db
'On entering the meeting hall '
137 db
'Each dog could take a look '
138 db
'Where he had to hang his asshole '
139 db
'Up high upon a hook '
145 db
'And when they were assembled '
146 db
'Each canine son and sire '
147 db
'Some dirty bulldog son of a bitch '
148 db
'Jumped up and hollared FIRE '
154 db
'All was in a panic '
155 db
'Twas hell upon to look '
156 db
'Each doggie grabbed at random '
157 db
'An asshole from a hook '
163 db
'Now the assholes were all mixed up '
164 db
'Which made each doggie sore '
165 db
'To have to wear another dogs ass '
166 db
'He''d never worn before '
172 db
'And that is why until this day '
173 db
'A dog will drop a bone '
174 db
'To go and smell another dogs ass '
175 db
'To see if it''s his OWN! '
177 db
'*** THE END *** ??? '
178 db
'Now what have i forgotz ???? '
179 db
'ERM..... Oh Yea.... '
181 db
'Greetings *** ROTATE *** Out To ~~~~~~ '
187 db
'Catgirl - Jeg Elsker DEG - Purrrrrrrrrrrrr :) '
188 db
'Myriaam - Cute Sexy BABE Princess DOLL :) - heheheheheh - '
189 db
'okokokokokokokokokokokokokokokokokokokokokokokokokok '
190 db
'LuvrsCrs - Manager''ess and savior''ess of UnderNUT #CODERS '
197 db
'Unf - Fatar - Debonaire - Isomer - Hexsane & MrsHex - '
198 db
'nop - mole - oreo - RatKing - \hatred\ - KBerg - '
199 db
'RyanT - Mafia - Yosha - Jungle - Fid - Binary - '
200 db
'PRIM8 - IiTM - Topanga - Tig2 - deRanged - RuneStar - '
201 db
'_RyAn_ - DaParasit - Spansh - CodeX - Wicked - '
202 db
'Likwid - KingTroll - tpanther - ED_Lead - Reptile - '
208 db
'Noidea - ^Para^ - Wh0is - Chiew - [QWORD] - LoneWolf - '
209 db
'DaveDavis - PsYkOtIk - ^Ion^ - Weathros - LittleLoc - '
210 db
'MissMilla - Centmo - Entlin - CreepGuy - eom - Xico - '
211 db
'^Axe^ & Sturnella - Almighty - o - Zyklon - hammr - '
213 db
'MarkIII (Hi Dad) - Diamond1 & Mermaid1 (Hi Sis1 and Sis2 :) - '
219 db
'Snoo - Queen1 & Truely - Shama - Pink^Rose - Divebum - '
220 db
'DEWDROP - KaDaM2 - Freakmama - mr007 - SIOK - Alih - '
221 db
'Asterix - MoKie - Rats - RoadRoach - masdale - mystie - '
223 db
'e|ectricTom - Techa^ - TX-Cowboy - buch - luth - '
229 db
'BaBs - Ratty - Lexzy - PJ - Blondii - dew - Kittie - '
230 db
'^Kristi - strawbery - grlafraid - Krystal1 - ortho - '
231 db
'Danni_ - Anne^ - brokngrl - keldog - AnGelDevo - '
232 db
'^DE^ - Avantyful & Niece babe :) - mauddib - lil_miss - '
233 db
'Eche & Godis^ hehehehe - lowlife - X & W - '
234 db
'******** And Everyone else OnlyMe! dun MISSED '
235 db
'*** THE END IS NOT NEIGH *** '
236 db
'---====*** Begin Again ---> ',0
240 ;-------------------------------------------------------------------------
244 mov ax
,013 ;VGA GFX mode
= 320 x
200 x
256
247 mov cx
,(320*18)/2 ;Erase bump map buffer
252 call GetPalette
;Create shaded palette
253 call GetFont
;Read font data
out of ROM into current DS
254 call InitScroll
;Point to font data
for first char
of banner
256 mov ax
,0a000
;Point ES
at video segment
260 call ChangeAngles
;Get next angle
of rotation
for all axis
261 call GetSinCos
;Calculate Sin
and Cos
for all rotation angles
262 call DoFrame
;Rotate
all points
of shape
and display
263 call DoScroll
;Scroll text through bump map buffer
264 call DoBump
;Bump map scrolly text
and display it
265 call Retrace
;Wait
for next raster frame
266 call ErasePoints
;Erase
all pixles that are
8 frames old
267 call DoDeltas
;Modify rotational speeds etc
269 in al
,060 ;Read keyboard port
270 cmp al
,081 ;Escape key released?
273 ;-------------------------------------------------------------------------
276 mov ax
,3 ;Back to textmode
278 mov ah
,2 ;Place cursor
at bottom left
of display
285 mov ah
,04c
;Return control to dos
288 ;-------------------------------------------------------------------------
289 ;Do one frame
of rotating object
. Calculate
and plot
all points
291 ;DI points to first trail buffer
. We store the address
of every pixle
292 ;we write into this buffer
. When it comes time to erase these pixles we
293 ;do not need to recalculat them
. We just collect the address
!
296 xor ch
,ch
;Clear hi byte
of loop counter
297 xor di
,di
;Point to start
of trail buffer
298 mov si
,[Shape
] ;Point to object to be rotated
299 mov cl
,[si
] ;Get number
of points
300 mov NumPoints
,cx
;We need this count later too
...
303 movsx ax
,[si
] ;Get X coordinate
of point
305 movsx ax
,[si
+1] ;Get Y coordinate
307 movsx ax
,[si
+2] ;Get Z coordinate
309 call Rotate
;Rotate point
in 3d
310 call Draw
;Draw this point
311 add si
,3 ;Point to next point
312 add di
,2 ;point to next slot
of trail buffer
317 ;-------------------------------------------------------------------------
318 ;Project a single XYZ point into
2D space on screen
321 mov ax
,[YOff
] ;YOff
* Y
/ Z
+ZOff
= Screen Y
326 add ax
,[HalfV
] ;Centre object on screen
328 cmp dx
,0 ;Clip this pixle
if outside display area
333 mov bx
,320 ;Calculate
320 * Y
...
338 mov ax
,[XOff
] ;XOff
* X
/ Z
+ ZOff
= Screen X
342 add bp
,[ZOff
] ;Distance
346 cmp dx
,0 ;Clip pixle
if outside display area
353 mov ax
,-1 ;Generate colour
for point based on X Y
and Z axis
355 xor ax
,[X
] ;Divides cube into
8 smaller cubes
and alternates
356 or ax
,[Y
] ; light
/dark
(opposite corners same shade
)
358 add ax
,[X
] ;This addition makes the cube stripey man
:)
361 es mov
[bx
],al
;Place a dot
with color al
362 mov Trail8
[di
],bx
;Save address
for erase
365 ;-------------------------------------------------------------------------
366 ;Erase pixles that are
8 frames old
.
368 ;Every time a pixles
is drawn to the display we remember its video
369 ;offset
(address
). This saves time
when we want to erase that dot
370 ;because we dont need to recalculate the address given an XYZ
376 mov bx
,Trail8
[di
] ;Pixles added to display on THIS frame
377 ; es dec b
[bx
] ; Make them less bright
378 xchg bx
,Trail7
[di
] ;Pixles one frame old
379 ; es dec b
[bx
] ; Make them less bright
380 xchg bx
,Trail6
[di
] ;Etc
...
390 xchg bx
,Trail1
[di
] ;Pixles
8 frames old
391 es mov b
[bx
],0 ;Erase them
397 ;-------------------------------------------------------------------------
398 ;Rotate a single point
in 3D space
401 push cx
;Need to keep this
....
403 ;Rotate object about X axis
(changes Y
and Z
)
405 ;Y
' = Y * Cos(Xang) - Z. Sin(Xang)
406 ;Z' = Y
* Sin
(Xang
) + Z
. Cos
(Xang
)
408 movsx eax
,[Z
] ;Get Z
* Sin
(X
)
411 mov ecx
,eax
;Save
in cx
...
412 movsx eax
,[Y
] ;Get Y
* Cos
(x
)
415 sub eax
,ecx
;Get Y
* Cos
(X
) - Z
* Sin
(X
)
416 sar eax
,14 ;Sin
and Cos Table values are scaled up
417 mov bp
,ax
; by
16384. SHR scales results back down
419 ;We just calculated our
new Y coordinate
. We cant yet overwrite the old
420 ;Y because we still need it to calculated the
new Z
422 movsx eax
,[Z
] ;Get Z
* Cos
(X
) Exact opposite
of above
!
425 mov ecx
,eax
;Save value
...
426 movsx eax
,[Y
] ;Get Y
* Sin
(X
)
429 add eax
,ecx
;Get Y
* Sin
(X
) + Z
* Cos
(X
)
430 sar eax
,14 ;Scale results down by
16384
432 mov
[Y
],bp
;Set newly calculated Y
and Z coordinates
435 ;Rotate point
in Y axis
437 ;X
' = X * Cos(Yang) - Z * Sin(Yang)
438 ;Z' = X
* Sin
(Yang
) + Z
* Cos
(Yang
)
440 movsx eax
,[Z
] ;Following code
is very similar to above
.
441 movsx ebx
,[YSin
] ;It rotates the point
in the Y axis
442 imul ebx
;I
.E
. It calculates
new X
and Z
449 mov bp
,ax
;Save
new X coord
451 movsx eax
,[Z
] ;Calculate Z
461 mov
[X
],bp
;Set
new X
and Z
for point
464 ;Rotate objecct along Z axis
466 ;X
' = X * Cos(Zang) - Y * Sin(Zang)
467 ;Y' = X
* Sin
(Zang
) + Y
* Cos
(Zang
)
469 movsx eax
,[Y
] ;Hmmm isnt this
... the same
, arent we just
470 movsx ebx
,[ZSin
] ;doing the same
, calculations on
in exactly
471 imul ebx
;The same
, way but using different
472 mov ecx
,eax
;Variables? Couldnt we optimise here ???
474 movsx ebx
,[ZCos
] ;Answer
...
476 sub eax
,ecx
;Yes
! But that
is a space optimisation
477 sar eax
,14 ;Not a speed optimisation
. The INLINE
478 mov bp
,ax
;method
is faster
480 movsx eax
,[Y
] ;There
is also a much better way to
do this
481 movsx ebx
,[ZCos
] ;that
is both smaller
and faster
.
483 mov ecx
,eax
;I
.E
. Use a Matrix to rotates points
484 movsx eax
,[X
] ;This however
is much easier to follow
485 movsx ebx
,[ZSin
] ;and MAFFZ wuzz never my strong suit
:)
487 add eax
,ecx
;Maybe
if this gets too
.. slow ill
use
488 sar eax
,14 ;matricies tho
:)
495 ;-------------------------------------------------------------------------
496 ;calculate
new angles
of rotation
for all points
(to angles
)
498 ;We
do NOT rotate a point by
1 degree on one frame
and then rotate that
499 ;rotated point by
1 degree
in the next
. We rotate by
1 degree
in the
500 ;first frame
, by
2 in the next
, by
3 in the next etc
.
502 ;Every time a point
is rotated there
is a slight ammount
of error
in our
503 ;calculation
. If we rotated previously rotated points we would accumulate
504 ;errors on each rotation
of the point
and our object would distort
.
506 ;By rotating the SAME points
(i
.e the original shape
) on every frame but
507 ;by different ammounts each time
, we never distort our shape by more
508 ;than ONE rotations worth
of error
(which u cant see
:)
511 mov ax
,[DeltaX
] ;Adjust X angles
of rotation
513 mov ax
,[DeltaY
] ;And Y
515 mov ax
,[DeltaZ
] ;And Z
519 ;-------------------------------------------------------------------------
520 ;Get Sin
and Cos
of all 3 angles
of rotation
.
523 mov ax
,[XAngle
] ;Get angle
524 call SinCos
;Get Sin
and Cos
525 mov
[XSin
],ax
;Save em
!
528 mov ax
,[YAngle
] ;Same but different
:)
533 mov ax
,[ZAngle
] ;Same but different
:)
539 ;-------------------------------------------------------------------------
540 ;This moves a value between two limits
at a specific rate
.
542 ;This code uses the structure defined
at the top
of the source file
.
544 ;The structure
is defined as
...
548 ;This makes the address
in BX the base
of the structure
. A86 now allows
549 ;us to just name the structure element without reference to BX
, This makes
550 ;the code easier to read
if you understand the mechanism but impossible to
551 ;follow
if you dont
:)
553 ;Where you see a something like
563 mov bx
,W1
;Modify X rotation
565 mov bx
,W2
;Modify Y rotation
567 mov bx
,W3
;Modify Z rotation
569 mov bx
,W4
;Zoom
in and out
572 dec Counter
;Count down to next change
574 mov ax
,Reset
;Counter hit ZERO
. Reset it
576 mov ax
,Delta ;Get rate
. of change
(also direction
)
577 mov si
,Position
;Get pointer to variable to modify
578 add ax
,[si
] ;Add
delta to variable
579 mov
[si
],ax
;Store back
580 cmp ax
,Upper
;Did variable reach upper limit?
583 neg
Delta ;Change direction
!
586 cmp ax
,Lower
;Did variable reach lower limit?
590 ;-------------------------------------------------------------------------
591 ;MOA
's bump mapping routine
. (Yea im uzing this again hehe I like it
:)
592 ;-------------------------------------------------------------------------
595 mov ax
,0a000
;Point to video
598 mov si
,BumpMap
+320*16 ;Point to
end of last line
of bumpmap
600 mov di
,16 ;16 scan lines
605 ;-------------------------------------------------------------------------
608 mov ax
,320-2 ;320 Pels per scan
614 mov ax
,-1[si
] ;Look
... No spotlight
:) (Addition by OnlyMe
)
621 xor ah
,ah
;Clear scratch registers
623 mov al
,[si
+1] ;Read bump heights to left
and right
of this bump
625 sub ax
,bx
;Compute differenct
626 sub ax
,BumpX
;I think this gets a
2D normal
(erm
)
629 sub ax
,dx
;But Maff izznt my strong suit
638 xor ah
,ah
;When i understand how this code actually
639 xor bh
,bh
; works ill add propper comments
. Maybe someone
640 mov al
,[si
+0141] ; can fill me
in eh
661 es mov
0e600
-BumpMap
[si
],al
673 ;-------------------------------------------------------------------------
676 xor si
,si
;First pixle row
in current column
678 mov bx
,BumpMap
;Erm
... Actually
.... This
is wrong
... hehehe
679 mov bp
,[CharP
] ;Point to characters font data
680 mov dh
,b
[CharColumn
] ;Get column mask
682 xor cx
,cx
;Assume no bumps
(0 pixle
)
683 mov al
,[bp
+si
] ;Get
character row from font
684 and al
,dh
;Mask
out all but current column
685 if nz mov cx
,03030 ;Raise bumps
686 mov
[bx
],cx
;Write double width pixle
687 mov
320[bx
],cx
;Double height too
!
690 cmp si
,8 ;Font
is 8 by
8
696 mov si
,BumpMap
;Scroll bumpmap
2 pixles left
697 mov di
,si
;pixles
at far left move to far right hehehe
702 ror CharColumn
,1 ;Shift row mask
1
703 jnc short ret
;Wrap round
and compute next char
706 mov si
,[BannerP
] ;Get pointer to next char
in banner
707 test b
[si
] ;End of text?
718 lodsb
;Get text
character
720 shl ax
,3 ;Compute chars ROM offset
722 mov CharP
,ax
;Points to font data
for character
725 ;-------------------------------------------------------------------------
726 ;Get a copy
of the font data
out of ROM into default DS
729 mov ax
,0f000
;Point to ROM
731 mov si
,0fa6e
;Offset to font data
in ROM
739 ;-------------------------------------------------------------------------
740 ;Write a KEWL purple palette
(Shut Up
! I like PuRplE
:P
)
743 mov dx
,03C8
;Write
new palette
749 mov al
,cl
;Select colour number to updata
752 out dx
,al
;Write Green
(Zero
)
754 out dx
,al
;Write Blue
759 ;-------------------------------------------------------------------------
760 ;Shape structure defined as
....
762 ; db number
-of-points
763 ; db x
,y
,z
of first point
764 ; db x
,y
,z
... of rest
768 db
-35,-35,-35,-35,-35,-15,-35,-35, 05,-35,-35, 25,-35,-35, 45
769 db
-35,-15,-35,-35,-15,-15,-35,-15, 05,-35,-15, 25,-35,-15, 45
770 db
-35, 05,-35,-35, 05,-15,-35, 05, 05,-35, 05, 25,-35, 05, 45
771 db
-35, 25,-35,-35, 25,-15,-35, 25, 05,-35, 25, 25,-35, 25, 45
772 db
-35, 45,-35,-35, 45,-15,-35, 45, 05,-35, 45, 25,-35, 45, 45
773 db
-15,-35,-35,-15,-35,-15,-15,-35, 05,-15,-35, 25,-15,-35, 45
774 db
-15,-15,-35,-15,-15,-15,-15,-15, 05,-15,-15, 25,-15,-15, 45
775 db
-15, 05,-35,-15, 05,-15,-15, 05, 05,-15, 05, 25,-15, 05, 45
776 db
-15, 25,-35,-15, 25,-15,-15, 25, 05,-15, 25, 25,-15, 25, 45
777 db
-15, 45,-35,-15, 45,-15,-15, 45, 05,-15, 45, 25,-15, 45, 45
778 db
05,-35,-35, 05,-35,-15, 05,-35, 05, 05,-35, 25, 05,-35, 45
779 db
05,-15,-35, 05,-15,-15, 05,-15, 05, 05,-15, 25, 05,-15, 45
780 db
05, 05,-35, 05, 05,-15, 05, 05, 05, 05, 05, 25, 05, 05, 45
781 db
05, 25,-35, 05, 25,-15, 05, 25, 05, 05, 25, 25, 05, 25, 45
782 db
05, 45,-35, 05, 45,-15, 05, 45, 05, 05, 45, 25, 05, 45, 45
783 db
25,-35,-35, 25,-35,-15, 25,-35, 05, 25,-35, 25, 25,-35, 45
784 db
25,-15,-35, 25,-15,-15, 25,-15, 05, 25,-15, 25, 25,-15, 45
785 db
25, 05,-35, 25, 05,-15, 25, 05, 05, 25, 05, 25, 25, 05, 45
786 db
25, 25,-35, 25, 25,-15, 25, 25, 05, 25, 25, 25, 25, 25, 45
787 db
25, 45,-35, 25, 45,-15, 25, 45, 05, 25, 45, 25, 25, 45, 45
788 db
45,-35,-35, 45,-35,-15, 45,-35, 05, 45,-35, 25, 45,-35, 45
789 db
45,-15,-35, 45,-15,-15, 45,-15, 05, 45,-15, 25, 45,-15, 45
790 db
45, 05,-35, 45, 05,-15, 45, 05, 05, 45, 05, 25, 45, 05, 45
791 db
45, 25,-35, 45, 25,-15, 45, 25, 05, 45, 25, 25, 45, 25, 45
792 db
45, 45,-35, 45, 45,-15, 45, 45, 05, 45, 45, 25, 45, 45, 45
796 db
-35,-35, 05,-35,-15, 05,-35, 05, 05,-35, 25, 05,-35, 45, 05
797 db
-15,-35, 05,-15,-15, 05,-15, 05, 05,-15, 25, 05,-15, 45, 05
798 db
05,-35, 05, 05,-15, 05, 05, 05, 05, 05, 25, 05, 05, 45, 05
799 db
25,-35, 05, 25,-15, 05, 25, 05, 05, 25, 25, 05, 25, 45, 05
800 db
45,-35, 05, 45,-15, 05, 45, 05, 05, 45, 25, 05, 45, 45, 05
801 db
05,-35,-35, 05,-35,-15, 05,-35, 25, 05,-35, 45,-35, 05,-35
802 db
05,-15,-35, 05,-15,-15, 05,-15, 25, 05,-15, 45,-15, 05,-35
803 db
05, 05,-35, 05, 05,-15, 05, 05, 25, 05, 05, 45, 05, 05,-35
804 db
05, 25,-35, 05, 25,-15, 05, 25, 25, 05, 25, 45, 25, 05,-35
805 db
05, 45,-35, 05, 45,-15, 05, 45, 25, 05, 45, 45, 45, 05,-35
806 db
-35, 05,-15,-35, 05, 25,-35, 05, 45,-15, 05,-15,-15, 05, 25
807 db
-15, 05, 45, 05, 05,-15, 05, 05, 25, 05, 05, 45, 25, 05,-15
808 db
25, 05, 25, 25, 05, 45, 45, 05,-15, 45, 05, 25, 45, 05, 45
812 db
-35,-35,-35,-35,-35, 45, 45, 45,-35, 45, 45, 45, 5,-35, 5
817 db
-35,-35,-35,-35,-15,-35,-35, 05,-35,-35, 25,-35,-35, 45,-35
818 db
-15,-35,-35,-15,-15,-35,-15, 05,-35,-15, 25,-35,-15, 45,-35
819 db
05,-35,-35, 05,-15,-35, 05, 05,-35, 05, 25,-35, 05, 45,-35
820 db
25,-35,-35, 25,-15,-35, 25, 05,-35, 25, 25,-35, 25, 45,-35
821 db
45,-35,-35, 45,-15,-35, 45, 05,-35, 45, 25,-35, 45, 45,-35
825 db
-35,-15,-35,-35, 25,-35,-15,-35,-35,-15,-15,-35,-15, 05,-35
826 db
-15, 25,-35,-15, 45,-35, 05,-35,-35, 05,-15,-35, 05, 05,-35
827 db
05, 25,-35, 05, 45,-35, 25,-15,-35, 25, 05,-35, 25, 25,-35
829 db
-30,-10,-30,-30, 20,-30,-10,-30,-30,-10,-10,-30,-10, 00,-30
830 db
-10, 20,-30,-10, 40,-30, 00,-30,-30, 00,-10,-30, 00, 00,-30
831 db
00, 20,-30, 00, 40,-30, 20,-10,-30, 20, 00,-30, 20, 20,-30
834 ;-------------------------------------------------------------------------
835 ;I discovered this one completely by accident
. I moved a table from the
836 ;end of this file to somewhere up there
... but forgot to move the label
837 ;(hehehe
). I was therfor referencing a table that
is INCLUDED here by my
838 ;assembler
. It had lotsa junk
in with it
at first but i cleaned that
out
839 ;and this was the result
. I love this object
:) its KEWKL hehehe
!
843 db
000,000,019,000,005,019,000,014,001,000,032,000,000,07D
,000
844 db
000,0C9
,000,001,05F
,001,001,0AB
,001,001,0F6
,001,002,041,002
845 db
002,08D
,002,002,0D8
,002,003,023,003,003,005,004,003,06F
,003
846 db
003,0BA
,003,004,051,004,004,09C
,004,004,0E7
,004,005,013,006
847 db
005,032,005,005,07D
,005,005,0C8
,005,006,05E
,006,006,0A9
,006
848 db
006,0F4
,006,007,03F
,007,007,08A
,007,007,0D5
,007,008,000,009
849 db
008,020,008,008,06B
,008,008,0B5
,008,009,04B
,009,009,095,009
850 db
009,0E0
,009,00A
,009,00B
,00A
,02A
,00A
,00A
,075,00A
,00A
,0BF
,00A
851 db
00B
,054,00B
,00D
,007,026,00F
,002,028,019,009,032,01E
,004,037
852 db
022,00B
,03B
,02C
,006,045,02D
,001,046,039,008,052,03D
,003,056
853 db
043,00A
,05C
,04B
,000,064,04B
,005,064,058,007,071,05B
,002,074
854 db
064,009,07C
,084,008,09C
,088,003,0A1
,08D
,00A
,0A6
,096,000,0AF
855 db
096,005,0AF
,0A3
,007,0BC
,0A6
,002,0BF
,0AE
,009,0C7
,0B5
,004,0CE
856 db
0C2
,006,0DB
,0C4
,001,0DD
,0CE
,008,0E7
,0D3
,003,0EC
,0D8
,00A
,0F1
857 db
0E1
,005,0FA
,0E2
,000,0FB
,0EE
,007,007,0F1
,002,00A
,0F9
,009,011
859 ;=========================================================================