Jump to content
IGNORED

Digitized Sound on Aquarius


Recommended Posts

Can you guys take a look at the below code and see if you can see something I am doing wrong? I have a 1 bit audio sample encoded in the .DB statements and I am trying to send it to the sound port. I have to grab a byte of data, send the 1's and 0's from the byte left to right, then load the next byte. I realize that the emulator doesn't work for sound, but I am not getting anything for sound out of the program. Any ideas? Am I reinventing the wheel, does somebody have code to play sampled sound already?

 

; Program to Create Sound

.org $E000			

.db $b6, $b7, $24, $2a, $8d, $9c, $42, $b0
.db $53, $6c, $90, $64, $89, $a8, $f9, $70

MAIN:
ld hl, SAMPLE		; Memory Location to ROM Sample
ld bc, 1377		; Number of Samples
push bc	

replay:	ld d, 8			; Sub-Samples
ld a, (hl)			; load an 8 bit set
ld e, a			; store a into e

subsamp:	
ld a,e			; grab e into a
out ($fc),a	
delay:	ld bc, 50
dec bc
ld a,c
or b
jp nz, delay
RLA			; shift left
dec d			; countdown
ld e, a 			; drop a into e
ld a, d			; check on d
jp nz, subsamp		; repeat until 8 samples

pop bc
dec bc			; Decrement Sample Counter
push bc
ld a, c			; Load C 
or b			; Is BC Zero
jp nz, replay		; If it isn't zero, keep playing

FINISH:
jp FINISH

SAMPLE:

.db $6B,$51,$59,$99,$95,$8D,$99,$35,$95,$53,$55,$53,$55,$36,$2D,$32
.db $D3,$96,$53,$6A,$66,$96,$36,$58,$E8,$E6,$4C,$E6,$2D,$2C,$B5,$93
.db $52,$C9,$65,$A6,$B3,$39,$39,$A9,$C5,$4B,$53,$33,$36,$33,$35,$66
.db $99,$94,$D3,$64,$CA,$AC,$A7,$2A,$D6,$34,$B3,$32,$A9,$6B,$36,$63
.db $95,$63,$93,$5A,$66,$8E,$65,$56,$33,$55,$33,$4B,$4C,$9C,$AC,$D4
.db $B4,$B3,$47,$32,$AA,$B3,$39,$59,$56,$65,$1B,$4B,$4B,$59,$55,$55
.db $52,$99,$AA,$CA,$A6,$66,$71,$65,$55,$69,$5A,$B5,$4C,$D5,$32,$AA
.db $73,$54,$CB,$2B,$35,$36,$63,$19,$CA,$A9,$9A,$65,$94,$E6,$6B,$34
.db $AA,$73,$19,$CE,$35,$9C,$63,$31,$CA,$D6,$AA,$94,$9C,$C6,$73,$54
.db $D3,$49,$A6,$34,$D7,$39,$54,$A4,$CE,$33,$9A,$CB,$59,$66,$31,$96
.db $B5,$9A,$A5,$26,$63,$AC,$E5,$32,$CE,$51,$8C,$B5,$AD,$4A,$A8,$CC
.db $E6,$B3,$58,$CD,$2C,$A6,$59,$9B,$5A,$A4,$A5,$54,$E7,$39,$49,$65
.db $96,$63,$32,$CD,$AD,$52,$A8,$D7,$31,$CE,$32,$9B,$2B,$98,$D2,$B5
.db $65,$99,$4A,$53,$39,$CC,$69,$A5,$95,$CA,$69,$65,$35,$9A,$CA,$95
.db $56,$B9,$C6,$63,$4A,$B4,$D5,$54,$96,$AB,$55,$4A,$A5,$66,$AB,$4A
.db $99,$59,$66,$59,$9A,$AA,$6A,$CD,$33,$4B,$4D,$2A,$AA,$AC,$CB,$53
.db $53,$2A,$AA,$6A,$6A,$AA,$AA,$AC,$A9,$96,$96,$5B,$4B,$39,$54,$D2
.db $AA,$A6,$AA,$B5,$65,$95,$65,$94,$A6,$9A,$CA,$59,$6A,$A5,$AA,$AA
.db $AB,$2A,$CA,$5A,$A9,$A6,$B3,$53,$4B,$2D,$4D,$2B,$4B,$54,$B2,$CA
.db $5A,$96,$A5,$A5,$AC,$A6,$5A,$53,$4D,$65,$69,$6A,$CC,$D3,$52,$5B
.db $4B,$29,$69,$AC,$D5,$54,$B2,$96,$55,$55,$4D,$55,$55,$95,$55,$55
.db $69,$59,$69,$69,$69,$69,$66,$9A,$9A,$AA,$A9,$A6,$AA,$55,$55,$55
.db $55,$54,$D3,$53,$55,$65,$53,$4D,$34,$D6,$69,$A9,$AA,$96,$59,$65
.db $A5,$A5,$AA,$96,$95,$59,$54,$B4,$D5,$53,$52,$D5,$53,$4B,$65,$55
.db $56,$A5,$66,$AA,$AA,$A5,$55,$56,$55,$A5,$A9,$95,$4D,$4B,$2D,$2A
.db $CB,$32,$D2,$B5,$54,$B2,$CB,$55,$65,$96,$CA,$5A,$5A,$6A,$A6,$99
.db $95,$65,$A5,$55,$55,$35,$34,$D2,$CB,$4D,$35,$4C,$AD,$36,$9A,$5A
.db $6A,$65,$55,$65,$A5,$AA,$AA,$AA,$9A,$59,$55,$35,$2B,$55,$55,$54
.db $D5,$4D,$55,$55,$59,$55,$96,$AA,$6A,$AA,$AC,$A6,$A5,$AA,$AA,$AA
.db $AA,$65,$65,$55,$55,$55,$55,$55,$55,$55,$55,$55,$66,$AA,$55,$56
.db $99,$65,$AA,$AA,$AA,$9A,$96,$55,$55,$55,$55,$35,$55,$55,$55,$55
.db $55,$55,$65,$55,$6D,$2A,$54,$D6,$AA,$AA,$A6,$66,$53,$69,$2A,$77
.db $32,$32,$57,$56,$A5,$52,$A9,$95,$DA,$4A,$CF,$69,$12,$95,$DB,$2A
.db $56,$65,$38,$BB,$41,$9B,$9D,$41,$1A,$D7,$A9,$4A,$D5,$29,$99,$DA
.db $13,$AF,$68,$84,$D6,$ED,$24,$D6,$59,$1C,$6F,$80,$9E,$F6,$40,$2E
.db $db,$68,$9A,$B5,$48,$B5,$9E,$42,$7F,$B4,$20,$AF,$AD,$24,$B6,$A9
.db $15,$E3,$6C,$82,$FF,$28,$4,$FB,$99,$45,$B5,$92,$55,$C9,$EC,$7
.db $FD,$40,$1D,$ED,$81,$6F,$52,$46,$E5,$C1,$F4,$0F,$B6,$80,$B5,$BA
.db $43,$ED,$48,$56,$AD,$83,$F0,$3E,$7E,$1,$D3,$E8,$2E,$D6,$82,$D5
.db $5E,$7,$E0,$73,$F8,$7,$17,$C2,$D5,$DA,$0B,$35,$5E,$0F,$C0,$E3
.db $F8,$1C,$1F,$83,$8B,$F0,$4D,$36,$9C,$1F,$81,$C7,$F8,$18,$3F,$7
.db $0F,$E0,$C9,$D9,$3C,$1F,$83,$87,$F0,$58,$3F,$0E,$0F,$C5,$49,$E4
.db $B8,$3F,$3,$87,$F0,$60,$FE,$14,$5F,$8A,$8D,$C9,$98,$3F,$0B,$0F
.db $E0,$C0,$FE,$50,$7F,$1A,$0F,$0D,$9C,$1F,$0A,$8F,$E1,$80,$FE,$50
.db $3F,$9C,$0F,$8E,$87,$0F,$C1,$63,$F8,$60,$7E,$B0,$3E,$B8,$0D,$9B
.db $82,$E0,$FC,$30,$7F,$18,$1F,$9C,$7,$BF,$4,$57,$E2,$4B,$87,$C3
.db $83,$F3,$C0,$B1,$F0,$53,$F8,$42,$7E,$34,$57,$0F,$8E,$7,$EE,$3
.db $3F,$84,$2F,$D6,$5,$B6,$98,$E3,$1F,$8C,$0F,$BE,$0,$3F,$98,$1F
.db $B5,$3,$B3,$94,$A3,$8F,$8E,$0F,$7E,$10,$3D,$CA,$27,$D3,$13,$4D
.db $CA,$93,$87,$9E,$8,$7E,$70,$39,$E3,$23,$CF,$85,$1C,$DC,$A2,$C7
.db $B7,$0,$FE,$70,$23,$F3,$83,$8F,$8E,$0C,$7C,$70,$B1,$E7,$C1,$0F
.db $BE,$8,$3C,$F4,$71,$E3,$A2,$97,$59,$29,$8F,$7C,$10,$FC,$E1,$81
.db $B7,$95,$0E,$9D,$31,$5A,$B1,$63,$1D,$F4,$21,$F7,$C2,$6,$DF,$4A
.db $8C,$AD,$55,$53,$94,$AB,$1E,$B2,$14,$EE,$71,$0C,$73,$B6,$38,$A9
.db $65,$AB,$52,$99,$C7,$CD,$41,$1D,$EA,$A2,$A5,$95,$D6,$CA,$52,$8D
.db $4D,$55,$96,$73,$35,$16,$6C,$A9,$4C,$E6,$AB,$55,$65,$54,$9A,$6D
.db $54,$D3,$4E,$A4,$5A,$69,$A9,$C6,$A5,$57,$1D,$55,$44,$A7,$6A,$CD
.db $32,$AD,$65,$2A,$6B,$56,$A5,$25,$5B,$75,$94,$49,$55,$66,$AA,$A9
.db $9D,$65,$25,$59,$CA,$D4,$A5,$35,$AD,$5A,$54,$56,$B4,$B5,$56,$54
.db $D4,$A6,$AC,$AA,$AA,$A5,$35,$6D,$55,$44,$CA,$D6,$D5,$52,$96,$B5
.db $4A,$6B,$55,$35,$4A,$6A,$D5,$AA,$64,$55,$55,$6B,$2A,$99,$6A,$A9
.db $55,$6A,$AA,$A9,$55,$5A,$D6,$A9,$49,$55,$AA,$D5,$32,$D2,$AD,$52
.db $55,$57,$55,$2A,$55,$5A,$B4,$AA,$52,$AB,$5A,$AA,$AA,$AA,$AB,$54
.db $95,$6A,$D3,$2A,$96,$9A,$D6,$95,$28,$CA,$DA,$AA,$95,$55,$36,$AA
.db $92,$D5,$AA,$AA,$95,$AB,$56,$A9,$26,$55,$5B,$55,$4A,$AA,$AB,$34
.db $A4,$AB,$57,$52,$92,$AA,$DD,$65,$25,$2A,$AE,$B2,$D4,$B2,$B1,$E6
.db $34,$C9,$E5,$98,$A6,$56,$D6,$64,$A9,$4D,$56,$99,$95,$6A,$E3,$8E
.db $46,$3C,$EC,$91,$57,$36,$65,$53,$54,$CB,$55,$52,$66,$B4,$72,$CC
.db $47,$BA,$92,$2B,$6A,$CD,$2A,$AA,$A9,$AB,$54,$C9,$AC,$E3,$8E,$4A
.db $79,$CA,$52,$9C,$D5,$53,$2A,$A6,$55,$AA,$CA,$69,$AB,$0E,$71,$A5
.db $CE,$65,$29,$6D,$55,$55,$54,$D2,$AA,$AD,$4A,$6A,$AC,$C3,$9C,$63
.db $53,$9A,$52,$CD,$AA,$AA,$9A,$CA,$A9,$AB,$4A,$6A,$AA,$A8,$E7,$19
.db $55,$AA,$98,$AB,$56,$59,$58,$E6,$31,$D5,$94,$B3,$5A,$9C,$C7,$19
.db $95,$AC,$71,$95,$6B,$31,$9C,$63,$35,$59,$4C,$B3,$56,$69,$52,$CC
.db $CB,$33,$55,$55,$55,$9A,$66,$AA,$65,$55,$66,$AC,$65,$66,$65,$58
.db $CC,$B2,$D5,$35,$4B,$2C,$E6,$38,$CC,$C7,$34,$CE,$35,$56,$AA,$A9
.db $55,$59,$55,$56,$A6,$65,$A5,$55,$33,$4C,$AA,$AA,$AB,$2A,$CB,$35
.db $32,$D5,$4C,$CC,$D5,$55,$59,$33,$35,$4D,$55,$55,$4D,$4D,$32,$AA
.db $AA,$B3,$2A,$AA,$AA,$AA,$A6,$AA,$AB,$2D,$55,$55,$55,$55,$55,$55
.db $4E,$55,$58,$E5,$55,$32,$B2,$A6,$69,$A9,$A6,$AA,$AA,$AA,$AA,$B2
.db $CA,$AD,$33,$33,$4C,$D4,$D3,$4D,$53,$55,$53,$2A,$AA,$AA,$AA,$AA
.db $AA,$AA,$AA,$A9,$5A,$69,$AA,$AA,$AC,$D5,$54,$CC,$AB,$4C,$AC,$B5
.db $35,$2C,$CC,$AA,$B2,$9A,$55,$96,$A6,$AA,$A6,$A5,$55,$AA,$AB,$2A
.db $CD,$4B,$2A,$B2,$CB,$2A,$AA,$B4,$CC,$AA,$9A,$59,$69,$59,$65,$55
.db $59,$55,$55,$55,$56,$66,$AA,$AB,$2A,$AA,$AA,$A9,$9A,$6A,$AA,$AA
.db $AA,$95,$55,$55,$55,$55,$55,$55,$55,$56,$55,$95,$A6,$A6,$AA,$AA

.END



Link to comment
Share on other sites

Try this code... now I get garbage - have to figure out the right "sample" format now...

 

; Program to Create Sound

.org $E000			

.db $b6, $b7, $24, $2a, $8d, $9c, $42, $b0
.db $53, $6c, $90, $64, $89, $a8, $f9, $70

MAIN:
ld hl, SAMPLE		; Memory Location to ROM Sample
ld bc, 1377		; Number of Samples	

replay:	ld d, 8			; Sub-Samples
ld a, (hl)			; load an 8 bit set
ld e, a			; store a into e

subsamp:	
ld a,e			; grab e into a
out ($fc),a	
RLA			; shift left
dec d			; countdown
ld e, a 			; drop a into e
ld a, d			; check on d
jp nz, subsamp		; repeat until 8 samples

inc hl
pop bc
dec bc			; Decrement Sample Counter
ld a, c			; Load C 
or b			; Is BC Zero
jp nz, replay		; If it isn't zero, keep playing

FINISH:
jp FINISH

SAMPLE:

.db $6B,$51,$59,$99,$95,$8D,$99,$35,$95,$53,$55,$53,$55,$36,$2D,$32
.db $D3,$96,$53,$6A,$66,$96,$36,$58,$E8,$E6,$4C,$E6,$2D,$2C,$B5,$93
.db $52,$C9,$65,$A6,$B3,$39,$39,$A9,$C5,$4B,$53,$33,$36,$33,$35,$66
.db $99,$94,$D3,$64,$CA,$AC,$A7,$2A,$D6,$34,$B3,$32,$A9,$6B,$36,$63
.db $95,$63,$93,$5A,$66,$8E,$65,$56,$33,$55,$33,$4B,$4C,$9C,$AC,$D4
.db $B4,$B3,$47,$32,$AA,$B3,$39,$59,$56,$65,$1B,$4B,$4B,$59,$55,$55
.db $52,$99,$AA,$CA,$A6,$66,$71,$65,$55,$69,$5A,$B5,$4C,$D5,$32,$AA
.db $73,$54,$CB,$2B,$35,$36,$63,$19,$CA,$A9,$9A,$65,$94,$E6,$6B,$34
.db $AA,$73,$19,$CE,$35,$9C,$63,$31,$CA,$D6,$AA,$94,$9C,$C6,$73,$54
.db $D3,$49,$A6,$34,$D7,$39,$54,$A4,$CE,$33,$9A,$CB,$59,$66,$31,$96
.db $B5,$9A,$A5,$26,$63,$AC,$E5,$32,$CE,$51,$8C,$B5,$AD,$4A,$A8,$CC
.db $E6,$B3,$58,$CD,$2C,$A6,$59,$9B,$5A,$A4,$A5,$54,$E7,$39,$49,$65
.db $96,$63,$32,$CD,$AD,$52,$A8,$D7,$31,$CE,$32,$9B,$2B,$98,$D2,$B5
.db $65,$99,$4A,$53,$39,$CC,$69,$A5,$95,$CA,$69,$65,$35,$9A,$CA,$95
.db $56,$B9,$C6,$63,$4A,$B4,$D5,$54,$96,$AB,$55,$4A,$A5,$66,$AB,$4A
.db $99,$59,$66,$59,$9A,$AA,$6A,$CD,$33,$4B,$4D,$2A,$AA,$AC,$CB,$53
.db $53,$2A,$AA,$6A,$6A,$AA,$AA,$AC,$A9,$96,$96,$5B,$4B,$39,$54,$D2
.db $AA,$A6,$AA,$B5,$65,$95,$65,$94,$A6,$9A,$CA,$59,$6A,$A5,$AA,$AA
.db $AB,$2A,$CA,$5A,$A9,$A6,$B3,$53,$4B,$2D,$4D,$2B,$4B,$54,$B2,$CA
.db $5A,$96,$A5,$A5,$AC,$A6,$5A,$53,$4D,$65,$69,$6A,$CC,$D3,$52,$5B
.db $4B,$29,$69,$AC,$D5,$54,$B2,$96,$55,$55,$4D,$55,$55,$95,$55,$55
.db $69,$59,$69,$69,$69,$69,$66,$9A,$9A,$AA,$A9,$A6,$AA,$55,$55,$55
.db $55,$54,$D3,$53,$55,$65,$53,$4D,$34,$D6,$69,$A9,$AA,$96,$59,$65
.db $A5,$A5,$AA,$96,$95,$59,$54,$B4,$D5,$53,$52,$D5,$53,$4B,$65,$55
.db $56,$A5,$66,$AA,$AA,$A5,$55,$56,$55,$A5,$A9,$95,$4D,$4B,$2D,$2A
.db $CB,$32,$D2,$B5,$54,$B2,$CB,$55,$65,$96,$CA,$5A,$5A,$6A,$A6,$99
.db $95,$65,$A5,$55,$55,$35,$34,$D2,$CB,$4D,$35,$4C,$AD,$36,$9A,$5A
.db $6A,$65,$55,$65,$A5,$AA,$AA,$AA,$9A,$59,$55,$35,$2B,$55,$55,$54
.db $D5,$4D,$55,$55,$59,$55,$96,$AA,$6A,$AA,$AC,$A6,$A5,$AA,$AA,$AA
.db $AA,$65,$65,$55,$55,$55,$55,$55,$55,$55,$55,$55,$66,$AA,$55,$56
.db $99,$65,$AA,$AA,$AA,$9A,$96,$55,$55,$55,$55,$35,$55,$55,$55,$55
.db $55,$55,$65,$55,$6D,$2A,$54,$D6,$AA,$AA,$A6,$66,$53,$69,$2A,$77
.db $32,$32,$57,$56,$A5,$52,$A9,$95,$DA,$4A,$CF,$69,$12,$95,$DB,$2A
.db $56,$65,$38,$BB,$41,$9B,$9D,$41,$1A,$D7,$A9,$4A,$D5,$29,$99,$DA
.db $13,$AF,$68,$84,$D6,$ED,$24,$D6,$59,$1C,$6F,$80,$9E,$F6,$40,$2E
.db $db,$68,$9A,$B5,$48,$B5,$9E,$42,$7F,$B4,$20,$AF,$AD,$24,$B6,$A9
.db $15,$E3,$6C,$82,$FF,$28,$4,$FB,$99,$45,$B5,$92,$55,$C9,$EC,$7
.db $FD,$40,$1D,$ED,$81,$6F,$52,$46,$E5,$C1,$F4,$0F,$B6,$80,$B5,$BA
.db $43,$ED,$48,$56,$AD,$83,$F0,$3E,$7E,$1,$D3,$E8,$2E,$D6,$82,$D5
.db $5E,$7,$E0,$73,$F8,$7,$17,$C2,$D5,$DA,$0B,$35,$5E,$0F,$C0,$E3
.db $F8,$1C,$1F,$83,$8B,$F0,$4D,$36,$9C,$1F,$81,$C7,$F8,$18,$3F,$7
.db $0F,$E0,$C9,$D9,$3C,$1F,$83,$87,$F0,$58,$3F,$0E,$0F,$C5,$49,$E4
.db $B8,$3F,$3,$87,$F0,$60,$FE,$14,$5F,$8A,$8D,$C9,$98,$3F,$0B,$0F
.db $E0,$C0,$FE,$50,$7F,$1A,$0F,$0D,$9C,$1F,$0A,$8F,$E1,$80,$FE,$50
.db $3F,$9C,$0F,$8E,$87,$0F,$C1,$63,$F8,$60,$7E,$B0,$3E,$B8,$0D,$9B
.db $82,$E0,$FC,$30,$7F,$18,$1F,$9C,$7,$BF,$4,$57,$E2,$4B,$87,$C3
.db $83,$F3,$C0,$B1,$F0,$53,$F8,$42,$7E,$34,$57,$0F,$8E,$7,$EE,$3
.db $3F,$84,$2F,$D6,$5,$B6,$98,$E3,$1F,$8C,$0F,$BE,$0,$3F,$98,$1F
.db $B5,$3,$B3,$94,$A3,$8F,$8E,$0F,$7E,$10,$3D,$CA,$27,$D3,$13,$4D
.db $CA,$93,$87,$9E,$8,$7E,$70,$39,$E3,$23,$CF,$85,$1C,$DC,$A2,$C7
.db $B7,$0,$FE,$70,$23,$F3,$83,$8F,$8E,$0C,$7C,$70,$B1,$E7,$C1,$0F
.db $BE,$8,$3C,$F4,$71,$E3,$A2,$97,$59,$29,$8F,$7C,$10,$FC,$E1,$81
.db $B7,$95,$0E,$9D,$31,$5A,$B1,$63,$1D,$F4,$21,$F7,$C2,$6,$DF,$4A
.db $8C,$AD,$55,$53,$94,$AB,$1E,$B2,$14,$EE,$71,$0C,$73,$B6,$38,$A9
.db $65,$AB,$52,$99,$C7,$CD,$41,$1D,$EA,$A2,$A5,$95,$D6,$CA,$52,$8D
.db $4D,$55,$96,$73,$35,$16,$6C,$A9,$4C,$E6,$AB,$55,$65,$54,$9A,$6D
.db $54,$D3,$4E,$A4,$5A,$69,$A9,$C6,$A5,$57,$1D,$55,$44,$A7,$6A,$CD
.db $32,$AD,$65,$2A,$6B,$56,$A5,$25,$5B,$75,$94,$49,$55,$66,$AA,$A9
.db $9D,$65,$25,$59,$CA,$D4,$A5,$35,$AD,$5A,$54,$56,$B4,$B5,$56,$54
.db $D4,$A6,$AC,$AA,$AA,$A5,$35,$6D,$55,$44,$CA,$D6,$D5,$52,$96,$B5
.db $4A,$6B,$55,$35,$4A,$6A,$D5,$AA,$64,$55,$55,$6B,$2A,$99,$6A,$A9
.db $55,$6A,$AA,$A9,$55,$5A,$D6,$A9,$49,$55,$AA,$D5,$32,$D2,$AD,$52
.db $55,$57,$55,$2A,$55,$5A,$B4,$AA,$52,$AB,$5A,$AA,$AA,$AA,$AB,$54
.db $95,$6A,$D3,$2A,$96,$9A,$D6,$95,$28,$CA,$DA,$AA,$95,$55,$36,$AA
.db $92,$D5,$AA,$AA,$95,$AB,$56,$A9,$26,$55,$5B,$55,$4A,$AA,$AB,$34
.db $A4,$AB,$57,$52,$92,$AA,$DD,$65,$25,$2A,$AE,$B2,$D4,$B2,$B1,$E6
.db $34,$C9,$E5,$98,$A6,$56,$D6,$64,$A9,$4D,$56,$99,$95,$6A,$E3,$8E
.db $46,$3C,$EC,$91,$57,$36,$65,$53,$54,$CB,$55,$52,$66,$B4,$72,$CC
.db $47,$BA,$92,$2B,$6A,$CD,$2A,$AA,$A9,$AB,$54,$C9,$AC,$E3,$8E,$4A
.db $79,$CA,$52,$9C,$D5,$53,$2A,$A6,$55,$AA,$CA,$69,$AB,$0E,$71,$A5
.db $CE,$65,$29,$6D,$55,$55,$54,$D2,$AA,$AD,$4A,$6A,$AC,$C3,$9C,$63
.db $53,$9A,$52,$CD,$AA,$AA,$9A,$CA,$A9,$AB,$4A,$6A,$AA,$A8,$E7,$19
.db $55,$AA,$98,$AB,$56,$59,$58,$E6,$31,$D5,$94,$B3,$5A,$9C,$C7,$19
.db $95,$AC,$71,$95,$6B,$31,$9C,$63,$35,$59,$4C,$B3,$56,$69,$52,$CC
.db $CB,$33,$55,$55,$55,$9A,$66,$AA,$65,$55,$66,$AC,$65,$66,$65,$58
.db $CC,$B2,$D5,$35,$4B,$2C,$E6,$38,$CC,$C7,$34,$CE,$35,$56,$AA,$A9
.db $55,$59,$55,$56,$A6,$65,$A5,$55,$33,$4C,$AA,$AA,$AB,$2A,$CB,$35
.db $32,$D5,$4C,$CC,$D5,$55,$59,$33,$35,$4D,$55,$55,$4D,$4D,$32,$AA
.db $AA,$B3,$2A,$AA,$AA,$AA,$A6,$AA,$AB,$2D,$55,$55,$55,$55,$55,$55
.db $4E,$55,$58,$E5,$55,$32,$B2,$A6,$69,$A9,$A6,$AA,$AA,$AA,$AA,$B2
.db $CA,$AD,$33,$33,$4C,$D4,$D3,$4D,$53,$55,$53,$2A,$AA,$AA,$AA,$AA
.db $AA,$AA,$AA,$A9,$5A,$69,$AA,$AA,$AC,$D5,$54,$CC,$AB,$4C,$AC,$B5
.db $35,$2C,$CC,$AA,$B2,$9A,$55,$96,$A6,$AA,$A6,$A5,$55,$AA,$AB,$2A
.db $CD,$4B,$2A,$B2,$CB,$2A,$AA,$B4,$CC,$AA,$9A,$59,$69,$59,$65,$55
.db $59,$55,$55,$55,$56,$66,$AA,$AB,$2A,$AA,$AA,$A9,$9A,$6A,$AA,$AA
.db $AA,$95,$55,$55,$55,$55,$55,$55,$55,$56,$55,$95,$A6,$A6,$AA,$AA

.END



Link to comment
Share on other sites

Well... I got some digitized sound to work. You guys might think this is pretty cool. Let's discuss for a second the severe limitation we have in terms of playing samples on the Aquarius. First off, all you have is a signal that is either 1 or a 0 to make the sound. Literally, you send a bit to the sound output port and it sends out a high signal or low signal. So the only waveform you really have available to you is a square wave. This works fine for buzzes and beeps, but terrible to reproduce sound. Now, we could go ahead and try to use what they used on PC Speakers and go for a pulse width modulation (gives you about 6 bit fidelity, but stored as 8 bits) but the problem there is that we just simply do not have enough space to do anything useful. I try to stick with 8k roms because a) you can compile it with TASM and b) you can run it on the emulator and c) I'm just not ready for bank switching yet. So here is the problem. The Aquarius can put out a 10 kHZ tone at best, well, at least that is what the specifications say. So, that means even 11025 hz is too much for a sampling rate... at least I think so.

 

Let's say we wanted 6 seconds of audio and a sampling rate of 8000 hz. That would mean 8,000 samples at 8 bits * 6 seconds, or a total of 384,000 bits / 8 / 1024 = 46.9 kb, or way over my self-imposed 8kb limit. I still want to encode 6 seconds of audio and that is where a 1 bit sample comes in. Without getting into too much theory, it is possible to represent audio with only 1 bit, there's lots of documentation out there about this. So I went ahead and converted my 6 second sample down to 1 bit, and then I wrote a program to send those bits (with a delay of course) to the sound output port of the Aquarius.

 

It works in the emulator. The sound quality kind of sucks, but hey, what do you want with a sample that is 6 seconds long and 7,012 bytes of data? Anyway, here is the BIN for you to try on the emulator and a wave file if you just want to listen to it. I'm not sure if it could be made to sound better, I have to experiment more. I've included the original wave file if you want to hear what I am trying to encode. Thoughts? Worth pursuing further?

 

Output from Real Aquarius: Wave1.wav

 

BIN File for Emulator: serious.bin

 

Original WAV File: seriousBLEEP.wav

Link to comment
Share on other sites

 

It works in the emulator. The sound quality kind of sucks, but hey, what do you want with a sample that is 6 seconds long and 7,012 bytes of data? Anyway, here is the BIN for you to try on the emulator and a wave file if you just want to listen to it. I'm not sure if it could be made to sound better, I have to experiment more. I've included the original wave file if you want to hear what I am trying to encode. Thoughts? Worth pursuing further?

 

Output from Real Aquarius: Wave1.wav

 

BIN File for Emulator: serious.bin

 

Original WAV File: seriousBLEEP.wav

 

Hey, how's this data sound on a real Aquarius? If I counted right, it's 6400 bytes.

 

 .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$50,$12,$00,$48,$01,$00
.db $00,$28,$14,$00,$50,$00,$00,$08,$14,$0A,$00,$40,$40,$80,$08,$50
.db $12,$01,$41,$02,$00,$01,$40,$91,$04,$08,$08,$00,$05,$02,$00,$20
.db $40,$20,$00,$50,$10,$02,$02,$00,$80,$02,$81,$00,$20,$20,$10,$00
.db $28,$10,$02,$04,$81,$00,$0A,$02,$40,$80,$90,$20,$02,$80,$48,$10
.db $08,$08,$00,$A0,$12,$02,$02,$01,$00,$28,$04,$80,$40,$00,$40,$0A
.db $01,$20,$04,$80,$00,$01,$20,$09,$00,$90,$02,$00,$2A,$00,$90,$09
.db $00,$20,$02,$40,$04,$80,$24,$00,$00,$12,$00,$44,$01,$00,$00,$00
.db $90,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$00
.db $00,$00,$00,$40,$00,$00,$00,$00,$00,$48,$00,$00,$00,$00,$20,$A0
.db $08,$00,$00,$00,$20,$A0,$08,$10,$00,$00,$00,$A0,$04,$10,$20,$00
.db $00,$A0,$04,$00,$20,$00,$00,$A0,$04,$00,$40,$00,$10,$50,$00,$00
.db $24,$00,$00,$28,$00,$00,$12,$00,$20,$0A,$00,$40,$04,$00,$40,$02
.db $80,$09,$01,$20,$12,$00,$A0,$02,$40,$50,$00,$80,$14,$00,$48,$0A
.db $00,$08,$02,$80,$0A,$00,$90,$02,$00,$28,$00,$40,$09,$00,$00,$02
.db $40,$04,$00,$90,$00,$00,$20,$00,$20,$02,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $04,$00,$00,$01,$00,$00,$00,$04,$00,$00,$00,$20,$00,$00,$01,$00
.db $00,$01,$24,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$81,$00,$00
.db $00,$00,$00,$00,$00,$10,$00,$00,$02,$00,$00,$00,$02,$80,$02,$09
.db $20,$00,$00,$20,$A0,$00,$00,$48,$00,$00,$00,$50,$02,$20,$48,$00
.db $00,$00,$A0,$04,$80,$A4,$00,$80,$01,$40,$09,$00,$A0,$04,$80,$0A
.db $00,$2A,$02,$80,$24,$00,$50,$02,$A0,$2A,$00,$90,$05,$00,$14,$01
.db $48,$09,$01,$50,$02,$80,$52,$01,$20,$48,$01,$40,$12,$00,$40,$24
.db $80,$52,$05,$40,$10,$12,$00,$48,$01,$20,$04,$12,$00,$28,$01,$20
.db $00,$24,$00,$09,$00,$24,$00,$4A,$00,$12,$00,$48,$00,$94,$80,$24
.db $00,$12,$01,$24,$00,$49,$00,$24,$89,$10,$00,$48,$00,$24,$44,$80
.db $02,$40,$00,$81,$11,$00,$04,$90,$00,$42,$44,$00,$12,$00,$01,$02
.db $44,$00,$12,$40,$00,$01,$12,$00,$04,$90,$00,$01,$08,$90,$00,$04
.db $80,$00,$00,$00,$40,$00,$00,$20,$00,$00,$00,$00,$00,$00,$04,$80
.db $00,$10,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$00,$09,$00,$00
.db $01,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$00
.db $04,$44,$00,$00,$02,$04,$00,$00,$04,$00,$00,$00,$00,$00,$00,$00
.db $00,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$22,$00,$02,$40,$00,$00
.db $09,$20,$00,$40,$00,$00,$01,$24,$00,$08,$00,$00,$00,$49,$00,$04
.db $80,$00,$00,$12,$40,$09,$00,$00,$00,$01,$24,$01,$00,$09,$00,$00
.db $24,$80,$10,$01,$20,$00,$02,$48,$01,$20,$12,$00,$00,$0A,$40,$02
.db $00,$48,$00,$00,$09,$00,$00,$04,$90,$00,$00,$04,$80,$00,$01,$08
.db $00,$00,$00,$20,$00,$00,$00,$80,$00,$00,$02,$08,$00,$01,$20,$00
.db $00,$00,$02,$40,$00,$01,$08,$00,$00,$00,$00,$08,$00,$00,$20,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$10,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$12,$40,$04,$48,$04,$00,$00,$14,$80,$04,$40,$09,$00,$00,$14
.db $80,$08,$40,$08,$00,$00,$14,$80,$08,$21,$04,$00,$00,$04,$80,$00
.db $24,$80,$00,$00,$00,$42,$00,$01,$20,$00,$00,$00,$10,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$04,$20,$04,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00
.db $00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$90,$00,$80,$00
.db $00,$00,$00,$05,$00,$05,$00,$09,$00,$00,$00,$50,$00,$28,$00,$24
.db $00,$00,$05,$00,$05,$08,$04,$80,$00,$02,$80,$02,$40,$05,$00,$00
.db $05,$00,$04,$00,$12,$00,$40,$14,$00,$50,$00,$A0,$00,$02,$80,$05
.db $20,$12,$00,$00,$A0,$01,$50,$01,$40,$00,$50,$00,$A8,$01,$40,$00
.db $A4,$00,$A8,$01,$00,$01,$48,$02,$50,$0A,$00,$05,$40,$12,$40,$50
.db $10,$15,$00,$90,$02,$80,$80,$54,$02,$90,$14,$02,$02,$A0,$0A,$00
.db $A0,$20,$15,$01,$28,$0A,$01,$00,$A0,$09,$00,$50,$10,$05,$00,$48
.db $02,$80,$80,$28,$02,$40,$10,$04,$01,$40,$12,$00,$A0,$20,$0A,$40
.db $90,$02,$00,$80,$29,$02,$40,$14,$04,$00,$A4,$02,$00,$48,$00,$02
.db $40,$04,$00,$20,$00,$04,$80,$09,$00,$20,$00,$04,$40,$01,$00,$12
.db $00,$11,$10,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$00,$04,$00,$00
.db $00,$00,$00,$01,$20,$01,$00,$10,$00,$00,$00,$00,$24,$00,$04,$04
.db $80,$00,$00,$00,$24,$00,$08,$01,$20,$00,$00,$00,$24,$00,$10,$02
.db $40,$00,$00,$00,$48,$00,$48,$02,$00,$00,$00,$04,$80,$00,$40,$00
.db $00,$00,$00,$12,$40,$00,$08,$00,$00,$00,$02,$48,$00,$00,$90,$00
.db $00,$00,$49,$00,$00,$00,$00,$00,$00,$12,$00,$00,$00,$40,$00,$00
.db $24,$80,$00,$00,$00,$00,$00,$92,$00,$48,$04,$90,$00,$09,$20,$04
.db $80,$24,$00,$01,$48,$00,$90,$01,$20,$00,$52,$00,$24,$00,$20,$00
.db $52,$00,$12,$00,$08,$00,$94,$00,$12,$00,$12,$04,$90,$00,$50,$00
.db $00,$49,$00,$01,$24,$00,$04,$90,$00,$14,$80,$00,$A4,$00,$02,$90
.db $00,$0A,$40,$00,$29,$00,$00,$92,$00,$01,$24,$00,$02,$40,$00,$04
.db $80,$00,$00,$00,$00,$00,$00,$00,$00,$04,$40,$00,$00,$02,$00,$00
.db $00,$80,$00,$00,$00,$10,$00,$00,$00,$40,$00,$00,$00,$04,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$40,$00,$00,$00,$20,$00,$00,$10,$80,$00,$00,$00,$00,$10
.db $00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$04,$00,$00,$80
.db $00,$01,$20,$00,$01,$00,$00,$0A,$48,$01,$28,$00,$80,$54,$80,$29
.db $40,$09,$05,$48,$02,$90,$12,$00,$54,$80,$52,$02,$40,$05,$48,$05
.db $20,$48,$00,$54,$00,$A2,$05,$00,$0A,$80,$14,$00,$A0,$01,$50,$02
.db $90,$14,$00,$2A,$00,$54,$02,$80,$04,$A0,$0A,$80,$48,$00,$94,$01
.db $50,$09,$00,$12,$80,$0A,$00,$A0,$02,$50,$01,$48,$04,$80,$4A,$00
.db $2A,$00,$90,$09,$48,$04,$90,$02,$02,$44,$00,$12,$00,$00,$91,$00
.db $48,$80,$00,$12,$40,$01,$10,$00,$84,$88,$00,$44,$00,$00,$91,$00
.db $12,$40,$00,$12,$40,$01,$22,$00,$24,$A4,$00,$24,$80,$00,$49,$00
.db $04,$90,$00,$09,$10,$00,$49,$20,$00,$91,$00,$04,$90,$00,$09,$10
.db $00,$12,$90,$00,$92,$00,$00,$A4,$00,$02,$48,$00,$01,$20,$00,$09
.db $20,$00,$01,$20,$00,$12,$40,$00,$09,$20,$00,$49,$10,$00,$24,$80
.db $01,$24,$40,$01,$24,$00,$09,$24,$00,$0A,$90,$00,$4A,$90,$00,$49
.db $00,$02,$48,$00,$12,$90,$00,$12,$40,$00,$94,$80,$00,$92,$00,$09
.db $48,$00,$24,$88,$00,$24,$80,$02,$12,$20,$00,$92,$00,$11,$24,$40
.db $02,$49,$00,$48,$49,$00,$01,$20,$00,$90,$91,$20,$09,$20,$00,$00
.db $92,$40,$02,$40,$02,$00,$92,$00,$09,$20,$01,$24,$89,$20,$09,$20
.db $00,$20,$49,$20,$01,$20,$00,$22,$44,$90,$00,$90,$00,$11,$24,$90
.db $00,$92,$00,$00,$12,$24,$00,$24,$00,$00,$04,$90,$00,$12,$20,$02
.db $00,$24,$40,$04,$80,$00,$00,$09,$20,$01,$20,$00,$10,$01,$20,$00
.db $48,$00,$04,$80,$49,$00,$12,$00,$08,$80,$12,$00,$09,$20,$02,$40
.db $92,$00,$09,$20,$01,$10,$12,$00,$09,$20,$04,$80,$12,$00,$12,$40
.db $09,$00,$24,$00,$24,$80,$12,$00,$48,$00,$54,$00,$48,$09,$20,$01
.db $48,$01,$24,$24,$80,$05,$20,$09,$00,$12,$00,$2A,$00,$24,$00,$90
.db $00,$90,$00,$48,$24,$90,$02,$48,$02,$41,$12,$40,$12,$40,$09,$00
.db $48,$00,$49,$00,$24,$11,$24,$00,$24,$00,$00,$20,$88,$00,$48,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$04,$80,$02,$00,$00,$00,$09,$00,$00,$00,$00,$01,$24,$00
.db $12,$00,$00,$00,$90,$00,$90,$00,$40,$09,$20,$02,$40,$04,$00,$25
.db $00,$09,$00,$10,$00,$92,$00,$24,$00,$80,$04,$A0,$01,$20,$02,$00
.db $25,$00,$09,$00,$20,$01,$24,$00,$90,$01,$00,$09,$20,$04,$80,$00
.db $00,$92,$00,$44,$01,$00,$09,$40,$02,$40,$00,$00,$49,$00,$22,$00
.db $80,$02,$40,$01,$10,$04,$00,$12,$00,$08,$80,$20,$00,$94,$00,$52
.db $01,$00,$02,$40,$02,$90,$04,$00,$12,$80,$08,$80,$24,$00,$48,$00
.db $52,$00,$80,$02,$50,$01,$48,$04,$80,$04,$90,$02,$40,$09,$00,$12
.db $80,$09,$20,$12,$00,$25,$00,$14,$80,$08,$00,$14,$40,$12,$00,$09
.db $01,$24,$80,$24,$40,$12,$08,$92,$00,$92,$00,$08,$24,$90,$00,$88
.db $00,$01,$12,$40,$12,$40,$00,$48,$92,$00,$92,$00,$10,$48,$80,$02
.db $40,$00,$04,$48,$00,$24,$00,$00,$24,$40,$01,$20,$00,$01,$22,$00
.db $09,$00,$00,$09,$10,$00,$92,$00,$00,$24,$80,$04,$40,$00,$21,$22
.db $00,$12,$00,$01,$24,$88,$00,$24,$00,$00,$92,$20,$01,$24,$00,$12
.db $44,$80,$04,$90,$00,$89,$12,$00,$12,$40,$01,$02,$49,$00,$49,$00
.db $02,$09,$24,$01,$20,$00,$90,$24,$90,$04,$80,$02,$40,$92,$40,$14
.db $80,$08,$02,$48,$00,$48,$00,$20,$09,$20,$00,$90,$00,$80,$12,$40
.db $02,$90,$02,$40,$49,$00,$0A,$40,$09,$01,$24,$80,$29,$00,$24,$04
.db $A8,$00,$A4,$02,$40,$02,$A0,$02,$90,$09,$00,$24,$80,$0A,$40,$24
.db $00,$92,$00,$12,$00,$90,$02,$48,$01,$24,$01,$20,$09,$48,$04,$A0
.db $04,$80,$12,$40,$05,$20,$12,$00,$49,$00,$0A,$40,$12,$01,$24,$00
.db $29,$00,$24,$01,$20,$00,$90,$00,$90,$24,$90,$02,$40,$00,$80,$12
.db $40,$05,$00,$02,$04,$88,$00,$24,$00,$08,$12,$20,$00,$24,$00,$20
.db $48,$80,$00,$80,$00,$02,$44,$00,$04,$80,$00,$09,$10,$00,$08,$80
.db $00,$22,$48,$00,$48,$00,$00,$48,$80,$00,$92,$00,$00,$92,$00,$01
.db $24,$00,$01,$24,$00,$00,$80,$00,$01,$24,$00,$01,$20,$00,$01,$10
.db $00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $A0,$00,$20,$00,$40,$01,$50,$00,$90,$01,$00,$02,$80,$01,$00,$80
.db $00,$0A,$81,$04,$04,$08,$08,$14,$08,$20,$10,$40,$40,$A0,$20,$81
.db $02,$02,$02,$81,$0A,$08,$08,$10,$14,$00,$48,$20,$40,$80,$50,$01
.db $01,$02,$00,$02,$80,$04,$04,$08,$00,$0A,$00,$20,$20,$40,$00,$28
.db $00,$80,$81,$00,$01,$40,$02,$04,$04,$00,$02,$80,$10,$10,$40,$00
.db $0A,$00,$40,$20,$00,$08,$28,$01,$00,$84,$00,$40,$A0,$02,$02,$10
.db $40,$82,$80,$12,$08,$41,$02,$05,$00,$20,$20,$04,$08,$14,$00,$80
.db $82,$08,$10,$28,$01,$00,$04,$10,$20,$50,$01,$01,$08,$20,$40,$50
.db $02,$40,$10,$20,$80,$50,$02,$40,$12,$40,$00,$A0,$02,$00,$10,$20
.db $00,$50,$02,$40,$12,$00,$00,$50,$01,$20,$12,$00,$00,$28,$01,$40
.db $09,$00,$00,$54,$01,$40,$09,$00,$00,$28,$01,$40,$09,$00,$00,$28
.db $01,$40,$04,$80,$00,$28,$00,$A0,$0A,$00,$00,$50,$00,$80,$05,$00
.db $00,$A0,$01,$08,$04,$80,$00,$A0,$00,$90,$04,$80,$00,$A0,$00,$48
.db $01,$20,$00,$12,$00,$09,$00,$24,$00,$01,$20,$00,$20,$02,$00,$00
.db $00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$12,$00,$08,$00,$80,$00,$02,$80,$04,$80,$09,$00,$20
.db $A0,$00,$A0,$02,$40,$00,$28,$00,$28,$01,$20,$00,$14,$00,$28,$00
.db $50,$00,$0A,$00,$14,$00,$A8,$00,$0A,$00,$14,$00,$50,$00,$14,$00
.db $28,$01,$40,$00,$14,$00,$50,$02,$80,$00,$28,$00,$A0,$05,$00,$00
.db $A8,$02,$80,$14,$00,$41,$50,$05,$00,$50,$01,$05,$20,$14,$00,$90
.db $04,$14,$00,$50,$05,$00,$20,$50,$02,$80,$28,$01,$02,$80,$14,$01
.db $40,$04,$14,$00,$A0,$0A,$00,$80,$A0,$05,$00,$A0,$04,$0A,$00,$50
.db $0A,$00,$80,$A0,$05,$00,$A0,$04,$0A,$00,$50,$0A,$00,$40,$A0,$04
.db $00,$A0,$08,$0A,$00,$40,$14,$00,$81,$40,$08,$02,$80,$10,$28,$01
.db $20,$28,$01,$02,$80,$20,$05,$00,$20,$50,$05,$00,$A0,$04,$0A,$00
.db $A0,$14,$01,$01,$40,$14,$02,$80,$10,$28,$02,$80,$48,$02,$05,$00
.db $20,$09,$00,$20,$A0,$04,$80,$90,$02,$0A,$00,$48,$12,$00,$20,$A0
.db $04,$81,$20,$08,$05,$00,$28,$12,$00,$80,$50,$02,$81,$40,$01,$02
.db $80,$14,$0A,$00,$20,$14,$00,$A0,$50,$01,$00,$A0,$05,$01,$40,$04
.db $02,$80,$12,$04,$80,$10,$0A,$00,$48,$14,$00,$00,$14,$00,$90,$28
.db $00,$00,$28,$00,$A0,$28,$00,$80,$28,$00,$90,$28,$00,$00,$14,$00
.db $50,$0A,$00,$10,$0A,$80,$28,$05,$00,$09,$02,$80,$0A,$01,$48,$04
.db $80,$A8,$02,$80,$52,$01,$20,$14,$00,$50,$0A,$40,$48,$05,$40,$14
.db $02,$A0,$09,$00,$A8,$02,$80,$54,$01,$20,$0A,$00,$50,$04,$80,$24
.db $01,$50,$05,$00,$28,$02,$40,$15,$00,$50,$02,$80,$12,$00,$A8,$02
.db $80,$14,$00,$90,$05,$40,$14,$00,$A0,$04,$80,$14,$00,$50,$05,$00
.db $24,$00,$50,$02,$80,$14,$00,$90,$01,$40,$0A,$00,$50,$02,$40,$05
.db $00,$14,$01,$40,$09,$00,$05,$00,$24,$02,$40,$08,$00,$05,$00,$24
.db $01,$20,$12,$00,$01,$20,$09,$00,$40,$04,$00,$08,$20,$00,$00,$00
.db $00,$40,$00,$82,$00,$00,$00,$00,$00,$00,$04,$04,$80,$02,$00,$00
.db $00,$00,$04,$04,$00,$04,$00,$00,$00,$00,$08,$00,$80,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$90,$00,$00,$02,$48,$01
.db $20,$00,$01,$08,$00,$08,$40,$00,$94,$00,$08,$00,$00,$09,$40,$01
.db $20,$00,$09,$40,$04,$80,$10,$02,$50,$02,$50,$04,$01,$28,$01,$20
.db $04,$00,$94,$00,$90,$01,$00,$94,$00,$90,$02,$40,$4A,$00,$48,$01
.db $00,$4A,$00,$14,$00,$80,$25,$00,$0A,$00,$40,$09,$40,$02,$40,$00
.db $02,$50,$00,$90,$00,$00,$94,$00,$12,$00,$00,$09,$20,$01,$24,$00
.db $00,$49,$00,$09,$20,$04,$80,$48,$00,$29,$00,$24,$00,$A4,$00,$A4
.db $00,$90,$01,$50,$01,$48,$00,$90,$02,$50,$01,$50,$01,$20,$01,$52
.db $00,$A8,$01,$48,$00,$24,$80,$29,$00,$52,$00,$81,$28,$02,$90,$0A
.db $40,$24,$04,$A0,$0A,$00,$54,$01,$20,$0A,$80,$14,$00,$A8,$04,$80
.db $05,$00,$04,$00,$52,$04,$80,$01,$40,$01,$00,$28,$00,$80,$00,$28
.db $00,$24,$02,$90,$08,$00,$05,$20,$02,$40,$24,$80,$00,$00,$52,$00
.db $28,$00,$48,$00,$00,$02,$90,$01,$48,$01,$20,$00,$00,$09,$20,$0A
.db $40,$09,$00,$00,$00,$52,$00,$29,$00,$50,$00,$00,$00,$92,$00,$A4
.db $01,$20,$01,$00,$01,$24,$01,$24,$02,$40,$00,$00,$41,$24,$01,$48
.db $02,$40,$00,$00,$40,$92,$00,$92,$01,$20,$00,$00,$20,$84,$00,$48
.db $00,$90,$00,$00,$10,$49,$00,$24,$00,$48,$00,$00,$10,$24,$80,$12
.db $40,$00,$00,$00,$08,$10,$80,$02,$40,$00,$00,$00,$02,$00,$00,$00
.db $24,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$12,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$20
.db $00,$04,$80,$00,$00,$02,$40,$00,$12,$00,$00,$00,$01,$20,$00,$12
.db $00,$02,$00,$04,$00,$00,$90,$00,$00,$02,$48,$00,$09,$20,$00,$00
.db $02,$40,$00,$24,$80,$00,$00,$09,$00,$00,$22,$00,$00,$02,$48,$00
.db $09,$00,$00,$00,$02,$40,$00,$09,$20,$00,$00,$09,$00,$00,$24,$80
.db $00,$00,$92,$00,$00,$92,$00,$00,$01,$24,$00,$04,$90,$00,$00,$00
.db $24,$00,$00,$92,$00,$00,$00,$10,$00,$00,$92,$00,$00,$00,$12,$40
.db $00,$09,$20,$00,$00,$00,$12,$00,$00,$48,$00,$00,$00,$01,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$80
.db $00,$01,$20,$00,$40,$02,$10,$00,$00,$50,$00,$12,$00,$40,$00,$00
.db $0A,$00,$01,$00,$00,$80,$00,$05,$00,$00,$00,$80,$04,$00,$00,$A0
.db $00,$00,$12,$00,$00,$00,$0A,$00,$00,$00,$40,$00,$00,$00,$A4,$00
.db $00,$04,$00,$00,$00,$05,$20,$00,$00,$04,$00,$00,$00,$09,$00,$00
.db $02,$40,$00,$00,$00,$49,$00,$00,$08,$00,$20,$00,$00,$90,$00,$00
.db $01,$00,$00,$00,$00,$90,$00,$00,$12,$40,$00,$00,$00,$24,$00,$00
.db $00,$00,$80,$00,$00,$01,$20,$00,$40,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$10,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00
.db $08,$10,$00,$10,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$40,$00,$00,$00,$00,$00,$08,$40,$00,$00,$00,$00
.db $00,$00,$01,$00,$00,$00,$40,$00,$20,$01,$02,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$04,$00,$00,$00,$00,$00,$09,$20,$00,$10,$00,$00,$04,$90
.db $00,$24,$80,$00,$01,$24,$00,$24,$00,$12,$01,$28,$00,$24,$80,$00
.db $02,$50,$00,$29,$00,$00,$04,$A0,$00,$A4,$00,$48,$09,$40,$01,$48
.db $00,$48,$25,$00,$02,$90,$01,$00,$4A,$00,$12,$40,$02,$00,$94,$00
.db $2A,$00,$12,$01,$28,$00,$94,$00,$24,$02,$50,$01,$28,$01,$20,$05
.db $20,$02,$90,$02,$40,$05,$50,$02,$90,$05,$00,$05,$48,$02,$90,$05
.db $20,$02,$90,$01,$48,$02,$90,$01,$48,$00,$A4,$01,$48,$00,$52,$00
.db $54,$00,$48,$00,$29,$00,$15,$00,$24,$80,$0A,$80,$05,$40,$04,$80
.db $05,$48,$01,$50,$00,$90,$01,$50,$00,$52,$00,$24,$00,$94,$00,$29
.db $00,$09,$00,$54,$00,$14,$80,$09,$00,$29,$00,$14,$80,$04,$80,$29
.db $00,$12,$40,$04,$80,$24,$00,$14,$80,$04,$80,$24,$80,$14,$80,$01
.db $00,$24,$80,$12,$40,$00,$80,$12,$00,$0A,$40,$00,$80,$09,$20,$02
.db $90,$00,$80,$05,$20,$01,$48,$00,$24,$01,$50,$00,$A4,$00,$12,$00
.db $52,$00,$2A,$40,$04,$80,$14,$80,$0A,$90,$02,$40,$0A,$90,$02,$A0
.db $01,$48,$01,$52,$00,$54,$00,$49,$00,$2A,$80,$0A,$80,$09,$20,$01
.db $50,$00,$A4,$00,$A4,$00,$0A,$40,$04,$90,$04,$80,$00,$29,$00,$09
.db $00,$12,$40,$00,$92,$00,$08,$00,$24,$00,$00,$90,$00,$00,$00,$00
.db $00,$00,$49,$00,$00,$20,$00,$00,$00,$12,$40,$00,$00,$00,$00,$00
.db $00,$04,$80,$00,$24,$00,$00,$00,$00,$80,$20,$00,$00,$08,$00,$00
.db $00,$00,$20,$00,$00,$00,$00,$24,$00,$00,$21,$00,$00,$42,$10,$21
.db $08,$40,$00,$81,$08,$04,$00,$00,$40,$90,$80,$00,$00,$80,$24,$09
.db $09,$02,$00,$00,$01,$00,$00,$01,$08,$48,$42,$10,$84,$00,$04,$00
.db $01,$20,$00,$40,$08,$01,$08,$44,$80,$00,$21,$02,$00,$10,$84,$00
.db $40,$08,$42,$04,$21,$00,$00,$00,$08,$42,$10,$10,$84,$21,$08,$49
.db $21,$08,$01,$04,$80,$00,$09,$08,$40,$40,$02,$42,$42,$01,$09,$00
.db $00,$81,$00,$10,$02,$42,$10,$00,$48,$42,$10,$90,$00,$02,$40,$00
.db $20,$48,$10,$21,$01,$21,$00,$00,$10,$24,$4A,$10,$00,$04,$20,$90
.db $00,$09,$08,$52,$10,$90,$24,$04,$20,$40,$42,$40,$10,$81,$00,$91
.db $20,$08,$24,$20,$09,$12,$00,$80,$02,$40,$08,$10,$89,$00,$48,$09
.db $08,$42,$11,$09,$00,$21,$48,$91,$20,$40,$02,$10,$81,$02,$10,$20
.db $42,$10,$92,$00,$00,$04,$01,$20,$08,$42,$11,$21,$00,$80,$04,$80
.db $40,$01,$00,$00,$21,$08,$10,$24,$20,$24,$00,$24,$00,$21,$08,$42
.db $10,$02,$00,$00,$09,$00,$10,$20,$01,$02,$00,$00,$20,$01,$20,$12
.db $10,$00,$00,$48,$10,$04,$24,$00,$21,$08,$00,$80,$00,$90,$00,$00
.db $00,$00,$00,$00,$00,$20,$00,$00,$92,$00,$02,$48,$00,$12,$40,$00
.db $00,$0A,$80,$00,$24,$00,$00,$00,$54,$00,$04,$80,$04,$90,$05,$50
.db $00,$A4,$00,$A4,$00,$0A,$90,$05,$20,$12,$90,$01,$04,$A0,$01,$00
.db $24,$80,$20,$01,$54,$00,$48,$04,$90,$08,$00,$0A,$80,$05,$00,$29
.db $00,$24,$00,$0A,$A0,$0A,$80,$29,$00,$48,$01,$20,$2A,$00,$24,$01
.db $48,$02,$40,$08,$00,$00,$A8,$00,$A4,$04,$80,$04,$00,$12,$00,$00

 

Here's the program I made it with, in all its ugliness.

 

#include <stdio.h>

main()
{
   int c;
   int avg = 0;
   int out;
   int i;
   int v = 0;
   
   // skip WAV header
   for (i = 0; i < 44; i++)
       getchar();

   i = 0;
   while ((c = getchar()) != EOF)
   {
       c -= 0x60;
       c *= 96;
       c >>= 7;
       if (c < 0x20) c = 0;

       out = c > avg ? 255 : 0;
       avg = (3*out + avg + 1) >> 2;

       v <<= 1;
       if (out)
           v |= 1;

       if ((i & 127) == 0)
           printf(" .db ");
       else if ((i & 7) == 0)
           putchar(',');

       if ((i & 7) == 7)
           printf("$%.2X", v & 0xFF);

       if ((i & 127) == 127)
           putchar('\n');

       i++;
   }

   while ((i++ & 7) != 7)
       v <<= 1;
   printf("$%.2X\n", v);

   return 0;
}

Link to comment
Share on other sites

Well... I got some digitized sound to work. You guys might think this is pretty cool. Let's discuss for a second the severe limitation we have in terms of playing samples on the Aquarius. First off, all you have is a signal that is either 1 or a 0 to make the sound. Literally, you send a bit to the sound output port and it sends out a high signal or low signal. So the only waveform you really have available to you is a square wave. This works fine for buzzes and beeps, but terrible to reproduce sound. Now, we could go ahead and try to use what they used on PC Speakers and go for a pulse width modulation (gives you about 6 bit fidelity, but stored as 8 bits) but the problem there is that we just simply do not have enough space to do anything useful. I try to stick with 8k roms because a) you can compile it with TASM and b) you can run it on the emulator and c) I'm just not ready for bank switching yet. So here is the problem. The Aquarius can put out a 10 kHZ tone at best, well, at least that is what the specifications say. So, that means even 11025 hz is too much for a sampling rate... at least I think so.

 

Let's say we wanted 6 seconds of audio and a sampling rate of 8000 hz. That would mean 8,000 samples at 8 bits * 6 seconds, or a total of 384,000 bits / 8 / 1024 = 46.9 kb, or way over my self-imposed 8kb limit. I still want to encode 6 seconds of audio and that is where a 1 bit sample comes in. Without getting into too much theory, it is possible to represent audio with only 1 bit, there's lots of documentation out there about this. So I went ahead and converted my 6 second sample down to 1 bit, and then I wrote a program to send those bits (with a delay of course) to the sound output port of the Aquarius.

 

It works in the emulator. The sound quality kind of sucks, but hey, what do you want with a sample that is 6 seconds long and 7,012 bytes of data? Anyway, here is the BIN for you to try on the emulator and a wave file if you just want to listen to it. I'm not sure if it could be made to sound better, I have to experiment more. I've included the original wave file if you want to hear what I am trying to encode. Thoughts? Worth pursuing further?

 

Output from Real Aquarius: Wave1.wav

 

BIN File for Emulator: serious.bin

 

Original WAV File: seriousBLEEP.wav

 

 

It is cool. The first couple times listening to the Aq wav, it reminded me of a part of Star Wars when X-Wing radio chatter can be heard in the background. Then, I made out the "serious bleep", part, but couldn't place it. Of course, once I heard the original, I could follow the quote through the Aq wav.

 

Always looking forward to more.

 

BTW, didn't Harrold Spier do a hack of Pac Mr. with some digitized speech?

 

It probably uses the AY sound, though. Coincidentally, it also used the same bleeped word. ;-)

 

I think it comes bundled with the emulator. I'll check.

 

Edit: I checked, and it is in the cassette folder of the emulator titled: PacMrOhShucks

 

It probably does not use the AY, since it actually sounds like a cleaner version of your method. It does still have the high pitched buzzing, though.

Edited by Jay Silverheels
Link to comment
Share on other sites

 

It is cool. The first couple times listening to the Aq wav, it reminded me of a part of Star Wars when X-Wing radio chatter can be heard in the background. Then, I made out the "serious bleep", part, but couldn't place it. Of course, once I heard the original, I could follow the quote through the Aq wav.

 

Always looking forward to more.

 

BTW, didn't Harrold Spier do a hack of Pac Mr. with some digitized speech?

 

It probably uses the AY sound, though. Coincidentally, it also used the same bleeped word. ;-)

 

I think it comes bundled with the emulator. I'll check.

 

Edit: I checked, and it is in the cassette folder of the emulator titled: PacMrOhShucks

 

It probably does not use the AY, since it actually sounds like a cleaner version of your method. It does still have the high pitched buzzing, though.

 

Too funny... I thought of the Star Wars radio chatter as well. The converter that Intvnut posted makes a better sound, but it still has the high pitched beep. I know that I am adding a significant pause in my code to get to the right speed, I have a sneaking suspicion that the Aquarius can handle a much higher 1 bit sampling rate, but then I would need a lot more cartridge space. Time to look at bank switching.

Link to comment
Share on other sites

Hey, how's this data sound on a real Aquarius? If I counted right, it's 6400 bytes.

 

It sounds much better than mine. Did you just assign a 1 to anything over 127 and a 0 to anything under?

 

Not exactly. I realized that at this low sample rate that straddling DC with a 1/0/1/0 pattern would create an annoying whine. So, I did decide to focus mostly on the positive swing of the signal. I actually biased it slightly (0x60 instead of 0x80), scaled it (96/128), and then threw out anything below 0x20 treating it as 0. This did clamp noise near DC away, much like a squelch filter might on a walkie-talkie.

 

For what remained, I used a weighted average scheme. If the input was above the weighted average, I output a 1 (scoring it 255 against the weighted average), otherwise I output a 0. The weighted average just takes 1/4 the previous average plus 3/4 the current sample. (I experimented with different weightings, and it didn't make a dramatic difference.)

 

I think the biggest improvement came from getting rid of the 1/0/1/0 whistle that gave it that "Star Wars background intercom voice" quality.

 

I was actually rather surprised how well it worked. The resulting sample is actually mostly zeroes, which suggests you could compress it very, very well with some sort of run-length encoding rather than as a 1-bpp sample. Getting the timing of the RLE decompress loop down might be tricky, but it seems promising. That'd allow you to store much longer samples.

 

At any rate, I guess this shows that the technique works for getting a sample out of the speaker, and the rest of the creativity will be in the encoding. ;-)

Edited by intvnut
Link to comment
Share on other sites

I'm glad to see the progress on this! Using sound samples was an area I had planned on looking into myself; it will be necessary for some game ideas I have in mind. If nothing else, perhaps this will make it easier to create more elaborate sound effects, particularly the kinds you hear in 2600 games (the "engine noise" and the other whooshing white noise effects many of us are familiar with). The original Aquarius releases used relatively simple buzzes and beeps, but I always knew that even the built-in sound was capable of doing more.

Link to comment
Share on other sites

BTW, didn't Harrold Spier do a hack of Pac Mr. with some digitized speech?

 

It probably uses the AY sound, though. Coincidentally, it also used the same bleeped word. ;-)

 

I think it comes bundled with the emulator. I'll check.

 

Edit: I checked, and it is in the cassette folder of the emulator titled: PacMrOhShucks

 

Yes, Harold used the common sound channel as well.

Also check the folder Quicktyp\OtherFun; you will find another program by Harold that records sound and plays it back.

You can record your voice into a 8-bits WAV file and use the Speech program to record it, and play it back.

Unfortunattely the recorded session is in RAM and the program does not stores it to tape.

 

You can disassemble the speech program; it is very interesting.

 

Regs

Martin

Link to comment
Share on other sites

BTW, didn't Harrold Spier do a hack of Pac Mr. with some digitized speech?

 

It probably uses the AY sound, though. Coincidentally, it also used the same bleeped word. ;-)

 

I think it comes bundled with the emulator. I'll check.

 

Edit: I checked, and it is in the cassette folder of the emulator titled: PacMrOhShucks

 

Yes, Harold used the common sound channel as well.

Also check the folder Quicktyp\OtherFun; you will find another program by Harold that records sound and plays it back.

You can record your voice into a 8-bits WAV file and use the Speech program to record it, and play it back.

Unfortunattely the recorded session is in RAM and the program does not stores it to tape.

 

You can disassemble the speech program; it is very interesting.

 

Regs

Martin

 

Excuse my ignorance, but how do I disassemble a program that is in data statements in a quick type?

Link to comment
Share on other sites

.. how do I disassemble a program that is in data statements in a quick type?

 

You can do it the old fashioned way; get a sheet with Z80 OpCodes and their codes and do it manually ;)

Or you can run the program in the Virtual Aquarius and dump the memory after the machine code has been loaded, next cut the piece of memory from the ram.bin that contains the machinecode and run it against dasmx (available with the virtual aquarius in the subfolder ml\dasmx).

That is how I did it.

 

This first piece of code records from microphone into memory;

;
;	Disassembled by:
;		DASMx object code disassembler
;		(c) Copyright 1996-1998   Conquest Consultants
;		Version 1.20 (Apr  2 1998)
;
;	File:	LOAD.BIN
;	Date:	Wed Apr 20 19:16:28 2011
;	CPU:	Zilog Z80 (Z80 family)
;
;
org	$3E80
;
ld	hl,$3F00
ld	c,$FC
L3E85:
ld	b,$08
L3E87:
in	a,(c)
out	(c),a
cp	$FF
rl	d
ld	a,$0A
L3E91:
dec	a
jr	nz,L3E91
djnz	L3E87
ld	a,d
inc	hl
ld	(hl),a
ld	($3002),hl
ld	a,h
cp	$7D
jp	nz,L3E85
ret

 

This second part plays the recorded sound;

;
;	Disassembled by:
;		DASMx object code disassembler
;		(c) Copyright 1996-1998   Conquest Consultants
;		Version 1.20 (Apr  2 1998)
;
;	File:	SPEECH.bin
;	Date:	Wed Apr 20 19:15:23 2011
;	CPU:	Zilog Z80 (Z80 family)
;
;
org	$3E80
;
ld	hl,$3F00
ld	c,$FC
L3E85:
inc	hl
ld	a,(hl)
ld	d,a
ld	($3002),hl
ld	b,$08
L3E8D:
rl	d
ld	e,$FF
jr	nc,L3E95
ld	e,$FE
L3E95:
out	(c),e
ld	a,$0A
L3E99:
dec	a
jr	nz,L3E99
djnz	L3E8D
ld	a,h
cp	$7D
jp	nz,L3E85
ret

Link to comment
Share on other sites

.. how do I disassemble a program that is in data statements in a quick type?

 

You can do it the old fashioned way; get a sheet with Z80 OpCodes and their codes and do it manually ;)

Or you can run the program in the Virtual Aquarius and dump the memory after the machine code has been loaded, next cut the piece of memory from the ram.bin that contains the machinecode and run it against dasmx (available with the virtual aquarius in the subfolder ml\dasmx).

That is how I did it.

 

This first piece of code records from microphone into memory;

;
;	Disassembled by:
;		DASMx object code disassembler
;		(c) Copyright 1996-1998   Conquest Consultants
;		Version 1.20 (Apr  2 1998)
;
;	File:	LOAD.BIN
;	Date:	Wed Apr 20 19:16:28 2011
;	CPU:	Zilog Z80 (Z80 family)
;
;
org	$3E80
;
ld	hl,$3F00
ld	c,$FC
L3E85:
ld	b,$08
L3E87:
in	a,(c)
out	(c),a
cp	$FF
rl	d
ld	a,$0A
L3E91:
dec	a
jr	nz,L3E91
djnz	L3E87
ld	a,d
inc	hl
ld	(hl),a
ld	($3002),hl
ld	a,h
cp	$7D
jp	nz,L3E85
ret

 

This second part plays the recorded sound;

;
;	Disassembled by:
;		DASMx object code disassembler
;		(c) Copyright 1996-1998   Conquest Consultants
;		Version 1.20 (Apr  2 1998)
;
;	File:	SPEECH.bin
;	Date:	Wed Apr 20 19:15:23 2011
;	CPU:	Zilog Z80 (Z80 family)
;
;
org	$3E80
;
ld	hl,$3F00
ld	c,$FC
L3E85:
inc	hl
ld	a,(hl)
ld	d,a
ld	($3002),hl
ld	b,$08
L3E8D:
rl	d
ld	e,$FF
jr	nc,L3E95
ld	e,$FE
L3E95:
out	(c),e
ld	a,$0A
L3E99:
dec	a
jr	nz,L3E99
djnz	L3E8D
ld	a,h
cp	$7D
jp	nz,L3E85
ret

Link to comment
Share on other sites

Oops, accidently posted it twice. :(

 

 

This is my problem with the Aquarius. So I want better digitized sound. Do I:

 

a) Work on the 1 BIT DAC Method, and try to optimize the encoder. Sub-options would include trying to utilize bank switching to increase the sample rate. I could put out 6 times more 1's and 0's to the audio port than I am right now, the current program has a delay built in to suck up CPU cycles. Another option would be to try to better optimize the 1 and 0 digital encoding. Lastly, a circuit could be attached to my RCA Audio out that filters the signal to a better reconstruction - but that feels like cheating to me.

 

B) try to utilize this http://www.msx.org/PCM-Encoder-0.01.newspost3520.html and since the MSX-1 had a Z80 and the same same sound chip as the Aquarius, I bet you could convert this program over very easily to the extender. I hate that I am not better with ASM because it would be a one day task for somebody who really knew what they were doing.

 

C) try to build a serial to parallel DAC that could be attached to either the printer port or the audio output. The problem here is still the same, only 8k of data on a cart without bankswitching.

 

D) Try to encode a 4-bit audio decompression program, so you could encode with GSM or something like that and decode on the Aquarius.

 

The groups's thoughts?

Link to comment
Share on other sites

B) try to utilize this http://www.msx.org/PCM-Encoder-0.01.newspost3520.html and since the MSX-1 had a Z80 and the same same sound chip as the Aquarius, I bet you could convert this program over very easily to the extender. I hate that I am not better with ASM because it would be a one day task for somebody who really knew what they were doing.

 

I took a look at the "replayer_core" files in the PCM Encoder, and I have to say they're very simple. It appears that the bulk of the "porting" work would just involve setting up the right addresses for the PSG if the Z-80 clock rates are the same. I'm neither an Aquarius or an MSX expert, though.

 

I will say that Arnauld Chevallier's experiments with the PCM Encoder and the PSG on the Intellivision have been impressive. One drawback we have on the Intellivision, though, is that the display controller cycle-steals when the display is active, so you have to blank the display to play a sample cleanly. Does the Aquarius display cycle-steal?

Link to comment
Share on other sites

I will say that Arnauld Chevallier's experiments with the PCM Encoder and the PSG on the Intellivision have been impressive. One drawback we have on the Intellivision, though, is that the display controller cycle-steals when the display is active, so you have to blank the display to play a sample cleanly. Does the Aquarius display cycle-steal?

No. The Aquarius uses a simple character generator with its own character set ROM, and to the best of my knowledge, it reads the character and color matrices from RAM and builds the screen data completely independently of the CPU.

 

One of the benefits of having a popular sound chip like the PSG in the Aquarius Mini Expander is that it allows the Aquarius to benefit from all the PSG tools and sample code that have been created for other platforms. As you say, adapting the music players that have been developed for the MSX machines to the Aquarius should be a fairly simple task. I'm still curious to see what can be done with the Aquarius's built-in sound channel, particularly for short sound effects and speech samples, but I'd probably use the PSG for music.

Link to comment
Share on other sites

I will say that Arnauld Chevallier's experiments with the PCM Encoder and the PSG on the Intellivision have been impressive. One drawback we have on the Intellivision, though, is that the display controller cycle-steals when the display is active, so you have to blank the display to play a sample cleanly. Does the Aquarius display cycle-steal?

No. The Aquarius uses a simple character generator with its own character set ROM, and to the best of my knowledge, it reads the character and color matrices from RAM and builds the screen data completely independently of the CPU.

 

It's the bolded part (reading the character/color matrices from RAM) that causes "cycle stealing" on the Intellivision. The display controller halts the CPU ~13 times per frame for 60 - 100 cycles each in order to fetch character data from the RAM, since the CPU and the STIC both share the same memory. In this diagram, it appears that it uses separate 1K RAMs for the character and color matrices, but it's still not clear if it might insert wait states for video access during active display. I couldn't find a schematic online to see what's hooked to the Z-80's wait state input.

 

If I recall correctly, the MSX won't have video-inserted wait states because it uses the VDP, and the VDP completely "owns" its own memory. It's not accessible directly by the CPU at all, only through a small register window in the VDP.

Link to comment
Share on other sites

It's the bolded part (reading the character/color matrices from RAM) that causes "cycle stealing" on the Intellivision. The display controller halts the CPU ~13 times per frame for 60 - 100 cycles each in order to fetch character data from the RAM, since the CPU and the STIC both share the same memory. In this diagram, it appears that it uses separate 1K RAMs for the character and color matrices, but it's still not clear if it might insert wait states for video access during active display. I couldn't find a schematic online to see what's hooked to the Z-80's wait state input.

You're right, it uses separate RAM chips for the two matrices, but those RAMs are also shared with the rest of the system. I've attached the Aquarius schematics that I have. They're not the easiest documents to read, but it seems that PLA2 (the chip that contains the character generator logic) is using the Z80's WAIT signal. I'm not sure if it needs it for the character generator, or for the other functions in the PLA.

 

schematics.zip

Link to comment
Share on other sites

It's the bolded part (reading the character/color matrices from RAM) that causes "cycle stealing" on the Intellivision. The display controller halts the CPU ~13 times per frame for 60 - 100 cycles each in order to fetch character data from the RAM, since the CPU and the STIC both share the same memory. In this diagram, it appears that it uses separate 1K RAMs for the character and color matrices, but it's still not clear if it might insert wait states for video access during active display. I couldn't find a schematic online to see what's hooked to the Z-80's wait state input.

You're right, it uses separate RAM chips for the two matrices, but those RAMs are also shared with the rest of the system. I've attached the Aquarius schematics that I have. They're not the easiest documents to read, but it seems that PLA2 (the chip that contains the character generator logic) is using the Z80's WAIT signal. I'm not sure if it needs it for the character generator, or for the other functions in the PLA.

 

schematics.zip

 

Thanks. And yes, you're right, they're not the easiest to follow. The "wait" signal along with several related control signals come from a block that doesn't have any real description.

 

The technical overview from the BSRs doesn't clarify things. I can't tell if it means the PLA introduces wait states, or if the timing was designed so that things interleave perfectly (like how the Apple ][ and Lisa do it):

 

In analyzing the Block Diagram, it is seen that the bus lines (both Address and Data) are shared by more than two Integrated Circuits (IC's). Through a scheme called time-sharing, only one IC is allowed to "talk" (transfer data or addresses) on a bus at any one time. Only when this IC is through talking will another IC be allowed to talk. For example, data fed to the CPU may originate from one of several sources: the keyboard, ROM U2, Secondary Data Bus, Tape Drive, or from the Printer Drive. One section of Programmable Logic Array 1 (PLA1) reads instructions from the CPU and allows (enables) only one particular device to talk at one time.

Link to comment
Share on other sites

Here is a demo of Pulse-Width-Modulation on the Aquarius. Different than the One-Bit Implementation.

 

I took an audio file, down-sampled it to 6kHz with 8 bits. The program does right-shifts to downconvert the 8 bit sample to 4 bit, then it sends a pattern of 16 1's and 0's to the sound port. The number of times in the 16 sends that the signal is high is equal to the audio level. The problem is that I get a constant buzz/humm/squeal because I can't do a higher sampling rate. Next I will try 4000 Hz and I will preconvert the sample down to 4-bits - I Cool Edit will let me get the sample to 4 bits but not save it in 4 bit raw format - go figure. So I will convert down to 4 bit, save as 8 bit and then write a quick program to convert it to 4 bit. This would save me some cycles because I have to shift-right multiple times per sample, if it were 4 bit native, then I would have a lot more time. I am not capable of cycle counting, so I have no idea how far over the limit I am, therefore, I have no idea if I could do 5 bit or 6 bit if I saved on the shift-right.

 

Here is the original sound:

 

tng_torpedo3_clean.wav

 

Real Aquarius Output:

 

Audio_6.wav

 

Sadly, the program does not work in the Emulator.

 


; Program to Play 8 Bit PCM file at 6kHz using 4 Bit Pulse Width Modulation on the Aqaurius Sound Port

.org $E000			

.db $b6, $b7, $24, $2a, $8d, $9c, $42, $b0
.db $53, $6c, $90, $64, $89, $a8, $f9, $70

MAIN:
ld hl, SAMPLE		; Memory Location to ROM Sample
ld bc, 7600		; Number of Samples	

replay:	ld e, (hl)			; load an 8 bit set	
srl e			; Down to 7 Bits
srl e			; Down to 6 Bits
srl e			; Down to 5 Bits
srl e			; Down to 4 Bits

subsamp:	
ld d, 15			; 16 Cycles per Sample
highcycle:	
ld a,0			; Give me the Low Bit
out ($fc),a			; Send the Low Bit
dec d			; Drop the Cycle Counter
dec e			; Drop the High Cycle Counter
ld a,e			; grab e
jp nz, highcycle		; Send 1's Until we are done
lowcycle:
ld a,1			; Gimme a One
out ($fc),a			; Send Out the High Bit
dec d			; Drop D again
ld a, d			; Check on D
jp nz, lowcycle

inc hl			; Move to next Sample
dec bc			; Decrement Sample Counter
ld a, c			; Load C 
or b			; Is BC Zero
jp nz, replay		; If it isn't zero, keep playing

FINISH:

jp FINISH

SAMPLE:
.db $7F,$82,$7F,$81,$7D,$80,$7D,$7F,$7B,$7E,$7B,$80,$7D,$80,$7B,$7F
.db $7D,$82,$81,$86,$83,$87,$82,$87,$7F,$84,$82,$85,$80,$84,$84,$8B
.db $86,$8C,$86,$8B,$85,$8E,$8B,$93,$8E,$98,$94,$9F,$99,$A2,$9A,$A4
.db $9E,$A3,$8C,$9A,$92,$A0,$8D,$9A,$85,$C7,$AC,$7E,$5C,$2E,$98,$A5
.db $BB,$90,$A8,$96,$AE,$97,$9B,$7E,$7E,$6F,$84,$67,$60,$52,$5C,$62
.db $7F,$8B,$AE,$98,$AA,$AB,$B3,$B5,$C7,$BD,$B3,$B6,$C5,$C4,$AA,$9E
.db $AA,$9C,$BA,$AA,$A9,$8F,$87,$99,$9E,$A4,$B4,$BA,$CD,$8D,$B6,$AB
.db $CB,$7F,$DC,$9A,$C9,$9B,$CE,$9B,$C1,$A3,$A5,$BA,$96,$E0,$6F,$F7
.db $7F,$BC,$CC,$64,$C4,$82,$5B,$C1,$1A,$72,$7C,$06,$6F,$7A,$11,$A8
.db $A5,$29,$64,$BD,$26,$3B,$C7,$73,$1C,$A4,$BC,$3F,$3D,$C4,$90,$2F
.db $5E,$E3,$9C,$45,$7D,$E0,$9B,$33,$61,$D4,$C1,$4E,$43,$B8,$E5,$99
.db $45,$81,$DE,$DC,$63,$2D,$75,$DC,$CE,$6C,$39,$76,$CE,$C9,$69,$3A
.db $4C,$AA,$C6,$8A,$3D,$2A,$63,$BF,$DC,$97,$30,$13,$42,$8F,$CD,$95
.db $46,$12,$43,$61,$C8,$BF,$99,$49,$28,$48,$80,$DA,$E6,$AE,$76,$25
.db $4D,$61,$C1,$E6,$B7,$84,$33,$21,$40,$5F,$A1,$CF,$CD,$BB,$9F,$71
.db $2D,$2A,$56,$76,$C5,$E1,$D3,$AE,$76,$33,$33,$5D,$8A,$D9,$BE,$9F
.db $67,$1B,$38,$4F,$90,$E2,$A9,$AB,$79,$60,$4B,$3B,$4D,$4A,$54,$70
.db $72,$9C,$9E,$4E,$33,$41,$2B,$57,$77,$B6,$EE,$C6,$95,$75,$3D,$18
.db $42,$6F,$8C,$A8,$BF,$D7,$DF,$E6,$CF,$A7,$7C,$5E,$2E,$15,$13,$24
.db $4D,$6B,$8A,$C0,$EA,$D6,$AD,$84,$62,$46,$2A,$16,$17,$3A,$6B,$8F
.db $B4,$CE,$E3,$E7,$E0,$E3,$BB,$99,$7F,$5C,$41,$1C,$15,$17,$12,$25
.db $5B,$7F,$A0,$BF,$E3,$EA,$E7,$E7,$ED,$D6,$A8,$81,$53,$2E,$14,$13
.db $11,$2A,$52,$7E,$9F,$BF,$D9,$E8,$E4,$E4,$E6,$E7,$9C,$6D,$97,$69
.db $31,$44,$49,$1B,$1A,$21,$1A,$15,$20,$25,$12,$19,$5D,$68,$7E,$A1
.db $BB,$D1,$DC,$E4,$E8,$E7,$E6,$ED,$C2,$86,$67,$53,$2E,$14,$12,$14
.db $15,$1C,$38,$6B,$51,$3F,$69,$A6,$B7,$C9,$E8,$EC,$EF,$EB,$EE,$F1
.db $DE,$7A,$64,$89,$A3,$79,$26,$2D,$7D,$5E,$23,$15,$72,$B5,$7B,$41
.db $57,$C8,$DB,$83,$4C,$76,$DE,$E6,$83,$2E,$5C,$AA,$E2,$7B,$3E,$75
.db $B7,$E7,$52,$2E,$65,$AC,$C6,$71,$24,$25,$8B,$C5,$9B,$3B,$1A,$5A
.db $C8,$F0,$9E,$3D,$38,$74,$B4,$B7,$4F,$28,$56,$8C,$DC,$CC,$70,$1D
.db $39,$77,$CB,$C8,$7B,$31,$39,$74,$9E,$C2,$87,$58,$4B,$65,$8E,$BC
.db $95,$5E,$3A,$2F,$56,$8A,$90,$72,$35,$2D,$30,$7E,$B6,$B6,$8C,$52
.db $40,$6A,$98,$B1,$9E,$83,$51,$47,$89,$95,$A0,$85,$3B,$1D,$37,$61
.db $A1,$96,$4C,$12,$2D,$5E,$B5,$EC,$BA,$76,$1D,$41,$6C,$C2,$F1,$CA
.db $98,$2C,$1B,$4B,$71,$DC,$D7,$AF,$5A,$16,$3D,$5F,$91,$DD,$D7,$9C
.db $6E,$18,$2A,$60,$7E,$C7,$F3,$BD,$90,$4B,$15,$35,$62,$86,$C0,$EC
.db $D9,$B0,$82,$22,$34,$66,$84,$BE,$F2,$DD,$A9,$85,$2B,$20,$58,$7A
.db $9A,$D6,$E0,$BA,$91,$6D,$23,$37,$69,$87,$AA,$E5,$F4,$C7,$9B,$69
.db $27,$17,$46,$6D,$95,$C8,$F0,$DF,$B8,$86,$56,$0F,$12,$38,$6C,$98
.db $DE,$F4,$DE,$B2,$7D,$44,$0B,$1D,$46,$75,$9C,$CF,$EE,$D4,$B4,$8C
.db $65,$31,$10,$26,$52,$74,$9A,$B8,$DC,$ED,$D0,$BA,$A0,$77,$63,$3C
.db $37,$4C,$51,$64,$7F,$A4,$C7,$CB,$C2,$BB,$9E,$73,$3B,$10,$1B,$3C
.db $5B,$81,$A5,$D1,$F2,$DB,$B5,$7D,$27,$12,$28,$28,$52,$8C,$88,$B4
.db $C4,$79,$80,$6E,$35,$64,$83,$70,$BF,$DE,$B4,$A9,$89,$4C,$43,$43
.db $2F,$53,$74,$96,$B9,$E0,$E7,$CD,$B8,$8C,$69,$46,$1B,$15,$38,$67
.db $8C,$B0,$C4,$D9,$E8,$E0,$BC,$96,$72,$4E,$30,$18,$1A,$1E,$35,$60
.db $89,$AC,$C8,$DC,$E5,$E4,$E3,$C1,$90,$6B,$48,$27,$12,$14,$11,$1B
.db $48,$7C,$9F,$C6,$E5,$E7,$E7,$EB,$E5,$C2,$95,$67,$39,$16,$0E,$10
.db $0F,$1B,$50,$81,$A9,$CC,$E7,$E6,$E5,$E6,$E9,$DB,$B2,$8A,$62,$42
.db $21,$11,$15,$16,$11,$1E,$49,$74,$97,$B6,$CE,$DE,$EE,$ED,$F3,$EC
.db $C1,$97,$71,$54,$2F,$11,$08,$12,$0D,$08,$1E,$4C,$7B,$A1,$C5,$E1
.db $F1,$F0,$EA,$EE,$EE,$D2,$A7,$77,$65,$4D,$23,$0E,$0D,$21,$15,$04
.db $1B,$49,$74,$98,$C0,$DB,$ED,$F1,$EE,$EF,$EF,$F3,$D7,$9C,$6F,$91
.db $82,$5A,$2A,$0E,$43,$43,$17,$16,$4E,$8D,$B2,$93,$BA,$D3,$EE,$ED
.db $EB,$E9,$F2,$EE,$DB,$7B,$2D,$69,$7F,$48,$1F,$03,$40,$74,$5A,$22
.db $15,$44,$93,$BB,$51,$5C,$87,$9E,$D6,$CE,$9D,$AE,$CE,$EC,$BA,$5E
.db $3C,$9B,$B3,$8B,$47,$12,$46,$AC,$B0,$53,$18,$3A,$83,$E0,$B7,$48
.db $3F,$76,$9B,$F1,$B0,$4D,$66,$95,$D3,$C6,$68,$20,$2E,$90,$B9,$8C
.db $23,$10,$35,$97,$C4,$78,$26,$2D,$70,$D7,$F9,$BA,$53,$55,$8C,$CE
.db $ED,$B4,$67,$4F,$8D,$E1,$D9,$AD,$5F,$12,$42,$8D,$CC,$94,$5B,$25
.db $27,$61,$C8,$CC,$60,$16,$4E,$68,$AC,$DC,$AF,$43,$19,$52,$9A,$BB
.db $BB,$8F,$32,$29,$7C,$D6,$D3,$C1,$86,$31,$40,$7B,$C6,$B7,$A4,$8C
.db $67,$6A,$A2,$EB,$CD,$8A,$70,$4D,$3E,$76,$D2,$C2,$7F,$3A,$39,$56
.db $9B,$DF,$CB,$84,$34,$44,$A2,$EA,$DC,$D7,$9A,$5E,$6B,$BD,$EC,$9F
.db $55,$42,$5E,$65,$95,$D4,$B5,$4E,$34,$58,$8B,$9B,$7C,$8A,$6B,$21
.db $35,$81,$B4,$98,$45,$35,$59,$43,$26,$68,$C9,$AE,$5F,$2B,$55,$88
.db $80,$A2,$F3,$C9,$79,$2F,$55,$97,$B3,$85,$91,$CE,$9A,$3F,$48,$83
.db $D9,$C9,$8B,$B7,$D1,$85,$2F,$46,$8F,$E4,$C2,$90,$76,$84,$51,$30
.db $56,$A7,$D1,$A7,$36,$13,$59,$6F,$63,$6F,$CD,$DB,$A9,$46,$13,$55
.db $91,$7A,$56,$97,$D1,$C5,$61,$17,$39,$84,$8F,$52,$6F,$BE,$BB,$80
.db $19,$2B,$5F,$B0,$B7,$89,$AC,$D5,$D0,$85,$35,$4F,$8A,$CE,$D2,$A7
.db $A9,$D7,$CC,$7A,$29,$3E,$8A,$E3,$D2,$8E,$63,$A3,$C5,$7E,$40,$52
.db $80,$C1,$D0,$9D,$42,$71,$9A,$6C,$20,$19,$4B,$80,$DA,$DB,$93,$76
.db $AB,$89,$53,$12,$46,$67,$B1,$E4,$C4,$81,$58,$3F,$33,$2E,$30,$5D
.db $7E,$C8,$E5,$B1,$73,$21,$1F,$45,$67,$87,$A1,$BB,$E4,$CF,$A2,$65
.db $11,$2D,$51,$72,$7F,$8F,$B1,$E4,$D5,$A3,$61,$07,$27,$4B,$7D,$A6
.db $C3,$CD,$B8,$E5,$C9,$98,$4D,$2A,$5F,$7F,$BC,$E4,$F0,$B4,$8C,$DF
.db $D4,$A5,$72,$27,$47,$6F,$A2,$E2,$E2,$8B,$66,$C8,$BE,$9D,$68,$13
.db $3B,$64,$83,$C9,$E6,$AE,$73,$5C,$50,$40,$3C,$0E,$1B,$4A,$76,$B4
.db $ED,$C3,$9A,$63,$1A,$04,$49,$6D,$57,$7B,$98,$B9,$F0,$E4,$B0,$7B
.db $2B,$05,$28,$52,$71,$8E,$B2,$E1,$D3,$E3,$E9,$B9,$88,$34,$0C,$2D
.db $5A,$7B,$B4,$EF,$DD,$AB,$93,$93,$77,$48,$19,$0D,$31,$64,$90,$C7
.db $F1,$DD,$B2,$78,$45,$38,$22,$07,$27,$42,$67,$83,$B3,$E6,$D0,$A6
.db $77,$1D,$10,$17,$20,$52,$67,$89,$9D,$B2,$C0,$DD,$D1,$A0,$79,$32
.db $0B,$0C,$0B,$3F,$6C,$95,$B8,$D6,$F5,$EA,$C0,$94,$70,$39,$06,$09
.db $22,$51,$71,$96,$AB,$BF,$D1,$E2,$E8,$D6,$B5,$8D,$5A,$19,$0F,$25
.db $5A,$75,$BB,$D8,$74,$8B,$A7,$C1,$E8,$D2,$A6,$80,$54,$1F,$14,$35
.db $5B,$84,$B4,$B6,$C8,$D0,$DF,$E4,$E6,$DC,$B3,$8B,$5A,$13,$24,$52
.db $77,$B0,$EA,$E7,$D1,$84,$4A,$74,$96,$D2,$D5,$A7,$8C,$52,$18,$2F
.db $66,$85,$C6,$F2,$EB,$B3,$4A,$25,$55,$62,$AD,$E6,$C2,$97,$68,$12
.db $19,$46,$73,$98,$DF,$DF,$AE,$56,$06,$37,$52,$79,$B5,$E6,$BE,$9A
.db $6A,$1E,$11,$4E,$7A,$AC,$ED,$E8,$AE,$83,$25,$02,$2F,$57,$A4,$E3
.db $C0,$96,$6E,$2C,$03,$2F,$5A,$84,$B2,$F1,$DA,$B9,$8D,$48,$0B,$3B
.db $60,$B7,$ED,$CF,$AA,$86,$45,$04,$29,$59,$7F,$AC,$E3,$F4,$CC,$A0
.db $46,$01,$2E,$56,$85,$A6,$E5,$E2,$B1,$6F,$11,$2C,$56,$76,$9A,$BF
.db $ED,$DD,$AB,$79,$33,$02,$15,$3A,$6B,$98,$E8,$DE,$AA,$74,$29,$09
.db $2A,$4E,$7A,$95,$E1,$DD,$A3,$78,$4A,$18,$0A,$24,$54,$85,$DD,$DF
.db $9B,$86,$70,$3E,$1C,$35,$5B,$7C,$C4,$D1,$A3,$82,$60,$36,$0F,$09
.db $23,$59,$B1,$F6,$B1,$BC,$E3,$EC,$9C,$77,$92,$9D,$CA,$ED,$C3,$90
.db $81,$7D,$58,$24,$0D,$49,$8F,$AA,$99,$85,$AC,$CD,$ED,$CD,$C9,$E0
.db $E7,$E5,$DE,$9B,$6A,$77,$8C,$80,$5A,$35,$13,$3B,$2F,$0B,$14,$37
.db $66,$8D,$B7,$D7,$DB,$EE,$E4,$E9,$B2,$43,$4D,$75,$A2,$85,$64,$3A
.db $16,$0E,$0B,$0E,$0C,$31,$66,$92,$C1,$DF,$F1,$E9,$EC,$E3,$CE,$7D
.db $35,$4D,$92,$A6,$80,$6C,$65,$67,$4B,$33,$16,$0F,$10,$31,$68,$8D
.db $A6,$C9,$EA,$EF,$ED,$E4,$C1,$62,$29,$45,$69,$8D,$5D,$68,$9E,$B5
.db $91,$6E,$45,$20,$03,$15,$3D,$45,$41,$6B,$92,$B7,$DE,$EF,$BD,$A1
.db $A9,$AA,$E1,$EF,$A0,$35,$2E,$5A,$9A,$92,$76,$63,$47,$35,$1A,$10
.db $10,$10,$1C,$4E,$75,$9C,$B6,$DE,$EA,$E9,$EA,$E3,$D9,$DE,$90,$3D
.db $48,$7C,$AE,$92,$3A,$2D,$78,$66,$60,$44,$36,$1E,$0C,$1C,$77,$7A
.db $5D,$44,$5F,$86,$AE,$C9,$E3,$E6,$E8,$CD,$8F,$61,$67,$31,$0A,$15
.db $40,$69,$B3,$C9,$D6,$E6,$B5,$99,$6C,$59,$56,$45,$13,$14,$4C,$78
.db $9B,$BE,$DB,$EF,$F3,$F3,$F3,$EB,$CF,$A7,$7D,$2B,$08,$39,$72,$8A
.db $69,$86,$98,$BD,$E4,$EB,$BB,$9B,$6E,$3C,$06,$54,$85,$60,$30,$37
.db $63,$87,$AD,$D0,$EA,$F8,$D5,$CC,$B6,$96,$8D,$63,$22,$03,$2B,$60
.db $97,$E9,$97,$88,$AE,$D1,$EF,$D1,$B1,$87,$69,$37,$04,$16,$44,$66
.db $97,$98,$AA,$BF,$D0,$E5,$F3,$EA,$B5,$8E,$8C,$60,$45,$3B,$24,$06
.db $05,$14,$45,$71,$BD,$E1,$B7,$73,$4E,$7E,$C3,$AB,$87,$64,$3E,$0D
.db $07,$35,$6B,$92,$CD,$F1,$D0,$8F,$90,$B6,$EB,$E3,$B4,$7A,$2B,$0A
.db $14,$2D,$59,$7F,$AE,$E4,$C9,$71,$6F,$8E,$D3,$E6,$BC,$93,$39,$0A
.db $58,$6F,$63,$A3,$AD,$D0,$E9,$8C,$62,$89,$AE,$E8,$CB,$A0,$5B,$0B
.db $24,$56,$72,$9F,$C1,$C7,$BB,$94,$7A,$8F,$9D,$C7,$E6,$AC,$86,$3F
.db $0D,$36,$79,$DD,$E5,$A4,$9A,$AD,$7C,$82,$A6,$C0,$DD,$E8,$D0,$A2
.db $68,$16,$0B,$38,$81,$E6,$BD,$84,$52,$3B,$60,$80,$9B,$B0,$BE,$E2
.db $D5,$A7,$61,$09,$19,$47,$AD,$CA,$9E,$7B,$3B,$16,$38,$5C,$7E,$9F
.db $C0,$E2,$E1,$AD,$52,$10,$27,$4A,$97,$CA,$A1,$7A,$2F,$16,$36,$59
.db $7E,$9E,$B8,$C6,$E1,$DB,$C1,$90,$85,$90,$A1,$C8,$BD,$9D,$7B,$3C
.db $12,$21,$40,$8F,$A2,$A2,$83,$62,$86,$AC,$99,$B0,$CC,$E3,$EE,$EA
.db $BE,$92,$4A,$0C,$20,$67,$BE,$D4,$C1,$95,$50,$2B,$42,$60,$84,$AA
.db $C9,$E8,$EC,$EB,$C4,$A2,$47,$15,$4A,$8F,$E6,$DE,$C9,$A2,$7C,$45
.db $1D,$26,$51,$7A,$A9,$C7,$E5,$E4,$DC,$A0,$2B,$1C,$43,$5D,$A6,$C7
.db $9C,$7A,$52,$20,$0C,$38,$53,$68,$97,$C6,$F4,$DA,$AD,$65,$24,$3A
.db $57,$6E,$8B,$CE,$D1,$9C,$7A,$3C,$0D,$10,$66,$B1,$B1,$90,$8D,$CA
.db $C5,$94,$62,$64,$90,$AB,$D7,$EB,$EE,$DE,$AF,$6D,$30,$17,$29,$44
.db $8F,$B6,$8D,$67,$53,$3C,$19,$15,$13,$27,$56,$7F,$A4,$C4,$E6,$D9
.db $84,$57,$6D,$79,$81,$7F,$96,$AD,$8A,$67,$46,$37,$24,$15,$14,$18
.db $3F,$43,$44,$65,$AB,$E0,$A1,$7A,$90,$A7,$B8,$C4,$CB,$D4,$E6,$DD
.db $94,$72,$A6,$AD,$8F,$68,$4B,$2F,$13,$23,$72,$D6,$DE,$B8,$7C,$46
.db $60,$8A,$AD,$CE,$EE,$EF,$DF,$85,$6F,$91,$B1,$C9,$A5,$61,$43,$23
.db $57,$86,$70,$77,$5B,$37,$0B,$13,$44,$73,$AE,$EC,$CF,$A3,$73,$40
.db $5A,$7E,$9C,$DF,$CD,$81,$4A,$41,$60,$6D,$8C,$BD,$9C,$73,$30,$08
.db $29,$50,$9A,$E8,$D4,$B1,$86,$36,$06,$36,$63,$A1,$EA,$CE,$AC,$6B
.db $57,$7E,$98,$CD,$E9,$C9,$A9,$57,$15,$49,$62,$C1,$E3,$B8,$8C,$5D
.db $18,$20,$57,$7F,$C2,$FC,$D6,$A7,$45,$10,$4D,$6E,$99,$D8,$F6,$BF
.db $91,$21,$2C,$5C,$7A,$AF,$DF,$AD,$89,$3C,$07,$24,$55,$7A,$C0,$F4
.db $C0,$8F,$45,$05,$23,$58,$8B,$E0,$F0,$CF,$AE,$5B,$08,$37,$64,$8F
.db $DE,$E4,$C4,$9D,$50,$0E,$28,$55,$75,$99,$D6,$EC,$B5,$93,$36,$20
.db $4E,$79,$9D,$B9,$E4,$CC,$A0,$61,$20,$42,$6C,$A5,$ED,$DE,$AB,$4F
.db $20,$3F,$63,$87,$A4,$CD,$F3,$CD,$97,$41,$0E,$21,$41,$68,$AF,$D7
.db $C2,$9D,$77,$3F,$0B,$29,$54,$7C,$D8,$E6,$C2,$AB,$79,$36,$19,$44
.db $67,$8E,$AD,$EC,$EC,$BC,$42,$1D,$48,$60,$8C,$98,$A4,$A2,$86,$50
.db $0B,$0B,$43,$73,$9A,$D7,$F4,$D3,$A6,$61,$40,$5F,$6D,$46,$55,$92
.db $DF,$E7,$AE,$5E,$6C,$86,$A3,$BA,$E4,$DB,$B5,$73,$54,$48,$13,$11
.db $2C,$56,$90,$DC,$CE,$A9,$7D,$7C,$6F,$56,$54,$51,$64,$5A,$50,$72
.db $94,$9E,$A8,$C2,$D9,$EA,$C5,$A1,$6E,$2E,$17,$15,$19,$3F,$68,$83
.db $97,$AB,$DD,$D7,$A2,$7C,$33,$2A,$82,$88,$57,$20,$20,$3F,$61,$78
.db $96,$B1,$D6,$F0,$D5,$B0,$90,$63,$24,$0F,$30,$56,$77,$9A,$B6,$D5
.db $EF,$ED,$DE,$A8,$6B,$40,$43,$5C,$5C,$63,$79,$3C,$15,$35,$53,$6F
.db $97,$AC,$96,$B8,$B9,$9E,$7A,$54,$23,$15,$3B,$66,$81,$9F,$B3,$DD
.db $DA,$EA,$EC,$D5,$B9,$99,$52,$12,$2D,$78,$8F,$5B,$33,$50,$74,$89
.db $A4,$B8,$DB,$F2,$E0,$B8,$9C,$7C,$60,$3A,$13,$1D,$48,$74,$98,$C2
.db $C8,$D4,$E5,$E7,$E2,$C6,$A2,$6F,$3D,$15,$14,$29,$38,$48,$3F,$38
.db $58,$6D,$89,$98,$B8,$C0,$91,$96,$B7,$9C,$78,$58,$2A,$0D,$2B,$57
.db $76,$93,$AA,$B9,$C5,$CD,$E2,$ED,$DF,$B6,$91,$53,$1A,$14,$4A,$85
.db $77,$32,$30,$5D,$83,$AA,$D0,$E6,$D8,$E5,$ED,$EA,$D8,$B9,$93,$6A
.db $35,$09,$15,$38,$59,$7D,$98,$AD,$BC,$CE,$ED,$E7,$C6,$9B,$65,$2B
.db $17,$33,$55,$51,$30,$1D,$38,$43,$41,$5F,$77,$86,$90,$9C,$A6,$AE
.db $C9,$C6,$9E,$7A,$4D,$1B,$10,$23,$39,$56,$74,$8C,$A3,$AF,$C4,$DD
.db $D1,$C8,$AC,$89,$66,$4B,$49,$51,$68,$7B,$7B,$5B,$4C,$72,$A6,$D5
.db $C7,$AC,$B3,$CA,$D3,$E6,$EB,$D5,$B3,$91,$6D,$4A,$1B,$10,$29,$47
.db $65,$82,$9B,$B2,$C7,$E7,$ED,$CB,$A3,$65,$20,$1F,$45,$68,$A9,$B7
.db $93,$57,$1F,$1F,$4F,$69,$5E,$72,$60,$42,$5E,$75,$8E,$AE,$E0,$DD
.db $B5,$89,$5C,$20,$2D,$66,$86,$93,$76,$77,$8F,$A0,$B5,$E0,$E9,$CB
.db $A2,$7B,$30,$14,$45,$6A,$A5,$BC,$A5,$80,$68,$48,$60,$88,$D1,$EF
.db $C4,$8D,$4C,$29,$4B,$67,$AB,$EC,$CA,$9A,$68,$20,$12,$4D,$78,$A1
.db $A2,$5E,$26,$2F,$4B,$67,$84,$A3,$D9,$CB,$9C,$6D,$20,$09,$2D,$63
.db $BD,$CA,$A0,$68,$2F,$4A,$6F,$97,$D0,$F0,$DB,$C0,$7E,$46,$59,$80
.db $9C,$CF,$EE,$DF,$B8,$7E,$3C,$35,$60,$A5,$E8,$D3,$AC,$5D,$18,$38
.db $59,$7A,$AF,$E2,$E2,$CC,$A8,$81,$56,$58,$8B,$AC,$B6,$B5,$A0,$70
.db $57,$6F,$8D,$A2,$CA,$F3,$DA,$AC,$72,$26,$19,$41,$58,$99,$B0,$91
.db $6D,$41,$17,$14,$40,$84,$B8,$BE,$B7,$7C,$40,$26,$33,$4E,$6D,$85
.db $AF,$E1,$C3,$97,$75,$36,$1C,$4C,$9C,$CE,$B9,$A1,$6C,$27,$36,$54
.db $6F,$91,$AC,$D9,$E3,$B7,$97,$50,$38,$55,$71,$8F,$BA,$F4,$E5,$BB
.db $87,$3B,$25,$56,$8F,$91,$87,$73,$5A,$2D,$21,$47,$5F,$83,$9C,$B8
.db $E3,$DE,$B4,$84,$3A,$16,$2F,$64,$B1,$B0,$96,$77,$48,$16,$18,$3C
.db $66,$86,$A9,$DA,$ED,$CE,$AC,$50,$19,$3A,$50,$70,$8A,$B1,$B7,$92
.db $7A,$3A,$1B,$3C,$6F,$A8,$8B,$6D,$50,$38,$20,$17,$30,$4F,$69,$86
.db $99,$B1,$D6,$EB,$B9,$8A,$7D,$86,$9E,$C6,$C9,$A2,$7F,$3E,$15,$19
.db $31,$54,$73,$B2,$DE,$C0,$9D,$74,$4A,$35,$20,$33,$58,$78,$8F,$A5
.db $B9,$9C,$88,$90,$94,$98,$9F,$AD,$A6,$8C,$77,$5E,$41,$24,$13,$16
.db $20,$2E,$4B,$66,$7E,$95,$A6,$B0,$B7,$BD,$D4,$CF,$A7,$99,$9D,$85
.db $62,$35,$14,$2D,$59,$81,$A3,$BD,$C6,$BC,$8C,$7E,$9B,$AA,$A5,$A2
.db $8D,$66,$32,$31,$59,$73,$90,$A1,$AB,$B1,$B8,$C5,$B8,$C2,$D2,$BF
.db $A8,$8A,$67,$47,$37,$32,$67,$81,$64,$40,$4E,$68,$7F,$A1,$BD,$E3
.db $EA,$D5,$B8,$69,$6C,$8C,$BD,$D3,$B6,$94,$4A,$15,$23,$45,$5C,$99
.db $BE,$A9,$89,$6D,$46,$25,$34,$82,$A2,$7C,$68,$33,$2C,$4E,$65,$80
.db $A5,$DA,$CF,$9E,$5F,$5B,$75,$89,$AA,$CE,$BF,$98,$7B,$2F,$15,$40
.db $78,$AB,$A3,$8E,$5D,$38,$3F,$5B,$7E,$B8,$DD,$C2,$A0,$66,$2D,$42
.db $64,$81,$B3,$D6,$B5,$91,$4A,$44,$60,$76,$8C,$B4,$D8,$B9,$97,$71
.db $32,$2F,$5B,$82,$C3,$C6,$A4,$77,$4D,$47,$68,$82,$BF,$E9,$D5,$B4
.db $87,$4B,$44,$68,$86,$A7,$D3,$CE,$AD,$75,$29,$38,$4E,$6A,$83,$B3
.db $CA,$AB,$8C,$67,$31,$28,$51,$74,$A6,$DA,$CB,$A9,$71,$37,$4D,$65
.db $7D,$96,$B3,$BA,$B9,$AF,$8C,$82,$8C,$9E,$BA,$AC,$99,$82,$66,$34
.db $16,$3A,$59,$91,$DB,$D9,$B6,$8E,$62,$63,$7B,$96,$AE,$D1,$F0,$DE
.db $B5,$8C,$59,$2E,$44,$61,$79,$92,$C1,$CA,$A4,$77,$6C,$75,$83,$8F
.db $A6,$B1,$A8,$A2,$8E,$70,$49,$3A,$6A,$8B,$85,$81,$6D,$4B,$40,$58
.db $6E,$8B,$9E,$B5,$CE,$EC,$E9,$D7,$BB,$95,$5A,$52,$70,$88,$B7,$BA
.db $9E,$82,$58,$59,$67,$55,$40,$3D,$52,$6A,$85,$A4,$BB,$B0,$AC,$B9
.db $BF,$B6,$9F,$7F,$6C,$4E,$38,$5A,$82,$BC,$D1,$BD,$9D,$7A,$79,$98
.db $A5,$7A,$66,$7A,$83,$91,$B2,$BC,$AE,$9D,$89,$77,$61,$4E,$2A,$12
.db $26,$3E,$61,$7F,$B8,$D9,$B8,$7F,$53,$5B,$6F,$89,$97,$9F,$A4,$A8
.db $AD,$BF,$A7,$8A,$58,$14,$32,$5C,$5B,$5D,$50,$29,$10,$29,$40,$5B
.db $73,$8F,$B2,$B3,$98,$86,$73,$6A,$5B,$36,$3F,$56,$70,$A7,$B2,$95
.db $7C,$5C,$2A,$23,$46,$49,$54,$69,$7D,$89,$A5,$B2,$A8,$74,$50,$5A
.db $61,$72,$8A,$90,$81,$6F,$47,$1B,$1C,$46,$86,$94,$82,$6F,$58,$41
.db $34,$40,$46,$50,$69,$81,$94,$9F,$C8,$E0,$C7,$AC,$8B,$75,$55,$4D
.db $68,$74,$8B,$B8,$BE,$B1,$8D,$73,$77,$6A,$48,$3D,$49,$5B,$6D,$82
.db $94,$97,$99,$9E,$A2,$B1,$B4,$A0,$89,$6D,$62,$61,$58,$48,$44,$4A
.db $55,$5C,$6E,$8E,$9E,$96,$9B,$B1,$B7,$96,$7C,$8B,$90,$92,$96,$A3
.db $A0,$8C,$8D,$94,$89,$77,$6C,$61,$48,$31,$3C,$49,$3F,$3B,$41,$53
.db $68,$7A,$8E,$A3,$B5,$B8,$B5,$9D,$84,$77,$7E,$88,$98,$A3,$9A,$75
.db $42,$3B,$60,$80,$79,$6B,$5C,$4B,$33,$30,$44,$57,$53,$46,$5B,$70
.db $7F,$92,$A6,$CA,$CB,$B2,$9A,$78,$5D,$53,$65,$68,$6A,$64,$67,$76
.db $78,$7D,$A2,$BF,$B1,$9B,$80,$58,$43,$4C,$64,$7F,$9F,$9C,$8F,$99
.db $A2,$A5,$B3,$C5,$B1,$97,$78,$5D,$46,$3F,$4F,$7B,$90,$7B,$5A,$5B
.db $72,$86,$9A,$B9,$D9,$CE,$B5,$96,$66,$53,$65,$7E,$96,$9F,$97,$9B
.db $9E,$A5,$A9,$BC,$C7,$AE,$90,$6B,$3D,$2B,$4B,$66,$83,$A2,$A8,$94
.db $75,$74,$8D,$A0,$AA,$A9,$9B,$83,$67,$5B,$62,$79,$8F,$BB,$D9,$C2
.db $91,$75,$87,$97,$B2,$D5,$E9,$D2,$B4,$8C,$5C,$56,$7D,$A8,$AD,$95
.db $7A,$68,$7D,$8B,$A0,$B7,$E0,$DD,$C0,$A6,$81,$52,$52,$74,$8D,$A4
.db $B3,$D5,$D2,$A9,$81,$88,$AC,$D0,$CD,$BE,$AB,$8D,$6A,$69,$89,$A2
.db $D3,$E7,$D2,$A6,$68,$64,$7B,$92,$AD,$D2,$E2,$D4,$B8,$9F,$78,$63
.db $79,$93,$B4,$C0,$BA,$B0,$98,$78,$83,$9A,$BF,$D3,$C6,$B3,$94,$66
.db $4B,$62,$7D,$A0,$BC,$C4,$C3,$B3,$89,$7C,$90,$9F,$C2,$CE,$C5,$B4
.db $9C,$81,$66,$69,$84,$98,$B9,$D7,$CD,$B2,$88,$62,$65,$7D,$9B,$CC
.db $D5,$C0,$A3,$82,$63,$6F,$89,$AE,$D8,$CE,$AC,$91,$8A,$84,$82,$8F
.db $A3,$BF,$C7,$BC,$A5,$8D,$6B,$4F,$5A,$6D,$7F,$96,$B8,$BE,$A7,$89
.db $60,$5E,$75,$A1,$B6,$A6,$90,$74,$5C,$53,$61,$76,$89,$AA,$C6,$BD
.db $B1,$92,$75,$63,$6A,$76,$7F,$94,$AA,$B4,$AA,$8D,$6B,$68,$7A,$93
.db $BA,$B5,$A3,$89,$6D,$47,$30,$45,$62,$7B,$B2,$B5,$99,$7B,$5B,$56
.db $5A,$69,$7D,$91,$A6,$BA,$B2,$A3,$93,$7A,$7E,$8D,$A5,$B6,$AA,$91
.db $73,$63,$57,$4D,$5E,$78,$8A,$A9,$A8,$92,$78,$65,$57,$54,$56,$5A
.db $6C,$80,$8B,$8E,$88,$8A,$95,$9D,$A2,$AE,$B5,$A8,$99,$8C,$7B,$68
.db $56,$4A,$5D,$71,$8B,$A9,$97,$82,$70,$65,$66,$63,$64,$64,$6A,$7C
.db $83,$77,$6E,$74,$92,$B4,$B4,$A9,$96,$78,$5B,$5F,$74,$89,$82,$77
.db $7E,$84,$88,$92,$9C,$91,$8A,$81,$7C,$6E,$5D,$4E,$4F,$5A,$67,$68
.db $66,$73,$7F,$8D,$A4,$BC,$B3,$A0,$90,$77,$6B,$76,$8D,$98,$88,$77
.db $75,$72,$7D,$8A,$96,$A1,$B5,$BC,$A3,$85,$51,$3F,$50,$66,$90,$9D
.db $8E,$81,$6D,$5C,$79,$9A,$A0,$A1,$98,$8B,$73,$55,$58,$69,$77,$85
.db $9B,$AC,$9A,$8F,$96,$9F,$B8,$B8,$AB,$99,$7E,$5C,$59,$6C,$79,$8D
.db $A1,$BF,$C4,$AE,$89,$62,$66,$76,$98,$B8,$B1,$99,$81,$5C,$4B,$63
.db $79,$8A,$99,$AD,$AB,$97,$91,$94,$8E,$85,$7E,$7B,$76,$5E,$41,$4D
.db $64,$78,$8F,$B5,$B2,$99,$74,$53,$50,$5C,$72,$91,$A2,$90,$78,$59
.db $4D,$5F,$70,$80,$95,$A8,$A7,$98,$7F,$69,$4E,$38,$40,$55,$6E,$72
.db $5F,$60,$6E,$76,$7C,$89,$9A,$93,$85,$73,$5E,$40,$2A,$37,$58,$72
.db $77,$6D,$5B,$54,$60,$6E,$7A,$83,$99,$9E,$88,$70,$58,$3B,$2E,$3D
.db $5C,$7E,$7F,$7E,$8C,$8F,$7D,$6D,$6E,$7F,$8D,$92,$8E,$7E,$60,$3D
.db $40,$50,$5F,$6F,$89,$96,$89,$80,$73,$61,$68,$84,$8D,$87,$7B,$69
.db $64,$5F,$5A,$62,$6D,$7C,$8D,$A4,$BC,$AB,$90,$75,$64,$71,$8A,$94
.db $8F,$83,$71,$66,$6A,$6A,$6E,$7F,$90,$9B,$A9,$BB,$B5,$AA,$9A,$8A
.db $73,$65,$74,$89,$A0,$9D,$87,$6D,$65,$70,$85,$99,$96,$89,$78,$74
.db $7F,$88,$84,$75,$66,$70,$80,$8D,$A0,$A5,$A3,$A3,$AB,$B1,$B1,$B1
.db $AC,$9F,$8E,$7E,$6B,$5F,$62,$6F,$82,$90,$8F,$8C,$95,$9F,$A8,$A9
.db $9A,$87,$88,$94,$A6,$AB,$99,$84,$6F,$5B,$57,$68,$70,$6C,$69,$75
.db $91,$A7,$9D,$8F,$7B,$61,$54,$65,$7C,$86,$8D,$96,$A1,$AF,$A9,$9B
.db $8E,$86,$8A,$91,$95,$91,$89,$7B,$71,$6E,$67,$5B,$54,$62,$72,$83
.db $99,$A7,$AD,$A4,$A0,$9F,$AB,$B8,$B0,$9E,$91,$86,$7E,$77,$6A,$5C
.db $5E,$6B,$87,$A3,$A4,$97,$82,$73,$73,$7D,$8B,$96,$9E,$A4,$B2,$B9
.db $AC,$9A,$7D,$76,$81,$90,$9C,$9E,$9E,$96,$8B,$7E,$72,$6A,$5E,$60
.db $77,$8E,$96,$98,$94,$88,$8D,$97,$A0,$A8,$AD,$B1,$B5,$BD,$B7,$A8
.db $96,$85,$7B,$7A,$80,$88,$8E,$87,$78,$70,$73,$7A,$82,$8A,$98,$A2
.db $A8,$AD,$B6,$B6,$AE,$9E,$93,$90,$8C,$87,$82,$82,$87,$89,$86,$82
.db $7A,$6C,$63,$70,$88,$A1,$B1,$AA,$9C,$92,$97,$9C,$A3,$AB,$AC,$A7
.db $A9,$AC,$B0,$AF,$A1,$92,$84,$7C,$7C,$86,$8D,$89,$7D,$6F,$6D,$7A
.db $85,$84,$83,$87,$8F,$8F,$8E,$97,$A2,$A8,$B1,$BF,$C5,$C6,$BF,$B3
.db $A4,$9B,$9A,$9A,$96,$90,$86,$74,$6B,$76,$86,$92,$93,$8D,$87,$89
.db $92,$A2,$B7,$C4,$BC,$A4,$84,$88,$94,$B4,$C8,$BD,$A9,$8F,$80,$81
.db $90,$9F,$A9,$A2,$99,$93,$93,$9D,$A5,$A1,$9B,$9B,$97,$91,$90,$92
.db $9A,$AB,$B7,$C3,$D4,$CE,$BB,$9C,$94,$9D,$B1,$BE,$B7,$A6,$94,$85
.db $76,$81,$9E,$A9,$9F,$8E,$76,$67,$6E,$83,$9C,$AA,$AA,$A1,$95,$96
.db $A0,$A9,$B4,$C3,$CE,$C6,$B1,$9C,$79,$6C,$76,$84,$98,$AF,$B9,$AE
.db $9A,$83,$70,$77,$94,$9E,$97,$83,$67,$67,$7A,$8B,$A7,$CD,$D6,$C2
.db $AA,$8A,$81,$93,$A3,$B5,$CC,$C4,$AD,$8C,$83,$92,$A7,$B6,$B1,$A7
.db $9C,$8F,$7A,$69,$6E,$84,$A1,$BB,$B9,$A4,$9B,$9E,$A8,$B5,$C7,$D6
.db $CD,$B7,$9C,$79,$70,$7E,$8B,$9A,$AE,$B5,$A0,$86,$72,$69,$74,$88
.db $90,$8D,$82,$71,$63,$67,$7B,$8D,$AA,$C6,$BC,$AB,$97,$78,$68,$75
.db $89,$99,$AD,$BC,$B3,$9F,$81,$71,$78,$83,$97,$AA,$AB,$9F,$86,$68
.db $5E,$60,$69,$7B,$8D,$98,$96,$8B,$78,$6A,$77,$8E,$A9,$AC,$9D,$83
.db $6E,$69,$71,$7C,$86,$92,$A7,$B0,$A1,$8F,$7B,$6B,$62,$64,$6B,$6F
.db $71,$71,$6C,$65,$64,$6C,$75,$84,$9A,$9F,$93,$82,$63,$5D,$67,$6F
.db $7C,$90,$9A,$93,$86,$6F,$51,$49,$5A,$70,$85,$85,$7D,$70,$62,$57
.db $52,$57,$66,$75,$80,$88,$89,$86,$81,$79,$7E,$8B,$90,$8C,$85,$74
.db $5D,$4F,$54,$60,$6E,$7E,$92,$98,$90,$82,$6A,$53,$54,$66,$75,$81
.db $8B,$8F,$83,$7A,$79,$78,$72,$6C,$68,$66,$62,$5C,$57,$56,$54,$5A
.db $6A,$77,$82,$8A,$87,$79,$6E,$6E,$74,$7B,$80,$84,$87,$85,$7F,$72
.db $5D,$44,$40,$53,$6D,$79,$73,$6C,$62,$58,$51,$54,$55,$57,$62,$6E
.db $7A,$80,$81,$81,$80,$83,$8B,$98,$92,$83,$75,$6A,$60,$58,$4E,$49
.db $51,$5F,$6E,$7D,$87,$80,$71,$5A,$50,$58,$66,$73,$73,$6E,$6F,$6E
.db $66,$63,$64,$67,$69,$6A,$63,$55,$4C,$44,$3F,$44,$4C,$56,$5E,$65
.db $68,$6B,$71,$77,$79,$78,$74,$71,$71,$73,$76,$72,$6C,$64,$5D,$56
.db $4B,$41,$3C,$3E,$48,$5A,$6F,$6F,$64,$59,$59,$67,$77,$7F,$81,$78
.db $6B,$6F,$76,$79,$7A,$7B,$7C,$7A,$7D,$7E,$7B,$73,$68,$5F,$52,$43
.db $3E,$41,$4B,$58,$6A,$7B,$90,$94,$80,$61,$4F,$56,$66,$81,$93,$8C
.db $7E,$68,$49,$43,$51,$5D,$71,$8C,$93,$88,$79,$5F,$45,$41,$50,$60
.db $73,$80,$85,$7E,$70,$64,$5F,$65,$6A,$68,$66,$67,$67,$6B,$74,$7C
.db $78,$6C,$62,$4D,$3A,$3E,$51,$6A,$7E,$87,$84,$78,$6F,$71,$77,$80
.db $8A,$99,$A3,$9B,$8F,$7F,$61,$50,$5A,$68,$75,$8A,$9D,$95,$86,$77
.db $6D,$69,$71,$76,$75,$75,$76,$74,$73,$74,$72,$77,$81,$89,$91,$99
.db $97,$8C,$85,$89,$90,$90,$88,$7D,$6A,$62,$69,$71,$83,$8F,$8A,$80
.db $70,$5E,$56,$5E,$69,$73,$81,$92,$98,$92,$89,$79,$6B,$64,$68,$74
.db $86,$97,$95,$88,$76,$6D,$70,$77,$85,$97,$99,$8F,$82,$79,$70,$6C
.db $6A,$64,$5E,$60,$6C,$79,$85,$8D,$91,$91,$96,$97,$91,$86,$7A,$6A
.db $5E,$5D,$69,$7A,$8C,$90,$87,$7B,$73,$72,$76,$80,$88,$89,$88,$87
.db $80,$76,$6D,$66,$6A,$76,$83,$90,$9B,$A5,$9F,$91,$82,$75,$6F,$72
.db $7C,$87,$8D,$8B,$81,$7B,$80,$84,$86,$85,$81,$7C,$77,$79,$7C,$7D
.db $7F,$84,$88,$91,$9D,$A4,$A4,$9E,$90,$85,$85,$8E,$97,$98,$93,$8D
.db $89,$88,$88,$8A,$8F,$94,$9A,$9B,$99,$95,$8D,$81,$76,$6F,$6F,$73
.db $7B,$85,$8C,$96,$9D,$9B,$96,$91,$90,$94,$98,$9A,$98,$93,$8D,$88
.db $88,$8C,$90,$93,$94,$98,$9A,$9A,$95,$89,$82,$7E,$7F,$86,$92,$94
.db $8D,$7F,$78,$7C,$83,$88,$8C,$92,$9D,$A2,$9D,$93,$89,$7D,$77,$7F
.db $8B,$93,$9F,$AA,$A4,$9C,$94,$89,$7B,$74,$76,$7E,$8A,$98,$9D,$98
.db $89,$79,$73,$7A,$85,$92,$93,$8E,$8D,$8C,$88,$7F,$76,$71,$73,$7B
.db $86,$90,$96,$92,$8B,$82,$7B,$84,$8F,$91,$8D,$84,$78,$70,$6D,$70
.db $78,$82,$8C,$96,$9E,$9D,$93,$86,$79,$6F,$6E,$76,$7F,$8A,$97,$97
.db $91,$85,$77,$75,$79,$7D,$84,$8C,$97,$99,$93,$89,$7C,$6B,$62,$65
.db $6C,$77,$83,$8B,$8B,$8C,$89,$82,$7C,$77,$71,$6E,$70,$76,$7C,$87
.db $88,$81,$7D,$7F,$82,$89,$8B,$85,$7F,$7A,$78,$79,$7B,$7C,$79,$74
.db $70,$6E,$71,$79,$7E,$7E,$7C,$78,$79,$81,$88,$8A,$88,$82,$7D,$78
.db $78,$7A,$7A,$7D,$80,$81,$86,$8A,$86,$81,$7D,$79,$78,$77,$76,$71
.db $6D,$6A,$68,$6B,$77,$83,$88,$85,$78,$6C,$6D,$74,$7F,$8D,$90,$89
.db $80,$78,$72,$6A,$69,$6B,$6D,$6F,$71,$76,$7F,$86,$85,$80,$77,$6C
.db $63,$61,$64,$6C,$77,$7E,$7F,$78,$6D,$65,$61,$64,$6E,$7B,$84,$82
.db $7C,$70,$61,$5C,$62,$6C,$75,$78,$76,$6F,$63,$60,$68,$70,$77,$7B
.db $79,$73,$69,$65,$69,$6E,$72,$73,$6D,$60,$56,$58,$60,$68,$71,$7D
.db $80,$7A,$6E,$61,$5B,$5F,$69,$77,$7D,$78,$70,$65,$60,$61,$68,$72
.db $79,$78,$73,$6B,$61,$60,$68,$75,$7A,$76,$70,$68,$5E,$59,$61,$6B
.db $78,$84,$85,$7B,$6D,$61,$5E,$64,$74,$7F,$82,$7F,$76,$69,$63,$66
.db $6E,$7A,$84,$84,$7B,$71,$6D,$70,$77,$7F,$83,$80,$78,$6F,$68,$65
.db $6B,$77,$83,$87,$83,$7B,$72,$6C,$6B,$72,$7B,$85,$8C,$8A,$80,$73
.db $6A,$6A,$73,$7F,$88,$8A,$85,$7A,$70,$6E,$74,$7D,$89,$90,$8E,$83
.db $75,$6C,$6D,$75,$7F,$89,$8F,$8A,$82,$78,$6F,$6D,$75,$81,$86,$84
.db $7E,$73,$6A,$68,$6E,$77,$81,$89,$8D,$89,$7E,$74,$71,$75,$7C,$85
.db $8D,$8E,$87,$7B,$6F,$66,$66,$70,$7D,$83,$83,$7D,$73,$69,$66,$6B
.db $73,$7B,$83,$88,$82,$77,$70,$6F,$71,$78,$7D,$7F,$7E,$7A,$74,$70
.db $6C,$6A,$6E,$75,$79,$78,$74,$6F,$6A,$68,$6C,$71,$76,$7C,$82,$80
.db $7A,$72,$6E,$70,$72,$74,$75,$74,$72,$6E,$67,$60,$60,$67,$6F,$77
.db $7B,$78,$70,$69,$69,$6B,$70,$77,$7C,$80,$7D,$75,$6D,$68,$66,$68
.db $6E,$71,$71,$6F,$6C,$67,$60,$5E,$61,$65,$6C,$73,$77,$77,$75,$72
.db $6E,$6B,$6D,$73,$78,$7B,$79,$73,$6C,$65,$62,$64,$68,$69,$6B,$69
.db $64,$61,$5D,$5C,$61,$69,$6F,$74,$78,$78,$76,$71,$6D,$6D,$6F,$74
.db $75,$73,$6F,$6B,$66,$63,$61,$63,$68,$6C,$6E,$6E,$6B,$66,$63,$63
.db $66,$6B,$6F,$73,$77,$7A,$7B,$78,$72,$6F,$6E,$6D,$6D,$6D,$6E,$6E
.db $6C,$66,$61,$5E,$61,$67,$6F,$76,$78,$76,$75,$72,$6E,$6B,$6C,$70
.db $75,$79,$7B,$7C,$7B,$7A,$78,$75,$71,$6E,$6C,$6B,$6A,$6B,$6C,$6B
.db $6D,$70,$72,$75,$7A,$7E,$80,$7E,$7A,$76,$70,$70,$74,$75,$76,$78
.db $79,$77,$76,$76,$75,$74,$72,$70,$6F,$6E,$6F,$73,$75,$74,$74,$76
.db $78,$7B,$7F,$81,$82,$81,$80,$7D,$78,$73,$6F,$6D,$6E,$71,$75,$7A
.db $7B,$76,$72,$6C,$68,$6A,$70,$75,$78,$76,$71,$6C,$6A,$6F,$74,$78
.db $7E,$81,$7E,$7A,$76,$6F,$68,$67,$6A,$6F,$74,$7A,$7B,$77,$73,$6D
.db $6A,$6E,$74,$78,$7A,$78,$75,$73,$72,$74,$75,$75,$75,$75,$76,$78
.db $79,$78,$75,$70,$6B,$68,$66,$69,$6E,$6F,$72,$74,$73,$71,$6F,$6E
.db $6D,$6E,$72,$78,$7B,$7A,$78,$74,$6D,$6A,$6E,$73,$78,$7C,$7F,$7F
.db $7A,$77,$73,$6F,$6F,$71,$72,$74,$76,$76,$73,$6F,$6B,$6B,$70,$75
.db $7B,$7E,$7B,$76,$70,$6B,$6A,$6C,$70,$74,$76,$76,$75,$73,$75,$77
.db $77,$78,$77,$74,$72,$70,$6D,$6B,$68,$68,$6B,$6E,$71,$72,$74,$75
.db $76,$76,$78,$7D,$81,$81,$7E,$79,$72,$6D,$6E,$72,$77,$7B,$7D,$7F
.db $7E,$7B,$78,$77,$75,$73,$71,$6F,$6C,$69,$6A,$69,$69,$6B,$70,$76
.db $7E,$84,$85,$81,$7B,$75,$6F,$6C,$6B,$6D,$6F,$71,$72,$75,$77,$79
.db $7D,$81,$81,$7F,$7B,$75,$6F,$68,$64,$64,$65,$6A,$71,$75,$76,$76
.db $75,$74,$73,$74,$76,$77,$78,$77,$73,$6F,$6F,$73,$78,$7D,$81,$83
.db $82,$7C,$76,$70,$6B,$6C,$6E,$70,$71,$71,$6F,$6D,$69,$67,$67,$6B
.db $73,$7B,$81,$83,$81,$7C,$7B,$7A,$7B,$7F,$84,$85,$81,$7C,$74,$6B
.db $66,$67,$6C,$71,$75,$79,$7B,$78,$72,$6E,$6B,$6B,$6F,$75,$79,$78
.db $76,$76,$76,$77,$79,$7C,$7F,$82,$82,$80,$7A,$73,$6C,$67,$66,$6A
.db $70,$77,$7D,$7F,$7D,$78,$77,$79,$7C,$80,$81,$7E,$7A,$75,$70,$6C
.db $6B,$6A,$6D,$71,$76,$7D,$7F,$7D,$79,$73,$6F,$6F,$74,$7B,$81,$83
.db $81,$7C,$79,$78,$79,$7B,$7D,$7E,$7C,$79,$74,$6E,$68,$65,$64,$67
.db $6D,$74,$7A,$7D,$7C,$7A,$78,$79,$7D,$81,$85,$88,$8A,$8B,$89,$85
.db $82,$7F,$7A,$78,$78,$78,$76,$75,$71,$6D,$68,$68,$6D,$72,$77,$7E
.db $82,$84,$83,$80,$7E,$7B,$76,$75,$79,$7E,$82,$85,$86,$84,$7F,$7C
.db $7B,$7A,$7A,$7A,$78,$75,$70,$6D,$6F,$73,$78,$7D,$82,$85,$88,$89
.db $89,$87,$84,$81,$7C,$79,$78,$77,$78,$7A,$7D,$81,$85,$87,$86,$84
.db $82,$80,$7F,$7F,$7E,$7E,$7C,$7A,$79,$79,$7D,$81,$85,$88,$86,$81
.db $7D,$7A,$78,$76,$75,$74,$73,$74,$77,$7D,$81,$86,$89,$88,$86,$85
.db $83,$83,$84,$84,$84,$83,$81,$7F,$7E,$7C,$7D,$7D,$7D,$7D,$7B,$79
.db $76,$72,$71,$73,$74,$76,$78,$79,$78,$7B,$7F,$84,$88,$89,$87,$83
.db $7E,$7B,$7E,$83,$86,$87,$84,$80,$79,$73,$72,$75,$78,$7D,$81,$80
.db $7F,$7D,$78,$74,$75,$77,$7C,$81,$84,$83,$82,$81,$83,$86,$8A,$8B
.db $88,$83,$7E,$7A,$7A,$7C,$7E,$7F,$7E,$7B,$78,$78,$7B,$81,$88,$8A
.db $86,$80,$7A,$74,$75,$7A,$81,$88,$8D,$8E,$8B,$87,$82,$7F,$80,$84
.db $88,$89,$87,$84,$7E,$78,$77,$79,$7F,$85,$88,$89,$87,$84,$83,$85
.db $88,$8B,$8B,$87,$83,$7E,$7B,$7E,$83,$88,$8D,$8F,$8C,$88,$82,$7E
.db $7E,$82,$86,$87,$86,$83,$7F,$7B,$7A,$7F,$85,$8C,$91,$92,$8F,$8A
.db $85,$83,$85,$88,$8A,$8B,$88,$84,$81,$81,$83,$86,$8A,$8D,$8C,$88
.db $83,$7F,$7D,$7F,$83,$87,$88,$87,$83,$7F,$7B,$7C,$80,$86,$8B,$8F
.db $8E,$89,$83,$7F,$7F,$83,$87,$8A,$8A,$86,$80,$7A,$77,$79,$7E,$86
.db $8D,$91,$8F,$89,$81,$7A,$77,$78,$7A,$7E,$81,$83,$81,$7F,$7F,$81
.db $84,$8A,$8F,$90,$8B,$84,$7C,$74,$72,$78,$80,$89,$90,$8F,$88,$80
.db $76,$73,$77,$7F,$87,$8B,$89,$83,$7B,$75,$74,$78,$7F,$87,$8A,$88
.db $83,$7A,$77,$79,$7E,$87,$91,$94,$91,$8A,$7F,$73,$6E,$6E,$73,$7B
.db $83,$89,$89,$85,$82,$80,$7F,$80,$81,$81,$81,$7E,$7B,$79,$79,$7B
.db $80,$85,$89,$8A,$88,$84,$7F,$7A,$76,$76,$79,$7C,$7E,$7E,$7D,$7B
.db $78,$78,$79,$7B,$7E,$82,$82,$80,$7E,$7D,$7E,$81,$87,$8C,$8E,$8A
.db $82,$78,$6F,$6B,$6F,$76,$7D,$84,$87,$85,$7F,$79,$75,$72,$71,$70
.db $70,$70,$72,$73,$76,$7A,$7E,$82,$87,$8A,$8B,$88,$82,$7B,$72,$6C
.db $6B,$6F,$74,$79,$80,$83,$81,$7E,$79,$72,$6D,$6B,$6B,$6D,$71,$75
.db $78,$77,$75,$74,$75,$79,$7C,$7E,$7D,$79,$73,$71,$71,$75,$7B,$80
.db $81,$80,$7D,$78,$74,$70,$6E,$6D,$6F,$72,$77,$7A,$7C,$7D,$7A,$77
.db $77,$78,$79,$79,$76,$73,$6F,$6D,$6F,$73,$79,$7E,$81,$82,$82,$7E
.db $7A,$76,$72,$6F,$70,$75,$7C,$82,$86,$85,$82,$7D,$79,$78,$7A,$7C
.db $7C,$79,$76,$73,$74,$77,$7A,$7C,$7C,$7B,$7A,$79,$79,$79,$78,$78
.db $77,$77,$7A,$7E,$82,$86,$87,$86,$84,$80,$7C,$79,$76,$75,$78,$7D
.db $82,$84,$84,$80,$78,$73,$73,$77,$7C,$82,$85,$82,$7E,$79,$75,$76
.db $7A,$7E,$83,$85,$85,$83,$81,$7E,$7C,$7C,$7D,$80,$82,$83,$82,$7E
.db $7A,$78,$79,$7D,$83,$87,$87,$84,$7F,$7A,$77,$77,$78,$7A,$7D,$7F
.db $81,$83,$84,$84,$83,$81,$7E,$7B,$7A,$7A,$7C,$7E,$81,$83,$85,$86
.db $85,$82,$7E,$7A,$79,$79,$7B,$7E,$80,$7F,$7D,$7A,$79,$7A,$7D,$81
.db $83,$83,$80,$7B,$77,$75,$77,$7B,$7F,$83,$84,$83,$81,$7E,$7A,$78
.db $78,$7B,$7F,$82,$83,$81,$7D,$79,$76,$76,$77,$7A,$7D,$7F,$7F,$7D
.db $7B,$79,$78,$78,$79,$7A,$7B,$7B,$7B,$7B,$7B,$7B,$7C,$7E,$81,$83
.db $84,$82,$7E,$79,$75,$74,$76,$7A,$7E,$80,$80,$7E,$7B,$78,$77,$77
.db $78,$79,$7A,$7A,$7A,$7A,$7B,$7B,$7D,$7E,$80,$82,$83,$81,$7E,$7A
.db $77,$76,$77,$7A,$7D,$7E,$7E,$7D,$7B,$7A,$7A,$7A,$7B,$7B,$7A,$7A
.db $7B,$7C,$7E,$7F,$80,$7F,$7E,$7D,$7D,$7C,$7B,$7A,$79,$7A,$7C,$7D
.db $7E,$7D,$7B,$79,$79,$7A,$7D,$7F,$80,$80,$7E,$7D,$7C,$7C,$7E,$80
.db $81,$81,$7F,$7D,$7A,$77,$76,$76,$77,$7A,$7E,$81,$82,$80,$7D,$79
.db $77,$78,$7B,$7F,$82,$83,$83,$82,$81,$80,$80,$7F,$7E,$7D,$7C,$7B
.db $7A,$79,$77,$77,$77,$79,$7C,$7F,$81,$81,$7E,$7B,$78,$78,$7B,$7E
.db $81,$82,$82,$81,$80,$7F,$7E,$7D,$7C,$7C,$7B,$7B,$7A,$7A,$79,$78
.db $78,$7A,$7C,$7F,$81,$81,$7F,$7D,$7A,$7A,$7B,$7D,$7F,$7F,$7F,$7D
.db $7D,$7E,$7E,$7D,$7C,$7A,$79,$79,$7A,$7B,$7C,$7C,$7C,$7C,$7D,$7F
.db $80,$80,$7F,$7E,$7D,$7D,$7C,$7C,$7C,$7B,$7B,$7B,$7C,$7D,$7D,$7C
.db $7B,$7A,$79,$7A,$7B,$7C,$7D,$7D,$7D,$7E,$7F,$80,$81,$81,$81,$80
.db $7E,$7E,$7D,$7D,$7C,$7B,$7B,$7B,$7C,$7D,$7E,$7E,$7D,$7C,$7B,$7B
.db $7C,$7C,$7D,$7D,$7D,$7E,$7F,$80,$82,$82,$82,$81,$80,$7F,$7E,$7E
.db $7D,$7C,$7C,$7C,$7D,$7E,$7F,$80,$81,$80,$7F,$7E,$7D,$7C,$7C,$7C
.db $7C,$7D,$7F,$81,$83,$84,$83,$81,$7F,$7E,$7D,$7D,$7D,$7E,$7E,$7E
.db $7F,$7F,$80,$80,$80,$7F,$7F,$7F,$7F,$7F,$7F,$7E,$7E,$7D,$7E,$7F
.db $80,$81,$82,$82,$81,$7F,$7D,$7D,$7D,$7D,$7E,$7F,$7F,$7F,$7F,$7E
.db $7E,$7D,$7E,$7F,$80,$81,$81,$80,$7F,$7E,$7D,$7E,$7F,$7F,$80,$7F
.db $7F,$7E,$7E,$7E,$7E,$7E,$7E,$7D,$7C,$7B,$7C,$7D,$7E,$7F,$7F,$80
.db $80,$80,$80,$7F,$7F,$7F,$7F,$7F,$80,$80,$7F,$7E,$7D,$7D,$7D,$7D
.db $7E,$7E,$7E,$7D,$7C,$7C,$7C,$7D,$7D,$7E,$7E,$7E,$7F,$80,$80,$80
.db $80,$7F,$7F,$7E,$7E,$7E,$7D,$7D,$7D,$7C,$7C,$7D,$7D,$7D,$7D,$7D
.db $7D,$7D,$7D,$7D,$7E,$7E,$7E,$7E,$7F,$7F,$80,$80,$7F,$7E,$7E,$7D
.db $7D,$7D,$7D,$7D,$7C,$7C,$7C,$7C,$7C,$7D,$7D,$7D,$7D,$7D,$7D,$7D
.db $7D,$7D,$7D,$7E,$7E,$7E,$7D,$7D,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C
.db $7B,$7B,$7B,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7D,$7D,$7D,$7D,$7D,$7D
.db $7D,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7B,$7C,$7C,$7C
.db $7C,$7C,$7C,$7C,$7C,$7C,$7D,$7D,$7D,$7C,$7C,$7C,$7C,$7C,$7C,$7C
.db $7B,$7B,$7B,$7B,$7B,$7B,$7C,$7C,$7C,$7C,$7C,$7C,$7D,$7D,$7D,$7D
.db $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7C,$7C,$7C,$7C,$7B,$7B,$7B,$7B,$7B
.db $7B,$7C,$7C,$7B,$7B,$7C,$7C,$7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D
.db $7E,$7D,$7D,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C,$7C
.db $7C,$7D,$7D,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7D,$7D
.db $7D,$7D,$7D,$7D,$7D,$7C,$7C,$7C,$7C,$7C,$7D,$7D,$7D,$7D,$7D,$7D
.db $7D,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7D,$7D,$7D,$7D,$7D,$7D,$7D
.db $7D,$7D,$7D,$7D,$7D,$7E,$7E,$7E,$7E,$7D,$7E,$7E,$7E,$7E,$7E,$7E
.db $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D,$7C,$7D,$7D,$7D,$7D,$7D,$7D,$7D
.db $7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7D,$7D,$7D,$7D,$7E
.db $7D,$7D,$7D,$7C,$7C,$7D,$7E,$7E,$7E,$7E,$7E,$7E,$7E,$7F,$80,$80
.db $80,$7F,$7F,$7F,$7F,$7F,$7F,$7E,$7E,$7E,$7E,$7E,$7D,$7D,$7D,$7D
.db $7D,$7E,$7E,$7E,$7E,$7E,$7E,$7F,$7F,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F
.db $7F,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $7F,$7F,$7F,$80,$80,$80,$80,$7F,$7F,$80,$80,$80,$80,$80,$80,$80
.db $80,$81,$81,$81,$81,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$81,$81,$81
.db $81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$81,$81,$81,$81,$81,$81,$81,$81
.db $81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$80,$80,$80,$80,$80
.db $80,$80,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81,$81
.db $81,$81,$81,$81,$81,$81,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80
.db $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$81,$81,$81,$81,$81

.END

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...