|
Prev: CBM Repair Problem
Next: OT: SNES dev?
From: Harry Potter on 12 Apr 2008 19:08 I want to create some software for the C64/128, Plus/4, Apple 2, NES and maybe the Vic-20, Apple 2gs and SNES, under Win32 and an running into problems. I tried cc65, but it isn't exactly feature-rich. I tried Aztec C, and the programs in the SAMPLES directory (for the C64, anyway) are *large* (>11k). I have Quetzalcoatl, and it could probably produce small C64/Vic20 programs, but I haven't really tried it. I want to create a cross-platform C compiler with the following features: * (Main feature) Support for hidden memory (i.e. $A000-$FEFF on a C64) and banked memory (C128/Apple 2 128k memory) * Support for longs and computer-specific float formats (both disablable, saving code) * Better optimizations * Better __fastcall and register declarations * Full zeropage support (direct pointer access and C variables in ZP) * Large programs separated into modules, each with its own main() function, called through a stub * The ability to replace a library module with another on the linker command line * Linker list files, rather than just on the command line and whatever else I can think of. This program is giving me a hard time with debugging, as it's so complex. Later, when I get the main tools working sufficiently, I'll ask for help. Is this a good idea, or did somebody already beat me to itr?
From: Bill Buckels on 12 Apr 2008 19:55 On Apr 12, 6:08 pm, Harry Potter <maspethro...(a)aol.com> wrote: > I want to create some software for the C64/128, Plus/4, Apple 2, NES > and maybe the Vic-20, Apple 2gs and SNES, under Win32 and an running > into problems. I tried cc65, but it isn't exactly feature-rich. I > tried Aztec C, and the programs in the SAMPLES directory (for the C64, > anyway) are *large* (>11k). I have Quetzalcoatl, and it could > probably produce small C64/Vic20 programs, but I haven't really tried > it. I want to create a cross-platform C compiler with the following > features: > > * (Main feature) Support for hidden memory (i.e. $A000-$FEFF on a > C64) and banked memory (C128/Apple 2 128k memory) > * Support for longs and computer-specific float formats (both > disablable, saving code) > * Better optimizations > * Better __fastcall and register declarations > * Full zeropage support (direct pointer access and C variables in > ZP) > * Large programs separated into modules, each with its own main() > function, called through a stub > * The ability to replace a library module with another on the linker > command line > * Linker list files, rather than just on the command line > > and whatever else I can think of. This program is giving me a hard > time with debugging, as it's so complex. Later, when I get the main > tools working sufficiently, I'll ask for help. Is this a good idea, > or did somebody already beat me to itr? Beat you to what? Some of what you are talking about are library routines I think. The AUX memory stuff on the Apple II I already do... and CC65 is doing something there too... what do you want to do there??? How about the C64??? Harry what are you doing with overlays? OK and did you look at the memory map that I am using with Aztec C? I am creating holes where I want them and all that... I hardly think the program code itself is large. Perhaps my load address, base address, and what I am reserving for data is what you are reacting to. How do you like what I am doing with the graphics compression and such? Quetezecoatl we all have too... it's not really C. I think you need to step back and have a good look at the Aztec-C compilers and then let's talk about how to get the source for them released into the public domain and then make them ANSI compliant. Of course that's my point of view so naturally I would say that:) And I plan to do that too. If I can. Glad you're having fun. You seem to have alot on your wish list... Later, Bill
From: Harry Potter on 12 Apr 2008 20:26 On Apr 12, 7:55 pm, Bill Buckels <bbuck...(a)escape.ca> wrote: > On Apr 12, 6:08 pm, Harry Potter <maspethro...(a)aol.com> wrote: > > > > > > > I want to create some software for the C64/128, Plus/4, Apple 2, NES > > and maybe the Vic-20, Apple 2gs and SNES, under Win32 and an running > > into problems. I tried cc65, but it isn't exactly feature-rich. I > > tried Aztec C, and the programs in the SAMPLES directory (for the C64, > > anyway) are *large* (>11k). I have Quetzalcoatl, and it could > > probably produce small C64/Vic20 programs, but I haven't really tried > > it. I want to create a cross-platform C compiler with the following > > features: > > > * (Main feature) Support for hidden memory (i.e. $A000-$FEFF on a > > C64) and banked memory (C128/Apple 2 128k memory) > > * Support for longs and computer-specific float formats (both > > disablable, saving code) > > * Better optimizations > > * Better __fastcall and register declarations > > * Full zeropage support (direct pointer access and C variables in > > ZP) > > * Large programs separated into modules, each with its own main() > > function, called through a stub > > * The ability to replace a library module with another on the linker > > command line > > * Linker list files, rather than just on the command line > > > and whatever else I can think of. This program is giving me a hard > > time with debugging, as it's so complex. Later, when I get the main > > tools working sufficiently, I'll ask for help. Is this a good idea, > > or did somebody already beat me to itr? > > Beat you to what? Some of what you are talking about are library > routines I think. The AUX memory stuff on the Apple II I already do... > and CC65 is doing something there too... what do you want to do > there??? > How about internal calls to special direct AUX memory functions (read, write, memory, string) and functions to execute functions in AUX memory? > How about the C64??? Harry what are you doing with overlays? OK and > did you look at the memory map that I am using with Aztec C? > Er, what *is* the C64 memory map used by Aztec C C64? > I am creating holes where I want them and all that... I hardly think > the program code itself is large. Perhaps my load address, base > address, and what I am reserving for data is what you are reacting to. > How do you like what I am doing with the graphics compression and > such? > Do you include *every* function in a library, or just the necessary ones? cc65 seems to include justb the necessary ones, although some fat (i.e. the initmainargs assembler function, which processes the command line, shortened to pushing two NULLs on the stack) could still be cut. I want to compile a simple Hello, World!" program with just one printf() function and see how it works. > Quetezecoatl we all have too... it's not really C. > It could do for the Vic-20. > I think you need to step back and have a good look at the Aztec-C > compilers and then let's talk about how to get the source for them > released into the public domain and then make them ANSI compliant. I'm going to. Thank you.
From: Harry Potter on 12 Apr 2008 20:52 On Apr 12, 8:26 pm, Harry Potter <maspethro...(a)aol.com> wrote: > I want to compile a simple Hello, World!" program with just one > printf() function and see how it works. > I just did that. The following is the listing of the main() function: main() { printf ("HELLO, WORLD!\n"); getchar(); exit(0); } This code produced a 10.9k executable. If I only include the *used* library functions, as cc65 does, I could easily cut down the code size.
From: Bill Buckels on 12 Apr 2008 22:49
On Apr 12, 7:52 pm, Harry Potter <maspethro...(a)aol.com> wrote: > On Apr 12, 8:26 pm, Harry Potter <maspethro...(a)aol.com> wrote: > > > I want to compile a simple Hello, World!" program with just one > > printf() function and see how it works. > > I just did that. The following is the listing of the main() function: > > main() > { > printf ("HELLO, WORLD!\n"); > getchar(); > > exit(0); > > } > > This code produced a 10.9k executable. If I only include the *used* > library functions, as cc65 does, I could easily cut down the code > size. I'll call the former owner of Manx and ask to have the code released to PD if I can. Then it can be optimized and twaeked. Give me a day or so. Bill |