jpdres10@usl-pc.UUCP (Green Eric Lee) (06/04/86)
Needed: A Pascal or "C" compiler for the C-64 that will do overlays. Requirements: a) have provisions for overlays, so that I can fit the program into 40K of RAM. Hopefully, similar to UCSD "SEGMENT" procedures. b) It must include an adequate ML interface, so that I can use my interrupt code and various other necessary routines. They total about 4K, so adequate space is necessary to place them in. c) reasonably compact object (probably means p-code). Speed is no problem, due to the ML. Interpreted BASIC would be fast enough. d) If possible, not use the area from $c600 to $d000, where Mike J Henry's fastloader resides, and use the LOAD routine to load overlays. Or at least have it so that I can easily tie in my own 1541 speedup. Post any followups here. usl-pc isn't in the sendmail database... this is eventually going to be usl-pc.usl.edu or something similarly arcane, but it's not implemented yet. Or send mail the old fashioned way. -- Computing from the Bayous, Eric Green akgua!usl!usl-pc!jpdres10 (Snail Mail P.O. Box 92191, Lafayette, LA 70509)
daveh@cbmvax.cbm.UUCP (Dave Haynie) (06/04/86)
> > Needed: A Pascal or "C" compiler for the C-64 that will do overlays. > > Requirements: > a) have provisions for overlays, so that I can fit the program into > 40K of RAM. Hopefully, similar to UCSD "SEGMENT" procedures. > b) It must include an adequate ML interface, so that I can use my > interrupt code and various other necessary routines. They total about > 4K, so adequate space is necessary to place them in. > c) reasonably compact object (probably means p-code). Speed is no > problem, due to the ML. Interpreted BASIC would be fast enough. > d) If possible, not use the area from $c600 to $d000, where Mike J > Henry's fastloader resides, and use the LOAD routine to load overlays. > Or at least have it so that I can easily tie in my own 1541 speedup. > > Post any followups here. usl-pc isn't in the sendmail database... > this is eventually going to be usl-pc.usl.edu or something similarly > arcane, but it's not implemented yet. Or send mail the old fashioned > way. > -- > Computing from the Bayous, > Eric Green akgua!usl!usl-pc!jpdres10 > (Snail Mail P.O. Box 92191, Lafayette, LA 70509) I think the latest version of PROMAL has provision for overlays, and its own fast loader. If you're not familiar with PROMAL, its kind of like C in that it allows access to machine level stuff, has no "built-in" functions, and handles arrays much like C does. There are several ways to interface to machine code with PROMAL. It currently supports separate compilation of modules. The PROMAL system loads its own CLI into the C64, and most of the CLI utilities are written in PROMAL. The compiled PROMAL routines seem to be somthing like address-independent P-CODE, as you can load several PROMAL programs at one time. The developer's version includes a run-time module that loads and executes your PROMAL program; the only problem here is that this module is kind of large. Another thing to look at might be Pro-Line's C-Power C compiler. I'm not completely familiar with it, though I've used an older version. It allows separate compilation of programs, and produces real machine code that can be linked and located anywhere in memory (its ROM-able). I don't know if there's any support for overlays, though machine language shouldn't be a problem. Its also the fastest compiler I've seen for the C64. -- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Dave Haynie {caip,inhp4,allegra,seismo}!cbmvax!daveh "I read dozens of books, 'bout heros and crooks, and I learned much, of both of their style.." -Jimmy Buffet These opinions are my own, though for a small fee they be yours too. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
jmg@cernvax.UUCP (jmg) (06/07/86)
In article <333@cbmvax.cbmvax.cbm.UUCP> daveh@cbmvax.UUCP writes: >> >> Needed: A Pascal or "C" compiler for the C-64 that will do overlays. I have managed to frig the C-Power compiler to do an overlay. The hard part was that all of the global variables had to be initialised, so that they were in a fixed place: otherwise they are tacked on after the linked code, which allows more code. If anyone has a proper way to do it with C-Power I should like to know.
jamesv@hplsla.UUCP (jamesv) (06/09/86)
I have a copy of "Oxford Pascal" which seems to meet some of your requirements. Please note that my responses come straight from their manual and I have not tried any of these operations. If anyone else has used this compiler, your comments would be appreciated. > Needed: A Pascal or "C" compiler for the C-64 that will do overlays. > > Requirements: > a) have provisions for overlays, so that I can fit the program into > 40K of RAM. Hopefully, similar to UCSD "SEGMENT" procedures. Oxford Pascal has the ability to "chain" programs. While this is not the same as overlays, it may satisify your requirements. You can pass global variables between the old and new programs. > b) It must include an adequate ML interface, so that I can use my > interrupt code and various other necessary routines. They total about > 4K, so adequate space is necessary to place them in. Section 3.10.1 of the Oxford Pascal manual describes the assembly language interface. From the description, it looks like interfacing to your routines would be straight forward. No mention is make of interrupts. > c) reasonably compact object (probably means p-code). Speed is no > problem, due to the ML. Interpreted BASIC would be fast enough. I don't have any info on this but it does appear that Oxford Pascal compiles to true machine code, not p-code. > d) If possible, not use the area from $c600 to $d000, where Mike J > Henry's fastloader resides, and use the LOAD routine to load overlays. > Or at least have it so that I can easily tie in my own 1541 speedup. The manual says that the top of memory pointer can be set to $c000 to "prevent Pascal from overwriting these locations." James Vasil hplabs!hplsla!jamesv