News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Badstarr

Any way to get Elite working on a Plus?

Started by Badstarr, 02:17, 19 September 11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Badstarr

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! :-)

redbox

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.

AMSDOS

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 the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

redbox

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.




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

redbox

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:

Badstarr

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! :-)

Badstarr

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! :-)

Badstarr

#7
Sorry...I was being a bit dumb and clicking on the wrong thing lol! WORKS GREAT REDBOX YOU'RE A GENIUS!
Proud owner of 464 GTM64 6128 GTM65, GX4128 and a 464/6128 Plus Hybrid a 20 year long ambition realised! :-)

redbox

Quote from: Badstarr on 12:46, 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  :)

viddi

Thanks a lot, redbox.

Any chance to get a fixed German version of Elite?


redbox

Quote from: viddi on 13:34, 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?

tastefulmrship

#11
Quote from: redbox on 13:55, 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!

redbox

Quote from: tastefulmrship on 14:21, 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.


tastefulmrship

#13
Quote from: redbox on 14:40, 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.

redbox

Quote from: tastefulmrship on 14:43, 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.

tastefulmrship

#15
Quote from: redbox on 14:50, 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!

redbox

Quote from: tastefulmrship on 14:58, 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.

SyX

Great Work!!! :D Another bug bites the dust  ;D

viddi

Wow, thank you VERY much.

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

Gryzor


AMSDOS

Quote from: Badstarr on 12:43, 19 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 the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Executioner

Quote from: redbox on 11: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.

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.

Bryce

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.

MaV

Quote from: Bryce on 08: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.

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."

redbox


Quote from: Executioner on 01:27, 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.


Quote from: MaV on 09:02, 21 September 11
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.

Powered by SMFPacks Menu Editor Mod