# HG changeset patch # User Boisy Pitre # Date 1333421665 18000 # Node ID 32908c617568e6e983aaabb266d568917af85068 # Parent 3f4ab32b4106930d4e0ae5e075f257e439ada3a1 Now pressing a key quits demo sound temporarily rts's until we figure out PIC code diff -r 3f4ab32b4106 -r 32908c617568 level1/atari/cmds/fuji.asm --- a/level1/atari/cmds/fuji.asm Mon Apr 02 21:16:21 2012 -0500 +++ b/level1/atari/cmds/fuji.asm Mon Apr 02 21:54:25 2012 -0500 @@ -35,6 +35,8 @@ VOICES equ 2 ;number of sound channels to use org 0 +CharRead rmb 1 +OrgNMI rmb 2 Clr0Next rmb 1 SndAddrs rmb VOICES*2 SndDurs rmb VOICES @@ -81,7 +83,7 @@ sta SKCTL ;set POKEY 2-tone mode lda #$00 sta AUDCTL ;set POKEY clock base to 15 KHz - bsr InitSnd + lbsr InitSnd * Initialize GTIA color registers InitClr lda #CLR0 @@ -124,13 +126,28 @@ * Set up and enable non-maskable interrupt InitNMI leax NMIVect,pcr - stx $fffc ;point 6809 to custom interrupt vector + ldy $FFFC + sty OrgNMI,u + stx $FFFC ;point 6809 to custom interrupt vector lda #$C0 sta NMIEN ;enable both display list and vertical blank interrupts -* End of main program -End bra End +* Read one character + clra + ldy #$0001 + leax CharRead,u + os9 I$Read + +* Now awake, time to quit + lda #$00 + sta NMIEN + ldy OrgNMI,u + sty D.NMI + ldd #$00F8 + std DLISTL + clrb + os9 F$Exit * Initialize sound pointers InitSnd @@ -176,7 +193,8 @@ SndVect ldd #$0000 tfr d,x ;start with voice #0 - + rts + PlayVoice lda SndDurs,x bne UpdateDur ;skip work if same note keeps playing