Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Castlevania Homebrew

Reply to topic
Author Message
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Castlevania Homebrew
Post Posted: Fri Nov 16, 2018 10:10 am
I would like to make a Castlevania game on the Master System but im new at this thing and i need help.Would you like to help me if you want?
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2308
Reply with quote
Post Posted: Fri Nov 16, 2018 11:36 am
sure, we can help you. do you have any previous programming experience?
You can program a game for the Master System using either C or ASM - or both if you wish.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Sep 2018
  • Posts: 75
Reply with quote
Post Posted: Fri Nov 16, 2018 2:39 pm
I can provide graphics if needed.
  View user's profile Send private message
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Post Posted: Fri Nov 16, 2018 7:18 pm
IllusionOfMana wrote
I can provide graphics if needed.

Well...you can,altrough im going to use graphics from Castlevania 2 and Vampire Killer.
  View user's profile Send private message
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Post Posted: Fri Nov 16, 2018 7:24 pm
sverx wrote
sure, we can help you. do you have any previous programming experience?
You can program a game for the Master System using either C or ASM - or both if you wish.

I do have some programming experience,but how i said,im kinda new so i gotta learn more.And,we can use both,i guess.
  View user's profile Send private message
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
ConTEXT
Post Posted: Sat Nov 17, 2018 6:55 pm
I have googled some about sms programming and i found this think called ConTEXT.Would you recommend it?
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12510
  • Location: London
Reply with quote
Post Posted: Sat Nov 17, 2018 7:39 pm
It sounds like you don't know much about this stuff. That's a text editor and you most likely found it mentioned in my assembly tutorial. Do you have a preference for assembly or C? Or have you no experience with either?
  View user's profile Send private message Visit poster's website
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Post Posted: Sun Nov 18, 2018 6:22 am
Maxim wrote
It sounds like you don't know much about this stuff. That's a text editor and you most likely found it mentioned in my assembly tutorial. Do you have a preference for assembly or C? Or have you no experience with either?

I have never programmed in C.But i'll search about more and do something.
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 515
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sun Nov 18, 2018 9:08 am
I would recommend starting with something simpler, in order to learn the ropes, before doing a full scrolling platformer.

Maybe starting with something like a pong clone, or a single screen shoot-em-up; this would teach you to move sprites on the screen, read the joypad and perform collision checking.
  View user's profile Send private message Visit poster's website
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Post Posted: Sun Nov 18, 2018 10:43 am
haroldoop wrote
I would recommend starting with something simpler, in order to learn the ropes, before doing a full scrolling platformer.

Maybe starting with something like a pong clone, or a single screen shoot-em-up; this would teach you to move sprites on the screen, read the joypad and perform collision checking.

that is exactly what i tought to do first.
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 75
Reply with quote
Post Posted: Sun Nov 18, 2018 3:56 pm
If you want to dabble a bit in ASM, Maxim' s "How to Program" and Hang-on's "Program a Racing Game" are amazing tutorials. I used them to get started on my Zelda like homebrew for the SMS I'm currently creating that all in ASM code. The language is actually easy to read and learn which is reassuring for how intimidating ASM can seem. The C language for z80 + Sega also looks robust though I havnt tried it yet. (I'm more surprised there's even a C compiler for the specific platform)
  View user's profile Send private message
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Post Posted: Sun Nov 18, 2018 7:36 pm
IllusionOfMana wrote
If you want to dabble a bit in ASM, Maxim' s "How to Program" and Hang-on's "Program a Racing Game" are amazing tutorials. I used them to get started on my Zelda like homebrew for the SMS I'm currently creating that all in ASM code. The language is actually easy to read and learn which is reassuring for how intimidating ASM can seem. The C language for z80 + Sega also looks robust though I havnt tried it yet. (I'm more surprised there's even a C compiler for the specific platform)

Thanks.I will check it out too.I started Maxim's tutorial tho.
  View user's profile Send private message
  • Joined: 16 Nov 2018
  • Posts: 8
Reply with quote
Music Composer
Post Posted: Wed Nov 21, 2018 6:42 am
Tho i will need someone to make music for the homebrew
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2308
Reply with quote
Post Posted: Wed Nov 21, 2018 9:36 am
don't worry about music - if you do a nice work you'll find help surely
  View user's profile Send private message Visit poster's website
  • Joined: 23 Mar 2013
  • Posts: 562
  • Location: Copenhagen, Denmark
Reply with quote
Post Posted: Wed Nov 21, 2018 7:57 pm
IllusionOfMana wrote
If you want to dabble a bit in ASM, Maxim' s "How to Program" and Hang-on's "Program a Racing Game" are amazing tutorials.
Thanks man, I’m glad you found it helpful! :)
  View user's profile Send private message Visit poster's website
  • Joined: 18 Dec 2014
  • Posts: 90
  • Location: Canada
Reply with quote
Post Posted: Thu Nov 22, 2018 12:57 am
VEGANLIES2ME wrote
Tho i will need someone to make music for the homebrew


You can just use place holder music to begin with,look for vgms you enjoy.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2308
Reply with quote
Post Posted: Thu Nov 22, 2018 10:44 am
If you still have to decide regarding C or ASM, you may want to read what they're about, then probably read some tutorial about them before diving into Master System programming.
But in short: C is a programming language that you can use to code anything on any system - you can write programs for Windows, Linux, etc with no particular restrictions. Learning ASM instead is to learn the inner workings of a *specific processor*, in this case the Zilog Z80, which is an 8-bit processor used in several home computers and consoles of the times gone by (MSX, Spectrum, Commodore 128) - before computers and consoles switched to 16-bit processors (Amiga, MegaDrive for instance) - then to 32-bit processors and later to 64-bit processors, those Intel i3/i5/i7 you find now on modern PCs.
So if you're really interested into the specific hardware, go for ASM. If you want to learn programming in a somehow 'wider' sense, go for C.
(now it's time for others to disagree ;) )
  View user's profile Send private message Visit poster's website
  • Joined: 18 Dec 2014
  • Posts: 90
  • Location: Canada
Reply with quote
Post Posted: Thu Nov 22, 2018 6:24 pm
I learned asm first then struggled learning C :(
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2308
Reply with quote
Post Posted: Thu Nov 22, 2018 7:59 pm
@OmegaPrime they have a very different paradigm - after all the main divide in programming is from low level languages to high level ones...
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12510
  • Location: London
Reply with quote
Post Posted: Thu Nov 22, 2018 9:01 pm
Well, these days people think C++ is too low level to be useful... personally, I didn't understand pointers until I learned some asm.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Sep 2018
  • Posts: 75
Reply with quote
Post Posted: Thu Nov 22, 2018 11:30 pm
Maxim wrote
Well, these days people think C++ is too low level to be useful... personally, I didn't understand pointers until I learned some asm.


C++ is my main language. We use it at work for render engine development but often work with API's such as OpenGL. I originally started with JavaScript and hated it, when I started learning C++ I instantly fell in love. My knowledge of the language helped me quite a bit on learning z80 ASM. I could plan out how is do something in C++ and break that down to how id do it in ASM. I'll also agree ASM helped me understand pointers far better. not z80 ASM, but x86 ASM.
  View user's profile Send private message
  • Joined: 08 Apr 2011
  • Posts: 14
Reply with quote
Post Posted: Fri Nov 23, 2018 12:51 am
I would assume that Vampire Killer, being an MSX 2 title, would be the best to "port," given it's running a Z80 like the SMS.
  View user's profile Send private message
  • Joined: 04 Jul 2010
  • Posts: 224
  • Location: Angers, France
Reply with quote
Post Posted: Fri Nov 23, 2018 8:29 am
Maxim wrote
Well, these days people think C++ is too low level to be useful... personally, I didn't understand pointers until I learned some asm.


Same for me !
Pointers are so much easier to write/handle/understand in ASM...
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2308
Reply with quote
Post Posted: Fri Nov 23, 2018 9:29 am
we totally derailed this topic ;)

I was lucky enough to be taught C and ASM (Intel 8086) at the same time at high school, and I had a background on Pascal and BASIC - so pointers never were a big problem for me.

As for C (or C++) being 'low level' now - it's all about the definition, there's even a note on wikipedia about that (here) - as for me, I'll stick with the old definition, where HLL means 'abstraction from underlying hardware'.
  View user's profile Send private message Visit poster's website
  • Joined: 14 Jul 2008
  • Posts: 141
Reply with quote
Post Posted: Sat Nov 24, 2018 9:40 pm
Greg2600 wrote
I would assume that Vampire Killer, being an MSX 2 title, would be the best to "port," given it's running a Z80 like the SMS.


How feasible would be that?
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 75
Reply with quote
Post Posted: Sat Nov 24, 2018 10:44 pm
Quote
How feasible would be that?


Given it has the same CPU I image what you would need to do is set up for any bank swapping and rewrite the video and sound drivers. If it uses more than 8kb of ram then that may be problematic though you could try and alleviate that with SRAM. I doubt it would use more than 4kb though.
Lastly you would have to edit any sprites that exceed the sms sprite buffer limit and most likely all audio. I'm not very familiar with the msx 2 and am unsure if it has the same audio system as the sms, maybe someone with a little more knowledge can add. It would be quite a bit of work but probably less work than starting from scratch.
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 415
Reply with quote
Post Posted: Sun Nov 25, 2018 7:12 am
IllusionOfMana wrote
It would be quite a bit of work but probably less work than starting from scratch.

Only in theory, and only if you already have a full disassembly to work with. Making one and finding out which part does what would be quite a huge task. You would also need to be very familiar with the inner workings of the MSX hardware as there would be a lot of hardwired interactions between e.g. gameplay and display routines.

I think starting from scratch with the target hardware in mind would actually be easier.
  View user's profile Send private message
  • Joined: 14 Oct 2008
  • Posts: 277
Reply with quote
Post Posted: Sun Nov 25, 2018 7:36 pm
The one advantage at least of MSX is that, since the software had to be compatible with a variety of machines, the hardware IO had to be abstracted a bit, such that it would have to be calling BIOS routines with standardized functionality.
It would still take time but I assume would be easier to disassemble than a game where the IO handling would need to be disassembled as well.
  View user's profile Send private message
  • Joined: 01 Aug 2012
  • Posts: 282
  • Location: Porto, Portugal
Reply with quote
Post Posted: Wed Nov 28, 2018 9:14 pm
Wesker wrote
Greg2600 wrote
I would assume that Vampire Killer, being an MSX 2 title, would be the best to "port," given it's running a Z80 like the SMS.


How feasible would be that?


consider that "mode 4" from sms and "screen 5" from msx2 are structured in a very different way, specially sprites - so, in order to convert a game from msx2 to sms, the whole game need to be disassembled, assets (tiles and sprites) getting converted, music an sound effects from ay-3-8910 and k051649 to sn76489 and ym2413, etc.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Aug 2012
  • Posts: 282
  • Location: Porto, Portugal
Reply with quote
Post Posted: Wed Nov 28, 2018 9:20 pm
a good exercise, besides trying to develop the whole game, is about moving, it’s great for research and experimentation - http://webmsx.org/?ROM=http://nitrofurano.altervista.org/retrocoding/msx/roms/le... - http://webmsx.org/?ROM=http://nitrofurano.altervista.org/retrocoding/msx/roms/to...
  View user's profile Send private message Visit poster's website
  • Joined: 14 Oct 2008
  • Posts: 277
Reply with quote
Post Posted: Thu Nov 29, 2018 12:29 am
nitrofurano wrote

consider that "mode 4" from sms and "screen 5" from msx2 are structured in a very different way, specially sprites - so, in order to convert a game from msx2 to sms, the whole game need to be disassembled, assets (tiles and sprites) getting converted, music an sound effects from ay-3-8910 and k051649 to sn76489 and ym2413, etc.

Is Screen 5 on MSX2 the bitmap mode?
I've been doing a fan translation on a MSX2 game using bitmap mode, yes that is quite different.
Even to change graphics, I had to write programs to convert the dumped tilesets to/from Genesis mode to use in a console games tile editor. (I think Genesis was the closest match. 4 bits per pixel linear, but instead of stored as 8x8 tiles, stored as 256 pixel, or 128 byte, lines. And since that means MSX2 tiles didn't need to necessarily be a multiple of 8 pixels tall, I had to add/remove padding as necessary in the conversions.
  View user's profile Send private message
  • Joined: 24 Sep 2018
  • Posts: 44
Reply with quote
Post Posted: Wed Dec 05, 2018 2:45 pm
KingMike wrote
Is Screen 5 on MSX2 the bitmap mode?


One of the many bitmap modes; plus the MSX 2 has that slightly odd method of drawing multicolour sprites which means using more than one of them with the mix flag set. As you'll be aware.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Aug 2012
  • Posts: 282
  • Location: Porto, Portugal
Reply with quote
Post Posted: Thu Dec 13, 2018 8:14 pm
screens 5 to 8 (9938, msx2) and 10 to 12 (9958, msx2+ and turbo-r) are bitmap modes - but you can use vdp commands like hmmc, lmmc, etc., that would help you dealing with the bitmap modes almost just like you would on text modes - you can verify such differences when comparing, for example, the msx1 and msx2 game versions of games like King’s Valley 2.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!