News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Puresox

The Duct-- Gremlin Graphics. Game glitches after 1st play?

Started by Puresox, 00:17, 15 January 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Puresox

This game is pretty good , I think it was  Amstrad Action free tape back in the day. All the versions I have access too only allow me to play once and then the game corrupts leaving graphic trails on the screen and generally being a pain. I admit I am using WinApe to play it ,but I seem to remember it doing it on my 464, with an original copy years ago. Has anyone else come across problems with this game and or knows how to rectify, or is aware of a good Rom   of it ?

ralferoo

I remember having this game back in the day. I don't have a copy any more sadly, but I know it definitely didn't crash after each level or I'd never have kept playing it... I also don't remember buying it, so it's probably a good bet it was on an AA covertape at some point, in which case there's bound to be copies of the real tape floating around. :)

tastefulmrship

The game was an AA exclusive and was never sold in the shops.

Try using the CPC-Power copy of the game; http://www.cpc-power.com/index.php?page=detail&onglet=dsk&num=774 and if it still doesn't work, then try it in JavaCPC or a different emulator. I've tried various combinations of WinAPE configurations and I cannot get it to corrupt or crash.

Bryce

One of my favourite AA Games and I still have the original AA tape. I haven't tested it lately and can't remember if it crashes, but I can do.
I can also convert it, if someone tells me how to make a CDT or DSK from a real tape. I haven't done this before.

Bryce.

Puresox

I will give some of these tips a whirl ,see how I get on ,and maybe alter the cpc settings?

Nich

Here's a CDT file of the Amstrad Action covertape containing The Duct, as well as other programs, that I made a while ago.

I like this game but I've always found it to be very difficult! Even the first level is pretty tough to complete.

Puresox

Tis tough-ish little game.


I'm still having the same problems with it ,even with the Rom posted in thread earlier. I progress to level 2 ,then halfway thru the level ,it behaves as if I had completed the level , but then starts up on Duct 1 again and goes thru the start up procedure with the car being raised up to begin game ,with another car already on screen , so you have two cars , one overlapping one another , revealing itself when you jump????the game just becomes complete mess and has to be reset. Nuisance.

Cholo

Record loading:

The Duct is one of those games that sufferes from using the firmwares "record" loading mecanics. Unlike the safe loading with the normal "block" system where you get a "Error X" if something goes wrong .. the record system blindly loads what you request of it .. even if it encounters a error or prematurely stops it still continues the machine program. And programmers rarely programmed any kind of error check into their games it seem (not even a crc check).

Pretty sure i managed to load The Duct once even though it failed loading halfway thru loading the score screen .. of cause the game still continued loading and was playable. Only issue was a couple of missing lines on the screen.

Quite a few amstrad game dumps suffers from being only partially loaded in the dumping process (aka the only way to 100% know if the game has been properly dumped is by examining the original game loader code). Also even if the game has been properly dumped it can still fail to load as a CDT in a emulator completely without the user knowing.

How bad it can go you can see with Jack and the Beanstalk where the original factory tapes has a giant "Error A" somewhere but the game still loads and is playable untill you get to about screen 4 .. i assume that is why the game managed to get into the shops as well. Thankfully there is a dump floating around out there where they fixed the game so its playable beyond screen 4.

Compatability & size:

The Duct is one of the early games so it may be slightly 6128-incompatible. Definately worth having a go at changing your emulator profile to "464" and perhaps even disable additional roms etc.


Puresox

Nope! Still no bloody good, still buggers up at the same point , might just be an emulation thing . Shame my monitor is messed up on my actual 464 ! Anyone know what the common problems are with 464 monitors (colour) btw?

tastefulmrship

Quote from: Puresox on 02:50, 18 January 13
Nope! Still no bloody good, still buggers up at the same point , might just be an emulation thing .
Can you post screenshots of your WinAPE configuration screens and a shot of The Duct after it has crashed?

Bryce

Quote from: Puresox on 02:50, 18 January 13
Nope! Still no bloody good, still buggers up at the same point , might just be an emulation thing . Shame my monitor is messed up on my actual 464 ! Anyone know what the common problems are with 464 monitors (colour) btw?

What's your monitor doing / not doing. Start a new thread about it in the Hardware section.

Is there any way of getting The duct onto DSK? Would it require a new loader being written?

Bryce.

cngsoft

Quote from: Bryce on 11:36, 18 January 13Is there any way of getting The duct onto DSK? Would it require a new loader being written?
It's already been done, I compacted it in http://cngsoft.no-ip.org/THEDUCTA.DSK.ZIP ; I used the CDT from earlier in the thread as the base.
(if you can't see the banner right now my server is currently offline)

db6128

Quote from: Cholo on 17:18, 17 January 13Record loading:

The Duct is one of those games that sufferes from using the firmwares "record" loading mecanics. Unlike the safe loading with the normal "block" system where you get a "Error X" if something goes wrong .. the record system blindly loads what you request of it .. even if it encounters a error or prematurely stops it still continues the machine program. And programmers rarely programmed any kind of error check into their games it seem (not even a crc check).
Are you referring to the firmware's CAS READ, i.e. the 'primitive' routine that CAS IN DIRECT (i.e. the standard loader) overlays to read the header and then the blocks of data? Contrary to what you seem to be stating here, it does indeed have protection against errors: It checks parity bytes for every 256 bytes loaded from tape and returns with a specific configuration of flags if a mismatch occurs, as I can attest after reprogramming it to run in RAM about a month ago.
Quote from: Devilmarkus on 13:04, 27 February 12
Quote from: ukmarkh on 11:38, 27 February 12[The owner of one of the few existing cartridges of Chase HQ 2] mentioned to me that unless someone could find a way to guarantee the code wouldn't be duplicated to anyone else, he wouldn't be interested.
Did he also say things like "My treasureeeeee" and is he a little grey guy?

ralferoo

Quote from: db6128 on 03:23, 19 January 13
Are you referring to the firmware's CAS READ ... Contrary to what you seem to be stating here, it does indeed have protection against errors ...
The point he was making is that a lot of people never bothered to check for the returned error status.

Cholo

Quote from: db6128 on 03:23, 19 January 13
Are you referring to the firmware's CAS READ, i.e. the 'primitive' routine that CAS IN DIRECT (i.e. the standard loader) overlays to read the header and then the blocks of data? Contrary to what you seem to be stating here, it does indeed have protection against errors: It checks parity bytes for every 256 bytes loaded from tape and returns with a specific configuration of flags if a mismatch occurs, as I can attest after reprogramming it to run in RAM about a month ago.
True, The firmware "record" routine isnt the culprit as it dosnt do the "blind" reading that i mentioned. It even returns different codes when it encounters different errors (i think). The "blindness" is purely a human fault for rarely taking advantage of the feedback.

But you could also argue that even a partially loaded program is still much better than nothing loaded at all.

No doubt the 464 cassette mechanic is really good quality as well. I cant recall ever having troubles with the backups i made using the 464. Infact i cant even recall one single time having a failed load with the"record" backsup i made (mainly of all those flimsy AA covertapes).

db6128

Yes, it is a really clever routine, which even I can attest from my re-implementation of the code, despite not understanding most of it. :D

The cleverest parts, IMO, are the automatic detection of reading speed and how it uses the R register to time edges very precisely without having to expend CPU power on manual counting. The latter also meant that I could add extra code between the XOR A:LD R,A and the timing check, without having to adjust any constants. Also, it can reach high baud rates without breaking a sweat! In both cases: take that, Spectrum! ;)

Its resilience shows in the fact that it managed to load a file on my old 464, whose tape drive had gotten really ill with age: slow, ridiculous levels of wow, etc., but still loaded after a couple of false starts once it got up to speed.
Quote from: Devilmarkus on 13:04, 27 February 12
Quote from: ukmarkh on 11:38, 27 February 12[The owner of one of the few existing cartridges of Chase HQ 2] mentioned to me that unless someone could find a way to guarantee the code wouldn't be duplicated to anyone else, he wouldn't be interested.
Did he also say things like "My treasureeeeee" and is he a little grey guy?

ralferoo

Quote from: db6128 on 18:22, 20 January 13
Yes, it is a really clever routine, which even I can attest from my re-implementation of the code, despite not understanding most of it. :D
LOL, that reminds me of when I ported the Speccy ROM's save routine to the Amstrad back in about 1987. I managed to recalculate the timings by working from a book from the library that had a commented disassembly that had the timings in T-states for each block. I managed to "adjust" them for the CPC, but at that time I had no idea that the T-state timings didn't really apply on the CPC!

Still, the files it saved could be loaded on the CPC with a speccy loader that someone else had ported and on a real Spectrum, so I was none the wiser than it was only working through luck!

That reminds me... back then I tried to make a multi-platform game with a friend who only had a Speccy. It had an Amstrad loader, a speccy loader and then some common code. I spent so much effort into making the cross-platform stuff work that we didn't have any time for working on the "game", which pretty much was just a message and a single blob that you could move round the screen, so not even up to the standards of pong! :)

db6128

Hahaha, almost the exact thing happened to me when I was tinkering with Kevin's modified Toposoft loader (available in another thread here or with Blue Angel) – I decided to try to speed up the baud rate by adjusting the timing constants, did some really crude calculations based upon almost no knowledge (and, I still suspect, misunderstanding), realised that I was technically incorrect due to rounding and stuff, chose a number anyway, and it worked!  :laugh:  I'm probably pushing the limits of tolerance of that particular method of timing, though!

As for your game, my friend and I didn't even get that far: we got a title, which was just a phrase that he liked with no gaming context at all, and a tacky BASIC-generating title-screen with some stars, some text, a planet, and a character that orbited it in a circle. But one day... it shall be an actual game.  ;)
Quote from: Devilmarkus on 13:04, 27 February 12
Quote from: ukmarkh on 11:38, 27 February 12[The owner of one of the few existing cartridges of Chase HQ 2] mentioned to me that unless someone could find a way to guarantee the code wouldn't be duplicated to anyone else, he wouldn't be interested.
Did he also say things like "My treasureeeeee" and is he a little grey guy?

Powered by SMFPacks Menu Editor Mod