home *** CD-ROM | disk | FTP | other *** search
- *.............................................................................
- *
- * Program Name: CTF2ISR Copyright: Magna Carta Software, Inc.
- * Date Created: 12-29-92 Language: FoxPro 2.x
- *.............................................................................
- * Description: Attmpt to share an IRQ between two active ports.
- * CommTools reports an error if the serial card(s) do not support
- * interrupt-sharing.
- * Inspired by an original idea by David Wohlferd.
- *.............................................................................
- CLEAR ALL
- SET TALK OFF
- SET ESCAPE OFF
-
- * Load the right library
- foxid = VERS()
- IF "2.0" $ foxid
- SET LIBR TO ctf && Identified FoxPro 2.0
- ELSE
- IF "2.5" $ VERS()
- IF "Windows" $ foxid && Identified FoxPro 2.5 for Windows
- CANCEL
- ELSE
- SET LIBR TO ctf25 && Identified FoxPro 2.5 for DOS
- ENDIF
- ENDIF
- ENDIF
-
- SET COLOR OF SCHEME 17 TO SCHEME 1
- SET COLOR OF SCHEME 18 TO SCHEME 2
- DO ctfhdr
-
- =set_up_port(0, 4, x2d("3f8"))
- =set_up_port(1, 4, x2d("3e8"))
-
- =c_term(0)
- =c_term(1)
- =inkey()
-
-
- * -------------------------
- PROC set_up_port
- PARAMETERS portid, irq, addr
-
- ret = u8250_init(portid, addr, 2400, 8, 0, 1)
- IF ret < 0
- =INKEY(0)
- CANCEL
- ENDIF
- =CT_SET_WIN(portid)
-
- ret = install_ipr(portid, TRANSMIT, 0 ,2048)
- IF ret < 0
- =INKEY(0)
- CANCEL
- ENDIF
- ret = install_isr(portid, irq, 0)
- IF ret < 0
- =INKEY(0)
- CANCEL
- ENDIF
- RETURN
-
- * --------------------------
- PROCEDURE c_term
- PARAMETERS portid
- PRIVATE c
-
- ?
- DO WHILE .T.
- * CHECK SERIAL PORT FOR BYTE *
- c = c_getc(portid) && check the serial port for a byte
- IF c <> -1 && if a valid character display it
- ?? CHR(c)
- ENDIF
- * CHECK KEYBOARD FOR A KEY PRESS *
- c = INKEY() && check keyboard for a key
- DO CASE && evaluate the received key
- CASE c == 27 && ESC was pressed
- RETURN
- CASE c <> 0
- =c_putc(portid, c)
- ENDCASE
- ENDDO && do while .t.
- @02,00 SAY "Exiting c_term()"
- RETURN
-