Jump to content

Photo

Zonik Lynx


117 replies to this topic

#51 karri ONLINE  

karri

    River Patroller

  • 2,591 posts
  • Location:Espoo, Finland

Posted Fri Jan 30, 2004 3:12 AM

Actually, you can extend the size using both the AUDIO_IN and the switched power line as well as putting a second chip on the board.  That gives a possible 4MBytes of game space.  This, of course, would require another custom circuit board and a few bytes of bank-switching code.


I immediately rushed to see the schematics after this. And you are correct! How on earth have I not undestood this before. The Lynx has an unlimited expansion of cart memory by just adding one cheap chip on the cart!

You can simply add a shift register that you clock with the switched power line just as you do inside the Lynx. The reset of the shifter is done using AUDIO_IN. This means that you can easily use 16MB StrataFlash chips and give the Lynx total access to 16MBytes while still being compatible with every game produced so far... Time to dig out my soldering iron.

By adding an analog switch chip and a big capacitor I can even create a system that will replace the dip-switches on my developers cart and allow soft control over block sizes,.

It may even solve the L-SOUND problem.

Once you have a flash-based design there is no reason to limit the cart to Zonic only. You can flash several games on it. So why not include a FPGA with ARM and a HW-sound synthesizer on it.

With a little HW-magic we could use the second data-port in the Lynx for passing the sounds directly to the speaker system like:

SOUND interrupt routine at 4kHz
lda 2nd_data_port
sta sound_channel_0
rts

This would use very little CPU time and would be compatible with every Lynx. The ARM could even emulate EEPROM access and AUDIO_IN bank switching. It could even have an USB-port to show up as a removable disk for dropping new *.lnx files and sound files in it.

The total design would have just 4 components:
- an FPGA that interfaces to the Lynx cartridge-port
- a 16MB StrataFlash
- a clock chip
- a capacitor

I'm interested.

--
Karri

#52 sage OFFLINE  

sage

    Dragonstomper

  • 984 posts
  • Location:Germany

Posted Fri Jan 30, 2004 3:16 AM

I can't say if the BLL tool will build an image that big, but the HMS one I modified for the latest release of CM2 won't without another addition.  I would suspect that Bastian didn't anticipate games that large either.

As far as the AUDIO_IN line, it's used as the read/write line for EEPROM access on cards that support it so it is available for whatever your program needs it for.

Hmm, so I may need to modify lynxer, or find a new utility... But at least the AUDIO_IN line is free, as I don't expect to use EEPROM. Thanks!


lynxer is available for 1024, 2048 and 4096 bytes/block called lynxer, lyxner2 and lynxer4 (guess what the numbers mean). but yes if you want to use a different ROM layout you have to rewrite stuff.
the src for 1024 byte version is flying around on my harddisk, for 2048 or more you have to rewrite it. Ask when you need it.

#53 karri ONLINE  

karri

    River Patroller

  • 2,591 posts
  • Location:Espoo, Finland

Posted Fri Jan 30, 2004 4:09 AM

I can't say if the BLL tool will build an image that big, but the HMS one I modified for the latest release of CM2 won't without another addition.  I would suspect that Bastian didn't anticipate games that large either.

As far as the AUDIO_IN line, it's used as the read/write line for EEPROM access on cards that support it so it is available for whatever your program needs it for.

Hmm, so I may need to modify lynxer, or find a new utility... But at least the AUDIO_IN line is free, as I don't expect to use EEPROM. Thanks!


lynxer is available for 1024, 2048 and 4096 bytes/block called lynxer, lyxner2 and lynxer4 (guess what the numbers mean). but yes if you want to use a different ROM layout you have to rewrite stuff.
the src for 1024 byte version is flying around on my harddisk, for 2048 or more you have to rewrite it. Ask when you need it.


You have a typo here....

The sizes can be any power of 2 up to 2048 bytes/block.

The sizes I have seen so far are 512 (Warbirds - 128k), 1024 (Lemmings - 256k) and 2048 (Ninja Gaiden III - 512k).

Harry had a 410-byte long encrypted loader for 1024 bytes/block carts. It would be nice to get similar loaders for 512 bytels/block designs and 2048 bytes/block designs. Then we could create a generic lynxer that produces any kind of cart images.

--
karri

#54 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Fri Jan 30, 2004 6:30 AM

Actually, you can extend the size using both the AUDIO_IN and the switched power line as well as putting a second chip on the board.  That gives a possible 4MBytes of game space.  This, of course, would require another custom circuit board and a few bytes of bank-switching code.


I immediately rushed to see the schematics after this. And you are correct! How on earth have I not undestood this before. The Lynx has an unlimited expansion of cart memory by just adding one cheap chip on the cart!

You can simply add a shift register that you clock with the switched power line just as you do inside the Lynx. The reset of the shifter is done using AUDIO_IN. This means that you can easily use 16MB StrataFlash chips and give the Lynx total access to 16MBytes while still being compatible with every game produced so far... Time to dig out my soldering iron.

By adding an analog switch chip and a big capacitor I can even create a system that will replace the dip-switches on my developers cart and allow soft control over block sizes,.

It may even solve the L-SOUND problem.

Once you have a flash-based design there is no reason to limit the cart to Zonic only. You can flash several games on it. So why not include a FPGA with ARM and a HW-sound synthesizer on it.

With a little HW-magic we could use the second data-port in the Lynx for passing the sounds directly to the speaker system like:

SOUND interrupt routine at 4kHz
lda 2nd_data_port
sta sound_channel_0
rts

This would use very little CPU time and would be compatible with every Lynx. The ARM could even emulate EEPROM access and AUDIO_IN bank switching. It could even have an USB-port to show up as a removable disk for dropping new *.lnx files and sound files in it.

The total design would have just 4 components:
- an FPGA that interfaces to the Lynx cartridge-port
- a 16MB StrataFlash
- a clock chip
- a capacitor

I'm interested.

--
Karri

I never thought of including a synth on the L-SOUND but it sounds like a good idea (I was thinking of having only software sound) and I see now that you have all figured out this could not only be of just sound use =P As for having more than one thing on the Zonik cart, I am usure, but will consider it . Also, I was considering not having the sound data run through the lynx, but instead have the Lynx sound output run through the L-SOUND (so it may have higher quality, and put less stress on the CPU, plus it would be neat to mix the lynx harware sound with this) Perhaps this could turn into quite an interesting Dev. tool... However, I would prefer to keep my original design with all of the actual software on the cartridge instead of in the L-SOUND itself (reduced cost, updates), and keep the L-SOUND embedded in the lynx itself, instead of in a cart (also reudced cost)..


And thankies sage for offering the various versions of lynxer, I'll be sure to contact you as they are needed.

#55 karri ONLINE  

karri

    River Patroller

  • 2,591 posts
  • Location:Espoo, Finland

Posted Fri Jan 30, 2004 7:47 AM

Also, I was considering not having the sound data run through the lynx, but instead have the Lynx sound output run through the L-SOUND (so it may have higher quality, and put less stress on the CPU, plus it would be neat to mix the lynx harware sound with this) Perhaps this could turn into quite an interesting Dev. tool... However, I would prefer to keep my original design with all of the actual software on the cartridge instead of in the L-SOUND itself (reduced cost, updates), and keep the L-SOUND embedded in the lynx itself, instead of in a cart (also reudced cost)..


Well, there is one problem with this. To fit in more functionality you need more lines. It helps if the hardware that extends the addresses are on the same side of the connector with the ROM chip. To have them on different sides of the connector requires more wires. Besides FPGA's drop in price all the time :)

For high quality audio you could put a headphone connector on the cart. Mixing in Lynx audio is not necessary as we could create any kind of audio by the ARM.

--
Cheers,

Karri

#56 sage OFFLINE  

sage

    Dragonstomper

  • 984 posts
  • Location:Germany

Posted Fri Jan 30, 2004 9:39 AM

[quote="karri"][quote="sage"][quote=TailChao][quote=Harry_Dodgson]
lynxer is available for 1024, 2048 and 4096 bytes/block called lynxer, lyxner2 and lynxer4 (guess what the numbers mean). but yes if you want to use a different ROM layout you have to rewrite stuff.
the src for 1024 byte version is flying around on my harddisk, for 2048 or more you have to rewrite it. Ask when you need it.[/quote]

You have a typo here....

The sizes can be any power of 2 up to 2048 bytes/block.

The sizes I have seen so far are 512 (Warbirds - 128k), 1024 (Lemmings - 256k) and 2048 (Ninja Gaiden III - 512k).
[/quote]

I didnt say that there exist any game using it. Its the BLL troyan horse used for it. But anyway chaning the blocksize withing the hardware limit is only a work of some minutes.

[quote]
Harry had a 410-byte long encrypted loader for 1024 bytes/block carts. It would be nice to get similar loaders for 512 bytels/block designs and 2048 bytes/block designs. Then we could create a generic lynxer that produces any kind of cart images.[/quote]

-> maybe we should switch discussion the mail-list

#57 Harry_Dodgson OFFLINE  

Harry_Dodgson

    Moonsweeper

  • 410 posts
  • Location:SE Michigan, USA, Earth

Posted Mon Feb 2, 2004 7:52 AM

Just a few notes about some of the issues here...

1. Using the switched power line for a clock line could be a problem. Check the Lynx documentation for a description of the bug. It's not hard to set it on/off, but
I think one of the other routines toggle it as a side effect.

2. The (generic) encypted loader is easy to change for different block sizes (above 512). It's just a source code change (1 byte), recompile, and re-encrypt. The ROM builder and program code take a few more bytes. The Epyx/Atari routines kept all that in sync with a single source file read by both the assembler and rom builder.

#58 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Thu Feb 12, 2004 9:26 PM

Zonik now features assembling/collapsing level title cards, as in some sonic games.
Posted Image
Its better to see it in motion, but this'll have to do for now, also those extra scanlines are a fault in Handy, not the sprite's positioning.

additionally, the background has a bit more depth to it in the main game, if zonik moves up, the background moves down, and vice versa. It creates an interesting effect.

#59 SpaceAce OFFLINE  

SpaceAce

    Space Invader

  • 43 posts

Posted Fri Feb 13, 2004 5:15 AM

NICE :D

#60 saturndual32 OFFLINE  

saturndual32

    Space Invader

  • 10 posts

Posted Fri Feb 13, 2004 9:27 AM

Tailchao, the Sonic sprite under your nickname, is it an actual sprite from your game?.

#61 agradeneu OFFLINE  

agradeneu

    Moonsweeper

  • 461 posts
  • Location:Germany

Posted Fri Feb 13, 2004 11:14 AM

Hi

looks promising.
BTW is there parallax-scrolling for the ocean water used?

#62 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Fri Feb 13, 2004 11:41 AM

Hi

looks promising.  
BTW is there parallax-scrolling for the ocean water used?

Thanks, and yes, there is parallax scrolling on the ocean background, about 7 or 8 different speeds. The DOCK-OEI platform is an additional layer, scrolling in sync with the second ocean sprite down from the top on the BG.

Tailchao, the Sonic sprite under your nickname, is it an actual sprite from your game?

Yes, it is used in the bonus round, and has no base.

#63 agradeneu OFFLINE  

agradeneu

    Moonsweeper

  • 461 posts
  • Location:Germany

Posted Fri Feb 13, 2004 1:46 PM

Thank you for your prompt answer.

If that's so then this game looks EXTREMELY competent so far.

BTW what special fx does "Zonik" gonna use:

Do you make full use of the sprite effects the Lynx is capable to do (scaling, stretching, skewing)? :)

And what about the explosions? :love:

#64 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Fri Feb 13, 2004 7:58 PM

Thank you for your prompt answer.

If that's so then this game looks EXTREMELY competent so far.

BTW what special fx does "Zonik" gonna use:

Do you make full use of the sprite effects the Lynx is capable to do (scaling, stretching, skewing)?  :)  

And what about the explosions?  :love:

Thanks!
As for the lynx's scaling abilities, I make some use of them, but not alot, as it distorts the sprites, and I don't like that for whatever reason it may be :P . The explosions.... hmmm.... for now most of them are just flashing sprites, but I'll try to cram in full animations later.

#65 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Sat Feb 14, 2004 5:28 PM

Annnd now we have animated explosions :roll:

#66 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Tue Mar 16, 2004 5:13 PM

Unfortunately, I'm not gonna be able to make PhillyClassic 5 (bloody schoolwork!) If anyone would like to bring a short video of Zonik running (or what little bit of it IS running :roll: ) there, I can make a little presentation (in MPEG format) and send it to you.

Edit: The first appearence of RINGS with SOFTWARE COLLISIONS (wow I am an incredibly lazy coder!)
Posted Image

#67 Harry_Dodgson OFFLINE  

Harry_Dodgson

    Moonsweeper

  • 410 posts
  • Location:SE Michigan, USA, Earth

Posted Thu Mar 18, 2004 6:24 AM

Edit: The first appearence of RINGS with SOFTWARE COLLISIONS (wow I am an incredibly lazy coder!)

Actually, if you only have a few things that can collide, the software tests end up being both faster and use less memory than with Suzy collision detection.

#68 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Fri Mar 19, 2004 2:57 PM

Edit: The first appearence of RINGS with SOFTWARE COLLISIONS (wow I am an incredibly lazy coder!)

Actually, if you only have a few things that can collide, the software tests end up being both faster and use less memory than with Suzy collision detection.

Exactly, and it leaves Suzy free to do other things.

Edit: and also, it give a general "real area of damage" feel to the game with ease, IE- Zonik will not die if an enemy touches just his outline, whereas in hardware collisions, if any parts of the sprites touch, it will register, and to avoid this, one must make the sprite uncollideable and add a small "desired effect area" sprite underneath it.

#69 Harry_Dodgson OFFLINE  

Harry_Dodgson

    Moonsweeper

  • 410 posts
  • Location:SE Michigan, USA, Earth

Posted Tue Mar 23, 2004 6:31 AM

Exactly, and it leaves Suzy free to do other things.

Edit: and also, it give a general "real area of damage" feel to the game with ease, IE- Zonik will not die if an enemy touches just his outline, whereas in software collisions, if any parts of the sprites touch, it will register, and to avoid this, one must make the sprite uncollideable and add a small "desired effect area" sprite underneath it.


The Lynx designers thought of this and they designated certain "pens" to be uncollidable. Too bad the Suzy chip didn't match the specs so it doesn't quite work the way they wanted.

#70 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Tue Apr 6, 2004 9:05 PM

Itty Bitty Update-
Posted Image
Zonik shooting up some of the first enemies in the game, these come in formations of three, one just exploded. The smoke continues in the direction that the enemy was moving in, all software collisions work and several optimisations were made. Seeing that this was accomplished in less than two hours, a little demo may be coming by soon...

#71 Gregory DG OFFLINE  

Gregory DG

    Greg's Game Room on YouTube

  • 11,251 posts
  • Visit my YouTubes!
  • Location:Winter Haven, FL

Posted Tue Apr 6, 2004 9:11 PM

a little demo may be coming by soon...

[chant]Demo! Demo! Demo! Demo![/chant]

#72 Shaggy the Atarian OFFLINE  

Shaggy the Atarian

    Stargunner

  • 1,288 posts
  • Location:Utah

Posted Tue Apr 6, 2004 9:17 PM

Swwweet 8)

Can't wait to try the demo out, looks like you've made a lot of progress recently!

#73 Pocket OFFLINE  

Pocket

    Dragonstomper

  • 945 posts

Posted Sun Apr 11, 2004 9:43 AM

I can't wait : :D

#74 TailChao OFFLINE  

TailChao

    Dragonstomper

  • Topic Starter
  • 521 posts
  • Bup?

Posted Mon May 3, 2004 10:46 PM

Posted Image
A shot of the waiting room in the works for the new demo, kudos to all of you who helped in the game choosing topic!

#75 Rocko OFFLINE  

Rocko

    River Patroller

  • 2,142 posts

Posted Tue May 4, 2004 8:24 AM

Posted Image
A shot of the waiting room in the works for the new demo, kudos to all of you who helped in the game choosing topic!


And you said you make all your graphics in paint? Damn!




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users