Jump to content

playsoft

+AtariAge Subscriber
  • Content Count

    578
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by playsoft


  1. This is kind of pointless but it was an exercise in learning 7800 programming and a chance to dig into how the Atari robot demo worked (basically loads of graphics data).

     

    Thanks to @TIX for the new graphics, @Fragmare for the NES TMNT POKEY music. @dmsc for the LZSS compressor/POKEY player and @rensoup for RMT2LZSS.

     

    You can take control of a robot by moving the joystick left or right, port #1 for the Atari robot, port #2 for his lady friend. Pressing the trigger will change their respective colour, pressing select will change the road colour.

     

    Edit: to get audio on Concerto I padded it out to a 144K supergame cartridge.

     

    werobots.a78

    we_sg.a78

    • Like 16

  2. I wouldn't change the BIOS just for AtariBlast! since it doesn't make any BIOS calls.

     

    It does need CPU Services enabled on the Atarimax so that the game is able to read the level data from the atariblast.dat file. CPU Services are enabled by default but it's worth checking they haven't disabled in the Atarimax options, accessed by pressing * on the menu (see Atari 5200 Multi-Cart Documentation - Chapter 5 - Non-Volatile Menu Settings).

     


  3. For the 8-bit home computers a Joy2Bplus standard was proposed for 3-button joysticks: https://atariage.com/forums/topic/278884-2-button-joystick/?do=findComment&comment=4206381. It's probably fair to say it didn't set the world alight but there has been a decent amount of interest. There are now over 40 games which support it, mostly hacks but a couple of homebrews too. It sounds like you are aiming for more functionality than this, but perhaps it gives an idea of what sort of interest you'd get.

     

    With Joy2Bplus button 1 connects to the normal trigger line, buttons 2 and 3 to the paddle lines. It's not compatible with existing 7800 games because the trigger line is used to put the 7800 controllers in 2 button mode. However I have been able to use my Joy2Bplus joystick on the 7800 in my own code by clearing CTLSWB so all lines are inputs and reading INPT4/1/0 respectively for the 3 buttons (logic is the same for all buttons, the bit is 0 when pushed).

    • Like 1

  4. Obviously it's a bit odd with it working elsewhere, but Cybernoid2NtscPokey450.a78 crashed after ~5 minutes in A7800 for me.

     

    I ran it up with the debugger and it hits a brk instruction here:

     

    193F: lda $1962
    1942: cmp #$d4
    1944: bne $18cb
    1946: lda $1961
    1949: cmp #$d8
    194B: beq $195f
    195F: rts


    0001: brk
     

    Before it does the rts at $195F the stack pointer is $1FF so it's empty, hence where it ends up.

     

    I used dmsc's lzss-sap code on the 5200/A8 last year and I can't match that bit of code exactly but it does look a little like the test for the end of the song. 

    • Like 1

  5. 1 hour ago, kiwilove said:

    I thought maybe the previous poster may have given the impression that you could transfer directly to the Atarimax cart.

    Which you can, you don't need the programmer. You mount the .ATR programming image in D: (using something like APE or AspeQt), put a blank Atarimax 8mbit flash cart in your A8 and power up. The programming .ATR will boot and then proceed to flash the Atarimax cart.

     

    It does take quite a long time to flash an 8mbit cart this way. I used to set it flashing, go and have dinner (do the washing up, watch a bit of telly) and come back to it later. So when we were developing AtariBlast! the programmer sped things up. Nowadays we'd have used AVGCART or Ultimate Cart.

    • Like 1

  6. On 10/20/2020 at 4:51 PM, bizarrostormy said:

    I believe so. The pinout doesn’t show any line to indicate valid data, and MARIA doesn’t know which addresses are RAM and which are ROM. I think it just assumes that DLs and the DLL will be available 2 cycles later, and graphics data by 3.

     

    Conversely DLs and the DLL are not really required to be in RAM, they just must return in 2 cycles. In 1983 that effectively meant RAM, nowadays maybe not.

     

    I haven’t tested any of this though.

     

    It’s unfortunate for 7ix, where most of the graphics are in RAM. But I think I’ll be okay on DMA time anyway.

     

    On 10/21/2020 at 3:57 PM, TailChao said:

    Maria's timing is fixed based upon the type of data being fetched, not where it's being fetched from.

    Yes that makes sense, thanks.


  7. 19 hours ago, BIGHMW said:

    Any chance of having the original A8 8-bit version as well, as I will be announcing in a few weeks I will be launching both the 7800 and 8-bit Editions of The Atari Report in January as well as a new way of presenting actual gameplay as well as my famous during-in-game commentary in order to jack up the subscription ratings and also so I'll have more games for more systems to review for all of you loyal fans!!!

    It was written specifically for ABBUC with the plan that it was made available to club members in issue 141, then made public on their website once issue 142 was published. I've just received issue 142, so when I find where it is on their website I will post a link. I think it would be nice if it was only downloadable from their website and not posted here or elsewhere, since they will get more footfall which might generate more interest in the club. 

    • Like 2

  8. No, I think it's the seven year itch for me. Since 2013 I have written 6 games from scratch and must have ported over 20 titles from the A8 to the 5200. I want to do something different now. I got my original 400 back in 1983 and although I "upgraded" to a ST in 1986 I still tinkered with the A8 until 1990 (that's the last record I have of doing anything). So that was 7 years back then and 7 years again now, a nice symmetry. There was a 23 year sabbatical between those so maybe I'll get interested again in 2043... 

    • Like 3

  9. 21 hours ago, eebuckeye said:

    That was in a magazine!?!! Impressive!

    It would have been too long for a type-in but it was on the issue disk which comes with the magazine (June this year).


  10. On 9/12/2020 at 9:57 PM, BIGHMW said:

    ....and yes, you WILL get your full credit on this one as I always do with everyone who comes up with gems like these!!!

    Thanks but really all credit should go to the original programmer who did all the hard work; porting it to the 5200 was pretty simple.

    • Like 2

  11. On 8/20/2020 at 9:27 AM, Bobo Cujo said:

    * I actually tried the earlier version of this on a real NTSC Atari 800XL via Ultimate Cart earlier today, and I didn't run into the bootup failure...

     

    When I originally did the disk to cart conversion I was using an Ultimate Cart too and I can't have seen the boot failures or I would have investigated. Alas my Ultimate Cart stopped working, so when I added Joy2B support I used a real Atarimax cart and the boot failures were a surprise! Another possible factor is that I have 2 NTSC machines, a 1200XL and a 130XE and I've no idea if I used the same machine on both occasions. When I next have a machine set up I will try the original version on an Atarimax cart and see how that behaves.

    • Like 1

  12. On 8/17/2020 at 7:24 AM, Bobo Cujo said:

    @kiwilove @playsoft And now, a big one: a beta release of Hawkquest Joy2B!

    (based on @playsoft's NTSC-compatible Atarimax Cartridge version; specifically "hq_blank.bin")

     

    Old controls (in the overhead shooter stages):

    Fire button: Shoot

    Fire button + UP or Fire Button + Down: Drop Bomb

     

    New controls:

    Button 1: Shoot

    Button 2: Bomb

     

    This should now make lining up bomb shots considerably easier (especially given the sheer amount of flak to dodge).

    Note that the game allows you to have up to two projectiles onscreen at once, where one of those is allowed to be a bomb.

     

    Tested on level 1 (played all the way through until I got to the base).

     

    As for why I'm declaring this a beta release rather than a full release:

    As far as I can tell, the new button code appears to be stable, but it did involve having to branch out to other parts of the rom since the new code took up more space.

    In particular:

    - This is a very big game (!) and I haven't had the opportunity to play all the levels yet (but two-button firing makes me far more inclined to do so :-))

    - The button 2 handler takes up $98D2-$98EB.  I don't know if I clobbered an important lookup table/bitmap/etc. in the process; I didn't know of a better place to put this code 😞

    - I had to add some extra code to the game's custom VBI handler so that it got the POT value and called STA POTGO; this takes up $F2E0 - $F2EC (there's JMPs to and from the existing handler).

    - This also meant changing the bootstrap loader code params to account for these extra bytes; hopefully this doesn't clobber other data someplace...  (A01A: LDA #$EB now becomes LDA #$FB)

    - I don't know if the on-foot sections need the Joy2B treatment as well.  Other than moving and shooting, I don't actually know the controls for it (I don't even know how to get out of the upper-left quadrant of Mycea's base... is there a bomb somewhere?)

    - I recall that this game is a bit on the tight side re: per-frame cycle count for NTSC compatibility - how much buffer is there?

     

    @kiwilove and @playsoft, please let me know if any of that code should be relocated to other places, or if there are any other unintentional bugs I added...

     

     

    Hawkquest - Joy2B - Beta 0.car 1 MB · 2 downloads

    @Bobo Cujo great work on this. Harvey asked me to do this previously and I put together a version for him to test (in July) but I don't know if he's got around to trying it. One thing I did find when I added Joy2B support was a (terrible!) existing bug that meant the game more often than not didn't boot on real hardware. The issue was I'd tried to read NMIEN in order to maintain it's status around critical sections.

     

    So I changed:

    .macro critical_enter
      php
      sei
      lda NMIEN
      pha
      lda #$00
      sta NMIEN
    .endmacro
    
    .macro critical_exit
      pla
      sta NMIEN
      plp
    .endmacro

    To:

    .macro critical_enter
      php
      sei
      lda #$00
      sta NMIEN
    .endmacro
    
    .macro critical_exit
      lda #$40
      sta NMIEN
      plp
    .endmacro

    If you want to hack the fix into your version maybe change lda NMIEN/pha to lda #$40/pha/nop. There should be 4 occurrences of this.

     

    To port the game to cart I used the RAM under the OS for the replacement OS and all the new code that was added. So that is where I put my 2 button handler. I'm not the original programmer so I don't know what's at $98D2-$98EB (I only hacked it, I haven't done a disassembly). In the replacement VBI I also check the POT value and do a POTGO, so your change there should be fine. I opened up a lot of loops to get it running in NTSC but I can't say how much leeway there is now (but adding a little to the VBI is fine).

     

    I don't think I've ever completed a fortress, so mine's also a beta.

     

    If it's of any use attached is my work directory. The resulting builds are in carts/bin and carts/car and there are 4 different versions:

     

    hq – for use with a normal joystick, nothing saved

    hq_f – for use with a normal joystick, a different fortress on each save position

    hq_joy2b+ – for use with a joy2b+ joystick, nothing saved

    hq_f_joy2b+ – for use with a joy2b+ joystick, a different fortress on each save position

     

    build.zip

    • Like 1

  13. I'm really please to see that people have enjoyed the game, thank you all.

     

    I'd been meaning to contribute to ABBUC as I've been a member for a long time, but never got around to doing anything. When I saw the post at the beginning of the year asking for submissions for the issue disk, I decided I must do something. I watched a lot of youtube videos of games from other systems and this was the one that grabbed my attention. I liked the humour, it looked well suited to the A8 and something I could (just about) get done in time (and I can't resist a biscuit).

     

    On 6/23/2020 at 7:14 PM, skr said:

    The game is not property of the ABBUC, @playsoft has every right to publish it in any form he wishes as it is his work. Thankfully, he gave the other members some benefit to being a member, by releasing it through the ABBUC first. If he doesn´t want to release it to the general public himself, we could release it to the public (there is a free download area on the website) when we publish the next magazine, making it an ABBUC exclusive for three months. We don´t want to hide stuff from non-members, but we love to have some exclusive stuff making a membership even more worthwhile.

     

    I wrote it specifically for ABBUC so I like that idea. I have a 5200 build too, which is identical apart from it not having the loading or credits screen. I don't know if you would want to put that on the free download area at the same time?

     

    On 6/23/2020 at 7:14 PM, skr said:

    And with Biscuits being a really great software, he will get a little reward from ABBUC.

     

    Thanks, but that's really unnecessary. Talking of rewards, when the Spectrum game was originally released the first three (I think) people to complete it got a reward - a packet of biscuits.

     

    • Like 6

  14. I only wanted to write a little endless runner game, not a full blown platform game. Maybe using Bentley was a mistake since it has drawn comparisons with the 7800 game.

     

    I have used all the space in a 32K ROM and can't add anything else. The game does have a change of scenery but the player in that video didn't get that far. In this version I have made it happen more often, so it's more like day/night now. The death jingle has been changed to a Darryl original! The invincible jingle you will all probably hate, but it is from my favourite band and very apt for the scenario.

     

    I know bigger ROMs are available, I took that route with AtariBlast! but decided I would limit myself to 32K after that. I have grown to really hate designing screens anyway, so I would not add any more even if there was space.

     

    So on that terrible disappointment...

     

     

    runner5200.bin notes.txt

    • Like 5
    • Thanks 4
×
×
  • Create New...