Get the original WordStar document: TECH2.DOC

Tyzack technical information #2
AB, inc 901007 a division of CCH

All information in this booklet has some meaning in the TYZACK VSD system. Which cannot be said of the first volume of the Technical information (released April 1989). Also some things about equipment used with TYZACK (like the DD-10) are mentioned. Again, for full reference on the Tyzack system you should refer to the Tyzack diagram edition, to be released sometime this century by AB, inc.

YAMAHA DD-10 Digital Drum Bank

MIDI codes for instruments
38   Synth snare
40   Synth low tom (also 41)
41   Synth tom high (also 43)
44   Bass (also 45)
46   Rim shot (also 51)
47   Tom tom 4
48   Tom tom 3
49   Snare (also 52)
50   Tom tom 2
53   Tom tom 1
54   Hand clap
55   Cow bell
56   Shaker
57   Hi-hat (closed)
59   Hi-hat (opened)
60   Ride
61   Splash
63   Crash
64   Conga low
65   Conga high (also 66)
67   Bongo low
68   Bongo high
72   Castanet
73   Claves
74   Agogo low
75   Agogo high
address   contents

0006H     address of vdp READ port

0007H     address of vdp WRITE port

002DH     MSX version (0 = MSX1, 1 = MSX2)

409BH     address of "warm boot" BASIC interpreter

F323H     address of disk error-routine

FAF8H     slot-address of sub-ROM

FB21H     info on connected disk-drive

FC4AH     startaddress of system memory

FCC1H     slot-address of main-ROM

FFA7H     info on diskdrive connections
          anything different from C9H means a connection
          is made

USING GRAPHICS ROUTINES IN M.L.

(the routine ATRENT (011AH) should always be CALLed)
(FCB3H)   LSB start-X
(FCB4H)   MSB start-X
(FCB5H)   LSB start-Y
(FCB6H)   MSB start-Y
(BC)      destination-X
(DE)      destination-Y

DOTLINE : 58FCH
BOXLIN  : 5912H
DOBOXF  : 58C1H

PSET    : 57F5H (X = (BC), Y = (DE))

PAINT   : (color = (A), X = (BC), Y = (DE))
          init: CALL 0129H, CALL 59E3H
.pa
e.g. copying (0,0)-(255,99) to (0,100)

          ORG  0F562H

SX        DS   2
SY        DS   2
DX        DS   2
DY        DS   2
NX        DS   2
NY        DS   2
CDUMMY    DS   1
ARG       DS   1
L_OP      DS   1
;
;
          ORG  ????
;
BLTVV     EQU  0191H
EXTROM    EQU  015FH

          LD   HL,0
          LD   (SX),HL   ; source is (0,0)
          LD   (SY),HL
          LD   (DX),HL   ; destination is (0,100)
          LD   L,100
          LD   (DY),HL
          LD   HL,255-0+1
          LD   (NX),HL
          LD   HL,99-0+1
          LD   (NY),HL
          XOR  A
          LD   (ARG),A
          LD   (L_OP),A
          LD   HL,0F562H
          LD   IX,BLTVV
          CALL EXTROM
          .
          .
          .

0195H     BLTVM          copy RAM to VRAM
0199H     BLTMV          copy VRAM to RAM
019DH     BLTVD          copy disk to VRAM
01A1H     BLTDV          copy VRAM to disk
01A5H     BLTMD          copy disk to RAM
01A9H     BLTDM          copy RAM to disk

filenames are used as follows:

          LD   HL,fn_ptr
          LD   (FNPTR),HL

PADDLE CONNECTIONS

joystick port A

PDL(1) = pin 1
PDL(3) = pin 2
PDL(5) = pin 3
PDL(7) = pin 4
PDL(9) = pin 6
PDL(11) = pin 7

joystick port B

PDL(2) = pin 1
PDL(4) = pin 2
PDL(6) = pin 3
PDL(8) = pin 4
PDL(10) = pin 6
PDL(12) = pin 7

** SCREEN 12 color use **

byte 0: a4 a3 a2 a1 a0 G2 G1 G0
byte 1: b4 b3 b2 b1 b0 B1 G4 G3
byte 2: c4 c3 c2 c1 c0 R2 R1 R0
byte 3: d4 d3 d2 d1 d0 B0 R4 R3
the RED value is determined by R4 R3 R2 R1 R0
the GREEN value is determined by G4 G3 G2 G1 G0
BLUE is determined by two 'switches', B1 and B0
when B1 is '1', BLUE is 31-GREEN
when B0 is '0', BLUE is 31-RED
the two BLUE values are combined to 1 5-bit value.

the brightness of a pixel, relative to the basic color pallet, is set by the upper 5 bits of each byte (a4-0 to d4-0).

SOME COLOUR DEFINITIONS

0    zwart
3    cyaan
8    OnTab II
28   rood
30   homofiel roze
32   legergroen
64   OnTab III
70   Texels zondagsblad blauw
73   grijs I
76   diarree beige
97   OnTab IV
146  grijs II
156  WK oranje
176  OnTab I
224  groen
255  wit

SOME COLOURS

knalgeel
turquoise
paars
olijfgroen
lila
smaragd
pimpelpaars
opaal
gebrande oker
beige
marine blauw
vuurrood
kobaltblauw
okergeel
ultramarijn
delfts blauw
oud roze

SOME USEFUL INFORMATION:

after reset:
POKE 32770,128
LIST
POKE 32769,1

...

** Variable memory use **

type variabele   ruimte in   per teken   per dim.   per element
                 ieder geval extra       extra      extra

alfan.var.       6           1
alfan.array-var  6           1           2          3
num.int.var.     5     
enkelv.pr.var.   7     
dubbelv.pr.var.  11
int.array-var    6                       2          2
enk.array-var    6                       2          2
dub.array-var    6                       2          2

** Identification bytes **

2B: b7+b6 = frequentie interrupt: 1=50 Hz, 0 = 60 Hz
    b5+b4 = datum format 0=y-m-d 1=m-d-y 2=d-m-y
    b3    = soort karaktergenerator 0=japans 1=intern.

2C: b7-b4 = versie van de BASIC
    b3-b0 = soort toetsenbord 0 jap. 1 int. 2 frans 3 UK
                              4 duits (DIN)
LD        HL,800H        ; beginadres kleurentabel in VRAM
LD        BC,F0H         ; lengte kleurentabel (24*80)/8
LD        A,0            ; alles op nul...
CALL      FILVRM         ; zetten (begin,lengte,data=HL,BC,A)
LD        DE,(F7F8H)     ; regel*10 ophalen
INC       HL             ; HL mag 2049 worden (begint dan x=8)
ADD       HL,DE          ; en optellen bij regel*10
LD        B,9            ; 9 bytes lang (x=8 - x=80)
LD        A,255          ; alle bits aanzetten
CALL      WRTVRM         ; van de kleuren van die 8 tekens
INC       HL             ; volgende 8 tekens
DJNZ      -8             ; etcetera
LD        C,13           ; =vdp(14)  let op!
LD        B,16           ; =16*tijd aan + tijd uit (10=dus aan)
CALL      47H            ; naar vdp schrijven
LD        C,12           ; =vdp(13) voor kleuren
LD        B,4FH          ; =voorgrond*16+achtergrond
CALL      47H            ; en skrijven
RET                      ; en truch maar weer.
Dit is een routinetjen voor de bekende menukeuze a la appleworks, met een inverse balk als cursor. Je kan de beginpositie (hoeveel tekens hij niet moet inversen dus) instellen bij de eerste INC HL. Zoals hij nu staat slaat hij dus 1*8 tekens over. Dan kan je de lengte ook nog instellen (groepjes van 8) in de daaropvolgende LD B,?. Je kan het ook laten knipperen maar dat is niet aan te raden. De kleuren van balk (achtergrond) en tekst in de balk is ook vrijelijk in te stellen. Ook leuk is bijv. de achtergrond hetzelfde te houden, zodat je de balk zelf niet ziet maar de tekst bijvoorbeeld kleur 13 (magenta) te geven. Of de normale tekstkleur op geel zetten (color 10,4,4) en dan in de menukeuze de tekstkleur op 15 zetten. Dit is veroooniiicaaaaaa! Knipperen doe je dus in de aangegeven regel, waarbij de getallen staan voor 1/5 seconde. LD B,63H laat de balk dus 6/5 seconde kleuren volgens vdp(13), en dan 3/5 seconde de normale kleur.

MB

SCREEN 0 PAGING

A = 0 - 13

POKE &HF923,(A+2+2*(A<2))*4
VDP(2)=a+2+2*(A<2)