RE: [cc65] Atari port of cc65

Date view Thread view Subject view

From: cpg_at_aladdin.de
Date: 2000-03-10 01:41:55


Hi Mark,

On 03/09/2000 04:38:18 PM GMT Mark Keates wrote:
>
>It's early days, we have got the basic framework there and
>support for cputc and now I'm looking at the file i/o support.

It's similar here, most is working but no file io. All still needs
some final cleanup.

>> I've attached a diff for the cc65 snapshot as of Mar-05 which
>> incorporates my Atari changes.
>>
>It appears that you've kept a lot of the original sources from
>John Dunning's Atari CC65. Ullrich's port has (nicely) moved
>many of the functions in a common area, hence we have stripped
>these away from the our version. I did like what you have done
>with the Header/Tail wrapping for DOS loading.

First:  I've put the original diff which got stuck in the mailing list
on ftp://ftp.aladdin.de/pub/people/chris/cc65 . I've also made 2
zips, similar to your's and put them there. So everyone who is
interested: get it from this place!
(The diff is for cc65 version as of Mar-05-2000. You should be
able to obtain this from the cc65 CVS repository. Use the -D option
for checkout.)

I don't think I've used overly much of the original Dunning
code. The patch I've sent to you moves those files into an
"old" directory, therefore they appear very prominently in
the patch file...

>Can you summarise the areas you have updated?

Hmm, I simply started looking at the apple2 lib,
which files were there. Then I  tried to implement those
files for Atari. Yes, if there was a similar file in the
old (John Dunning) directory, I used this

I've looked now at more of your code, and there are reallly
many files very similar (e.g.gotoxy.s), some are different.
Some are missing in my version, but I think they are
simply copied from JRD and non working yet (e.g. rename.c)?

One of the  biggest differences I found is in cputc.s. You use the CIO
for this, my version writes directly to screen. I also had a CIO
version before, but I changed it, because I think the conio stuff
(and so cputc, compared to putc) is optimized for speed!?
What do you (and others) think?

With the crt0.s, both our versions have their benefits and deficiencies,
IMO. They should be merged :-)

Btw, to use the zips from above mentioned ftp site,
one has to make the same changes to lib/Makefile like
with your zip, and the following change to binutils/ld65/target.c:

---------------
static const char CfgAtari [] =
    "MEMORY {"
        "HEADER: start = $0000, size = $6, file = %O;"
        "RAM: start = $3000, size = $c000, file = %O;"
    "}"
    "SEGMENTS {"
        "EXEHDR: load = HEADER, type = wprot;"
        "CODE: load = RAM, type = wprot, define = yes;"
        "RODATA: load = RAM, type = wprot;"
        "DATA: load = RAM, type = rw;"
        "BSS: load = RAM, type = bss, define = yes;"
        "AUTOSTRT: load = RAM, type = wprot;"
    "}";
---------------

I here define a EXEHDR segment, which contains
the data for the Atari DOS EXE header, and an additional
segment  AUTOSTRT, which provides autostart when
loaded from plain DOS. (see crt0.s on how both are
set up).

The RAM start ($3000) is currently an ad-hoc value,
I would prefer a possibility to define an address at
link time  (this works with %S), and fall back to some
default value (specified here in target.c) if no "-S"
switch is given at link time. I don't know whether
this is possible with current ld scripts?  (Uz?)
Similarly I would like to specify the size of  RAM
to something like "$c000-start". Is this possible?

Finally, Mark, I think we should go thru our files in
lib/atari and decide file by file which version to use,
and merge files if both have unique stuff. What do you
think?

regards.
chris


PS: we're still using/adapting much JRD stuff. Does anybody
know about his current whereabouts?


----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:35 CET