;SDLSTL = $0230Ñ ;SDLSTH = $0231Ñ ;GPRIOR = $026FÑ ;VDSLST = $0200Ñ ;NMIEN = $D40EÑ ;CONSOL = $D01FÑ ;SETVBV = $E45CÑ ;PCOLR0 = $02C0Ñ ;LOMEM = $0080Ñ ;WSYNC = $D40AÑ ;PRIOR = $D01BÑ ;COLPF0 = $D016Ñ ;COLPF2 = $D018Ñ ;COLBK = $D01AÑ ;HSCROL = $D404Ñ ;ATRACT = $004DÑ ;SYSVBV = $E45FÑ ;DLISTL = $D402Ñ ;DLISTH = $D403Ñ ;COLOR2 = $02C6Ñ ;CHBASE = $D409Ñ ;Ñ ;; Ñ ;; DISPLAY LIST EQUATESÑ ;; Ñ ;ADLI = $0080Ñ ;AVB = $0040Ñ ;ALMS = $0040Ñ ;AVSCR = $0020Ñ ;AHSCR = $0010Ñ ;AJMP = $0001Ñ ;AEMPTY1 = $0000Ñ ;AEMPTY2 = $0010Ñ ;AEMPTY3 = $0020Ñ ;AEMPTY4 = $0030Ñ ;AEMPTY5 = $0040Ñ ;AEMPTY6 = $0050Ñ ;AEMPTY7 = $0060Ñ ;AEMPTY8 = $0070Ñ ;scrolltext&255Ñ ;scrolltext/256Ñ *= $800Ñ initSineTable:Ñ ldy #$3fÑ ldx #$00Ñ ; Accumulate the delta (normal 16-bit addition)Ñ gensinlpÑ valuehi lda #$00;valuehiÑ clcÑ deltahi adc #$00;deltahiÑ sta valuehi+1Ñ valuelo lda #$00;valueloÑ deltalo adc #$00;deltaloÑ sta valuelo+1Ñ ; Reflect the value around for a sine waveÑ sta sine+$c0,xÑ sta sine+$80,yÑ eor #$ffÑ sta sine+$40,xÑ sta sine+$00,yÑ ; Increase the delta, which creates the "acceleration" for a parabolaÑ lda deltahi+1Ñ clcÑ adc #$06 ; this value adds up to the proper amplitudeÑ sta deltahi+1Ñ bcc nodeltaÑ inc deltalo+1Ñ nodeltaÑ ; LoopÑ inxÑ deyÑ bpl gensinlp;:--Ñ Ñ ;--------------------------------------------------Ñ ; ldy #$10Ñ ; lda #$00;;40Ñ ;clrlp2Ñ ; sta 704,yÑ ; adc #$02Ñ ; deyÑ ; bne clrlp2Ñ ;--------------------------------------------------Ñ lda #$40Ñ sta 623Ñ ;lda #$40Ñ sta 756Ñ Ñ lda #$11Ñ ldx #$00Ñ flp2Ñ ldy #$08Ñ flp1Ñ sta $4000,xÑ inxÑ deyÑ bne flp1Ñ clcÑ adc #$11Ñ bcc flp2Ñ ;--------------------------------------------------Ñ plasmalpÑ lda #$00Ñ sta $D0Ñ scrhi lda #$80Ñ sta $D1Ñ Ñ ldx #$18;58Ñ ylpÑ ldy #40Ñ xlpÑ vvar1 lda sineÑ ;clcÑ vvar2 adc sineÑ ;clcÑ vvar3 adc sineÑ ;clcÑ vvar4 adc sineÑ Ñ sta $CBÑ and #$10Ñ beq zerobit4Ñ lda #$FFÑ zerobit4Ñ eor $CBÑ and #$0EÑ bne nochangzeroÑ ora #$03Ñ nochangzeroÑ Ñ sta ($D0),y;6Ñ ;;; sta $1000,y;;;5cyc! vs sta ($D0),y;6Ñ Ñ ; inc vvar1+1;6cycÑ ; i dunno why opcode doesnt worksÑ lda vvar1+1;4cycÑ clc;2cycÑ adc #$02;2cycÑ sta vvar1+1;4cycÑ Ñ ; dec vvar2+1Ñ lda vvar2+1Ñ clcÑ adc #$FBÑ sta vvar2+1Ñ Ñ deyÑ bpl xlpÑ Ñ vvar11 lda #$00Ñ sta vvar1+1Ñ Ñ vvar22 lda #$00Ñ sta vvar2+1Ñ Ñ lda vvar3+1Ñ clcÑ adc #$03Ñ sta vvar3+1Ñ Ñ lda vvar4+1Ñ clcÑ adc #$02Ñ sta vvar4+1Ñ Ñ lda $D0Ñ clcÑ adc #40;;;;;;;;#$78-40-40Ñ bcc nonext1Ñ inc $D1Ñ nonext1Ñ sta $D0Ñ Ñ dexÑ bne ylpÑ vvar33 lda #$00Ñ sta vvar3+1Ñ vvar44 lda #$00Ñ sta vvar4+1Ñ Ñ dec vvar33+1Ñ inc vvar44+1Ñ Ñ inc vvar11+1Ñ dec vvar22+1Ñ Ñ lda $230Ñ sta $d0Ñ lda $231Ñ sta $d1Ñ ;--------------------------------------------------Ñ inc $53Ñ bne nocolorÑ ldy #$10Ñ adval1 lda #$01Ñ clrlp2Ñ sta 704,yÑ adval2 adc #$02Ñ deyÑ bne clrlp2Ñ asl adval2+1Ñ nocolorÑ ;--------------------------------------------------Ñ Ñ Ñ waitvbÑ lda $D40BÑ bne waitvbÑ ; lda $230Ñ ; sta $d0Ñ ; lda $231Ñ ; sta $d1Ñ ldy #$04Ñ ;lda #$00Ñ sta ($d0),y;A=0Ñ lda scrhi+1Ñ inyÑ sta ($d0),yÑ eor #$10Ñ sta scrhi+1Ñ jmp plasmalpÑ ;------------------------------------------------Ñ ;value .word 0Ñ ;delta .word 0Ñ ;valuehi = $BC40;because values seems to be zeroÑ ;valuelo = $BC41;because values seems to be zeroÑ ;deltahi = $BC42Ñ ;deltalo = $BC43Ñ Ñ sine = $600Ñ