Other DTV info

Hummer IRQ lines

An image of the undocumented IRQs--nIRQ and nNMI.


Original image courtesy of David Murray

The original threads on dtvhacking: NMI thread --- IRQ thread

nNMI

nNMI (Non-Maskable Interrupt) line is trace leading from ASIC to left side of R46 (beside R48). Since nNMI line is right next to nIRQ (refer to schematic), this was easy to find.

It's bi-directional, negative-assert, just like nIRQ.

It behaves as expected--unlike nIRQ, nNMI is 'edge' triggered, and only one interrupt is triggered when pulling line LO, no matter how long it is held LO. nIRQ, on the other hand, will keep triggering a maskable IRQ over and over, as long as it's LO.

Tested by--

OUTPUT: Hold digital probe on trace (left side of resistor) then press "Pause/Break" key (corresponds to "RESTORE" on c64, one of the ways an nNMI is triggered.) This pulls the line LO, probe beeps once. For each keypress, a single beep.

INPUT: Ground the trace while holding "ESC" key down. This initiates a "Warm Start", exactly like Holding "STOP" and hitting "RESTORE" on a c64. (The standard nNMI routine checks to see if "STOP" key is pressed.)

nIRQ

Poking around the Hummer pcb, the only spot I found that has a low-frequency signal is R48 (left side of resistor, closest to the ASIC, and right beside the IEC DATA tap.)

The schematic does indicate that the nIRQ and nNMI lines breakout next to IEC DATA, so it fits. The dtv programmers doc points out it's bi-directional. Not only does it carry a low-freq signal, if you ground it, the BASIC cursor blinks so fast the screen refresh can't keep pace.

So grounding this trace also generates an interrupt.

Dtvkernal Utils

Dtvkernal Utils are a set of programs for distributing patched kernals without having to actually exchange the kernals themselves.

Any DTV or Hummer owner can simply save the original kernal (using Daniel Kahlin's flash utility), then apply a patch via cmp files.

Source:
dtvkcmp.c
dtvkpatch.c

Available CMP files:
dmpatch.cmp (David Murray's kernal)

Documentation: simple docs

Executables for Windows users:
dtvkcmp.exe
dtvkpatch.exe
Note:
I've provided these for windoz users who might not have a compiler. Cygwin was used, but they might not execute w/o certain Cygwin libraries.

ASIC pads

Graphic generated from ASIC Rev2 pad coords: ASIC pads (PDF)

The php script, coords2ps.php, which did the work.
Original coords, (from prog doc provided by Jeri E.) pads.txt (coords simply copied from document, no formatting.)

NOTES: run from the shell, not as a webpage. The file "pads.txt" must be in current dir. Redirect STDOUT to file, i.e.:

./coords2ps.php >pads.ps

Script first converts coordinate data to ps (postscript) file. "ps2pdf" utility (Linux script) created final document. Other output formats would be just as easy--hpgl, etc.