1

Hi,

as promised, here is a video of Hypernoid - my latest game project. I know the "ball & paddle" game concept is an very old hat and
there are a lot of these game in existence already but I wanted to make something small to learn from it.

It started as little side-project in October 2014 when I was working on my submarine shooter (topics/163491-submarine-shooter-project-neo-geo-mvs-development).
I had problems to organize my sprites, functions and variables and this smaller, more manageable project was perfect to improve my
organizing skills. Also it was very useful to get more experience with C-Programming and HPMAN's DATlib & Animator.exe.

The game has 9 stages right now (in the video the first five stages are shown), it offers 6 types of collectable power-ups and 7 block types.
The ball moves in 62 different angles in 20 speed steps. Also, the game has music and sound-effects. Currently, I am working on the
end-boss of the 10th stage. My plan is to develop at least 30 stages and three end-bosses.

There are two important functions missing in the game because the Neobitz C devkit doesn't support them.

The first ist the "Insert Coin" routine - does anybody know how to check for a coin throw-in ?
Second, I would like to save the highscores to the MVS Backup-RAM or to the Memory Card. Is there somebody who please could help me with it?

Best regards,
Michael

2

Looking pretty good! I like the music.
NeoHomeBrew (./1) :
There are two important functions missing in the game because the Neobitz C devkit doesn't support them.
The first ist the "Insert Coin" routine - does anybody know how to check for a coin throw-in ?

For MVS, you'll need to check the hardware credit locations every so often. I do this as a part of my credits display routine.

In home mode, keep a pair of bytes for storing the software side credits (since there's no backup RAM on home/AES).
NeoHomeBrew (./1) :
Second, I would like to save the highscores to the MVS Backup-RAM or to the Memory Card. Is there somebody who please could help me with it?

For MVS Backup RAM, the data is stored based on some values in the program's header.
For the NeoBitz kit, this should be named common_crt0_cart.s. The location of data saved to MVS backup RAM is specified at $107 in the header ("DEBUG_DIPS" in the common_crt0_cart.s I have). However, the size right after it is set to 0. You should probably increase this.

From there, it's a matter of writing to your chunk of RAM that you've carved out for saving. Be careful of the first two bytes being the debug dipswitches. (I forget exactly when the data is backed up to RAM, however...)

Saving on the Memory Card takes a bit more work, and I haven't fully tried it. The CARD article on the wiki has a basic overview of the functions. You'll need to enable card writes before sending a command and disable them after you're done (see Memory mapped registers for the regs).
avatar

3

Hi freem,
thank you for watching my video and your advices.

I am focusing on the credit / coin routine now and found out the following:

This outputs the credit counter of Player 1
fixPrintf(5, 5, 0, 0,"Credit P1: %06d", volMEMWORD(0xD00034));

This should output the credit counter of Player 2 but it causes a system crash and restart in my code ???
fixPrintf(5, 6, 0, 0,"Credit P2: %06d", volMEMWORD(0xD00035));

The throw-in of one coin increases the credit counter by 256 (decimal) / 0x100 (hex).
The maximum is 39168 (decimal) / 0x9900 (hex) which equals to 99 coins.

After 1800 frames (=30 seconds) the credit counter gets deleted by the System BIOS (?) and contains only 0x0000.
Is this a normal behavior that the credit counter stores the values only temporary?

Do you use the following system commands for your routine?

BIOS_CREDIT_DEC1 ( $10FDB0) (https://wiki.neogeodev.org/index.php?title=BIOS_RAM_locations#BIOS_CREDIT_DEC1)
CREDIT CHECK ($C00450) (https://wiki.neogeodev.org/index.php?title=CREDIT_CHECK)
CREDIT DOWN ($C00456) (https://wiki.neogeodev.org/index.php?title=CREDIT_DOWN)

..

4

volMEMWORD(0xD00035)
I don't know much about the Neo-Geo, but if this is a function to read a word at address 0xD00035, this will cause an Address Error exception since the address is odd.
You probably need something like volMEMBYTE.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5

It's just a C macro to read an address, but yeah, odd addresses are byte only.

As for the coinage, you don't check for coin chutes, bios does and calls the appropriate subs when needed (PLAYER_START etc...) which then handles requests. The whole thing isn't very intuitive but you can check AOF code to see how it handles it, razoola also posted a barebone sample of the whole thing on the wiki.

MVS backup ram is automated. Saved when game returns to bios, and loaded when bios starts game. Tha datlib sample has it, bkp_ram_info struct in main .c file. make sure struct size matches the size declared in header file.
Whatever you put in this struct will be saved.


PS: spinner support? tongue

6

@ Zerosquare - Thanks, I didn't knew before that reading WORDs from odd adresses is not possible.
@ HPMAN - Thank you for your advices, I think I need to dive deeper into that USER_subroutine stuff.
And yes, indeed I was thinking about a spinner to control the paddle but that is unfortunately far beyond my hardware skills wink

I have found Razoola's article on the Wiki (https://wiki.neogeodev.org/index.php?title=USER_subroutine)
and his video on YouTube:

7

Awesome video and the music is really great.

Good job.

8

Very good , your game is nice and the music

The item like the eye , make me think Devil crush on pc engine.
Devil s crush , the graphism and the sound it's awesome game !

avatar

9

Looks and sounds good smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

10

Yes
I wait the game too,
you will realise an CD version too ?
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

11

Thanks for your comments guys - I am glad that you like what I have done so far smile
I plan to release a playable demo version for Neo Geo MVS with the first 10 stages when I have included:

- first end boss
- insert coin routine
- saving high scores routine
- reading data from the software dips (difficulty, lives, etc ...)

@ kuk - Yes, there will be a CD version but it will only have one or two music tracks because auf the 1 MB limitation for ADPCM sounds.

12

Great work, real professionnal game.

13

Maybe you could convert the music to CD audio tracks? smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

14

Really Good job NeoHomeBrew !! top
RetroIsTheOnlyFuture!

15

Hello NeoHomebrew

I see this interview from jeff :

http://www.culturaneogeo.com/entrevistajeffkurtzeng.htm

We see 2 tools for the development : Neo Art Box on the left and Neo Sound Builder interface on the right

You use Neo Art Box for your game Hypernoid ou DatLib ?
avatar

16

Hi pckid,
I have Jeff's Neo Art Box tool but I use HPMAN's DATlib for the graphics because of the awesome Animator.exe tool and the detailed documention .

17

Slight sprite erasing on stage 4 clear screen (right of score). Preorder cancelled! grin

18

Hi HPMAN,
thank you for watching the video thoroughly and your notice smile
I think this is caused by to much off-screen sprites on a single scanline, I need to investigate it.

By the way, I have just finished drawing and animating of the first boss, here is a little teaser:

alien-boss.gif

19

Cool, really nice Boss.

20

very nice! top

21

Top smile
avatar
@originalfei
Homebrews Connexion
In pixels we trust.
ORE WO DARE DA TO OMOTTE YAGARU !

22

It's aaalive...! It's aaaliveee!!!

2thebrideoffrankenstein.jpg

Finally, the first boss is ready to drill some ships but I have to say, he is a real assh**e and quite hard to defeat.
The "User_Subroutine" is now integrated into Hypernoid and like in a regular MVS game, it switches beween Demo mode,Title mode and
Game mode if coins are thrown in and if START has been pressed. It also loads "soft dips" and saves high scores to the backup RAM.

23

Peace Unity Love et Having Fun!!!

24

Very good work.

I love the alien / biomechanic style. And drum & bass music boing fits well to the game.


top

Ciao++
La Neo c' est beau sous tous ses supports (EXIT PS3 CACA AND CI)

25

very nice mashup, looks and sounds very good... seems to be very hard.

26

Yeah good work, i will very happy to test it on the neo geo
the boss est more hard, you should give him less life or give automatically some boost (like glue for exemple)
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

27

Thanks for the feedback, I am glad you like it so far.
There a some more details to add (two more items, racket speed behavior, guard line on/off animation) before I am going to release a demo for those who are may interested.
Also, I want to add a memory card save function (if possible) to save high scores and the last stage which has been successfully completed.

28

Excellent job NeoHomeBrew !
RetroIsTheOnlyFuture!

29

Great game, very professional! oui I love the eyes on the blocks and the style of the game. I wondered if you had thought of maybe adding small enemies on some of the levels to add more variation? Like in Arkanoid but in your own style and way of course.

30

Just want to post the latest progress of my Hypernoid project:

- demonstration mode cycles between game title, highscore list and demo gameplay
- more animations & effects added
- two new items to power-up the ball and a new extra life item added
- improved controls and paddle behavior
- all soft dips are working and can be adjusted in the MVS BIOs (difficulty, continue amount, continue time, ball start time and demo sound on/off)
- game runs now also in MVS free play mode and AES mode
- improved Alien Boss (can now be destroyed in three steps, boss life is indicated by the smoke around him, he zooms into the stage throughout a new iris door)