Jump to content
IGNORED

Getting Started in Lynx Programming


disjaukifa

Recommended Posts

Hey Guys,

 

I'm very interested in getting into lynx programing but I don't know where to start. I have read many things but I think it would be easier if someone who has some experience could guide me a little bit.

 

Also what is going to make this a little bit interesting is that I am using Mac OS X . . . .

 

However I can run windows 98/2000/XP on my mac so its not that big of a deal.

 

Any help would be highly appreciated.

 

Thanks

Disjaukfia

Link to comment
Share on other sites

Hey Guys,

 

I'm very interested in getting into lynx programing but I don't know where to start. I have read many things but I think it would be easier if someone who has some experience could guide me a little bit.

 

Also what is going to make this a little bit interesting is that I am using Mac OS X . . . .

 

However I can run windows 98/2000/XP on my mac so its not that big of a deal.

 

Any help would be highly appreciated.

 

Thanks

Disjaukfia

 

I too would be interested in what the most updated methods are. Last time I looked at lynx development was in the mid 90's with BLL.

Link to comment
Share on other sites

One good alternative is to use Karri's U3 tools and MegaPak cartridge template to write games in C.

 

Here's the AtariAge thread:

MegaPak template available

 

I happened to update my Lynx website today, and added instructions for a "Hello World" with the u3 tools and MegaPak template.

My Lynx programming page

 

I don't know if it works on a mac with win emulator though.

Link to comment
Share on other sites

One good alternative is to use Karri's U3 tools and MegaPak cartridge template to write games in C.

 

Here's the AtariAge thread:

MegaPak template available

 

I happened to update my Lynx website today, and added instructions for a "Hello World" with the u3 tools and MegaPak template.

My Lynx programming page

 

I don't know if it works on a mac with win emulator though.

 

You are offically my new best friend!!!!

 

 

Thanks man, I think I should be able to get it running I hope. Wish I could make a set of linux tools (then getting it to run on mac would be simple!)

 

Thanks

Disjaukifa

Link to comment
Share on other sites

One good alternative is to use Karri's U3 tools and MegaPak cartridge template to write games in C.

 

Here's the AtariAge thread:

MegaPak template available

 

I happened to update my Lynx website today, and added instructions for a "Hello World" with the u3 tools and MegaPak template.

My Lynx programming page

 

I don't know if it works on a mac with win emulator though.

 

Hey do you think you could do a basic graphics tutorial on how to put an image on the screen and how to move it?

 

Thanks

Disjaukifa

Link to comment
Share on other sites

There is a new version out for the cc65 tools. I will try to upgrade my U3 tools soon.

 

This new version has built-in interruptor support for ComLynx and the screen.

 

Unfortunately this means that old code that set up the interrupt vector do not work anymore.

 

But if you want to add some interrupt routines it is very much simplified now.

 

The tools work great on Linux out-of-the-box.

 

What still needs to be done is to put together the simplest "Hello World" application and compile environment.

 

I hope to be able to set this up at Wookies web server soon.

--

Karri

Link to comment
Share on other sites

I hope to be able to set this up at Wookies web server soon.

--

Karri

 

I'm actually putting together a simple skeleton right now. I already have a simple tutorial on setting up the cc65 toolchain on linux here. I just updated my page on getting mednafen up and running for development. With those two pieces in place, I'm able to write a simple hello world skeleton and document the process of writing and running your first code. It will be here when I'm done.

 

--Wookie

Link to comment
Share on other sites

There's also a tread on here where I asked for help on compiling Matthias Domin's 5th tutorial on collision detection. From a reversed engineering perspective this has a lot of information to start with. Karri even made code compatible for the latest cc65 compiler :)

 

http://www.atariage.com/forums/topic/152494-collision-detection/

Link to comment
Share on other sites

 

Hey do you think you could do a basic graphics tutorial on how to put an image on the screen and how to move it?

 

Thanks

Disjaukifa

 

Actually that is exactly what Karri's MegaPak template (mygame.c) is doing (along with showing how to do joypad controlls and other things). It shows how to scroll a picture across the screen. My two lines of "Hello world" just adds blue text on top of that :D

Edited by Turbo Laser Lynx
Link to comment
Share on other sites

 

I'm actually putting together a simple skeleton right now. I already have a simple tutorial on setting up the cc65 toolchain on linux here. I just updated my page on getting mednafen up and running for development. With those two pieces in place, I'm able to write a simple hello world skeleton and document the process of writing and running your first code. It will be here when I'm done.

 

--Wookie

 

Congratulations Wookie, these pages are cristal clear and with the schematics it's really easy to understand how the lynx works.

Link to comment
Share on other sites

Congratulations Wookie, these pages are cristal clear and with the schematics it's really easy to understand how the lynx works.

 

Thanks! classicgamedev.com is an open wiki powered by mediawiki (the same software wikipedia is built with). I encourage you to create an account and to help document what you learn. If you create an account you can also create a blog and/or project pages for your games. Like I said, it is open for the community of classic hardware game developers. If you start a blog/project page, message me here and I'll add it to the left navigation bar on the site.

 

I'm hoping to bring all the information related to writing games for old game consoles together into a single site. Right now I'm focussing on the Atary Lynx, but I also have a bunch of NES stuff. It is my personal project to bring together and/or build easy to use software dev kits and documentation for as many old consoles as I can. I've been slowly working through the hurdles facing Lynx developers. The encryption problem has been solved, the loader stuff is being fixed now and with Karri's awesome work on the cc65 toolchain, we'll soon have an easy to set up, easy to use, dev kit for the Lynx. It will include a simple skeleton that can easily be customized to write your own games.

 

On the hardware front, Karri has a prototype extended addressing cart and I've got my own design inspired from Karri's that uses only i2c for the EEPROM and extended address capabilities. If I remember correctly, Karri's cart is 8 MBytes and can be programmed via the Lynx. Mine is 16 MBytes but needs a separate flasher. I've also been looking into injection molding plastic cart pieces so that we could manufacture our own professional looking carts. Injection molding plastic is expensive so I'm not sure that's going anywhere, but I had to check it out. Maybe I could lease/borrow the mold used by the publishers of Zaku...Or better yet, maybe I could buy a bunch of cart parts from them and sell them through CGD.

 

--Wookie

Link to comment
Share on other sites

I'm hoping to bring all the information related to writing games for old game consoles together into a single site.

 

If nobody helps me, my rough order of priorities for consoles dev kits is:

 

Lynx (because I own one)

NES (because I have a NES with a CopyNES board in it)

Sega Game Gear (because I own one, that's why)

GameBoy (because I always wanted to know how to write a GB game when I was a kid)

TurboGrafx 16/Express (because I want a TurboGrafx Express)

NeoGeo Pocket (I always wanted one)

Atari 2600 (this seems like a black art to me with all the timing loop stuff...should be fun)

GameBoy Color (probably not far from the GameBoy)

GameBoy Advance (lots of dev stuff out there right now)

Sega MasterSystem (don't forget the mastersystem)

NeoGeo (the one that was $600 with $200 game carts when I was a kid)

SNES (no lockout chip workaround without hardware modification so this is of limited interest to me)

Dreamcast (it's fast becoming a classic, plus I have all the code and tools for DC dev)

Atari 5200

Sega Genesis

Atari 7800

C64?

ZX81?

 

Like I said before, I welcome anybody who wants to help. If you don't want to document the Lynx, then pick another system and start documenting it on CGD. I'll create a namespace for it so that all of the pages for a given system are under the same category. I don't want to lose the knowledge of how to code for all of these old systems.

 

--Wookie

Edited by Wookie
Link to comment
Share on other sites

Congratulations Wookie, these pages are cristal clear and with the schematics it's really easy to understand how the lynx works.

 

Thanks! classicgamedev.com is an open wiki powered by mediawiki (the same software wikipedia is built with). I encourage you to create an account and to help document what you learn. If you create an account you can also create a blog and/or project pages for your games. Like I said, it is open for the community of classic hardware game developers. If you start a blog/project page, message me here and I'll add it to the left navigation bar on the site.

 

I'm hoping to bring all the information related to writing games for old game consoles together into a single site. Right now I'm focussing on the Atary Lynx, but I also have a bunch of NES stuff. It is my personal project to bring together and/or build easy to use software dev kits and documentation for as many old consoles as I can. I've been slowly working through the hurdles facing Lynx developers. The encryption problem has been solved, the loader stuff is being fixed now and with Karri's awesome work on the cc65 toolchain, we'll soon have an easy to set up, easy to use, dev kit for the Lynx. It will include a simple skeleton that can easily be customized to write your own games.

 

On the hardware front, Karri has a prototype extended addressing cart and I've got my own design inspired from Karri's that uses only i2c for the EEPROM and extended address capabilities. If I remember correctly, Karri's cart is 8 MBytes and can be programmed via the Lynx. Mine is 16 MBytes but needs a separate flasher. I've also been looking into injection molding plastic cart pieces so that we could manufacture our own professional looking carts. Injection molding plastic is expensive so I'm not sure that's going anywhere, but I had to check it out. Maybe I could lease/borrow the mold used by the publishers of Zaku...Or better yet, maybe I could buy a bunch of cart parts from them and sell them through CGD.

 

--Wookie

 

When do you think the Dev Kit will be ready? I have a game I was going to release for the 2600, but I am going to program it for the Lynx. I am too restricted by the 2600 hardware (I have a version working but no where close to what I want it to be).

 

That is another think I have been wondering, I decent at soldering, so how difficult is it to make a Lynx Cartridge? I'm getting the flash cart from Lynxman soon, so for programming I'm not that worried, its more for when I want to release my game.

 

I have a couple of other games in mind as well that I am going to be release for the Lynx once I get a hang of the programming. Seriously, if I can pick this up, which C is not all that difficult, I have about 7 games I have planned just now, which my first one, Atomic Meltdown, I hope to release sometime next spring, summer at the latest depending on how the rest of my life goes!

 

-Disjaukifa

Edited by disjaukifa
Link to comment
Share on other sites

That is another think I have been wondering, I decent at soldering, so how difficult is it to make a Lynx Cartridge? I'm getting the flash cart from Lynxman soon, so for programming I'm not that worried, its more for when I want to release my game.

 

The problem with hand soldering is time.

 

Wookie has an interesting concept for extended addressing. My suggestion is to take that route and create cheap blank carts. Preferably similar designs to Zaku. But with 8MB of extended addressing and a large EEPROM for saves.

 

This would open up the Lynx for new games. A large cart could also contain much more graphics and sounds.

 

My Solitaire could also have multiplayer card games included by using ComLynx or "pass the console around". Then I could also have several card decks to choose from. And perhaps more (and better) music, graphical backgrounds, animations etc.

 

--

Karri

Link to comment
Share on other sites

That is another think I have been wondering, I decent at soldering, so how difficult is it to make a Lynx Cartridge? I'm getting the flash cart from Lynxman soon, so for programming I'm not that worried, its more for when I want to release my game.

 

The problem with hand soldering is time.

 

 

--

Karri

 

Well if you just want to make a few cards, time isn't the issue, I'd say making the pcb is near impossible at home, you need a professional for that, especially if you want gold plated contacts (I ordered some cards without the plating, they work great but they'll probably need cleaning in the future).

Link to comment
Share on other sites

That is another think I have been wondering, I decent at soldering, so how difficult is it to make a Lynx Cartridge? I'm getting the flash cart from Lynxman soon, so for programming I'm not that worried, its more for when I want to release my game.

 

The problem with hand soldering is time.

 

 

--

Karri

 

Well if you just want to make a few cards, time isn't the issue, I'd say making the pcb is near impossible at home, you need a professional for that, especially if you want gold plated contacts (I ordered some cards without the plating, they work great but they'll probably need cleaning in the future).

 

Where can you order the PCBs?

 

-Disjaukifa

Link to comment
Share on other sites

That is another think I have been wondering, I decent at soldering, so how difficult is it to make a Lynx Cartridge? I'm getting the flash cart from Lynxman soon, so for programming I'm not that worried, its more for when I want to release my game.

 

The problem with hand soldering is time.

 

Wookie has an interesting concept for extended addressing. My suggestion is to take that route and create cheap blank carts. Preferably similar designs to Zaku. But with 8MB of extended addressing and a large EEPROM for saves.

 

This would open up the Lynx for new games. A large cart could also contain much more graphics and sounds.

 

My Solitaire could also have multiplayer card games included by using ComLynx or "pass the console around". Then I could also have several card decks to choose from. And perhaps more (and better) music, graphical backgrounds, animations etc.

 

--

Karri

 

How much would an 8mb with an eeprom for saved games cost? HEck even a 4mb would be nice. My BIG game I'm going to be working on after Atomic Meltdown is going to be like Chip's Challenge/Crystal Mines II, and I'm wanting it to be 300+ levels, however a save feature would be very nice ;).

 

-Disjaukifa

Link to comment
Share on other sites

I hope to be able to set this up at Wookies web server soon.

--

Karri

 

I'm actually putting together a simple skeleton right now. I already have a simple tutorial on setting up the cc65 toolchain on linux here. I just updated my page on getting mednafen up and running for development. With those two pieces in place, I'm able to write a simple hello world skeleton and document the process of writing and running your first code. It will be here when I'm done.

 

--Wookie

 

Great initiative by the way! I been reading your wiki, and it surely is great to have it all centralized. Too bad I won't be of any help any time soon since I'm quite the novice. But I hope you'll be updating those pages for the lynx!

Link to comment
Share on other sites

So my cart design is described in pretty good detail here: Using Hardware For Development. There are two main differences between my design and Karri's extended addressing cart. Karri's uses a flash chip that can be programmed in such a way as to allow a slightly modified Lynx to program it. My design will require a flasher built for it. Karri's design also uses the EEPROM design that I think came from Bastian42 and his BLL. My design uses i2c for both the EEPROM and the I/O extender.

 

By going with i2c, I gain two things: the code for writing to the EEPROM and the I/O extender (upper address bits) is simpler and faster, plus there are i2c serial EEPROMs that are huge. Thus my design uses a 1 Mbit (128 KByte) EEPROM for lots of save game data. So I'm almost done with the schematic but my problem is that I'm a complete newb when it comes to hardware. I've studied it from a software perspective and I've done a fair bit of soldering and coding embedded systems but I've never designed a schematic, routed it, and had PCB's made.

 

So here's my proposal: I still need a flash cart to work with, so how about we pool our efforts? Let me clean up my schematic and I'll post on the board in a new thread. Then, it will need to be routed and we need to find a place we can order PCB's from. I've already source all of the chips. I'll post a link to all of them in the new thread. I'd like it somebody would double check my work since I'm such a newb. I can help pay for a small run of boards and I'm good enough with a soldering iron that I could probably put them together.

 

As for the software Lynx dev kit, I would say that we're probably a few weeks away from a fully polished Lynx dev-kit. I just recently confirmed that the new encrypted micro loader works. I've also been able to get Karri's lynx cart demo to compile and run in mednafen (you have to patch it). Right now Karri and I have been talking about the best way to use the new micro loader and working on a new lynx cart demo using it. Karri knows the cc65 linker much better than I do so I've been hoping he'd figure out how to incorporate the micro loader ;). I've been working on documenting everything on CGD so that there are easy to follow steps for setting up the dev-kit and writing and running your first code.

 

Once we get there, I'll be going through the lynx runtime library that Karri's been working on for years (thanks Karri). I've never worked with it, so as I learn stuff, I'll be blogging about it and documenting it on CGD as well. I've already got wiki pages stubbed in for exporing Mikey, Suzy, the cart, input, audio, comlynx and the timers/interrupts. I am planning on writing them from the perspective of using the cc65 toolchain and Karri's lynx library.

 

--Wookie

Link to comment
Share on other sites

So my cart design is described in pretty good detail here: Using Hardware For Development. There are two main differences between my design and Karri's extended addressing cart. Karri's uses a flash chip that can be programmed in such a way as to allow a slightly modified Lynx to program it. My design will require a flasher built for it. Karri's design also uses the EEPROM design that I think came from Bastian42 and his BLL. My design uses i2c for both the EEPROM and the I/O extender.

 

By going with i2c, I gain two things: the code for writing to the EEPROM and the I/O extender (upper address bits) is simpler and faster, plus there are i2c serial EEPROMs that are huge. Thus my design uses a 1 Mbit (128 KByte) EEPROM for lots of save game data. So I'm almost done with the schematic but my problem is that I'm a complete newb when it comes to hardware. I've studied it from a software perspective and I've done a fair bit of soldering and coding embedded systems but I've never designed a schematic, routed it, and had PCB's made.

 

So here's my proposal: I still need a flash cart to work with, so how about we pool our efforts? Let me clean up my schematic and I'll post on the board in a new thread. Then, it will need to be routed and we need to find a place we can order PCB's from. I've already source all of the chips. I'll post a link to all of them in the new thread. I'd like it somebody would double check my work since I'm such a newb. I can help pay for a small run of boards and I'm good enough with a soldering iron that I could probably put them together.

 

As for the software Lynx dev kit, I would say that we're probably a few weeks away from a fully polished Lynx dev-kit. I just recently confirmed that the new encrypted micro loader works. I've also been able to get Karri's lynx cart demo to compile and run in mednafen (you have to patch it). Right now Karri and I have been talking about the best way to use the new micro loader and working on a new lynx cart demo using it. Karri knows the cc65 linker much better than I do so I've been hoping he'd figure out how to incorporate the micro loader ;). I've been working on documenting everything on CGD so that there are easy to follow steps for setting up the dev-kit and writing and running your first code.

 

Once we get there, I'll be going through the lynx runtime library that Karri's been working on for years (thanks Karri). I've never worked with it, so as I learn stuff, I'll be blogging about it and documenting it on CGD as well. I've already got wiki pages stubbed in for exporing Mikey, Suzy, the cart, input, audio, comlynx and the timers/interrupts. I am planning on writing them from the perspective of using the cc65 toolchain and Karri's lynx library.

 

--Wookie

 

I would be willing to go in on the carts with you, I'm curious on how it would be programmed, I'm more of a software guy instead of hardware but I'm learning quickly ;)

 

-Disjaukifa

Link to comment
Share on other sites

How much would an 8mb with an eeprom for saved games cost? HEck even a 4mb would be nice.

 

The chips I have sourced for my 16 MByte cart design cost about $10 total. With PCB manufacture, I would guess the cart could be made for under $30 each. Obviously, the more that are made, the cheaper they get per unit. Still, $30 each is not that bad.

 

My BIG game I'm going to be working on after Atomic Meltdown is going to be like Chip's Challenge/Crystal Mines II, and I'm wanting it to be 300+ levels, however a save feature would be very nice ;).

 

You could create an account on CGD and start project pages for your games and a dev blog to document their development. If you do that, I'll put them in the main link menu. I'm also looking for people interested in being admins on the site. I was thinking that I'd give admin access to the biggest contributors. So far it seems to be only me and Gravitone :)

 

I'm trying to focus on getting the dev kit together and the initial tutorials. Once I get through that, I'll be launching my RPG project and dev blog. I've been playing a bunch of RPG's lately and my project is drawing inspiration from

 

Final Fantasy Legend II

hqdefault.jpg

 

Shining Soul

shining_soul-169207-1.jpeg

 

and Earthbound

earthbound-300x225.jpg

Edited by Wookie
Link to comment
Share on other sites

How much would an 8mb with an eeprom for saved games cost? HEck even a 4mb would be nice.

 

The chips I have sourced for my 16 MByte cart design cost about $10 total. With PCB manufacture, I would guess the cart could be made for under $30 each. Obviously, the more that are made, the cheaper they get per unit. Still, $30 each is not that bad.

 

My BIG game I'm going to be working on after Atomic Meltdown is going to be like Chip's Challenge/Crystal Mines II, and I'm wanting it to be 300+ levels, however a save feature would be very nice ;).

 

You could create an account on CGD and start project pages for your games and a dev blog to document their development. If you do that, I'll put them in the main link menu. I'm also looking for people interested in being admins on the site. I was thinking that I'd give admin access to the biggest contributors.

 

I'm trying to focus on getting the dev kit together and the initial tutorials. Once I get through that, I'll be launching my RPG project and dev blog. I've been playing a bunch of RPG's lately and my project is drawing inspiration from

 

Final Fantasy Legend II

hqdefault.jpg

 

Shining Soul

shining_soul-169207-1.jpeg

 

and Earthbound

earthbound-300x225.jpg

 

I have not heard of the second game, but I have defiantly heard of the first and third!!! 30 bucks is not bad at all either! Would it be a one time program cart or could you re-program it multiple times?

 

Also as for starting a page on your site, I will once you get that Lynx Dev-kit up, I defiantly want to get Atomic Meltdown going for the Lynx.

 

For the tutorials, could you do something like the tutorials for Batari Basic? Here is the link:

Code Snippets Samples for BB Beginners

 

Honestly that was the biggest help, it covered the bare essentials to get going with Batari Basic. I can help with documentation and what not, I'm just one of those people that needs a simple beginning and then building from it. If you could make the could I could make a page or blog page on your site that explains what each line does and why its need, which I think would be beneficially to many people.

 

-Disjaukifa

Link to comment
Share on other sites

Would it be a one time program cart or could you re-program it multiple times?

It is a flash cart that can be reprogrammed over and over again. I also need to design a flasher for the cart. I've been looking at using one of the Atmel ATMega chips with built-in USB so that the flasher is a USB device.

 

Also as for starting a page on your site, I will once you get that Lynx Dev-kit up, I defiantly want to get Atomic Meltdown going for the Lynx.

Deal. I'll write them.

 

For the tutorials, could you do something like the tutorials for Batari Basic? Here is the link:

Code Snippets Samples for BB Beginners

 

Honestly that was the biggest help, it covered the bare essentials to get going with Batari Basic. I can help with documentation and what not, I'm just one of those people that needs a simple beginning and then building from it. If you could make the could I could make a page or blog page on your site that explains what each line does and why its need, which I think would be beneficially to many people.

I'll take a look and try to make the tutorials as easy to follow and helpful as I can.

 

--Wookie

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...