Okay, so sounds like something that is rarely used, but which could still come in handy.
What is the most space efficient way of doing the NMI debouncing? I'd prefer if I didn't have to fit an extra 74HC14. I guess I could try to duplicate the reset circuit with the ds1813, but maybe that gives strange effects on power on?
I use the DS1813 in the NMI "panic button" circuit. It has worked glitch-free in POC V1.0, V1.1, V1.2 and V1.3. At power-on, the panic circuit will start out in the asserted (low) state, but the microprocessor won't care, because NMIB is edge-sensitive, but only in the low-going direction. At power-on, the "edge" never happens because the DS1813's output is already low. The MPU won't respond to a high-going edge, which is why this very simple arrangement works without any problems.
In the firmware's NMI handler, a check is made to see if the interrupted code is in the firmware itself. If it is, the NMI handler immediately returns to the interrupted code without any apparent effect on the system.
;inmi: NON-MASKABLE INTERRUPT SERVICE ROUTINE
;
inmi rep #m_setr ;16-bit registers
phb ;save machine state
phd
pha
phx
phy
jmp (ivnmi) ;NMI indirect vector
;
; ———————————————————————————————————————————————————————————
; NMI processing re-enters here if IVNMI hasn't been altered.
; ———————————————————————————————————————————————————————————
;
inmia sep #m_seta ;8-bit registers
lda nmi_pbx,S ;anywhere in bank $00?
bne .0000010 ;no, intercept the NMI
;
rep #m_seta ;yes
lda nmi_pcx,S ;interrupted address
cmp !#mm_rom ;anywhere in ROM?
bcs crti ;yes, ignore NMI
;
.0000010 jmp monbrk ;enter monitor thru BRK portal
If the interrupted code is not in firmware space, the NMI handler jumps to the BRK entry point of the machine language monitor. It's a convenient arrangement for software testing and debugging.
i would personally go with USB, USB-B to be exact. i've been using it ever since my first SBC and it's been working very well.
I don't agree with that at all. Compared to any of the USB jacks and plugs, barrel plugs are nearly indestructible, and have lower insertion resistance. What's with this mania to get USB stuff involved with everything? As Garth said, there's nothing "universal" about a "standard" that uses so many connector types, all of them fragile to varying degrees.
i would personally go with USB, USB-B to be exact. i've been using it ever since my first SBC and it's been working very well.
I don't agree with that at all. Compared to any of the USB jacks and plugs, barrel plugs are nearly indestructible, and have lower insertion resistance. What's with this mania to get USB stuff involved with everything? As Garth said, there's nothing "universal" about a "standard" that uses so many connector types, all of them fragile to varying degrees.
I'd prefer a barrel jack, myself, but if I had to use USB for power, USB-B is probably the best of the lot. I've had a few devices that used USB-B and it always felt the most snug/secure of the lot, and is of decent physical size.
Oh, and one final question. Which would you go with for the power socket: DC barrel connector or USB B / USB mini? I can't make up my mind.
Screw terminals. Either the ones that use spade terminals or the ones that directly clamp bare wire. Best .. Connection .. Ever! I tend toward the direct wire clamp type as I can use any suitable wall wart then just hack the plug off the end, strip a little insulation of each wire and your in business.