Jump to content

Photo

Dominant Amber (2600) - Hackaday 1KB Challenge


37 replies to this topic

#1 Wickeycolumbus OFFLINE  

Wickeycolumbus

    Red Sea Crosser

  • 5,136 posts
  • Location:Michigan

Posted Sat Dec 31, 2016 5:03 PM

When I heard that Hackaday was having a contest for projects that use 1KB or less of code, I thought it would be a good opportunity to get myself back into 2600 programming.  It has been too long :)

 

This is a simple game that is based off of the "Dominant Amber" game in the AtGames Sega console.  It is a really simple idea that is probably copied in other places too...  I couldn't think of a good name for it so I am copying that as well for now...

 

The screen shows a random arrangement of two different colored objects, and you simply select which you think is the 'dominant' one.  If you get it correct points are awarded.  Incorrect responses subtract points.  There are two minutes for each game.  In the first minute, the dominant color is a bit more obvious.

 

Anyway, wanted to share it here before I post it to the contest.

 

Happy New Year :party:

 

Screen shot 2016-12-31 at 5.55.53 PM.png

 

Attached File  amber_12_31_16.bin   2KB   120 downloads

 

Attached File  Dominant_Amber.asm   13.24KB   30 downloads

 

EDIT: Source code added to post. 

 

Link to Hackaday posting:  https://hackaday.io/...atari-2600-game

 


Edited by Wickeycolumbus, Tue Jan 3, 2017 9:38 PM.


#2 neotokeo2001 OFFLINE  

neotokeo2001

    River Patroller

  • 3,704 posts
  • Location:Palm Beach

Posted Sat Dec 31, 2016 5:33 PM

Very well done. Thanks.

Shared with the Atari 2600 Homebrew Group at FaceBook.

https://www.facebook...ari2600homebrew



#3 neotokeo2001 OFFLINE  

neotokeo2001

    River Patroller

  • 3,704 posts
  • Location:Palm Beach

Posted Sat Dec 31, 2016 5:50 PM

Any plan to expand this?

Sound

Title Screen

Alternate or changing graphics



#4 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sun Jan 1, 2017 3:38 AM

I wonder if I should (or could) submit my own 1k minigames?



#5 r_type2600 OFFLINE  

r_type2600

    Chopper Commander

  • 221 posts
  • Location:Vienna

Posted Sun Jan 1, 2017 7:10 AM

Wow, really impressed by this!

Simplistic gameplay, but surprisingly challenging and addictive. Presentation is topnotch considering this all fits into 1k !

Changing graphics, extra sound don't hurt if you can still squeeze more into 1k, but they certainly are not required.

A title screen would be a waste for small games - such games thrill by delivering an optimized balance between gameplay/graphics/sound/presentation (in that order).



#6 r_type2600 OFFLINE  

r_type2600

    Chopper Commander

  • 221 posts
  • Location:Vienna

Posted Sun Jan 1, 2017 7:12 AM

I wonder if I should (or could) submit my own 1k minigames?

 

Seriously !?!

We hunger ! :-)



#7 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sun Jan 1, 2017 7:24 AM

I meant my old ones (Cave1k, Splatform, Robot City...). i couldn't find any restrictions.



#8 neotokeo2001 OFFLINE  

neotokeo2001

    River Patroller

  • 3,704 posts
  • Location:Palm Beach

Posted Sun Jan 1, 2017 10:12 AM

Wow, really impressed by this!

Simplistic gameplay, but surprisingly challenging and addictive. Presentation is topnotch considering this all fits into 1k !

Changing graphics, extra sound don't hurt if you can still squeeze more into 1k, but they certainly are not required.

A title screen would be a waste for small games - such games thrill by delivering an optimized balance between gameplay/graphics/sound/presentation (in that order).

 

I was referring to making it a full release and not staying in 1k.



#9 Wickeycolumbus OFFLINE  

Wickeycolumbus

    Red Sea Crosser

  • Topic Starter
  • 5,136 posts
  • Location:Michigan

Posted Sun Jan 1, 2017 11:11 PM

Thanks for the positive reviews guys!  I was wondering, is 2 minutes too long?  Would you be more likely to play more rounds with 1:00 or 1:30?

 

I think I will submit this version for the contest.  I am using every last byte at the moment.  Of course you can always do more squeezing to fit in other features, but I think this will do for now.  I was planning on adding some music, and other difficulty levels (three or more colors).  Maybe I will revisit the idea without ROM limitations sometime.

 

 

Very well done. Thanks.

Shared with the Atari 2600 Homebrew Group at FaceBook.

https://www.facebook...ari2600homebrew

 

Cool didn't know about that page!  I like the Dominant Ghost and Dominant Invaders hacks :D

 

 

Wow, really impressed by this!

Simplistic gameplay, but surprisingly challenging and addictive. Presentation is topnotch considering this all fits into 1k !

Changing graphics, extra sound don't hurt if you can still squeeze more into 1k, but they certainly are not required.

A title screen would be a waste for small games - such games thrill by delivering an optimized balance between gameplay/graphics/sound/presentation (in that order).

 

Thanks, glad you enjoy it!

 

I meant my old ones (Cave1k, Splatform, Robot City...). i couldn't find any restrictions.

 

I didn't see any restrictions about that either, I think it should be possible to submit an older project.



#10 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Mon Jan 2, 2017 7:23 AM

I didn't see any restrictions about that either, I think it should be possible to submit an older project.

Ok, I submitted them. Worst case they get rejected. :)



#11 carlsson ONLINE  

carlsson

    River Patroller

  • 3,985 posts
  • Location:Västerås, Sweden

Posted Mon Jan 2, 2017 7:31 AM

I understand the 2600 doesn't have much of a BIOS to rely on, but most other previous Minigame entries would be disqualified if they relate to firmware ROM calls, or that code must be included. Thus it is not 1K application code, but 1K total code including rolling everything you need to access the cold hardware.



#12 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Mon Jan 2, 2017 7:36 AM

Yup, for us Atari 2600 developers this challenge is perfectly fair. :)



#13 enthusi ONLINE  

enthusi

    Moonsweeper

  • 303 posts
  • Location:Potsdam, Germany

Posted Mon Jan 2, 2017 7:38 AM

So who is 5th place not that Thomas submitted his? :-)



#14 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Mon Jan 2, 2017 7:45 AM

I didn't submit Crash'n Dive since I never was happy with that one.

 

And I definitely do not expect to win or even come close. I only want to make the Atari 2600 even more popular.



#15 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Mon Jan 2, 2017 3:13 PM

Working on a 1K version of RAM Pong now...



#16 Wickeycolumbus OFFLINE  

Wickeycolumbus

    Red Sea Crosser

  • Topic Starter
  • 5,136 posts
  • Location:Michigan

Posted Mon Jan 2, 2017 9:06 PM

Good to see your games submitted, Thomas!

 

Working on a 1K version of RAM Pong now...

 

RAM Pong is an amazing project.  If possible you should include a video where you remove the cartridge and show that the game still runs :D

 

I remember that after you did RAM Pong, a few other programmers started doing RAM games.  Those were fun to program.



#17 Wickeycolumbus OFFLINE  

Wickeycolumbus

    Red Sea Crosser

  • Topic Starter
  • 5,136 posts
  • Location:Michigan

Posted Tue Jan 3, 2017 9:39 PM

Added source code and link to post on hackaday.io



#18 nanochess OFFLINE  

nanochess

    River Patroller

  • 4,554 posts
  • Coding something good
  • Location:Mexico, Mexico

Posted Wed Jan 4, 2017 1:33 PM

I couldn't resist the temptation to submit something :grin: https://hackaday.io/...r-atari-vcs2600

#19 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Jan 4, 2017 1:38 PM

:thumbsup:

 

Don't forget to upload the files.



#20 nanochess OFFLINE  

nanochess

    River Patroller

  • 4,554 posts
  • Coding something good
  • Location:Mexico, Mexico

Posted Wed Jan 4, 2017 1:44 PM

:thumbsup:
 
Don't forget to upload the files.


I've used the Github option. Link is at left. Just updated description to include it.
 

Projects must be open source. Source code, schematics, and board layouts for the project software must be either posted in the files section, or include a link to a public repository such as Github.



#21 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Jan 4, 2017 1:47 PM

I see.

 

BTW: I tested the ROM on real hardware and it works. And I learned that you can use 1K ROMs without padding.



#22 nanochess OFFLINE  

nanochess

    River Patroller

  • 4,554 posts
  • Coding something good
  • Location:Mexico, Mexico

Posted Wed Jan 4, 2017 1:49 PM

I see.
 
BTW: I tested the ROM on real hardware and it works. And I learned that you can use 1K ROMs without padding.


That's so cool! 8) Thanks!

Embarrassingly I'm searching everywhere to find my MicroSD adapter for the Harmony cart! :grin:



#23 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,153 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Jan 4, 2017 2:24 PM

@Rick: Maybe you want to replace your 2K ROM with a 1K ROM (starting at e.g. $1C00 works very well).



#24 SpiceWare ONLINE  

SpiceWare

    Quadrunner

  • 10,843 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Thu Jan 5, 2017 9:30 AM

And I learned that you can use 1K ROMs without padding.

 
The 2K Cartridge driver for Stella notes that it can support ROMs as small as 64 bytes.  What it does is create a mask based on the size of the ROM and then masks the addresses in order to restrict it to locations within that size.  On real hardware the same would be done by not connected all of the address lines in the cartridge, resulting in the small ROM being repeated throughout the 4K cartridge address space.
 
During the init it figures out the correct power of 2 ROM size to use, then creates a mask based on that:
Cartridge2K::Cartridge2K(const uInt8* image, uInt32 size, const Settings& settings)
  : Cartridge(settings)
{
  // Size can be a maximum of 2K
  if(size > 2048) size = 2048;
 
  // Set image size to closest power-of-two for the given size
  mySize = 1;
  while(mySize < size)
    mySize <<= 1;
 
  // The smallest addressable area by Stella is 64 bytes
  // This should really be read from the System, but for now I'm going
  // to cheat a little and hard-code it to 64 (aka 2^6)
  if(mySize < 64)
    mySize = 64;
 
  // Initialize ROM with illegal 6502 opcode that causes a real 6502 to jam
  myImage = make_ptr<uInt8[]>(mySize);
  memset(myImage.get(), 0x02, mySize);
 
  // Copy the ROM image into my buffer
  memcpy(myImage.get(), image, size);
  createCodeAccessBase(mySize);
 
  // Set mask for accessing the image buffer
  // This is guaranteed to work, as mySize is a power of two
  myMask = mySize - 1;
}
 
Accessing memory example using the mask:
uInt8 Cartridge2K::peek(uInt16 address)
{
  return myImage[address & myMask];
}


#25 Arenafoot OFFLINE  

Arenafoot

    Dragonstomper

  • 656 posts
  • videogamestores.net/
  • Location:Watson, LA

Posted Thu Jan 5, 2017 3:17 PM

Any plan to expand this?

Sound

Title Screen

Alternate or changing graphics

I'd like to see this!  Suggestion- on the title screen, the option of 1min, 1:30, or 2min gameplay.

 

Thanks for the positive reviews guys!  I was wondering, is 2 minutes too long?  Would you be more likely to play more rounds with 1:00 or 1:30?

see my suggestion above

 

Working on a 1K version of RAM Pong now...

funny how you bring that up now - I just asked PackRat VG about that title that has been in their "store" as a TBA for a long time............






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users