04.03.2013 Views

spectrum graphics - OpenLibra

spectrum graphics - OpenLibra

spectrum graphics - OpenLibra

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IU 9 RECORD MODE<br />

20 ORG 32768<br />

SOUNDS<br />

ASSEMBLY LISTING<br />

30 DI DISABLE MASKABLE INTERRUPT<br />

40 LD HL,(START) START ADDRESS OF DATA INTO HL<br />

50 LD DE, (LENGTH) DATA LENGTH INTO DE<br />

60 LOOP LD B, 8 B CONTROLS LOOP OF 8 BITS/I BYTE<br />

70 LD C,0 C COUNTS NO. OF BITS AT EAR PORT<br />

80 LD (0),BC TIME WASTING INSTRUCTION<br />

90 L00P_2 XOR A CLEAR A AND CARRY FLAG<br />

I00 IN A, ( 254 ) READ PORT 2 54<br />

I 10 RLA VALUE AT FAR PORT...<br />

120 RLA ROTATED...<br />

130 RL C INTO REGISTER C<br />

I40 DJNZ LOOP 2 GET 8 BITS FROM EAR PORT INTO C<br />

150 LD (HL),C STORE THE 8 BITS IN (HL)<br />

] 60 LD A, (SPEED) RECORD/PLAY SPEED INTO A<br />

170 LD B, A USE B TO CONTROL THE LOOP<br />

180 WAIT DJNZ WAIT WAIT A SHORT WHILE<br />

190 INC HL NEXT LOCATION FOR NEXT 8 BITS<br />

200 LD A,D CHECK WHETHER OR NOT...<br />

2 10 OR E TO FETCH ANOTHER 8 BITS<br />

220 DEC DE DECREMENT THE COUNT<br />

230 JR NZ.LOOP LOOP IF COUNT NOT ZERO<br />

2^0 EI RE-ENABLE THE MASKABLE INTERRUPT...<br />

250<br />

260<br />

270<br />

RET FOR RETURN TO BASIC<br />

280 » PLAYBACK<br />

290 DL<br />

300 LD HL,(START)<br />

3 10 LD DE,(LENGTH)<br />

320 P LOOP LD B,8 B CONTROLS LOOP OF 8 BITS/! BYTE<br />

330 LD C,(HL) GET DATA BYTE TO BE PLAYED<br />

340 RRC C GET THE BITS IN THE RIGHT ORDER<br />

350 RRC C<br />

360 RRC C<br />

370 P_LP 2 LD A, C GET THE DATA BYTE INTO A<br />

380 AND ZOOOIOOOO MASK THE ONLY REQUIRED BIT<br />

390 OUT (254 ),A OUTPUT THIS BIT TO THE SPEAKER<br />

400 RLC C GET NEXT BIT INTO REQUIRED POSITION<br />

4 10 DJNZ P LP 2 OUTPUT 8 BITS (L BYTE)<br />

420 LD A, (SPEED) SPEED INTO A<br />

4 30 LD B, A TRANSFER TO B FOR PAUSE<br />

44 0 PAUSE DJNZ PAUSE WAIT A SHORT WHILE<br />

4 50 RES 0, A ANOTHER TIME WASTING INSTRUCTION<br />

460 INC HL INCREMENT DATA ADDRESS<br />

470 LD A, D CHECK TO SEE IF COUNT IS ZERO YET<br />

480 OR E<br />

490 DEC DE DECREASE THE COUNT BY I<br />

500 JR NZ,P LOOP LOOP IF COUNT NOT ZERO<br />

5 10 EI RE-ENABLE MASKABLE INTERRUPT...<br />

520 RET FOR RETURN TO BASIC<br />

530 START DEFW 32855 START ADDRESS OF SPEECH DATA<br />

54 0 LENGTH DEFW 325 I 2* LENGTH OF SPEECH DATA<br />

550 SPEED DEFB I RECORD/PLAY SPEED<br />

60 ZX COMPUTING DECEMBER JANUARY 1985

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!