Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

The Master System & GameGear are virtually the same hardware!
User avatar
akuyou
Posts: 489
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by akuyou » Wed Apr 24, 2019 12:39 pm



www.chibiakumas.com/z80/platform4.php#LessonP31

SMS /GG sprites are much easier, so we'll take a look at them
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

John
Posts: 40
Joined: Tue Mar 24, 2020 1:18 am

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by John » Sun Jun 13, 2021 11:06 am

You are mentioning MSX1 sprites and SMS (sega master system) sprites in same video. From a hardware perspective the SMS VDP has a backward compatible mode with the MSX VDP and the sound chips are similar.
I know how to program MSX1 . I want to start programming SMS, by converting my 8K RAM MSX1 game to SMS, so I think the easiest way to get going is to use SMS VDP in MSX1 graphics mode, change the sound ports of MSX1 to SMS, and write substitutes for MSX BIOS routines for SMS. It seems you only need to know a few things , that can be probably be summarised in 100 words, to be able to program the SMS if you already know how to program the MSX1. Does your book cover converting MSX1 games to SMS in the way described above?

User avatar
akuyou
Posts: 489
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by akuyou » Mon Jun 14, 2021 4:07 am

Yes, I believe it's possible to port MSX1 games to the SMS in the way you describe, though it's not something I've ever done, or personally have any interest in as my preference is to avoid using firmware where possible and write my own code to access the hardware.

The SMS has backwards compatibility with the VDP (the GG VDP does not), the SMS sound chip is different, but you can write an AY simulator, Joystick is different, but if you're only accessing it via firmware calls it can be 'bridged'

My book only covers the languages themselves, and basic examples on the CPC,C64,Genesis,GBA and DOS - the SMS/MSX are not covered at all... its possible in the future I will do a book which will focus on the Z80, which would cover more platforms, but even that would not go into something as specialist as emulation/simulation of another system, A topic like that is too specialist for general audiences, and would require a lot of research, which isn't a topic I plan to cover in my tutorials.

If you think this can be covered in 100 words, then please feel free to post them, as I'm sure others will be interested to read your advice.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

User avatar
akuyou
Posts: 489
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by akuyou » Mon Jun 14, 2021 8:49 am

These links will probably be helpful to you if you want to give it a go:
https://www.smspower.org/forums/16445-MSXToSMSHacks

https://github.com/shuichitakano/msx2sms
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

John
Posts: 40
Joined: Tue Mar 24, 2020 1:18 am

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by John » Tue Jun 15, 2021 9:14 am

I had a look at the MSX1 to SMS links above.

"If you think this can be covered in 100 words, then please feel free to post them, as I'm sure others will be interested to read your advice."


so here is my first 100 word or less method description in the separate message below (I've got another idea I need to flesh out for a second method-maybe I'll think of a second method)
Last edited by John on Tue Jun 15, 2021 9:25 am, edited 3 times in total.

John
Posts: 40
Joined: Tue Mar 24, 2020 1:18 am

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by John » Tue Jun 15, 2021 9:14 am

Step One. Write MSX1 ROM game from scratch so it is compatible with the MSX to SMS loader of choice,
Step Two. Add the MSX to SMS loader to your MSX ROM to make finished SMS game.

John
Posts: 40
Joined: Tue Mar 24, 2020 1:18 am

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by John » Tue Jun 15, 2021 9:19 am

The above describes in 37 words how to convert an MSX1 game to Sega master system

User avatar
akuyou
Posts: 489
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by akuyou » Tue Jun 15, 2021 9:32 am

"How to port any game to any system in the entire world in 10 words"
Alter the game so it works on the new system

Guess I can stop making tutorials now!... my work is done.

oh, and your description doesn't match your original statement, you said you wanted to convert an existing game, not write a new one... all my tutorials cover writing new games in a multiplatform ways, porting existing games is quite different, as the requirements and solutions you will need to employ will vary depending on the game (how many firmware calls the game uses, how much ram, does the game use bankswitching etc)...

If you're writing a new game from scratch, I'd suggest you write 'bridging routines' for all the hardware functions on both systems, and make the game only use those to do hardware related tasks - that's what I do in almost all my tutorials (a lot of viewers don't like it though, as the result is games split over many ASM files)

By the way, you were working on a Screen 3 pixel plotting routine before? did you get it working? do you have any code you're willing to share with anyone else who's looking at that screen mode?
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

John
Posts: 40
Joined: Tue Mar 24, 2020 1:18 am

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by John » Tue Jun 15, 2021 12:41 pm

"How to port any game to any system in the entire world in 10 words"
Alter the game so it works on the new system

The joke aside, seriously Keith, the 37 word explanation I gave in my
answer does lead to a solid way to make an MSX1 to SMS conversion;in my mind it does give a way to get from MSX1 to SMS. By the way,your 10 word answer does not lead to a solid way ,as far as I can understand,to a solid answer because to me it is vague enough that no code appears in my mind when I read it.


"wanted to convert an existing game"
I read the documentation and I think some of my existing games can work unchanged with the loader which is equivalent (in this case) to saying a game can be created from scratch to work with the loader;if that wasn't clear enough before.
Either way making the game from scratch to work with a loader or converting an existing MSX1 game ;I find both
thing of interest to me.

By the way, you were working on a Screen 3 pixel plotting routine before? did you get it working? do you have any code you're willing to share with anyone else who's looking at that screen mode?
That was a while ago. Yes I did make a screen 3 plot routine-but that plot code wasn't the hard part of the screen 3 project-that plot routine was used in my attempt to draw fast enough 3d graphics in screen 3. In the end I did not get the desired result with screen 3 and 3d graphics;I mean polygonail 3d NOT the 3d with the red and blue glasses. Yes,since you requested it here,I will post my ASM screen 3 routine later when I have time to-in it present form without comments it would be a bit harder to understand.

User avatar
akuyou
Posts: 489
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: Video: Lesson P31 - Hardware Sprites on the Master System / Game Gear

Post by akuyou » Tue Jun 15, 2021 12:59 pm

Well, ok, I think we're going to have to agree to disagree on this one, If you're happy with your 37 word explanation then I'm happy you're happy, but I kind of took it as you were mocking me by saying that you could explain in 100 words what I've failed to do in 400 videos and a 270 page book.

You're clearly a competent programmer, with your own programming style, and that's great, but I'm not sure why you keep asking me questions, when you're clearly capable of solving your own problems without my help.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

Post Reply

Return to “Master System & GameGear Assembly Programming”