News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Targhan

Imperial Mahjong: CargoSoft new game.

Started by Targhan, 06:46, 10 October 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

remax

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/


QuoteDue 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.
Brain Radioactivity

GFXOR

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

Targhan


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

You're joking, aren't you? :)
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

GFXOR

#78
Quote from: Targhan on 17:53, 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 !
Supersly from the Les sucres en morceaux

SRS

Quote from: GFXOR on 18:10, 16 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 !

Targhan

Yeeeeah, for this one I think I'll handle the design, and Super Sylvestre the code. Suits me better.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

eliot

Absolutely brilliant production... Well done!


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

keith56

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 Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

beb

@Targhan : How many percent, did your game reach on a Rhino's scale ?
I'm curious...
>> Oldskool Rules // Asic Suxx <<

Targhan

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!
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

roudoudou

Quote from: Targhan on 20:03, 13 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!

My pronouns are RASM and ACE

Targhan

#86
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 :) .
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

roudoudou

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.
My pronouns are RASM and ACE

Targhan

#88

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


QuoteAnyway 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.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

roudoudou


Quote from: Targhan on 12:58, 26 October 16It 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...


Quote from: Targhan on 12:58, 26 October 16
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



My pronouns are RASM and ACE

Targhan

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.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

roudoudou

Quote from: Targhan on 13:37, 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.

My pronouns are RASM and ACE

Targhan

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.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

PulkoMandy

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

Targhan

Ok thanks! Interesting. Yeah indeed, it's much more reliable and handy to let the FDC do the job :).
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

arnoldemu

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

Targhan

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?
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

arnoldemu

Quote from: Targhan on 00: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?
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

Targhan

So basically... You can't use this technique at all, except for empty track, right ? :)
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

alex76gr

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

Powered by SMFPacks Menu Editor Mod