X-Git-Url: https://git.gir.st/Chiptunes-pms150c.git/blobdiff_plain/936a9ec2db80a80c7858a8794d552e8d8db1b360..e8e4d78f94f7ffdd2eddf7c41df35b1fc43d7d87:/bsv.asm diff --git a/bsv.asm b/bsv.asm index df121a9..f31ee13 100644 --- a/bsv.asm +++ b/bsv.asm @@ -205,19 +205,19 @@ init: MOV a, #active_clock MOV clkmd, a ; switch to IHRC - ;; .org 0x46 ; comment out on 2nd iteration - ; calibration placeholder: - AND a, #'R' - AND a, #'C' - AND a, #1 ; IHRC - AND a, #( calib_freq ) - AND a, #( calib_freq>>8 ) - AND a, #( calib_freq>>16 ) - AND a, #( calib_freq>>24 ) - AND a, #( calib_vdd ) - AND a, #( calib_vdd>>8 ) - AND a, #ihrcr - ;; .org 0x5a + ;; .org 0xe8 ; comment out on 2nd iteration + ;; ; calibration placeholder: + ;; AND a, #'R' + ;; AND a, #'C' + ;; AND a, #1 ; IHRC + ;; AND a, #( calib_freq ) + ;; AND a, #( calib_freq>>8 ) + ;; AND a, #( calib_freq>>16 ) + ;; AND a, #( calib_freq>>24 ) + ;; AND a, #( calib_vdd ) + ;; AND a, #( calib_vdd>>8 ) + ;; AND a, #ihrcr + .org 0xfc ;stack setup: MOV a, #stack_start @@ -243,12 +243,10 @@ init: MOV tm2c, a ; timer2: IHRC, PA4, PWM, not inverted MOV a, #(( 0<<7 | 1<<5 | 0<<0 )) MOV tm2s, a ; 8bit, /4 prescaler, divide by (0+1) + ;XXX: increase pwm base frequency (/1) -> (4*4.096mhz)/(2^8) = 64khz ;timer16/ivr setup - ;mov a, #(( 0<<0 | 1<<3 | 4<<5 )) ; ovf@bit8 (512cy; §9.2.5), clk/4, ihrc - MOV a, #(( 1<<0 | 1<<3 | 4<<5 )) ; ovf@bit9 (???cy; §9.2.5), clk/4, ihrc - ;XXX: datasheet §5.10.1 says bit8 = 256cycles, 9.2.5 says bit8=512cy - ; note: ovf@bit9 causes 4khz isr => we need ovf@bit8. + MOV a, #(( 0<<0 | 1<<3 | 4<<5 )) ; ovf@bit8 (512cy; §9.2.5), clk/4, ihrc MOV t16m, a MOV a, #(1<<2) ; enable timer16 int, disable all others MOV inten, a @@ -476,7 +474,7 @@ interrupt: ADDC i1 ADDC i2 - SET1 pa, #6 ; debug + SET0 pa, #6 ; debug ivr_end: POP af RETI