Jump to content
IGNORED

Wonderboy WIP - Favorite Port of All time


Yaron Nir

Recommended Posts

I managed to reproduce the 'salto mortale' on many occasions, when I tried jumping while passing through a rock with button pressed !

In several of these occasions I didn't loose a life ! I just bounce on the ceiling unharmed.

 

Link to comment
Share on other sites

As promised ... all my Kung Fu Master work, to date ... have not yet done the level finish music.

 

For the intro:

 

AUDCTL=$50 (16-bit on 0 and 1, clocked at 1.79 mhz)

 

0 - silent

1 - $Ax bass

2 - $Ax square

 

For the in game music

 

AUDCTL=$41 (15 khz mode, 1.79 mhz on channel 0)

 

0 - $0x pink noise (percussion)

1 - $Ax square bass

 

 

For Game Over:

 

AUDCTL=$00 (default settings, 64 khz clock)

 

0 and 1 - $Ax standard square waves

 

Note that the in game music leaves 2 channels free for sfx, one can be used for samples like in Space Harrier

 

 

kfm.asm kfm.s kfm.xex kfm-gameover.asm kfm-gameover.s kfm-gameover.xex kfm-main.asm kfm-main.s kfm-main.xex

  • Like 11
  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
On 7/25/2020 at 8:41 PM, Yaron Nir said:

then you finish the level, nothing should happen. you see a black screen and hear weird sound - as it should for the moment. i wrote in previous post (few pages back) that i still need to work on @José Pereirascreens including "get ready" , "finish level" , "game over" - still a lot work to do :)

 

Yeah!... @popmilo been busy with his ABBUC entry and @Yaron Nir with his life so may now things will and can continue.

On my part I finished the font for these screens but maybe still a long way untill they're incorporated as @popmilo will first add the vertical scrolling so that levels with it will be like Arcade (and present Ice level(s) has it so you'll see it soon...) more placing all items and soft sprite enemys animations with their movements.

But if this are in the end the choosen font and the looking we decide here's all these screens:

 532683651_Betweenlevels_gamestart_Allin2x1_Allkeyboard.png.ca0c5281df6d62ddda4b9982d4ca312b.png 2146693308_Betweenlevels_Allin2x1_Allkeyboard.png.ec69136143d8b9257f48f992688bc771.png 936996520_Betweenlevels_areaboss_Allin2x1_Allkeyboard.png.308a74f0344ea59bfd66a4a80ca8e5d2.png

 

438342770_BonusandDollscreen_MISSILESonBonusnumbers_withArcadeflower_Newdoll_Allin2x1_Allkeyboard.png.519add4115a2e592bb63548c269f2610.png 1146929679_BonusandDollscreen_MISSILESonDollnumbersandhowmuchcollected_withArcadeflower_Newdoll_Allin2x1_Allkeyboard.png.aab2643bda51860c88abe47f7486d888.png

 

1086016277_GameOver_Allin2x1_Allkeyboard.png.1b27107afe6f96ed7d73498dcb091d29.png 2071926549_GameCompleted_Allin2x1_Allkeyboard.png.0b11805db7895ddf3dbbff0c6d3bc5c4.png

 

462812554_Hi-Scores_Allin2x1_enteryourname_Allkeyboard.png.52b754d9fa76e42ca471007e284a1efa.png 1635283852_Hi-Scores_Allin2x1_allnamesin_Allkeyboard.png.386be8cbae26384f229e4aef7bed8812.png

 

:thumbsup:

Edited by José Pereira
  • Like 15
Link to comment
Share on other sites

  • 3 months later...

Hey all,

 

The WB will see to its end and will be completed no matter how long it is going to take.

With a brave decision and a big step, we have decided to rewrite the entire game from scratch , this time in a MADs assembly. we dropped the CC65 for now, and we keep it for reference only.

We've imporved the engine significantly, and it will support all levels almost with no effort including the ones that are diagonally scrolled.  We're at the point where the game flow is completed. We are now working on the forest level. Also, this time the game will be released on a Atari Max-flash 1mb cart rather than the MegaCart as the CC65 project was set to. 

 

Once I will have something to publish I will. don't worry. 

 

Stayed tuned and thanks for the patience and the vote of confidence. 

 

Cheers,

Yaron

 

  • Like 23
  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...

Message from Jose who isn't currently close to pc where he could send messages himself:

 

@Mario130XE: Wow! that looks really great.


Is it G2F or Rasta Converter?
Just want to ask is is possible that for skins you 'invert' so that
girl has browns while boy has red/pink?
This is because of Arcade that we follow on A8 for the sprites.
The flower I don't mind, though don't know what others of our Team
Hoaxers think, but just asking is if it's possible it'll be using
similar violet/pink colours?

@Yaron Nir: What about this? If he could invert boy & girl colours?
The flower, if these colours are ok for you then they can also be
replaced on the Bonus screen.
If we use it then I can add Mario onto the Credits screens.
We'll talk there later and what others think..."
 

.......

"That's the picture from the Master System version. I knew it from somewhere.
Strange or maybe not that boy's skin while in game is pink like on
original and all versions (all less the Spectrum ;) :grin: ). Seems to
be because of axe and flowers contours be brown? You can still keep
it.
@Mario130XE:
Little notes if you can, using first the original (never used Photosop
or Gimp but, probably, is simple and automatic):
-> 'Paint' the girl skin with same light brown while boy with her pink;
-> Move up WONDERBOY logo and the keypress text that between flower
and text doesn't have a so large gap. I would propose a gap same high
as the one that's between logo and text.
This way it'll be more centered on screen;


 

  • Thanks 1
Link to comment
Share on other sites

12 hours ago, rensoup said:

Looks good but apparently the CPC can't do scrolling ? ?

 

It can, but not smoothly (even in this demo) ;) At least I haven't seen smooth scrolling in CPC platform game on full screen.
But their WIP version still looks very cool :) And CPC users have that amazing Pinball Dreams conversion ?

Edited by Jacques
  • Like 1
Link to comment
Share on other sites

4 minutes ago, ilmenit said:

Yaron, what was the main reason to move to pure ASM? Better control of code performance?

I know you are strong CC65 advocate. so was I :) 

it came to the point where we needed code controll and fast performance and that could not be done with CC65

it needed the asm("") inline so i figured if we write in inline ASM why not write in pure ASM.

MADS assembly is very optimized and it is very stong to perform graphics operations such as multi-diagonal scroll, interleave charset + software sprite movement, PMG and all without the need of double buffering.

 

i am very pleased (so far!) from the results we get. it will take us some time till the forest level will be ready to publish there is A LOT! to be done.  but good things are coming.... 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

23 minutes ago, Yaron Nir said:

I know you are strong CC65 advocate. so was I :) 

it came to the point where we needed code controll and fast performance and that could not be done with CC65

it needed the asm("") inline so i figured if we write in inline ASM why not write in pure ASM.

MADS assembly is very optimized and it is very stong to perform graphics operations such as multi-diagonal scroll, interleave charset + software sprite movement, PMG and all without the need of double buffering.

 

i am very pleased (so far!) from the results we get. it will take us some time till the forest level will be ready to publish there is A LOT! to be done.  but good things are coming.... 

Thanks for the info. I'm still CC65 advocate... for the projects where it makes sense to use? One new one I'm working on is also pure MADS.

  • Like 1
Link to comment
Share on other sites

8 minutes ago, ilmenit said:

Thanks for the info. I'm still CC65 advocate... for the projects where it makes sense to use? One new one I'm working on is also pure MADS.

I also forgot to mention size of executable. with MADs it is a lot smaller than in CC65 (even with optimizer on)

i am interested to learn about your new pure MADs project :) 

 

2 minutes ago, zbyti said:

@Yaron Nir Beware the guy with crystal ball!

come on chocolate GIF by HERSHEY’S Cookies ’n’ Creme

  • Haha 2
Link to comment
Share on other sites

22 hours ago, ilmenit said:

Yaron, what was the main reason to move to pure ASM? Better control of code performance?

I would just add - better memory control.

To be honest I was against even trying to do a game like wb in c on 8bit, but Yaron persuaded me that we should at least try :)

A year later I appreciate cc65 much more, it's really gotten better over the years. I would recommend it to anyone coding a smaller utility, turn based, rpg game or similar with smaller memory footprint (or something that can get away with loading stuff from disk etc).

 

Once we got to level size of 1024x50 chars, diagonal scrolling, interleaved charsets and soft sprites, need to know where every byte in memory was got most important. We were getting crashes from overwrites and couldn't figure out exactly how cc65 was allocating memory. In the end switch from cc65 to asm isn't so bad as one might think. In the end it's the same code just written differently :)

 

Hang in there, it'll come this year :)

Cheers!
Vladimir

 

  • Like 5
Link to comment
Share on other sites

55 minutes ago, popmilo said:

Once we got to level size of 1024x50 chars, diagonal scrolling, interleaved charsets and soft sprites, need to know where every byte in memory was got most important. We were getting crashes from overwrites and couldn't figure out exactly how cc65 was allocating memory.

Did you use your own linker file? If you define segments then it's very clear where specific data, uninitialized data, alligned data or code goes - at least I had no issues with it. In fact with new project in MADS I really miss such structure (MADS has ability to display some warnings/errors when your bytes go out of specific ORG section though).

I attach as example linker config file form Adam Is Me. It has dedicated sections for RMT, aligned locations for GFX, "banked" section for the code that is not used during memory banking operations etc. This is for "ATR version" that is using OS for file I/O, so the OS is active. What is interesting, recently Mono (probably this one @mono) created a wrapper for the OS calls that dynamically enables the OS for the call and then turns it off, so all the memory under the ROM is available. He wrote an article about it http://atariki.krap.pl/index.php/Programowanie:_Użycie_OS-a_przy_wyłączonym_ROM-ie and has a working version for CC65, but it wasn't published anywhere as open source yet.

atari-atr.cfg

Edited by ilmenit
  • Thanks 1
Link to comment
Share on other sites

13 minutes ago, ilmenit said:

Did you use your own linker file? If you define segments then it's very clear where specific data, uninitialized data, alligned data or code goes - at least I had no issues with it. In fact with new project in MADS I really miss such structure (MADS has ability to display some warnings/errors when your bytes go out of specific ORG section though).

Yes we used linker configs, segments, all that jazz... Working with cartridge woul dbe impossible without it.

We got to point where We needed all available bytes in middle of ram (bellow antic regs and cart bank window, and above compiled code). We got some glitches, compiler+linker wouldn't complain that segments were overlapping, but code crashed because of some overwrites (altirra helped with detecting that immensely). After a while we realized that even the way cc65 handles calling functions, variables, stack etc is not totally optimal.
It could be that if project was only 10% smaller it would fit without problem, guess we hit that redline.
I would say probability of arcade game with such complexity fitting in 8bit is greater with asm than in cc65. I can't be a judge and tell you exactly on how many screens, sprites, fps etc it happens but it's there :)

 

ps. If you know a good way to figure out where things are in cc65 compiled binary I would be glad to hear :)

 

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