Skip to content

Instantly share code, notes, and snippets.

@iamgreaser
Created August 31, 2011 00:17
Show Gist options
  • Save iamgreaser/1182495 to your computer and use it in GitHub Desktop.
Save iamgreaser/1182495 to your computer and use it in GitHub Desktop.
periods.sna source code (minus the actual sample data)
.memorymap
defaultslot 0
slotsize $8000
slot 0 $8000
slotsize $4000
slot 1 $4000
.endme
.rombankmap
bankstotal 2
banksize $4000
banks 1
banksize $8000
banks 1
.endro
.bank 0 slot 1
.orga $4000
.db $FF
.bank 1 slot 0
.orga $8000
di
ld sp,$FFFF
jp start
.section "start"
start:
; Clear the screen
ld hl,$4000
ld (hl),$00
ld de,$4001
ld bc,$1FFF
ldir
ld hl,$5800
ld (hl),$0F
ld de,$5801
ld bc,$07FF
ldir
ld a,%11111111
out ($FE),a
ld ix, choon1
ld iy, choons
ld hl,$0000
main_driver:
ld bc,$0010
ld e,(ix+1)
exx
ld d,(iy+0)
ld e,0
ex de,hl
ld d,$01
exx
--:
push de
ld d,$00
ld e,(ix+0)
sla e
rl d
sla e
rl d
sla e
rl d
sla e
rl d
add hl,de
pop de
dec d
jr nz,+
inc e
ld a,e
cp $C0
jr nz,+
ld e,$40
+:
ld a,h
cp e
sbc a,a
exx
ld e,a
rlc (hl)
sbc a,a
or e
;ld a,e
rlc d
jr nc,+
inc l
jr nz,+
ld h,smpno>>8
+:
exx
out ($FE),a
djnz --
dec c
jr nz,--
inc ixl
inc ixl
inc iyl
ld a,ixl
and $7F
ld ixl,a
ld a,iyl
and $7F
ld iyl,a
jp main_driver
.ends
.section "choon1" align 256
choon1:
.db $40,$40
.db $30,$40
.db $38,$40
.db $40,$40
.db $40,$50
.db $4C,$40
.db $4C,$50
.db $48,$40
.db $48,$50
.db $40,$40
.db $38,$40
.db $38,$50
.db $38,$60
.db $38,$70
.db $38,$80
.db $38,$90
;
.db $44,$40
.db $33,$40
.db $3D,$40
.db $44,$40
.db $44,$50
.db $56,$40
.db $56,$50
.db $52,$40
.db $52,$50
.db $53,$60
.db $54,$70
.db $55,$80
.db $56,$90
.db $56,$A0
.db $56,$B0
.db $56,$40
;
.db $40,$40
.db $30,$40
.db $38,$40
.db $40,$40
.db $40,$50
.db $60,$40
.db $60,$50
.db $64,$40
.db $64,$50
.db $4C,$40
.db $40,$40
.db $40,$50
.db $40,$60
.db $40,$70
.db $40,$40
.db $3C,$90
;
.db $3A,$40
.db $38,$40
.db $3A,$40
.db $30,$40
.db $34,$40
.db $48,$40
.db $48,$50
.db $40,$40
.db $40,$50
.db $40,$60
.db $40,$70
.db $40,$80
.db $40,$90
.db $40,$A0
.db $40,$B0
.db $40,$40
.ends
.section "choons" align 256
choons:
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smp_s>>8
.db smp_s>>8
.db smpno>>8
;
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smp_k>>8
.db smp_k>>8
.db smp_s>>8
.db smpno>>8
.db smp_s>>8
;
.db smp_k>>8
.db smp_k>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smp_s>>8
.db smp_s>>8
.db smpno>>8
;
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smpno>>8
.db smp_k>>8
.db smpno>>8
.db smp_s>>8
.db smp_k>>8
.db smp_k>>8
.db smp_s>>8
.db smp_s>>8
.db smp_s>>8
;
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_k>>8
.db smp_s>>8
.db smp_k>>8
;
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_k>>8
.db smp_s>>8
.db smp_k>>8
;
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_k>>8
.db smp_s>>8
.db smp_k>>8
;
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_h>>8
.db smp_s>>8
.db smp_h>>8
.db smp_k>>8
.db smp_s>>8
.db smp_s>>8
.db smp_s>>8
.ends
.section "smp_empty" align 256
smpno:
.dsb 256 $00
.ends
.section "smp_k" align 256
smp_k:
.incbin "kick.1bt"
.ends
.section "smp_s" align 256
smp_s:
.incbin "snare.1bt"
.ends
.section "smp_h" align 256
smp_h:
.incbin "hihat.1bt"
.ends
.orga $FFFE
.dw $8000
; EOF.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment