10 extrn msg.sm,msg.recv,hwl2phy
16 ;----------------------------------------------------------------------
27 ; Let all vectors point to spurious int routines.
45 ;--------------------------------------------------------------------
46 ; Spurious interrupt handler
52 sp.int.len equ $-sp.int0
80 db 13,10,'Spurious Int: '
84 ;--------------------------------------------------------------------
86 ; Get/compute CPU clock
89 ; hlde: CPU frequency (Hz)
102 ; delay ~8ms @ 18.432MHz --> 147456 clock cycles
103 ; delay ~10ms @ 18.432MHz --> 184320 clock cycles
106 ; ld hl,8192 ; 147456/18
107 ld hl,(10240-100)*5 ; 184320/18
112 jr nz,dly_lp ; 6/8 -> 18 cycles
120 ld de,036EEh ;18432000/(2**16) * 50
121 ld hl,08000h ;18432000%(2**16) * 50
134 ;--------------------------------------------------------------------
140 ld hl,1*256 + 3 ; h = subcommand, l = command
150 ld b,7 ; max receive message len
159 ;--------------------------------------------------------------------
168 ;--------------------------------------------------------------------
173 ld (ix+o.in_idx),0 ;reset pointers (empty fifo)
192 call hwl2phy ;get phys. address of fifo
194 ld a,(ix+o.id) ;fifo id
199 push bc ;c: bank-addr, b: ignored
202 push bc ;c: function, b:subf
213 ;----------------------------------------------------------------------