Author |
Message |
Leonard Silva de Oliveira
|
SEGA 3D Glases
Posted: Thu Aug 31, 2000 3:57 am
|
I'd just hacked in whole the SEGA 3D Glases this Tuesday ...
If anyone has interest in it, just look the picture and read this :
------------
Wednesday, August 30 2000
Description of the SMS 3D Glases
Actually the SEGA 3D glasses in the master system is simply a
one bit memory latch hard-wired to the memory address FFF8h
in the Z80 bus. It's connected in a such whay it can be adressed
and written regardless any "slot" (connector) setting made to the
port 3Eh.
The whole thing looks like this :
Address : FFF8h
Bit 0
76543210
XXXXXXXD
Where
D=0 then the left LCD will be kept dark.
D=1 then the right LCD will be kept dark.
OBS.: The glasses status on power up is unknown. Since it's a write only
2 state/1bit memory latch, I don't think it's important, just write a known
value to it at the startup, or write to it when you start the 3D effect.
If you intent to read the 3D glass register from RAM,keep in mind that the
real glases status is unknown until you write to it. Also don't forget
that FFF8h memory is mirrored in DFF8H.
I don't think I have to explain how the 3D effect work ... ;)
This is a sample code :
;Simple Z80 machine code to switch the LCD status at NMI (pause button)
;Made in 30/08/2000 by Leonard Silva de Oliveira
;Suitable for a real SMS machine and 3D glases.
000066 F5 PUSH AF ; Save AF pair
000067 3A F8 FF LD A,(FFF8H) ; Get LCD status from RAM
00006A C6 01 ADD 01h ; LSB +1
00006C 32 F8 FF LD (FFF8h),A ; Write to the glasses and RAM
00006F F1 POP AF ; Restore AF pair
000070 ED 45 RETN ; Return from NMI
This code will swap the dark LCD in a real SMS each time you press the pause button.
Have fun with your 3D glases !
Greetings from Brazil to all SMS fans and programmers ...
Leonard Silva de Oliveira
-------------
|
|
|
vecna
|
Hot damn!
Posted: Thu Aug 31, 2000 2:15 pm
|
Quote > I'd just hacked in whole the SEGA 3D Glases this Tuesday ...
> If anyone has interest in it, just look the picture and read this :
> ------------
> Wednesday, August 30 2000
> Description of the SMS 3D Glases
> Actually the SEGA 3D glasses in the master system is simply a
> one bit memory latch hard-wired to the memory address FFF8h
> in the Z80 bus. It's connected in a such whay it can be adressed
> and written regardless any "slot" (connector) setting made to the
> port 3Eh.
> The whole thing looks like this :
>
> Address : FFF8h
> Bit 0
> 76543210
> XXXXXXXD
> Where
> D=0 then the left LCD will be kept dark.
> D=1 then the right LCD will be kept dark.
> OBS.: The glasses status on power up is unknown. Since it's a write only
> 2 state/1bit memory latch, I don't think it's important, just write a known
> value to it at the startup, or write to it when you start the 3D effect.
> If you intent to read the 3D glass register from RAM,keep in mind that the
> real glases status is unknown until you write to it. Also don't forget
> that FFF8h memory is mirrored in DFF8H.
> I don't think I have to explain how the 3D effect work ... ;)
>
> This is a sample code :
>
> ;Simple Z80 machine code to switch the LCD status at NMI (pause button)
> ;Made in 30/08/2000 by Leonard Silva de Oliveira
> ;Suitable for a real SMS machine and 3D glases.
> 000066 F5 PUSH AF ; Save AF pair
> 000067 3A F8 FF LD A,(FFF8H) ; Get LCD status from RAM
> 00006A C6 01 ADD 01h ; LSB +1
> 00006C 32 F8 FF LD (FFF8h),A ; Write to the glasses and RAM
> 00006F F1 POP AF ; Restore AF pair
> 000070 ED 45 RETN ; Return from NMI
>
> This code will swap the dark LCD in a real SMS each time you press the pause button.
>
> Have fun with your 3D glases !
>
> Greetings from Brazil to all SMS fans and programmers ...
> Leonard Silva de Oliveira
> -------------
|
|
|
- Joined: 24 Jun 1999
- Posts: 1732
- Location: Paris, France
|
Posted: Fri Sep 01, 2000 6:51 am
|
Thanks a bunch for the informations!
I was actually those days wondering how switching frames could be done
(tried various hacks like computing the average X position of sprites, hehe :)
It's amazing what hardware hackers can do.
|
|
|
- Joined: 12 Jul 2005
- Posts: 55
|
Posted: Fri Sep 01, 2000 11:32 pm
|
Quote > Thanks a bunch for the informations!
> I was actually those days wondering how switching frames could be done
> (tried various hacks like computing the average X position of sprites, hehe :)
> It's amazing what hardware hackers can do.
Well... It's now just a matter of time until the 3D effect is properly emulated by all SMS emulators. =)
I'm going to make a 3D adaptor for LPT port. May you implement support for it in Meka ?
Cya ...
|
|
|
- Joined: 24 Jun 1999
- Posts: 1732
- Location: Paris, France
|
Posted: Sat Sep 02, 2000 10:35 am
|
Quote > Well... It's now just a matter of time until the 3D effect is properly emulated by all SMS emulators. =)
> I'm going to make a 3D adaptor for LPT port. May you implement support for it in Meka ?
Yes I will. Actually I was just waiting for Mike to send me a 3D Adapter for Serial port to do that =)
Stay tuned.
(No hurry, Mike ;)
|
|
|
- Joined: 24 Jun 1999
- Posts: 1732
- Location: Paris, France
|
By the way - there is a bug in your infos ;-)
Posted: Sat Sep 02, 2000 4:51 pm
|
After disassembling a few games, I noticed the right address is 0xFFFB and not 0xFFF8.
Was it a typo of your part, of you are sure the exemple code worked with 0xFFF8 ?
|
|
|
- Joined: 12 Jul 2005
- Posts: 55
|
Re: By the way - there is a bug in your infos ;-)
Posted: Sat Sep 02, 2000 8:03 pm
|
Quote > After disassembling a few games, I noticed the right address is 0xFFFB and not 0xFFF8.
> Was it a typo of your part, of you are sure the exemple code worked with 0xFFF8 ?
Well ... actually, if you look the schematics with attention you will notice that A0 and A1 are not decoded in the address logic.
Again we have mirrowing ...
It's the same thing write to FFF8 (1111111111111000), FFF9 (1111111111111001), FFFA (1111111111111010) or
FFFB (1111111111111011) Again, we have a mirrowing on the hardware.
I was not going to post a message with a such inportant info without without being sure about the information... ;)
Cya ...
|
|
|
- Joined: 24 Jun 1999
- Posts: 1732
- Location: Paris, France
|
Alright
Posted: Sun Sep 03, 2000 3:37 pm
|
But it was probably documented as being only linked to 0xFFFB as all 3D Games uses this address.
I'll support mirroring, just in case.
By the way, seing your adapter is different than the one Mike is making from other schematics,
I am interested in such adapter if I can add support for it.
I never toyed around with the // port, thought, but I should be able to find out how to do it (the schematic helping).
I wonder if one is cheaper to make than the other. If I get the two supported Meka such be shipped with a text file describing the both ways to make such adapters - get to your keyboard, guys :)
|
|
|
- Joined: 12 Jul 2005
- Posts: 55
|
Hey... That 3D ADAPTOR schematics aren't mine.
Posted: Sun Sep 03, 2000 5:22 pm
|
That schematics are schematics of the original SEGA 3D ADAPTOR reverse-engineered by me. I reverse-engineered the
schematics to understand how the thinkg works. My adaptor will use only the analog block of the original adaptor, just to
get the original low current AC12v to power the glasses. (putting DC current in old fashion LCDs may cause damage to
them.)
Actually I want to use the same glasses on the PC and the SMS without modifiying even a screw from it. That's why I
want to make a new 3D adaptor.
Cya ...
P.S.: Yesterday, at evening I got my mapper to work with both page 1 and 2 ...
|
|
|
- Joined: 24 Jun 1999
- Posts: 1732
- Location: Paris, France
|
Re: Hey... That 3D ADAPTOR schematics aren't mine.
Posted: Sun Sep 03, 2000 7:13 pm
|
Quote > That schematics are schematics of the original SEGA 3D ADAPTOR reverse-engineered by me. I reverse-engineered the
> schematics to understand how the thinkg works. My adaptor will use only the analog block of the original adaptor, just to
> get the original low current AC12v to power the glasses. (putting DC current in old fashion LCDs may cause damage to
> them.)
That's a good point. I'm not sure how it's handled with the design I found, but with example and stuffs, I guess it has been tested.
Quote > Actually I want to use the same glasses on the PC and the SMS without modifiying even a screw from it. That's why I
> want to make a new 3D adaptor.
Of course. The current design already on the net and using the COMM port is basically a link from a COMM port to a to Jack female port with a few things around. The glasses aren't modified.
Quote > P.S.: Yesterday, at evening I got my mapper to work with both page 1 and 2 ...
Great ^_^
|
|
|