;;; originally released in the nov 94 acid pack. This source
;;; released in the dec 94 pack. I compiled using Tasm v3.1 and Tlink v3.0
;;; i dunno what will happen with diff compilers.
;;;
;;; NOTE: i got a warning message with the make.bat that i am including.
;;; I don't remember if i had that in the original release. i am not sure if
;;; it is causing any problems, and i wish it wasn't there, but i lost the
;;; original make.bat when my HD farted. Oh well, it don't make a shit.
;;;
;;; Comments and Criticism should be directed to wmonkey@ucsd.edu
;;;
;;; Call my BBS! frappé (619) 535-1929
;;; Heavy on the source code, demos, and shit like that.
;;; no ratios, no warez, no lamers, no nup.
DOSSEG
.MODEL large
.STACK 40h
extrn _hscplayer :FAR
.DATA ;holdsdata
;;sine data. don't ask
sines db 1,1,1,1,0,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,2,1,1,2,1,2,1,2,2,1,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,1,2,2,1,2,1,2,1,1,2,1,1,1,1
sineslen equ 100
include pump2.inc ;;COOL picture by Cat of ACiD!
;include pal.inc ;;pallette is in pump2.inc
include credz.inc ;;credz
;;;ATTENTION PEOPLE! IF I SEE ONE DICKWEED CHANGE THE TEXT OF THE SCROLLER
;;;BELOW AND THEN RELEASE THIS LOADER FOR HIS PIECE OF SHIT LITTLE GROUP
;;;I WILL BE VERY PISSED. AND I WILL NEVER, EVER RELEASE SOURCE CODE AGAIN.
;;;THIS SOURCE CODE RELEASED FOR LEARNING PURPOSES ONLY. DON'T BE A LAMER!
scrollstop equ (60*8)*12 ;;funky yes. but fuck you.
scrolltext db " ACiD presents ACiDween! Fizuck! This ween "
db "we are sending greetz to all the other groups out there. Gre"
db "eetz go to da phat doggs at iCE, RELiC, UNiON, Surprise! Pro"
db "ductions, Future Crew, and all of dem nutty euro coders. Oh "
db "and all the cool guys in VLA.... This ween we are "
db "using M-80's to chase kids off the porch! Personal greetz "
db "from me, Wonder Monkey, go out to GWoP, Mr.Fab, Sushi X, Kas"
db "ka F. Kaska, Twink, P-Chan, Lord Jazz, Rad Man, Somms, the g"
db "reat new artist -Cat- , who drew this pumpkin for me, and a"
db "ll the little fuckers that have asked me for loaders recentl"
db "y. Ah. Hrm, this music is definately confused. Shat. "
db "---COOL--- ::::hmmmmmmm. K-RaD. lets loop this mofo..:..:"
scrollofs dw 0
scroll db 200 dup (0)
.CODE
.386
include ray09.dat ;;dats the music
;=============MAIN!============
START:
mov ax,@data
mov ds,ax
mov ax,0A000h ;video area baybe
mov es,ax
mov ax,13h
int 10h ;set videomode 13h
lea si,pal ;put first spank into si
mov cx,palnum ;want to get all the colors!
setcolor:
mov dx,03c8h ;set up index
lodsb ;load color #
out dx,al ;put #of byte to modufy (al) into port (at dx)
inc dx
lodsb ;load red
out dx,al ;put red
lodsb ;load green
out dx,al ;put green
lodsb ;load blue
out dx,al ;put blue
loop setcolor ;do for all colors...
mov cx,200 ;clear the other 200 to black
setcolorx:
mov dx,03c8h ;set up index
mov al,cl
add al,55
out dx,al ;put #of byte to modufy (al) into port (at dx)
inc dx
xor al,al
out dx,al ;put red
out dx,al ;put green
out dx,al ;put blue
loop setcolorx ;do for all colors...
;----HSC stuff
push es
push cs
pop es
xor ah,ah
xor bx,bx
lea si,ds:music
call _hscplayer
pop es
;█████████▌Wave▐█████████
xor bx,bx
xor ah,ah
mov di,320-64+32
mov dh,0
@@do_all_lines:
lea si,sines
add si,bx
mov al,ds:[si]
add di,ax
mov dl,0 ;y num
@@do_one_line:
mov cx,4 ;x num
mov al,dh
shr al,3 ;divide by 8
shl al,3 ;mult by 8
add al,dl ;
add al,55
rep stosb
inc dl
cmp dl,8
jnz @@do_one_line
inc bl
cmp bl,sineslen
jnz @@its_really_kosher
xor bl,bl
@@its_really_kosher:
inc dh
add di,320-33
cmp dh,200
jnz @@do_all_lines
mov cx,pumpy
mov di,0
lea si,pump
mov dx,pumpx ;make copy of BX in dx.
@@1:
mov bx,dx
@@2:
movsb
dec bx ;decrement x counter
jnz @@2 ;have we done a whole row?
add di,320 ;ya..so we'd better
sub di,dx ; ...get to the start of the next
loop @@1 ;loop. (y val in CX.. works out ok)
main:
;;;VERT RETRACE■■■■■■
mov cx,3
@@SLOWITDOWN:
mov dx,3dah ;Vertical Retrace ;
@@retrx1: ; ;
in al,dx ; ;
test al,08h ; ;
jz @@retrx1 ; ;
@@retrx2: ; ;
in al,dx ; ;
test al,08h ; ;
jnz @@retrx2 ; end of VR ;
loop @@SLOWITDOWN
lea si,scroll
mov cl,55 ;want to get all the colors!
xsetcolorx:
mov dx,03c8h ;set up index
mov al,cl
out dx,al ;put #of byte to modufy (al) into port (at dx)
inc dx
lodsb
out dx,al ;put red
shl al,1
out dx,al ;put green
xor al,al
out dx,al ;put blue
inc cl
cmp cl,255
jnz xsetcolorx
;█████████▌Scroll▐█████████
push es ;save copy
push ds
push ds
pop es
lea si,scroll
lea di,scroll
add si,8
mov cx,(200-8)
rep movsb
mov ax,0f000h
mov es,ax
lea si,scrolltext
mov ax,[scrollofs]
mov bl,al
shr ax,3
and bl,7
add si,ax
lodsb ;load current character we are working on!
xor ah,ah
shl ax,3 ;mult char by 8
xor bh,bh
add ax,bx ;add offset of line
add ax,0fa6eh
mov di,ax
mov dl,es:[di] ;dl now contains encoded line we want!