Jump to content

Andrew Davie

+AtariAge Subscriber
  • Posts

    5,982
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Andrew Davie

  1. I followed this formula using DPC+ and this is the result. Sounds a bit better on Harmony than Stella.

     

    I would love to use original music. However, it must be stock-standard '2600 with no hardware support.

    Can anyone help me with this?

    Cheers

    A

  2. For those who missed it, a playable demo of Boulder Dash® was released the weekend of 17 July 2011.

    See http://www.atariage.com/forums/topic/184812-boulder-dash-r-demo-release/ for the binary.

     

    There are going to be a number of bugs and questions. I propose to collate those here, and indicate what action is proposed for each.

    So, please feel free to report/comment on bugs and help make the next release that much better.

     

    Cheers

    A

     

     

    Known Issues

    ------------

     

     

    1. Why doesn't it work on my Harmony cart?

     

    Harmony only supports up to 4K of RAM with the 3E bank switching format. Boulder Dash® requires 16K of RAM.

     

    2. Does it work on my Krokodile cart?

    It should, though there has been one report of issues related to end of life glitching and random crashing. This will be fixed, if confirmed.

    A Krokodile cartridge was extensively used to test during development, so any glitches are either last-minute or a problem with a specific Krokodile cartridge.

     

    3. The music on the title screen isn't the Boulder Dash® music.

    True. I called for contributions for music a long time ago. If you would like to have your name as a contributor to Boulder Dash® 2600,

    I could use some help getting a good version of the music going. It must use stock-standard '2600 capabilities -- no additional hardware trickery.

     

    4. It runs a little too fast.

    Probably because I'm a whiz player by now ;) The game can actually do about 4x the speed you're seeing here. It's easy to limit; let's get some consensus.

    As you go through the levels, the game gets faster.

     

    5. Could not push boulder into gap above firefly.

    This is kind of a bug. It's happening because you must push the boulder for a short time before it moves. But meanwhile the firefly is moving

    and at the point where you try to push it in, the firefly is in the way. So the pushing stops and resets the push delay. I will probably fix this

    for the next release.

     

    6. Issues with firefly collision detection - sometimes you kill the firefly inexplicably.

    This is a definite bug.

     

     

     

     

     

    Intended fixes for next release:

    1. Push boulder above firefly.

    2. Improvement in firefly collision detection.

    3. Minor reduction in game speed.

  3. The Atari 2600 Boulder Dash ® demo is now available. The binary is attached to the first post of this thread. If you find a bug, please report it here. But first, RTFM! Let me know how it works for you. Finally... it's done!

    Cheers

    A

    • Like 7
  4.  

    Although the demo contains the "hardest" two caves -- Funnel (O) and Apocalypse (M), all of the caves have been implemented.

    Here is a short video clip briefly showing each of the 16 caves... with a few bonus bugs :) The first 10 seconds of the video is corrupt because YouTube doesn't like my file format. But the rest is OK. I'm working on a few last-minute speed improvements, colour changes, and bug-fixes. Not long now...

    • Like 7
  5. Andrew,

    Is the end game an official release by First Star? If so, this will be the first official retail (non-homebrew) game release on the Atari 2600 for many years....

     

    It's a fully functional, free, playable demo of two caves of Boulder Dash® -- released with permission from First Star Software.

    The demo has the two most difficult caves installed (in terms of difficulty in programming on the '2600).

    It is not a retail version. You don't pay anything. It's totally free.

    Two more sleeps!

    Cheers

    A

    • Like 1
  6. Please contribute bug reports to

    http://www.atariage.com/forums/topic/184968-boulder-dashr-bug-reports/

     

     

     

     

    Atari 2600 Boulder Dash ®

     

    Thank you for checking out our implementation of First Star Software's Boulder Dash ® on the Atari 2600. We are Andrew Davie and Thomas Jentzsch, joint programmers. Together, we have been working on-and-off on this game for about six years.

     

    The program is 32K in size, though it can nominally fit in 16K. This demo version includes the most challenging two levels of the original version, those that push the capabilities of our program to the limit. It demonstrates all of the 'creatures' and 'features' available in the original game. This includes butterflies, fireflies, an amoeba, magic walls and of course boulders and diamonds.

     

    We would like to acknowledge First Star Software's role in bringing this to you as a free playable version. Throughout, we have had contact and support from First Star Software, Inc. in our efforts to develop this game. Boulder Dash ® is their intellectual property, and it is with gratitude that we acknowledge their generosity in allowing this version to be distributed to the Atari

    community free of charge. Please respect their ownership of the Boulder Dash ®

    property.

     

    Andrew Davie -- andrew@taswegian.com

    Thomas Jentzsch --

    July 2011

     

    ================================================================================

     

    ========

    Controls

    ========

     

    Special Switches

    ================

    ABORT GAME Hold down RESET and SELECT switches (Stella: F1+F2) at

    the same time.

     

    SUICIDE Sometimes you get stuck, or make a mistake, and want to

    re-start the cave. Except for waiting until the time

    runs out the only way you can do this is by suicide.

    Hold down RESET switch (Stella: F2) to kill Rockford.

     

    NTSC/PAL TV Right difficulty (Stella: F7/F8) switches between NTSC

    and PAL versions. There are trade-offs between each. The

    NTSC version has nicer colours. The PAL version has more

    processing time.

     

    So, you might say the NTSC version looks better and

    the PAL version is faster. Thomas and I have different

    preferred versions. They both play OK.

     

    MUSIC Left difficulty (F5/F6) toggles the music on/off during

    game=play. The original did not have music, so this

    option is off by default.

     

     

    Moving Rockford

    ===============

    Joystick UP, DOWN, LEFT, RIGHT move Rockford

     

    BUTTON + Joystick GRAB/SNATCH in the direction of the joystick.

    You can grab diamonds and snatch out soil without

    moving to the square by holding the button and then

    pressing the direction.

     

    Rockford will not move while the button is pressed.

     

    Looking Around

    ==============

    You can look around the cave without moving Rockford by holding down the

    SELECT switch (Stella: F1 key) and using the joystick. The background colour

    will change to a dark cyan when you are looking around. The cave timer still

    counts down during look-around.

     

    To quit from the look-around mode, release the SELECT switch. The view will

    scroll back to the location of Rockford. You may move immediately, even when

    Rockford is not visible on=screen.

     

    After Dying

    -----------

    BUTTON press the joystick button to continue

     

    --------------------------------------------------------------------------------

     

     

    ===========

    THE DISPLAY

    ===========

     

    The top line has three display types, as described below.

     

    --------------------------------------------------------------------------------

    DISPLAY TYPE 1:

    Player/Lives/Level

     

    The display/scoring area shows this display when first starting, or resuming

    after death. This display shows the player number, life counter, and cave level.

     

    A. PLAYER NUMBER

    ================

    When first starting a cave, the display shows the player number (top left).

    This version of Boulder Dash ® only allows for a single player so this is

    always "P1".

     

    B. LIFE COUNTER

    ===============

    The number of lives is displayed top-middle, alongside Rockford's head. You

    start with three lives, and you lose a life every time you...

     

    a) Have a boulder or diamond fall on you

     

    b) Touch a butterfly

     

    c) Touch a firefly

     

    d) Are too close to an exploding firefly or butterfly.

     

    e) Commit suicide (pressing RESET)

     

    f) Run out of time for completing the cave

     

    If you lose a life while the time is still running, Rockford explodes and dies,

    and the cave continues. Press the joystick button to continue.

     

    C. CAVE LEVEL

    =============

    The top-right of the display shows the cave letter followed by the level number.

     

    Cave letters range from A to P inclusive. These correspond exactly to the

    original Boulder Dash ® levels, with the exception of a small reduction of

    the number of butterflies in level M.

     

    This demo version contains two caves ("Funnel", "Apocalypse").

     

    Level number ranges from 1 to 5.

     

    On completion of all caves, the level number is incremented and the caves are

    repeated.

     

    --------------------------------------------------------------------------------

    DISPLAY TYPE 2:

    The score.

     

    The score is displayed center top of screen, as a 6-digit number.

     

    You earn points every time you collect a diamond, based on your current cave and

    level.

     

    You earn bonus points if you have time remaining at the completion of a cave

    level.

     

    The score is briefly displayed every time you earn points.

     

    --------------------------------------------------------------------------------

    DISPLAY TYPE 3:

     

    The diamond counter, and the remaining time counter.

     

    A. DIAMOND COUNTER

    ==================

    The diamond counter is shown top-left of screen and has two modes.

     

    1. When shown alongside a diamond shape with a "-" inside it, the number

    indicates the number of diamonds you must collect before the exit door will

    open.

     

    2. When shown alongside a diamond shape with a "+" inside it, the number

    indicates the number of diamonds, MORE than the required number of diamonds

    for the level, that you have collected.

     

    B. TIME FOR COMPLETION OF LEVEL

    ===============================

    The time for level completion is shown at top-right of screen, and counts down

    to 0. You must complete the cave (collect all the diamonds and reach the exit

    door) before this timer runs out. For the last 10 seconds of time, a sound with

    increasing pitch will play. If you do not complete the cave in time, you will

    lose a life.

     

    The speed of the timer count-down is based on the level.

     

    --------------------------------------------------------------------------------

     

     

    =========

    GAME PLAY

    =========

     

    Snatch/Grab

    -----------

    Rockford can collect diamonds (or dig dirt) in adjacent squares through the

    use of button + joystick direction. When this combination is used, the square in

    the given direction (if it's a diamond or dirt) is 'grabbed' by Rockford.

     

    Pushing Boulders

    ----------------

    If a boulder is in your way, you can push it to the left or right by placing

    Rockford alongside it and moving towards the boulder. When the boulder moves,

    Rockford moves to the square where the boulder was. You can also push

    boulders without moving to their square; hold the joystick button down as

    you are pushing, and the boulder will be pushed without moving Rockford.

    You can only push boulders if there is a gap for them to move to.

     

    Bonus Life

    ----------

    Every 500 points you get a bonus life. The bonus life is shown by a pattern of

    coloured dots in the background (cosmic ark star effect, for those who want to

    know how it's done). The effect stops after a few seconds.

     

    Running out of time

    -------------------

    When less than 10 seconds remain on the time clock, an ascending tone is played

    every second. You better hurry!

     

    Collecting Diamonds

    -------------------

    The aim of the game is to collect the number of diamonds shown in the diamond

    counter. You collect diamonds by walking over them (if they are stationary), or

    by grabbing them using snatch/grab.

    When you have collected sufficient diamonds (the diamond counter reaches 0),

    then the background will briefly flash white and the exit door will open. The

    exit doorstarts flashing when you can go through it.

    --------------------------------------------------------------------------------

     

    =======================

    CREDITS & LEGAL NOTCES

    =======================

    Boulder Dash® is a registered trademark of First Star Software, Inc. The name

    and likeness of Rockford are trademarks of First Star Software, Inc.

    Copyright © 1984-2011 First Star Software, Inc. All rights reserved.

    Boulder Dash ® was created by Peter Liepa with Chris Gray.

    BoulderDash100.bin

    • Like 19
    • Thanks 1
  7. Actually, z26 can get into a game - back out and into the GUI way faster than Stella. Way. That's where the immediacy comes from. That's where the *feeling* comes from.

    Not on any system I've tried. Stella starts up immediately and loads a ROM very quickly. Pressing Escape brings you back to the ROM launcher, where selecting another ROM again is very quick. I can start and stop several ROMs per second. I don't know how much faster it needs to be than that.

     

    OK, I'm a stella fan so don't get me wrong. But for me, at least... the most up to date version of stella takes 2-3 seconds to exit. It's incredibly slow. It makes using it as a development emulator a bit frustrating. As such, it would be much nicer if stella was started on the command-line by passing it a ROM file, that the escape key would exit... NOT go to the rom launcher. Sytem: Linux Ubuntu 11.04

  8. Did this ever get finished? Was it abandoned? A problem with copyright?

     

    Just saw this. With the benefit of a bit of time behind me, and feeling like clearing the air...

     

    Firstly, the fun bit was done. It was a bit of a holy grail challenge, showing it could be done. The result is fantastic. With Thomas's help, all the original levels got to the stage where they were working and playable. The remaining things to do were mostly just spit and polish. Title screen. Good sound. Intermissions. a minor physics priority issue. But, you put spit and polish on something if you want to sell it. So, why didn't I? Because it's copyrighted property. The IP is not mine to sell. So, a deal needs to be done with the owners of the copyright. However, going down that path it turns out that my cut would, for various reasons, be roughly bugger all. And, having done at least 80% of the work to make it happen... I'd rather see an unrelased but emotionally pleasing game, than feel like all my hard work was being effectively given away for next to nothing. Why would I do that? Given I'd still have to put a whole lot of extra effort into doing that aforementioned spit and polish... I ask myself... isn't the easiest thing to do just abandon the project and not feel like I've been taken advantage of?

     

    I am not saying any proposed "deal" was unreasonable. The copyright owners were very reasonable in their approach and negotiations. They were pleasant to negotiate with, and respected my work. However, I AM saying that such a "deal" was so laughably unattractive in terms of the take-home for me... as to be not worth even considering. It's all rather complex, but let's say I would not be happy with any party getting a larger cut than myself... and actually nearly all interested parties would be getting a larger cut than myself.

     

    So it didn't happen. I still play with it a bit. Every now and then I pick it up and do a bit of programming. Lovely engine, beautiful abstraction from the hardware to (effectively) a character-mapped display system. Amazing that it does what it does, even to me.

     

    Cheers

    A

    • Like 2
  9. BUMP, price dropped! Also only 15-20 copies left. :)

     

    I received a copy of this in the mail a couple of weeks back. I would just like to comment on the quality of the manufacture, and thank the people who have gone to such great lengths to make this available to all. It may not be a fabulous game, but it's there. The job done on bringing it to a complete product was truly excellent. I was quite touched when mine arrived in the mail. I'd recommend this for any NES collector.

  10. I could change over to a 30 Hz Flicker instead of a 15 Hz one and just use two images instead of three. I would be limited to 4 colors per line, but still out of a really huge palette. If I do that then I get back 25 cycles which is more than enough to load the color.

     

    Eh? Not so! Each scanline has 76 cycles, full-stop. Currently the scanlines have a single colour load/store, followed by 6 sprite load/stores and finally a branch. These take 76 cycles. Removing a FRAME isn't going to make any difference/saving to the cost of each scanline. Go back to the source code, trace a single scanline. Count the cycles. Now, where are you going to get any cycles back from that scanline? Because you need a cycle or two to have a non-hardwired colour. OR, you need self-modifying code or clever bankswitching. Or some other code rewrite.

     

    CHeers

    A

  11. Andrew,

    Could I just add a .S7 SET SPBASE + 12 in order to find a place to store the color byte to load for the line?

     

    Well, those equates are just for convenience in reading the code. They're two-byte pointers to the location of the sprite data.

    So yes, you could add a .S7, and have the two-byte value pointing to the location of the colour data.

     

     

    Then replace the #GREEN with (.S7)?

     

     

    Well the REAL question is; how are you going to find the cycles to do the colour load?

    The (.S7),y load would take 5 cycles. This is adding 3 cycles to each line (as the immediate colour load currently used is 2 cycles long). The cycles-per-line is already at 76 cycles, so you're over-budget. The real problem is... how do you find additional time on each scanline to change to a variable colour?

    My initial thoughts are you either use clever bank-switching so you can change the (),y addressing to abs,y (saving 1 cycle each?) OR you use some sort of self-modifying code so that the colour values are pre-written to the code before execution.

    Either way, fun and games.

    Cheers

    A

  12. Stella is GPL'd. I wonder what the rules are porting it to iPhone, putting around it a wrapper which serves ads and allows bin downloads, and getting income from the ads served and claiming the rest was free. Seems to be unreasonably profiting from the (free) work of others, to me.

    • Like 1
  13. Here is your source image mario run through my converter using the basic palette. It is very close to your original. The difference I think would be that I am using Floyd Steinberg and you used Stucki.

     

    Yes, but to me that is all the difference in the world. It's close, but it looks noisy, with odd colours all throughout the image. I've seen exactly this sort of thing before when I was originally playing with dithering. I think the dithering method used causes effects which are quite noticeably bad. I do want to see your technique work better than Chronocolour... but I don't think it's quite there yet.

     

    One thing I do like is your use of different non-black background colours. I assume you're incorporating that into your distance algorithm. It's something I played with but only for fun, not something useful. By the way, Boulder Dash (2600) uses tri-colour line triplets (without rolling) to get multi-colour background graphics. That works pretty well, too. The neat thing about that system is that it doesn't stick with RGB; any three colours are suitable to produce other-colour combinations.

     

    Check out the youtube videos atari 2600 boulder dash if you're interested.

     

    Cheers

    A

  14. Taking on Andrew's challenge that the original chronocolor could create images that are way better than what Chrono2 could do

     

    Nice to see you rising to a challenge :) OK, take the mario.bin as we've both done that one.

    Attached is a chronocolour one from wayback.

     

    Now look at the colouration subtlety around (say) the chin. The ear. In the new one there is no chin. No neck. Maybe an ear...?

    Look at the colouration of the face, detail around the eye. Look at the shading around the shoes. In the original, they look 3D. In the new version they look very flat-shaded. I think the custom palette is a great idea/challenge. I just don't think you're doing the dithering right. I spent a lot of time finding a good method, and I think that's the crucial step that your system is falling down on. Maybe. That's the item I think you were missing, but you say you are dithering. If that's the case, something is going very wrong. In any case, I think of the two marios, the original is way better.

    Maybe that's just me :) Keep up the good work! It's great fun to play and try to get the best images possible.

    Cheers

    A

    mario2.bin

  15. I was playing with my program and here is another gallery of images...

     

    Enjoying watching your work on this topic. I especially like the concept of a separate palette for each line. BUT... I've had a look at the gallery and I think that there's an important part of the original system that you're overlooking. Basically, I THINK that I can produce an "original" chronocart which will look way better than any of these samples. Could you send me one or two of the images you used, so that I can compare like with like?

     

    I'll post my results on this thread.

     

     

    Thanks

    A

  16. So what's the story with BYO carts?

     

    Pretty much put any image you want on a cartridge as a 48 x 128 pixel Chronocolour image by following simple instructions to adjust the image to the right size and format, plonk it in a directory and type "make". Out comes a runnable binary. It's available on AtariAge somewhere or other.

    • Like 1
  17. At my workplace we had a visit from a local politician -- in fact the premier of our state. That's a bit like a governor, for you USA-people. Top honcho. Anwyay, as I have an interesting display of old stuff at my desk, and I'm an incredibly interesting person... he stopped and we had a bit of a chat. He was interested in my old ZX-81 on display (a vintage computer from the UK), and he mentioned that he had an Atari at his home. "A 2600?", I asked, and he said "Yep!". So, I got to thinking that a neato present (and a bit of boot licking; we need his support) would be to do a BYO picture cart for him, with his face on it. And that's what I've done. Al's burning the binary, so I'll send that to him soon. Just wondering if anyone else knows of "high profile" 2600 owners? Also, how many people even KNOW about the BYO picture cart thing I did back in 2003 or so?

    Cheers

    A

  18. This is very interesting, since we don't often hear about these sorts of things from the programmers themselves! Do you have any recollection of how the bug was introduced? Was it caused by some last-minute change? I assume the game had been playtested and successfully completed at some point (or is that too idealistic)?

     

    C64 games were tested for bugs/crashes but not often for complete walkthroughs. Nintendo required a video tape of complete gameplay so you wouldn't have seen this sort of bug on a NES. Probably a bit of temporary commenting-out was left in accidentally, or perhaps even it never worked in the first place and I just forgot to test it. The linkages of the map were screwy in an attempt to 'hide' the pieces... at the time I thought I was being clever by allowing you to go E, but then to return you had to go SW. Now it just sounds borked. Clearly I screwed up in the final version, so sue me!

  19. One I wrote, Asterix and the Magic Cauldron (C64) apparently had a missing cauldron piece and was, therefore, unfinishable. Somebody wrote to me about it a few years ago and asked permission to place the missing piece in a certain location -- they'd gone to the trouble of disassembling and understanding the code. Amazing. Anyway, so there are two versions -- the incompletable version and the fan-corrected completable one.

    Cheers

    A

     

     

     

     

    Inspired by the seriously bugged game 'Universal Hero' (A8) which can't be completed or clocked due to a bug in the game

     

    Just curious as to if there were any other games (atari or non atari) that can't be clocked or completed because of a bug in the game (programming or otherwise)

  20. You should have had it by now.

    In my experience it usually takes about 2 weeks to send to the USA.

    If the seller didnt send it registered then thats his loss not yours.

    I would wait another 2 weeks then i would ask for a refund from the seller and if he wont do that then put in a paypal claim.

     

     

    That's the most uninformed and unhelpful post I've seen for some time. What planet are you on?

    It is the buyer's responsibility to request and pay for registration and insurance, not the seller's!

    If he hasn't paid for quick and/or validated shipping... it's way way too early to be filing a claim.

    It would be reasonable after three or four MONTHS to do so.

×
×
  • Create New...