X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM2%2Fstart.s;h=7611f1b388ed995df3a145e5f286b69f6be09316;hb=27fb8a023fa0572ef4171624781460bc59537d49;hp=c37026396bd7ad4f54fd1a81b0e2871dfa16c8e4;hpb=41ad37ba6d86ccc4f8f720cb09f7891ae166cb38;p=uccvend-snackrom.git diff --git a/ROM2/start.s b/ROM2/start.s index c370263..7611f1b 100644 --- a/ROM2/start.s +++ b/ROM2/start.s @@ -2,6 +2,18 @@ .globl _start _start: + ;; set port a to output + ldab #0xfc ; 11111000 + stab 0x1001 + + ;; turn display on + ldx #0x1000 + bset 00,x #0x80 + + ;; start chiming + ldx #0x1000 + bset 00,x #0x10 + ;; enable the RTI ldaa #0x40 staa 0x1024 @@ -12,14 +24,22 @@ _start: ;; set RTI intervals, and PA3/7 DDRs ldaa #0x81 - staa 0x1026 + staa 0x1026 ;; RTI interval becomes E/2^14 = 6.6ms (or 150 Hz) + + ;; stop chiming + ldx #0x1000 + bclr 00,x #0x10 ;; clear ADC register clra staa 0x1030 ;; set the stack pointer - lds _stack + lds #_stack + + ;; start chiming + ldx #0x1000 + bset 00,x #0x10 ;; blank initialised variables - should match memory.x's page0 ldx #0x0000 @@ -31,6 +51,20 @@ loop1: bra loop1 out1: + ;; wait a while + ldx #0x0000 +loop2: + cpx #0x00ff + bcc out2 + clr 00,x + inx + bra loop2 +out2: + + ;; stop chiming + ldx #0x1000 + bclr 00,x #0x10 + jsr main infinity: