A joystick for ORICIUM ?
Posted: Fri Sep 05, 2014 12:07 pm
Hi,
I finally made three versions of the JS routine
With the first one, you had to choose, JS or Keybord. It means that when you want to jump over an obstacle you have to press L shift key, the JS being in neutral position... A bit tricky even if quite playable. So I made a second version.
The second version of this routine checks the joystick first, then:
1- the Lshift Key Or
2-all the keybord if no action was detected on the js...
(The call for the JS routine is set at the begining of the keyboard routine)
I had a strange behavior when pressing the LShift Key while actuating the js on the right... (The star fighter jumps, but also goes up to top of the screenplay) No problem with other JS positions.
In order to fix this problem, I built a third version.
For this third version, I choosed to check the keyboard first then, any key pressed or not, I checked the JS...
(The call of the JS routine is set at the end of the keybord routine)
Everything is ok, except the jump (L Shift) while Js actuated to the right... (The star fighter jumps, but , this time, goes down to the bottom of the screenplay:)
I can't understand this problem It will remain a mystery for me, except if one of you has any idea
Nevertheless, it is quite playable as it is, so, if you want to play Oricium using a Joystick, try the following "Do it by yourself" ... Normaly, it should work ...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 – first of all, make a back-up of your Oricium Disc (it is better to copy Oricium files on a double side formated disc to get more space to work )
1 – Type in the following listing.
10 A=#9C00:F=#9C61:L=100:REPEAT:FOR A=A TO A+15:READ C$
20 K=VAL("#"+C$):S=S+K+65536*(S+K>65535):IF A<=F THEN POKE A,K
30 NEXT:READ D$:IF S=VAL("#"+D$) THEN L=L+5:UNTIL A>F:END
40 PING:PRINT"Erreur ligne";L
100 DATA CA,10,4B,AD,01,03,48,AD,03,03,48,A9,C0,8D,03,03,0515
105 DATA A9,40,8D,01,03,AD,01,03,A8,29,20,AA,98,4A,29,0C,09F2
110 DATA 8D,28,9C,98,29,03,18,69,0C,A8,B9,51,9C,8D,61,9C,106C
115 DATA 8A,D0,08,A9,01,0D,61,9C,8D,61,9C,AD,61,9C,0D,CC,178F
120 DATA 3B,8D,CC,3B,68,8D,03,03,68,8D,01,03,58,60,4C,01,1C57
125 DATA 3C,00,00,00,00,00,88,28,08,00,C0,60,40,00,80,20,1F4B
130 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,1F4B
2 – Save it on your disc : SAVE"JS.BAS",AUTO
3 - RUN
4 – Save the generated machine code : SAVE"JS",A#9C00,E#9C61
5 - GRAB
6 - !ORICIUM,N
7 - POKE#3C5B,#4C : DOKE#3C5C,# 9C00
8 - SAVEO"ORICIUM", A#500, E#9AD7, AUTO
9 - INIST
10 – Modify the launch sequence as follows : QUIT :HIRES :!JS :!SCREEN.BIN :!ORICIUM
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
That’s all ! keep in mind that this patch will only work with PASE joystick interface. The routine only test the right socket of the interface. At least, the jump command of your star fighter is kept to the Keyboard (to the LEFT SHIFT key).
Beware, If you re-define commands keys, the JS will not work anymore…
A last advice : Copy your disc image on a SD card and enjoy ORICIUM with your CUMULUS , on a real Oric with a real Joy-stick!
It's just a Fantastic oric gaming expérience !
Note 1: Only 3 bytes are modified in the original Oricium Code.
Note 2: Do not forgot the fifth point (GRAB) this will (normaly) prevents the oric to spoil the oricium code (#500 - #9AD7) with the string "ORICIUM" from the SAVEO command at point 8 ( normaly stored just under the HIMEM value (#9800 before GRAB)
Note 3: Let us know about your succes or problems with this procedure.
I finally made three versions of the JS routine
With the first one, you had to choose, JS or Keybord. It means that when you want to jump over an obstacle you have to press L shift key, the JS being in neutral position... A bit tricky even if quite playable. So I made a second version.
The second version of this routine checks the joystick first, then:
1- the Lshift Key Or
2-all the keybord if no action was detected on the js...
(The call for the JS routine is set at the begining of the keyboard routine)
I had a strange behavior when pressing the LShift Key while actuating the js on the right... (The star fighter jumps, but also goes up to top of the screenplay) No problem with other JS positions.
In order to fix this problem, I built a third version.
For this third version, I choosed to check the keyboard first then, any key pressed or not, I checked the JS...
(The call of the JS routine is set at the end of the keybord routine)
Everything is ok, except the jump (L Shift) while Js actuated to the right... (The star fighter jumps, but , this time, goes down to the bottom of the screenplay:)
I can't understand this problem It will remain a mystery for me, except if one of you has any idea
Nevertheless, it is quite playable as it is, so, if you want to play Oricium using a Joystick, try the following "Do it by yourself" ... Normaly, it should work ...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 – first of all, make a back-up of your Oricium Disc (it is better to copy Oricium files on a double side formated disc to get more space to work )
1 – Type in the following listing.
10 A=#9C00:F=#9C61:L=100:REPEAT:FOR A=A TO A+15:READ C$
20 K=VAL("#"+C$):S=S+K+65536*(S+K>65535):IF A<=F THEN POKE A,K
30 NEXT:READ D$:IF S=VAL("#"+D$) THEN L=L+5:UNTIL A>F:END
40 PING:PRINT"Erreur ligne";L
100 DATA CA,10,4B,AD,01,03,48,AD,03,03,48,A9,C0,8D,03,03,0515
105 DATA A9,40,8D,01,03,AD,01,03,A8,29,20,AA,98,4A,29,0C,09F2
110 DATA 8D,28,9C,98,29,03,18,69,0C,A8,B9,51,9C,8D,61,9C,106C
115 DATA 8A,D0,08,A9,01,0D,61,9C,8D,61,9C,AD,61,9C,0D,CC,178F
120 DATA 3B,8D,CC,3B,68,8D,03,03,68,8D,01,03,58,60,4C,01,1C57
125 DATA 3C,00,00,00,00,00,88,28,08,00,C0,60,40,00,80,20,1F4B
130 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,1F4B
2 – Save it on your disc : SAVE"JS.BAS",AUTO
3 - RUN
4 – Save the generated machine code : SAVE"JS",A#9C00,E#9C61
5 - GRAB
6 - !ORICIUM,N
7 - POKE#3C5B,#4C : DOKE#3C5C,# 9C00
8 - SAVEO"ORICIUM", A#500, E#9AD7, AUTO
9 - INIST
10 – Modify the launch sequence as follows : QUIT :HIRES :!JS :!SCREEN.BIN :!ORICIUM
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
That’s all ! keep in mind that this patch will only work with PASE joystick interface. The routine only test the right socket of the interface. At least, the jump command of your star fighter is kept to the Keyboard (to the LEFT SHIFT key).
Beware, If you re-define commands keys, the JS will not work anymore…
A last advice : Copy your disc image on a SD card and enjoy ORICIUM with your CUMULUS , on a real Oric with a real Joy-stick!
It's just a Fantastic oric gaming expérience !
Note 1: Only 3 bytes are modified in the original Oricium Code.
Note 2: Do not forgot the fifth point (GRAB) this will (normaly) prevents the oric to spoil the oricium code (#500 - #9AD7) with the string "ORICIUM" from the SAVEO command at point 8 ( normaly stored just under the HIMEM value (#9800 before GRAB)
Note 3: Let us know about your succes or problems with this procedure.