Page 1 of 1

Lynx Quest. A game for Atari Lynx

Posted: Sat Mar 14, 2020 8:00 pm
by laoong
Hi!

There are extraordinary things done here, so me and my friend have decided to premiere here the source codes of our winning entry to Atari Gamer Programming Competition!

Here's the link to the whole package.

It consists of full source codes for Atari Lynx (written in pure 65c02 assembly) with all assets and Windows tools. Running compile.bat should build the game and run Handy emulator.

Besides sources the main component of the game is our custom build tool LNGS. It is something like linker and resource manager. It's configured from XML file. If you look at the Project.xml file you will see, that it defines:
  • the cartridge image properies,
  • code of loader and game core components,
  • images to be used as sprites,
  • music modules in source form (compiled from tracker format to lyxass assembly file),
  • list of stages of the game consisting of code and assets.
LNGS encrypts specified loader as needed by Lynx and prepares cartridge image content with core, all stages and assets. Loader (as specified by Lynx boot bios) must fit in 50 bytes so it is really simple and loads core from next few sectors (the exact number is specified in XML). Core components are resident in the memory and define theirs API in file Core.xml. The main function of this API is function GotoStage that transfers control to specified stage and is called by the loader to run first stage. The stages are separate pieces of code and data that are loaded to Lynx memory. We have separate stage for intro, normal level, boss level, ending etc. All stages are using common functionality provided by core through it's API.
LNGS provides interoperability between stages and gives access to assets by generating some source code that is assembled alongside hand written code. All the code is generated in the tmp folder where all temporary files are also written. The source codes are in MADS assembler format that is popular among Atari XL/XE programmers (yes, we are programming for XL/XE too).

I hope someone will find it useful in the domain of assembly lynx programming.

The game is here distributed under BSD + Commons Clause license. Then LNGS tool I'm giving to Public Domain AS IS and can be used freely. No tools source code because the version of LNGS used here isn't clean enough and it's not finished. We will properly distribute the latest version soon with a tutorial of using it to develop software on the Lynx.

Re: Lynx Quest. A game for Atari Lynx

Posted: Thu Mar 26, 2020 2:51 pm
by YQN
Looks beautiful. The music in the video sounds like a POKEY, is that the in-game music?

Re: Lynx Quest. A game for Atari Lynx

Posted: Sun Mar 29, 2020 10:12 am
by Voyager_sput
Wow all that for the Lynx in just 3 months? That's a amazing accomplishment! The game looks great !

Re: Lynx Quest. A game for Atari Lynx

Posted: Mon Mar 30, 2020 8:29 am
by laoong
YQN wrote: Thu Mar 26, 2020 2:51 pm Looks beautiful. The music in the video sounds like a POKEY, is that the in-game music?
It sounds like POKEY, because our musician mainly composes for Atari XL/XE.
The music is from intro.

Re: Lynx Quest. A game for Atari Lynx

Posted: Mon Mar 30, 2020 8:31 am
by laoong
Voyager_sput wrote: Sun Mar 29, 2020 10:12 am Wow all that for the Lynx in just 3 months? That's a amazing accomplishment! The game looks great !

Thanks!

I've started reading about Lynx in May and made "Hello World" in June, so indeed, it took a 3-4 months of development.