Path: ns-mx!uunet!cis.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!SIUCVMB.BITNET!ST2975 From: ST2975@SIUCVMB.BITNET Newsgroups: comp.sys.apple2 Subject: System files with HyperC Message-ID: <9201210148.AA09025@apple.com> Date: 21 Jan 92 01:26:11 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 35 To all who have requested information and those who haven't already: The final object module that will work with all Apple II's will be finished soon. The basic methodology is as follows: HyperC is currently set up so that the system startup module loads and executes opsys which in turn loads and executes shell. The library file libc is set up such that many calls are routed to built-in routines contained in opsys. The most compact coding method is to use pseudo-code which requires use of the cp-interpreter which resides in opsys. The source to opsys isn't available, so the only method (short of disassembly of all the modules in opsys) is to link a system program normally, replacing the s.o (normal shell startup module) with a custom s.o which does a number of things, one of which being to make sure that the code that looks for a file named 'shell' is rerouted to the system _main. After the file is linked, opsys itself is appended to the final program. There is code that moves opsys to its absolute location at 0x800-0x1fff and initializes the cp-interpreter. After that, you jump to your _main module. On exit from the system program, all files should be closed, the system bitmap is cleaned up, and a ProDOS quit call is made. The methodology is being refined daily. The above explanation may seem complicated, but it is pretty much what must be done with any system program. The final module will make this all very transparent (hopefully). I'd like to thank at this time Ed Watkeys, Greg Bekke(sp?), Mark de Jong and Evan Day for helping me to think this through, and Gary Desrochers, whose help has been invaluable. My apologies to anyone I left out. /* Andy Werner st2975@siucvmb.siu.edu * * HyperC enthusiast st2975@siucvmb.siu.bitnet * * !The only freeware 8 bit C compiler for 65xxx based Apples! * * Laser 128EX 4Mhz 65802 */