Changes

TRACKERS MB SRC NL LOADER

3,390 bytes added, 17:30, 15 July 2019
Created page with " *q-,u+ db 0feh dw start dw einde dw start org 0e000h sngpag equ 1 edtpag equ 2 dskpag equ 3 em1pag equ 4 em2pag equ 5 vocpag equ 6 smppag equ 7 xpos equ..."
*q-,u+
db 0feh
dw start
dw einde
dw start
org 0e000h

sngpag equ 1
edtpag equ 2
dskpag equ 3
em1pag equ 4
em2pag equ 5
vocpag equ 6
smppag equ 7

xpos equ 08000h ;->in song maar 200 lang!
xleng equ xpos+200 ;->last position
xuser1 equ xleng+1 ;->usercode #1
xmmvoc equ xuser1+2 ;->module instrumenten
xmmsti equ xmmvoc+16*9 ;->instrumenten module
xpasti equ xmmsti+16 ;->instrumenten/volumes pac
xstpr equ xpasti+32 ;->stereo-instellingen
xtempo equ xstpr+10 ;->begintempo
xsust equ xtempo+1 ;->modulation depth
xnaam equ xsust+1 ;->songnaam
xchip equ xnaam+40 ;->voorkeurchip
xbegvm equ xchip+1 ;->begininstrumenten module
xbegvp equ xbegvm+9 ;->begininstrumenten pac
xorgp1 equ xbegvp+9 ;->data van softwarevoices pac
xorgnr equ xorgp1+6*8 ;->nummers van software voices
xsmpkt equ xorgnr+6 ;->samplekitnaam
xdrblk equ xsmpkt+8 ;->drumblokken pac
xdrvol equ xdrblk+15 ;->volumes drum pac
xdrfrq equ xdrvol+3 ;->frequenties drum pac
xuser2 equ xdrfrq+3*6 ;->usercode#2 (=1 op met andere codering)
xrever equ xuser2+2 ;->reverb instellingen
xloop equ xrever+9 ;->loop position

xbegmd equ 08240h
ownvdt equ 0c400h+176*25
smpnr equ 0f975h
loaded equ 0f976h
notvcm equ 0f977h
notvcp equ 0f977h+9
smpadr equ notvcp+9
smknam equ smpadr+56
vcenr equ smknam+8
fkndat equ vcenr+1
keybdt equ fkndat+1
midint equ keybdt+1 ;0=musmod 1=turbo-r 2=vak
usrdat equ midint+1
us2dat equ usrdat+2
naudat equ us2dat+2
scandt equ naudat+1

subs equ 0d900h
subs2 equ 0d914h
subs3 equ 0d928h
decdat equ 0c000h


dosprog equ 1=0
grpprog equ 1=0

include mybios

start:

xor a
ld (0f3dbh),a ;@ ;key click off
ld a,1
ld (smpnr),a
ld a,1
ld (midint),a
ld (fkndat),a
ld (keybdt),a

ld hl,0 ;@
ld (0f3eah),hl ;@
ld a,15 ;@
ld (0f3e9h),a ;@
bios 062h ;@

width 80
fkeyoff
ld a,011110000b
out (099h),a
ld a,13+128
out (099h),a

ld a,0100011b
out (099h),a
ld a,12+128
out (099h),a


; vdpreg 13,011110000B
; vdpreg 12,0100011B

call wiscol

ld a,2
ld de,07006h
call change_color
ld a,3
ld de,05000h
call change_color

ld a,edtpag
ld hl,fil1
call load2

ld a,vocpag
ld hl,fil2
call load2

ld a,dskpag
ld hl,fil3
call load2

ld a,smppag
ld hl,fil4
call load2

ld a,sngpag
ld hl,fil5
call load2

ld hl,fil8
call load

ld hl,fil6
call load

ld hl,fil7
call load
jp 0d93dh


load2: out (0feh),a
load: ld de,fcbsav+1
ld bc,11
ldir
ld de,fcbsav
bdos open ;open de file
ld hl,1
ld (groot),hl ;blokgrootte = 1
dec hl
ld (blok),hl
ld (blok+2),hl ;bloknummer = 0

ld de,0f975h
bdos setdma
ld hl,7
ld de,fcbsav
bdos read
ld de,(0f976h)
bdos setdma

ld hl,(bleng)
ld de,-7
add hl,de
ld de,fcbsav
bdos read ;lees file
ld de,fcbsav
bdos close
ret

wiscol: ld hl,0800h
ld bc,256
xor a
bios 016bh
ret

change_color: out (099h),a
ld a,090h
out (099h),a
ld a,d
out (09ah),a
ld a,e
out (09ah),a
ret

fcbsav: db 0," "
dw 0
groot: dw 0
bleng: dw 0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
blok: dw 0
dw 0

fil1: db "MOONBLASCOM"
fil2: db "VOICMENUCOM"
fil3: db "DISKMENUCOM"
fil4: db "SAMPLER COM"
fil5: db "EXAMPDATCOM"
fil6: db "VOICES COM"
fil7: db "INSTALL COM"
fil8: db "DECDAT COM"



einde: end