Author Topic: Any way to get Elite working on a Plus?  (Read 5458 times)

0 Members and 2 Guests are viewing this topic.

Offline Badstarr

  • 464 Plus
  • *****
  • Posts: 416
  • Country: 00
  • Liked: 72
  • Likes Given: 8
Any way to get Elite working on a Plus?
« on: 04:17, 19 September 11 »
Hi all!


It seems that we plus users can't start ELITE due to some incompatibility with the Plus machines, doh! Does anyone know if there is a POKE to make it work?


I remember reading somewhere that if the first port is set to an output on sound chip then the keyboard will become unusable I'm working on the theory that the ASIC emulation may cause this conflict to occur as the music starts on the load commander screen and the keyboard becomes useless. I seem to remember on my vanilla 6128, pressing Y or N could take a couple of tries before the game would start. So I suspect there is a routine that is supposed to occur that changes the first port back to an input. I could use my 6128 but I have my 464+ with all the games I want on the HxC so would rather play it on this machine.


Does anyone know how to use a poke to set port 1 to an input? I've tried but have a suspicion I did it wrong!
Proud owner of 464 GTM64 6128 GTM65, GX4128 and a 464/6128 Plus Hybrid a 20 year long ambition realised! :-)

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #1 on: 11:23, 19 September 11 »
You're right about there being some PSG and keyboard scanning problems with the Plus.


Elite probably uses a bad keyboard scanning routine like this one.


Is it just keyboard problems you're having?  If so, I'll take a look at making a patch for it.

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.644
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 909
  • Likes Given: 1583
Re: Any way to get Elite working on a Plus?
« Reply #2 on: 12:28, 19 September 11 »
Did you try the version from the AA100 Covertape? There is a link to a download to all the Covertapes AA had somewhere, though I think you'll find that tape on ADATE on NVG as well - Tape Number 34.
* Using some of the hardly used Amstrad compilers :D
* I use Firmware in my Assembly code :P
* Have interpreted some BASIC 1.1 programs for BASIC 1.0. :)

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #3 on: 13:52, 19 September 11 »
Been looking into this and interestingly WinAPE doesn't emulate the Plus keyboard bug, so it works when using the emulator with a Plus configuration selected.


I loaded Elite on my real 6128 Plus though and too found the keyboard didn't work.


I've isolated the dodgy keyboard routine (below) and will start working on a patch.


Code: [Select]

org &8d8c

ld hl,&8d2d
ld bc,&f40e
out (c),c
ld b,&f6
in a,(c)
and &30
ld c,a
or &c0
out (c),a
out (c),a
inc b
ld a,&92
out (c),a
push bc
set 6,c
l8da9: ld b,&f6
out (c),c
ld b,&f4
in a,(c)
ld (hl),a
inc hl
inc c
ld a,c
and &0f
cp &0a
jr nz,l8da9
pop bc
ld a,&82
out (c),a
dec b
out (c),c
ret

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #4 on: 14:41, 19 September 11 »
I've done the patch using Arnoldemu's excellent routine.

Have tested it on my real 6128 Plus and it works now... you still might have to press Y or N a couple of times on the intro screen like on a classic CPC though - this is just because of system slowdown due to the graphics being displayed and not any fault of the keyboard routine.

I've attached the patched DSK image to this post:

Offline Badstarr

  • 464 Plus
  • *****
  • Posts: 416
  • Country: 00
  • Liked: 72
  • Likes Given: 8
Re: Any way to get Elite working on a Plus?
« Reply #5 on: 14:43, 19 September 11 »
Thanks Redbox! It is just the keyboard problem as far as I can tell. It's amazing that you have already isolated the problem, this sort of thing is beyond my programming skills but I'm learning. A patch would be just fantastic!


CP/M User, I read back through a couple of issues of AA, and after sorting the bug with the tape loading on the 6128 there was no patch to make it plus compatible :( but AA does mention that some plus users were reporting problems with the keyboard.


Thanks to both of you for your help!  :D
Proud owner of 464 GTM64 6128 GTM65, GX4128 and a 464/6128 Plus Hybrid a 20 year long ambition realised! :-)

Offline Badstarr

  • 464 Plus
  • *****
  • Posts: 416
  • Country: 00
  • Liked: 72
  • Likes Given: 8
Re: Any way to get Elite working on a Plus?
« Reply #6 on: 14:44, 19 September 11 »
Wow Redbox that was quick! I'll give it a go!
Proud owner of 464 GTM64 6128 GTM65, GX4128 and a 464/6128 Plus Hybrid a 20 year long ambition realised! :-)

Offline Badstarr

  • 464 Plus
  • *****
  • Posts: 416
  • Country: 00
  • Liked: 72
  • Likes Given: 8
Re: Any way to get Elite working on a Plus?
« Reply #7 on: 14:46, 19 September 11 »
Sorry...I was being a bit dumb and clicking on the wrong thing lol! WORKS GREAT REDBOX YOU'RE A GENIUS!
« Last Edit: 14:49, 19 September 11 by Badstarr »
Proud owner of 464 GTM64 6128 GTM65, GX4128 and a 464/6128 Plus Hybrid a 20 year long ambition realised! :-)

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #8 on: 14:47, 19 September 11 »
Ah I see that link wasn't to the patch lol. Looking forward to trying out the patch! :)


Yeah, I found that Arnoldemu had already written a Plus compatible keyboard scanning routine, so I used that to make a patch.


Hope you enjoy playing it now  :)

Offline viddi

  • CPC664
  • ***
  • Posts: 126
  • Liked: 9
  • Likes Given: 0
Re: Any way to get Elite working on a Plus?
« Reply #9 on: 15:34, 19 September 11 »
Thanks a lot, redbox.

Any chance to get a fixed German version of Elite?


Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #10 on: 15:55, 19 September 11 »
Any chance to get a fixed German version of Elite?


Had a look and the routine is in a different place to the English version...!


I can do it, but the German version on CPC Power has some kind of file protection...


I tried QuickCMD but it didn't work listing the files.  Does anyone have an unprotected version?

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.316
  • Country: 00
  • Semi-professional acceptance testing engineer!
    • Epyteor titles on CPC-Power
  • Liked: 1237
  • Likes Given: 1939
Re: Any way to get Elite working on a Plus?
« Reply #11 on: 16:21, 19 September 11 »
I tried QuickCMD but it didn't work listing the files.  Does anyone have an unprotected version?
Try this one... any better?
 
 
EDIT: Nah, scrub that! EPIC FAIL ON MY PART... sorry! ^_^
EDIT : All files are supposed to be in |USER,1 and I fecked that up! Ooops!
« Last Edit: 16:41, 19 September 11 by tastefulmrship »
"I think you should worry less about who you might offend and care more about who you might inspire.”
— Mike Baxter

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #12 on: 16:40, 19 September 11 »
EDIT: Nah, scrub that! EPIC FAIL ON MY PART... sorry! ^_^


Er, yes it doesn't load.


Where did you get it from?  Or did you try it yourself...?  If you did, please let me know how you did it as I'm still rubbish at unprotecting file systems.


Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.316
  • Country: 00
  • Semi-professional acceptance testing engineer!
    • Epyteor titles on CPC-Power
  • Liked: 1237
  • Likes Given: 1939
Re: Any way to get Elite working on a Plus?
« Reply #13 on: 16:43, 19 September 11 »
Er, yes it doesn't load.

Where did you get it from?  Or did you try it yourself...?  If you did, please let me know how you did it as I'm still rubbish at unprotecting file systems.
As per my second EDIT above; the files should be in |USER,1 and not |USER,0... either move them manually or use DISCOLOGY TRACK EDITOR.
« Last Edit: 16:47, 19 September 11 by tastefulmrship »
"I think you should worry less about who you might offend and care more about who you might inspire.”
— Mike Baxter

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #14 on: 16:50, 19 September 11 »
As per my second EDIT above; the files should be in |USER,1 and not |USER,0... either move them manually or use DISCOLOGY TRACK EDITOR.


Haha, great minds think alike - just logged in to say, d'oh, they're in USER 1.


Will do the patch now.

Offline SuTeKH/Epyteor

  • 6128 Plus
  • ******
  • Posts: 1.316
  • Country: 00
  • Semi-professional acceptance testing engineer!
    • Epyteor titles on CPC-Power
  • Liked: 1237
  • Likes Given: 1939
Re: Any way to get Elite working on a Plus?
« Reply #15 on: 16:58, 19 September 11 »

Haha, great minds think alike - just logged in to say, d'oh, they're in USER 1.


Will do the patch now.
I've copied the German files to |USER,0 and stolen the English ELITE.BAS (which is not protected) and got rid of the COM.BIN and ". files. It seems to work to the LAVE screen, anyway.
 
 
EDIT: Removed redundant attachment!
« Last Edit: 17:21, 19 September 11 by tastefulmrship »
"I think you should worry less about who you might offend and care more about who you might inspire.”
— Mike Baxter

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #16 on: 17:19, 19 September 11 »
I've copied the German files to |USER,0 and stolen the English ELITE.BAS (which is not protected) and got rid of the COM.BIN and ". files. It seems to work to the LAVE screen, anyway.

Exactly what I ended up doing (except I copied the required files to a new disc and then used the English version loader) because when trying to write the patched file back to the German disc I kept getting write fails.    Dumm Deutsch-Kopierschutz.  >:(

Anyway, it's all been done now and I've tested it as working on a real 6128 Plus.  Thanks for the help with the files tastefulmrship.

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.107
  • Country: br
  • Liked: 1054
  • Likes Given: 1857
Re: Any way to get Elite working on a Plus?
« Reply #17 on: 19:06, 19 September 11 »
Great Work!!! :D Another bug bites the dust  ;D

Offline viddi

  • CPC664
  • ***
  • Posts: 126
  • Liked: 9
  • Likes Given: 0
Re: Any way to get Elite working on a Plus?
« Reply #18 on: 21:14, 19 September 11 »
Wow, thank you VERY much.

This means a lot to me. Danke schön again. :)

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 14.977
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 2949
  • Likes Given: 5121
Re: Any way to get Elite working on a Plus?
« Reply #19 on: 22:06, 19 September 11 »
Excellent work! Added to the wiki! :)

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.644
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 909
  • Likes Given: 1583
Re: Any way to get Elite working on a Plus?
« Reply #20 on: 10:04, 20 September 11 »
CP/M User, I read back through a couple of issues of AA, and after sorting the bug with the tape loading on the 6128 there was no patch to make it plus compatible :( but AA does mention that some plus users were reporting problems with the keyboard.

I remember the problem well cause I only just brought a 6128 second hard. In the loader was a routine to Initiate the Disc ROM. Once I transferred the game to Disc this wasn't a problem, though AA had some writing in to say that even when it was transferred to disc, they still had problems. Plus owners wouldn't have been impressed with Issue 100 then! From memory I think more people complained about the Stormlord censorning or the fact they couldn't transfer it to disc!  :laugh: Perhaps they should of done a little random questionare (in Assembly) to work out who was over 18 and poke in or out the relevant bits?  :laugh: 
* Using some of the hardly used Amstrad compilers :D
* I use Firmware in my Assembly code :P
* Have interpreted some BASIC 1.1 programs for BASIC 1.0. :)

Offline Executioner

  • Supporter
  • 6128 Plus
  • *
  • Posts: 783
  • Country: au
  • WinAPE Developer
    • WinAPE
  • Liked: 390
  • Likes Given: 60
Re: Any way to get Elite working on a Plus?
« Reply #21 on: 03:27, 21 September 11 »
Been looking into this and interestingly WinAPE doesn't emulate the Plus keyboard bug, so it works when using the emulator with a Plus configuration selected.

Actually, it does, but Plus PPI emulation is not turned on by default, even for the Plus profiles since it doesn't actually add any functionality, but simply stops the keyboard working with a few games.

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 10.903
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3841
  • Likes Given: 394
Re: Any way to get Elite working on a Plus?
« Reply #22 on: 10:59, 21 September 11 »
Wouldn't it make more sense to make a modified Plus ROM, rather than change every game that had this issue? Or is that not possible, is the issue in the ASIC?

Bryce.

Offline MaV

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.094
  • Country: at
  • Ius summum saepe summa est malitia.
  • Liked: 385
  • Likes Given: 816
Re: Any way to get Elite working on a Plus?
« Reply #23 on: 11:02, 21 September 11 »
Wouldn't it make more sense to make a modified Plus ROM, rather than change every game that had this issue? Or is that not possible, is the issue in the ASIC?

Bryce.

Arnoldemu's keyboard routine reads the ports directly, no ROM involved, so the issue is in the ASIC.
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.751
  • Country: gb
    • redbox
  • Liked: 326
  • Likes Given: 267
Re: Any way to get Elite working on a Plus?
« Reply #24 on: 20:59, 21 September 11 »

Actually, it does, but Plus PPI emulation is not turned on by default, even for the Plus profiles since it doesn't actually add any functionality, but simply stops the keyboard working with a few games.

That's really helpful to know, thank you Executioner.


Arnoldemu's keyboard routine reads the ports directly, no ROM involved, so the issue is in the ASIC.


It's the order in which you read the ports which creates the problem with the Plus, so yes changing the ROM wouldn't help.


The Elite keyboard scanning routine was actually pretty well written, they just made a critical mistake in the port order.