Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

SOUND TEST

COUNT0 EQU 48H

COUNT1 EQU 49H

COUNT2 EQU 4AH

CSR EQU 4BH

SWITCH EQU 58H

NMI_BUF EQU 0FF00H

LCDCLR EQU 0048H

STRINGL EQU 0060H

LINE2 EQU 0058H

ORG 8000H

START: CALL LCDCLR

CALL STRINGL

DB 'SOUND GENERATOR!$'

CALL LINE2

CALL STRINGL

DB 'DIP1=NO.2 ON$'

I8353: LD A,00110110B

OUT (CSR),A

LD IX,NOSOUND
LD (NMI_BUF+1),IX

LD C,0

LD D,0

MAIN: IN A,(SWITCH)

CP C

JP Z,MAIN

CP 0FFH

LD C,A

JP Z,MAIN

CPL

LD B,0

J1: BIT 0,A

JP NZ,CHK_NO

RRCA

INC B

JP J1

CHK_NO: LD IX,TABLE

LD A,10

OUT (COUNT0),A

XOR A

OUT (COUNT0),A

LD DE,500H

J2: DEC DE

LD A,D

OR E
JP NZ,J2

LD A,B

ADD A,A

LD E,A

ADD IX,DE

LD A,(IX)

OUT (COUNT0),A

INC IX

LD A,(IX)

OUT (COUNT0),A

LD DE,3000H

J3: DEC DE

LD A,D

OR E

JP NZ,J3

JP MAIN

NOSOUND:

; PUSH AF

; PUSH BC

; PUSH DE

; PUSH IX

LD A,10

OUT (COUNT0),A

XOR A

OUT (COUNT0),A

; POP IX
; POP DE

; POP BC

; POP AF

LD HL,MAIN

EX (SP),HL

RETN

TABLE: DW 1259H,1377H,15D1H,187DH

DW 1B7EH,1D20H,20B0H,24B2H

END
DOT MATRIKS LED

COUNT0 EQU 48H

COUNT1 EQU 49H

COUNT2 EQU 4AH

CSR EQU 4BH

SWITCH EQU 58H

LCDCLR EQU 0048H

STRINGL EQU 0060H

LINE2 EQU 0058H

INRS1 EQU 0028H

ORG 8000H

START: CALL LCDCLR

CALL STRINGL

DB 'SOUND GENERATOR!$'

CALL LINE2

CALL STRINGL

DB 'DIP1 = N0.2 ON$'

I8353: LD A,00110110B

OUT (CSR),A

PLAY: CALL INRS1

CALL NOSOUND

PLAY1: CP 'Z'

JP Z,DO

CP 'z'
JP Z,DO

CP 'X'

JP Z,RE

CP 'x'

JP Z,RE

CP 'C'

JP Z,MI

CP 'c'

JP Z,MI

CP 'V'

JP Z,FA

CP 'v'

JP Z,FA

CP 'B'

JP Z,SOL

CP 'b'

JP z,SOL

CP 'N'

JP Z,RA

CP 'n'

JP Z,RA
CP 'M'

JP Z,SI

CP 'm'

JP Z,SI

CP ','

JP Z,DO1

JP PAUSE

DO: LD DE,24B2H

JP SET8253

RE: LD DE,20B0H

JP SET8253

MI: LD DE,1D20H

JP SET8253

FA: LD DE,1B7EH

JP SET8253

SOL: LD DE,187DH

JP SET8253

RA: LD DE,15D1H

JP SET8253

SI: LD DE,1377H

JP SET8253

DO1: LD DE,1259H

JP SET8253

PAUSE: LD DE,10H
SET8253:LD A,E

OUT (COUNT0),A

LD A,D

OUT (COUNT0),A

JP PLAY

NOSOUND: PUSH AF

PUSH DE

LD A,10

OUT (COUNT0),A

XOR A

OUT (COUNT0),A

LD DE,500H

J1: DEC DE

LD A,D

OR E

JP NZ,J1

POP DE

POP AF

RET

END

You might also like