News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Ast

X-Mass Application

Started by Ast, 15:18, 04 March 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ast

Before starting the coding, I need to know what are your expectations ?

Ideas are welcome, of course.

_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

||C|-|E||

Humm... I am going to say something stupid. It turns out that the device seems to perform much, much faster than the floppy drive. It would be awesome to be able to use it in CP/M Plus like a super-big hard drive. Thinks like our adventure would benefit immensely from it. Not to mention how great would be able to use this in combination with X-MEM in CP/M supporting automatic bank switching. We could create awesome games with this using the standard tools we have available, at least adventure games  :laugh:

Kris

I think every X-Mass owner would like to have first a ROM which contains:
- X-Mass driver
- X-Mass formater (alreayd exist, isn't it ? :D )
- X Mass RSXs to access file under AMSDOS (read, write, folders etc...)


In ccl, everybody expect a clone of the ACME Rom ???

merlinkv

Quote from: Kris on 15:40, 04 March 16
I think every X-Mass owner would like to have first a ROM which contains:


- X-Mass driver
- X-Mass formater (alreayd exist, isn't it ? :D )
- X Mass RSXs to access file under AMSDOS (read, write, folders etc...)

In ccl, everybody expect a clone of the ACME Rom ???

Totally agree  :)

I want to use my X-MASS DoM 128M (or greater, maybe 1GB/2GB? ) to create one or more partitions, directories, ... and read,copy,write from & to floppy drives. Also I want to work with apps & play games from the DoM.

Similar tasks that I can do it with my ZX's ... +2A/+2B & +3


Munchausen

#4
Quote from: ||C|-|E|| on 15:33, 04 March 16
Not to mention how great would be able to use this in combination with X-MEM in CP/M supporting automatic bank switching.

It would be nice to have a C library that can do allocation and object retrieval while automatically performing bank switching for you. However, you'd need to have some way of doing it optimally. The compiler could probably help, but it's not a completely static problem. I also don't know if you'd be able to detect all cases of dangling pointers statically (where you have a pointer hanging around that is for the wrong bank), so it would still require careful coding. I can't help thinking that there must be some kind of abstraction that can make life easier anyway, though TBH I think you would probably never be able to write code as efficient as that using manual bank switching (hey, it's nice to dream)!

Edit: Aha, it has been done before :) http://sydney.edu.au/engineering/it/~scholz/publications/cases06.pdf
Edit2: Hmm, apparently gcc can do it (but not automatically) for code using the "far" directive (for the 68HC11 and 68HC12 backends). I don't know if this work looks at data as well, which would seem to be a much harder problem.
Edit3: Actually they are only looking at minimising the bank switching instructions, not at automatically assigning code/data to banks. So not so useful :(
Edit4: This is the ticket: EMBARC

||C|-|E||

#5
The thing is that if automatic bank switching could be implemented in the operating system, even if it is slow, tools like PAWS would recognize the extra memory automatically and this would be completely transparent for the user of the framework. Speed is something not critical if we talk about a text adventures... of course, the other option is to develop a new and better framework that already uses these features and runs in a more suitable operating system, but this seems a harder task  :'(

In any case, having X-MASS support in CP/M Plus would be a blast, because I am loading the pictures in real time from the floppy drive, and this is not fast by any means  :-X If I could install the game on it it would be awesome.

Munchausen

Quote from: ||C|-|E|| on 19:53, 04 March 16
The thing is that if automatic bank switching could be implemented in the operating system, even if it is slow, tools like PAWS would recognize the extra memory automatically and this would be completely transparent for the user of the framework. Speed is something not critical if we talk about a text adventures... of course, the other option is to develop a new and better framework that already uses these features and runs in a more suitable operating system, but this seems a harder task  :'(

I don't think having an automatic system that is not too bad is that hard, but doing it in a principled, optimal way is. Without doing that you will probably get odd corner cases. For some things it would be fine, for sure.

Quote from: ||C|-|E|| on 19:53, 04 March 16
In any case, having X-MASS support in CP/M Plus would be a blast, because I am loading the pictures in real time from the floppy drive, and this is not fast by any means  :-X If I could install the game on it it would be awesome.

True. I got bit off topic.

netmercer


Quote from: ||C|-|E|| on 19:53, 04 March 16
In any case, having X-MASS support in CP/M Plus would be a blast, because I am loading the pictures in real time from the floppy drive, and this is not fast by any means  :-X If I could install the game on it it would be awesome.

Hi,
I modified my CP/M+ in order to access X-MASS.
Certainly it's not perfect, but it works for me. Currently I have four additional drives available (E:1MB, F:512K, G:,H:8MB). The drives are different, because I'm playing around with allocation tables, hashing, data and dir buffers and so on.
(to keep things simple I used CHS, no partitions table and other simplifications)
In addition I'm using a RAM expansion, which is not dktronics compatible.

Perhaps look at this:
Re: X-MASS, a mass-storage expansion for all CPC.

Kind regards
netmercer

HAL6128

Quote from: Ast on 15:18, 04 March 16
Before starting the coding, I need to know what are your expectations ?

Ideas are welcome, of course.
I started working on a file manager. It should have the look an feel from Norton/Midnight-Commander. But I was only able to do that in BASIC (apart sector reading, writing commands, or floppy routines which are in MC or just firmware). Because of the limitation of RAM I run out of memory. The BASIC file is at the moment 25k big. At &8E00 starts the MC / RSX routines. I'm not able to write good MC code for such kind of app.

How about that?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

khaz

#9
Quote from: ||C|-|E|| on 15:33, 04 March 16
Humm... I am going to say something stupid. It turns out that the device seems to perform much, much faster than the floppy drive. It would be awesome to be able to use it in CP/M Plus like a super-big hard drive. Thinks like our adventure would benefit immensely from it. Not to mention how great would be able to use this in combination with X-MEM in CP/M supporting automatic bank switching. We could create awesome games with this using the standard tools we have available, at least adventure games  :laugh:

I've been using the X-MEM with Infocom games and copying everything on the RAM drive with PIP C:=A:*.*
It works like a charm in emulation. Haven't been able to try it on real hardware yet.
Though to be frank, the access time didn't seem to be much reduced, I felt I gained like 10% on a 2s text loading. It mainly removed the disc sounds.
It may prevent from saving your game though.
Tested with WinAPE 2.0b2, 4M RAM and the CP/M ROMs.

Quote from: ||C|-|E|| on 19:53, 04 March 16Speed is something not critical if we talk about a text adventures...

Not critical but a damn inconvenience. Action games load their whole level in RAM and then the gameplay is uninterrupted until the player is done with it. With adventure games, each command requires a disc access to check whether the command is valid and load the correct reply or load the next scene. The gameplay is littered with short loadings as the players types furiously everything that goes in their mind to try and advance in the game. Text adventure games would probably be one of the genre with the most benefits of RAM pre loading.

||C|-|E||

Thank you all!

So, the main problem I have is that I cannot actually use X-MEM with our adventure, it is just too big  :picard: (that is why I did not try it). However, on the bright side, all the database of the game fits in the RAM, so you only have loading times when moving from location to location (around 3 seconds). It is not ideal, but much much better than accessing the disc all the times to check for simple commands. Everything you type that does not involve moving the player has an immediate response. In that sense, fitting everything in the X-MASS would be great, I remember that it was able to load a whole game like Barbarian in about a second, and the graphics we are using are "just" 8KB each :) .


https://www.youtube.com/watch?v=_yG0oFP1V5U

Of course, maybe it would be not possible to have everything working as fast as that from CP/M, I do not know, but this would be a dream come true  :)

khaz

#11
How do you not have enough space in the X-MEM? How many discs are you using haha? I would suggest to keep the data compressed even in RAM. There will be an additional delay to decompress stuff, but at least you would remove the disc accesses.

As for the X-Mass, one of its uses according to TotO is to have folders behaving like independent virtual discs. Copying the entirety of a disc in a folder and loading the executable supposedly works. If your game isn't copy protected, the easiest way to improve the loading times would be to suggest this specific use ("installation") in the manual.

||C|-|E||

#12
Well, the game requires two discs and the second one needs to be 720KB  :laugh: (the second floppy contains the adventure and the graphics for the locations). In the first disc goes the loading screen, the font selector and the CP/M. I would love to compress the data in RAM, but I am using PAWS, the classical old framework that works in CP/M Plus and, if this is possible, I ignore how to do it  :) . My game is not copy protected by any means, but it runs natively on CP/M Plus, and it is required to load the operating system before the adventure itself, that is why I would need specific support for the device, something like netmercer implemented but, if possible, no comprimising the TPA a lot (the adventure already uses 59KB and the final version will be probably 60KB, we have squeezed everything as much as possible).

Ast

#13
Quote from: HAL 6128 on 23:33, 04 March 16
I started working on a file manager. It should have the look an feel from Norton/Midnight-Commander. But I was only able to do that in BASIC (apart sector reading, writing commands, or floppy routines which are in MC or just firmware). Because of the limitation of RAM I run out of memory. The BASIC file is at the moment 25k big. At &8E00 starts the MC / RSX routines. I'm not able to write good MC code for such kind of app.

How about that?
All ideas are good to take...
The Rom will be coded in asm z80, no c library (sorry but we are on cpc and i'd like to use my x-mass on my cpc!)
No cpm version, only z80 code assembled for a new Rom.
...m
For the moment, i worked on differents things :
Identify in one X-Mass is connected (works)
ùcat : display directory (works)
ùcd,"MYFOLDER" (works)
....
The Rom takes places...
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

netmercer

Hi,
meanwhile I have found another solution for placing some part of the X-Mass driver and I don't need a RSX any longer for X-Mass and CP/M+. Now full TPA of 61KB is available and booting from X-Mass is also possible.
(profile.sub on X-Mass is marvelous)

Kind regards
netmercer

SOS

#15
Quote from: HAL 6128 on 23:33, 04 March 16
I started working on a file manager.
I too. (nearly finished), i will it call "YANCC" (yet another norton-commander clone).
The driver for the mass-memory part i can only start to write, when a solution (final/beta/maybe alpha) exist (IDE or CH376-based).

(07.03.):
Ok,due to the likes, some more infos:
- Feature-freezed
- Unstructured tests with no open error, so structured tests are coming for me
- While the main-focus is on  mass storage, so i only support 2 Disk-Drives & 64 KB
- ROM-Version (not compiled for &C000)
- copy-function used sector-read/write, so it's fast
- tested some 'big'-formats like Vortex & Parados80

Screenshot:

dirtybb

Hi,


A Dsk/HFE mounting/uncrushing feature would be great.


I've just tried your format tool, works like a charm :)
Tx for all your hard work.

Ast

Here is a little movie to see how it runs :


_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Audronic

@Ast


Would it be Possible to Just send a Picture of your Startup screen Please.


Thanks   Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Fessor

For CH376 a rudimentary Z80 driver can be found here, i think it only needs minor changes to work on the CPC (Port Adresses, OS-Call for Textoutput).
[AQUARIUS] Micro-Expander: RAM, ROM, AY-8910 and more! - Intellivision


Ast

@Audronic :

As you could see I'm working directly on the X-Mass Rom and Copy it directly in my X-mem for tests.
A Strange bug appeared because my X-Mass is "Not Detected" and it works correctly. I probably forgot a variable.
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Audronic

Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Ast

#22
X-Mass Detection bug is now ready... Pfewww !
Here you can see with a sample of code... (OrgAms Coding of course!)

_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Ast

For those who are interrested, one other link, but written in french... Google Translate will be your friend !
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Ast

A most beautifull video showing you it's working now !

_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Powered by SMFPacks Menu Editor Mod