BLL

What is BLL?

BLL is a low-cost developpment-kit for the Atari-Lynx, which is completly in-official.
The BLL-project started under a different name arround 1992, when Lars de-hacked his Lynx and we started to read-out the games. In the course of the project Lars developped a SRAM-cart and a keyboard-driver, so that we were able to get a complete debugger to run on the Lynx. By this time I've also written a remote-debugger and of course Lyxass, a macro-assembler for the Lynx.
With these tools I started to write a little demo we showed of on CeBIT.
After this the first commercial project started: A driving-school-program, which wasn't the big success :(. My second project was T-Tris. I started this project mainly because there was no Tetris for the Lynx and I loved to play the old DOS-text mode Tetris. T-Tris was a living project, means everytime I learnd something new about the Lynx I tried to stuff it into T-Tris.(This is the reason why there are three different T-Tris versions ! Sorry.) Due to persistent begging to release T-Tris, Lars and I made some design-changes, added a not-before-seen-as-game-casing box and started selling T-Tris. A few months later, while working mainly on BJL I tried to put an EEPROM on our carts, and it worked. This was the start of a new release of T-Tris, as the first game ever for the Lynx with a save-game option ! (Ok, EoB had it also, but I know only one person, who actually owns one !!)

But how could we do it ??

Thanks to a simple error Atari made. As you (maybe) know, all the Atari-carts have an encrypyed header and a check-sum over the complete rom-image. This checksum is so da?? good that changing a single-bit,the

INSERT GAME

message causes. But Atari made a mistake when they programed the header for Gauntlet. Actually two mistakes.
  1. The game has 256 blocks with 512 bytes = 128KB.
    But the checksum only checks the lower 256 byte of a block !!
  2. The header loads the title-sprite to any address and this before the rom-image is checked.
    This means, we could hack in our own code, which first was settled in the un-checked areas, but later I wrote a Troian Horse which takes control before the checksum is computed.

    But I still don't know : What is BLL ??

    BLL is a simple dev.kit which includes all the tools and software of the original kit but instead the SRAM-cart (of which max. 5 or 6 exist) it uses a loader-cart. This loader-cart has a small program which simply downloads the data from any host with a serial interface.
    The problem: Your program is stored in internal RAM, which limits it to max. 56KB and of course it is gone when the Lynx is switched off.
    But 65C02-code is compact and even with C are good program possible.
    Check out Matthias page and have a look at his MarbleMadness clone or his Nibbler-like SnakeByte.

    Why BLL ???

    Because the Jaguar-Kit is named BJL, which is Behind Jaggy Lines. So I named it Behind Lynx Lines.
    But also partly because a lack of a better idea :).

    The BLL-Kit

    Hardware

    To program on the Lynx, you'll need some hardware.
    The most important is a Lynx cart with a Loader-EPROM on it.It down-loads the programs via ComLynx from a host. This host is best an Atari computer, but any machine with a serial port will work.
    So, you also need an interface from ComLynx<->RS232.

    interface schematic

    Save n full size with right-click on the image.

    Currently the total costs for the hardware are arround 40DM (including cart,EPROM,EEPROM and interface).
    Note
    This is no fixed price, it may change.

    Software

    • Latest ( 99/01/17 ) version of BLL(500KB)
    • My homebrew files (including FIRE and a T-Tris).


    HOME
    (c) 42Bastian Schick
    last modified 1999/07/08