From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/SNIP/msc_peek.c | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 reference/C/CONTRIB/SNIP/msc_peek.c (limited to 'reference/C/CONTRIB/SNIP/msc_peek.c') diff --git a/reference/C/CONTRIB/SNIP/msc_peek.c b/reference/C/CONTRIB/SNIP/msc_peek.c new file mode 100755 index 0000000..03ec54f --- /dev/null +++ b/reference/C/CONTRIB/SNIP/msc_peek.c @@ -0,0 +1,48 @@ +/* +** For MSC which lacks these very basic (sic) functions +** +** public domain by Bob Stout +*/ + +#include + +#ifndef MK_FP + #define MK_FP(seg,offset) \ + ((void _far *)(((unsigned long)(seg)<<16) | (unsigned)(offset))) +#endif + +unsigned char peekb(unsigned seg, unsigned ofs) +{ + unsigned char _far *ptr; + + FP_SEG(ptr) = seg; + FP_OFF(ptr) = ofs; + return *ptr; +} + +unsigned peek(unsigned seg, unsigned ofs) +{ + unsigned _far *ptr; + + FP_SEG(ptr) = seg; + FP_OFF(ptr) = ofs; + return *ptr; +} + +void pokeb(unsigned seg, unsigned ofs, unsigned char ch) +{ + unsigned char _far *ptr; + + FP_SEG(ptr) = seg; + FP_OFF(ptr) = ofs; + *ptr = ch; +} + +void poke(unsigned seg, unsigned ofs, unsigned num) +{ + unsigned _far *ptr; + + FP_SEG(ptr) = seg; + FP_OFF(ptr) = ofs; + *ptr = num; +} -- cgit v1.2.3-54-g00ecf