Edwin Blink
Tue, 20 May 2008 11:48:51 -0700
1)Normally the value is &FF and it looks pretty stable too considering PRO-DOS uses IM 2 without a vector table. So your choices are IM 0/IM 1 both do a RST 38H or IM 2 which 'calls' the adress found at the address pointed by I register (MSB) and the value on the databus (LSB). Like the speccy there may be some hardware connected that changes the default value on the databus so a 257 byte vector table is recomended.
2)If choose to put all the LSB at 32768 followed by the MSB then you could use the following:
set 7,h ld e,(hl) set 3,h ld d,(hl)Other usefull addresses for the table would be 16384 (use SET 6,H), 8192 (SET 5,H), 4096 (SET 4,H) or 0 (you don't need the first SET instruction at all)
Edwin----- Original Message ----- From: "Thomas Harte" <[EMAIL PROTECTED]>
To: <sam-users@nvg.ntnu.no> Sent: Tuesday, May 20, 2008 3:03 PM Subject: Short, short questions
I'm about to finish my lunch break, sorry if I sound slightly short... 1) is there any pattern or logic to the values placed on the bus during interrupts? I guess an equivalent question is: what realistic options do I have on the Sam for catching and processing interrupts? 2) are there any non-obvious tricks for fast access to a table containing 16bit words, indexed by an 11bit (signed) integer? At the minute I'm essentially doing: [stuff to work out offset into table in hl]ld bc, <address of middle of table - which is aligned to a two-byte boundary>add hl, hl add hl, bc ld e, (hl) inc lld d, (hl)