Sega-ohjaimet ja C-64 (Oli: Ohjainmodifikatio)

Aloittaja fmatic, joulukuu 30, 2002, 12:10

« edellinen - seuraava »

fmatic

"Elämässä pitää olla projekteja" - totesin tässä viimeksi tänä aamuna.

Pitkään mielessä on kummitelut idea konsoliohjaimen virittelystä C-64:lle.

Lähinnä padi olisi erinomainen vaihtoehto pelatessa nepulin tasohyppelyjä kuten esim: The Great Gianna Sisters.

Alkuun suunnitelmissa oli viritellä NESin ohjain kuuslankulle mutta ideasta oli luovuttava epäyhteensopivan liittimen vuoksi.

Helpollakin tosin pääsisin jos ostaisin Sega Master Systemin ohjaimen joka kävisi lankulle sellaisenaan ilman virittelyä, mutta...

Elämä ei saa olla helppoa ja koska varastossani lojuu muutama ylimääräinen Sega MegaDriven ohjain ja niiden liittimet sopivat sellaisenaan nelkkuun on projektin aihio valmis.

Amigaan MD:n ohjaimen virittäminen olisi kohtuullisen helppoa.
Kytketään vain pinnit 5 ja 7 ristiin. Käsittääkseni Amigan ja nepuli peliohjainportit ovat identtiset siispä sama kikka voisi toimia lankussakin.

Kylmiltään en viitsi edes lähteä kokeilemaan ettei turhaan tule poltettua konetta...

No kokeilemalla oppii ja edetään seuraavaan eli...

Sitten ne ongelmat:

Kuusnepan tasohyppelyissä kuten juuri mainitsemani Gianna Sisters on hyppääminen toteutettu täysin logiikan ja järjen vastaisesti vänkäämällä peliohjainta ylöspäin. Konsoleissa on paljon miellyttäämpi idea tunkea hyppy yhden "tulitus" - näppäimen taakse...Oma loistava ideani on jollain ilvellä modifioida MD-ohjain toimimaan juuri kuvatulla tavalla eli tällöin tarvitaan muuttaa ylöspäin liikkeen paikka jonkin kolmen "tulitusnäppäimen" taakse. Ohjaimestahan ei siten juurikaan ole hyötyä muissa kuin tasohyppelyisä ja joissain autopeleissä mutta sehän nyt ei menoa haittaa.

Ongelmaksi kulminoituu hankalahko MD-ohjaimen sisuskalut.
Nimittäin ylös liikkeen hoitavan piuhan sieltä löytää helposti mutta mutta "tulitusnäppäimen" johto on enemmän hakusessa. Tässäkin tietysti voin kokeilla menetelmällä yritys ja erehdys...

Vinkkejä saa heitellä!

fmatic

#1
Kävikin niin erinomaisesti, että MD-ohjain kävi sellaisenaan kuusnepaan nyt jääkin sitten väkerettäväksi nappuloiden paikkojen vaihto.


fmatic

#2
Sen verran takapakkia ohjaimen kanssa kikkailuun, että sellaisenaan sitä kyllä ei kuusneloseen olisi suositeltavaa laittaa vaikka ulkoisesti näyttää toimivan ok saattaa koneen CIA-piiri vaurioitua sillä kuusnepan joystick-portti on suunniteltu yhdelle napille kun taasen MD-ohjaimesta tulee jos jonkinlaista signaalia. Siispä yrityksistä huolimatta on turvauduttava Sega Master Systemin ohjaimeen :(

C64-79

#3
Master System:hän tukee kahta erillistä näppäintä? Onko tällaisen joystickin käyttäminen täysin turvallista Kuusnelosessa?

Jos on, niin minkä takia joissakin joystickeissä on valintakytkin eri järjestelmille? Esim. minulla yhdessä Quickshotissa on 4-asentoinen valitsin: Atari-Commodore / MSX / Amstrad / Sega.

fmatic

Nostetaanpas vanhaa "topikkia" ylöspäin:


"ABOUT SEGA-PADS AND THE C64"

   BY NINJA/DREAMS IN 1997

========================================================================

Note: You use everything mentioned here at your own risk! I am not
responsible for damaged hardware, lost software or anything else. I
guess you know these rules, so I'll leave it this short. By the way,
this here is public domain, so do whatever you want with it.

Quite a few people are already using Sega-Pads (MegaDrive/Genesis) for
their C64. And there are questions about their strange behaviour and
about their additional buttons. So I'll write down the information I
collected, they might become handy for someone. Here we go:

Pin        Sega-Pad         C64

 1  -       up              up
 2  -       down            down
 3  - (*)   - / left        left
 4  - (*)   - / right       right
 5  -       +5V             POT Y
 6  - (*)   A / B           Button
 7  -       CHP SELECT      +5V
 8  -       GND             GND
 9  - (*)   START / C       POT X

(*) Function depends on the status of CHP SELECT as described later on

So, if you want to use the joypad with all its functions, you can plug
it to the user-port, for example like this.

1 --- C (PB0)
2 --- D (PB1)
3 --- E (PB2)
4 --- F (PB3)
5 --- 2 (+5V)
6 --- H (PB4)
7 --- M (PA2)
8 --- A (GND)
9 --- J (PB5)

If you now clear PA2 (CHP SELECT) you'll get the status bits from the
left side of the slash (see above), if you set it, you'll get the other
ones. A simple BASIC program can do this:

10 POKE 56578, PEEK(56578) OR 4:    REM  PA2 = OUTPUT
20 POKE 56579, 192:                 REM  PB0-5 = INPUT
30 POKE 56576, PEEK(56576) OR 4:    REM  SET CHP SELECT
40 A=PEEK(56577):                   REM  GET DIRECTIONS AND BUTTONS B+C
50 POKE 56576, PEEK(56576) AND 251: REM  CLEAR CHP SELECT
60 B=PEEK(56577):                   REM  GET BUTTONS A+START
70 PRINT A,B: GOTO 30:              REM  PRINT RESULTS AND LOOP

The disadvantage of the Sega-Pads is that they require too much pins.
You can plug one into the user-port and one into both joy-ports, but
this is neither very comfortable nor efficient (SNES-Pads are the
better choice, see that article for more info!).

The pin-layout may also give you some answers about using a pad on a
standard joyport. You see, CHP SELECT is connected to +5V on the C64
side. This is why you can't check the buttons A and START. However, you
can check button C in a very mysterious way (example for Port 2):

10 POKE 56322, PEEK(56322) AND 127: REM PA7 = INPUT (???)
20 PRINT PEEK(54297)              : REM PRINT VALUE FROM POT X
30 GOTO 20                        : REM LOOP

If C is pressed, you'll get a value around 255. If not, it will be
around 0. So, for a check you should think of a tolerance, since this
input is not digital but analog. I use a value of 240 for detection and
it seems to be ok. (Don't ask me why it works this way. I have no
explanation for it, so I would really like to hear one, too!)

But be warned: There are rumours that SEGA-Pads can destroy your CIA! If
you look at the pin-connections, it might be possible, though I don't
know of such a case.

And another addition: I only have a SEGA-Pad with three buttons. There
are pads with six buttons available, but I couldn't manage to get one :(
I guess, the only difference is that you can read the extra buttons on
those places which are unused in the three-button-version (i.e. up,
down, left, right with CHP SELECT cleared). Hmmm, perhaps anyone of you
can check this? :)

That's all I found out. Of course, I prefer the use of SNES-Pads (so
make sure you read that article as well ;)), because they have more
buttons, feature IMHO better handling and you can plug 8(!) of them to
your C64 with a simple cable. So, why this article? Easy: You can't know
too much about the C64.

========================================================================

fmatic

Lainaa

But be warned: There are rumours that SEGA-Pads can destroy your CIA! If
you look at the pin-connections, it might be possible, though I don't
know of such a case.

This is because joysticks (which the game ports were intended to support)
either pull the lines low (when active) or are an open connection (when
inactive). This latter condition allows the lines to be pulled low by other
sources (they keyboard for example). Sega gamepads, on the other hand, pull
inactive lines HIGH. Now if you press a key on the keyboard with one of
these devices plugged in, one source is pulling the line high while another
I/O line (cross-connected through the keyboard) is trying to drag it down.
This can put an extra strain on the CIA chip, as the circuit wasn't
designed to deal with this kind of situation.

The proper thing to do is to block the high signals from the Sega gamepad,
while allowing the low signals to get through. This will protect the CIA
chip, and allow you to use your keyboard normally with the gamepad plugged
in. Thus, easch of the directional lines and button lines should have a
diode placed between it and the joystick port (germanium type 1N34A work
well for this purpose since they have very little loss compared to
general-purpose diodes). This was all outlined in an article in Commodore
World issue #5, which provided a complete schematic, and is the basis for
the converted gamepads sold by CMD for Commodore users.

Also note that your diagram shows pin 7 of the Sega gamepad to be CHP
SELECT; you should probably shorten this to just SELECT, since it has
nothing to do with selecting a CHIP. Our interface ties this line to +5
since we only use one button (the B button, though C could be used
instead).

Wired in this manner, the Sega emulates a standard Commodore (or
compatible) joystick, without creating adverse conditions on the CIA, and
without blocking normal use of the keyboard with the gamepad attached.

Paddington

Tuli tuossa mieleen sellanen hullu ajatus että oiskohan millään mahdollista saada toimimaan tuollaista vanhaa pc:n ratti-poljin ohjainta kuusnepassa? Epäilempä kyllä suuresti että ei ole mahdollista mitenkään mutta enpä olekkaan kyllä mikään tekniikan ihmelapsi ;) Löytyyhän kaapista kyllä tuo lentokoneohjain (olikohan vg5600 malliltaan?ei lue ohjaimessa)joka muistuttaa kyllä vähän rattia mutta eipä se ole oikeen miellyttävä noihin ajo hommiin ;D Noh,tietysti tuo normaali "joustikki" on paras mahdollinen kaikkiin nepan peleihin ;D