Mercurial > hg > Members > kono > nitros9-code
changeset 2650:538d8fdbaeba
Added fuji and ataridemo.dsk
author | Boisy Pitre <boisy.pitre@nuance.com> |
---|---|
date | Mon, 02 Apr 2012 20:51:09 -0500 |
parents | 928b4a062979 |
children | 3f4ab32b4106 |
files | defs/atari.d level1/atari/cmds/fuji.asm level1/atari/cmds/fujimem.asm level1/atari/cmds/fujitune.asm level1/atari/cmds/makefile level1/atari/makefile |
diffstat | 6 files changed, 468 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/defs/atari.d Mon Apr 02 20:27:29 2012 -0500 +++ b/defs/atari.d Mon Apr 02 20:51:09 2012 -0500 @@ -310,4 +310,36 @@ NMIEN equ ANTIC+$0E ;NMI enable NMIRES equ ANTIC+$0F ;NMI interrupt status reset + +************************************************* +** Display List Equates +ADLI equ $80 ;display list interrupt +AVB equ $40 ;vertical blank +ALMS equ $40 ;set screen data address +AVSCR equ $20 +AHSCR equ $10 +AJMP equ $01 ;jump +AEMPTY1 equ $00 +AEMPTY2 equ $10 +AEMPTY3 equ $20 +AEMPTY4 equ $30 +AEMPTY5 equ $40 +AEMPTY6 equ $50 +AEMPTY7 equ $60 +AEMPTY8 equ $70 +AMODE2 equ $02 +AMODE3 equ $03 +AMODE4 equ $04 +AMODE5 equ $05 +AMODE6 equ $06 +AMODE7 equ $07 +AMODE8 equ $08 +AMODE9 equ $09 +AMODEA equ $0A +AMODEB equ $0B +AMODEC equ $0C +AMODED equ $0D +AMODEE equ $0E +AMODEF equ $0F + endc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/atari/cmds/fuji.asm Mon Apr 02 20:51:09 2012 -0500 @@ -0,0 +1,230 @@ +**************************************** +* Sample kick application for Liber809 +* James Wilkinson +* v.2 - March 28, 2012 +**************************************** + + nam Fuji + ttl Fuji Demo + + ifp1 + use defsfile + use atari.d + endc + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $00 +edition set 0 + +* Here are some tweakable options +STACKSZ set 128 estimated stack size in bytes +PARMSZ set 256 estimated parameter size in bytes + + mod eom,name,tylg,atrv,start,size + + org 0 +Clr0Next rmb 1 +SndAddrs rmb 8 +SndDurs rmb 8 +* Finally the stack for any PSHS/PULS/BSR/LBSRs that we might do + rmb STACKSZ+PARMSZ +size equ . + +name fcs /Merge/ + fcb edition change to 6, as merge 5 has problems? + +GRSIZE equ 40 ;memory per graphics mode line +GRCOUNT equ 80 ;total graphics mode lines +TXTSIZE equ 40 ;memory per text mode line +TXTCOUNT equ 4 ;total lines of text + +CLR0 equ $10 ;Fuji +CLR1 equ $0E ;text foreground +CLR2 equ $00 ;text background + +VOICES equ 2 ;number of sound channels to use + + +* Screen display areas + use fujimem.asm + +* Music data + use fujitune.asm + + +* Custom display list: +* - 3 empty mode lines, to prevent overscan +* - 2 mode lines of ANTIC mode $2 (text) +* - 80 mode lines of ANTIC mode $D (graphics) with display list interrupts +* - 2 mode lines of ANTIC mode $2 (text) +DList fcb AEMPTY8,AEMPTY8,AEMPTY8 + fcb ALMS+AMODE2 +DListT1 fdbs FujiTxt1 + fcb AMODE2 + fcb ALMS+ADLI+AMODED +DListM fdbs FujiMem + fill ADLI+AMODED,$4e + fcb AMODED + fcb ALMS+AMODE2 +DListT2 fdbs FujiTxt2 + fcb AMODE2 + fcb AVB+AJMP +DListPtr fdbs DList + +**************************************** +* Main entry point + +start equ * +* Initialize POKEY sound +InitPokey lda #$03 + sta SKCTL ;set POKEY 2-tone mode + lda #$00 + sta AUDCTL ;set POKEY clock base to 15 KHz + bsr InitSnd + +* Initialize GTIA color registers +InitClr lda #CLR0 + sta COLPF0 + lda #CLR1 + sta COLPF1 + lda #CLR2 + sta COLPF2 + +* Convert static text, using simplified conversion to ANTIC screen characters +InitTxt leax FujiTxt1,pcr + ldy #TXTSIZE*TXTCOUNT +loop@ lda ,x + suba #$20 + sta ,x+ + leay -1,y + bne loop@ + +* Set up custom display list +InitDL leax DList,pcr + tfr x,d + exg a,b + std DLISTL ;point ANTIC to custom display list + std DListPtr,pcr + + leax FujiTxt1,pcr + tfr x,d + exg a,b + std DListT1,pcr + + leax FujiMem,pcr + tfr x,d + exg a,b + std DListM,pcr + + leax FujiTxt2,pcr + tfr x,d + exg a,b + std DListT2,pcr + +* Set up and enable non-maskable interrupt +InitNMI leax NMIVect,pcr + 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 + + +* Initialize sound pointers +InitSnd + ldx #SndAddrs + leay Track0,pcr ;initialize pointer to track 0 + sty ,x++ + leay Track1,pcr ;initialize pointer to track 1 + sty ,x + rts + +* Single vector to handle all non-maskable interrupts +NMIVect pshs d,x,y ;save register used during interrupt + lda NMIST +DLITest@ anda #%10000000 ;was interrupt generated by display list? + beq VBITest@ + bsr DLIVect ;if so, run DLI routine +VBITest@ lda NMIST + anda #%01000000 ;was interrupt generated by vertical blank? + beq done@ + bsr VBIVect ;if so, run VBI routine +done@ puls d,x,y ;restore register + rti + +DLIVect lda Clr0Next ;get color for next mode line + adda #2 ;adjust for rainbow effect + cmpa #CLR0 ;skip grey tones + bhi dcycle@ + adda #CLR0 +dcycle@ sta Clr0Next ;save shadow for next interrupt + sta WSYNC ;wait for horizontal sync + sta COLPF0 ;update GTIA color register + rts + +VBIVect bsr SndVect + lda Clr0Next ;get color for next mode line + cmpa #$af ;adjust for skipped grey tones + bhi vcycle@ + suba #CLR0 +vcycle@ suba #$a1 ;reset color for top line of Fuji + sta Clr0Next ;save shadow + bsr DLIVect ;chain to DLI routine + rts + +SndVect ldd #$0000 + tfr d,x ;start with voice #0 + +PlayVoice lda SndDurs,x + bne UpdateDur ;skip work if same note keeps playing + +LoadNote tfr x,d + lslb + tfr d,x + ldy SndAddrs,x ;load from word offset for current note + lsrb + tfr d,x + leay 2,y + lda ,y + sta SndDurs,x ;save duration + ora ,y + bne PlayNote + pshs x + bsr InitSnd ;loop back to beginning at end of tune + puls x + bra LoadNote + +PlayNote leay -2,y + lda ,y+ + pshs a ;save frequency + lda ,y + pshs a ;save volume + tfr x,d + lslb + tfr d,y ;y = x * 2 + puls a ;restore volume + adda #$a0 + sta AUDC1,y ;set pure tone and volume + puls a ;restore frequency + sta AUDF1,y ;set frequency + tfr x,d + lslb + tfr d,x + ldd SndAddrs,x ;load from word offset for current note + addd #$0003 + std SndAddrs,x ;point to next note + tfr x,d + lsrb + tfr d,x + +UpdateDur dec SndDurs,x ;decrement remaining duration + leax 1,x + cmpx #VOICES + bne PlayVoice ;play next voice + rts + + emod +eom equ * + end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/atari/cmds/fujimem.asm Mon Apr 02 20:51:09 2012 -0500 @@ -0,0 +1,99 @@ +**************************************** +* Sample kick application for Liber809 +* James Wilkinson +* v.2 - March 28, 2012 +**************************************** + +**************************************** +* Color table (2 bits/pixel): +* [ ] [ #] [# ] [##] +* PF0 $0 $1 $4 $5 +* PF1 $0 $2 $8 $a +* PF2 $0 $3 $c $f + +FujiMem fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$2a,$80,$aa,$a0,$2a,$80,$2a,$80,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$02,$a8,$02,$a8,$02,$a8,$02,$a8,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$a0,$00,$a0,$00,$a0,$a0,$a0,$a0,$00,$00,$05,$55,$50,$55,$55,$55,$55,$05,$55,$50,$00,$00,$0a,$00,$0a,$0a,$0a,$0a,$0a,$0a,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$aa,$80,$aa,$80,$a2,$a0,$02,$80,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$0a,$a8,$02,$a8,$0a,$2a,$02,$aa,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$a0,$a0,$00,$a0,$a8,$a0,$0a,$00,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$0a,$0a,$0a,$0a,$0a,$8a,$00,$0a,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$a0,$a0,$a0,$a0,$a0,$a0,$28,$00,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$0a,$0a,$0a,$0a,$0a,$0a,$00,$28,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$2a,$80,$2a,$80,$2a,$80,$aa,$a0,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$02,$a8,$02,$a8,$02,$a8,$02,$a0,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$50,$55,$55,$55,$55,$05,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$00,$55,$55,$55,$55,$00,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$50,$00,$55,$55,$55,$55,$00,$05,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$50,$00,$55,$55,$55,$55,$00,$05,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$50,$00,$55,$55,$55,$55,$00,$05,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$50,$00,$55,$55,$55,$55,$00,$05,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$50,$00,$55,$55,$55,$55,$00,$05,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$00,$00,$55,$55,$55,$55,$00,$00,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$00,$00,$55,$55,$55,$55,$00,$00,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$55,$55,$55,$55,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$55,$55,$55,$55,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$50,$00,$00,$55,$55,$55,$55,$00,$00,$05,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$50,$00,$00,$55,$55,$55,$55,$00,$00,$05,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$50,$00,$00,$55,$55,$55,$55,$00,$00,$05,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$55,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$55,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$55,$55,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$55,$55,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$55,$55,$50,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$05,$55,$55,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$55,$50,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$05,$55,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$50,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$05,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$50,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$05,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$50,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$05,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$50,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$05,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + fcb $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + +* Text display area +FujiTxt1 fcc " Liber809 Hardware and Firmware " + fcc " (C) Boisy Pitre 2012 " +FujiTxt2 fcc " Fuji Demo by Slor " + fcc " http://liber809.blogspot.com "
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/atari/cmds/fujitune.asm Mon Apr 02 20:51:09 2012 -0500 @@ -0,0 +1,91 @@ +**************************************** +* Sample kick application for Liber809 +* James Wilkinson +* v.2 - March 28, 2012 +**************************************** + +* Note periods +B4 equ 255 +C5 equ 243 +C5S equ 230 +D5 equ 217 +D5S equ 204 +E5 equ 193 +F5 equ 182 +F5S equ 173 +G5 equ 162 +G5S equ 153 +A5 equ 144 +A5S equ 136 +B5 equ 128 +C6 equ 121 +C6S equ 114 +D6 equ 108 +D6S equ 102 +E6 equ 96 +F6 equ 91 +F6S equ 85 +G6 equ 81 +G6S equ 76 +A6 equ 72 +A6S equ 68 +B6 equ 64 +C7 equ 60 +C7S equ 57 +D7 equ 53 +D7S equ 50 +E7 equ 47 +F7 equ 45 +F7S equ 42 +G7 equ 40 +G7S equ 37 +A7 equ 35 +A7S equ 33 +B7 equ 31 +C8 equ 29 +C8S equ 27 +D8 equ 26 +D8S equ 24 +E8 equ 23 +F8 equ 22 +F8S equ 21 +G8 equ 19 +G8S equ 18 +A8 equ 17 +A8S equ 16 +B8 equ 15 +C9 equ 14 + +* Note volume levels +VOL03 equ 1 +VOL05 equ 1 +VOL10 equ 3 +VOL20 equ 7 +VOL40 equ 10 +VOL52 equ 13 +VOL64 equ 15 + +* Note durations +DUR01 equ 4 +DUR03 equ DUR01*3 +DUR07 equ DUR01*7 +DUR11 equ DUR01*11 + +**************************************** +* Track for each voice, in triplets of +* period, volume, and duration + +Track0 fcb F6,VOL40,DUR01,C6,VOL05,DUR01,E6,VOL40,DUR01,G5,VOL03,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,D6,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL03,DUR01,E6,VOL40,DUR01,D6,VOL05,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,G5,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL05,DUR01,E6,VOL40,DUR01,G5,VOL03,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,D6,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL03,DUR01,E6,VOL40,DUR01,D6,VOL05,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,G5,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL05,DUR01,E6,VOL40,DUR01,G5,VOL03,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,D6,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL03,DUR01,E6,VOL40,DUR01,D6,VOL05,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,G5,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL05,DUR01,E6,VOL40,DUR01,G5,VOL03,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,D6,VOL40,DUR01,E6,VOL05,DUR01 + fcb F6,VOL40,DUR01,C6,VOL03,DUR01,E6,VOL40,DUR01,D6,VOL05,DUR01,C6,VOL40,DUR01,F6,VOL05,DUR01,G5,VOL40,DUR01,E6,VOL05,DUR01 + fcb 0,0,0 +Track1 fcb D5,VOL40,DUR01,0,0,DUR03,C5,VOL20,DUR01,0,0,DUR01,D5,VOL40,DUR01,0,0,DUR01,D5,VOL20,DUR01,0,0,DUR01,C5,VOL40,DUR01,0,0,DUR01,C5,VOL40,DUR01,0,0,DUR01,D5,VOL40,DUR01,0,0,DUR01 + fcb C5,VOL40,DUR01,0,0,DUR01,C5,VOL20,DUR01,0,0,DUR01,D5,VOL10,DUR01,0,0,DUR11 + fcb C5,VOL40,DUR01,0,0,DUR03,D5,VOL20,DUR01,0,0,DUR01,C5,VOL40,DUR01,0,0,DUR01,C5,VOL20,DUR01,0,0,DUR01,C5,VOL40,DUR01,0,0,DUR01,C5,VOL10,DUR01,0,0,DUR01,C5,VOL40,DUR01,0,0,DUR01 + fcb C5,VOL40,DUR01,0,0,DUR03,C5,VOL20,DUR01,0,0,DUR03,C5,VOL40,DUR01,0,0,DUR07 + fcb 0,0,0
--- a/level1/atari/cmds/makefile Mon Apr 02 20:27:29 2012 -0500 +++ b/level1/atari/cmds/makefile Mon Apr 02 20:51:09 2012 -0500 @@ -21,8 +21,10 @@ CMDS_DW = inetd telnet dw +CMDS_DEMO = fuji + SUBS = gfx inkey syscall -ALLOBJS = $(CMDS) $(CMDS_D2) $(CMDS_DW) $(SUBS) +ALLOBJS = $(CMDS) $(CMDS_D2) $(CMDS_DW) $(CMDS_DEMO) $(SUBS) all: $(ALLOBJS) @@ -50,5 +52,8 @@ showobjs_dw: @$(ECHO) $(CMDS) $(CMDS_DW) +showobjs_demo: + @$(ECHO) $(CMDS_DEMO) + showallobjs: @$(ECHO) $(ALLOBJS)
--- a/level1/atari/makefile Mon Apr 02 20:27:29 2012 -0500 +++ b/level1/atari/makefile Mon Apr 02 20:51:09 2012 -0500 @@ -16,15 +16,16 @@ CMDS = $(shell $(CD) cmds; make --no-print-directory showobjs_dw) +CMDS_DEMO = $(shell $(CD) cmds; make --no-print-directory showobjs_demo) SYS = $(shell $(CD) sys; make --no-print-directory showobjs) DEFS = $(shell $(CD) defs; make --no-print-directory showobjs) STARTUP = startup PACKAGENAME = $(DISTROVER).zip DSK = $(DISTROVER).dsk - +DSK_DEMO = ataridemo.dsk -DSKS = $(DSK) +DSKS = $(DSK) $(DSK_DEMO) # Make all components all: @@ -70,6 +71,13 @@ $(CPL) $(STARTUP_DW) $@,startup $(OS9ATTR_TEXT) $@,startup +$(DSK_DEMO): + $(RM) $@ + $(OS9FORMAT_DW3) -q $@ -n"NitrOS-9 Atari Demo Disk" + $(MAKDIR) $@,CMDS + $(CD) cmds; $(CP) $(CMDS_DEMO) ../$@,CMDS + $(foreach file, $(CMDS_DEMO), $(OS9ATTR_EXEC) $@,CMDS/$(file);) + info: @echo "*** NitrOS-9/6809 Level 1 for the Atari XL/XE ***" @$(foreach dsk, $(DSKS), $(ECHO) $(dsk);)