Author Topic: Eliminator (Hewson) on Amstrad CPC 6128+  (Read 1555 times)

0 Members and 1 Guest are viewing this topic.

Offline dragon

  • 6128 Plus
  • ******
  • Posts: 1.312
  • Country: es
  • Liked: 548
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #25 on: 12:03, 18 December 17 »

That is the teory explanation copy paste from grimware site:






When no device is driving the bus, it's lines are left like disconnected, floating in the air, therefore no real value is fixed on the bus. Usually, no device should try to read the bus in such a state because there's actually nothing to read on it. Nevertheless, if you try do so, for example from BASIC with a PRINT INP(&FFFF), a value is returned. So where this value comes from?
In order to register a 0 on a line, current has to be actively sunk out. If the bus is read while all devices are tri-stated, nothing sinks the current, thus &FF is read. But the more stuff is connected to the bus, the more stray capacitance gets added to the lines, the slower the lines will be able to change their state. For example, if the bus contains &00 just before being left un-driven, it will take some time before the stray capacitance rise to 1 again. If the bus is read in the meantime, the voltage won't cross the TTL high level and a zero will be read.
On the Amstrad, there's only once case where you have to deal with this floating bus value, which is when you want to use the Z80 vectorized interrupts mode (See the Z80 IM2 documentation), and that's all.
The floating value on the databus of a bare CPC is usually &FF, but may also even changes periodically (especially, for some unknown reason at the moment, on CPCs fitted with CRTCtype 1). On a bare Amstrad Plus, this is usually &78 (no idea why it's not &FF, I bet there's some ASIC mystery involved here).




Any program relying on a floating bus value prediction WILL FAIL. Any programmer doing such crap will be flamed all over the intarweb and fucked in mighty hardware scrollers! I warned you!
« Last Edit: 14:19, 04 January 18 by Gryzor »

Offline Phantomz

  • 6128 Plus
  • ******
  • Posts: 1.072
  • Country: gb
  • Liked: 1465
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #26 on: 13:48, 18 December 17 »
Nice work, Dragon!  :)


And to Phantomz as well to make it for the GX4000

I hadn't made it GX4000 friendly, it was now plus friendly with a Trainer and in cpr format for quick easy loading.  ;)

I've looked into making this GX4000 friendly.

I've made the Trainer GX4000 friendly, it is now also in English, I've removed the level code list as unsure how to get these changed at the moment.

However the game is fully playable from start to finish including the highscore table, therefore @remax may wish to add this game.  ;D

The GX4000 version is now joypad only, pause the game with joypad button 2, joypad button 1 or 2 to unpause, you can also press joypad button 2 to turn music on or off.

Whilst paused you can press the console pause button to quit game, this only works in a normal game with no trainer cheat option on.

Hopefully the codes can be sorted at a later time, however like I said the game is fully playable on the GX4000 now.  ;D

Offline dragon

  • 6128 Plus
  • ******
  • Posts: 1.312
  • Country: es
  • Liked: 548
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #27 on: 14:24, 18 December 17 »
Codes? I think i view it in plain text right before the subrutine

Offline Phantomz

  • 6128 Plus
  • ******
  • Posts: 1.072
  • Country: gb
  • Liked: 1465
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #28 on: 14:47, 18 December 17 »
Codes? I think i view it in plain text right before the subrutine

You type them on the main screen to load levels.

02 = BLOSP
 03 = ASDEL
 04 = XPLRT
 05 = GLPWM
 06 = EOCKQ
 07 = LFPRT
 08 = WMCPR
 09 = SPQNJ
 10 = ZPEML
 11 = ELVPQ
 12 = CPEMF
 13 = APXYQ
 14 = PWVAR

In the game it show as " BLOSÐASDEÌXPLRÔGLPWÍEOCKÑLFPRÔWMCPÒSPQNÊZPEMÌELVPÑCPEMÆAPXYÑPWVAÒ ".

The first four letters are readable with the fifth being in code, for example P = D0, R = D2, T= D4, G = C7, F = C6.

I can change the fifth coded letter ok, but if I change the first four the code will not work, we need to change these code to some that we can enter with the game pad/s.  ;)

Offline dragon

  • 6128 Plus
  • ******
  • Posts: 1.312
  • Country: es
  • Liked: 548
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #29 on: 23:41, 20 December 17 »
I think when you enter a letter in &5688:

He read buffer keyboard code: in form FF FF FF FF FF FF FF FF FF FF
                                                              0  1   2  3   4  5   6  7  8   9  ->keyboard line.

Then, he read compare  these line/key in ram from &569d-&56cf

ram content:

08 DF 06 BF 07 BF 07 DF 07 FB 06 DF 06 EF 05 EF 04 F7 05 DF 04 DF 04 EF 04 BF 05 BF 04 FB 03 F7 08 F7 06 FB 07 EF 06 F7 05 FB 06 7F 07 F7 07 7F 05 F7 08 7F

So you need select and change the  letters to equivalent in joystick.

09 df ->button 2 =41 in pasword zone
09 f7 ->right=42 in pasword zone
09 fb ->left=43 in pasword zone
09 fe->up=44 in pasword zone
09 fd->down=45 in pasword zone

And then put the codes in the pasword zone. (take mind the encripted) number+&80. they should work.
« Last Edit: 00:05, 21 December 17 by dragon »

Offline pelrun

  • VK4CPC
  • Supporter
  • 464 Plus
  • *
  • Posts: 485
  • Country: au
    • index.php?action=treasury
  • Liked: 231
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #30 on: 00:04, 21 December 17 »
Just FYI, that's not encryption, the high bit is set as an end-of-string marker. The firmware uses the exact same scheme for RSX name tables.

Offline Nich

  • Supporter
  • 6128 Plus
  • *
  • Posts: 592
  • Country: gb
  • CPC Game Reviews webmaster
    • CPC Game Reviews
  • Liked: 392
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #31 on: 18:02, 23 December 17 »
Nice work @dragon  8)

I've applied your fix and also the level 12 bug fix to the XOR version, I did this so we have a version with a Trainer and also so that we can have it in cpr format.  ;D

I have patched @cngsoft's crack of Eliminator and uploaded it to NVG. However I don't have a real Plus machine to test it. :(

Thanks very much for fixing this bug, @dragon!

Offline DanyPPC

  • CPC664
  • ***
  • Posts: 122
  • Country: it
  • Liked: 35
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #32 on: 19:31, 23 December 17 »
Hello Nich, i tested successfully this new patched version on my CPC 464+ 6128+ and MiST with FPGA Amstrad CPC 6128 Core !!!


Has this version the gxf bug patched on level 12 ?


Thank you very much.
CPC 464 with USB Floppy Emulator / CPC 464+ with USB Floppy Emulator / CPC 6128+ with C4CPC and Gotek HxC USB Drive Emulator

Offline Nich

  • Supporter
  • 6128 Plus
  • *
  • Posts: 592
  • Country: gb
  • CPC Game Reviews webmaster
    • CPC Game Reviews
  • Liked: 392
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #33 on: 19:55, 23 December 17 »
Hello Nich, i tested successfully this new patched version on my CPC 464+ 6128+ and MiST with FPGA Amstrad CPC 6128 Core !!!

Great news!

Quote
Has this version the gxf bug patched on level 12 ?

Yes, the graphical glitch on level 12 has been fixed as well. :)

Offline DanyPPC

  • CPC664
  • ***
  • Posts: 122
  • Country: it
  • Liked: 35
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #34 on: 21:31, 23 December 17 »
Very well, tested level 12, gfx OK !


 ;)
CPC 464 with USB Floppy Emulator / CPC 464+ with USB Floppy Emulator / CPC 6128+ with C4CPC and Gotek HxC USB Drive Emulator

Offline dragon

  • 6128 Plus
  • ******
  • Posts: 1.312
  • Country: es
  • Liked: 548
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #35 on: 12:30, 24 December 17 »
I have patched @cngsoft's crack of Eliminator and uploaded it to NVG. However I don't have a real Plus machine to test it. :(

Thanks very much for fixing this bug, @dragon!


I don't think is a bug really. Is programed to made a reset if he detect  the bus is not empty in certain cases. I don't know the reason maybe antipiracy, or maybe can be something that during development.They have some device attached in the bus and when he send some signal to the bus they can be force jump to 0000, (but with another rom loaded externally in 0000)  how knows. I don't know if originally the game work with a cpc with crtc 1.
« Last Edit: 12:54, 24 December 17 by dragon »

Offline Phantomz

  • 6128 Plus
  • ******
  • Posts: 1.072
  • Country: gb
  • Liked: 1465
Re: Eliminator (Hewson) on Amstrad CPC 6128+
« Reply #36 on: 20:57, 24 December 17 »
I have patched @cngsoft's crack of Eliminator and uploaded it to NVG. However I don't have a real Plus machine to test it. :(

Thanks very much for fixing this bug, @dragon!

Thanks for this @Nich , is it possible to make the Trainer GX4000 friendly, Mainly the " First Stage " option, maybe make it so can choose with the dpad instead of needing to press a key.

The rest of the options can have 1 for Yes, 2 for No.

I know @dragon does this for level select's on XOR games.  ;)