Page 1 of 1

Sony SMC-70/SMC-777

Posted: Sun Jan 20, 2019 2:09 am
by dom
I've just merged initial support for this machine, I've still got a few more features to add, but so far we've got:

* Gencon switchable between 40x25 and 80x25. There's redefinable font and UDGs as well
* Lores graphics support
* PSG support

Although I've only tested on CP/M, in theory the -lsmc777 library should be able to be used under S-OS as well.

appmake has been updated to support creating a disc in the appropriate format.

Posted: Thu Jan 24, 2019 9:32 am
by RobertK
My game H-Tron now supports the SMC-777 in CP/M mode. I will also make a native version as soon as z88dk supports creating native boot disks.


Since today's nightly, the created .dsk file can be read correctly with the current Takeda emulator version (previously we had to use an older version from December 2017).

Can anyone please do some testing with the SMC-70 Takeda emulator (smc70.exe)? It should be compatible with the SMC-777, but neither Dom nor I have roms for that system.

P.S. So far I didn't notice any side-effects with the introduction of zsdcc 3.8.5 r10892.

Posted: Thu Jan 24, 2019 5:34 pm
by stefano
I thought that the nighty build failed, are you sure you haven't worked on the last good build?

Posted: Sat Dec 14, 2019 7:26 am
by RobertK
I have tried the new hires graphics modes, they work fine, but: when I switch to mode 4, draw some graphics and then return to mode 0, the graphics stays on the screen, even after clearing the screen by calling printf("%c",12); and printf("\x0c");
A clg() call does not help either.
How can I remove the graphics output from the screen?

Posted: Sat Dec 14, 2019 11:44 am
by dom
Yes. It?s slightly odd having different screens for text and graphics. I?m genuinely not sure how we should make things work but at the moment the graphics planes are only cleared when in graphics mode.

So in your case either switch to a graphics mode before switching or text or call cls when in graphics mode before switching to text mode.

Posted: Sat Dec 14, 2019 8:52 pm
by RobertK
Ah, no problem - now I'm clearing the screen before switching back to text mode, and everything is fine.

One final question: after switching back to text mode for the first time, the screen background has turned black. How can I return it to the standard blue background of the SMC-777?
Or can I set it to black at the beginning? By changing to graphics mode and then to text mode, or is there some better way?

Posted: Sun Dec 15, 2019 9:59 am
by dom
I think I set the background colour to black by default - I?ll change it to cyan so the problem goes away.

At the moment however just call textbackground() with a colour name from conio.h prior to a cls in graphics mode.

Posted: Sun Dec 15, 2019 9:25 pm
by RobertK
But the current CYAN colour is different from the SMC-777 default background colour, which is much darker and closer to blue.

So I tried to turn everything black on startup, but textbackground() seems to behave strangely: when called in text mode, it shows no effect, but as soon as you switch to graphics mode, the colour change takes effect (where you wouldn't expect it).

That's of course not a big problem, but maybe you can fix that without much effort.

Posted: Thu Dec 19, 2019 9:33 pm
by dom
I've now mapped all 16 colours as best as I can (limitations of the palette and my eye cones), the "default" background colour of the machine is now available under LIGHTCYAN (or code $c if you're compiling with CLIB_CONIO_NATIVE_COLOUR)

Posted: Fri Dec 20, 2019 10:38 am
by RobertK
Thanks, I'll try it when we get a new build (last night's build failed unfortunately).