Jump to content
IGNORED

1942 WIP


homerhomer

Recommended Posts

New binaries in my first post and in PlusStore.

Changes:

  • Boss explosion and victory tune (sfx by @Pat Brady)
  • Smoother playfield scrolling of landscape (4px)
  • Fix flicker of carrier superstructures at game/stage start
  • Return to title screen from text screens with joystick button
  • bug fix for lethal PowerUps

 

The landscape is now scrolling by 4 playfield pixel. The aircraft carrier at takeoff and landing is still scrolling with 8px. The boss plane is scrolling with 2px.

 

       362 bytes of ROM space left in bank 1
      2007 bytes of ROM space left in bank 2
      1453 bytes of ROM space left in bank 3
        16 bytes of ROM space left in bank 4
      3362 bytes of ROM space left in bank 5
       121 bytes of ROM space left in bank 6
       282 bytes of ROM space left in bank 7
       625 bytes of ROM space left in bank 8

 

 

To-Do's:

  • Boss intro needs to repeat 3 times
  • Include typewriter sound by @Pat Brady and animation to end and game over screen
  • fly off side fighter before boss fight.
  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...

new binaries in my first post and in PlusStore.

changes:

  • Bugfix for landscape grey after takeoff
  • Side fighter collision improved
  • Planes from bottom shoot before leaving the screen (starting in stage 24)

 

To test the side fighter collision I have attached two test ROMs where all PowerUps are the side fighter Pow.

1942 side fighter test NTSC.bin

1942 side fighter test PAL60.bin

(test ROMs do not send scores to the PlusROM HSC backend!)

 

  • Like 1
Link to comment
Share on other sites

I'm going to say something that might be annoying coming from someone who can't program and therefore doesn't have a full appreciation of just what an achievement this game already is.  BUT I can't feel that there's a missed opportunity here.  It seems from the comments that the gameplay is solid. But with this being "1942", I feel that if this was given the Nathan Strum graphical treatment, this could be a top selling release on AtariAge up there with the likes of Champeau's games.  It would become an absolute MUST MUST own game.  There, I've said it.  Please please don't be too harsh if I really don't know what the hell I'm talking about.

  • Like 1
Link to comment
Share on other sites

I don't think your being too harsh. I think the difference here is who's doing the programing and what tools are available. A lot of the quality AA titles that even I love are written in assembly and some are using DPC+ or CDFJ Bank switching. Batari Basic is an amazing tool for folks to create games and stuff for the 2600. In the right hands there have been some excellent games made using this tool, Mr. Yo-Yo comes to mind. With those other programing methods and those who are skilled at it create amazing stuff that truly pushes the hardware to the limits.

I think what@Al_Nafuur has done an amazing job developing 1942 and has gone beyond what I thought the project would become. It may not be the same 1942 I've played in the past due to system limitations, but I feel it does an incredible job at re-creating the game with the hardware/tools available to him.

Sent from my SM-G996U using Tapatalk

  • Like 3
Link to comment
Share on other sites

2 hours ago, insertclevernamehere said:

I'm going to say something that might be annoying coming from someone who can't program and therefore doesn't have a full appreciation of just what an achievement this game already is.  BUT I can't feel that there's a missed opportunity here.  It seems from the comments that the gameplay is solid. But with this being "1942", I feel that if this was given the Nathan Strum graphical treatment, this could be a top selling release on AtariAge up there with the likes of Champeau's games.  It would become an absolute MUST MUST own game.  There, I've said it.  Please please don't be too harsh if I really don't know what the hell I'm talking about.

No, this is not annoying but a legitimate question that I have asked myself.

 

Currently the game is based on a Batari Basic kernel which is executable on any hardware. For more graphical effects we would need an other kernel or a different technology. One possibility would be to use the DPC+ bB kernel, but DPC+ is limited to run on non-open proprietary hardware, which would limit the user base, which I don't really want (besides the PlusROM functions not running on this hardware).
Another possibility would be to write a custom bB kernel for the game, but that would be a very big effort.

 

 

Link to comment
Share on other sites

49 minutes ago, Al_Nafuur said:

One possibility would be to use the DPC+ bB kernel, but DPC+ is limited to run on non-open proprietary hardware

But wait... You made the PlusCart... you added enough of DPC+ support to the cart to run ChaoticGrill... what's stopping you from finishing the job?  Or even working around what you don't support of that yet?

 

...

And I see @Gemintronic added a list of things that the games has... all without extra hardware support.

 

The only thing I see as "missing" is multi-colored sprites... but that may or may not be possible within the given constraints.  Let me go check.

  • Like 1
Link to comment
Share on other sites

10 minutes ago, splendidnut said:

But wait... You made the PlusCart... you added enough of DPC+ support to the cart to run ChaoticGrill... what's stopping you from finishing the job?  Or even working around what you don't support of that yet?

ChaoticGrill is not using the ARM part of DPC+, but the bB DPC+ kernel is using it.

Link to comment
Share on other sites

19 minutes ago, Al_Nafuur said:

ChaoticGrill is not using the ARM part of DPC+, but the bB DPC+ kernel is using it.

I believe there is source code available for the custom ARM code that Bb uses:   bB.1.1d.reveng37\includes\custom

 

Ugh... Not commented at all... but it's there.

 

----

Addendum:

 

Looks like there are only two calls to ARM code in the DPC+ Bb Kernel... one is for the RAM copy function (#255)... the other looks like it handles playfield... maybe playfield scrolling?

 

Hard to tell... again there are minimal comments.  What is the point of releasing source code without comments?

Link to comment
Share on other sites

32 minutes ago, splendidnut said:

I believe there is source code available for the custom ARM code that Bb uses:   bB.1.1d.reveng37\includes\custom

to fully implement DPC+ we would need the code of the driver not the custom code of an DPC+ project..

 

 

  • Like 1
Link to comment
Share on other sites

11 minutes ago, orange808 said:

If open source is a necessity, this one is another option:

 

I understand the PlusCart doesn't support it, though.  ¯\_(ツ)_/¯

I removed ACE from the PlusCart firmware, because it wasn't really used back then.

 

But ACE support has been rolled out earlier this year:

https://gitlab.com/firmaplus/atari-2600-pluscart/-/blob/master/source/STM32firmware/PlusCart/Src/cartridge_emulation_ACE.c

 

Link to comment
Share on other sites

13 minutes ago, Al_Nafuur said:

I removed ACE from the PlusCart firmware, because it wasn't really used back then.

 

But ACE support has been rolled out earlier this year:

https://gitlab.com/firmaplus/atari-2600-pluscart/-/blob/master/source/STM32firmware/PlusCart/Src/cartridge_emulation_ACE.c

 

Thanks.

 

I don't have a PlusCart to test, but I heard back that Strong ARM ACE had some issues during a test. I don't know if the cart in question is on the latest firmware or not. I'll message you if it doesn't get resolved. (And I'll stop hijacking your game thread.)  ?

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Al_Nafuur said:

to fully implement DPC+ we would need the code of the driver not the custom code of an DPC+ project..

 

 

I think you're missing my point.  I'm more focused on just throwing ideas out there to improve THIS project.  So the focus should be on how to get around the limitations of not having the full implementation of DPC+:  hack and/or recompile what's provided with bBasic.

 

I think the only real limitation with using bBasic is the lack of new kernel developments.  I believe you may have actually done some work in that area with this project... if I'm remember correctly?  But I also kinda remember you talking about hitting the limitations in that regard.  So, ultimately, I'm not sure.

 

Anyways, take what you will out of this... I'm just trying to push for the best!

  • Like 2
Link to comment
Share on other sites

4 minutes ago, splendidnut said:

FYI, I grabbed your code today to take a look, loaded it up in VSCode/AtariDevStudio and it doesn't compile:

 

c:\Games\Atari2600\1942-bB-main\src\1942 HSC.bas.asm (17307): error: Unknown Mnemonic 'SET_PLUSROM_API'.

Yes. You need PlusROM functions for bB:

http://pluscart.firmaplus.de/pico/?PlusROM#batariBasic

 

 

 

 

  • Like 1
Link to comment
Share on other sites

21 hours ago, Al_Nafuur said:

No, this is not annoying but a legitimate question that I have asked myself.

 

Currently the game is based on a Batari Basic kernel which is executable on any hardware. For more graphical effects we would need an other kernel or a different technology. One possibility would be to use the DPC+ bB kernel, but DPC+ is limited to run on non-open proprietary hardware, which would limit the user base, which I don't really want (besides the PlusROM functions not running on this hardware).
Another possibility would be to write a custom bB kernel for the game, but that would be a very big effort.

 

 

Thanks for the explanation.  Now, if only I could understand what it all meant ?.

Link to comment
Share on other sites

3 hours ago, splendidnut said:

FYI, I grabbed your code today to take a look, loaded it up in VSCode/AtariDevStudio and it doesn't compile:

 

c:\Games\Atari2600\1942-bB-main\src\1942 HSC.bas.asm (17307): error: Unknown Mnemonic 'SET_PLUSROM_API'.

I just pushed my local changes from the last WIP release. So you might want to pull them (even if they are not big changes).

 

2 hours ago, splendidnut said:

 Thanks!

You are welcome.
Suggestions for improvement are always welcome.

  • Like 1
Link to comment
Share on other sites

I've started work on this and published a "gutted" and commented a version of the multi-sprite kernel that includes cycle counts in a fork on Github.  It is basically all prep work for me to beginning really digging into the kernel.  I think there's potential here to make some improvements.  Since you've already inserted color changing code for P0, there's potential for that to be reworked to support multi-coloring the P0 (the player's plane).

 

Probably the biggest obstacle in this kernel is the "playfield caching" that's done specifically to assist the repositioning kernel to handle it's job without interrupting playfield updates.  If that can be handled differently, that would definitely open up some possibilities.

 

I have a couple of ideas bouncing around in my head... but I'm not sure how feasible they are yet.  We shall see.

  • Like 1
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...