Convert a .tzx file into a wav
via Mac OSX
Terminal tape2wav syntax
./tape2wav inputfile.tzx
outputfile.wav Buy a
stereo to
mono cable and play the wav file from your iPhone into your Spectrum. 21udgs154.wav 21udgs154bas.wav 21examples.wav
Right click, choose Save
Link As... HOW TO USE UDGS IN BASIC In this example, 4 UDGs
C,D,H, and S
are
defined as club, diamond, heart, and spade. Set g to the number of
UDGs required
from 1 to 21.
9000 FOR g=1 TO 4: READ g$: FOR y=0 TO 7: READ x: POKE USR g$+y,x: NEXT
y: NEXT g
9010 DATA "c",16,56,56,84,254,254,84,56
9020 DATA "d",16,56,124,254,254,124,56,16
9030 DATA "h",108,254,254,254,254,124,56,16
9040 DATA "s",16,56,124,254,254,84,16,56
SAVE VERIFY LOAD UDGS Save the UDGs (21*8
bytes=168) stored
at the current memory address.
SAVE "UDGS"CODE USR "a",168
VERFIY "UDGS"CODE USR
"a"
LOAD "UDGS"CODE USR "a"
SPECTRUM 128K In 128K mode, UDGs T and
U are
reserved
for the additional SPECTRUM and PLAY commands. Enable UDGs T and U.
IF PEEK 23388=16 THEN POKE 23611,205 Enable SPECTRUM and PLAY
again.
IF PEEK 23388=16 THEN POKE 23611,221
ADDITIONAL SETS OF UDGS SPECTRUM
48K/128K UDGs are stored in
address 65368 -168 from the memory
address for each
additional set of UDGs. In this example 3 sets
are used. Set 1=65368 Set
2=65368-168=65200
Set 3=65200-168=65032 CLEAR lowest memory
address-1.
10 CLEAR 65031 Set m to the memory
address required,
then GO SUB 9999.
20 LET m=65368: GO SUB 9999: REM USE SET 1
30 LET m=65200: GO SUB 9999: REM USE SET 2
40 LET m=65032: GO SUB 9999: REM USE SET 3
50 STOP
9999 POKE 23675,m-256*INT (m/256): POKE 23676,INT (m/256): RETURN
CHECK IF SPECTRUM 16K IF PEEK 23733=127 THEN PRINT "THIS IS A SPECTRUM 16K"
ADDITIONAL SETS OF UDGS SPECTRUM 16K UDGs are stored in
address 32600. -168 from the memory
address for each
additional set of UDGs. In this example 3 sets
are used. Set 1=32600 Set 2=32600-168=32432
Set 3=32432-168=32264 CLEAR lowest memory
address-1.
10 CLEAR 32263 Set m to the memory
address required,
then GO SUB 9999.
20 LET m=32600: GO SUB 9999: REM USE SET 1
30 LET m=32432: GO SUB 9999: REM USE SET 2
40 LET m=32264: GO SUB 9999: REM USE SET 3
50 STOP
9999 POKE 23675,m-256*INT (m/256): POKE 23676,INT (m/256): RETURN
SCREEN$ UDGS COLLISION
DETECTION
SCREEN$ can't usually detect UDGs, but here's a solution. 10 PRINT AT 0,0;"A": REM GRAPHICS A
20 GO SUB 9998: REM MOVE SCREEN$ POINTER
30 IF SCREEN$ (0,0)="A" THEN PRINT "Collision": GO TO 60:
REM CAPITAL A
40 REM IF SCREEN$... MORE COLLISIONS
50 GOSUB 9999: REM RESET SCREEN$ POINTER
60 STOP 9998
POKE 23606,PEEK 23675-8: POKE 23607,PEEK 23676-2: RETURN : REM MOVE
SCREEN$ POINTER 9999
POKE
23606,0: POKE 23607,60: RETURN : REM RESET SCREEN$ POINTER
Infinite
Lives Poke 28316,0 By Gerard Sweeney. spkymnil.z80
Infinite Lives
Right click, choose Save
Link As...
Supercolour By Simon Crampin Your Sinclair Issue 6 June 1986 (48K
Mode Only)
An amazing multicolour sprite editor enabling a different colour on
each row. How did he do it?
10 RANDOMIZE USER 65020: CLS: REM TURN OFF GRAPHIC FROM PREVIOUS RUN OF
PROGRAM
20 INPUT "Column 0-24? (or q to quit)";c
30 INPUT "Row 0-18? (or q to quit)";r
40 RANDOMIZE USER 65020: CLS: REM TURN OFF GRAPHIC
50 POKE 65030,8*r: REM SET ROW FOR SUPERCOLOUR DISPLAY ROUTINE 60 POKE
65053,c:
REM GRAPHIC COLOURS COLUMN
70 POKE 65056,r: REM GRAPHIC COLOURS ROW
80 POKE 65118,c: REM GRAPHIC PIXELS COLUMN
90 POKE 65117,r: REM GRAPHIC PIXELS ROW 100
RANDOMIZE USER
65116: REM TURN ON GRAPHIC
110 GO TO 20