Jump to content
IGNORED

New owner, 24 Mhz upgrade, programming


Shawn Jefferson

Recommended Posts

Well, I'm an old Atari 8-bit fan and I've been contemplating collecting other Atari products. I never owned a 2600 (we had an Intellivision) and it takes up a lot of room and I doubt I would play it often as it needs to be hooked up to a TV. The 5200 is interesting since it is basically an 8-bit computer, but the joysticks are analog (blech!) and most every game released on the 5200 I have access to on the 8-bit. The 7800... well I never really considered it, but the same issues around it as the 2600.

 

To make a long story short, I decided to get into the Lynx market. I found one in my city that was for sale. I paid $50.00 CAD for a Lynx I with California Games (Flat cartridge style) and Blue Lightening (Curved). Did I overpay? Some slight scratching on the plastic and one streak that I don't think will come off.

 

I'm interested in putting in a 24 Mhz crystal just for kicks and was wondering what they mean by "a mass" in the instructions for that upgrade?

 

The lynx is a very cool little machine and uses the same processor as the 8-bit computer which leads me to my next question. Programming for the lynx. Can someone point me at some good information about doing this? I've seen the hardware spec on the net and read through it... it's difficult to follow however. I'm interested in using cc65 to do stuff on it, since I have experience with that compiler already.

 

I know that it is possible to upload your code to the lynx from the PC, with a special BLL-loader cartridge. Is there any information on the internet about put code into an EPROM and running it from there? How does your code access the cartridge to get game data, etc..?

Link to comment
Share on other sites

Programming the Lynx is pretty easy for an experienced developer using the free tools. And there are EPROM carts you can use, although frankly it's much easier to develop with the emulator and only use the EPROM for late stage testing.

 

I'm hoping someone else can point you to the Lynx programming stuff online since all my Lynx links are on my old computer, which my wife is using now. If someone else doesn't chime in PM me and I can just e-mail you the stuff I have, which I think is most of it.

 

Eric

Link to comment
Share on other sites

I'm interested in putting in a 24 Mhz crystal just for kicks and was wondering what they mean by "a mass" in the instructions for that upgrade?

 

I would not do it. You are risking hardware damages.

 

The lynx is a very cool little machine and uses the same processor as the 8-bit computer which leads me to my next question.  Programming for the.  Can someone point me at some good information about doing this?  I've seen the hardware spec on the net and read through it... it's difficult to follow however.  I'm interested in using cc65 to do stuff on it, since I have experience with that compiler already.  

 

Have a look at the following pages:

http://www.geocities.com/SiliconValley/Byte/4242/

http://home.t-online.de/home/Matthias.Domi...in/homepage.htm

http://www.uni-giessen.de/~gd1113/lynx/kurs/lynx

 

I know that it is possible to upload your code to the lynx from the PC, with a special BLL-loader cartridge.  Is there any information on the internet about put code into an EPROM and running it from there?  How does your code access the cartridge to get game data, etc..?

 

You need one of the following Cartridges: BLL, SIMIS, Champ.Rally

They all include the BLL Loader. This Loader allows loading code into the lynx RAM, so limiting game size to around 60kb. The EEPROM on BLL/SIMIS is only for saving highscores, as it is only 128bits (or bytes?).

 

If you want to burn a game to a 128kb eprom you have to use the utilities on Bastians page, they allow you to create ROM images from C or ASM source files.

 

I recommend you to use HANDY for developing. Its the easiest way to debug programms as you do not need any additional hardware.

 

Tschau,

 

Bjoern

Link to comment
Share on other sites

I would not do it. You are risking hardware damages.

 

It seems pretty straight-forward, except I have no idea what they mean by a "mass." Anyone know?

 

I recommend you to use HANDY for developing. Its the easiest way

to debug programms as you do not need any additional hardware.

 

Do you (or anyone) know if HANDY can deal with writes to an EEPROM? I'm thinking of working on a RPG type game... an EEPROM would be required.

Link to comment
Share on other sites

The EEPROM is a serial device. In the CC65 compiler it is accessible in 16-bit words like:

 

int k[64];

 

for (i = 0; i < 64; i++)

k = EE_Read(i);

 

You can also do a write by EE_Write(i).

As the write can only turn bits from 1 to 0 you may need to do EE_Erase(i) before the write.

 

The number of times you can erase a cell in an EEPROM is limited to about 10000 times. Therefore I reserve 32 bytes in RAM for my game state and have separate Load and Save functions by which the user can transfer the data to or from the EEPROM. This lets the user save 4 games on one EEPROM.

 

One EEPROM in my designs is 1024 bits = 128 bytes.

 

The EEPROM is not a part of the Lynx so I don't believe that Handy has support for it.

 

But the S.I.M.I.S. cart has an EEPROM on it that you can use for your tests. And I have seen places for EEPROMs on all Songbird carts. The EEPROM is quite cheap, around 2 USD's. So if you have some developers cart or actually any cart with a downloader then it is trivial to add an EEPROM to it.

 

From the libraries:

*And now how to contact the EEPROM :

*

*CARD

*PORT ----/---- 93C46(SMD too)

*(18) A7 --------| CS |- +5V

*(11) A1 --------| CLK |- NC

* +---| DI |- NC

*(32) AUDIN ----+---| DO |- GND

* ----------

*

****************

 

* C-functions:

*

* int EE_Read(char cell);

* void EE_Write(char cell,int value);

* void EE_Erase(char cell);

 

--

Cheers,

 

Karri

Link to comment
Share on other sites

*And now how to contact the EEPROM :

*

*CARDPORT                   ----/----      93C46(SMD too)

*(18)  A7   --------| CS     |- +5V

*(11)  A1   --------| CLK    |- NC

*                   +---| DI     |- NC

*(32) AUDIN  ----+---| DO     |- GND

*                   ----------

 

Would have this looked better using the code-tag?

 

Here is my attempt for it:

*

*CARDPORT            ----/----  93C46(SMD too)

*(18)  A7    --------| CS     |- +5V

*(11)  A1    --------| CLK    |- NC

*                +---| DI     |- NC

*(32) AUDIN  ----+---| DO     |- GND

*                    ----------

 

Matthias

Link to comment
Share on other sites

...

 

The number of times you can erase a cell in an EEPROM is limited to about 10000 times. Therefore I reserve 32 bytes in RAM for my game state and have separate Load and Save functions by which the user can transfer the data to or from the EEPROM. This lets the user save 4 games on one EEPROM.

 

...

Karri

 

You left out a zero or two. The EEPROM specs I have from National

Semiconductor indicate 100 thousand guaranteed writes and likely

up to a million before the part is unusable.

 

As far as the original post... I haven't seen the 24MHz mod for a while

and don't know what the "mass" is referring to when totally removed

from the context it is in. Perhaps if you post the sentence or paragraph

it is in, that would help.

 

Harry

Link to comment
Share on other sites

As far as the original post... I haven't seen the 24MHz mod for a while

and don't know what the "mass" is referring to when totally removed

from the context it is in.  Perhaps if you post the sentence or paragraph

it is in, that would help.

 

7) Now take the 16MHz and 24MHz crystal and connect them in this way: 



  Connection with mass         

     .  Quartz 1          ....:----------------> }  Connect these with the  

     .   |----|          |.|...|  Switch         }  points where you took

     .   |    |           |   |                  }  the 16MHz quartz off.

     ....|----|           |   |                  }

     .    |  |            |   |                  } 

     .    |  :------------:   |                  }

     .    :-------------------;--------------->  }

     .    |  :----------------

     .    |  |      

     ....|----|        

         |    |

         |----|

        Quartz 2

       

   8) You need to make a mass, else the quartz will be disturbed by the rest of the Lynx electronics.

 

About the EEPROM and Handy: OK, so in developing I just need to leave the loading/saving routines until the end, so I can develop with a PC and Handy. I'm still learning about the internals of the Lynx (not much documentation out there... where's Mapping the Lynx? :) )

Link to comment
Share on other sites

I'm still learning about the internals of the Lynx (not much documentation out there... where's Mapping the Lynx? :) )

 

Perhaps we should all work on compiling one? I've made notes while working on my Lynx project, but I haven't spent much time, and didn't pick a terribly challenging project.

 

Eric

Link to comment
Share on other sites

   You need to make a mass, else the quartz will be disturbed by the rest of the Lynx electronics.

 

About the EEPROM and Handy: OK, so in developing I just need to leave the loading/saving routines until the end, so I can develop with a PC and Handy.  I'm still learning about the internals of the Lynx (not much documentation out there... where's Mapping the Lynx? :) )

 

That sentence looks like something translated with babelfish. I suspect "mass" means that you should secure the crystal with double-stick foamy tape so it doesn't move. Crystals are already inside metal containers so it can't be an RF shielding concern.

 

What do you mean there is not much documentation out for the Lynx? Bastian has retyped most of the essentials and it's been out on the web for years. There are also libraries and sample programs available for those who want to write games for it. About the only thing you could ask for is "the blue book" which is 300+ pages, most applying only to the Amiga development tools used with a Howard board and Pinky/Mandy.

 

You don't need to leave the loading/saving routines (whatever those are) until the end. I build my games as ROM images from day 1. I copy a skeleton set of files from a simple project to the new one and edit them for the game.

 

Harry

Link to comment
Share on other sites

   You need to make a mass, else the quartz will be disturbed by the rest of the Lynx electronics.

 

That sentence looks like something translated with babelfish. I suspect "mass" means that you should secure the crystal with double-stick foamy tape so it doesn't move. Crystals are already inside metal containers so it can't be an RF shielding concern.

 

I'm not sure who wrote the guide, if it was a native-german speaker,

then it's a wrong translation of "Masse" which should be translated

to Ground in the electronics area.

 

Here is something i have just found on a Jaguar-schematic:

"Metal housings of the crystals Y1+Y2 must be soldered to the ground plane"

 

So i expect that there are serious technical reasons to do this.

 

What do you mean there is not much documentation out for the Lynx?  Bastian has retyped most of the essentials and it's been out on the web for years.  

 

No, i had scanned the manual and let a OCR run over it. Still a lot of work!

 

There are also libraries and sample programs available for those who want to write games for it.  About the only thing you could ask for is "the blue book" which is 300+ pages, most applying only to the Amiga development tools used with a Howard board and Pinky/Mandy.

 

I had theses pages too, but we decided that they aren't of interest.

Very few people use those boards with Amiga computers,

and these people would have the manual too.

 

Matthias

Link to comment
Share on other sites

What do you mean there is not much documentation out for the Lynx?  Bastian has retyped most of the essentials and it's been out on the web for years.  There are also libraries and sample programs available for those who want to write games for it.

 

Are you referring to the Hardware Documentation on 42Bastian's site? Ugh. I read it twice and still didn't understand just what the heck the "pen palette" was. I found a website with "Lynx Programming for Dummies" (I am a dummy I guess) and it was explained there. I now know what the pen palette does and how the palette itself works, as well as the layout of screen memory, thanks to that document.

 

The example programs are nice to have too, and I've been studying them. But most examples presuppose that you understand the SCB layout (which I didn't fully.) Also, the Hardware Documentation explaination of not having to load some parts of the SCB is really bad (even the author knew it.)

 

You don't need to leave the loading/saving routines (whatever those are) until the end.  I build my games as ROM images from day 1.  I copy a skeleton set of files from a simple project to the new one and edit them for the game.

 

By loading and saving, I am referring to saving the game state, character stats, high scores, etc... I was under the impression that Handy didn't emulate a cartridge with an EEPROM on it. I will do my development using a PC and Handy...

 

Of course, I haven't written a line of code for the Lynx yet.... so I have no idea how development for it works.

 

Thanks for your help so far!

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...