Jump to content

Photo

Red-Eye protocol for Commlynx?


15 replies to this topic

#1 Curt Vendel OFFLINE  

Curt Vendel

    River Patroller

  • 4,768 posts
  • Location:Carmel, New York

Posted Fri Mar 4, 2005 8:27 PM

Are the technical details and source code for the "RED-EYE" Commlynx protocol available to the Lynx programming community?

Just needed to check to see if this stuff was needed/helpful to post.




Curt

#2 Matthias OFFLINE  

Matthias

    Stargunner

  • 1,171 posts
  • Location:Germany

Posted Sat Mar 5, 2005 4:30 AM

Hello Curt!

The more information is available the better.

AFAIK: Available official stuff is only the part of the Epyx-manual which covers the ComLynx-port (www.monlynx.de) and i think the lib which comes with the Amiga-dev-kit (perhaps i mix this up and that lib is from a third source).

So even if it might be partially redundant to other sources, just release it :-)

Regards
Matthias

#3 Curt Vendel OFFLINE  

Curt Vendel

    River Patroller

  • Topic Starter
  • 4,768 posts
  • Location:Carmel, New York

Posted Sat Mar 5, 2005 6:45 PM

Matthias,

Better safe then sorry, if the stuff is useful and may not be out there and might help developers with new stuff or enable older games into multiplayer, its worth it, I'll work on this stuff this week.



Curt

#4 Matthias OFFLINE  

Matthias

    Stargunner

  • 1,171 posts
  • Location:Germany

Posted Sun Mar 6, 2005 2:30 PM

Hello Curt!

Matthias,

  Better safe then sorry, if the stuff is useful and may not be out there and might help developers with new stuff or enable older games into multiplayer, its worth it, I'll work on this stuff this week.

Curt


Great!

As far as i remember:
I think Harry Dodgson was one one of the few happy post-Atari-era people who were able to implement ComLynx-support in their projects really reliable (using the Amiga-DevKit i assume). Bastian Schick had it working in T-Tris, and other projects in his BLL-DevKit, he also helped adding ComLynx-suppport to some of my projects but it was never very reliable.


Regards
Matthias

#5 karri OFFLINE  

karri

    River Patroller

  • 2,549 posts
  • Location:Espoo, Finland

Posted Tue Mar 8, 2005 12:26 AM

What about the Comlink-driver coded by Rob Nicholson from Hand Made Software Ltd and used in Volleyball? Is that driver reliable?

I really should find a good driver and add it to the cc65.org compiler libraries.

--
Karri

#6 LYNXGUY OFFLINE  

LYNXGUY

    Stargunner

  • 1,458 posts
  • Location:At my computer

Posted Sat Mar 12, 2005 5:51 PM

I tried to hook my Lynx up to a TV and a VCR thru the comlynx port and the Lynx would appear to shut off (blank screen) and yes I did have a game in the Lynx.

Does anyone have any ideas how I can do this ??

#7 Shawn Jefferson OFFLINE  

Shawn Jefferson

    Stargunner

  • 1,987 posts
  • Location:Victoria, Canada

Posted Sat Mar 12, 2005 9:19 PM

I tried to hook my Lynx up to a TV and a VCR thru the comlynx port and the Lynx would appear to shut off (blank screen) and yes I did have a game in the Lynx.


The comlynx port is to link multiple lynx units together to play multi-player games, NOT to hook it to your TV.

Does anyone have any ideas how I can do this ??


There is no way currently to do that.

#8 Rob Nicholson OFFLINE  

Rob Nicholson

    Space Invader

  • 13 posts

Posted Fri May 12, 2006 1:35 AM

What about the Comlink-driver coded by Rob Nicholson from Hand Made Software Ltd and used in Volleyball? Is that driver reliable?

I really should find a good driver and add it to the cc65.org compiler libraries.


Good morning, the said Rob Nicholson here :) You have just reminded me of days I spent getting the HMS ComLink driver working for Lynx games.

More later...

Cheers, Rob.

#9 karri OFFLINE  

karri

    River Patroller

  • 2,549 posts
  • Location:Espoo, Finland

Posted Fri May 12, 2006 5:03 AM

What about the Comlink-driver coded by Rob Nicholson from Hand Made Software Ltd and used in Volleyball? Is that driver reliable?

I really should find a good driver and add it to the cc65.org compiler libraries.


Good morning, the said Rob Nicholson here :) You have just reminded me of days I spent getting the HMS ComLink driver working for Lynx games.

More later...

Cheers, Rob.


Hi Rob,

I still have your Comlink sources sitting on my hard disk. It would be very cool to create a generic ComLynx driver as a loadable module that could be used both for the Lynx and also for WiFi communications on a Sony PSP running Handy.

With the new linker technology of the cc65.org it is now possible to create binaries that far exceed the size of the Lynx RAM. And I hope to get a little extra time after Multicart 2006 to be able to try my wings on a real ComLynxed game that could be run on both Handy's and Lynxes.

--
Cheers,

Karri

#10 Rob Nicholson OFFLINE  

Rob Nicholson

    Space Invader

  • 13 posts

Posted Sat May 13, 2006 11:23 AM

I still have your Comlink sources sitting on my hard disk. It would be very cool to create a generic ComLynx driver as a loadable module that could be used both for the Lynx and also for WiFi communications on a Sony PSP running Handy.

With the new linker technology of the cc65.org it is now possible to create binaries that far exceed the size of the Lynx RAM. And I hope to get a little extra time after Multicart 2006 to be able to try my wings on a real ComLynxed game that could be run on both Handy's and Lynxes.

--
Cheers,

Karri


Neat :-) I was quite proud of the ComLink driver in Lynx although I'm sure there were still some bugs in there. I seem to remember that I even commented it quite well. Our driver came into it's own with BZ2K whereby the flexible messaging system made things possible.

I think I used to upset some assembly developers by using structured assembler using a series of macros (EasyMac?) to allow you to write things like:

lda Score
cmp #10
.if ge then
jsr DoSomething
.endif

Ahh yes, the architechure is coming back to me now. Main memory (64k?) with data loaded from cart using a serial interface. Ahh, memories :-) I used to love trying to make things faster and the download speed of our development system from a PC was way faster than the Handy. I remember bit tweaking the byte loader routine. Did a similar thing (as did many others) with the C64 disk interface. The native protocol used by Commodore was very slow. Got disk loading running about 8 times faster.

We always had multiple modules in our Lynx games. A kernel of core routines and then load a module for each part of the game like front screen titles, main game, high score etc. It was a common practise with games back then when memory was tight.

Cheers, Rob.

#11 Symmetry of TNG OFFLINE  

Symmetry of TNG

    Moonsweeper

  • 252 posts
  • Location:Sweden

Posted Mon May 15, 2006 11:22 AM

Well personally Im interested in any src on comlynx ..since I have a dream to one day fulfill ataris dream, to make a Jaguar-Lynx combo.. game.. where the lynx could give extra possibilities...

Rob you didnt hear any "insights" into this topic at the time? ...like how to code to make it compatible with the jaguars comlynx connection?

any info related to comlynx is interesting ..Hard or software wise...
So if anyone have anything then I for one would love a post.

cheers
/Symmetry of TNG
-Heart of a Jaguar
-dreams of a Lynx

#12 karri OFFLINE  

karri

    River Patroller

  • 2,549 posts
  • Location:Espoo, Finland

Posted Mon May 15, 2006 12:48 PM

I have a really cute application in the works that would fit the Jaguar/Lynx scheme over ComLynx perfectly. And the best thing is that the Jaguar part of it would be fairly easy to port. Unfortunately the Lynx and the ComLynx requires some work still...

But basically the Lynx part of ComLynx is just sending bytes over one at a time. The ComLink is more like a service layer that provides syncronisation and queues.

How does the Jaguar part of it work?
--
Karri

#13 Symmetry of TNG OFFLINE  

Symmetry of TNG

    Moonsweeper

  • 252 posts
  • Location:Sweden

Posted Wed May 17, 2006 7:31 AM

Well the only place in the jagdev manual that talks about comlynx (&midi) is the part on Asyncronous serial interface on page 93. (tech ref manual rev8, 28feb 2001).
And that part is your standard async serial interface... startbit,8data,parity,stop ...with programmable levels & triggers...
separate lines for Tx & Rx ....(iirc the lynx has just one physical line, right?)

ie one will have to hand make everything..

But there are some nasty bugs in the hardware on the jaguar that makes it verry hard to use...

---BTW iirc there are some bugs in the Lynx aswell? ...anyone care to elaborate on those, or have some pointers on where i can read more about them? ...Im just qurious if there are some similarities in the bugs, and perhapps atari got further on working around them on the lynx than they did on the jaguar..

Writing a fully functional "PnP thing" rs485-like (more than 2 users) communication protocall is no easy task.. especially when the hardware plays triks on you all the time by crashing the mashine... :/

regards
/Symmetry

#14 karri OFFLINE  

karri

    River Patroller

  • 2,549 posts
  • Location:Espoo, Finland

Posted Thu May 18, 2006 12:02 AM

The ComLynx does not have any hw bugs. But the format is pretty much fixed to start bit, 8 data bits, even parity, 1 stop bit.

And the only sensible baud rates are 9600 and 62500.

The ComLynx has a combined Rx/Tx pin and it can sense if two Lynxes transmit at the same time. I was thinking about making a round-robin communication scheme for a turn-based game (HeroQuest) I am working on. For me it would be sufficient with a half-duplex 9600 baud communication. And I have no need for any fancy protocols.

Connecting the Jaguar to a Lynx may need a level converter on the Jag side and combining the Rx/Tx needs a diode, a transistor and two resistors. So this is obviously a hw-project also. The hw is small enough to fit in the connector housing of a communications cable.

The Lynx has +5V on one pin that is enough to power up the communications cable.

--
Karri

#15 Symmetry of TNG OFFLINE  

Symmetry of TNG

    Moonsweeper

  • 252 posts
  • Location:Sweden

Posted Thu May 18, 2006 2:31 AM

>The ComLynx does not have any hw bugs.

did some quick checking yesterday, surching for something usefull (without luck) But found what i meant about HW bugs:

"A design error causes the power up state of the output to be TTL high, ALL code must set the TXOPEN bit in order to fix this"
"Well, we did screw something up after all. Both the transmit and receive interrupts are 'level' sensitive, rather than 'edge' sensitive"

But perhapps this is not as bad as i thought, I just remembered reading something about some "tweeks" that needed to be done to keep the comlynx happy... or is this info wrong? ...or doesnt it affect the code that much?...


Hmm in the Lynx FAQ it says that the "Jaguar does not have a ComLynx port per se" ..yet in the devdocs they describe the comlynx/midi as the standard uart that is accessable in the back of any jaguar.... (?) but a small HW converter to make it OC would offcourse be needed... that is true..
since the 5V tx&rx are separate pins..


Round-Robin ...? =)
You know I have been surching all around the net for some kind of protocall to do Initialization & efficient communication, but find NADA ..so i thought up my own =) and i have no name for it, but Im pritty sure similar things have ben done before (in the past though since noone deals with this kind of oldschool communication these days =) .....
A detailed description only exists on some old scrap paper i have, but it would deal with automatic setup of N players, manage communications in a minimum & do resends if nessesary, and continue if to meny resends are requested (ie bad connection or user unplugged)... well atleast in theory :P


btw when 1 lynx talks doesnt all other listen? ...(ie noone needs to resend info in a ring fashion?) ..if so i dont understand why games would hang if communication is bad to one lynx (like it sait it would in the faq's). I mean it would be possible to just unplugg one player and the code would se him as "dead" and continue without him...
Im probably missing some fundamental understanding about how the lynx is connected in series...(more than 2)... i thought it was just a "stereo plug" that were connected in parallell?...

cheers
/Sym

#16 karri OFFLINE  

karri

    River Patroller

  • 2,549 posts
  • Location:Espoo, Finland

Posted Thu May 18, 2006 10:59 PM

All Lynxes are connected in parallell so when one talks everyone else must listen.

As the protocol I think about the communications as UDP broadcasts. Unreliable stuff that may be dropped anytime. Actually I have even thought about a small piece of code that can extend the ComLynx over internet. This would enable remote ComLynxing and also using Sony PSP:s running Handy over WiFi as ComLynxed devices.

The game design should be such that commuinication does not depend on flawless communication. I don't want any generic protocol with resends etc. I prefer to keep things very simple.
--
Karri




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users