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

0 Members and 1 Guest are viewing this topic.

Offline remax

  • 6128 Plus
  • ******
  • Posts: 1.005
  • Country: fr
  • Liked: 329
Re: Imperial Mahjong: CargoSoft new game.
« Reply #75 on: 16:21, 16 October 16 »
http://forums.bannister.org/ubbthreads.php?ubb=cfrm


then MAME and the "cpc 6128 - demo" topic


If you want to register, don't forget to send a mail : http://www.bannister.org/email/


Quote
Due to a large quantity of spam posts to this forum, newly registered users need to contact the board administrator in order to have their accounts made live. To do this, send an e-mail quoting your username, real name, and a list of emulators that you are interested in (this is solely to prove that you are human rather than a spam bot!). Messages without this information will be ignored.

Offline GFXOR

  • CPC464
  • **
  • Posts: 39
  • Country: 00
    • Les Sucres en Morceaux
  • Liked: 43
Re: Imperial Mahjong: CargoSoft new game.
« Reply #76 on: 19:45, 16 October 16 »
Thank you all for your laudatory words.

We are proud that you like EGX & EGX2. It is not really easy to use. But now I have worked on it, I hardly come back to the classic modes 0 or 1. When I drew it, I always felt that the trick was really easy to discover. But now, I know it was not so obvious.

It will be hard to surprise you again for the next Cargosoft game.
Supersly from the Les sucres en morceaux

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
Re: Imperial Mahjong: CargoSoft new game.
« Reply #77 on: 19:53, 16 October 16 »

Quote
It will be hard to surprise you again for the next Cargosoft game.

You're joking, aren't you? :)

Offline GFXOR

  • CPC464
  • **
  • Posts: 39
  • Country: 00
    • Les Sucres en Morceaux
  • Liked: 43
Re: Imperial Mahjong: CargoSoft new game.
« Reply #78 on: 20:10, 16 October 16 »
You're joking, aren't you? :)
Of course, because (choose the right answer) :
  • There won't be any other Cargosoft game
  • We already know how to surprise you
  • The next game will be PONG with a real surprising oldschool analog effect
  • We both leave the team and some 2 other mystery people will replace us : SURPRISING !
  • The next Cargosoft project is a database software, very addictive.
  • To run our next game, you will need... tintintin...  an IPhone !
« Last Edit: 20:49, 16 October 16 by GFXOR »
Supersly from the Les sucres en morceaux

Offline SRS

  • Supporter
  • 464 Plus
  • *
  • Posts: 491
  • Country: de
  • Schneider CPC464 - what else ?
  • Liked: 469
Re: Imperial Mahjong: CargoSoft new game.
« Reply #79 on: 00:02, 17 October 16 »
  • The next Cargosoft project is a database software, very addictive.

This is so COOL. I hope it is PL/SQL compatible, so I can earn some of my wage directly on the CPC !

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
Re: Imperial Mahjong: CargoSoft new game.
« Reply #80 on: 01:11, 17 October 16 »
Yeeeeah, for this one I think I'll handle the design, and Super Sylvestre the code. Suits me better.

Offline eliot

  • CPC664
  • ***
  • Posts: 86
  • Country: fr
    • Benediction - demogroup since 1995
  • Liked: 56
Re: Imperial Mahjong: CargoSoft new game.
« Reply #81 on: 15:51, 18 October 16 »
Absolutely brilliant production... Well done!


Awesome graphical work regarding the 1st steps seen some years ago...

Offline keith56

  • ちび悪魔!
  • Supporter
  • 464 Plus
  • *
  • Posts: 380
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akuma(s)
  • Liked: 615
Re: Imperial Mahjong: CargoSoft new game.
« Reply #82 on: 01:21, 24 October 16 »
Stunning work here - I was racking my brains to figure out how the heck they could get Mode 0 colors on Mode 1! Very, very clever programming
Its really incredible to see what new ideas people can realise on such an old system!
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter for CPC - http://www.chibiakumas.com
「チビ悪魔」可笑しいゴシックSTG: http://www.chibiakuma.com
Chibi Akumas Episode 2:Confrontation...Out Now!

Offline beb

  • CPC464
  • **
  • Posts: 30
  • Country: fr
  • Liked: 32
Re: Imperial Mahjong: CargoSoft new game.
« Reply #83 on: 01:57, 24 October 16 »
@Targhan : How many percent, did your game reach on a Rhino's scale ?
I'm curious...
>> Oldskool Rules // Asic Suxx <<

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
Re: Imperial Mahjong: CargoSoft new game.
« Reply #84 on: 10:25, 24 October 16 »
Ahah, excellent question, I really don't know, since I don't know what a "100%" game would mean :). I will wait for his "40%" Pinball (which should already be very exciting) to weigh in!

Offline roudoudou

  • 464 Plus
  • *****
  • Posts: 477
  • Country: fr
    • urban exploration
  • Liked: 528
Re: Imperial Mahjong: CargoSoft new game.
« Reply #85 on: 10:59, 26 October 16 »
  • Sample during the loading of the game at FDC full speed.


The FDC is always reading at full speed (if not, you get a timeout error - ET1 bit 4). Maybe you mean without retries ;)


The clever part is the sector list translation between each tracks to optimize track change.


Nice tuning!

use RASM, the best assembler ever made :p

I will survive

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
Re: Imperial Mahjong: CargoSoft new game.
« Reply #86 on: 12:24, 26 October 16 »
No, that is not what I meant. Generally speaking, the FDC is indeed reading at full speed, and no retry is needed (on the software side), error excepted. But the time spent by your code between reading sectors can make you miss the next sector. Which is probably why Amsdos sectors are interlaced when formatting a Data track (try to format linearly: the loading is much much much slower). But it is not an error in itself: the FDC considers it can not find a sector only when it has reached *twice* the end of the track.

The way to make the FDC run at "full speed" is to always be sure to feed him with the right sectors, including when changing track, so that it doesn't have to wait for the next round. It seems obvious, yet I didn't see many loading code that managed it correctly. Never with 10 sectors track, actually. So try to beat me, lamerzzz :) .
« Last Edit: 12:45, 26 October 16 by Targhan »

Offline roudoudou

  • 464 Plus
  • *****
  • Posts: 477
  • Country: fr
    • urban exploration
  • Liked: 528
Re: Imperial Mahjong: CargoSoft new game.
« Reply #87 on: 13:05, 26 October 16 »
Amsdos is slow because he read a sector list. Your loader will be slower than amsdos with fragmented files ;)
Anyway it's possible to be faster with sector 6 format as you did not specify if the floppy has to be written by a cpc. Then  you have one kb more data (+20%) in the exact same time.
Need an amiga or kryoflux to write it...
Cheaper version is to create a HFE.
use RASM, the best assembler ever made :p

I will survive

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
Re: Imperial Mahjong: CargoSoft new game.
« Reply #88 on: 14:58, 26 October 16 »

Quote
Your loader will be slower than amsdos with fragmented files

Absolutely not, why would that be? I also read a sector list.
Amsdos is slow because he does stuff after reading each sectors (which is not abnormal for an OS). You have less than a HALT of "free" time between two consecutive sectors to "do stuff". Passed this, you've missed the next sector and the FDC has to wait for the next round.


Quote
Anyway it's possible to be faster with sector 6 format as you did not specify if the floppy has to be written by a cpc. Then  you have one kb more data (+20%) in the exact same time.

Not true. Your sector will start at the start of the track. By the time you read all the data, you WILL go beyond the end of the track (because size 6 is bigger than the real track size). You will go to the next track, but by the time you do that, the head will probably be in middle of the next track when being ready to read the only sector of the track. One more round to wait...

It is probably possible to do like you say if you are able to start the writing of your unique sector in "mid" track. I know a real-cpc technique to do that, but an Amiga may be able to do it more simply. So let's pretend you can shift sectors like I did for Orion Prime and Imperial Mahjong, but for size-6 sectors.

BUT: even if you have a nice track layout, since you actually encode more data than needed (because size 6), you will read real data + garbage data. So there won't be, I think, any gain of speed. Unless you stop reading after a certain amount of read data (by provoking an overrun), but then it's really not clean.

So to sum up: it's nice for the technical challenge, but I don't think you will have real benefits for sooo much trouble.
« Last Edit: 15:00, 26 October 16 by Targhan »

Offline roudoudou

  • 464 Plus
  • *****
  • Posts: 477
  • Country: fr
    • urban exploration
  • Liked: 528
Re: Imperial Mahjong: CargoSoft new game.
« Reply #89 on: 15:12, 26 October 16 »

It is probably possible to do like you say if you are able to start the writing of your unique sector in "mid" track. I know a real-cpc technique to do that, but an Amiga may be able to do it more simply. So let's pretend you can shift sectors like I did for Orion Prime and Imperial Mahjong, but for size-6 sectors.


BUT: even if you have a nice track layout, since you actually encode more data than needed (because size 6), you will read real data + garbage data. So there won't be, I think, any gain of speed. Unless you stop reading after a certain amount of read data (by provoking an overrun), but then it's really not clean.


That's exactly my point, shift sector 6 and do not read more than 6000 bytes. I tried this on a CPC (format+write+read) by using read track command but it seems that there is not the same FDC bug like on the Atari ST. So the read command fail with the wrong format bit set as my 12 zero synchro bytes are not corrects...


So to sum up: it's nice for the technical challenge, but I don't think you will have real benefits for sooo much trouble.




Of course, it's a technical challenge  ;D



use RASM, the best assembler ever made :p

I will survive

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
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

  • 464 Plus
  • *****
  • Posts: 477
  • Country: fr
    • urban exploration
  • Liked: 528
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

I will survive

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
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: 334
  • Country: fr
  • Liked: 265
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
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
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.273
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2153
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
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
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.273
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2153
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
  • 6128 Plus
  • *
  • Posts: 662
  • Country: fr
  • Liked: 597
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! :)