Jump to content
IGNORED

Burning the Eye of the Beholder demo


4ever2600

Recommended Posts

As per a couple of discussions with the fellows of this forum, it was stated that to burn a 128k rom of EOTB to a 256k board, simply strip the header off of the file, turning it essectially into a burnable .lyx file. FILE SIZE 131,072. (In this case, it's only 32k header and ucon64 does fine job of perfectly stripping it) Next it was said to take THAT header stripped file and stuff 2 of the same file into one 256k .lyx file. Well I did just that, using a program called frhed, I opened the new file and then said, 'insert file' and inserted the same file. Once said and done the file was a perfect 262,144 (which is the same file size as the other roms I've burned and worked perfect... No luck...

 

So I figured I would try a different approach... Using frhed (to keep file type intact) I reloaded JUST the newly stripped EOTB.lyx file (size 131,072) and at the end of that file were MANY 00.00.00.00.00s , so following that pattern, I inserted the rest of the file with more 00.00.00.00.00s until I hit the file size of 262,144, saved as eotb.lyx and reburned... No luck...

 

Any reason why this would be the case? HELP!

 

Now to make sure that these programs were keeping file integrity etc... After stripping off the initial 32k header from the .lnx file, I readded it using ucon64.exe and retried it in the emulators and it worked perfect!

 

PS Once burned, it looked like it was trying to load up, no "insert game" screen, just went from black boot screen, to grey screen... then nothing...

Link to comment
Share on other sites

I'm pretty sure I know what needs to be done.. I'm just not sure how to accomplish it... Karri already told me how to split the rom up in linux, I just don't have linux or a linux box... Might build a virtual pc...

Oh. It is possible to download a linux CD or something like that.

Link to comment
Share on other sites

Karri said that this is what I should do... Which makes perfect sense... Not the kind of sense I was hoping for, but...

 

To burn a 128k game to a 256k rom is more complex.

 

I would split the prog.lyx file to 512 byte pieces. You will get 256 pieces.

 

The command for doing this in Linux is "split -b 512 prog.lyx".

 

After this you need to assemble a 256k file out of the pieces. In Linux something like:

 

cat piece1 > newprog.lyx

cat piece1 >> newprog.lyx

cat piece2 >> newprog.lyx

cat piece2 >> newprog.lyx

...

cat piece256 >> newprog.lyx

cat piece256 >> newprog.lyx

 

This is a bit heavy processing in my opinion. Of course you can write a bash script to automate the process.

 

 

This is like building one hell of a puzzle, unless like he said you automate it with a batch file, then it should take seconds, I just don't know that much about programming in linux... Anyone up to the challenge? First person who gets me a burnable Eye of the Beholder DEMO .lyx file (that works once I burn it) gets a burned 'to a rom' copy built and mailed to them... FREE

 

IF THIS PROCESS WORKS... I figure if anyone would know, Karri would...

Link to comment
Share on other sites

Technically yes, though I already have a bunch of 256k boards that I purchased for 2/3 less the price of the B&C boards... Sooooooooooooooooooo that's why I kinda need it done differently... :)

 

The B&C boards are $20.00 each... not outrageous, but not exactly inexpensive either... Great boards though! They are dualies! I'm making several of these and considering I already have the other boards, might as well try to do it this way first...

Edited by 4ever2600
Link to comment
Share on other sites

You really need to find a real Linux machine for doing the cart stuff. Running it on Windows breaks because Windows cannot handle long lists. I suggest getting some nice LiveCD. You can boot from that and it still can see your hard disk.

 

A script for combining two images in Linux could look like this:

#!/bin/bash
# Combine two 128k Atari Lynx files into a 256k image for burning to a 256k cart

tail --bytes 131072 $1 > game1.lyx
tail --bytes 131072 $2 > game2.lyx
split -b 512 game1.lyx piece1
split -b 512 game2.lyx piece2
rm game1.lyx
rm game2.lyx
cat piece1aa > cart.lyx
rm piece1aa
cat piece2aa >> cart.lyx
rm piece2aa
PIECE1=`ls -1 piece1* | head -1`
PIECE2=`ls -1 piece2* | head -1`
while [ -e "$PIECE1" ]
do
cat $PIECE1 >> cart.lyx
cat $PIECE2 >> cart.lyx
rm $PIECE1
rm $PIECE2
PIECE1=`ls -1 piece1* | head -1`
PIECE2=`ls -1 piece2* | head -1`
done

echo "That was not so hard, was it?"

 

To run this you type something like:

./doit Warbirds.lnx ZarlorMercenary.lnx

 

Warbirds will be run when you power up the Lynx. To run ZarlorMercenary you need to cut the wire going to pin A9 on the ROM and tie that ROM pin to +5V by a 10k resistor.

 

--

Regards,

 

Karri

Link to comment
Share on other sites

Here's an exe I whipped up to do the splitting and recombining-very quick and dirty, source code included. It's a command-line tool and you call it like so:

 

lyx128-256.exe <input file> <output file>

 

I included an EOTB rom I downloaded from Harry Dodgeson's page that I ran the utility on. Since I don't have a cartridge, I couldn't test it myself. Also, it looks to me like the header is only 64 bytes, not 32k. Is that correct? Anyway, I stripped off the 64 bytes first.

 

The eotb256.lnx file is the 256k version of the file... with each 512 byte block from the original file duplicated.

lynx128_256.zip

Link to comment
Share on other sites

WE HAVE OURSELVES A WINNER! Thanks Shawn Jefferson! You even went out of the way to throw me a quick program together to do future projects! That's awesome! Thank you so very much! It's AAers like you that go the extra mile! PM me and I'll get your info about where to send you your own demo cart! (Will take a little longer, looks like your in Canada?) Thanks for everything again! - D

Edited by 4ever2600
Link to comment
Share on other sites

Karri, Thank you so much for all your help as well! You seem to know your linux AND lynx! I'm going to try your suggestion about the LIVECD linux... Quick question, when you were referring to the two games like Zarlor and Warbirds, were you saying that would actually create a 2 in 1 cart? And I quote,

 

"To run this you type something like:

CODE./doit Warbirds.lnx ZarlorMercenary.lnx

 

Warbirds will be run when you power up the Lynx. To run ZarlorMercenary you need to cut the wire going to pin A9 on the ROM and tie that ROM pin to +5V by a 10k resistor.

 

What you are saying is basically everytime you cut power on and off to the lynx, it would shift to the second data starting the other game and vice versa?

Link to comment
Share on other sites

Karri, Thank you so much for all your help as well! You seem to know your linux AND lynx! I'm going to try your suggestion about the LIVECD linux... Quick question, when you were referring to the two games like Zarlor and Warbirds, were you saying that would actually create a 2 in 1 cart? And I quote,

 

"To run this you type something like:

CODE./doit Warbirds.lnx ZarlorMercenary.lnx

 

Warbirds will be run when you power up the Lynx. To run ZarlorMercenary you need to cut the wire going to pin A9 on the ROM and tie that ROM pin to +5V by a 10k resistor.

 

What you are saying is basically everytime you cut power on and off to the lynx, it would shift to the second data starting the other game and vice versa?

 

Not exactly. I mean that you can put in a switch from A9 on the cart to A9 on the ROM to choose which game you want to run.

Switch closed = Warbirds

Switch open = Zarlor

 

--

Have fun,

 

Karri

Link to comment
Share on other sites

So that is possible! That'd would be kind of cool... Have you ever done this? Do you have any pics or schematics of something like this? Just curious to see what final product would look like... Thanks!

 

My devflash cart uses this technique for running smaller ROMs.

post-2099-1181820378_thumb.jpg

 

The switch S1-8 is open for running the second 128k image and closed for running the first 128k image.

And yes, it works.

 

--

Karri

Link to comment
Share on other sites

Wow! That's impressive! How long did it take you to develop something like that???

 

Actually I develop hardware for a living. So I was using StrataFlash chips for another product and while writing the Linux drivers and boot code for the flash chips I realized that the StrataFlash scheme is the only control scheme that would work with the way the Lynx access the cart. So I did the schematics for using a 16MB flash chip on a Lynx cart in a few evenings and the Eagle autorouter made the board in around 5 minutes.

 

Since then I have made around 100 carts for developers to test their creations. But currently I have run out of time to continue with this.

 

Writing the code for the Lynx flash driver took much longer. The hardware part is usually the easy one.

 

--

Karri

Link to comment
Share on other sites

Is it possible to "rearrange" a 128KB ROM dump in such a way that it works with a 256KB-only cartridge PCB? I have quite a few 128KB Flash ROMs and only a couple 256KB ones.

 

Yes, that is exactly what Shawns program (or my scripts) do.

 

--

Karri

Link to comment
Share on other sites

Yes, that is exactly what Shawns program (or my scripts) do.

 

--

Karri

 

Now I'm not sure if I clearly described my problem.

I have 128KB dumps and 128KB Flash ROMs and 256KB-only PCB. Since I have very few 256KB Flash ROMs and a lot more 128KB Flash ROMs I'd like to use the latter ones but because I noticed there were different PCBs for 256KB and 128KB ROMs I'd like to know if it's possible by recombining the 128KB ROM's contents (and not heavily rewiring the PCB).

I'm sorry if it's a dull question. :)

Link to comment
Share on other sites

Yes, that is exactly what Shawns program (or my scripts) do.

 

--

Karri

 

Now I'm not sure if I clearly described my problem.

I have 128KB dumps and 128KB Flash ROMs and 256KB-only PCB. Since I have very few 256KB Flash ROMs and a lot more 128KB Flash ROMs I'd like to use the latter ones but because I noticed there were different PCBs for 256KB and 128KB ROMs I'd like to know if it's possible by recombining the 128KB ROM's contents (and not heavily rewiring the PCB).

I'm sorry if it's a dull question. :)

 

Oh. That is a bit more complex. It means that when you plug in your ROM it behaves as a 256k ROM but it is only half the needed size. So you could run it by cutting the trace for A9 to the ROM and connecting the A9 address pin of the ROM to the address pin A17 on the ROM. But then you need to rearrange the content of the 128k image.

 

Split it into 512 byte blocks and re-arrange it like:

 

block1

block129

block2

block130

...

 

The easiest way to do the hw mod might be to bend up the A9 leg of the rom and solder a jumper from the bent leg to the A17 on the ROM. On a 128k ROM there is no pin A17. I mean you should connect it to where a A17 pin would be on a 256k ROM.

 

--

Karri

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