GUIDE TO IBM XT C FUNCTIONS FOR THE U of P PSYCHOLOGY LAB Updated: Ben Backus 11/25/86 BB 12/01/86 BB 12/15/86 BB 1/1/87 BB 2/27/87 NOTE: This is the master statement of functions and their formats. Protocol is to make additions and changes, test them, then install them with full support in documentation and include files. NOTE: The XT closest to the door in room C-28 always contains the master code and documentation. There currently exist 5 modules: clock text keyboard sound graph The clock and sound routines require that a Metrabyte CTM-05 counter/timer card be installed in the PC/XT at base port hex 300. The clock and sound routines do not call each other. The text routines were developed using an STB Enhanced Graphics Adaptor (IBM clone) with 256K memory, but might work with a CGA too. The graphics routines use mode 16, which is available with the EGA but not the CGA. At present, the only interdependency between the modules is that some keyboard functions call clock functions. For each MODULE there exits: c:\lab\src\MODULE.c Source code (eg. clock.c contains all clock funcs) c:\lab\doc\MODULE.doc User documentation of the functions in the module c:\lab\include\MODULE.h Include file with macros and function declarations There also exist: c:\lab\lib\lab.lib MODULEs c:\lab\lib\param.lib Object code library for the above Functions to read run-time parameter files c:\lab\include\macro.h Generally useful macros Other documentation in c:\lab\doc: font.doc param.doc fnames.doc How to build fonts and use them in programs Run-time parameter-file reading functions File naming conventions For each experiment there exists a directory c:\lab\NUMBER, where NUMBER is 101* Memory search experiment (Sternberg task) Version A*: Item recognition Version C*: Context recognition 201* Sperling partial report experiment 301* Triesman visual search experiment 401 Posner nominal & physical matching experiment 501* Short-term memory for vocabulary words experiment 601 Word in sentence perception and word superiority effect 701* Farah lateralization of image generation experiment Version A*: No instructions to localize the generated image Version B(*?): Localization of the generated image 702 A modification of 701 by student(s) Mark Monheit (et. al.) 801 Decision making 901 Categorizing * after number indicates that lab is ready to run. The directory contains the source code, executable code and support files needed to run the experiment. Stimulus generation programs are typically placed in the subdirectory "gen". In addition, there exists an analysis program or set of programs to analyze the data generated by each experiment. A set of slower but more general purpose routines has been written for the sorting, extraction by column, and statistical manipulation of data. The analysis programs and general purpose routines were developed by David L. Turoc. Software that we own: IBM PC-DOS for all the machines in the lab. Includes BASIC and BASICA. Microsoft C Compiler version 4.00. This compiler produces fast, efficient code, but is not particularly speedy. Comes with "Codeview", an easy to learn, menu-driven debugging tool with tutorial. Microsoft linker. Microsoft Macro Assembler. PC/VI. This powerful editor is indistinguishable from vi, the UNIX screen editor. Essential Graphics package of graphics routines. The font utilities are too slow to be useful for real-time programming, but many of the other routines are useful. Only works with one of the two available graphics pages. Books that we own: Kernighan & Ritchie, The C Programming Language. The standard reference. Peter Norton, Inside the IBM PC. Introduction to PC architecture. Peter Norton, Programmer's Guide to the IBM PC. More introduction, plus a very useful distillation of the DOS Technical Reference Manual. Useful tables at end of book. Doesn't know what he's talking about when discussing EGA memory. Sargeant & Shoemaker, The IBM PC from the Inside Out. Great discussion of video memory. Well written, very helpful for Assembly programming. Good tables at end of book. Hunt, The C Toolbox. A beginner's guide to C and a not-very-useful set of program listings. Learn C from Kernighan & Ritchie. IBM publications: DOS User's Manual DOS 3.1 Technical Reference Manual BASIC User's Manual Guide to Operations for the Personal Computer XT Technical Reference for the Personal Computer XT There is also documentation for software and a thin stack of computer magazines. People resources: John Andrews-Labenski, hardware consultant Ben Backus, graduate student with primary responsibility for producing and running the labs Alden Levy*(?), undergraduate programmer (especially knowledgeable about experiment 401) Ruth Koppelman*, undergraduate programmer (especially knowledgeable about experiments 101, 301, 501 and 601) Cliff Longino, undergraduate programmer (especially knowledgeable about the clock routines and text mode display routines) David Magerman, undergraduate programmer (especially knowledgeable about experiment 701) Mark Monheit*, undergraduate programmer (especially knowledgeable about experiment 701) Saul Sternberg, professor (especially knowledgeable about the literature, experimental design, educational purpose, funding, and university politics) Chin Tao, graduate student in computer science (especially knowledgeable about the graphics functions and experiment 201) Steve Tell, undergraduate programmer (Duke University) (especially knowledgeable about experiments 401 and 501) David Turoc, post-doc in Psychology with Computer Science background (especially knowledgeable about the data analysis programs, hardware configuration, and general lab design philosophy) * Leaving the University of Pennsylvania after spring, 1987. (End)