
		EXTRN ConfigInit  	: FAR
		EXTRN LoadModSb		: FAR
		EXTRN PlayMusic		: FAR
		EXTRN StopMusic		: FAR
		EXTRN EndMusic		: FAR
		EXTRN GetSongPosition	: FAR
		EXTRN Configinit_g	: FAR
		EXTRN LoadMOD_g		: FAR	
		EXTRN Playmusic_g	: FAR
		EXTRN Stopmusic_g	: FAR
		EXTRN endmusic_g		: FAR

.MODEL SmalL
.STACK 100h
.386

ASSUME cs:WarLock
WarLock SEGMENT USE16

		gus	db 0 ;gdy zero to soundblaster
		dzidzi	db 1 ;z soundem

pami‘¨		PROC
		mov	ax,6200h
		int	21h
		mov	es,bx
		mov	bx,90000/16
		mov	ah,4ah
		int	21h
		ret
pami‘¨		ENDP

		modek	db	'revolt.$$$',0

		include	exec.inc
		blur	db	'start.exe',0
		adrrr	dd	0

Start:
		mov	ax,3
		int	10h

		call	wybierz

		xor	ax,ax
		mov	es,ax
		mov	al,dzidzi
		mov	byte ptr es:[20+3],al

		in	al,21h
		or	al,2
		out	21h,al

;call	tworz_mod
		call	pami‘¨

		cmp	dzidzi,0
		je	e1c
;;;
		call	tworz_mod
		
		cmp	gus,1
		je	load_gus
		mov	cx,0c242h
		push	cs
		pop	ds
		lea	bx,param
		call	configinit
		push	cs
		pop	ds
		lea	dx,modek
		call	loadmodsb
		call	playmusic
		call	kasuj_mod
		jmp	e1c
	load_gus:
		mov	cx,0c242h
		push	cs
		pop	ds
		lea	bx,param
		call	configinit_g
		push	cs
		pop	ds
		lea	dx,modek
		call	loadmod_g
		call	playmusic_g
		call	kasuj_mod
	 e1c:
		exec	blur

;		in	al,60h
;		cmp	al,1
;		jne	e1c

		cmp	dzidzi,0
		je	e2c
	
		cmp	gus,1
		je	stopgus
		call	StopMusic
		call	EndMusic
		jmp	e2c
	stopgus:
		call	stopmusic_g
		call	endmusic_g
	 e2c:

		in	al,21h
		and	al,255-2
		out	21h,al

		mov	ax,cs
		mov	ds,ax
		lea	dx,fileid
		mov	ah,9
		int	21h

		mov 	ax,4c00h
		int 	21h


	wybierz:
		mov	ax,SEG 	nap1
		mov	ds,ax
		lea	dx,nap1
		mov	ah,9
		int	21h
	@sound_machine:
		mov	ah,0
		int	16h
		cmp	al,'1'
		je	@sbn
		cmp	al,'2'
		je	@sbpro
		cmp	al,'3'
		je	@gus
		cmp	al,'4'
		je	@nsss
		jmp	@sound_machine
	@portt:	lea	dx,porst
		mov	ah,9
		int	21h
	@porty: ;levis'y
		mov	ah,0
		int	16h
		cmp	al,'1'
		je	p210
		cmp	al,'2'
		je	p220
		cmp	al,'3'
		je	p230
		cmp	al,'4'
		je	p240
		cmp	al,'5'
		je	p250
		cmp	al,'6'
		je	p260
		cmp	al,'7'
		je	p270
		cmp	al,'8'
		je	p280
		cmp	al,'9'
		je	p290
		jmp	@porty
	@irqqq: lea     dx,irqa
                mov     ah,9
                int     21h
        @sirq:  mov     ah,0
                int     16h
                cmp     al,'1'
                je      i1
                cmp     al,'3'
                je      i3
                cmp     al,'5'
                je      i5
                cmp     al,'7'
                je      i7
                jmp     @sirq
        @dmaa:  lea     dx,dmaaa
                mov     ah,9
                int     21h
        @dli:   mov     ah,0
                int     16h
                cmp     al,'1'
                je      d1
                cmp     al,'2'
                je      d2
                cmp     al,'3'
                je      d3
                cmp     al,'4'
                je      d4
                cmp     al,'5'
                je      d5
                cmp     al,'6'
                je      d6
                cmp     al,'7'
                je      d7
                cmp     al,'1'
                je      d1
                jmp     @dli
        staraa:
		ret
        d1:     mov     word ptr cs:[si+2],1
                jmp     staraa
        d2:     mov     word ptr cs:[si+2],2
                jmp     staraa
        d3:     mov     word ptr cs:[si+2],3
                jmp     staraa
        d4:     mov     word ptr cs:[si+2],4
                jmp     staraa
        d5:     mov     word ptr cs:[si+2],5
                jmp     staraa
        d6:     mov     word ptr cs:[si+2],6
                jmp     staraa
        d7:     mov     word ptr cs:[si+2],7
                jmp     staraa
        i1:     mov     word ptr cs:[si+3],1
                jmp     @dmaa
        i3:     mov     word ptr cs:[si+3],3
                jmp     @dmaa
        i5:     mov     word ptr cs:[si+3],5
                jmp     @dmaa
        i7:     mov     word ptr cs:[si+3],7
                jmp     @dmaa
        p290:   mov     word ptr cs:[si],290h
                jmp     @irqqq
        p280:   mov     word ptr cs:[si],280h
                jmp     @irqqq
        p270:   mov     word ptr cs:[si],270h
                jmp     @irqqq
        p260:   mov     word ptr cs:[si],260h
                jmp     @irqqq
        p250:   mov     word ptr cs:[si],250h
                jmp     @irqqq
        p240:   mov     word ptr cs:[si],240h
                jmp     @irqqq
        p230:   mov     word ptr cs:[si],230h
                jmp     @irqqq
	p220:	mov	word ptr cs:[si],220h
		jmp	@irqqq
	p210:	mov	word ptr cs:[si],210h
		jmp	@irqqq
	@gus:
		mov	gus,1
		mov	dzidzi,1
		lea	si,param
		mov	byte ptr cs:[si+6],3
		jmp	@portt
	@sbpro:
		mov	dzidzi,1
		lea	si,param
		mov	byte ptr cs:[si+6],1 ;sb-pro
		jmp	@portt
	@sbn:
		mov	dzidzi,1
		lea	si,param
		mov	byte ptr cs:[si+6],2 ;sb-nor
		jmp	@portt
	@nsss:	mov	dzidzi,0
		ret


		nap1	db 'AMNESTY presents REVOLT... (our last prodd)',10,13
			db 'NOLIMIT version with GUS support now...',10,13
			db 'And some special thanx & greets go to:',10,13
			db 'Nathan(i promised you,but my memory ehhhh...thanx for yar nice 3d-obiect)',10,13
			db 'Yarpen(yeah our letter make me more happy...250kb letters LUREZ...)',10,13
			db 'Gosia (i hope that you read it) - i like you very much too',10,13
			db 'Ice (for a drink our tea:) without us...',10,13
			db 'Ziel,Astra,Heya & other ADR dudes...(ABSENCE rulez)...',10,13
			db 'Ozir & HPZ (what about Delirum? thanx for party-invitation)',10,13
			db 'Caesar - ya guy...sent my kind of regards to yar sweatheart',10,13
			db 'Siostra - elemeledudkipszczolkiimprezkietc ... ',10,13
			db 'Camel - hey stary,do ya remeber me?  ODTF rulez...',10,13
			db 'Szudi - thanx for yar PRIMAX ... ya''r coool man !',10,13
			db 'Warlock - kup sobie GUSa! (Szudi)',10,13
			db 'and OTHER...',10,13
			db 10,13
			db 'Select your sound-machine...',10,13
			db '1.  Sound Blaster (MONO)',10,13
			db '2.  Sound Blaster PRO (STEREO)',10,13
			db '3.  Super-duper GUS ',10,13
			db '4.  Quadro NO-SOUND ',10,13,10,13,'$'
		porst	db 'Select port number...',10,13
			db '1.  P210    2.  P220   ....   ?. P2?0',10,13,'$'
                irqa    db 10,13,'Select IRQ...',10,13
                        db '1.IRQ1  3.IRQ3  5.IRQ5  7.IRQ7',10,13,'$'
                dmaaa   db 10,13,'And yar DMA...',10,13
                        db '1. DMA1   2.DMA2  ...  ?.DMA?',10,13,'$'

		param	dw	220h 			;0
			db	1			;2
			db	7			;3
			dw	22000			;4
			db	1 ;1sbpro 2sb		;6
			db	0			;7
			db	0
			db	128
			db	1
			db	255
			db	255
			db	255

	mmm	db 'revolt.$$$',0

	kasuj_mod:
		mov	ax,cs
		mov	ds,ax
		lea	dx,mmm
		mov	ah,41h
		int	21h
		ret

	tworz_mod:
		mov	ax,cs
		mov	ds,ax
		lea	dx,mmm
		mov	cx,0
		mov	ax,3c00h
		mov	ah,3ch
		int	21h
		mov	bx,ax
		mov	cx,37478
		mov	ax,cs
		mov	ds,ax
		lea	dx,modey
		mov	ax,4000h
		int	21h
		mov	ah,3eh
		int	21h
		ret

	fileid:
	include	fileid

	modey: 	include	mod.db

WarLock ENDS

END Start
