As requested, please find the following attachments: max158Schematic062000.doc - Schematic as Word DOC file: max158Schematic062000.pdf = Schematic as Acrobat PDF file: max158e.c - Turbo C code using BIOS timer interrupt 1C hex: max158gg.c - Turbo C code using IRQ3 interrupt: Objective: Design a ISA-bus based ADC card using Maxim's MAX158 8-bit 8-channel chip. Design should monitor MAX158's /INT or RDY states to acquire data properly. Status: Suspect that current design is not correctly hardwiring /INT to PC's IRQ3 line. Any wisdom you can shed will be most appreciated. The following is description and status of the code. Most sincerely, Dr. Paul Oh Columbia University Mechanical Engineering max158e.c Description --------------------- Interrupt 1C hex is the PC BIOS system timer. every 18.2 ticks (or apx. 55 msec) generates an interrupt. By monitoring 1C hex, a 0.1 sec sampling time is established through interrupt service routine myInterrupt(). do-while loop acquires data and plots point every 0.1 sec. Status: Appears to partially work. Suspect improper sychronization. adc_convert() routine inportb() i.e. reads channel immediately after outporb() i.e. selecting channel. max158gg.c Description ---------------------- MAX158 Mode 0 characterized by /INT going low upon end-of-conversion (EOC), /INT is hardwired to ISA bus IRQ3 via a 7414 hex inverter; PC hardware interrupt is generated whenever IRQ is high. Thus upon MAX158 /INT = 0, IRQ3 will be high. IRQ3 monitoring is done via doTask() interrupt service routine (ISR). Status: No results, system hangs.