Jump to content
IGNORED

released JellyBeans-Source


walter_J64bit

Recommended Posts

Matthias,

 

That is simply awesome!  :cool:

 

 

The code was of course worked out by Karri, i just have changed it a little bit to display those graphics for a vertical standing gamefield.

 

How does the Lynx Com work?  Is it a normal serial port that can be connected to an A8 to play a multi-player game?

916411[/snapback]

 

I am a bit out of the business, so no details, but i can tell you that the so called ComLynx-port of the Lynx provides a single data-line with TTL-level which is internally connected to TxD and RxD of the chipset. So all connected devices have to handle all those nice echoes ;-)

 

I think that we should be happy if we get the game working completely on the Lynx and then could start thinking about a Lynx-Lynx-connection, and then (far far away) we could think about connecting with other computers ;-)

 

Regards

Matthias

Link to comment
Share on other sites

Matthias,

 

That is simply awesome!  :cool:

 

 

The code was of course worked out by Karri, i just have changed it a little bit to display those graphics for a vertical standing gamefield.

 

How does the Lynx Com work?  Is it a normal serial port that can be connected to an A8 to play a multi-player game?

916411[/snapback]

 

I am a bit out of the business, so no details, but i can tell you that the so called ComLynx-port of the Lynx provides a single data-line with TTL-level which is internally connected to TxD and RxD of the chipset. So all connected devices have to handle all those nice echoes ;-)

 

I think that we should be happy if we get the game working completely on the Lynx and then could start thinking about a Lynx-Lynx-connection, and then (far far away) we could think about connecting with other computers ;-)

 

Regards

Matthias

916429[/snapback]

 

Matthias is awesome! :D

Link to comment
Share on other sites

Hello Cybernoid,

 

 

can you please explain the encoding of the parts of the "player_info"-structure?

I am trying to output the "score", but i fail:

 

buf[0] = '0' + (player_info.score[0] & 0x0f);

buf[1] = '0' + (player_info.score[1] & 0x0f);

buf[2] = '0' + (player_info.score[2] & 0x0f);

buf[3] = '0' + (player_info.score[3] & 0x0f);

buf[4] = '0' + (player_info.score[4] & 0x0f);

buf[5] = '0' + (player_info.score[5] & 0x0f);

buf[6] = '0' + (player_info.score[6] & 0x0f);

buf[7] = '0' + (player_info.score[7] & 0x0f);

buf[8] = '0'; /* a score of 2 means "200", so add two 0s */

buf[9] = '0';

buf[10] = 0; /* terminate the string */

 

 

Thanks in advance

Matthias

Edited by Matthias
Link to comment
Share on other sites

Hi!

 

Ok, i think i have found the reason for my failure:

The "score"-array was not just a simple char-array of 8 bytes, but part of the cells of the text-screen, so the values in the 8 bytes weren't zero-based and also accessed by a vector which was too large after i have adapted the SCREEN_WIDTH and SCREEN_HEIGHT defines to values suitable for the Lynx (20 and 12, as they are text-cell-based).

 

Regards

Matthias

post-2054-1124896190_thumb.jpg

Link to comment
Share on other sites

Hello,

 

attached is the RAM-based game binary (for BLL or Handy, but i have tested only with Handy).

 

Press OPTION1, OPTION2 or PAUSE to close the title-screen,

then press OPTION1 to start the game (=let the beans appear).

 

Use UP or DOWN to move the selected column up or down

and LEFT or RIGHT to change the column-selection.

 

Use FireA and LEFT or RIGHT to cycle the beans in the middle row (marked with the dark red bar).

 

Use the above controls to build up a group of at least 3 objects of the same type

(beans of the same colour or bombs), see the Jellybeans-website for details.

 

Regards

Matthias

jb20050824.zip

Link to comment
Share on other sites

Hello,

 

attached is the RAM-based game binary (for BLL or Handy, but i have tested only with Handy).

 

917742[/snapback]

 

Great! I had a fun time playing around with this version. I am surprised that something was ported so quickly that is actually half-way playable! Keep up the good work!

 

It is a little slow yet...but heck my first version of JellyBeans was slow and the graphics were not very good. I expect to see a version that rivals the Atari 8bit version soon! ;)

 

I was surpised to see the title screen make it in at the early stage... very cool! Adam, would be proud.

 

-C-

Link to comment
Share on other sites

Matthias,

 

This is actually very playable with the emulator speed turned up! Of course, the skill level is set way low... but hey, the creator should be able to play his own game right? Make this so that it drops 3 beans every second and I will have a problem.... :ponder:

 

Cybernoid/Chris

Link to comment
Share on other sites

Hello Cybernoid!

 

This is actually very playable with the emulator speed turned up!  Of course, the skill level is set way low... but hey, the creator should be able to play his own game right?  Make this so that it drops 3 beans every second and I will have a problem....  :ponder:

 

917873[/snapback]

 

Yes, i too think it is working slow, but as i can't compare the Lynx-port to the original i can't say if it's just the joypad-handling which is slow or also the game-engine. Those counters run in the VBL-Handler, and if am not mistaken the Lynx runs with 70 Hz (as the standard setting which can be changed)?

So the game-engine should run faster than on PAL/NTSC-A8s? Seems to indicate that something in the port isn't implemented properly.

 

Yesterday i played about 20 minutes before i had 3 bombs on the screen, i had mastered several bricks before, but i saw no goal which i have to reach?

--> When does the game end?

 

 

 

Regards

Matthias

Link to comment
Share on other sites

Yes, i too think it is working slow, but as i can't compare the Lynx-port to the original i can't say if it's just the joypad-handling which is slow or also the game-engine. Those counters run in the VBL-Handler, and if am not mistaken the Lynx runs with 70 Hz (as the standard setting which can be changed)?

So the game-engine should run faster than on PAL/NTSC-A8s? Seems to indicate that something in the port isn't implemented properly.

 

Hmm, the first version of JellyBeans will select between 50Hz or 60Hz, and use the VBI counter. So it doesn't matter if it is running on PAL or NTSC. The timing would be the same.

 

Yesterday i played about 20 minutes before i had 3 bombs on the screen, i had mastered several bricks before, but i saw no goal which i have to reach?

--> When does the game end?

 

 

917912[/snapback]

 

The game ends like Tetris... when the playfield fills with jellybeans. So, it is currently set way too easy. New Jellybeans should appear often... along with brings and bombs... new jellybeans are suppose to appear at an increasing rate as time goes on.

 

I am thinking of doing a JellyBeans II, where you have levels to reach... so you remove a certain number of jellybeans and you move to the next level. But, before you go to the next level you have to play a bonus round... I was thinking that maybe during the bonus round you have to match a certain number of patterns in a certain time before going to the next level.

 

-Chris

Link to comment
Share on other sites

The speed problem is not with the joypad.

 

Pressing Opt1, Opt2 or Pause causes a sleep for a while as the driver will try to see if you want a Flip screen or a Restart.

 

But I am afraid that calling C-code from the interrupt handler can crash the game at unpredictable times or cause slowdowns.

 

It would also be nice to completely separate gameplay from the display loop.

 

In the A8 implementation you can change beans all over the code and they appear on screen by "magic". This is not true for the Lynx.

 

On the Lynx you would like to code like:

init_stuff
while (forever) {
 gameplay();
 if (display_is_idle and stuff_to_display) {
   display_beans();
   display_is_idle = false;
 }
}

The vbl interrupt should only be

if (display_is_idle == false) {
 swap_display_buffers()
 display_is_idle = true
}

Then the gameplay can run at realtime speed and the screen is drawn only when we have the extra time to do it.

 

Anyway... Working together with Matthias on this was a nice little excercise on the cross-platform capabilities of the new cc65 compiler. Uz and the other cc65 people have done a great job.

 

Perhaps a full ComLynxed version will find its way on a compilation cart in the future :P

 

My suggestion is to move all machine dependent code into separate files. And use "standard" interfaces whenever possible.

 

Cybernoid, could you merge some of the results of our porting efforts to the main tree of Jellybeans? With some fairly small changes we could make Jellybeans compile out of the box on other platforms like Apple, C64, C128, Lynx, Atmos etc...

 

--

Karri

Edited by karri
Link to comment
Share on other sites

Anyway... Working together with Matthias on this was a nice little excercise on the cross-platform capabilities of the new cc65 compiler. Uz and the other cc65 people have done a great job.

 

Perhaps a full ComLynxed version will find its way on a compilation cart in the future  :P

 

My suggestion is to move all machine dependent code into separate files. And use "standard" interfaces whenever possible.

 

Cybernoid, could you merge some of the results of our porting efforts to the main tree of Jellybeans? With some fairly small changes we could make Jellybeans compile out of the box on other platforms like Apple, C64, C128, Lynx, Atmos etc...

 

--

Karri

918238[/snapback]

 

Karri,

 

Sure. I understand the problems with porting this code. I never designed it (nor released it) to be portable... unfortunately. I released the code thinking that someone would use it for a similar game on the 8bit or even make this one better. So, to see this already well on the way on the Lynx is great.

 

I will take the code from the Lynx port so far and merge this with what I have, and try to make the main game engine as standard as possible.

 

 

Great work!!!

 

-C

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