Re: [cc65] New cc65 target: atari lynx

From: Karri Kaksonen <karri1sipo.fi>
Date: 2004-09-14 10:46:28
What about other required programs for the Lynx target?

In order to make a real Lynx cart I need to use a few external
programs:

sprpck.c is a Sprite packer converting bitmaps to the Lynx internal packed
or unpacked sprite format.

The Lynx cart is also protected by a RSA hash key. It won't accept
unsigned binaries. There are two simple ways to deal with this:

- link in a specially prepared trojan - INSERT.O as the first file
- use a small 410 byte header as the first entry of the cart.
  The header was written by Harry Dodgson and it contains the smallest
  possible encrypted loader.

Finally I need to create a Lynx filesystem. The filesystem is extremely
simple. Just several fileentry structs in a row:

struct fileentry {
  unsigned char StartBlock;
  unsigned int  BlockOffset;
  unsigned char ExecFlag;
  char *DestAddr;
  unsigned int  FileLen;
};

A typical cart has fileentries:

0 Encrypted loader
1 Title sprite
2 First executable

Larger carts may have more, up to 256 entries.

The cart is built up of 256 blocks. A block is 1024 bytes in our case.

Could the linker produce this right away somehow or do we need to write a
real program to deal with this? There is a program called lynxer.c that
people are using today. But it is very picky about where it is run from.

Could these external programs be put in contrib/lynx in the cc65.org
archives? Or what is the way you usually deal with this kind of software?

--
Regards,

Karri

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Tue Sep 14 10:39:06 2004

This archive was generated by hypermail 2.1.8 : 2004-09-14 10:39:15 CEST