Author Topic: Imperial Mahjong: CargoSoft new game.  (Read 6676 times)

0 Members and 1 Guest are viewing this topic.

Offline Targhan

  • Supporter
  • 464 Plus
  • *
  • Posts: 418
  • Country: fr
  • Liked: 331
Re: Imperial Mahjong: CargoSoft new game.
« Reply #90 on: 15:37, 26 October 16 »
I already did some size-6 tests, and reading/writing works fine (of course, you WILL get an error every time you will read or write... But this is to be expected, right?). But the non-copyable thing makes it less interesting for a game producer like myself :).


What bug are you talking about? The checksum when reading will never be right, so the result will be an error.

Offline roudoudou

  • CPC6128
  • ****
  • Posts: 289
  • Country: fr
    • urban exploration
  • Liked: 273
Re: Imperial Mahjong: CargoSoft new game.
« Reply #91 on: 15:59, 26 October 16 »
What bug are you talking about? The checksum when reading will never be right, so the result will be an error.


I hoped the FDC 765 behaviour was kind of WD1772 (Atari ST FDC) with sync pattern disabled in some cases. I was wrong


The trick is used by dungeon master, monkey island, etc.

use RASM, the best assembler ever made :p

repeat
call code
call sleep
call eat
until alive==1

Offline Targhan

  • Supporter
  • 464 Plus
  • *
  • Posts: 418
  • Country: fr
  • Liked: 331
Re: Imperial Mahjong: CargoSoft new game.
« Reply #92 on: 16:22, 26 October 16 »
I still don't know what "bug" you're talking about, but you can still read the sectors without too much trouble. You will just get an error every time. In that case, it is better to perform a checksum by yourself for the data that you know are valid. But I guess you thought about that already.

Offline PulkoMandy

  • 464 Plus
  • *****
  • Posts: 320
  • Country: fr
  • Liked: 230
Re: Imperial Mahjong: CargoSoft new game.
« Reply #93 on: 11:18, 27 October 16 »
The "bug" in WDC controllers (used on Atari ST and some Thomson machines) is that the read track command can be made to completely ignore sectors and return an infinite stream of data with some disk formats. As long as it doesn't lose sync with the MFM encoding, that is. But then you have no error detection (no CRC), and you have to do some of the decoding by yourself (finding sector headers in the byte stream). Better let the FDC do the work :).

Offline Targhan

  • Supporter
  • 464 Plus
  • *
  • Posts: 418
  • Country: fr
  • Liked: 331
Re: Imperial Mahjong: CargoSoft new game.
« Reply #94 on: 12:07, 27 October 16 »
Ok thanks! Interesting. Yeah indeed, it's much more reliable and handy to let the FDC do the job :).

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.137
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 1964
Re: Imperial Mahjong: CargoSoft new game.
« Reply #95 on: 15:45, 27 October 16 »
On CPC you can use read track and set N to 6 and EOT to 1. Now you can read the entire track.
You can format data format, and then read all the gaps and id headers etc. (it's one of my new fdc tests).

After formatting you can read every sector ok because the syncronisation is good.

But write a sector and you will see that the fdc will not sync to it properly if you use N=6 and EOT=1 because it was synced to a previous sector. FDC re-syncs for each id field and data field.


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Targhan

  • Supporter
  • 464 Plus
  • *
  • Posts: 418
  • Country: fr
  • Liked: 331
Re: Imperial Mahjong: CargoSoft new game.
« Reply #96 on: 01:27, 31 October 16 »
Mmmh, I'm not sure I understand. Do you mean that, after formatting and WITHOUT writing some sectors, you can read all the data by making a ReadTrack of a size-6 sector?

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.137
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 1964
Re: Imperial Mahjong: CargoSoft new game.
« Reply #97 on: 15:58, 31 October 16 »
Mmmh, I'm not sure I understand. Do you mean that, after formatting and WITHOUT writing some sectors, you can read all the data by making a ReadTrack of a size-6 sector?
Yes.

Example:

Format track with c1-c9 size 2.

Use read track, N=6, EOT=1.

Data starts with sector c1 data field. You then get all the gaps, sync marks, id fields and data fields for all the other sectors to end of track and because you didn't write, the sync data is perfectly done so that you can read it all. At end of track the fdc looses sync, so you can see a pattern that looks like id for c1 and for the index "id", but it's not synced.

Now, format the track c1-c9 and write to sector c2.

Use read track, N=6, EOT=1.

Data starts at sector c1, the fdc is synced on that. c2 data can't be seen the fdc doesn't attempt to re-sync on it because it is still reading a sector of size 8192 bytes. You can see the pattern of syncs and data but the bytes are different because it is not synced.





My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Targhan

  • Supporter
  • 464 Plus
  • *
  • Posts: 418
  • Country: fr
  • Liked: 331
Re: Imperial Mahjong: CargoSoft new game.
« Reply #98 on: 20:22, 01 November 16 »
So basically... You can't use this technique at all, except for empty track, right ? :)

Offline alex76gr

  • CPC664
  • ***
  • Posts: 133
  • Country: gr
  • Liked: 81
Re: Imperial Mahjong: CargoSoft new game.
« Reply #99 on: 23:32, 01 November 16 »
 :o :o :o
There are no words...
Congratulations and thank you guys!
I still believe that i got my myopia from the green GT-65 monitor, but i can't prove it! :)