(classic) Sega Master System (sms)

Post Reply
User avatar
RobertK
Well known member
Posts: 347
Joined: Mon Feb 26, 2018 12:58 pm

(classic) Sega Master System (sms)

Post by RobertK »

I had not noticed until now that Generic Console support has recently been added to this target, which of course makes it very useful now. The wiki platform list still needs to be updated (that's why I didn't notice this addition).

Currently there is no way to poll the "Pause" button using games.h joystick input. Could this please be mapped to MOVE_FIRE3 of either joystick one or two (or both)?

Attached is my joytest.c program, compile it with

zcc +sms -pragma-redirect:fputc_cons=fputc_cons_generic -create-app -o joytest_sms joytest.c
You do not have the required permissions to view the files attached to this post.
User avatar
dom
Well known member
Posts: 2072
Joined: Sun Jul 15, 2007 10:01 pm

Re: (classic) Sega Master System (sms)

Post by dom »

Oh, I forgot that I did that, it's just the standard VDP modes not the SMS mode 4 as a caveat.

I'm not sure that overview page is quite in the right format anymore, anything with gencon can also use VT100 since last week, so I think I'm going to simplify it with fewer details.

On the SMS, the pause button actually generates an NMI rather than toggles a value on the joypad ports. You can pick it up with

Code: Select all

#include <sms.h>

if ( pause_flag ) {
  // paused
}
Which I know is a bit fiddly, so I've taken onboard your suggestion and mapped it into fire3 for both joysticks.
User avatar
RobertK
Well known member
Posts: 347
Joined: Mon Feb 26, 2018 12:58 pm

Re: (classic) Sega Master System (sms)

Post by RobertK »

This is a wonderful target, all my three programs now support the Sega Master System.

Thanks for the pause button, my game H-Tron now supports it.

One tiny little issue: in EPB I do everything in screen mode 2, and the screen by default is in white-on-black (which is what I prefer). However, when calling clg(), the screen turns to black-on-white, and I think that there is no way to change the colour afterwards. As a workaround, I simply avoid calling clg() on this target.
Post Reply